├── .eslintrc.cjs ├── .github └── workflows │ └── azure-static-web-apps-black-sky-0bcbb6510.yml ├── .gitignore ├── README.md ├── index.html ├── package.json ├── public └── vite.svg ├── src ├── App.tsx ├── AudioMoudule.js ├── IR │ ├── effects.ts │ └── generator.ts ├── Icons │ ├── Flip.tsx │ └── GitHub.tsx ├── Tabs │ ├── BasicInstructions.tsx │ └── Effects.tsx ├── assets │ └── react.svg ├── main.tsx └── vite-env.d.ts ├── tsconfig.json ├── tsconfig.node.json ├── vite.config.ts └── yarn.lock /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { browser: true, es2020: true }, 4 | extends: [ 5 | 'eslint:recommended', 6 | 'plugin:@typescript-eslint/recommended', 7 | 'plugin:react-hooks/recommended', 8 | ], 9 | ignorePatterns: ['dist', '.eslintrc.cjs'], 10 | parser: '@typescript-eslint/parser', 11 | plugins: ['react-refresh'], 12 | rules: { 13 | 'react-refresh/only-export-components': [ 14 | 'warn', 15 | { allowConstantExport: true }, 16 | ], 17 | }, 18 | } 19 | -------------------------------------------------------------------------------- /.github/workflows/azure-static-web-apps-black-sky-0bcbb6510.yml: -------------------------------------------------------------------------------- 1 | name: Azure Static Web Apps CI/CD 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | pull_request: 8 | types: [opened, synchronize, reopened, closed] 9 | branches: 10 | - master 11 | 12 | jobs: 13 | build_and_deploy_job: 14 | if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') 15 | runs-on: ubuntu-latest 16 | name: Build and Deploy Job 17 | steps: 18 | - uses: actions/checkout@v3 19 | with: 20 | submodules: true 21 | lfs: false 22 | - name: Build And Deploy 23 | id: builddeploy 24 | uses: Azure/static-web-apps-deploy@v1 25 | with: 26 | azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_BLACK_SKY_0BCBB6510 }} 27 | repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments) 28 | action: "upload" 29 | ###### Repository/Build Configurations - These values can be configured to match your app requirements. ###### 30 | # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig 31 | app_location: "/" # App source code path 32 | api_location: "" # Api source code path - optional 33 | output_location: "dist" # Built app content directory - optional 34 | ###### End of Repository/Build Configurations ###### 35 | 36 | close_pull_request_job: 37 | if: github.event_name == 'pull_request' && github.event.action == 'closed' 38 | runs-on: ubuntu-latest 39 | name: Close Pull Request Job 40 | steps: 41 | - name: Close Pull Request 42 | id: closepullrequest 43 | uses: Azure/static-web-apps-deploy@v1 44 | with: 45 | azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_BLACK_SKY_0BCBB6510 }} 46 | action: "close" 47 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Pixmob-IR-Web-UI 2 | 3 | This project provides a simple way to control your PixMob LED Wristbands using a web interface + IR Blaster on your phone. 4 | 5 | 6 | 7 | https://github.com/HFO4/pixmob-web-controller/assets/16058869/913b98c9-5fd3-457f-89d3-e22b4f2168b8 8 | 9 | 10 | 11 | ## Hardware Requirements 12 | 13 | This projects generates audio waveform that carries the control signal for the PixMob LED Wristbands. The audio signal is then transmitted using the IR Blaster on your phone. Currently, only audio-based IR Blaster is supported: 14 | 15 | * For iPhone (Lightning/Type-C) users, most available IR Blaster on the market should work. 16 | * If you don't have iOS devices, consider using a 3.5mm audio jack IR blaster on other devices (e.g. your laptop). 17 | 18 | ## Credits 19 | 20 | This projects is inspired and constructed based on [danielweidman/pixmob-ir-reverse-engineering](https://github.com/danielweidman/pixmob-ir-reverse-engineering). 21 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Pixmob 手环遥控器 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pixmob-ir-web-ui", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "CI=false && tsc && vite build", 9 | "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", 10 | "preview": "vite preview" 11 | }, 12 | "engines": { 13 | "node": ">=v18.14.0" 14 | }, 15 | "dependencies": { 16 | "@emotion/react": "^11.11.4", 17 | "@emotion/styled": "^11.11.0", 18 | "@fontsource/inter": "^5.0.17", 19 | "@mui/joy": "^5.0.0-beta.31", 20 | "extendable-media-recorder-wav-encoder": "^7.0.106", 21 | "react": "^18.2.0", 22 | "react-dom": "^18.2.0" 23 | }, 24 | "devDependencies": { 25 | "@types/react": "^18.2.64", 26 | "@types/react-dom": "^18.2.21", 27 | "@typescript-eslint/eslint-plugin": "^7.1.1", 28 | "@typescript-eslint/parser": "^7.1.1", 29 | "@vitejs/plugin-react": "^4.2.1", 30 | "eslint": "^8.57.0", 31 | "eslint-plugin-react-hooks": "^4.6.0", 32 | "eslint-plugin-react-refresh": "^0.4.5", 33 | "prettier": "3.2.5", 34 | "typescript": "^5.2.2", 35 | "vite": "^5.1.6" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /public/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/App.tsx: -------------------------------------------------------------------------------- 1 | import { 2 | Box, 3 | Button, 4 | Grid, 5 | Modal, 6 | Sheet, 7 | Tab, 8 | TabList, 9 | TabPanel, 10 | Tabs, 11 | Typography, 12 | } from "@mui/joy"; 13 | import BasicInstructions from "./Tabs/BasicInstructions.tsx"; 14 | import Effects from "./Tabs/Effects.tsx"; 15 | import { useState } from "react"; 16 | import { GitHub } from "./Icons/GitHub.tsx"; 17 | import { Flip } from "./Icons/Flip.tsx"; 18 | 19 | export interface TabProps { 20 | onSending: () => void; 21 | onSendComplete: () => void; 22 | } 23 | 24 | function App() { 25 | const [sending, setSending] = useState(false); 26 | const flip = () => { 27 | window.document.body.style.transform = 28 | window.document.body.style.transform != "" ? "" : "rotate(-180deg)"; 29 | }; 30 | return ( 31 | <> 32 | 33 | 34 | 40 | 41 | Pixmob 遥控器 42 | 43 | 44 | 53 | 61 | 62 | 63 | 73 | 80 | 81 | 基础指令 82 | 特殊效果指令 83 | 84 | 85 | setSending(true)} 87 | onSendComplete={() => setSending(false)} 88 | /> 89 | 90 | 91 | setSending(true)} 93 | onSendComplete={() => setSending(false)} 94 | /> 95 | 96 | 97 | 98 | 99 | 100 | 106 | 115 | 123 | 发送指令... 124 | 125 | 126 | 127 | 128 | ); 129 | } 130 | 131 | export default App; 132 | -------------------------------------------------------------------------------- /src/AudioMoudule.js: -------------------------------------------------------------------------------- 1 | class MyProcessor extends AudioWorkletProcessor { 2 | data = ${JSON.stringify(inst)}; 3 | sampleRate = 44100; 4 | cfreq = 38000; // The infrared carrier frequency 5 | cfreqHalf = 19000; // The infrared carrier frequency 6 | pperunit = 26; //The carrier frequency period per time unit, 694.44*(36000/1000000) // Total length of a code (in time units) 7 | totalSamples = Math.round( 8 | this.sampleRate * (1 / this.cfreq) * this.pperunit * this.data.length, 9 | ); 10 | previousSampledIndex = 0; 11 | 12 | process(_, outputs) { 13 | const output = outputs[0]; 14 | for (let channel = 0; channel < output.length; ++channel) { 15 | let sampledIndex = this.previousSampledIndex; 16 | for (let i = 0; i < output[channel].length; i += 1) { 17 | if (sampledIndex <= this.totalSamples) { 18 | const dataIndex = Math.floor( 19 | ((sampledIndex / this.sampleRate) * this.cfreq) / this.pperunit, 20 | ); 21 | console.log(dataIndex); 22 | if (this.data[dataIndex] !== 0) { 23 | // sin( float(i) * M_PI * float(19000) / float(sampleRate) ); 24 | output[channel][i] = Math.sin( 25 | sampledIndex * Math.PI * this.cfreqHalf / this.sampleRate, 26 | ) * (channel === 0 ? 1 : -1); 27 | } else { 28 | output[channel][i] = 0; 29 | } 30 | } 31 | sampledIndex++; 32 | } 33 | if (channel === output.length - 1) { 34 | this.previousSampledIndex = sampledIndex; 35 | } 36 | } 37 | 38 | return true; 39 | } 40 | } 41 | 42 | registerProcessor("ir-processor", MyProcessor); 43 | 44 | -------------------------------------------------------------------------------- /src/IR/effects.ts: -------------------------------------------------------------------------------- 1 | /* 2 | tail_codes = { 3 | # Basic fade in/out 4 | "FADE_1": [0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], # Slow fade in 5 | "FADE_2": [0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], # Fade in and out 6 | "FADE_3": [0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], # Fade in and out 7 | "FADE_4": [0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1], # Slow fade out 8 | "FADE_5": [0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], # Fade in and out 9 | "FADE_6": [0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], # Fade in and out 10 | 11 | # On newer bracelets, this makes it so the effect may-or-may-not show (with no face) 12 | "SHARP_PROBABILISTIC_1": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 13 | "SHARP_PROBABILISTIC_2": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 14 | "SHARP_PROBABILISTIC_3": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 15 | "SHARP_PROBABILISTIC_4": [0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 16 | 17 | "FADE_PROBABILISTIC_1": [0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 18 | "FADE_PROBABILISTIC_2": [0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 19 | "FADE_PROBABILISTIC_3": [0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 20 | "FADE_PROBABILISTIC_4": [0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1], 21 | } 22 | 23 | */ 24 | 25 | export interface TailCode { 26 | id: string; 27 | data: number[]; 28 | label: string; 29 | } 30 | 31 | export const tail_codes: TailCode[] = [ 32 | { 33 | id: "FADE_1", 34 | data: [ 35 | 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 36 | ], 37 | label: "缓慢渐入", 38 | }, 39 | { 40 | id: "FADE_2", 41 | data: [ 42 | 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 43 | ], 44 | label: "渐入渐出 1", 45 | }, 46 | { 47 | id: "FADE_3", 48 | data: [ 49 | 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 50 | ], 51 | label: "渐入渐出 2", 52 | }, 53 | { 54 | id: "FADE_4", 55 | data: [ 56 | 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 57 | ], 58 | label: "缓慢渐出", 59 | }, 60 | { 61 | id: "FADE_5", 62 | data: [ 63 | 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 64 | ], 65 | label: "渐入渐出 3", 66 | }, 67 | { 68 | id: "FADE_6", 69 | data: [ 70 | 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 71 | ], 72 | label: "渐入渐出 4", 73 | }, 74 | { 75 | id: "SHARP_PROBABILISTIC_1", 76 | data: [ 77 | 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 78 | ], 79 | label: "快速随机 1", 80 | }, 81 | { 82 | id: "SHARP_PROBABILISTIC_2", 83 | data: [ 84 | 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 85 | ], 86 | label: "快速随机 2", 87 | }, 88 | { 89 | id: "SHARP_PROBABILISTIC_3", 90 | data: [ 91 | 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 92 | ], 93 | label: "快速随机 3", 94 | }, 95 | { 96 | id: "SHARP_PROBABILISTIC_4", 97 | data: [ 98 | 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 99 | ], 100 | label: "快速随机 4", 101 | }, 102 | { 103 | id: "FADE_PROBABILISTIC_1", 104 | data: [ 105 | 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 106 | ], 107 | label: "渐入随机 1", 108 | }, 109 | { 110 | id: "FADE_PROBABILISTIC_2", 111 | data: [ 112 | 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 113 | ], 114 | label: "渐入随机 2", 115 | }, 116 | { 117 | id: "FADE_PROBABILISTIC_3", 118 | data: [ 119 | 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 120 | ], 121 | label: "渐入随机 3", 122 | }, 123 | { 124 | id: "FADE_PROBABILISTIC_4", 125 | data: [ 126 | 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 127 | ], 128 | label: "渐入随机 4", 129 | }, 130 | ]; 131 | 132 | export interface ColorEffect { 133 | id: string; 134 | data: number[]; 135 | label: string; 136 | buttonColor: 137 | | "danger" 138 | | "success" 139 | | "primary" 140 | | "magenta" 141 | | "yellow" 142 | | "pink" 143 | | "orange" 144 | | "secondary" 145 | | "turquoise"; 146 | } 147 | 148 | export const colorEffects: ColorEffect[] = [ 149 | { 150 | id: "RED", 151 | data: [ 152 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 153 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 154 | ], 155 | label: "红色", 156 | buttonColor: "danger", 157 | }, 158 | { 159 | id: "GREEN", 160 | data: [ 161 | 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 162 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 163 | ], 164 | label: "绿色", 165 | buttonColor: "success", 166 | }, 167 | { 168 | id: "BLUE", 169 | data: [ 170 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 171 | 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 172 | ], 173 | label: "蓝色", 174 | buttonColor: "primary", 175 | }, 176 | { 177 | id: "MAGENTA", 178 | data: [ 179 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 180 | 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 181 | ], 182 | label: "洋红色", 183 | buttonColor: "magenta", 184 | }, 185 | { 186 | id: "YELLOW", 187 | data: [ 188 | 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 189 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 190 | ], 191 | label: "黄色", 192 | buttonColor: "yellow", 193 | }, 194 | { 195 | id: "PINK", 196 | data: [ 197 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 198 | 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 199 | ], 200 | label: "粉红色", 201 | buttonColor: "pink", 202 | }, 203 | { 204 | id: "ORANGE", 205 | data: [ 206 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 207 | 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 208 | ], 209 | label: "橙色", 210 | buttonColor: "orange", 211 | }, 212 | { 213 | id: "WHITISH", 214 | data: [ 215 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 216 | 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 217 | ], 218 | label: "白色", 219 | buttonColor: "secondary", 220 | }, 221 | { 222 | id: "TURQUOISE", 223 | data: [ 224 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 225 | 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 226 | ], 227 | label: "青色", 228 | buttonColor: "turquoise", 229 | }, 230 | { 231 | id: "RED_2", 232 | data: [ 233 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 234 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 235 | ], 236 | label: "红色 2", 237 | buttonColor: "danger", 238 | }, 239 | { 240 | id: "RED_3", 241 | data: [ 242 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 243 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 244 | ], 245 | label: "红色 3", 246 | buttonColor: "danger", 247 | }, 248 | { 249 | id: "RED_4", 250 | data: [ 251 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 252 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 253 | ], 254 | label: "红色 4", 255 | buttonColor: "danger", 256 | }, 257 | { 258 | id: "RED_5", 259 | data: [ 260 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 261 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 262 | ], 263 | label: "红色 5", 264 | buttonColor: "danger", 265 | }, 266 | { 267 | id: "DIM_RED", 268 | data: [ 269 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 270 | 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 271 | ], 272 | label: "红色 (暗)", 273 | buttonColor: "danger", 274 | }, 275 | { 276 | id: "DIM_RED_2", 277 | data: [ 278 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 279 | 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 280 | ], 281 | label: "暗红色 2", 282 | buttonColor: "danger", 283 | }, 284 | /* 285 | "GREEN": [1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 286 | "GREEN_2": [1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 287 | "GREEN_3": [1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 288 | "GREEN_4": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 289 | "GREEN_5": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 290 | "GREEN_6": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 291 | "GREEN_7": [1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 292 | "GREEN_8": [1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 293 | "GREEN_9": [1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 294 | "GREEN_10": [1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 295 | "GREEN_11": [1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], # Long duration 296 | "GREEN_12": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 297 | "GREEN_13": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1], 298 | "GREEN_14": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1], 299 | "GREEN_15": [1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], # Long duration 300 | "GREEN_DIM": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 301 | "LIGHT_GREEN": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1], 302 | "LIGHT_GREEN_2": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1], # Lighter 303 | "YELLOWGREEN": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 304 | "YELLOWGREEN_2": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 305 | "YELLOWGREEN_3": [1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 306 | */ 307 | { 308 | id: "GREEN_2", 309 | data: [ 310 | 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 311 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 312 | ], 313 | label: "绿色 2", 314 | buttonColor: "success", 315 | }, 316 | { 317 | id: "GREEN_3", 318 | data: [ 319 | 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 320 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 321 | ], 322 | label: "绿色 3", 323 | buttonColor: "success", 324 | }, 325 | { 326 | id: "GREEN_4", 327 | data: [ 328 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 329 | 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 330 | ], 331 | label: "绿色 4", 332 | buttonColor: "success", 333 | }, 334 | { 335 | id: "GREEN_5", 336 | data: [ 337 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 338 | 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 339 | ], 340 | label: "绿色 5", 341 | buttonColor: "success", 342 | }, 343 | { 344 | id: "GREEN_6", 345 | data: [ 346 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 347 | 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 348 | ], 349 | label: "绿色 6", 350 | buttonColor: "success", 351 | }, 352 | { 353 | id: "GREEN_7", 354 | data: [ 355 | 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 356 | 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 357 | ], 358 | label: "绿色 7", 359 | buttonColor: "success", 360 | }, 361 | { 362 | id: "GREEN_8", 363 | data: [ 364 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 365 | 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 366 | ], 367 | label: "绿色 8", 368 | buttonColor: "success", 369 | }, 370 | { 371 | id: "GREEN_9", 372 | data: [ 373 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 374 | 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 375 | ], 376 | label: "绿色 9", 377 | buttonColor: "success", 378 | }, 379 | { 380 | id: "GREEN_10", 381 | data: [ 382 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 383 | 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 384 | ], 385 | label: "绿色 10", 386 | buttonColor: "success", 387 | }, 388 | { 389 | id: "GREEN_11", 390 | data: [ 391 | 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 392 | 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 393 | ], 394 | label: "绿色 11 (长)", 395 | buttonColor: "success", 396 | }, 397 | { 398 | id: "GREEN_12", 399 | data: [ 400 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 401 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 402 | ], 403 | label: "绿色 12", 404 | buttonColor: "success", 405 | }, 406 | { 407 | id: "GREEN_13", 408 | data: [ 409 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 410 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 411 | ], 412 | label: "绿色 13", 413 | buttonColor: "success", 414 | }, 415 | { 416 | id: "GREEN_14", 417 | data: [ 418 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 419 | 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 420 | ], 421 | label: "绿色 14", 422 | buttonColor: "success", 423 | }, 424 | { 425 | id: "GREEN_15", 426 | data: [ 427 | 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 428 | 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 429 | ], 430 | label: "绿色 15 (长)", 431 | buttonColor: "success", 432 | }, 433 | { 434 | id: "GREEN_DIM", 435 | data: [ 436 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 437 | 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 438 | ], 439 | label: "绿色 (暗)", 440 | buttonColor: "success", 441 | }, 442 | { 443 | id: "LIGHT_GREEN", 444 | data: [ 445 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 446 | 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 447 | ], 448 | label: "浅绿色", 449 | buttonColor: "success", 450 | }, 451 | { 452 | id: "LIGHT_GREEN_2", 453 | data: [ 454 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 455 | 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 456 | ], 457 | label: "浅绿色 2", 458 | buttonColor: "success", 459 | }, 460 | { 461 | id: "YELLOWGREEN", 462 | data: [ 463 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 464 | 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 465 | ], 466 | label: "黄绿色", 467 | buttonColor: "success", 468 | }, 469 | { 470 | id: "YELLOWGREEN_2", 471 | data: [ 472 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 473 | 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 474 | ], 475 | label: "黄绿色 2", 476 | buttonColor: "success", 477 | }, 478 | { 479 | id: "YELLOWGREEN_3", 480 | data: [ 481 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 482 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 483 | ], 484 | label: "黄绿色 3", 485 | buttonColor: "success", 486 | }, 487 | /* 488 | "BLUE": [1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1], 489 | "BLUE_2": [1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1], 490 | "BLUE_3": [1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1], 491 | "LIGHT_BLUE": [1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], 492 | "LIGHT_BLUE_2": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1], 493 | "LIGHT_BLUE_3": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1], 494 | "DIM_BLUE": [1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1], 495 | */ 496 | { 497 | id: "BLUE_2", 498 | data: [ 499 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 500 | 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 501 | ], 502 | label: "蓝色 2", 503 | buttonColor: "primary", 504 | }, 505 | { 506 | id: "BLUE_3", 507 | data: [ 508 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 509 | 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 510 | ], 511 | label: "蓝色 3", 512 | buttonColor: "primary", 513 | }, 514 | { 515 | id: "LIGHT_BLUE", 516 | data: [ 517 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 518 | 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 519 | ], 520 | label: "浅蓝色", 521 | buttonColor: "primary", 522 | }, 523 | { 524 | id: "LIGHT_BLUE_2", 525 | data: [ 526 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 527 | 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 528 | ], 529 | label: "浅蓝色 2", 530 | buttonColor: "primary", 531 | }, 532 | { 533 | id: "LIGHT_BLUE_3", 534 | data: [ 535 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 536 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 537 | ], 538 | label: "浅蓝色 3", 539 | buttonColor: "primary", 540 | }, 541 | { 542 | id: "DIM_BLUE", 543 | data: [ 544 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 545 | 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 546 | ], 547 | label: "蓝色 (暗)", 548 | buttonColor: "primary", 549 | }, 550 | /* 551 | "MAGENTA": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1], 552 | "MAGENTA_2": [1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1], # Longer 553 | "MAGENTA_3": [1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1], 554 | "MAGENTA_4": [1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1], 555 | */ 556 | { 557 | id: "MAGENTA_2", 558 | data: [ 559 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 560 | 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 561 | ], 562 | label: "洋红色 2", 563 | buttonColor: "magenta", 564 | }, 565 | { 566 | id: "MAGENTA_3", 567 | data: [ 568 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 569 | 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 570 | ], 571 | label: "洋红色 3", 572 | buttonColor: "magenta", 573 | }, 574 | { 575 | id: "MAGENTA_4", 576 | data: [ 577 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 578 | 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 579 | ], 580 | label: "洋红色 4", 581 | buttonColor: "magenta", 582 | }, 583 | /* 584 | "YELLOW": [1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 585 | "YELLOW_2": [1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, ], 586 | "YELLOW_3": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 587 | "YELLOW_4": [1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 588 | "YELLOW_5": [1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1], 589 | "YELLOW_6": [1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1], 590 | "YELLOW_7": [1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 591 | "YELLOW_8": [1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 592 | "YELLOW_9": [1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 593 | */ 594 | { 595 | id: "YELLOW_2", 596 | data: [ 597 | 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 598 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 599 | ], 600 | label: "黄色 2", 601 | buttonColor: "yellow", 602 | }, 603 | { 604 | id: "YELLOW_3", 605 | data: [ 606 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 607 | 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 608 | ], 609 | label: "黄色 3", 610 | buttonColor: "yellow", 611 | }, 612 | { 613 | id: "YELLOW_4", 614 | data: [ 615 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 616 | 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 617 | ], 618 | label: "黄色 4", 619 | buttonColor: "yellow", 620 | }, 621 | { 622 | id: "YELLOW_5", 623 | data: [ 624 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 625 | 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 626 | ], 627 | label: "黄色 5", 628 | buttonColor: "yellow", 629 | }, 630 | { 631 | id: "YELLOW_6", 632 | data: [ 633 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 634 | 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 635 | ], 636 | label: "黄色 6", 637 | buttonColor: "yellow", 638 | }, 639 | { 640 | id: "YELLOW_7", 641 | data: [ 642 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 643 | 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 644 | ], 645 | label: "黄色 7", 646 | buttonColor: "yellow", 647 | }, 648 | { 649 | id: "YELLOW_8", 650 | data: [ 651 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 652 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 653 | ], 654 | label: "黄色 8", 655 | buttonColor: "yellow", 656 | }, 657 | { 658 | id: "YELLOW_9", 659 | data: [ 660 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 661 | 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 662 | ], 663 | label: "黄色 9", 664 | buttonColor: "yellow", 665 | }, 666 | /* 667 | "PINK": [1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1], 668 | "PINK_2": [1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1], 669 | "PINK_3": [1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1], 670 | "PINK_4": [1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1], 671 | "PINK_5": [1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1], 672 | */ 673 | { 674 | id: "PINK_2", 675 | data: [ 676 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 677 | 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 678 | ], 679 | label: "粉红色 2", 680 | buttonColor: "pink", 681 | }, 682 | { 683 | id: "PINK_3", 684 | data: [ 685 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 686 | 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 687 | ], 688 | label: "粉红色 3", 689 | buttonColor: "pink", 690 | }, 691 | { 692 | id: "PINK_4", 693 | data: [ 694 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 695 | 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 696 | ], 697 | label: "粉红色 4", 698 | buttonColor: "pink", 699 | }, 700 | { 701 | id: "PINK_5", 702 | data: [ 703 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 704 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 705 | ], 706 | label: "粉红色 5", 707 | buttonColor: "pink", 708 | }, 709 | /* 710 | "ORANGE": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 711 | "ORANGE_2": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 712 | "ORANGE_3": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 713 | "REDORANGE": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 714 | "REDORANGE_2": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 715 | "REDORANGE_3": [1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 716 | "YELLOWORANGE_1": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 717 | "YELLOWORANGE_2": [1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], 718 | */ 719 | { 720 | id: "ORANGE_2", 721 | data: [ 722 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 723 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 724 | ], 725 | label: "橙色 2", 726 | buttonColor: "orange", 727 | }, 728 | { 729 | id: "ORANGE_3", 730 | data: [ 731 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 732 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 733 | ], 734 | label: "橙色 3", 735 | buttonColor: "orange", 736 | }, 737 | { 738 | id: "REDORANGE", 739 | data: [ 740 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 741 | 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 742 | ], 743 | label: "红橙色", 744 | buttonColor: "orange", 745 | }, 746 | { 747 | id: "REDORANGE_2", 748 | data: [ 749 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 750 | 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 751 | ], 752 | label: "红橙色 2", 753 | buttonColor: "orange", 754 | }, 755 | { 756 | id: "REDORANGE_3", 757 | data: [ 758 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 759 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 760 | ], 761 | label: "红橙色 3", 762 | buttonColor: "orange", 763 | }, 764 | { 765 | id: "YELLOWORANGE_1", 766 | data: [ 767 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 768 | 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 769 | ], 770 | label: "黄橙色 1", 771 | buttonColor: "orange", 772 | }, 773 | { 774 | id: "YELLOWORANGE_2", 775 | data: [ 776 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 777 | 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 778 | ], 779 | label: "黄橙色 2", 780 | buttonColor: "orange", 781 | }, 782 | /* 783 | "WHITISH": [1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1], 784 | "WHITISH_LONG": [1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1], # Yellow tint 785 | "WHITISH_2": [1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1], 786 | "WHITISH_LONG_2": [1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1], 787 | "WHITISH_3": [1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1], # Investigate how this starts with 1, 1 788 | "WHITISH_4": [1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], 789 | "WHITISH_5": [1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], 790 | "WHITISH_6": [1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1], 791 | "WHITISH_7": [1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1], 792 | */ 793 | { 794 | id: "WHITISH_LONG", 795 | data: [ 796 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 797 | 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 798 | ], 799 | label: "白色 (长)", 800 | buttonColor: "secondary", 801 | }, 802 | { 803 | id: "WHITISH_2", 804 | data: [ 805 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 806 | 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 807 | ], 808 | label: "白色 2", 809 | buttonColor: "secondary", 810 | }, 811 | { 812 | id: "WHITISH_LONG_2", 813 | data: [ 814 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 815 | 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 816 | ], 817 | label: "白色 (长) 2", 818 | buttonColor: "secondary", 819 | }, 820 | { 821 | id: "WHITISH_3", 822 | data: [ 823 | 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 824 | 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 825 | ], 826 | label: "白色 3", 827 | buttonColor: "secondary", 828 | }, 829 | { 830 | id: "WHITISH_4", 831 | data: [ 832 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 833 | 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 834 | ], 835 | label: "白色 4", 836 | buttonColor: "secondary", 837 | }, 838 | { 839 | id: "WHITISH_5", 840 | data: [ 841 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 842 | 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 843 | ], 844 | label: "白色 5", 845 | buttonColor: "secondary", 846 | }, 847 | { 848 | id: "WHITISH_6", 849 | data: [ 850 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 851 | 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 852 | ], 853 | label: "白色 6", 854 | buttonColor: "secondary", 855 | }, 856 | { 857 | id: "WHITISH_7", 858 | data: [ 859 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 860 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 861 | ], 862 | label: "白色 7", 863 | buttonColor: "secondary", 864 | }, 865 | /* 866 | "TURQUOISE": [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1], 867 | "TURQUOISE_2": [1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1], 868 | "TURQUOISE_3": [1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1], 869 | "TURQUOISE_4": [1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1], 870 | */ 871 | { 872 | id: "TURQUOISE_2", 873 | data: [ 874 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 875 | 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 876 | ], 877 | label: "青色 2", 878 | buttonColor: "turquoise", 879 | }, 880 | { 881 | id: "TURQUOISE_3", 882 | data: [ 883 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 884 | 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 885 | ], 886 | label: "青色 3", 887 | buttonColor: "turquoise", 888 | }, 889 | { 890 | id: "TURQUOISE_4", 891 | data: [ 892 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 893 | 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 894 | ], 895 | label: "青色 4", 896 | buttonColor: "turquoise", 897 | }, 898 | ]; 899 | 900 | export const special_effects: { 901 | [key: string]: number[]; 902 | } = { 903 | "蓝色循环 1": [ 904 | 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 905 | 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 906 | 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 907 | ], 908 | "蓝色循环 2": [ 909 | 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 910 | 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 911 | 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 912 | ], 913 | OLD_RAINBOW_MOTION: [ 914 | 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 915 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 916 | ], 917 | OLD_GREEN_MOTION: [ 918 | 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 919 | 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 920 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 921 | ], 922 | OLD_TURQUOISE_MOTION: [ 923 | 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 924 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 925 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 926 | ], 927 | OLD_TURQUOISE_MOTION_2: [ 928 | 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 929 | 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 930 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 931 | ], 932 | OLD_TURQUOISE_MOTION_3: [ 933 | 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 934 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 935 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 936 | ], 937 | FAST_WHITE: [ 938 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 939 | 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 940 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 941 | ], 942 | SLOW_WHITE: [ 943 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 944 | 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 945 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 946 | ], 947 | SLOW_YELLOW: [ 948 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 949 | 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 950 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 951 | ], 952 | SLOW_ORANGE: [ 953 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 954 | 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 955 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 956 | ], 957 | SLOW_TURQUOISE: [ 958 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 959 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 960 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 961 | ], 962 | SLOW_GREEN: [ 963 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 964 | 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 965 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 966 | ], 967 | SLOW_YELLOW_2: [ 968 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 969 | 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 970 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 971 | ], 972 | SLOW_WHITE_2: [ 973 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 974 | 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 975 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 976 | ], 977 | VERY_SLOW_WHITE: [ 978 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 979 | 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 980 | 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 981 | ], 982 | LIGHT_BLUE: [ 983 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 984 | 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 985 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 986 | ], 987 | PINK: [ 988 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 989 | 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 990 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 991 | ], 992 | WHITISH_BLUE: [ 993 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 994 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 995 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 996 | ], 997 | MAGENTA: [ 998 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 999 | 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1000 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1001 | ], 1002 | MAGENTA_2: [ 1003 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1004 | 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1005 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1006 | ], 1007 | MAGENTA_3: [ 1008 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1009 | 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1010 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1011 | ], 1012 | PURPLE_FADE: [ 1013 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1014 | 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1015 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1016 | ], 1017 | VERY_SLOW_PINK: [ 1018 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1019 | 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1020 | 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1021 | ], 1022 | VERY_SLOW_PINK_2: [ 1023 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1024 | 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1025 | 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1026 | ], 1027 | VERY_SLOW_WHITEISH: [ 1028 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1029 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1030 | 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1031 | ], 1032 | VERY_SLOW_GREENISH: [ 1033 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1034 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1035 | 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1036 | ], 1037 | VERY_SLOW_GREENISH_IO: [ 1038 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1039 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1040 | 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1041 | ], // In and out 1042 | VSTYLE_GREENISH_FADE_IN: [ 1043 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1044 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1045 | 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1046 | ], 1047 | VSTYLE_GREENISH_FADE_IN2: [ 1048 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1049 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1050 | 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1051 | ], // Longer sustain 1052 | VSTYLE_GREENISH_FADE_IN3: [ 1053 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1054 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1055 | 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1056 | ], // Longer fade (7s total duration) 1057 | VSTYLE_GREENISH_FADE_IN4: [ 1058 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1059 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1060 | 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1061 | ], 1062 | VSTYLE_GREENISH_FADE_IN5: [ 1063 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1064 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1065 | 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1066 | ], //6s total duration 1067 | VSTYLE_GREENISH_FADE_IN6: [ 1068 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1069 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1070 | 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1071 | ], // 10s total duration 1072 | VSTYLE_GREENISH_SHARP1: [ 1073 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1074 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1075 | 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1076 | ], // 2.5s total duration (could be good for low signal strength, no blinking) 1077 | VSTYLE_GREENISH_SHARP2: [ 1078 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1079 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1080 | 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1081 | ], // 2.5s total duration, something weird random going on? 1082 | VSTYLE_GREENISH_FADE_OUT1: [ 1083 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1084 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1085 | 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1086 | ], // mid speed, randomness 1087 | VSTYLE_GREENISH_FADE_IN7: [ 1088 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1089 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1090 | 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1091 | ], // mid speed, randomness pretty rare 1092 | VSTYLE_GREENISH_FADE_IO1: [ 1093 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1094 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1095 | 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1096 | ], // fast fade in out 1097 | VSTYLE_GREENISH_FADE_IO2: [ 1098 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1099 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1100 | 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1101 | ], // mid fade in out, no prob 1102 | VSTYLE_GREENISH_FADE_IO3: [ 1103 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1104 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1105 | 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1106 | ], // mid fade in out, no prob 1107 | VSTYLE_GREENISH_FADE_IO4: [ 1108 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1109 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1110 | 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1111 | ], // Fast in, slow out, no prob, mid duration 1112 | VSTYLE_GREENISH_FADE_IN9: [ 1113 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1114 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1115 | 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1116 | ], // Fast in, sharp out, no prob, 8s total. ADDS 8s green after every effect! 1117 | VSTYLE_GREENISH_FADE_IN8: [ 1118 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1119 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1120 | 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1121 | ], // Fast in, sharp out, no prob, mid duration 1122 | VSTYLE_GREENISH_FADE_IO5: [ 1123 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1124 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1125 | 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1126 | ], // Fast in, fast out, short overall, some prob, slow on one old 1127 | VSTYLE_GREENISH_FADE_IO6: [ 1128 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1129 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1130 | 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1131 | ], // Fast in, fast out, short overall, some prob, slow on one old 1132 | VSTYLE_GREENISH_FADE_IO7: [ 1133 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1134 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1135 | 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1136 | ], // Fast in, slow out, some prob, mid duration 1137 | VSTYLE_GREENISH_FADE_IO8: [ 1138 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1139 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1140 | 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1141 | ], // Fast in, slow out, some prob, mid duration 1142 | VSTYLE_GREENISH_FADE_IN10: [ 1143 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1144 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1145 | 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1146 | ], // Mid in, sharp out, some prob 1147 | VSTYLE_GREENISH_FADE_IN11: [ 1148 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1149 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1150 | 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1151 | ], // Mid in, sharp out, some prob 1152 | VSTYLE_GREENISH_FADE_IN12: [ 1153 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1154 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1155 | 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1156 | ], // Mid in, sharp out, some prob 1157 | VSTYLE_GREENISH_FADE_OUT2: [ 1158 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1159 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1160 | 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1161 | ], // sharp in mid out 1162 | VSTYLE_GREENISH_SHARP3: [ 1163 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1164 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1165 | 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1166 | ], // Some prob 1167 | VSTYLE_WHITISH_IO1: [ 1168 | 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1169 | 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1170 | 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1171 | ], // Fast in, slow out 1172 | VSTYLE_WHITISH_IO2: [ 1173 | 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1174 | 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1175 | 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1176 | ], // Fast in, slow out, different shade 1177 | VSTYLE_GREENISH2_IO1: [ 1178 | 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1179 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1180 | 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1181 | ], 1182 | VSTYLE_GREENBRIGHT_IO1: [ 1183 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1184 | 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1185 | 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1186 | ], // Mid speed 1187 | WHITE_60SEC_MAYBE: [ 1188 | 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1189 | 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1190 | 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1191 | ], // Maybe white for 60sec, repetitions must be separated by other valid codes 1192 | WHITE_FAST_IO_ONCE: [ 1193 | 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1194 | 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1195 | 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1196 | ], 1197 | WHITE_FADE_OUT_ONCE: [ 1198 | 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1199 | 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1200 | 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1201 | ], 1202 | WHITE_3: [ 1203 | 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1204 | 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1205 | 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1206 | ], 1207 | WEIRD_1: [ 1208 | 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1209 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1210 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1211 | ], 1212 | WEIRD_2: [ 1213 | 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1214 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1215 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1216 | ], 1217 | WEIRD_3: [ 1218 | 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1219 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1220 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1221 | ], 1222 | WEIRD_4: [ 1223 | 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1224 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1225 | ], 1226 | WEIRD_5: [ 1227 | 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1228 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1229 | ], 1230 | WEIRD_8: [ 1231 | 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1232 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1233 | ], 1234 | WEIRD_9: [ 1235 | 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1236 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1237 | ], 1238 | WEIRD_28: [ 1239 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1240 | 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1241 | ], 1242 | WEIRD_29: [ 1243 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1244 | 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1245 | ], 1246 | WEIRD_30: [ 1247 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1248 | 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1249 | ], 1250 | WEIRD_31: [ 1251 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1252 | 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1253 | ], 1254 | WEIRD_32: [ 1255 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1256 | 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1257 | ], 1258 | WEIRD_33: [ 1259 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1260 | 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1261 | ], 1262 | WEIRD_34: [ 1263 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1264 | 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1265 | ], 1266 | WEIRD_35: [ 1267 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1268 | 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1269 | ], 1270 | WEIRD_36: [ 1271 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1272 | 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1273 | ], 1274 | WEIRD_37: [ 1275 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1276 | 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1277 | ], 1278 | WEIRD_38: [ 1279 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1280 | 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1281 | ], 1282 | WEIRD_39: [ 1283 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1284 | 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1285 | ], 1286 | WEIRD_41: [ 1287 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1288 | 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1289 | ], 1290 | WEIRD_42: [ 1291 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1292 | 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1293 | ], 1294 | WEIRD_51: [ 1295 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1296 | 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1297 | ], 1298 | WEIRD_43: [ 1299 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1300 | 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1301 | ], 1302 | WEIRD_44: [ 1303 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1304 | 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1305 | ], 1306 | WEIRD_45: [ 1307 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1308 | 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1309 | ], 1310 | WEIRD_46: [ 1311 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1312 | 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1313 | ], 1314 | WEIRD_47: [ 1315 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1316 | 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1317 | ], 1318 | WEIRD_48: [ 1319 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1320 | 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1321 | ], 1322 | WEIRD_49: [ 1323 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1324 | 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1325 | ], 1326 | WEIRD_50: [ 1327 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1328 | 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1329 | ], 1330 | WEIRD_52: [ 1331 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1332 | 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1333 | ], 1334 | WEIRD_53: [ 1335 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1336 | 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1337 | ], 1338 | WEIRD_54: [ 1339 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1340 | 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1341 | ], 1342 | WEIRD_55: [ 1343 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1344 | 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1345 | ], 1346 | WEIRD_56: [ 1347 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1348 | 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1349 | ], 1350 | WEIRD_57: [ 1351 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1352 | 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1353 | ], 1354 | WEIRD_58: [ 1355 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1356 | 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1357 | ], 1358 | WEIRD_59: [ 1359 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1360 | 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1361 | ], 1362 | WEIRD_60: [ 1363 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1364 | 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1365 | ], 1366 | WEIRD_61: [ 1367 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1368 | 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1369 | ], 1370 | WEIRD_62: [ 1371 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1372 | 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1373 | ], 1374 | WEIRD_63: [ 1375 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1376 | 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1377 | ], 1378 | WEIRD_64: [ 1379 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1380 | 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1381 | ], 1382 | WEIRD_65: [ 1383 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1384 | 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1385 | ], 1386 | WEIRD_66: [ 1387 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1388 | 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1389 | ], 1390 | WEIRD_67: [ 1391 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1392 | 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1393 | ], 1394 | WEIRD_68: [ 1395 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1396 | 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1397 | ], 1398 | WEIRD_69: [ 1399 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1400 | 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1401 | ], 1402 | WEIRD_70: [ 1403 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1404 | 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1405 | ], 1406 | WEIRD_71: [ 1407 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1408 | 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1409 | ], 1410 | WEIRD_72: [ 1411 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1412 | 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1413 | ], 1414 | WEIRD_73: [ 1415 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1416 | 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1417 | ], 1418 | WEIRD_74: [ 1419 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1420 | 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1421 | ], 1422 | WEIRD_75: [ 1423 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1424 | 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1425 | ], 1426 | WEIRD_76: [ 1427 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1428 | 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1429 | ], 1430 | WEIRD_77: [ 1431 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1432 | 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1433 | ], 1434 | WEIRD_78: [ 1435 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1436 | 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1437 | ], 1438 | WEIRD_79: [ 1439 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1440 | 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1441 | ], 1442 | WEIRD_80: [ 1443 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1444 | 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1445 | ], 1446 | WEIRD_81: [ 1447 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1448 | 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1449 | ], 1450 | WEIRD_82: [ 1451 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1452 | 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1453 | ], 1454 | WEIRD_83: [ 1455 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1456 | 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1457 | ], 1458 | WEIRD_84: [ 1459 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1460 | 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1461 | ], 1462 | WEIRD_85: [ 1463 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1464 | 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1465 | ], 1466 | WEIRD_86: [ 1467 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1468 | 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1469 | ], 1470 | WEIRD_87: [ 1471 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1472 | 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1473 | ], 1474 | WEIRD_88: [ 1475 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1476 | 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1477 | ], 1478 | WEIRD_89: [ 1479 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1480 | 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1481 | ], 1482 | WEIRD_90: [ 1483 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1484 | 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1485 | ], 1486 | WEIRD_91: [ 1487 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1488 | 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1489 | ], 1490 | WEIRD_92: [ 1491 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1492 | 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1493 | ], 1494 | WEIRD_93: [ 1495 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1496 | 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1497 | ], 1498 | WEIRD_100: [ 1499 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1500 | 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1501 | ], 1502 | SPECIAL_RANDOM_SLOW_FADE: [ 1503 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1504 | 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1505 | ], 1506 | WEIRD_110: [ 1507 | 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1508 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1509 | ], 1510 | WEIRD_111: [ 1511 | 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1512 | 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1513 | ], 1514 | WEIRD_112: [ 1515 | 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1516 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1517 | ], 1518 | WEIRD_113: [ 1519 | 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1520 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1521 | ], 1522 | WEIRD_115: [ 1523 | 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1524 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1525 | ], 1526 | SOMETIMES_RANDOM_COLOR_NEW: [ 1527 | 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1528 | 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1529 | ], 1530 | WEIRD_114: [ 1531 | 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1532 | 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1533 | ], 1534 | WEIRD_116: [ 1535 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1536 | 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1537 | ], 1538 | QUICK_RANDOM_INT: [ 1539 | 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1540 | 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1541 | ], 1542 | NEW_YELLOW_INT_MAYBE: [ 1543 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1544 | 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1545 | ], 1546 | NEW_YELLOWGREEN_INT: [ 1547 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1548 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1549 | ], 1550 | NEW_YELLOWGREEN_INT_2: [ 1551 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1552 | 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1553 | ], 1554 | NEW_RED_INT_2: [ 1555 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1556 | 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1557 | ], 1558 | OLD_GREEN_BLINK: [ 1559 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1560 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1561 | ], 1562 | OLD_GREEN_BLINK_2: [ 1563 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1564 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1565 | ], 1566 | OLD_DIM_RED_BLINK: [ 1567 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1568 | 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1569 | ], 1570 | OLD_DIM_RED_BLINK_3: [ 1571 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1572 | 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1573 | ], 1574 | OLD_DIM_RED_BLINK_2: [ 1575 | 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1576 | 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1577 | ], 1578 | OLD_DIM_YELLOW_BLINK: [ 1579 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1580 | 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1581 | ], 1582 | OLD_GREEN_BLINK_3: [ 1583 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1584 | 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1585 | ], 1586 | OLD_YELLOWGREEN_BLINK: [ 1587 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1588 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1589 | ], 1590 | OLD_GREEN_BLINK_4: [ 1591 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1592 | 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1593 | ], 1594 | OLD_GREEN_BLINK_5: [ 1595 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1596 | 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1597 | ], 1598 | OLD_GREEN_BLINK_6: [ 1599 | 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1600 | 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1601 | ], 1602 | OLD_GREEN_BLINK_7: [ 1603 | 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1604 | 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1605 | ], 1606 | OLD_REDORANGE_BLINK: [ 1607 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1608 | 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1609 | ], 1610 | OLD_BLUE_BLINK: [ 1611 | 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1612 | 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1613 | ], 1614 | OLD_YELLOW_BLINK: [ 1615 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1616 | 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1617 | ], 1618 | OLD_YELLOW_BLINK_2: [ 1619 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1620 | 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1621 | ], 1622 | RED_INT_OLD_DIM_1: [ 1623 | 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1624 | 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1625 | ], 1626 | OLD_DIM_WHITE: [ 1627 | 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1628 | 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1629 | ], 1630 | NEW_LIGHT_BLUE_2: [ 1631 | 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1632 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1633 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1634 | ], 1635 | NEW_GREEN_TO_TURQUOISE_FADE_ONCE: [ 1636 | 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1637 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1638 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1639 | ], 1640 | NEW_RANDOM_COLOR_MAYBE_ONCE: [ 1641 | 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1642 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1643 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1644 | ], 1645 | NEW_LIGHT_BLUE_3: [ 1646 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1647 | 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1648 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1649 | ], 1650 | NEW_RED_RAND_BLINK_1: [ 1651 | 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1652 | 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1653 | ], 1654 | NEW_RANDOM_FADE: [ 1655 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1656 | 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1657 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1658 | ], 1659 | NEW_RANDOM_COLOR_SOMETIMES: [ 1660 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1661 | 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1662 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1663 | ], 1664 | NEW_RANDOM_COLOR_SOMETIMES_2: [ 1665 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1666 | 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1667 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1668 | ], 1669 | NEW_RANDOM_RED_OR_ORANGE_OR_WHITE: [ 1670 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1671 | 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1672 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1673 | ], 1674 | NEW_RANDOM_RED_WHITE: [ 1675 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1676 | 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1677 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1678 | ], 1679 | NEW_RANDOM_COLOR_SOMETIMES_3: [ 1680 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1681 | 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1682 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1683 | ], 1684 | NEW_RANDOM_COLOR_SOMETIMES_4: [ 1685 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1686 | 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1687 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1688 | ], 1689 | NEW_RANDOM_COLOR_SOMETIMES_5: [ 1690 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1691 | 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1692 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1693 | ], 1694 | NEW_RANDOM_COLOR_SOMETIMES_6: [ 1695 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1696 | 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1697 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1698 | ], 1699 | NEW_RANDOM_COLOR_SOMETIMES_7: [ 1700 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1701 | 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1702 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1703 | ], 1704 | NEW_RANDOM_COLOR_SOMETIMES_8: [ 1705 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1706 | 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1707 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1708 | ], 1709 | NEW_GREEN_INT_3: [ 1710 | 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1711 | 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1712 | ], 1713 | NEW_RANDOM_COLOR_SOMETIMES_FADE_NO_TAIL: [ 1714 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1715 | 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1716 | ], 1717 | NEW_RED_WHITE_RATE_LIMITED: [ 1718 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1719 | 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1720 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1721 | ], 1722 | OLD_GREEN_INT_5: [ 1723 | 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1724 | 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1725 | ], 1726 | OLD_RED_INT_3: [ 1727 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1728 | 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1729 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1730 | ], 1731 | OLD_QUICK_TURQUOISE: [ 1732 | 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1733 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1734 | ], 1735 | OLD_QUICK_TURQUOISE_2: [ 1736 | 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1737 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1738 | ], 1739 | OLD_WHITE_THEN_RED: [ 1740 | 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1741 | 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1742 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1743 | ], 1744 | OLD_TURQUOISE_THEN_ORANGE: [ 1745 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1746 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1747 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1748 | ], 1749 | OLD_GREEN_THEN_YELLOW: [ 1750 | 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1751 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1752 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1753 | ], 1754 | OLD_TURQUOISE_THEN_YELLOW: [ 1755 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1756 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1757 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1758 | ], 1759 | OLD_TURQUOISE_THEN_RED: [ 1760 | 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1761 | 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1762 | 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1763 | ], 1764 | OLD_YELLOW_THEN_OFF: [ 1765 | 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1766 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1767 | ], 1768 | OLD_GREEN_THEN_OFF: [ 1769 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1770 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1771 | ], 1772 | OLD_YELLOW_INT_5: [ 1773 | 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1774 | 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1775 | ], 1776 | NEW_FADE_PRESET_COLOR: [ 1777 | 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1778 | 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1779 | ], 1780 | NEW_FADE_PRESET_COLOR_2: [ 1781 | 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1782 | 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1783 | ], 1784 | }; 1785 | -------------------------------------------------------------------------------- /src/IR/generator.ts: -------------------------------------------------------------------------------- 1 | //import { register } from "extendable-media-recorder"; 2 | 3 | // await register(await connect()); 4 | 5 | const sampleRate = 44100; 6 | const mutiply = 0; 7 | 8 | const getAudioWorkletBlob = (inst: number[]) => { 9 | const data = inst; 10 | // repeat data for mutiply 11 | for (let i = 0; i < mutiply; i++) { 12 | inst = inst.concat([0, 0, 0, ...data]); 13 | } 14 | const blob = new Blob( 15 | [ 16 | ` 17 | class MyProcessor extends AudioWorkletProcessor { 18 | data = ${JSON.stringify(inst)}; 19 | sampleRate = 44100; 20 | cfreq = 38000; // The infrared carrier frequency 21 | cfreqHalf = 19000; // The infrared carrier frequency 22 | pperunit = 26; //The carrier frequency period per time unit, 694.44*(36000/1000000) // Total length of a code (in time units) 23 | totalSamples = Math.round( 24 | this.sampleRate * (1 / this.cfreq) * this.pperunit * this.data.length, 25 | ); 26 | previousSampledIndex = 0; 27 | 28 | process(_, outputs) { 29 | const output = outputs[0]; 30 | for (let channel = 0; channel < output.length; ++channel) { 31 | let sampledIndex = this.previousSampledIndex; 32 | for (let i = 0; i < output[channel].length; i += 1) { 33 | if (sampledIndex <= this.totalSamples) { 34 | const dataIndex = Math.floor( 35 | ((sampledIndex / this.sampleRate) * this.cfreq) / this.pperunit, 36 | ); 37 | if (this.data[dataIndex] !== 0) { 38 | // sin( float(i) * M_PI * float(19000) / float(sampleRate) ); 39 | output[channel][i] = Math.sin( 40 | sampledIndex * Math.PI * this.cfreqHalf / this.sampleRate, 41 | ) * (channel === 0 ? 1 : -1); 42 | } else { 43 | output[channel][i] = 0; 44 | } 45 | } 46 | sampledIndex++; 47 | } 48 | if (channel === output.length - 1) { 49 | this.previousSampledIndex = sampledIndex; 50 | } 51 | } 52 | 53 | return true; 54 | } 55 | } 56 | 57 | registerProcessor("ir-processor", MyProcessor); 58 | `, 59 | ], 60 | { type: "application/javascript" }, 61 | ); 62 | return URL.createObjectURL(blob); 63 | }; 64 | 65 | export async function PlayInstruction( 66 | inst: number[], 67 | bpm?: string, 68 | duration?: string, 69 | ) { 70 | const audioContext = new AudioContext({ sampleRate }); 71 | await audioContext.audioWorklet.addModule(getAudioWorkletBlob(inst)); 72 | const irGenerator = new AudioWorkletNode(audioContext, "ir-processor", { 73 | outputChannelCount: [2], 74 | }); 75 | irGenerator.connect(audioContext.destination); 76 | 77 | // const dest = audioContext.createMediaStreamDestination(); 78 | 79 | // Uncomment if you want to save to WAV 80 | // const mediaRecorder = new MediaRecorder(dest.stream, { 81 | // mimeType: "audio/wav", 82 | // }); 83 | // irGenerator.connect(dest); 84 | // const chunks: Blob[] = []; 85 | // mediaRecorder.ondataavailable = (evt) => { 86 | // // Push each chunk (blobs) in an array 87 | // chunks.push(evt.data); 88 | // }; 89 | // mediaRecorder.onstop = (evt) => { 90 | // // Make blob out of our blobs, and open it. 91 | // const blob = new Blob(chunks, { type: "audio/wav" }); 92 | // document.querySelector("audio").src = URL.createObjectURL(blob); 93 | // }; 94 | 95 | //mediaRecorder.start(); 96 | 97 | await audioContext.resume(); 98 | if (bpm && duration) { 99 | const bpmInt = parseInt(bpm); 100 | const durationSec = parseInt(duration); 101 | const loopCount = Math.ceil(durationSec / (60 / bpmInt)); 102 | for (let i = 0; i < loopCount; i++) { 103 | const t0 = performance.now(); 104 | await new Promise((r) => setTimeout(r, 500)); 105 | const d = performance.now() - t0; 106 | console.log(Math.max(60000 / bpmInt - d, 1)); 107 | await new Promise((r) => setTimeout(r, Math.max(60000 / bpmInt - d, 1))); 108 | new AudioWorkletNode(audioContext, "ir-processor", { 109 | outputChannelCount: [2], 110 | }).connect(audioContext.destination); 111 | } 112 | } else { 113 | await new Promise((r) => setTimeout(r, 500)); 114 | } 115 | 116 | await audioContext.close(); 117 | //mediaRecorder.stop(); 118 | } 119 | -------------------------------------------------------------------------------- /src/Icons/Flip.tsx: -------------------------------------------------------------------------------- 1 | import { createSvgIcon } from "@mui/joy/utils"; 2 | 3 | export const Flip = createSvgIcon( 4 | , 5 | "Flip", 6 | ); 7 | -------------------------------------------------------------------------------- /src/Icons/GitHub.tsx: -------------------------------------------------------------------------------- 1 | import { createSvgIcon } from "@mui/joy/utils"; 2 | 3 | export const GitHub = createSvgIcon( 4 | , 8 | "GitHub", 9 | ); 10 | -------------------------------------------------------------------------------- /src/Tabs/BasicInstructions.tsx: -------------------------------------------------------------------------------- 1 | import { 2 | Alert, 3 | Box, 4 | Button, 5 | Divider, 6 | FormControl, 7 | FormHelperText, 8 | Input, 9 | Select, 10 | Stack, 11 | Typography, 12 | } from "@mui/joy"; 13 | import Option from "@mui/joy/Option"; 14 | import { colorEffects, tail_codes } from "../IR/effects.ts"; 15 | import { useCallback, useState } from "react"; 16 | import { PlayInstruction } from "../IR/generator.ts"; 17 | import { TabProps } from "../App.tsx"; 18 | 19 | const NoTailCode = "NoTailCode"; 20 | 21 | const BasicInstructions = (props: TabProps) => { 22 | const [tailCode, setTailCode] = useState(NoTailCode); 23 | const [bpm, setBpm] = useState(""); 24 | const [duration, setDuration] = useState(""); 25 | const handleTailCodeChange = ( 26 | _event: React.SyntheticEvent | null, 27 | newValue: string | null, 28 | ) => { 29 | if (newValue) setTailCode(newValue); 30 | }; 31 | 32 | const sendInstruction = useCallback( 33 | (colorId: string) => async () => { 34 | props.onSending(); 35 | // PlayInstruction([tailCode, colorId]); 36 | let colorCodes = colorEffects.find( 37 | (effect) => effect.id === colorId, 38 | )?.data; 39 | if (!colorCodes) { 40 | return; 41 | } 42 | if (tailCode && tailCode != NoTailCode) { 43 | const tailCodeData = tail_codes.find( 44 | (code) => code.id === tailCode, 45 | )?.data; 46 | colorCodes = [...colorCodes, ...(tailCodeData ?? [])]; 47 | } 48 | 49 | // send POST request to 50 | try { 51 | await PlayInstruction(colorCodes, bpm, duration); 52 | } catch (e) { 53 | alert(e); 54 | } finally { 55 | props.onSendComplete(); 56 | } 57 | 58 | props.onSendComplete(); 59 | console.log(colorCodes); 60 | }, 61 | [bpm, duration, tailCode, props.onSendComplete, props.onSending], 62 | ); 63 | 64 | return ( 65 | 66 | 67 | 68 | 1. 追加效果选项 69 | 79 | 80 | 81 | 82 | 2. [可选,留空就只发送一次] 设定循环发送 BPM 83 | 84 | 85 | setBpm(e.target.value)} 95 | placeholder="BPM" 96 | /> 97 | 98 | 太高的 BPM + 99 | 较长的渐变效果会导致手环来不及响应新指令,此时可以尝试填入 100 | BPM/2。比如 《You Need To Calm Down》的 BPM 是 85,此处可以填入 101 | 42.5。 102 | 103 | 104 | 105 | setDuration(e.target.value)} 113 | placeholder="持续时间(秒)" 114 | /> 115 | 116 | 117 | 118 | 3. 发送颜色指令 119 | 120 | {colorEffects.slice(0, 9).map((effect) => ( 121 | 132 | ))} 133 | 134 | 135 | 136 | 注意,手环型号各异,下面某些颜色指令可能对你持有的手环无效果,此时请多尝试同一颜色的其他指令按钮。 137 | 138 | 139 | {colorEffects.slice(9).map((effect) => ( 140 | 151 | ))} 152 | 153 | 154 | 155 | 156 | ); 157 | }; 158 | 159 | export default BasicInstructions; 160 | -------------------------------------------------------------------------------- /src/Tabs/Effects.tsx: -------------------------------------------------------------------------------- 1 | import { Alert, Box, Button, Stack, Typography } from "@mui/joy"; 2 | import { special_effects } from "../IR/effects.ts"; 3 | import { useCallback } from "react"; 4 | import { TabProps } from "../App.tsx"; 5 | import { PlayInstruction } from "../IR/generator.ts"; 6 | 7 | const Effects = (props: TabProps) => { 8 | const sendInstruction = useCallback( 9 | (effectId: string) => async () => { 10 | props.onSending(); 11 | // PlayInstruction([tailCode, colorId]); 12 | const codes = special_effects[effectId]; 13 | if (!codes) { 14 | return; 15 | } 16 | 17 | // send POST request to 18 | try { 19 | await PlayInstruction(codes); 20 | } catch (e) { 21 | alert(e); 22 | } finally { 23 | props.onSendComplete(); 24 | } 25 | 26 | props.onSendComplete(); 27 | }, 28 | [props.onSendComplete, props.onSending], 29 | ); 30 | 31 | return ( 32 | 33 | 34 | 35 | 发送特殊效果指令 36 | 37 | 下面的指令包含了一些预设的效果,比如随机颜色变换等。你的手环可能无法支持所有的指令,可以多点点试试看。 38 | 39 | 40 | {Object.keys(special_effects).map((effect) => ( 41 | 52 | ))} 53 | 54 | 55 | 56 | 57 | ); 58 | }; 59 | 60 | export default Effects; 61 | -------------------------------------------------------------------------------- /src/assets/react.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import ReactDOM from "react-dom/client"; 3 | import App from "./App.tsx"; 4 | import "@fontsource/inter"; 5 | import { CssBaseline, CssVarsProvider, extendTheme } from "@mui/joy"; 6 | 7 | const theme = extendTheme({ 8 | components: { 9 | JoyButton: { 10 | styleOverrides: { 11 | root: ({ ownerState, theme }) => ({ 12 | ...(ownerState.color === "magenta" && { 13 | color: "#fff", 14 | backgroundColor: "#F733BF", 15 | "&:active": { 16 | backgroundColor: "#c51593", 17 | }, 18 | }), 19 | ...(ownerState.color === "yellow" && { 20 | color: "#000", 21 | backgroundColor: "#FFC400", 22 | "&:active": { 23 | backgroundColor: "#d4a000", 24 | }, 25 | }), 26 | ...(ownerState.color === "pink" && { 27 | color: "#fff", 28 | backgroundColor: "#FF2D55", 29 | "&:active": { 30 | backgroundColor: "#cc2047", 31 | }, 32 | }), 33 | ...(ownerState.color === "orange" && { 34 | color: "#fff", 35 | backgroundColor: "#FF9500", 36 | "&:active": { 37 | backgroundColor: "#cc7a00", 38 | }, 39 | }), 40 | ...(ownerState.color === "secondary" && { 41 | color: theme.vars.palette.text.secondary, 42 | backgroundColor: theme.vars.palette.background.level1, 43 | "&:active": { 44 | backgroundColor: theme.vars.palette.background.level2, 45 | }, 46 | }), 47 | ...(ownerState.color === "turquoise" && { 48 | color: "#fff", 49 | backgroundColor: "#00C8C8", 50 | "&:active": { 51 | backgroundColor: "#00a0a0", 52 | }, 53 | }), 54 | }), 55 | }, 56 | }, 57 | }, 58 | }); 59 | 60 | declare module "@mui/joy/Button" { 61 | interface ButtonPropsColorOverrides { 62 | magenta: true; 63 | yellow: true; 64 | pink: true; 65 | orange: true; 66 | secondary: true; 67 | turquoise: true; 68 | } 69 | } 70 | 71 | ReactDOM.createRoot(document.getElementById("root")!).render( 72 | 73 | 74 | 75 | 76 | 77 | , 78 | ); 79 | -------------------------------------------------------------------------------- /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "useDefineForClassFields": true, 5 | "lib": ["ES2020", "DOM", "DOM.Iterable"], 6 | "module": "ESNext", 7 | "skipLibCheck": true, 8 | 9 | /* Bundler mode */ 10 | "moduleResolution": "bundler", 11 | "allowImportingTsExtensions": true, 12 | "resolveJsonModule": true, 13 | "isolatedModules": true, 14 | "noEmit": true, 15 | "jsx": "react-jsx", 16 | 17 | /* Linting */ 18 | "strict": true, 19 | "noUnusedLocals": true, 20 | "noUnusedParameters": true, 21 | "noFallthroughCasesInSwitch": true 22 | }, 23 | "include": ["src"], 24 | "references": [{ "path": "./tsconfig.node.json" }] 25 | } 26 | -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "skipLibCheck": true, 5 | "module": "ESNext", 6 | "moduleResolution": "bundler", 7 | "allowSyntheticDefaultImports": true, 8 | "strict": true 9 | }, 10 | "include": ["vite.config.ts"] 11 | } 12 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import react from "@vitejs/plugin-react"; 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | server: { 8 | host: "0.0.0.0", 9 | }, 10 | }); 11 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@aashutoshrathi/word-wrap@^1.2.3": 6 | version "1.2.6" 7 | resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" 8 | integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== 9 | 10 | "@ampproject/remapping@^2.2.0": 11 | version "2.3.0" 12 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" 13 | integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== 14 | dependencies: 15 | "@jridgewell/gen-mapping" "^0.3.5" 16 | "@jridgewell/trace-mapping" "^0.3.24" 17 | 18 | "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.23.5": 19 | version "7.23.5" 20 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" 21 | integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== 22 | dependencies: 23 | "@babel/highlight" "^7.23.4" 24 | chalk "^2.4.2" 25 | 26 | "@babel/compat-data@^7.23.5": 27 | version "7.23.5" 28 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" 29 | integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== 30 | 31 | "@babel/core@^7.23.5": 32 | version "7.24.0" 33 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.0.tgz#56cbda6b185ae9d9bed369816a8f4423c5f2ff1b" 34 | integrity sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw== 35 | dependencies: 36 | "@ampproject/remapping" "^2.2.0" 37 | "@babel/code-frame" "^7.23.5" 38 | "@babel/generator" "^7.23.6" 39 | "@babel/helper-compilation-targets" "^7.23.6" 40 | "@babel/helper-module-transforms" "^7.23.3" 41 | "@babel/helpers" "^7.24.0" 42 | "@babel/parser" "^7.24.0" 43 | "@babel/template" "^7.24.0" 44 | "@babel/traverse" "^7.24.0" 45 | "@babel/types" "^7.24.0" 46 | convert-source-map "^2.0.0" 47 | debug "^4.1.0" 48 | gensync "^1.0.0-beta.2" 49 | json5 "^2.2.3" 50 | semver "^6.3.1" 51 | 52 | "@babel/generator@^7.23.6": 53 | version "7.23.6" 54 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" 55 | integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== 56 | dependencies: 57 | "@babel/types" "^7.23.6" 58 | "@jridgewell/gen-mapping" "^0.3.2" 59 | "@jridgewell/trace-mapping" "^0.3.17" 60 | jsesc "^2.5.1" 61 | 62 | "@babel/helper-compilation-targets@^7.23.6": 63 | version "7.23.6" 64 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" 65 | integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== 66 | dependencies: 67 | "@babel/compat-data" "^7.23.5" 68 | "@babel/helper-validator-option" "^7.23.5" 69 | browserslist "^4.22.2" 70 | lru-cache "^5.1.1" 71 | semver "^6.3.1" 72 | 73 | "@babel/helper-environment-visitor@^7.22.20": 74 | version "7.22.20" 75 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" 76 | integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== 77 | 78 | "@babel/helper-function-name@^7.23.0": 79 | version "7.23.0" 80 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" 81 | integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== 82 | dependencies: 83 | "@babel/template" "^7.22.15" 84 | "@babel/types" "^7.23.0" 85 | 86 | "@babel/helper-hoist-variables@^7.22.5": 87 | version "7.22.5" 88 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" 89 | integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== 90 | dependencies: 91 | "@babel/types" "^7.22.5" 92 | 93 | "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.15": 94 | version "7.22.15" 95 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" 96 | integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== 97 | dependencies: 98 | "@babel/types" "^7.22.15" 99 | 100 | "@babel/helper-module-transforms@^7.23.3": 101 | version "7.23.3" 102 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" 103 | integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== 104 | dependencies: 105 | "@babel/helper-environment-visitor" "^7.22.20" 106 | "@babel/helper-module-imports" "^7.22.15" 107 | "@babel/helper-simple-access" "^7.22.5" 108 | "@babel/helper-split-export-declaration" "^7.22.6" 109 | "@babel/helper-validator-identifier" "^7.22.20" 110 | 111 | "@babel/helper-plugin-utils@^7.22.5": 112 | version "7.24.0" 113 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz#945681931a52f15ce879fd5b86ce2dae6d3d7f2a" 114 | integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== 115 | 116 | "@babel/helper-simple-access@^7.22.5": 117 | version "7.22.5" 118 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" 119 | integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== 120 | dependencies: 121 | "@babel/types" "^7.22.5" 122 | 123 | "@babel/helper-split-export-declaration@^7.22.6": 124 | version "7.22.6" 125 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" 126 | integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== 127 | dependencies: 128 | "@babel/types" "^7.22.5" 129 | 130 | "@babel/helper-string-parser@^7.23.4": 131 | version "7.23.4" 132 | resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" 133 | integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== 134 | 135 | "@babel/helper-validator-identifier@^7.22.20": 136 | version "7.22.20" 137 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" 138 | integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== 139 | 140 | "@babel/helper-validator-option@^7.23.5": 141 | version "7.23.5" 142 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" 143 | integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== 144 | 145 | "@babel/helpers@^7.24.0": 146 | version "7.24.0" 147 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.0.tgz#a3dd462b41769c95db8091e49cfe019389a9409b" 148 | integrity sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA== 149 | dependencies: 150 | "@babel/template" "^7.24.0" 151 | "@babel/traverse" "^7.24.0" 152 | "@babel/types" "^7.24.0" 153 | 154 | "@babel/highlight@^7.23.4": 155 | version "7.23.4" 156 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" 157 | integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== 158 | dependencies: 159 | "@babel/helper-validator-identifier" "^7.22.20" 160 | chalk "^2.4.2" 161 | js-tokens "^4.0.0" 162 | 163 | "@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.24.0": 164 | version "7.24.0" 165 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.0.tgz#26a3d1ff49031c53a97d03b604375f028746a9ac" 166 | integrity sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg== 167 | 168 | "@babel/plugin-transform-react-jsx-self@^7.23.3": 169 | version "7.23.3" 170 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz#ed3e7dadde046cce761a8e3cf003a13d1a7972d9" 171 | integrity sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ== 172 | dependencies: 173 | "@babel/helper-plugin-utils" "^7.22.5" 174 | 175 | "@babel/plugin-transform-react-jsx-source@^7.23.3": 176 | version "7.23.3" 177 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz#03527006bdc8775247a78643c51d4e715fe39a3e" 178 | integrity sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g== 179 | dependencies: 180 | "@babel/helper-plugin-utils" "^7.22.5" 181 | 182 | "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.23.9", "@babel/runtime@^7.24.0": 183 | version "7.24.0" 184 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.0.tgz#584c450063ffda59697021430cb47101b085951e" 185 | integrity sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw== 186 | dependencies: 187 | regenerator-runtime "^0.14.0" 188 | 189 | "@babel/template@^7.22.15", "@babel/template@^7.24.0": 190 | version "7.24.0" 191 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" 192 | integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== 193 | dependencies: 194 | "@babel/code-frame" "^7.23.5" 195 | "@babel/parser" "^7.24.0" 196 | "@babel/types" "^7.24.0" 197 | 198 | "@babel/traverse@^7.24.0": 199 | version "7.24.0" 200 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.0.tgz#4a408fbf364ff73135c714a2ab46a5eab2831b1e" 201 | integrity sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw== 202 | dependencies: 203 | "@babel/code-frame" "^7.23.5" 204 | "@babel/generator" "^7.23.6" 205 | "@babel/helper-environment-visitor" "^7.22.20" 206 | "@babel/helper-function-name" "^7.23.0" 207 | "@babel/helper-hoist-variables" "^7.22.5" 208 | "@babel/helper-split-export-declaration" "^7.22.6" 209 | "@babel/parser" "^7.24.0" 210 | "@babel/types" "^7.24.0" 211 | debug "^4.3.1" 212 | globals "^11.1.0" 213 | 214 | "@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.24.0": 215 | version "7.24.0" 216 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" 217 | integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== 218 | dependencies: 219 | "@babel/helper-string-parser" "^7.23.4" 220 | "@babel/helper-validator-identifier" "^7.22.20" 221 | to-fast-properties "^2.0.0" 222 | 223 | "@emotion/babel-plugin@^11.11.0": 224 | version "11.11.0" 225 | resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c" 226 | integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== 227 | dependencies: 228 | "@babel/helper-module-imports" "^7.16.7" 229 | "@babel/runtime" "^7.18.3" 230 | "@emotion/hash" "^0.9.1" 231 | "@emotion/memoize" "^0.8.1" 232 | "@emotion/serialize" "^1.1.2" 233 | babel-plugin-macros "^3.1.0" 234 | convert-source-map "^1.5.0" 235 | escape-string-regexp "^4.0.0" 236 | find-root "^1.1.0" 237 | source-map "^0.5.7" 238 | stylis "4.2.0" 239 | 240 | "@emotion/cache@^11.11.0": 241 | version "11.11.0" 242 | resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" 243 | integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== 244 | dependencies: 245 | "@emotion/memoize" "^0.8.1" 246 | "@emotion/sheet" "^1.2.2" 247 | "@emotion/utils" "^1.2.1" 248 | "@emotion/weak-memoize" "^0.3.1" 249 | stylis "4.2.0" 250 | 251 | "@emotion/hash@^0.9.1": 252 | version "0.9.1" 253 | resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" 254 | integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== 255 | 256 | "@emotion/is-prop-valid@^1.2.1": 257 | version "1.2.2" 258 | resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz#d4175076679c6a26faa92b03bb786f9e52612337" 259 | integrity sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw== 260 | dependencies: 261 | "@emotion/memoize" "^0.8.1" 262 | 263 | "@emotion/memoize@^0.8.1": 264 | version "0.8.1" 265 | resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" 266 | integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== 267 | 268 | "@emotion/react@^11.11.4": 269 | version "11.11.4" 270 | resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.4.tgz#3a829cac25c1f00e126408fab7f891f00ecc3c1d" 271 | integrity sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw== 272 | dependencies: 273 | "@babel/runtime" "^7.18.3" 274 | "@emotion/babel-plugin" "^11.11.0" 275 | "@emotion/cache" "^11.11.0" 276 | "@emotion/serialize" "^1.1.3" 277 | "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" 278 | "@emotion/utils" "^1.2.1" 279 | "@emotion/weak-memoize" "^0.3.1" 280 | hoist-non-react-statics "^3.3.1" 281 | 282 | "@emotion/serialize@^1.1.2", "@emotion/serialize@^1.1.3": 283 | version "1.1.3" 284 | resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.3.tgz#84b77bfcfe3b7bb47d326602f640ccfcacd5ffb0" 285 | integrity sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA== 286 | dependencies: 287 | "@emotion/hash" "^0.9.1" 288 | "@emotion/memoize" "^0.8.1" 289 | "@emotion/unitless" "^0.8.1" 290 | "@emotion/utils" "^1.2.1" 291 | csstype "^3.0.2" 292 | 293 | "@emotion/sheet@^1.2.2": 294 | version "1.2.2" 295 | resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" 296 | integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== 297 | 298 | "@emotion/styled@^11.11.0": 299 | version "11.11.0" 300 | resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.11.0.tgz#26b75e1b5a1b7a629d7c0a8b708fbf5a9cdce346" 301 | integrity sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng== 302 | dependencies: 303 | "@babel/runtime" "^7.18.3" 304 | "@emotion/babel-plugin" "^11.11.0" 305 | "@emotion/is-prop-valid" "^1.2.1" 306 | "@emotion/serialize" "^1.1.2" 307 | "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" 308 | "@emotion/utils" "^1.2.1" 309 | 310 | "@emotion/unitless@^0.8.1": 311 | version "0.8.1" 312 | resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" 313 | integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== 314 | 315 | "@emotion/use-insertion-effect-with-fallbacks@^1.0.1": 316 | version "1.0.1" 317 | resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" 318 | integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== 319 | 320 | "@emotion/utils@^1.2.1": 321 | version "1.2.1" 322 | resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" 323 | integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== 324 | 325 | "@emotion/weak-memoize@^0.3.1": 326 | version "0.3.1" 327 | resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" 328 | integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== 329 | 330 | "@esbuild/aix-ppc64@0.19.12": 331 | version "0.19.12" 332 | resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz#d1bc06aedb6936b3b6d313bf809a5a40387d2b7f" 333 | integrity sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA== 334 | 335 | "@esbuild/android-arm64@0.19.12": 336 | version "0.19.12" 337 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz#7ad65a36cfdb7e0d429c353e00f680d737c2aed4" 338 | integrity sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA== 339 | 340 | "@esbuild/android-arm@0.19.12": 341 | version "0.19.12" 342 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.12.tgz#b0c26536f37776162ca8bde25e42040c203f2824" 343 | integrity sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w== 344 | 345 | "@esbuild/android-x64@0.19.12": 346 | version "0.19.12" 347 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.12.tgz#cb13e2211282012194d89bf3bfe7721273473b3d" 348 | integrity sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew== 349 | 350 | "@esbuild/darwin-arm64@0.19.12": 351 | version "0.19.12" 352 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz#cbee41e988020d4b516e9d9e44dd29200996275e" 353 | integrity sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g== 354 | 355 | "@esbuild/darwin-x64@0.19.12": 356 | version "0.19.12" 357 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz#e37d9633246d52aecf491ee916ece709f9d5f4cd" 358 | integrity sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A== 359 | 360 | "@esbuild/freebsd-arm64@0.19.12": 361 | version "0.19.12" 362 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz#1ee4d8b682ed363b08af74d1ea2b2b4dbba76487" 363 | integrity sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA== 364 | 365 | "@esbuild/freebsd-x64@0.19.12": 366 | version "0.19.12" 367 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz#37a693553d42ff77cd7126764b535fb6cc28a11c" 368 | integrity sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg== 369 | 370 | "@esbuild/linux-arm64@0.19.12": 371 | version "0.19.12" 372 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz#be9b145985ec6c57470e0e051d887b09dddb2d4b" 373 | integrity sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA== 374 | 375 | "@esbuild/linux-arm@0.19.12": 376 | version "0.19.12" 377 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz#207ecd982a8db95f7b5279207d0ff2331acf5eef" 378 | integrity sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w== 379 | 380 | "@esbuild/linux-ia32@0.19.12": 381 | version "0.19.12" 382 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz#d0d86b5ca1562523dc284a6723293a52d5860601" 383 | integrity sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA== 384 | 385 | "@esbuild/linux-loong64@0.19.12": 386 | version "0.19.12" 387 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz#9a37f87fec4b8408e682b528391fa22afd952299" 388 | integrity sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA== 389 | 390 | "@esbuild/linux-mips64el@0.19.12": 391 | version "0.19.12" 392 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz#4ddebd4e6eeba20b509d8e74c8e30d8ace0b89ec" 393 | integrity sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w== 394 | 395 | "@esbuild/linux-ppc64@0.19.12": 396 | version "0.19.12" 397 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz#adb67dadb73656849f63cd522f5ecb351dd8dee8" 398 | integrity sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg== 399 | 400 | "@esbuild/linux-riscv64@0.19.12": 401 | version "0.19.12" 402 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz#11bc0698bf0a2abf8727f1c7ace2112612c15adf" 403 | integrity sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg== 404 | 405 | "@esbuild/linux-s390x@0.19.12": 406 | version "0.19.12" 407 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz#e86fb8ffba7c5c92ba91fc3b27ed5a70196c3cc8" 408 | integrity sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg== 409 | 410 | "@esbuild/linux-x64@0.19.12": 411 | version "0.19.12" 412 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz#5f37cfdc705aea687dfe5dfbec086a05acfe9c78" 413 | integrity sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg== 414 | 415 | "@esbuild/netbsd-x64@0.19.12": 416 | version "0.19.12" 417 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz#29da566a75324e0d0dd7e47519ba2f7ef168657b" 418 | integrity sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA== 419 | 420 | "@esbuild/openbsd-x64@0.19.12": 421 | version "0.19.12" 422 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz#306c0acbdb5a99c95be98bdd1d47c916e7dc3ff0" 423 | integrity sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw== 424 | 425 | "@esbuild/sunos-x64@0.19.12": 426 | version "0.19.12" 427 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz#0933eaab9af8b9b2c930236f62aae3fc593faf30" 428 | integrity sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA== 429 | 430 | "@esbuild/win32-arm64@0.19.12": 431 | version "0.19.12" 432 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz#773bdbaa1971b36db2f6560088639ccd1e6773ae" 433 | integrity sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A== 434 | 435 | "@esbuild/win32-ia32@0.19.12": 436 | version "0.19.12" 437 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz#000516cad06354cc84a73f0943a4aa690ef6fd67" 438 | integrity sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ== 439 | 440 | "@esbuild/win32-x64@0.19.12": 441 | version "0.19.12" 442 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz#c57c8afbb4054a3ab8317591a0b7320360b444ae" 443 | integrity sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA== 444 | 445 | "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": 446 | version "4.4.0" 447 | resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" 448 | integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== 449 | dependencies: 450 | eslint-visitor-keys "^3.3.0" 451 | 452 | "@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": 453 | version "4.10.0" 454 | resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" 455 | integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== 456 | 457 | "@eslint/eslintrc@^2.1.4": 458 | version "2.1.4" 459 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" 460 | integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== 461 | dependencies: 462 | ajv "^6.12.4" 463 | debug "^4.3.2" 464 | espree "^9.6.0" 465 | globals "^13.19.0" 466 | ignore "^5.2.0" 467 | import-fresh "^3.2.1" 468 | js-yaml "^4.1.0" 469 | minimatch "^3.1.2" 470 | strip-json-comments "^3.1.1" 471 | 472 | "@eslint/js@8.57.0": 473 | version "8.57.0" 474 | resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" 475 | integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== 476 | 477 | "@floating-ui/core@^1.0.0": 478 | version "1.6.0" 479 | resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.0.tgz#fa41b87812a16bf123122bf945946bae3fdf7fc1" 480 | integrity sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g== 481 | dependencies: 482 | "@floating-ui/utils" "^0.2.1" 483 | 484 | "@floating-ui/dom@^1.6.1": 485 | version "1.6.3" 486 | resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.3.tgz#954e46c1dd3ad48e49db9ada7218b0985cee75ef" 487 | integrity sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw== 488 | dependencies: 489 | "@floating-ui/core" "^1.0.0" 490 | "@floating-ui/utils" "^0.2.0" 491 | 492 | "@floating-ui/react-dom@^2.0.8": 493 | version "2.0.8" 494 | resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.8.tgz#afc24f9756d1b433e1fe0d047c24bd4d9cefaa5d" 495 | integrity sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw== 496 | dependencies: 497 | "@floating-ui/dom" "^1.6.1" 498 | 499 | "@floating-ui/utils@^0.2.0", "@floating-ui/utils@^0.2.1": 500 | version "0.2.1" 501 | resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.1.tgz#16308cea045f0fc777b6ff20a9f25474dd8293d2" 502 | integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q== 503 | 504 | "@fontsource/inter@^5.0.17": 505 | version "5.0.17" 506 | resolved "https://registry.yarnpkg.com/@fontsource/inter/-/inter-5.0.17.tgz#43fb1bc6bcfbfbfc3a9d19a59a4a7ab99fc1c645" 507 | integrity sha512-2meBGx1kt7u5LwzGc5Sz5rka6ZDrydg6nT3x6Wkt310vHXUchIywrO8pooWMzZdHYcyFY/cv4lEpJZgMD94bCg== 508 | 509 | "@humanwhocodes/config-array@^0.11.14": 510 | version "0.11.14" 511 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" 512 | integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== 513 | dependencies: 514 | "@humanwhocodes/object-schema" "^2.0.2" 515 | debug "^4.3.1" 516 | minimatch "^3.0.5" 517 | 518 | "@humanwhocodes/module-importer@^1.0.1": 519 | version "1.0.1" 520 | resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" 521 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== 522 | 523 | "@humanwhocodes/object-schema@^2.0.2": 524 | version "2.0.2" 525 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" 526 | integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== 527 | 528 | "@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": 529 | version "0.3.5" 530 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" 531 | integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== 532 | dependencies: 533 | "@jridgewell/set-array" "^1.2.1" 534 | "@jridgewell/sourcemap-codec" "^1.4.10" 535 | "@jridgewell/trace-mapping" "^0.3.24" 536 | 537 | "@jridgewell/resolve-uri@^3.1.0": 538 | version "3.1.2" 539 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" 540 | integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== 541 | 542 | "@jridgewell/set-array@^1.2.1": 543 | version "1.2.1" 544 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" 545 | integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== 546 | 547 | "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": 548 | version "1.4.15" 549 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" 550 | integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== 551 | 552 | "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.24": 553 | version "0.3.25" 554 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" 555 | integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== 556 | dependencies: 557 | "@jridgewell/resolve-uri" "^3.1.0" 558 | "@jridgewell/sourcemap-codec" "^1.4.14" 559 | 560 | "@mui/base@5.0.0-beta.39": 561 | version "5.0.0-beta.39" 562 | resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.39.tgz#9b8bab9d292e78721565197bead5050a79881194" 563 | integrity sha512-puyUptF7VJ+9/dMIRLF+DLR21cWfvejsA6OnatfJfqFp8aMhya7xQtvYLEfCch6ahvFZvNC9FFEGGR+qkgFjUg== 564 | dependencies: 565 | "@babel/runtime" "^7.23.9" 566 | "@floating-ui/react-dom" "^2.0.8" 567 | "@mui/types" "^7.2.13" 568 | "@mui/utils" "^5.15.13" 569 | "@popperjs/core" "^2.11.8" 570 | clsx "^2.1.0" 571 | prop-types "^15.8.1" 572 | 573 | "@mui/core-downloads-tracker@^5.15.13": 574 | version "5.15.13" 575 | resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.13.tgz#f753bec8994b5defe4f62832a8a9ed14b5cb2d16" 576 | integrity sha512-ERsk9EWpiitSiKnmUdFJGshtFk647l4p7r+mjRWe/F1l5kT1NTTKkaeDLcK3/lsy0udXjMgcG0bNwzbYBdDdhQ== 577 | 578 | "@mui/joy@^5.0.0-beta.31": 579 | version "5.0.0-beta.31" 580 | resolved "https://registry.yarnpkg.com/@mui/joy/-/joy-5.0.0-beta.31.tgz#f9f79e376dea7f08a6a6d1de47e37b8c95a3bc25" 581 | integrity sha512-Cm9jilzjN9ZkVKh8cBEP8frxdTjm7C4z5+jpzLjzRgHdAtrHSB7VL7nUBu1qlj2OXIUjMzqvqdsJvT7uA1LScA== 582 | dependencies: 583 | "@babel/runtime" "^7.23.9" 584 | "@mui/base" "5.0.0-beta.39" 585 | "@mui/core-downloads-tracker" "^5.15.13" 586 | "@mui/system" "^5.15.13" 587 | "@mui/types" "^7.2.13" 588 | "@mui/utils" "^5.15.13" 589 | clsx "^2.1.0" 590 | prop-types "^15.8.1" 591 | 592 | "@mui/private-theming@^5.15.13": 593 | version "5.15.13" 594 | resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.15.13.tgz#04c8c8a6f2e6a67e4cc3aecb9375cc23df1a6f23" 595 | integrity sha512-j5Z2pRi6talCunIRIzpQERSaHwLd5EPdHMwIKDVCszro1RAzRZl7WmH68IMCgQmJMeglr+FalqNuq048qptGAg== 596 | dependencies: 597 | "@babel/runtime" "^7.23.9" 598 | "@mui/utils" "^5.15.13" 599 | prop-types "^15.8.1" 600 | 601 | "@mui/styled-engine@^5.15.11": 602 | version "5.15.11" 603 | resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.15.11.tgz#040181f31910e0f66d43a5c44fe89da06b34212b" 604 | integrity sha512-So21AhAngqo07ces4S/JpX5UaMU2RHXpEA6hNzI6IQjd/1usMPxpgK8wkGgTe3JKmC2KDmH8cvoycq5H3Ii7/w== 605 | dependencies: 606 | "@babel/runtime" "^7.23.9" 607 | "@emotion/cache" "^11.11.0" 608 | csstype "^3.1.3" 609 | prop-types "^15.8.1" 610 | 611 | "@mui/system@^5.15.13": 612 | version "5.15.13" 613 | resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.15.13.tgz#dd86dbbebf92e4afdf0fa01afdae28598745ba4c" 614 | integrity sha512-eHaX3sniZXNWkxX0lmcLxROhQ5La0HkOuF7zxbSdAoHUOk07gboQYmF6hSJ/VBFx/GLanIw67FMTn88vc8niLg== 615 | dependencies: 616 | "@babel/runtime" "^7.23.9" 617 | "@mui/private-theming" "^5.15.13" 618 | "@mui/styled-engine" "^5.15.11" 619 | "@mui/types" "^7.2.13" 620 | "@mui/utils" "^5.15.13" 621 | clsx "^2.1.0" 622 | csstype "^3.1.3" 623 | prop-types "^15.8.1" 624 | 625 | "@mui/types@^7.2.13": 626 | version "7.2.13" 627 | resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.13.tgz#d1584912942f9dc042441ecc2d1452be39c666b8" 628 | integrity sha512-qP9OgacN62s+l8rdDhSFRe05HWtLLJ5TGclC9I1+tQngbssu0m2dmFZs+Px53AcOs9fD7TbYd4gc9AXzVqO/+g== 629 | 630 | "@mui/utils@^5.15.13": 631 | version "5.15.13" 632 | resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.15.13.tgz#4adfed6c585a6787f1f0d7d1fadb9ff0f7ddb2bd" 633 | integrity sha512-qNlR9FLEhORC4zVZ3fzF48213EhP/92N71AcFbhHN73lPJjAbq9lUv+71P7uEdRHdrrOlm8+1zE8/OBy6MUqdg== 634 | dependencies: 635 | "@babel/runtime" "^7.23.9" 636 | "@types/prop-types" "^15.7.11" 637 | prop-types "^15.8.1" 638 | react-is "^18.2.0" 639 | 640 | "@nodelib/fs.scandir@2.1.5": 641 | version "2.1.5" 642 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 643 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 644 | dependencies: 645 | "@nodelib/fs.stat" "2.0.5" 646 | run-parallel "^1.1.9" 647 | 648 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 649 | version "2.0.5" 650 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 651 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 652 | 653 | "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": 654 | version "1.2.8" 655 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 656 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 657 | dependencies: 658 | "@nodelib/fs.scandir" "2.1.5" 659 | fastq "^1.6.0" 660 | 661 | "@popperjs/core@^2.11.8": 662 | version "2.11.8" 663 | resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" 664 | integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== 665 | 666 | "@rollup/rollup-android-arm-eabi@4.13.0": 667 | version "4.13.0" 668 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.13.0.tgz#b98786c1304b4ff8db3a873180b778649b5dff2b" 669 | integrity sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg== 670 | 671 | "@rollup/rollup-android-arm64@4.13.0": 672 | version "4.13.0" 673 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.13.0.tgz#8833679af11172b1bf1ab7cb3bad84df4caf0c9e" 674 | integrity sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q== 675 | 676 | "@rollup/rollup-darwin-arm64@4.13.0": 677 | version "4.13.0" 678 | resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.13.0.tgz#ef02d73e0a95d406e0eb4fd61a53d5d17775659b" 679 | integrity sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g== 680 | 681 | "@rollup/rollup-darwin-x64@4.13.0": 682 | version "4.13.0" 683 | resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.13.0.tgz#3ce5b9bcf92b3341a5c1c58a3e6bcce0ea9e7455" 684 | integrity sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg== 685 | 686 | "@rollup/rollup-linux-arm-gnueabihf@4.13.0": 687 | version "4.13.0" 688 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.13.0.tgz#3d3d2c018bdd8e037c6bfedd52acfff1c97e4be4" 689 | integrity sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ== 690 | 691 | "@rollup/rollup-linux-arm64-gnu@4.13.0": 692 | version "4.13.0" 693 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.13.0.tgz#5fc8cc978ff396eaa136d7bfe05b5b9138064143" 694 | integrity sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w== 695 | 696 | "@rollup/rollup-linux-arm64-musl@4.13.0": 697 | version "4.13.0" 698 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.13.0.tgz#f2ae7d7bed416ffa26d6b948ac5772b520700eef" 699 | integrity sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw== 700 | 701 | "@rollup/rollup-linux-riscv64-gnu@4.13.0": 702 | version "4.13.0" 703 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.13.0.tgz#303d57a328ee9a50c85385936f31cf62306d30b6" 704 | integrity sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA== 705 | 706 | "@rollup/rollup-linux-x64-gnu@4.13.0": 707 | version "4.13.0" 708 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.13.0.tgz#f672f6508f090fc73f08ba40ff76c20b57424778" 709 | integrity sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA== 710 | 711 | "@rollup/rollup-linux-x64-musl@4.13.0": 712 | version "4.13.0" 713 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.13.0.tgz#d2f34b1b157f3e7f13925bca3288192a66755a89" 714 | integrity sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw== 715 | 716 | "@rollup/rollup-win32-arm64-msvc@4.13.0": 717 | version "4.13.0" 718 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.13.0.tgz#8ffecc980ae4d9899eb2f9c4ae471a8d58d2da6b" 719 | integrity sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA== 720 | 721 | "@rollup/rollup-win32-ia32-msvc@4.13.0": 722 | version "4.13.0" 723 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.13.0.tgz#a7505884f415662e088365b9218b2b03a88fc6f2" 724 | integrity sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw== 725 | 726 | "@rollup/rollup-win32-x64-msvc@4.13.0": 727 | version "4.13.0" 728 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.13.0.tgz#6abd79db7ff8d01a58865ba20a63cfd23d9e2a10" 729 | integrity sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw== 730 | 731 | "@types/babel__core@^7.20.5": 732 | version "7.20.5" 733 | resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" 734 | integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== 735 | dependencies: 736 | "@babel/parser" "^7.20.7" 737 | "@babel/types" "^7.20.7" 738 | "@types/babel__generator" "*" 739 | "@types/babel__template" "*" 740 | "@types/babel__traverse" "*" 741 | 742 | "@types/babel__generator@*": 743 | version "7.6.8" 744 | resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" 745 | integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== 746 | dependencies: 747 | "@babel/types" "^7.0.0" 748 | 749 | "@types/babel__template@*": 750 | version "7.4.4" 751 | resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" 752 | integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== 753 | dependencies: 754 | "@babel/parser" "^7.1.0" 755 | "@babel/types" "^7.0.0" 756 | 757 | "@types/babel__traverse@*": 758 | version "7.20.5" 759 | resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz#7b7502be0aa80cc4ef22978846b983edaafcd4dd" 760 | integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== 761 | dependencies: 762 | "@babel/types" "^7.20.7" 763 | 764 | "@types/estree@1.0.5": 765 | version "1.0.5" 766 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" 767 | integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== 768 | 769 | "@types/json-schema@^7.0.12": 770 | version "7.0.15" 771 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" 772 | integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== 773 | 774 | "@types/parse-json@^4.0.0": 775 | version "4.0.2" 776 | resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" 777 | integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== 778 | 779 | "@types/prop-types@*", "@types/prop-types@^15.7.11": 780 | version "15.7.11" 781 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563" 782 | integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== 783 | 784 | "@types/react-dom@^18.2.21": 785 | version "18.2.22" 786 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.22.tgz#d332febf0815403de6da8a97e5fe282cbe609bae" 787 | integrity sha512-fHkBXPeNtfvri6gdsMYyW+dW7RXFo6Ad09nLFK0VQWR7yGLai/Cyvyj696gbwYvBnhGtevUG9cET0pmUbMtoPQ== 788 | dependencies: 789 | "@types/react" "*" 790 | 791 | "@types/react@*", "@types/react@^18.2.64": 792 | version "18.2.66" 793 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.66.tgz#d2eafc8c4e70939c5432221adb23d32d76bfe451" 794 | integrity sha512-OYTmMI4UigXeFMF/j4uv0lBBEbongSgptPrHBxqME44h9+yNov+oL6Z3ocJKo0WyXR84sQUNeyIp9MRfckvZpg== 795 | dependencies: 796 | "@types/prop-types" "*" 797 | "@types/scheduler" "*" 798 | csstype "^3.0.2" 799 | 800 | "@types/scheduler@*": 801 | version "0.16.8" 802 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" 803 | integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== 804 | 805 | "@types/semver@^7.5.0": 806 | version "7.5.8" 807 | resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" 808 | integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== 809 | 810 | "@typescript-eslint/eslint-plugin@^7.1.1": 811 | version "7.2.0" 812 | resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.2.0.tgz#5a5fcad1a7baed85c10080d71ad901f98c38d5b7" 813 | integrity sha512-mdekAHOqS9UjlmyF/LSs6AIEvfceV749GFxoBAjwAv0nkevfKHWQFDMcBZWUiIC5ft6ePWivXoS36aKQ0Cy3sw== 814 | dependencies: 815 | "@eslint-community/regexpp" "^4.5.1" 816 | "@typescript-eslint/scope-manager" "7.2.0" 817 | "@typescript-eslint/type-utils" "7.2.0" 818 | "@typescript-eslint/utils" "7.2.0" 819 | "@typescript-eslint/visitor-keys" "7.2.0" 820 | debug "^4.3.4" 821 | graphemer "^1.4.0" 822 | ignore "^5.2.4" 823 | natural-compare "^1.4.0" 824 | semver "^7.5.4" 825 | ts-api-utils "^1.0.1" 826 | 827 | "@typescript-eslint/parser@^7.1.1": 828 | version "7.2.0" 829 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.2.0.tgz#44356312aea8852a3a82deebdacd52ba614ec07a" 830 | integrity sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg== 831 | dependencies: 832 | "@typescript-eslint/scope-manager" "7.2.0" 833 | "@typescript-eslint/types" "7.2.0" 834 | "@typescript-eslint/typescript-estree" "7.2.0" 835 | "@typescript-eslint/visitor-keys" "7.2.0" 836 | debug "^4.3.4" 837 | 838 | "@typescript-eslint/scope-manager@7.2.0": 839 | version "7.2.0" 840 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.2.0.tgz#cfb437b09a84f95a0930a76b066e89e35d94e3da" 841 | integrity sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg== 842 | dependencies: 843 | "@typescript-eslint/types" "7.2.0" 844 | "@typescript-eslint/visitor-keys" "7.2.0" 845 | 846 | "@typescript-eslint/type-utils@7.2.0": 847 | version "7.2.0" 848 | resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.2.0.tgz#7be5c30e9b4d49971b79095a1181324ef6089a19" 849 | integrity sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA== 850 | dependencies: 851 | "@typescript-eslint/typescript-estree" "7.2.0" 852 | "@typescript-eslint/utils" "7.2.0" 853 | debug "^4.3.4" 854 | ts-api-utils "^1.0.1" 855 | 856 | "@typescript-eslint/types@7.2.0": 857 | version "7.2.0" 858 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.2.0.tgz#0feb685f16de320e8520f13cca30779c8b7c403f" 859 | integrity sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA== 860 | 861 | "@typescript-eslint/typescript-estree@7.2.0": 862 | version "7.2.0" 863 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.2.0.tgz#5beda2876c4137f8440c5a84b4f0370828682556" 864 | integrity sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA== 865 | dependencies: 866 | "@typescript-eslint/types" "7.2.0" 867 | "@typescript-eslint/visitor-keys" "7.2.0" 868 | debug "^4.3.4" 869 | globby "^11.1.0" 870 | is-glob "^4.0.3" 871 | minimatch "9.0.3" 872 | semver "^7.5.4" 873 | ts-api-utils "^1.0.1" 874 | 875 | "@typescript-eslint/utils@7.2.0": 876 | version "7.2.0" 877 | resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.2.0.tgz#fc8164be2f2a7068debb4556881acddbf0b7ce2a" 878 | integrity sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA== 879 | dependencies: 880 | "@eslint-community/eslint-utils" "^4.4.0" 881 | "@types/json-schema" "^7.0.12" 882 | "@types/semver" "^7.5.0" 883 | "@typescript-eslint/scope-manager" "7.2.0" 884 | "@typescript-eslint/types" "7.2.0" 885 | "@typescript-eslint/typescript-estree" "7.2.0" 886 | semver "^7.5.4" 887 | 888 | "@typescript-eslint/visitor-keys@7.2.0": 889 | version "7.2.0" 890 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.2.0.tgz#5035f177752538a5750cca1af6044b633610bf9e" 891 | integrity sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A== 892 | dependencies: 893 | "@typescript-eslint/types" "7.2.0" 894 | eslint-visitor-keys "^3.4.1" 895 | 896 | "@ungap/structured-clone@^1.2.0": 897 | version "1.2.0" 898 | resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" 899 | integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== 900 | 901 | "@vitejs/plugin-react@^4.2.1": 902 | version "4.2.1" 903 | resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz#744d8e4fcb120fc3dbaa471dadd3483f5a304bb9" 904 | integrity sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ== 905 | dependencies: 906 | "@babel/core" "^7.23.5" 907 | "@babel/plugin-transform-react-jsx-self" "^7.23.3" 908 | "@babel/plugin-transform-react-jsx-source" "^7.23.3" 909 | "@types/babel__core" "^7.20.5" 910 | react-refresh "^0.14.0" 911 | 912 | acorn-jsx@^5.3.2: 913 | version "5.3.2" 914 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" 915 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 916 | 917 | acorn@^8.9.0: 918 | version "8.11.3" 919 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" 920 | integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== 921 | 922 | ajv@^6.12.4: 923 | version "6.12.6" 924 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 925 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 926 | dependencies: 927 | fast-deep-equal "^3.1.1" 928 | fast-json-stable-stringify "^2.0.0" 929 | json-schema-traverse "^0.4.1" 930 | uri-js "^4.2.2" 931 | 932 | ansi-regex@^5.0.1: 933 | version "5.0.1" 934 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 935 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 936 | 937 | ansi-styles@^3.2.1: 938 | version "3.2.1" 939 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 940 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 941 | dependencies: 942 | color-convert "^1.9.0" 943 | 944 | ansi-styles@^4.1.0: 945 | version "4.3.0" 946 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 947 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 948 | dependencies: 949 | color-convert "^2.0.1" 950 | 951 | argparse@^2.0.1: 952 | version "2.0.1" 953 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 954 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 955 | 956 | array-union@^2.1.0: 957 | version "2.1.0" 958 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 959 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 960 | 961 | babel-plugin-macros@^3.1.0: 962 | version "3.1.0" 963 | resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" 964 | integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== 965 | dependencies: 966 | "@babel/runtime" "^7.12.5" 967 | cosmiconfig "^7.0.0" 968 | resolve "^1.19.0" 969 | 970 | balanced-match@^1.0.0: 971 | version "1.0.2" 972 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 973 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 974 | 975 | brace-expansion@^1.1.7: 976 | version "1.1.11" 977 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 978 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 979 | dependencies: 980 | balanced-match "^1.0.0" 981 | concat-map "0.0.1" 982 | 983 | brace-expansion@^2.0.1: 984 | version "2.0.1" 985 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" 986 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== 987 | dependencies: 988 | balanced-match "^1.0.0" 989 | 990 | braces@^3.0.2: 991 | version "3.0.2" 992 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 993 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 994 | dependencies: 995 | fill-range "^7.0.1" 996 | 997 | broker-factory@^3.0.94: 998 | version "3.0.94" 999 | resolved "https://registry.yarnpkg.com/broker-factory/-/broker-factory-3.0.94.tgz#ed486a2821a64c2ab88344ca2099e54e58b5f223" 1000 | integrity sha512-Kiwy8CJTUEr8TmO3amyxU5qMd8sk4Kc9Eiy9iDy0m/m/yiZWFO8rOu4DowjpX9rgnJpomy/lAuCZXcTjgT9z+Q== 1001 | dependencies: 1002 | "@babel/runtime" "^7.24.0" 1003 | fast-unique-numbers "^9.0.1" 1004 | tslib "^2.6.2" 1005 | worker-factory "^7.0.21" 1006 | 1007 | browserslist@^4.22.2: 1008 | version "4.23.0" 1009 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" 1010 | integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== 1011 | dependencies: 1012 | caniuse-lite "^1.0.30001587" 1013 | electron-to-chromium "^1.4.668" 1014 | node-releases "^2.0.14" 1015 | update-browserslist-db "^1.0.13" 1016 | 1017 | callsites@^3.0.0: 1018 | version "3.1.0" 1019 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 1020 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 1021 | 1022 | caniuse-lite@^1.0.30001587: 1023 | version "1.0.30001597" 1024 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001597.tgz#8be94a8c1d679de23b22fbd944232aa1321639e6" 1025 | integrity sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w== 1026 | 1027 | chalk@^2.4.2: 1028 | version "2.4.2" 1029 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 1030 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 1031 | dependencies: 1032 | ansi-styles "^3.2.1" 1033 | escape-string-regexp "^1.0.5" 1034 | supports-color "^5.3.0" 1035 | 1036 | chalk@^4.0.0: 1037 | version "4.1.2" 1038 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 1039 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 1040 | dependencies: 1041 | ansi-styles "^4.1.0" 1042 | supports-color "^7.1.0" 1043 | 1044 | clsx@^2.1.0: 1045 | version "2.1.0" 1046 | resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.0.tgz#e851283bcb5c80ee7608db18487433f7b23f77cb" 1047 | integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== 1048 | 1049 | color-convert@^1.9.0: 1050 | version "1.9.3" 1051 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 1052 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 1053 | dependencies: 1054 | color-name "1.1.3" 1055 | 1056 | color-convert@^2.0.1: 1057 | version "2.0.1" 1058 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 1059 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 1060 | dependencies: 1061 | color-name "~1.1.4" 1062 | 1063 | color-name@1.1.3: 1064 | version "1.1.3" 1065 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 1066 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 1067 | 1068 | color-name@~1.1.4: 1069 | version "1.1.4" 1070 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 1071 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 1072 | 1073 | concat-map@0.0.1: 1074 | version "0.0.1" 1075 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 1076 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 1077 | 1078 | convert-source-map@^1.5.0: 1079 | version "1.9.0" 1080 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" 1081 | integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== 1082 | 1083 | convert-source-map@^2.0.0: 1084 | version "2.0.0" 1085 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" 1086 | integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== 1087 | 1088 | cosmiconfig@^7.0.0: 1089 | version "7.1.0" 1090 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" 1091 | integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== 1092 | dependencies: 1093 | "@types/parse-json" "^4.0.0" 1094 | import-fresh "^3.2.1" 1095 | parse-json "^5.0.0" 1096 | path-type "^4.0.0" 1097 | yaml "^1.10.0" 1098 | 1099 | cross-spawn@^7.0.2: 1100 | version "7.0.3" 1101 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 1102 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 1103 | dependencies: 1104 | path-key "^3.1.0" 1105 | shebang-command "^2.0.0" 1106 | which "^2.0.1" 1107 | 1108 | csstype@^3.0.2, csstype@^3.1.3: 1109 | version "3.1.3" 1110 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" 1111 | integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== 1112 | 1113 | debug@^4.1.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: 1114 | version "4.3.4" 1115 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 1116 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 1117 | dependencies: 1118 | ms "2.1.2" 1119 | 1120 | deep-is@^0.1.3: 1121 | version "0.1.4" 1122 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" 1123 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 1124 | 1125 | dir-glob@^3.0.1: 1126 | version "3.0.1" 1127 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 1128 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 1129 | dependencies: 1130 | path-type "^4.0.0" 1131 | 1132 | doctrine@^3.0.0: 1133 | version "3.0.0" 1134 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 1135 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 1136 | dependencies: 1137 | esutils "^2.0.2" 1138 | 1139 | electron-to-chromium@^1.4.668: 1140 | version "1.4.708" 1141 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.708.tgz#d54d3b47cb44ae6b190067439c42135456907893" 1142 | integrity sha512-iWgEEvREL4GTXXHKohhh33+6Y8XkPI5eHihDmm8zUk5Zo7HICEW+wI/j5kJ2tbuNUCXJ/sNXa03ajW635DiJXA== 1143 | 1144 | error-ex@^1.3.1: 1145 | version "1.3.2" 1146 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 1147 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 1148 | dependencies: 1149 | is-arrayish "^0.2.1" 1150 | 1151 | esbuild@^0.19.3: 1152 | version "0.19.12" 1153 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.12.tgz#dc82ee5dc79e82f5a5c3b4323a2a641827db3e04" 1154 | integrity sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg== 1155 | optionalDependencies: 1156 | "@esbuild/aix-ppc64" "0.19.12" 1157 | "@esbuild/android-arm" "0.19.12" 1158 | "@esbuild/android-arm64" "0.19.12" 1159 | "@esbuild/android-x64" "0.19.12" 1160 | "@esbuild/darwin-arm64" "0.19.12" 1161 | "@esbuild/darwin-x64" "0.19.12" 1162 | "@esbuild/freebsd-arm64" "0.19.12" 1163 | "@esbuild/freebsd-x64" "0.19.12" 1164 | "@esbuild/linux-arm" "0.19.12" 1165 | "@esbuild/linux-arm64" "0.19.12" 1166 | "@esbuild/linux-ia32" "0.19.12" 1167 | "@esbuild/linux-loong64" "0.19.12" 1168 | "@esbuild/linux-mips64el" "0.19.12" 1169 | "@esbuild/linux-ppc64" "0.19.12" 1170 | "@esbuild/linux-riscv64" "0.19.12" 1171 | "@esbuild/linux-s390x" "0.19.12" 1172 | "@esbuild/linux-x64" "0.19.12" 1173 | "@esbuild/netbsd-x64" "0.19.12" 1174 | "@esbuild/openbsd-x64" "0.19.12" 1175 | "@esbuild/sunos-x64" "0.19.12" 1176 | "@esbuild/win32-arm64" "0.19.12" 1177 | "@esbuild/win32-ia32" "0.19.12" 1178 | "@esbuild/win32-x64" "0.19.12" 1179 | 1180 | escalade@^3.1.1: 1181 | version "3.1.2" 1182 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" 1183 | integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== 1184 | 1185 | escape-string-regexp@^1.0.5: 1186 | version "1.0.5" 1187 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1188 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 1189 | 1190 | escape-string-regexp@^4.0.0: 1191 | version "4.0.0" 1192 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 1193 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 1194 | 1195 | eslint-plugin-react-hooks@^4.6.0: 1196 | version "4.6.0" 1197 | resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" 1198 | integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== 1199 | 1200 | eslint-plugin-react-refresh@^0.4.5: 1201 | version "0.4.6" 1202 | resolved "https://registry.yarnpkg.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.6.tgz#e8e8accab681861baed00c5c12da70267db0936f" 1203 | integrity sha512-NjGXdm7zgcKRkKMua34qVO9doI7VOxZ6ancSvBELJSSoX97jyndXcSoa8XBh69JoB31dNz3EEzlMcizZl7LaMA== 1204 | 1205 | eslint-scope@^7.2.2: 1206 | version "7.2.2" 1207 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" 1208 | integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== 1209 | dependencies: 1210 | esrecurse "^4.3.0" 1211 | estraverse "^5.2.0" 1212 | 1213 | eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: 1214 | version "3.4.3" 1215 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" 1216 | integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== 1217 | 1218 | eslint@^8.57.0: 1219 | version "8.57.0" 1220 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" 1221 | integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== 1222 | dependencies: 1223 | "@eslint-community/eslint-utils" "^4.2.0" 1224 | "@eslint-community/regexpp" "^4.6.1" 1225 | "@eslint/eslintrc" "^2.1.4" 1226 | "@eslint/js" "8.57.0" 1227 | "@humanwhocodes/config-array" "^0.11.14" 1228 | "@humanwhocodes/module-importer" "^1.0.1" 1229 | "@nodelib/fs.walk" "^1.2.8" 1230 | "@ungap/structured-clone" "^1.2.0" 1231 | ajv "^6.12.4" 1232 | chalk "^4.0.0" 1233 | cross-spawn "^7.0.2" 1234 | debug "^4.3.2" 1235 | doctrine "^3.0.0" 1236 | escape-string-regexp "^4.0.0" 1237 | eslint-scope "^7.2.2" 1238 | eslint-visitor-keys "^3.4.3" 1239 | espree "^9.6.1" 1240 | esquery "^1.4.2" 1241 | esutils "^2.0.2" 1242 | fast-deep-equal "^3.1.3" 1243 | file-entry-cache "^6.0.1" 1244 | find-up "^5.0.0" 1245 | glob-parent "^6.0.2" 1246 | globals "^13.19.0" 1247 | graphemer "^1.4.0" 1248 | ignore "^5.2.0" 1249 | imurmurhash "^0.1.4" 1250 | is-glob "^4.0.0" 1251 | is-path-inside "^3.0.3" 1252 | js-yaml "^4.1.0" 1253 | json-stable-stringify-without-jsonify "^1.0.1" 1254 | levn "^0.4.1" 1255 | lodash.merge "^4.6.2" 1256 | minimatch "^3.1.2" 1257 | natural-compare "^1.4.0" 1258 | optionator "^0.9.3" 1259 | strip-ansi "^6.0.1" 1260 | text-table "^0.2.0" 1261 | 1262 | espree@^9.6.0, espree@^9.6.1: 1263 | version "9.6.1" 1264 | resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" 1265 | integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== 1266 | dependencies: 1267 | acorn "^8.9.0" 1268 | acorn-jsx "^5.3.2" 1269 | eslint-visitor-keys "^3.4.1" 1270 | 1271 | esquery@^1.4.2: 1272 | version "1.5.0" 1273 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" 1274 | integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== 1275 | dependencies: 1276 | estraverse "^5.1.0" 1277 | 1278 | esrecurse@^4.3.0: 1279 | version "4.3.0" 1280 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 1281 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 1282 | dependencies: 1283 | estraverse "^5.2.0" 1284 | 1285 | estraverse@^5.1.0, estraverse@^5.2.0: 1286 | version "5.3.0" 1287 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" 1288 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== 1289 | 1290 | esutils@^2.0.2: 1291 | version "2.0.3" 1292 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1293 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 1294 | 1295 | extendable-media-recorder-wav-encoder-broker@^7.0.97: 1296 | version "7.0.97" 1297 | resolved "https://registry.yarnpkg.com/extendable-media-recorder-wav-encoder-broker/-/extendable-media-recorder-wav-encoder-broker-7.0.97.tgz#b6d3e14bd8abd6c92a5a1995fda8308b0a93ef93" 1298 | integrity sha512-nYwYsesoVcK7yPsVK7VLStYEMUNW1sgg1TsM5gO2vO6XZIcHoNidIM+bQcDAeIFgHAdhgFkrncv6LY01O/r1eg== 1299 | dependencies: 1300 | "@babel/runtime" "^7.24.0" 1301 | broker-factory "^3.0.94" 1302 | extendable-media-recorder-wav-encoder-worker "^8.0.94" 1303 | tslib "^2.6.2" 1304 | 1305 | extendable-media-recorder-wav-encoder-worker@^8.0.94: 1306 | version "8.0.94" 1307 | resolved "https://registry.yarnpkg.com/extendable-media-recorder-wav-encoder-worker/-/extendable-media-recorder-wav-encoder-worker-8.0.94.tgz#350106fbae64e216f6b1f52304d360779c1f28ba" 1308 | integrity sha512-3osVrVTykZdrTn2GkIxzYN2DANhk/gVLyENTWa2ObiSH4VWr2K2YR4golJb9PHrbwziwELzbFC84wXw9BFRt8A== 1309 | dependencies: 1310 | "@babel/runtime" "^7.24.0" 1311 | tslib "^2.6.2" 1312 | worker-factory "^7.0.21" 1313 | 1314 | extendable-media-recorder-wav-encoder@^7.0.106: 1315 | version "7.0.106" 1316 | resolved "https://registry.yarnpkg.com/extendable-media-recorder-wav-encoder/-/extendable-media-recorder-wav-encoder-7.0.106.tgz#7d5d70123d3a2ddbdda685f08fe24011364b21e4" 1317 | integrity sha512-6xv6tNQEsfwhvP11+FCK0R3SB61Dz4oZmqxNBL0kxsYrf5tqxxSyEkvYvuBZH5Zq+uoI2ffs5nRpKa6bNWZsYQ== 1318 | dependencies: 1319 | "@babel/runtime" "^7.24.0" 1320 | extendable-media-recorder-wav-encoder-broker "^7.0.97" 1321 | extendable-media-recorder-wav-encoder-worker "^8.0.94" 1322 | tslib "^2.6.2" 1323 | 1324 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 1325 | version "3.1.3" 1326 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 1327 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 1328 | 1329 | fast-glob@^3.2.9: 1330 | version "3.3.2" 1331 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" 1332 | integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== 1333 | dependencies: 1334 | "@nodelib/fs.stat" "^2.0.2" 1335 | "@nodelib/fs.walk" "^1.2.3" 1336 | glob-parent "^5.1.2" 1337 | merge2 "^1.3.0" 1338 | micromatch "^4.0.4" 1339 | 1340 | fast-json-stable-stringify@^2.0.0: 1341 | version "2.1.0" 1342 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1343 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 1344 | 1345 | fast-levenshtein@^2.0.6: 1346 | version "2.0.6" 1347 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 1348 | integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== 1349 | 1350 | fast-unique-numbers@^9.0.1: 1351 | version "9.0.1" 1352 | resolved "https://registry.yarnpkg.com/fast-unique-numbers/-/fast-unique-numbers-9.0.1.tgz#fefd6c9d183aa7ef524248b8fbed1253c436855b" 1353 | integrity sha512-WYR7YspMPkmVcmftJYK/ISOkUIKFBJ9/3y8QLgRfsi5RXuFJirn+Z5xe1aCvX8sYq491CkdCSHhxaMStbE0W9w== 1354 | dependencies: 1355 | "@babel/runtime" "^7.24.0" 1356 | tslib "^2.6.2" 1357 | 1358 | fastq@^1.6.0: 1359 | version "1.17.1" 1360 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" 1361 | integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== 1362 | dependencies: 1363 | reusify "^1.0.4" 1364 | 1365 | file-entry-cache@^6.0.1: 1366 | version "6.0.1" 1367 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" 1368 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 1369 | dependencies: 1370 | flat-cache "^3.0.4" 1371 | 1372 | fill-range@^7.0.1: 1373 | version "7.0.1" 1374 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1375 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1376 | dependencies: 1377 | to-regex-range "^5.0.1" 1378 | 1379 | find-root@^1.1.0: 1380 | version "1.1.0" 1381 | resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" 1382 | integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== 1383 | 1384 | find-up@^5.0.0: 1385 | version "5.0.0" 1386 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 1387 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 1388 | dependencies: 1389 | locate-path "^6.0.0" 1390 | path-exists "^4.0.0" 1391 | 1392 | flat-cache@^3.0.4: 1393 | version "3.2.0" 1394 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" 1395 | integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== 1396 | dependencies: 1397 | flatted "^3.2.9" 1398 | keyv "^4.5.3" 1399 | rimraf "^3.0.2" 1400 | 1401 | flatted@^3.2.9: 1402 | version "3.3.1" 1403 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" 1404 | integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== 1405 | 1406 | fs.realpath@^1.0.0: 1407 | version "1.0.0" 1408 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1409 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 1410 | 1411 | fsevents@~2.3.2, fsevents@~2.3.3: 1412 | version "2.3.3" 1413 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" 1414 | integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== 1415 | 1416 | function-bind@^1.1.2: 1417 | version "1.1.2" 1418 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" 1419 | integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== 1420 | 1421 | gensync@^1.0.0-beta.2: 1422 | version "1.0.0-beta.2" 1423 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 1424 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 1425 | 1426 | glob-parent@^5.1.2: 1427 | version "5.1.2" 1428 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 1429 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1430 | dependencies: 1431 | is-glob "^4.0.1" 1432 | 1433 | glob-parent@^6.0.2: 1434 | version "6.0.2" 1435 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 1436 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 1437 | dependencies: 1438 | is-glob "^4.0.3" 1439 | 1440 | glob@^7.1.3: 1441 | version "7.2.3" 1442 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" 1443 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 1444 | dependencies: 1445 | fs.realpath "^1.0.0" 1446 | inflight "^1.0.4" 1447 | inherits "2" 1448 | minimatch "^3.1.1" 1449 | once "^1.3.0" 1450 | path-is-absolute "^1.0.0" 1451 | 1452 | globals@^11.1.0: 1453 | version "11.12.0" 1454 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1455 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1456 | 1457 | globals@^13.19.0: 1458 | version "13.24.0" 1459 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" 1460 | integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== 1461 | dependencies: 1462 | type-fest "^0.20.2" 1463 | 1464 | globby@^11.1.0: 1465 | version "11.1.0" 1466 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" 1467 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== 1468 | dependencies: 1469 | array-union "^2.1.0" 1470 | dir-glob "^3.0.1" 1471 | fast-glob "^3.2.9" 1472 | ignore "^5.2.0" 1473 | merge2 "^1.4.1" 1474 | slash "^3.0.0" 1475 | 1476 | graphemer@^1.4.0: 1477 | version "1.4.0" 1478 | resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" 1479 | integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== 1480 | 1481 | has-flag@^3.0.0: 1482 | version "3.0.0" 1483 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1484 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 1485 | 1486 | has-flag@^4.0.0: 1487 | version "4.0.0" 1488 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1489 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1490 | 1491 | hasown@^2.0.0: 1492 | version "2.0.2" 1493 | resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" 1494 | integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== 1495 | dependencies: 1496 | function-bind "^1.1.2" 1497 | 1498 | hoist-non-react-statics@^3.3.1: 1499 | version "3.3.2" 1500 | resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" 1501 | integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== 1502 | dependencies: 1503 | react-is "^16.7.0" 1504 | 1505 | ignore@^5.2.0, ignore@^5.2.4: 1506 | version "5.3.1" 1507 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" 1508 | integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== 1509 | 1510 | import-fresh@^3.2.1: 1511 | version "3.3.0" 1512 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 1513 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 1514 | dependencies: 1515 | parent-module "^1.0.0" 1516 | resolve-from "^4.0.0" 1517 | 1518 | imurmurhash@^0.1.4: 1519 | version "0.1.4" 1520 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1521 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== 1522 | 1523 | inflight@^1.0.4: 1524 | version "1.0.6" 1525 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1526 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 1527 | dependencies: 1528 | once "^1.3.0" 1529 | wrappy "1" 1530 | 1531 | inherits@2: 1532 | version "2.0.4" 1533 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1534 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1535 | 1536 | is-arrayish@^0.2.1: 1537 | version "0.2.1" 1538 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1539 | integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== 1540 | 1541 | is-core-module@^2.13.0: 1542 | version "2.13.1" 1543 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" 1544 | integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== 1545 | dependencies: 1546 | hasown "^2.0.0" 1547 | 1548 | is-extglob@^2.1.1: 1549 | version "2.1.1" 1550 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1551 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 1552 | 1553 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: 1554 | version "4.0.3" 1555 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 1556 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 1557 | dependencies: 1558 | is-extglob "^2.1.1" 1559 | 1560 | is-number@^7.0.0: 1561 | version "7.0.0" 1562 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1563 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1564 | 1565 | is-path-inside@^3.0.3: 1566 | version "3.0.3" 1567 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" 1568 | integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== 1569 | 1570 | isexe@^2.0.0: 1571 | version "2.0.0" 1572 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1573 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 1574 | 1575 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 1576 | version "4.0.0" 1577 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1578 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1579 | 1580 | js-yaml@^4.1.0: 1581 | version "4.1.0" 1582 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 1583 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 1584 | dependencies: 1585 | argparse "^2.0.1" 1586 | 1587 | jsesc@^2.5.1: 1588 | version "2.5.2" 1589 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1590 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1591 | 1592 | json-buffer@3.0.1: 1593 | version "3.0.1" 1594 | resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" 1595 | integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== 1596 | 1597 | json-parse-even-better-errors@^2.3.0: 1598 | version "2.3.1" 1599 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 1600 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 1601 | 1602 | json-schema-traverse@^0.4.1: 1603 | version "0.4.1" 1604 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1605 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1606 | 1607 | json-stable-stringify-without-jsonify@^1.0.1: 1608 | version "1.0.1" 1609 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 1610 | integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== 1611 | 1612 | json5@^2.2.3: 1613 | version "2.2.3" 1614 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" 1615 | integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== 1616 | 1617 | keyv@^4.5.3: 1618 | version "4.5.4" 1619 | resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" 1620 | integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== 1621 | dependencies: 1622 | json-buffer "3.0.1" 1623 | 1624 | levn@^0.4.1: 1625 | version "0.4.1" 1626 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" 1627 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 1628 | dependencies: 1629 | prelude-ls "^1.2.1" 1630 | type-check "~0.4.0" 1631 | 1632 | lines-and-columns@^1.1.6: 1633 | version "1.2.4" 1634 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" 1635 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 1636 | 1637 | locate-path@^6.0.0: 1638 | version "6.0.0" 1639 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 1640 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 1641 | dependencies: 1642 | p-locate "^5.0.0" 1643 | 1644 | lodash.merge@^4.6.2: 1645 | version "4.6.2" 1646 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" 1647 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 1648 | 1649 | loose-envify@^1.1.0, loose-envify@^1.4.0: 1650 | version "1.4.0" 1651 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 1652 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 1653 | dependencies: 1654 | js-tokens "^3.0.0 || ^4.0.0" 1655 | 1656 | lru-cache@^5.1.1: 1657 | version "5.1.1" 1658 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" 1659 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== 1660 | dependencies: 1661 | yallist "^3.0.2" 1662 | 1663 | lru-cache@^6.0.0: 1664 | version "6.0.0" 1665 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1666 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1667 | dependencies: 1668 | yallist "^4.0.0" 1669 | 1670 | merge2@^1.3.0, merge2@^1.4.1: 1671 | version "1.4.1" 1672 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 1673 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 1674 | 1675 | micromatch@^4.0.4: 1676 | version "4.0.5" 1677 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 1678 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 1679 | dependencies: 1680 | braces "^3.0.2" 1681 | picomatch "^2.3.1" 1682 | 1683 | minimatch@9.0.3: 1684 | version "9.0.3" 1685 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" 1686 | integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== 1687 | dependencies: 1688 | brace-expansion "^2.0.1" 1689 | 1690 | minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: 1691 | version "3.1.2" 1692 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 1693 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 1694 | dependencies: 1695 | brace-expansion "^1.1.7" 1696 | 1697 | ms@2.1.2: 1698 | version "2.1.2" 1699 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1700 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1701 | 1702 | nanoid@^3.3.7: 1703 | version "3.3.7" 1704 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" 1705 | integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== 1706 | 1707 | natural-compare@^1.4.0: 1708 | version "1.4.0" 1709 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 1710 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== 1711 | 1712 | node-releases@^2.0.14: 1713 | version "2.0.14" 1714 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" 1715 | integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== 1716 | 1717 | object-assign@^4.1.1: 1718 | version "4.1.1" 1719 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1720 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== 1721 | 1722 | once@^1.3.0: 1723 | version "1.4.0" 1724 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1725 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 1726 | dependencies: 1727 | wrappy "1" 1728 | 1729 | optionator@^0.9.3: 1730 | version "0.9.3" 1731 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" 1732 | integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== 1733 | dependencies: 1734 | "@aashutoshrathi/word-wrap" "^1.2.3" 1735 | deep-is "^0.1.3" 1736 | fast-levenshtein "^2.0.6" 1737 | levn "^0.4.1" 1738 | prelude-ls "^1.2.1" 1739 | type-check "^0.4.0" 1740 | 1741 | p-limit@^3.0.2: 1742 | version "3.1.0" 1743 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 1744 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 1745 | dependencies: 1746 | yocto-queue "^0.1.0" 1747 | 1748 | p-locate@^5.0.0: 1749 | version "5.0.0" 1750 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 1751 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 1752 | dependencies: 1753 | p-limit "^3.0.2" 1754 | 1755 | parent-module@^1.0.0: 1756 | version "1.0.1" 1757 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 1758 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 1759 | dependencies: 1760 | callsites "^3.0.0" 1761 | 1762 | parse-json@^5.0.0: 1763 | version "5.2.0" 1764 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 1765 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 1766 | dependencies: 1767 | "@babel/code-frame" "^7.0.0" 1768 | error-ex "^1.3.1" 1769 | json-parse-even-better-errors "^2.3.0" 1770 | lines-and-columns "^1.1.6" 1771 | 1772 | path-exists@^4.0.0: 1773 | version "4.0.0" 1774 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 1775 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 1776 | 1777 | path-is-absolute@^1.0.0: 1778 | version "1.0.1" 1779 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1780 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 1781 | 1782 | path-key@^3.1.0: 1783 | version "3.1.1" 1784 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 1785 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1786 | 1787 | path-parse@^1.0.7: 1788 | version "1.0.7" 1789 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1790 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1791 | 1792 | path-type@^4.0.0: 1793 | version "4.0.0" 1794 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 1795 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 1796 | 1797 | picocolors@^1.0.0: 1798 | version "1.0.0" 1799 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 1800 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 1801 | 1802 | picomatch@^2.3.1: 1803 | version "2.3.1" 1804 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 1805 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 1806 | 1807 | postcss@^8.4.35: 1808 | version "8.4.35" 1809 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.35.tgz#60997775689ce09011edf083a549cea44aabe2f7" 1810 | integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== 1811 | dependencies: 1812 | nanoid "^3.3.7" 1813 | picocolors "^1.0.0" 1814 | source-map-js "^1.0.2" 1815 | 1816 | prelude-ls@^1.2.1: 1817 | version "1.2.1" 1818 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 1819 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 1820 | 1821 | prettier@3.2.5: 1822 | version "3.2.5" 1823 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" 1824 | integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== 1825 | 1826 | prop-types@^15.8.1: 1827 | version "15.8.1" 1828 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" 1829 | integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== 1830 | dependencies: 1831 | loose-envify "^1.4.0" 1832 | object-assign "^4.1.1" 1833 | react-is "^16.13.1" 1834 | 1835 | punycode@^2.1.0: 1836 | version "2.3.1" 1837 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" 1838 | integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== 1839 | 1840 | queue-microtask@^1.2.2: 1841 | version "1.2.3" 1842 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 1843 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 1844 | 1845 | react-dom@^18.2.0: 1846 | version "18.2.0" 1847 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" 1848 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== 1849 | dependencies: 1850 | loose-envify "^1.1.0" 1851 | scheduler "^0.23.0" 1852 | 1853 | react-is@^16.13.1, react-is@^16.7.0: 1854 | version "16.13.1" 1855 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" 1856 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== 1857 | 1858 | react-is@^18.2.0: 1859 | version "18.2.0" 1860 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" 1861 | integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== 1862 | 1863 | react-refresh@^0.14.0: 1864 | version "0.14.0" 1865 | resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" 1866 | integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== 1867 | 1868 | react@^18.2.0: 1869 | version "18.2.0" 1870 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" 1871 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== 1872 | dependencies: 1873 | loose-envify "^1.1.0" 1874 | 1875 | regenerator-runtime@^0.14.0: 1876 | version "0.14.1" 1877 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" 1878 | integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== 1879 | 1880 | resolve-from@^4.0.0: 1881 | version "4.0.0" 1882 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 1883 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 1884 | 1885 | resolve@^1.19.0: 1886 | version "1.22.8" 1887 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" 1888 | integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== 1889 | dependencies: 1890 | is-core-module "^2.13.0" 1891 | path-parse "^1.0.7" 1892 | supports-preserve-symlinks-flag "^1.0.0" 1893 | 1894 | reusify@^1.0.4: 1895 | version "1.0.4" 1896 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 1897 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 1898 | 1899 | rimraf@^3.0.2: 1900 | version "3.0.2" 1901 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 1902 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 1903 | dependencies: 1904 | glob "^7.1.3" 1905 | 1906 | rollup@^4.2.0: 1907 | version "4.13.0" 1908 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.13.0.tgz#dd2ae144b4cdc2ea25420477f68d4937a721237a" 1909 | integrity sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg== 1910 | dependencies: 1911 | "@types/estree" "1.0.5" 1912 | optionalDependencies: 1913 | "@rollup/rollup-android-arm-eabi" "4.13.0" 1914 | "@rollup/rollup-android-arm64" "4.13.0" 1915 | "@rollup/rollup-darwin-arm64" "4.13.0" 1916 | "@rollup/rollup-darwin-x64" "4.13.0" 1917 | "@rollup/rollup-linux-arm-gnueabihf" "4.13.0" 1918 | "@rollup/rollup-linux-arm64-gnu" "4.13.0" 1919 | "@rollup/rollup-linux-arm64-musl" "4.13.0" 1920 | "@rollup/rollup-linux-riscv64-gnu" "4.13.0" 1921 | "@rollup/rollup-linux-x64-gnu" "4.13.0" 1922 | "@rollup/rollup-linux-x64-musl" "4.13.0" 1923 | "@rollup/rollup-win32-arm64-msvc" "4.13.0" 1924 | "@rollup/rollup-win32-ia32-msvc" "4.13.0" 1925 | "@rollup/rollup-win32-x64-msvc" "4.13.0" 1926 | fsevents "~2.3.2" 1927 | 1928 | run-parallel@^1.1.9: 1929 | version "1.2.0" 1930 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 1931 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 1932 | dependencies: 1933 | queue-microtask "^1.2.2" 1934 | 1935 | scheduler@^0.23.0: 1936 | version "0.23.0" 1937 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" 1938 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== 1939 | dependencies: 1940 | loose-envify "^1.1.0" 1941 | 1942 | semver@^6.3.1: 1943 | version "6.3.1" 1944 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" 1945 | integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== 1946 | 1947 | semver@^7.5.4: 1948 | version "7.6.0" 1949 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" 1950 | integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== 1951 | dependencies: 1952 | lru-cache "^6.0.0" 1953 | 1954 | shebang-command@^2.0.0: 1955 | version "2.0.0" 1956 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 1957 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1958 | dependencies: 1959 | shebang-regex "^3.0.0" 1960 | 1961 | shebang-regex@^3.0.0: 1962 | version "3.0.0" 1963 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 1964 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1965 | 1966 | slash@^3.0.0: 1967 | version "3.0.0" 1968 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 1969 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 1970 | 1971 | source-map-js@^1.0.2: 1972 | version "1.0.2" 1973 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 1974 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 1975 | 1976 | source-map@^0.5.7: 1977 | version "0.5.7" 1978 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 1979 | integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== 1980 | 1981 | strip-ansi@^6.0.1: 1982 | version "6.0.1" 1983 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 1984 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1985 | dependencies: 1986 | ansi-regex "^5.0.1" 1987 | 1988 | strip-json-comments@^3.1.1: 1989 | version "3.1.1" 1990 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 1991 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 1992 | 1993 | stylis@4.2.0: 1994 | version "4.2.0" 1995 | resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" 1996 | integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== 1997 | 1998 | supports-color@^5.3.0: 1999 | version "5.5.0" 2000 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 2001 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 2002 | dependencies: 2003 | has-flag "^3.0.0" 2004 | 2005 | supports-color@^7.1.0: 2006 | version "7.2.0" 2007 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 2008 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 2009 | dependencies: 2010 | has-flag "^4.0.0" 2011 | 2012 | supports-preserve-symlinks-flag@^1.0.0: 2013 | version "1.0.0" 2014 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 2015 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 2016 | 2017 | text-table@^0.2.0: 2018 | version "0.2.0" 2019 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 2020 | integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== 2021 | 2022 | to-fast-properties@^2.0.0: 2023 | version "2.0.0" 2024 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 2025 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== 2026 | 2027 | to-regex-range@^5.0.1: 2028 | version "5.0.1" 2029 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2030 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2031 | dependencies: 2032 | is-number "^7.0.0" 2033 | 2034 | ts-api-utils@^1.0.1: 2035 | version "1.3.0" 2036 | resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" 2037 | integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== 2038 | 2039 | tslib@^2.6.2: 2040 | version "2.6.2" 2041 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" 2042 | integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== 2043 | 2044 | type-check@^0.4.0, type-check@~0.4.0: 2045 | version "0.4.0" 2046 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" 2047 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 2048 | dependencies: 2049 | prelude-ls "^1.2.1" 2050 | 2051 | type-fest@^0.20.2: 2052 | version "0.20.2" 2053 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" 2054 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 2055 | 2056 | typescript@^5.2.2: 2057 | version "5.4.2" 2058 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.2.tgz#0ae9cebcfae970718474fe0da2c090cad6577372" 2059 | integrity sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ== 2060 | 2061 | update-browserslist-db@^1.0.13: 2062 | version "1.0.13" 2063 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" 2064 | integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== 2065 | dependencies: 2066 | escalade "^3.1.1" 2067 | picocolors "^1.0.0" 2068 | 2069 | uri-js@^4.2.2: 2070 | version "4.4.1" 2071 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 2072 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 2073 | dependencies: 2074 | punycode "^2.1.0" 2075 | 2076 | vite@^5.1.6: 2077 | version "5.1.6" 2078 | resolved "https://registry.yarnpkg.com/vite/-/vite-5.1.6.tgz#706dae5fab9e97f57578469eef1405fc483943e4" 2079 | integrity sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA== 2080 | dependencies: 2081 | esbuild "^0.19.3" 2082 | postcss "^8.4.35" 2083 | rollup "^4.2.0" 2084 | optionalDependencies: 2085 | fsevents "~2.3.3" 2086 | 2087 | which@^2.0.1: 2088 | version "2.0.2" 2089 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 2090 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2091 | dependencies: 2092 | isexe "^2.0.0" 2093 | 2094 | worker-factory@^7.0.21: 2095 | version "7.0.21" 2096 | resolved "https://registry.yarnpkg.com/worker-factory/-/worker-factory-7.0.21.tgz#7a0eca6870c6b855be7a5deffcb27aefda6727fc" 2097 | integrity sha512-zus7GQwEZy+otsDOSCyy5yEfPFNyvo9KiENojztcEEWAA0gZIjsOADn1yarlSviD2KR4fCMpfU+xKZ6GqWWCdw== 2098 | dependencies: 2099 | "@babel/runtime" "^7.24.0" 2100 | fast-unique-numbers "^9.0.1" 2101 | tslib "^2.6.2" 2102 | 2103 | wrappy@1: 2104 | version "1.0.2" 2105 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2106 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 2107 | 2108 | yallist@^3.0.2: 2109 | version "3.1.1" 2110 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" 2111 | integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== 2112 | 2113 | yallist@^4.0.0: 2114 | version "4.0.0" 2115 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 2116 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2117 | 2118 | yaml@^1.10.0: 2119 | version "1.10.2" 2120 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 2121 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 2122 | 2123 | yocto-queue@^0.1.0: 2124 | version "0.1.0" 2125 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 2126 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 2127 | --------------------------------------------------------------------------------