├── .editorconfig ├── .github └── workflows │ └── CI.yml ├── .gitignore ├── .prettierrc.json ├── LICENSE ├── README.md ├── index.html ├── package.json ├── pnpm-lock.yaml ├── public └── favicon.ico ├── src ├── App.svelte ├── ConfigJson.svelte ├── DragDropList.svelte ├── FileInput.svelte ├── GlobalControl.svelte ├── HelpText.svelte ├── LoadList.svelte ├── LoadListItemEditor.svelte ├── Switches.svelte ├── index.ts ├── lang │ ├── en-US.json │ └── zh-CN.json ├── loadListEdit │ ├── Elyby.svelte │ ├── JsonAPI.svelte │ ├── Legacy.svelte │ └── Mojang.svelte └── styles.css ├── svelte.config.js ├── tsconfig.json ├── types.d.ts └── vite.config.ts /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | -------------------------------------------------------------------------------- /.github/workflows/CI.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | test: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - uses: actions/checkout@v3 10 | - uses: pnpm/action-setup@v2.4.0 11 | with: 12 | version: 8.6.10 13 | run_install: true 14 | - run: pnpm test 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | node_modules 3 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "singleQuote": true, 4 | "trailingComma": "es5" 5 | } 6 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017-present The Blessing Skin Team 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CustomSkinLoader GUI 2 | 3 | [![Netlify Status](https://api.netlify.com/api/v1/badges/889914d5-9778-4820-a6cc-5497f99cc94c/deploy-status)](https://app.netlify.com/sites/mc-csl/deploys) 4 | 5 | Online CustomSkinLoader configuration editor. 6 | 7 | [Visit here!](https://mc-csl.netlify.app/) 8 | 9 | If some new configuration options from later CustomSkinLoader version are missing, 10 | please open an issue to let us know! 11 | 12 | ## Features 13 | 14 | - Open an existing local configuration then edit it. 15 | - Copy the JSON or download JSON file. 16 | 17 | ## Contributing 18 | 19 | We use [pnpm](https://pnpm.js.org/) to manage our dependencies. 20 | Please use pnpm to install dependencies. 21 | 22 | We're using [Svelte](https://svelte.dev/) as front-end framework. 23 | 24 | UI framework is [Shoelace](https://shoelace.style/), 25 | which is a Web Components library. 26 | 27 | ## License 28 | 29 | MIT License 30 | 31 | 2017-present (c) The Blessing Skin Team 32 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 11 | CustomSkinLoader GUI 12 | 16 | 20 | 21 | 26 | 31 | 32 | 33 | 34 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "license": "MIT", 4 | "type": "module", 5 | "packageManager": "pnpm@8.6.10", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "vite build", 9 | "test": "tsc -p . && svelte-check && prettier --check --plugin=prettier-plugin-svelte src", 10 | "fmt": "prettier --write --plugin=prettier-plugin-svelte src" 11 | }, 12 | "dependencies": { 13 | "@shoelace-style/shoelace": "^2.6.0", 14 | "highlight.js": "^11.8.0", 15 | "svelte": "^4.1.2", 16 | "svelte-dnd-action": "^0.9.24", 17 | "svelte-i18n": "^3.7.0" 18 | }, 19 | "devDependencies": { 20 | "@gplane/tsconfig": "^6.0.0", 21 | "@sveltejs/vite-plugin-svelte": "^2.4.3", 22 | "prettier": "^3.0.1", 23 | "prettier-plugin-svelte": "^3.0.3", 24 | "svelte-check": "^3.4.6", 25 | "svelte-hmr": "^0.15.2", 26 | "svelte-preprocess": "^5.0.4", 27 | "typescript": "^5.1.6", 28 | "vite": "^4.4.8" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | dependencies: 8 | '@shoelace-style/shoelace': 9 | specifier: ^2.6.0 10 | version: 2.6.0 11 | highlight.js: 12 | specifier: ^11.8.0 13 | version: 11.8.0 14 | svelte: 15 | specifier: ^4.1.2 16 | version: 4.1.2 17 | svelte-dnd-action: 18 | specifier: ^0.9.24 19 | version: 0.9.24(svelte@4.1.2) 20 | svelte-i18n: 21 | specifier: ^3.7.0 22 | version: 3.7.0(svelte@4.1.2) 23 | 24 | devDependencies: 25 | '@gplane/tsconfig': 26 | specifier: ^6.0.0 27 | version: 6.0.0 28 | '@sveltejs/vite-plugin-svelte': 29 | specifier: ^2.4.3 30 | version: 2.4.3(svelte@4.1.2)(vite@4.4.8) 31 | prettier: 32 | specifier: ^3.0.1 33 | version: 3.0.1 34 | prettier-plugin-svelte: 35 | specifier: ^3.0.3 36 | version: 3.0.3(prettier@3.0.1)(svelte@4.1.2) 37 | svelte-check: 38 | specifier: ^3.4.6 39 | version: 3.4.6(svelte@4.1.2) 40 | svelte-hmr: 41 | specifier: ^0.15.2 42 | version: 0.15.2(svelte@4.1.2) 43 | svelte-preprocess: 44 | specifier: ^5.0.4 45 | version: 5.0.4(svelte@4.1.2)(typescript@5.1.6) 46 | typescript: 47 | specifier: ^5.1.6 48 | version: 5.1.6 49 | vite: 50 | specifier: ^4.4.8 51 | version: 4.4.8 52 | 53 | packages: 54 | 55 | /@ampproject/remapping@2.2.1: 56 | resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} 57 | engines: {node: '>=6.0.0'} 58 | dependencies: 59 | '@jridgewell/gen-mapping': 0.3.3 60 | '@jridgewell/trace-mapping': 0.3.18 61 | 62 | /@ctrl/tinycolor@3.6.0: 63 | resolution: {integrity: sha512-/Z3l6pXthq0JvMYdUFyX9j0MaCltlIn6mfh9jLyQwg5aPKxkyNa0PTHtU1AlFXLNk55ZuAeJRcpvq+tmLfKmaQ==} 64 | engines: {node: '>=10'} 65 | dev: false 66 | 67 | /@esbuild/android-arm64@0.18.17: 68 | resolution: {integrity: sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==} 69 | engines: {node: '>=12'} 70 | cpu: [arm64] 71 | os: [android] 72 | requiresBuild: true 73 | dev: true 74 | optional: true 75 | 76 | /@esbuild/android-arm@0.18.17: 77 | resolution: {integrity: sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==} 78 | engines: {node: '>=12'} 79 | cpu: [arm] 80 | os: [android] 81 | requiresBuild: true 82 | dev: true 83 | optional: true 84 | 85 | /@esbuild/android-x64@0.18.17: 86 | resolution: {integrity: sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==} 87 | engines: {node: '>=12'} 88 | cpu: [x64] 89 | os: [android] 90 | requiresBuild: true 91 | dev: true 92 | optional: true 93 | 94 | /@esbuild/darwin-arm64@0.18.17: 95 | resolution: {integrity: sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==} 96 | engines: {node: '>=12'} 97 | cpu: [arm64] 98 | os: [darwin] 99 | requiresBuild: true 100 | dev: true 101 | optional: true 102 | 103 | /@esbuild/darwin-x64@0.18.17: 104 | resolution: {integrity: sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==} 105 | engines: {node: '>=12'} 106 | cpu: [x64] 107 | os: [darwin] 108 | requiresBuild: true 109 | dev: true 110 | optional: true 111 | 112 | /@esbuild/freebsd-arm64@0.18.17: 113 | resolution: {integrity: sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==} 114 | engines: {node: '>=12'} 115 | cpu: [arm64] 116 | os: [freebsd] 117 | requiresBuild: true 118 | dev: true 119 | optional: true 120 | 121 | /@esbuild/freebsd-x64@0.18.17: 122 | resolution: {integrity: sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==} 123 | engines: {node: '>=12'} 124 | cpu: [x64] 125 | os: [freebsd] 126 | requiresBuild: true 127 | dev: true 128 | optional: true 129 | 130 | /@esbuild/linux-arm64@0.18.17: 131 | resolution: {integrity: sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==} 132 | engines: {node: '>=12'} 133 | cpu: [arm64] 134 | os: [linux] 135 | requiresBuild: true 136 | dev: true 137 | optional: true 138 | 139 | /@esbuild/linux-arm@0.18.17: 140 | resolution: {integrity: sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==} 141 | engines: {node: '>=12'} 142 | cpu: [arm] 143 | os: [linux] 144 | requiresBuild: true 145 | dev: true 146 | optional: true 147 | 148 | /@esbuild/linux-ia32@0.18.17: 149 | resolution: {integrity: sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==} 150 | engines: {node: '>=12'} 151 | cpu: [ia32] 152 | os: [linux] 153 | requiresBuild: true 154 | dev: true 155 | optional: true 156 | 157 | /@esbuild/linux-loong64@0.18.17: 158 | resolution: {integrity: sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==} 159 | engines: {node: '>=12'} 160 | cpu: [loong64] 161 | os: [linux] 162 | requiresBuild: true 163 | dev: true 164 | optional: true 165 | 166 | /@esbuild/linux-mips64el@0.18.17: 167 | resolution: {integrity: sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==} 168 | engines: {node: '>=12'} 169 | cpu: [mips64el] 170 | os: [linux] 171 | requiresBuild: true 172 | dev: true 173 | optional: true 174 | 175 | /@esbuild/linux-ppc64@0.18.17: 176 | resolution: {integrity: sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==} 177 | engines: {node: '>=12'} 178 | cpu: [ppc64] 179 | os: [linux] 180 | requiresBuild: true 181 | dev: true 182 | optional: true 183 | 184 | /@esbuild/linux-riscv64@0.18.17: 185 | resolution: {integrity: sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==} 186 | engines: {node: '>=12'} 187 | cpu: [riscv64] 188 | os: [linux] 189 | requiresBuild: true 190 | dev: true 191 | optional: true 192 | 193 | /@esbuild/linux-s390x@0.18.17: 194 | resolution: {integrity: sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==} 195 | engines: {node: '>=12'} 196 | cpu: [s390x] 197 | os: [linux] 198 | requiresBuild: true 199 | dev: true 200 | optional: true 201 | 202 | /@esbuild/linux-x64@0.18.17: 203 | resolution: {integrity: sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==} 204 | engines: {node: '>=12'} 205 | cpu: [x64] 206 | os: [linux] 207 | requiresBuild: true 208 | dev: true 209 | optional: true 210 | 211 | /@esbuild/netbsd-x64@0.18.17: 212 | resolution: {integrity: sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==} 213 | engines: {node: '>=12'} 214 | cpu: [x64] 215 | os: [netbsd] 216 | requiresBuild: true 217 | dev: true 218 | optional: true 219 | 220 | /@esbuild/openbsd-x64@0.18.17: 221 | resolution: {integrity: sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==} 222 | engines: {node: '>=12'} 223 | cpu: [x64] 224 | os: [openbsd] 225 | requiresBuild: true 226 | dev: true 227 | optional: true 228 | 229 | /@esbuild/sunos-x64@0.18.17: 230 | resolution: {integrity: sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==} 231 | engines: {node: '>=12'} 232 | cpu: [x64] 233 | os: [sunos] 234 | requiresBuild: true 235 | dev: true 236 | optional: true 237 | 238 | /@esbuild/win32-arm64@0.18.17: 239 | resolution: {integrity: sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==} 240 | engines: {node: '>=12'} 241 | cpu: [arm64] 242 | os: [win32] 243 | requiresBuild: true 244 | dev: true 245 | optional: true 246 | 247 | /@esbuild/win32-ia32@0.18.17: 248 | resolution: {integrity: sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==} 249 | engines: {node: '>=12'} 250 | cpu: [ia32] 251 | os: [win32] 252 | requiresBuild: true 253 | dev: true 254 | optional: true 255 | 256 | /@esbuild/win32-x64@0.18.17: 257 | resolution: {integrity: sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==} 258 | engines: {node: '>=12'} 259 | cpu: [x64] 260 | os: [win32] 261 | requiresBuild: true 262 | dev: true 263 | optional: true 264 | 265 | /@floating-ui/core@1.4.1: 266 | resolution: {integrity: sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==} 267 | dependencies: 268 | '@floating-ui/utils': 0.1.1 269 | dev: false 270 | 271 | /@floating-ui/dom@1.5.1: 272 | resolution: {integrity: sha512-KwvVcPSXg6mQygvA1TjbN/gh///36kKtllIF8SUm0qpFj8+rvYrpvlYdL1JoA71SHpDqgSSdGOSoQ0Mp3uY5aw==} 273 | dependencies: 274 | '@floating-ui/core': 1.4.1 275 | '@floating-ui/utils': 0.1.1 276 | dev: false 277 | 278 | /@floating-ui/utils@0.1.1: 279 | resolution: {integrity: sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw==} 280 | dev: false 281 | 282 | /@formatjs/ecma402-abstract@1.11.4: 283 | resolution: {integrity: sha512-EBikYFp2JCdIfGEb5G9dyCkTGDmC57KSHhRQOC3aYxoPWVZvfWCDjZwkGYHN7Lis/fmuWl906bnNTJifDQ3sXw==} 284 | dependencies: 285 | '@formatjs/intl-localematcher': 0.2.25 286 | tslib: 2.6.1 287 | dev: false 288 | 289 | /@formatjs/fast-memoize@1.2.1: 290 | resolution: {integrity: sha512-Rg0e76nomkz3vF9IPlKeV+Qynok0r7YZjL6syLz4/urSg0IbjPZCB/iYUMNsYA643gh4mgrX3T7KEIFIxJBQeg==} 291 | dependencies: 292 | tslib: 2.6.1 293 | dev: false 294 | 295 | /@formatjs/icu-messageformat-parser@2.1.0: 296 | resolution: {integrity: sha512-Qxv/lmCN6hKpBSss2uQ8IROVnta2r9jd3ymUEIjm2UyIkUCHVcbUVRGL/KS/wv7876edvsPe+hjHVJ4z8YuVaw==} 297 | dependencies: 298 | '@formatjs/ecma402-abstract': 1.11.4 299 | '@formatjs/icu-skeleton-parser': 1.3.6 300 | tslib: 2.6.1 301 | dev: false 302 | 303 | /@formatjs/icu-skeleton-parser@1.3.6: 304 | resolution: {integrity: sha512-I96mOxvml/YLrwU2Txnd4klA7V8fRhb6JG/4hm3VMNmeJo1F03IpV2L3wWt7EweqNLES59SZ4d6hVOPCSf80Bg==} 305 | dependencies: 306 | '@formatjs/ecma402-abstract': 1.11.4 307 | tslib: 2.6.1 308 | dev: false 309 | 310 | /@formatjs/intl-localematcher@0.2.25: 311 | resolution: {integrity: sha512-YmLcX70BxoSopLFdLr1Ds99NdlTI2oWoLbaUW2M406lxOIPzE1KQhRz2fPUkq34xVZQaihCoU29h0KK7An3bhA==} 312 | dependencies: 313 | tslib: 2.6.1 314 | dev: false 315 | 316 | /@gplane/tsconfig@6.0.0: 317 | resolution: {integrity: sha512-K61z8tl3I5tR66MJoGoBCY1y950fybDfPol7uzcg/YPilretE0bl41GOOX0BpRbblYLOWzSJvdqlimzjAfryog==} 318 | dev: true 319 | 320 | /@jridgewell/gen-mapping@0.3.3: 321 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} 322 | engines: {node: '>=6.0.0'} 323 | dependencies: 324 | '@jridgewell/set-array': 1.1.2 325 | '@jridgewell/sourcemap-codec': 1.4.15 326 | '@jridgewell/trace-mapping': 0.3.18 327 | 328 | /@jridgewell/resolve-uri@3.1.0: 329 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} 330 | engines: {node: '>=6.0.0'} 331 | 332 | /@jridgewell/set-array@1.1.2: 333 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} 334 | engines: {node: '>=6.0.0'} 335 | 336 | /@jridgewell/sourcemap-codec@1.4.14: 337 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} 338 | 339 | /@jridgewell/sourcemap-codec@1.4.15: 340 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 341 | 342 | /@jridgewell/trace-mapping@0.3.18: 343 | resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} 344 | dependencies: 345 | '@jridgewell/resolve-uri': 3.1.0 346 | '@jridgewell/sourcemap-codec': 1.4.14 347 | 348 | /@lit-labs/react@1.2.1: 349 | resolution: {integrity: sha512-DiZdJYFU0tBbdQkfwwRSwYyI/mcWkg3sWesKRsHUd4G+NekTmmeq9fzsurvcKTNVa0comNljwtg4Hvi1ds3V+A==} 350 | dev: false 351 | 352 | /@lit-labs/ssr-dom-shim@1.1.1: 353 | resolution: {integrity: sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==} 354 | dev: false 355 | 356 | /@lit/reactive-element@1.6.3: 357 | resolution: {integrity: sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==} 358 | dependencies: 359 | '@lit-labs/ssr-dom-shim': 1.1.1 360 | dev: false 361 | 362 | /@nodelib/fs.scandir@2.1.5: 363 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 364 | engines: {node: '>= 8'} 365 | dependencies: 366 | '@nodelib/fs.stat': 2.0.5 367 | run-parallel: 1.2.0 368 | dev: true 369 | 370 | /@nodelib/fs.stat@2.0.5: 371 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 372 | engines: {node: '>= 8'} 373 | dev: true 374 | 375 | /@nodelib/fs.walk@1.2.8: 376 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 377 | engines: {node: '>= 8'} 378 | dependencies: 379 | '@nodelib/fs.scandir': 2.1.5 380 | fastq: 1.15.0 381 | dev: true 382 | 383 | /@shoelace-style/animations@1.1.0: 384 | resolution: {integrity: sha512-Be+cahtZyI2dPKRm8EZSx3YJQ+jLvEcn3xzRP7tM4tqBnvd/eW/64Xh0iOf0t2w5P8iJKfdBbpVNE9naCaOf2g==} 385 | dev: false 386 | 387 | /@shoelace-style/localize@3.1.1: 388 | resolution: {integrity: sha512-NkM/hj3Js6yXCU9WxhsyxRUdyqUUUl/BSvIluUMptQteUWGOJaoyP1iMbOMqO544DYMzBfnoCw66ZHkGuTdKgA==} 389 | dev: false 390 | 391 | /@shoelace-style/shoelace@2.6.0: 392 | resolution: {integrity: sha512-Pa5Ll8GkFHtttES1FuFpkJ5pbUdlCAn86LVlU94pRHzqYNI81wQQzckkXPT+8aHCMSlfcr+t9RhaFY62T4iU+w==} 393 | engines: {node: '>=14.17.0'} 394 | dependencies: 395 | '@ctrl/tinycolor': 3.6.0 396 | '@floating-ui/dom': 1.5.1 397 | '@lit-labs/react': 1.2.1 398 | '@shoelace-style/animations': 1.1.0 399 | '@shoelace-style/localize': 3.1.1 400 | composed-offset-position: 0.0.4 401 | lit: 2.8.0 402 | qr-creator: 1.0.0 403 | dev: false 404 | 405 | /@sveltejs/vite-plugin-svelte-inspector@1.0.3(@sveltejs/vite-plugin-svelte@2.4.3)(svelte@4.1.2)(vite@4.4.8): 406 | resolution: {integrity: sha512-Khdl5jmmPN6SUsVuqSXatKpQTMIifoQPDanaxC84m9JxIibWvSABJyHpyys0Z+1yYrxY5TTEQm+6elh0XCMaOA==} 407 | engines: {node: ^14.18.0 || >= 16} 408 | peerDependencies: 409 | '@sveltejs/vite-plugin-svelte': ^2.2.0 410 | svelte: ^3.54.0 || ^4.0.0 411 | vite: ^4.0.0 412 | dependencies: 413 | '@sveltejs/vite-plugin-svelte': 2.4.3(svelte@4.1.2)(vite@4.4.8) 414 | debug: 4.3.4 415 | svelte: 4.1.2 416 | vite: 4.4.8 417 | transitivePeerDependencies: 418 | - supports-color 419 | dev: true 420 | 421 | /@sveltejs/vite-plugin-svelte@2.4.3(svelte@4.1.2)(vite@4.4.8): 422 | resolution: {integrity: sha512-NY2h+B54KHZO3kDURTdARqthn6D4YSIebtfW75NvZ/fwyk4G+AJw3V/i0OBjyN4406Ht9yZcnNWMuRUFnDNNiA==} 423 | engines: {node: ^14.18.0 || >= 16} 424 | peerDependencies: 425 | svelte: ^3.54.0 || ^4.0.0 426 | vite: ^4.0.0 427 | dependencies: 428 | '@sveltejs/vite-plugin-svelte-inspector': 1.0.3(@sveltejs/vite-plugin-svelte@2.4.3)(svelte@4.1.2)(vite@4.4.8) 429 | debug: 4.3.4 430 | deepmerge: 4.3.1 431 | kleur: 4.1.5 432 | magic-string: 0.30.2 433 | svelte: 4.1.2 434 | svelte-hmr: 0.15.2(svelte@4.1.2) 435 | vite: 4.4.8 436 | vitefu: 0.2.4(vite@4.4.8) 437 | transitivePeerDependencies: 438 | - supports-color 439 | dev: true 440 | 441 | /@types/estree@1.0.1: 442 | resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} 443 | 444 | /@types/pug@2.0.6: 445 | resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} 446 | dev: true 447 | 448 | /@types/trusted-types@2.0.3: 449 | resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==} 450 | dev: false 451 | 452 | /acorn@8.10.0: 453 | resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} 454 | engines: {node: '>=0.4.0'} 455 | hasBin: true 456 | 457 | /anymatch@3.1.3: 458 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 459 | engines: {node: '>= 8'} 460 | dependencies: 461 | normalize-path: 3.0.0 462 | picomatch: 2.3.1 463 | dev: true 464 | 465 | /aria-query@5.3.0: 466 | resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} 467 | dependencies: 468 | dequal: 2.0.3 469 | 470 | /axobject-query@3.2.1: 471 | resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} 472 | dependencies: 473 | dequal: 2.0.3 474 | 475 | /balanced-match@1.0.2: 476 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 477 | dev: true 478 | 479 | /binary-extensions@2.2.0: 480 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 481 | engines: {node: '>=8'} 482 | dev: true 483 | 484 | /brace-expansion@1.1.11: 485 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 486 | dependencies: 487 | balanced-match: 1.0.2 488 | concat-map: 0.0.1 489 | dev: true 490 | 491 | /braces@3.0.2: 492 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 493 | engines: {node: '>=8'} 494 | dependencies: 495 | fill-range: 7.0.1 496 | dev: true 497 | 498 | /buffer-crc32@0.2.13: 499 | resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} 500 | dev: true 501 | 502 | /callsites@3.1.0: 503 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 504 | engines: {node: '>=6'} 505 | dev: true 506 | 507 | /chokidar@3.5.3: 508 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 509 | engines: {node: '>= 8.10.0'} 510 | dependencies: 511 | anymatch: 3.1.3 512 | braces: 3.0.2 513 | glob-parent: 5.1.2 514 | is-binary-path: 2.1.0 515 | is-glob: 4.0.3 516 | normalize-path: 3.0.0 517 | readdirp: 3.6.0 518 | optionalDependencies: 519 | fsevents: 2.3.2 520 | dev: true 521 | 522 | /cli-color@2.0.3: 523 | resolution: {integrity: sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==} 524 | engines: {node: '>=0.10'} 525 | dependencies: 526 | d: 1.0.1 527 | es5-ext: 0.10.62 528 | es6-iterator: 2.0.3 529 | memoizee: 0.4.15 530 | timers-ext: 0.1.7 531 | dev: false 532 | 533 | /code-red@1.0.3: 534 | resolution: {integrity: sha512-kVwJELqiILQyG5aeuyKFbdsI1fmQy1Cmf7dQ8eGmVuJoaRVdwey7WaMknr2ZFeVSYSKT0rExsa8EGw0aoI/1QQ==} 535 | dependencies: 536 | '@jridgewell/sourcemap-codec': 1.4.15 537 | '@types/estree': 1.0.1 538 | acorn: 8.10.0 539 | estree-walker: 3.0.3 540 | periscopic: 3.1.0 541 | 542 | /composed-offset-position@0.0.4: 543 | resolution: {integrity: sha512-vMlvu1RuNegVE0YsCDSV/X4X10j56mq7PCIyOKK74FxkXzGLwhOUmdkJLSdOBOMwWycobGUMgft2lp+YgTe8hw==} 544 | dev: false 545 | 546 | /concat-map@0.0.1: 547 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 548 | dev: true 549 | 550 | /css-tree@2.3.1: 551 | resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} 552 | engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} 553 | dependencies: 554 | mdn-data: 2.0.30 555 | source-map-js: 1.0.2 556 | 557 | /d@1.0.1: 558 | resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} 559 | dependencies: 560 | es5-ext: 0.10.62 561 | type: 1.2.0 562 | dev: false 563 | 564 | /debug@4.3.4: 565 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 566 | engines: {node: '>=6.0'} 567 | peerDependencies: 568 | supports-color: '*' 569 | peerDependenciesMeta: 570 | supports-color: 571 | optional: true 572 | dependencies: 573 | ms: 2.1.2 574 | dev: true 575 | 576 | /deepmerge@4.3.1: 577 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 578 | engines: {node: '>=0.10.0'} 579 | 580 | /dequal@2.0.3: 581 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 582 | engines: {node: '>=6'} 583 | 584 | /detect-indent@6.1.0: 585 | resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} 586 | engines: {node: '>=8'} 587 | dev: true 588 | 589 | /es5-ext@0.10.62: 590 | resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==} 591 | engines: {node: '>=0.10'} 592 | requiresBuild: true 593 | dependencies: 594 | es6-iterator: 2.0.3 595 | es6-symbol: 3.1.3 596 | next-tick: 1.1.0 597 | dev: false 598 | 599 | /es6-iterator@2.0.3: 600 | resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} 601 | dependencies: 602 | d: 1.0.1 603 | es5-ext: 0.10.62 604 | es6-symbol: 3.1.3 605 | dev: false 606 | 607 | /es6-promise@3.3.1: 608 | resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} 609 | dev: true 610 | 611 | /es6-symbol@3.1.3: 612 | resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==} 613 | dependencies: 614 | d: 1.0.1 615 | ext: 1.7.0 616 | dev: false 617 | 618 | /es6-weak-map@2.0.3: 619 | resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} 620 | dependencies: 621 | d: 1.0.1 622 | es5-ext: 0.10.62 623 | es6-iterator: 2.0.3 624 | es6-symbol: 3.1.3 625 | dev: false 626 | 627 | /esbuild@0.18.17: 628 | resolution: {integrity: sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==} 629 | engines: {node: '>=12'} 630 | hasBin: true 631 | requiresBuild: true 632 | optionalDependencies: 633 | '@esbuild/android-arm': 0.18.17 634 | '@esbuild/android-arm64': 0.18.17 635 | '@esbuild/android-x64': 0.18.17 636 | '@esbuild/darwin-arm64': 0.18.17 637 | '@esbuild/darwin-x64': 0.18.17 638 | '@esbuild/freebsd-arm64': 0.18.17 639 | '@esbuild/freebsd-x64': 0.18.17 640 | '@esbuild/linux-arm': 0.18.17 641 | '@esbuild/linux-arm64': 0.18.17 642 | '@esbuild/linux-ia32': 0.18.17 643 | '@esbuild/linux-loong64': 0.18.17 644 | '@esbuild/linux-mips64el': 0.18.17 645 | '@esbuild/linux-ppc64': 0.18.17 646 | '@esbuild/linux-riscv64': 0.18.17 647 | '@esbuild/linux-s390x': 0.18.17 648 | '@esbuild/linux-x64': 0.18.17 649 | '@esbuild/netbsd-x64': 0.18.17 650 | '@esbuild/openbsd-x64': 0.18.17 651 | '@esbuild/sunos-x64': 0.18.17 652 | '@esbuild/win32-arm64': 0.18.17 653 | '@esbuild/win32-ia32': 0.18.17 654 | '@esbuild/win32-x64': 0.18.17 655 | dev: true 656 | 657 | /estree-walker@2.0.2: 658 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 659 | dev: false 660 | 661 | /estree-walker@3.0.3: 662 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 663 | dependencies: 664 | '@types/estree': 1.0.1 665 | 666 | /event-emitter@0.3.5: 667 | resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} 668 | dependencies: 669 | d: 1.0.1 670 | es5-ext: 0.10.62 671 | dev: false 672 | 673 | /ext@1.7.0: 674 | resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} 675 | dependencies: 676 | type: 2.7.2 677 | dev: false 678 | 679 | /fast-glob@3.3.1: 680 | resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} 681 | engines: {node: '>=8.6.0'} 682 | dependencies: 683 | '@nodelib/fs.stat': 2.0.5 684 | '@nodelib/fs.walk': 1.2.8 685 | glob-parent: 5.1.2 686 | merge2: 1.4.1 687 | micromatch: 4.0.5 688 | dev: true 689 | 690 | /fastq@1.15.0: 691 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 692 | dependencies: 693 | reusify: 1.0.4 694 | dev: true 695 | 696 | /fill-range@7.0.1: 697 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 698 | engines: {node: '>=8'} 699 | dependencies: 700 | to-regex-range: 5.0.1 701 | dev: true 702 | 703 | /fs.realpath@1.0.0: 704 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 705 | dev: true 706 | 707 | /fsevents@2.3.2: 708 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 709 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 710 | os: [darwin] 711 | requiresBuild: true 712 | dev: true 713 | optional: true 714 | 715 | /glob-parent@5.1.2: 716 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 717 | engines: {node: '>= 6'} 718 | dependencies: 719 | is-glob: 4.0.3 720 | dev: true 721 | 722 | /glob@7.2.3: 723 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 724 | dependencies: 725 | fs.realpath: 1.0.0 726 | inflight: 1.0.6 727 | inherits: 2.0.4 728 | minimatch: 3.1.2 729 | once: 1.4.0 730 | path-is-absolute: 1.0.1 731 | dev: true 732 | 733 | /globalyzer@0.1.0: 734 | resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} 735 | dev: false 736 | 737 | /globrex@0.1.2: 738 | resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} 739 | dev: false 740 | 741 | /graceful-fs@4.2.11: 742 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 743 | dev: true 744 | 745 | /highlight.js@11.8.0: 746 | resolution: {integrity: sha512-MedQhoqVdr0U6SSnWPzfiadUcDHfN/Wzq25AkXiQv9oiOO/sG0S7XkvpFIqWBl9Yq1UYyYOOVORs5UW2XlPyzg==} 747 | engines: {node: '>=12.0.0'} 748 | dev: false 749 | 750 | /import-fresh@3.3.0: 751 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 752 | engines: {node: '>=6'} 753 | dependencies: 754 | parent-module: 1.0.1 755 | resolve-from: 4.0.0 756 | dev: true 757 | 758 | /inflight@1.0.6: 759 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 760 | dependencies: 761 | once: 1.4.0 762 | wrappy: 1.0.2 763 | dev: true 764 | 765 | /inherits@2.0.4: 766 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 767 | dev: true 768 | 769 | /intl-messageformat@9.13.0: 770 | resolution: {integrity: sha512-7sGC7QnSQGa5LZP7bXLDhVDtQOeKGeBFGHF2Y8LVBwYZoQZCgWeKoPGTa5GMG8g/TzDgeXuYJQis7Ggiw2xTOw==} 771 | dependencies: 772 | '@formatjs/ecma402-abstract': 1.11.4 773 | '@formatjs/fast-memoize': 1.2.1 774 | '@formatjs/icu-messageformat-parser': 2.1.0 775 | tslib: 2.6.1 776 | dev: false 777 | 778 | /is-binary-path@2.1.0: 779 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 780 | engines: {node: '>=8'} 781 | dependencies: 782 | binary-extensions: 2.2.0 783 | dev: true 784 | 785 | /is-extglob@2.1.1: 786 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 787 | engines: {node: '>=0.10.0'} 788 | dev: true 789 | 790 | /is-glob@4.0.3: 791 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 792 | engines: {node: '>=0.10.0'} 793 | dependencies: 794 | is-extglob: 2.1.1 795 | dev: true 796 | 797 | /is-number@7.0.0: 798 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 799 | engines: {node: '>=0.12.0'} 800 | dev: true 801 | 802 | /is-promise@2.2.2: 803 | resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} 804 | dev: false 805 | 806 | /is-reference@3.0.1: 807 | resolution: {integrity: sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==} 808 | dependencies: 809 | '@types/estree': 1.0.1 810 | 811 | /kleur@4.1.5: 812 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} 813 | engines: {node: '>=6'} 814 | dev: true 815 | 816 | /lit-element@3.3.3: 817 | resolution: {integrity: sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==} 818 | dependencies: 819 | '@lit-labs/ssr-dom-shim': 1.1.1 820 | '@lit/reactive-element': 1.6.3 821 | lit-html: 2.8.0 822 | dev: false 823 | 824 | /lit-html@2.8.0: 825 | resolution: {integrity: sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==} 826 | dependencies: 827 | '@types/trusted-types': 2.0.3 828 | dev: false 829 | 830 | /lit@2.8.0: 831 | resolution: {integrity: sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==} 832 | dependencies: 833 | '@lit/reactive-element': 1.6.3 834 | lit-element: 3.3.3 835 | lit-html: 2.8.0 836 | dev: false 837 | 838 | /locate-character@3.0.0: 839 | resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} 840 | 841 | /lru-queue@0.1.0: 842 | resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} 843 | dependencies: 844 | es5-ext: 0.10.62 845 | dev: false 846 | 847 | /magic-string@0.27.0: 848 | resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} 849 | engines: {node: '>=12'} 850 | dependencies: 851 | '@jridgewell/sourcemap-codec': 1.4.15 852 | dev: true 853 | 854 | /magic-string@0.30.2: 855 | resolution: {integrity: sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==} 856 | engines: {node: '>=12'} 857 | dependencies: 858 | '@jridgewell/sourcemap-codec': 1.4.15 859 | 860 | /mdn-data@2.0.30: 861 | resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} 862 | 863 | /memoizee@0.4.15: 864 | resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==} 865 | dependencies: 866 | d: 1.0.1 867 | es5-ext: 0.10.62 868 | es6-weak-map: 2.0.3 869 | event-emitter: 0.3.5 870 | is-promise: 2.2.2 871 | lru-queue: 0.1.0 872 | next-tick: 1.1.0 873 | timers-ext: 0.1.7 874 | dev: false 875 | 876 | /merge2@1.4.1: 877 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 878 | engines: {node: '>= 8'} 879 | dev: true 880 | 881 | /micromatch@4.0.5: 882 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 883 | engines: {node: '>=8.6'} 884 | dependencies: 885 | braces: 3.0.2 886 | picomatch: 2.3.1 887 | dev: true 888 | 889 | /min-indent@1.0.1: 890 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} 891 | engines: {node: '>=4'} 892 | dev: true 893 | 894 | /minimatch@3.1.2: 895 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 896 | dependencies: 897 | brace-expansion: 1.1.11 898 | dev: true 899 | 900 | /minimist@1.2.8: 901 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 902 | dev: true 903 | 904 | /mkdirp@0.5.6: 905 | resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} 906 | hasBin: true 907 | dependencies: 908 | minimist: 1.2.8 909 | dev: true 910 | 911 | /mri@1.2.0: 912 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} 913 | engines: {node: '>=4'} 914 | 915 | /ms@2.1.2: 916 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 917 | dev: true 918 | 919 | /nanoid@3.3.6: 920 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} 921 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 922 | hasBin: true 923 | dev: true 924 | 925 | /next-tick@1.1.0: 926 | resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} 927 | dev: false 928 | 929 | /normalize-path@3.0.0: 930 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 931 | engines: {node: '>=0.10.0'} 932 | dev: true 933 | 934 | /once@1.4.0: 935 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 936 | dependencies: 937 | wrappy: 1.0.2 938 | dev: true 939 | 940 | /parent-module@1.0.1: 941 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 942 | engines: {node: '>=6'} 943 | dependencies: 944 | callsites: 3.1.0 945 | dev: true 946 | 947 | /path-is-absolute@1.0.1: 948 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 949 | engines: {node: '>=0.10.0'} 950 | dev: true 951 | 952 | /periscopic@3.1.0: 953 | resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} 954 | dependencies: 955 | '@types/estree': 1.0.1 956 | estree-walker: 3.0.3 957 | is-reference: 3.0.1 958 | 959 | /picocolors@1.0.0: 960 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 961 | dev: true 962 | 963 | /picomatch@2.3.1: 964 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 965 | engines: {node: '>=8.6'} 966 | dev: true 967 | 968 | /postcss@8.4.27: 969 | resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==} 970 | engines: {node: ^10 || ^12 || >=14} 971 | dependencies: 972 | nanoid: 3.3.6 973 | picocolors: 1.0.0 974 | source-map-js: 1.0.2 975 | dev: true 976 | 977 | /prettier-plugin-svelte@3.0.3(prettier@3.0.1)(svelte@4.1.2): 978 | resolution: {integrity: sha512-dLhieh4obJEK1hnZ6koxF+tMUrZbV5YGvRpf2+OADyanjya5j0z1Llo8iGwiHmFWZVG/hLEw/AJD5chXd9r3XA==} 979 | peerDependencies: 980 | prettier: ^3.0.0 981 | svelte: ^3.2.0 || ^4.0.0-next.0 982 | dependencies: 983 | prettier: 3.0.1 984 | svelte: 4.1.2 985 | dev: true 986 | 987 | /prettier@3.0.1: 988 | resolution: {integrity: sha512-fcOWSnnpCrovBsmFZIGIy9UqK2FaI7Hqax+DIO0A9UxeVoY4iweyaFjS5TavZN97Hfehph0nhsZnjlVKzEQSrQ==} 989 | engines: {node: '>=14'} 990 | hasBin: true 991 | dev: true 992 | 993 | /qr-creator@1.0.0: 994 | resolution: {integrity: sha512-C0cqfbS1P5hfqN4NhsYsUXePlk9BO+a45bAQ3xLYjBL3bOIFzoVEjs79Fado9u9BPBD3buHi3+vY+C8tHh4qMQ==} 995 | dev: false 996 | 997 | /queue-microtask@1.2.3: 998 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 999 | dev: true 1000 | 1001 | /readdirp@3.6.0: 1002 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1003 | engines: {node: '>=8.10.0'} 1004 | dependencies: 1005 | picomatch: 2.3.1 1006 | dev: true 1007 | 1008 | /resolve-from@4.0.0: 1009 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1010 | engines: {node: '>=4'} 1011 | dev: true 1012 | 1013 | /reusify@1.0.4: 1014 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1015 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1016 | dev: true 1017 | 1018 | /rimraf@2.7.1: 1019 | resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} 1020 | hasBin: true 1021 | dependencies: 1022 | glob: 7.2.3 1023 | dev: true 1024 | 1025 | /rollup@3.27.1: 1026 | resolution: {integrity: sha512-tXNDFwOkN6C2w5Blj1g6ForKeFw6c1mDu5jxoeDO3/pmYjgt+8yvIFjKzH5FQUq70OKZBkOt0zzv0THXL7vwzQ==} 1027 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 1028 | hasBin: true 1029 | optionalDependencies: 1030 | fsevents: 2.3.2 1031 | dev: true 1032 | 1033 | /run-parallel@1.2.0: 1034 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1035 | dependencies: 1036 | queue-microtask: 1.2.3 1037 | dev: true 1038 | 1039 | /sade@1.8.1: 1040 | resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} 1041 | engines: {node: '>=6'} 1042 | dependencies: 1043 | mri: 1.2.0 1044 | 1045 | /sander@0.5.1: 1046 | resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} 1047 | dependencies: 1048 | es6-promise: 3.3.1 1049 | graceful-fs: 4.2.11 1050 | mkdirp: 0.5.6 1051 | rimraf: 2.7.1 1052 | dev: true 1053 | 1054 | /sorcery@0.11.0: 1055 | resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==} 1056 | hasBin: true 1057 | dependencies: 1058 | '@jridgewell/sourcemap-codec': 1.4.15 1059 | buffer-crc32: 0.2.13 1060 | minimist: 1.2.8 1061 | sander: 0.5.1 1062 | dev: true 1063 | 1064 | /source-map-js@1.0.2: 1065 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 1066 | engines: {node: '>=0.10.0'} 1067 | 1068 | /strip-indent@3.0.0: 1069 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} 1070 | engines: {node: '>=8'} 1071 | dependencies: 1072 | min-indent: 1.0.1 1073 | dev: true 1074 | 1075 | /svelte-check@3.4.6(svelte@4.1.2): 1076 | resolution: {integrity: sha512-OBlY8866Zh1zHQTkBMPS6psPi7o2umTUyj6JWm4SacnIHXpWFm658pG32m3dKvKFL49V4ntAkfFHKo4ztH07og==} 1077 | hasBin: true 1078 | peerDependencies: 1079 | svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 1080 | dependencies: 1081 | '@jridgewell/trace-mapping': 0.3.18 1082 | chokidar: 3.5.3 1083 | fast-glob: 3.3.1 1084 | import-fresh: 3.3.0 1085 | picocolors: 1.0.0 1086 | sade: 1.8.1 1087 | svelte: 4.1.2 1088 | svelte-preprocess: 5.0.4(svelte@4.1.2)(typescript@5.1.6) 1089 | typescript: 5.1.6 1090 | transitivePeerDependencies: 1091 | - '@babel/core' 1092 | - coffeescript 1093 | - less 1094 | - postcss 1095 | - postcss-load-config 1096 | - pug 1097 | - sass 1098 | - stylus 1099 | - sugarss 1100 | dev: true 1101 | 1102 | /svelte-dnd-action@0.9.24(svelte@4.1.2): 1103 | resolution: {integrity: sha512-rp+LqH4Pq8uYVko6Qpe9hvQeJkrmG0erT8N0DffLYeFFp2u1cxpj/icB0j4eJNqYPfHQYEyo1nyol4tnq+iOew==} 1104 | peerDependencies: 1105 | svelte: '>=3.23.0' 1106 | dependencies: 1107 | svelte: 4.1.2 1108 | dev: false 1109 | 1110 | /svelte-hmr@0.15.2(svelte@4.1.2): 1111 | resolution: {integrity: sha512-q/bAruCvFLwvNbeE1x3n37TYFb3mTBJ6TrCq6p2CoFbSTNhDE9oAtEfpy+wmc9So8AG0Tja+X0/mJzX9tSfvIg==} 1112 | engines: {node: ^12.20 || ^14.13.1 || >= 16} 1113 | peerDependencies: 1114 | svelte: ^3.19.0 || ^4.0.0-next.0 1115 | dependencies: 1116 | svelte: 4.1.2 1117 | dev: true 1118 | 1119 | /svelte-i18n@3.7.0(svelte@4.1.2): 1120 | resolution: {integrity: sha512-kfdJsYsyOE9tFEVtjPXvrUaufXQnbFAI6LsX9vaQP+xm8A5Wao2qQ6pRZmIUCAvXvYQt7aXQ7hK9+NP9AlxehA==} 1121 | engines: {node: '>= 16'} 1122 | hasBin: true 1123 | peerDependencies: 1124 | svelte: ^3 || ^4 1125 | dependencies: 1126 | cli-color: 2.0.3 1127 | deepmerge: 4.3.1 1128 | estree-walker: 2.0.2 1129 | intl-messageformat: 9.13.0 1130 | sade: 1.8.1 1131 | svelte: 4.1.2 1132 | tiny-glob: 0.2.9 1133 | dev: false 1134 | 1135 | /svelte-preprocess@5.0.4(svelte@4.1.2)(typescript@5.1.6): 1136 | resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==} 1137 | engines: {node: '>= 14.10.0'} 1138 | requiresBuild: true 1139 | peerDependencies: 1140 | '@babel/core': ^7.10.2 1141 | coffeescript: ^2.5.1 1142 | less: ^3.11.3 || ^4.0.0 1143 | postcss: ^7 || ^8 1144 | postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 1145 | pug: ^3.0.0 1146 | sass: ^1.26.8 1147 | stylus: ^0.55.0 1148 | sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 1149 | svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 1150 | typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0' 1151 | peerDependenciesMeta: 1152 | '@babel/core': 1153 | optional: true 1154 | coffeescript: 1155 | optional: true 1156 | less: 1157 | optional: true 1158 | postcss: 1159 | optional: true 1160 | postcss-load-config: 1161 | optional: true 1162 | pug: 1163 | optional: true 1164 | sass: 1165 | optional: true 1166 | stylus: 1167 | optional: true 1168 | sugarss: 1169 | optional: true 1170 | typescript: 1171 | optional: true 1172 | dependencies: 1173 | '@types/pug': 2.0.6 1174 | detect-indent: 6.1.0 1175 | magic-string: 0.27.0 1176 | sorcery: 0.11.0 1177 | strip-indent: 3.0.0 1178 | svelte: 4.1.2 1179 | typescript: 5.1.6 1180 | dev: true 1181 | 1182 | /svelte@4.1.2: 1183 | resolution: {integrity: sha512-/evA8U6CgOHe5ZD1C1W3va9iJG7mWflcCdghBORJaAhD2JzrVERJty/2gl0pIPrJYBGZwZycH6onYf+64XXF9g==} 1184 | engines: {node: '>=16'} 1185 | dependencies: 1186 | '@ampproject/remapping': 2.2.1 1187 | '@jridgewell/sourcemap-codec': 1.4.15 1188 | '@jridgewell/trace-mapping': 0.3.18 1189 | acorn: 8.10.0 1190 | aria-query: 5.3.0 1191 | axobject-query: 3.2.1 1192 | code-red: 1.0.3 1193 | css-tree: 2.3.1 1194 | estree-walker: 3.0.3 1195 | is-reference: 3.0.1 1196 | locate-character: 3.0.0 1197 | magic-string: 0.30.2 1198 | periscopic: 3.1.0 1199 | 1200 | /timers-ext@0.1.7: 1201 | resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==} 1202 | dependencies: 1203 | es5-ext: 0.10.62 1204 | next-tick: 1.1.0 1205 | dev: false 1206 | 1207 | /tiny-glob@0.2.9: 1208 | resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} 1209 | dependencies: 1210 | globalyzer: 0.1.0 1211 | globrex: 0.1.2 1212 | dev: false 1213 | 1214 | /to-regex-range@5.0.1: 1215 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1216 | engines: {node: '>=8.0'} 1217 | dependencies: 1218 | is-number: 7.0.0 1219 | dev: true 1220 | 1221 | /tslib@2.6.1: 1222 | resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} 1223 | dev: false 1224 | 1225 | /type@1.2.0: 1226 | resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} 1227 | dev: false 1228 | 1229 | /type@2.7.2: 1230 | resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} 1231 | dev: false 1232 | 1233 | /typescript@5.1.6: 1234 | resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} 1235 | engines: {node: '>=14.17'} 1236 | hasBin: true 1237 | dev: true 1238 | 1239 | /vite@4.4.8: 1240 | resolution: {integrity: sha512-LONawOUUjxQridNWGQlNizfKH89qPigK36XhMI7COMGztz8KNY0JHim7/xDd71CZwGT4HtSRgI7Hy+RlhG0Gvg==} 1241 | engines: {node: ^14.18.0 || >=16.0.0} 1242 | hasBin: true 1243 | peerDependencies: 1244 | '@types/node': '>= 14' 1245 | less: '*' 1246 | lightningcss: ^1.21.0 1247 | sass: '*' 1248 | stylus: '*' 1249 | sugarss: '*' 1250 | terser: ^5.4.0 1251 | peerDependenciesMeta: 1252 | '@types/node': 1253 | optional: true 1254 | less: 1255 | optional: true 1256 | lightningcss: 1257 | optional: true 1258 | sass: 1259 | optional: true 1260 | stylus: 1261 | optional: true 1262 | sugarss: 1263 | optional: true 1264 | terser: 1265 | optional: true 1266 | dependencies: 1267 | esbuild: 0.18.17 1268 | postcss: 8.4.27 1269 | rollup: 3.27.1 1270 | optionalDependencies: 1271 | fsevents: 2.3.2 1272 | dev: true 1273 | 1274 | /vitefu@0.2.4(vite@4.4.8): 1275 | resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} 1276 | peerDependencies: 1277 | vite: ^3.0.0 || ^4.0.0 1278 | peerDependenciesMeta: 1279 | vite: 1280 | optional: true 1281 | dependencies: 1282 | vite: 4.4.8 1283 | dev: true 1284 | 1285 | /wrappy@1.0.2: 1286 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1287 | dev: true 1288 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bs-community/customskinloader-gui/dc8aa24e5121aa05eef2d43e23db16141cd3be6b/public/favicon.ico -------------------------------------------------------------------------------- /src/App.svelte: -------------------------------------------------------------------------------- 1 | 86 | 87 | 88 | 89 |
90 |
91 | 103 | 104 | 111 | {$_('cacheExpiry.suffix')} 112 |
113 | {$_('cacheExpiry.help')} 114 |
115 |
116 | 117 | 118 | 125 |
126 | 127 | {$_('threadPoolSize.help')} 128 | 129 |
130 |
131 | 132 |
133 | 134 |
135 | 136 | 137 |
138 | 139 | 170 | -------------------------------------------------------------------------------- /src/ConfigJson.svelte: -------------------------------------------------------------------------------- 1 | 19 | 20 | 21 |
{@html code}
22 | 23 |
24 | 29 | {$_('json.download')} 30 | 31 | 37 | {#if copied} 38 | {$_('json.copied')} 39 | {:else} 40 | {$_('json.copy')} 41 | {/if} 42 | 43 |
44 |
45 | 46 | 64 | -------------------------------------------------------------------------------- /src/DragDropList.svelte: -------------------------------------------------------------------------------- 1 | 19 | 20 | (items = e.detail.items)} 23 | on:finalize={(e) => (items = e.detail.items)} 24 | > 25 | {#each items as item, i (item.name)} 26 | editItem(i)}> 27 | {item.name} 28 | 29 | editItem(i)} /> 30 | removeItem(i)} /> 31 | 32 | 33 | {/each} 34 | 35 | 36 | 52 | -------------------------------------------------------------------------------- /src/FileInput.svelte: -------------------------------------------------------------------------------- 1 | 35 | 36 | 37 | {$_('openLocal')} 38 | 39 | 40 | 41 | 42 | {message} 43 | dialog.hide()}> 44 | {$_('ok')} 45 | 46 | 47 | 48 | 53 | -------------------------------------------------------------------------------- /src/GlobalControl.svelte: -------------------------------------------------------------------------------- 1 | 54 | 55 | 56 |
57 |
58 | dispatch('acceptLocal', detail)} /> 59 | 64 | {$_('viewOnGithub')} 65 | 66 |
67 |
68 | 69 | 中文(简体) 70 | English 71 | 72 | (darkMode = !darkMode)}> 73 | {$_('darkMode')} 74 | 75 |
76 |
77 |
78 | 79 | 105 | -------------------------------------------------------------------------------- /src/HelpText.svelte: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 5 | 11 | -------------------------------------------------------------------------------- /src/LoadList.svelte: -------------------------------------------------------------------------------- 1 | 68 | 69 | 70 | 71 |
72 | {$_('dragTip')} 73 |
74 | 75 | {#if editing === -1} 76 | {$_('add')} 77 | {:else if editingItem} 78 |
79 |
80 | 86 | MojangAPI 87 | 88 | 94 | CustomSkinAPI 95 | 96 | 102 | UniSkinAPI 103 | 104 | 110 | GlitchlessAPI 111 | 112 | 118 | Elyby 119 | 120 | 126 | {$_('legacy')} 127 | 128 |
129 | 135 | 136 | (editing = -1)}> 137 | {$_('done')} 138 | 139 |
140 | {/if} 141 | 142 | 156 | -------------------------------------------------------------------------------- /src/LoadListItemEditor.svelte: -------------------------------------------------------------------------------- 1 | 13 | 14 | {#if item.type === 'MojangAPI'} 15 | 16 | {:else if item.type === 'CustomSkinAPI' || item.type === 'UniSkinAPI' || item.type === 'GlitchlessAPI'} 17 | 18 | {:else if item.type === 'Elyby'} 19 | 20 | {:else} 21 | 22 | {/if} 23 | -------------------------------------------------------------------------------- /src/Switches.svelte: -------------------------------------------------------------------------------- 1 | 16 | 17 |
18 | {$_('hoverTip')} 19 |
20 | 21 |
22 | (enable = !enable)} 26 | > 27 | {$_('enableCSL')} 28 | 29 |
30 | 31 |
32 | (enableSkull = !enableSkull)} 36 | > 37 | {$_('enableSkull')} 38 | 39 |
40 | 41 |
42 | (enableDynamicSkull = !enableDynamicSkull)} 46 | > 47 | {$_('enableDynamicSkull')} 48 | 49 |
50 | 51 |
52 | (enableTransparentSkin = !enableTransparentSkin)} 56 | > 57 | {$_('enableTransparentSkin')} 58 | 59 |
60 | 61 |
62 | (ignoreHttpsCertificate = !ignoreHttpsCertificate)} 66 | > 67 | {$_('ignoreHttpsCertificate')} 68 | 69 |
70 | 71 |
72 | (enableUpdateSkull = !enableUpdateSkull)} 77 | > 78 | {$_('enableUpdateSkull.label')} 79 | 80 |
81 | 82 |
83 | (enableLocalProfileCache = !enableLocalProfileCache)} 88 | > 89 | {$_('enableLocalProfileCache.label')} 90 | 91 |
92 | 93 |
94 | (enableCacheAutoClean = !enableCacheAutoClean)} 99 | > 100 | {$_('enableCacheAutoClean.label')} 101 | 102 |
103 | 104 |
105 | (forceLoadAllTextures = !forceLoadAllTextures)} 110 | > 111 | {$_('forceLoadAllTextures.label')} 112 | 113 |
114 | 115 |
116 | (enableCape = !enableCape)} 120 | > 121 | {$_('enableCape')} 122 | 123 |
124 | 125 | 130 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import hljs from 'highlight.js/lib/core' 2 | import json from 'highlight.js/lib/languages/json' 3 | import { overrideItemIdKeyNameBeforeInitialisingDndZones } from 'svelte-dnd-action' 4 | import { addMessages, init, getLocaleFromNavigator } from 'svelte-i18n' 5 | import App from './App.svelte' 6 | import langZhCN from './lang/zh-CN.json' 7 | import langEnUs from './lang/en-US.json' 8 | 9 | hljs.registerLanguage('json', json) 10 | 11 | // stop logging of "svelte-dnd-action" 12 | console.debug = () => {} 13 | 14 | overrideItemIdKeyNameBeforeInitialisingDndZones('name') 15 | 16 | addMessages('zh-CN', langZhCN) 17 | addMessages('en-US', langEnUs) 18 | 19 | init({ 20 | fallbackLocale: 'en', 21 | initialLocale: getLocaleFromNavigator(), 22 | }) 23 | 24 | new App({ 25 | target: document.body, 26 | }) 27 | -------------------------------------------------------------------------------- /src/lang/en-US.json: -------------------------------------------------------------------------------- 1 | { 2 | "openLocal": "Open local config file", 3 | "viewOnGithub": "View on GitHub", 4 | "darkMode": "Dark Mode", 5 | "fileInput": { 6 | "invalid": "Invalid JSON file. Please choose another file.", 7 | "failed": "Failed to read file." 8 | }, 9 | "ok": "OK", 10 | "hoverTip": "Hover on options below to gather more information.", 11 | "enableCSL": "Enable CustomSkinLoader", 12 | "enableSkull": "Enable loading skulls", 13 | "enableDynamicSkull": "Enable dynamic skulls", 14 | "enableTransparentSkin": "Enable transparent skins", 15 | "ignoreHttpsCertificate": "Ignore global HTTPS certificates", 16 | "enableUpdateSkull": { 17 | "label": "Enable updating skulls", 18 | "tip": "We don't advise to enable this because of performance issues." 19 | }, 20 | "enableLocalProfileCache": { 21 | "label": "Enable cache of local profiles", 22 | "tip": "This will allow you to use cached skins even without network, but we don't advise to enable this if you're using a stable network." 23 | }, 24 | "enableCacheAutoClean": { 25 | "label": "Clean cache when loading CustomSkinLoader", 26 | "tip": "It won't be cleaned if caching local profiles is enabled." 27 | }, 28 | "forceLoadAllTextures": { 29 | "label": "Force to load skin and cape even they come from different skin servers", 30 | "tip": "If disabled, once CustomSkinLoader can load any textures, it will stop continuing loading. We don't advise to enable this." 31 | }, 32 | "enableCape": "Enable loading capes", 33 | "cacheExpiry": { 34 | "label": "Cache expires after", 35 | "suffix": "sec", 36 | "help": "It shouldn't be too low or too high. Setting it to 0 will disable cache." 37 | }, 38 | "threadPoolSize": { 39 | "label": "Thread pool size of loading skins and skulls", 40 | "help": "It can be increased when entering a server which has many players, but it should't be too high." 41 | }, 42 | "dragTip": "To re-order items, drag and drop each item.", 43 | "add": "Add", 44 | "legacy": "Legacy", 45 | "name": "Name", 46 | "done": "Done", 47 | "advanced": "Advanced", 48 | "optional": "Optional", 49 | "mojang": { 50 | "apiRoot": "Yggdrasil API root URL. Optional.", 51 | "sessionRoot": "Yggdrasil API session server URL. Optional." 52 | }, 53 | "jsonApi": { 54 | "root": "Skin server root URL" 55 | }, 56 | "legacyApi": { 57 | "skin": "Skin file path", 58 | "cape": "Cape file path", 59 | "elytra": "Elytra file path", 60 | "model": "Model", 61 | "auto": "Auto detect", 62 | "steve": "Steve", 63 | "alex": "Alex", 64 | "checkPNG": "Check if file is valid PNG." 65 | }, 66 | "json": { 67 | "download": "Download", 68 | "copy": "Copy", 69 | "copied": "Copied!" 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /src/lang/zh-CN.json: -------------------------------------------------------------------------------- 1 | { 2 | "openLocal": "打开本地配置文件", 3 | "viewOnGithub": "在 GitHub 上查看此项目", 4 | "darkMode": "夜间模式", 5 | "fileInput": { 6 | "invalid": "不是有效的 JSON 文件,请重新选择", 7 | "failed": "读取失败" 8 | }, 9 | "ok": "好", 10 | "hoverTip": "鼠标悬浮于下面的选项上可获得更多信息。", 11 | "enableCSL": "启用 CustomSkinLoader", 12 | "enableSkull": "启用头颅加载", 13 | "enableDynamicSkull": "启用动态头颅", 14 | "enableTransparentSkin": "启用透明皮肤", 15 | "ignoreHttpsCertificate": "忽略全局 HTTPS 证书", 16 | "enableUpdateSkull": { 17 | "label": "开启头颅更新", 18 | "tip": "易引发卡顿,不建议开启。" 19 | }, 20 | "enableLocalProfileCache": { 21 | "label": "开启本地皮肤信息缓存", 22 | "tip": "开启后可在无网络时继续使用缓存的皮肤,不建议在网络状态稳定时仍然开启。" 23 | }, 24 | "enableCacheAutoClean": { 25 | "label": "启动时清理所有缓存", 26 | "tip": "若开启了本地皮肤信息缓存,则强制不清理。" 27 | }, 28 | "forceLoadAllTextures": { 29 | "label": "加载皮肤又加载披风后才停止加载", 30 | "tip": "不开启的默认逻辑是有任意皮肤站提供了任意材质就停止加载,不建议开启。" 31 | }, 32 | "enableCape": "允许加载披风", 33 | "cacheExpiry": { 34 | "label": "缓存有效期", 35 | "suffix": "秒", 36 | "help": "不建议设置过小或过大。设置为 0 相当于关闭缓存。" 37 | }, 38 | "threadPoolSize": { 39 | "label": "加载皮肤和头颅的线程池大小", 40 | "help": "游玩在线人数较多的服务器时,可以适当增大该项的值,但也请不要设置得太高。" 41 | }, 42 | "dragTip": "可以通过拖拽列表项目来调整顺序。", 43 | "add": "添加", 44 | "legacy": "传统加载方式", 45 | "name": "名称", 46 | "done": "完成", 47 | "advanced": "高级选项", 48 | "optional": "可选", 49 | "mojang": { 50 | "apiRoot": "可选,Yggdrasil API 的根(Root)地址", 51 | "sessionRoot": "可选,Yggdrasil API 的会话服务器(Session Server)的地址" 52 | }, 53 | "jsonApi": { 54 | "root": "皮肤站的根(Root)地址" 55 | }, 56 | "legacyApi": { 57 | "skin": "皮肤文件位置", 58 | "cape": "披风文件位置", 59 | "elytra": "鞘翅文件位置", 60 | "model": "模型", 61 | "auto": "自动识别", 62 | "steve": "Steve 模型", 63 | "alex": "Alex 模型", 64 | "checkPNG": "检查材质文件是否为 PNG" 65 | }, 66 | "json": { 67 | "download": "下载", 68 | "copy": "复制", 69 | "copied": "已复制" 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /src/loadListEdit/Elyby.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 17 |
{$_('optional')}
18 |
19 |
20 | -------------------------------------------------------------------------------- /src/loadListEdit/JsonAPI.svelte: -------------------------------------------------------------------------------- 1 | 14 | 15 | 22 |
{$_('jsonApi.root')}
23 |
24 | 25 | 30 |
{$_('optional')}
31 |
32 |
33 | -------------------------------------------------------------------------------- /src/loadListEdit/Legacy.svelte: -------------------------------------------------------------------------------- 1 | 25 | 26 | 32 | 37 | 42 | 43 |
44 | 50 | {$_('legacyApi.auto')} 51 | 52 | 58 | {$_('legacyApi.steve')} 59 | 60 | 66 | {$_('legacyApi.alex')} 67 | 68 | (item.checkPNG = !item.checkPNG)} 71 | > 72 | {$_('legacyApi.checkPNG')} 73 | 74 |
75 | 76 | 85 | -------------------------------------------------------------------------------- /src/loadListEdit/Mojang.svelte: -------------------------------------------------------------------------------- 1 | 14 | 15 | 16 | 17 |
{$_('mojang.apiRoot')}
18 |
19 | 24 |
{$_('mojang.sessionRoot')}
25 |
26 |
27 | -------------------------------------------------------------------------------- /src/styles.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | } 5 | 6 | body { 7 | padding: 20px 40px; 8 | } 9 | 10 | body.sl-theme-dark sl-details::part(summary), 11 | body.sl-theme-dark sl-details::part(summary-icon), 12 | body.sl-theme-dark label, 13 | body.sl-theme-dark sl-menu-item, 14 | body.sl-theme-dark sl-input::part(label) { 15 | color: var(--sl-input-color); 16 | } 17 | 18 | #item-editor sl-input, 19 | #item-editor sl-details, 20 | #item-editor sl-button { 21 | margin-top: var(--sl-spacing-x-small); 22 | } 23 | -------------------------------------------------------------------------------- /svelte.config.js: -------------------------------------------------------------------------------- 1 | import preprocess from 'svelte-preprocess' 2 | 3 | export default { 4 | preprocess: preprocess({}), 5 | css: true, 6 | } 7 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@gplane/tsconfig", 3 | "compilerOptions": { 4 | "types": ["svelte"], 5 | "noEmit": true, 6 | "moduleResolution": "bundler" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /types.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'svelte-dnd-action' { 2 | interface DndOptions { 3 | items: T[] 4 | type?: string 5 | flipDurationMs?: number 6 | dragDisabled?: boolean 7 | dropFromOthersDisabled?: boolean 8 | dropTargetStyle?: Record 9 | transformDraggedElement?: Function 10 | } 11 | 12 | export function dndzone( 13 | node: HTMLElement, 14 | options: DndOptions 15 | ): { update: Function; destroy: Function } 16 | 17 | export function overrideItemIdKeyNameBeforeInitialisingDndZones(key: string) 18 | } 19 | 20 | type CSLConfig = { 21 | enable: boolean 22 | enableSkull: boolean 23 | enableDynamicSkull: boolean 24 | enableTransparentSkin: boolean 25 | ignoreHttpsCertificate: boolean 26 | cacheExpiry: number 27 | enableUpdateSkull: boolean 28 | enableLocalProfileCache: boolean 29 | enableCacheAutoClean: boolean 30 | forceLoadAllTextures: boolean 31 | enableCape: boolean 32 | threadPoolSize: number 33 | loadlist: LoadListItem[] 34 | } 35 | 36 | type LoadListItem = 37 | | MojangAPI 38 | | CustomSkinAPI 39 | | UniSkinAPI 40 | | Legacy 41 | | Elyby 42 | | GlitchlessAPI 43 | type MojangAPI = { 44 | type: 'MojangAPI' 45 | name: string 46 | apiRoot?: string 47 | sessionRoot?: string 48 | } 49 | type CustomSkinAPI = { 50 | type: 'CustomSkinAPI' 51 | name: string 52 | root: string 53 | userAgent?: string 54 | } 55 | type UniSkinAPI = { 56 | type: 'UniSkinAPI' 57 | name: string 58 | root: string 59 | userAgent?: string 60 | } 61 | type Legacy = { 62 | type: 'Legacy' 63 | name: string 64 | skin: string 65 | cape?: string 66 | elytra?: string 67 | model?: 'default' | 'slim' | 'auto' 68 | checkPNG?: boolean 69 | } 70 | type Elyby = { 71 | type: 'Elyby' 72 | name: string 73 | userAgent?: string 74 | } 75 | type GlitchlessAPI = { 76 | type: 'GlitchlessAPI' 77 | name: string 78 | root: string 79 | userAgent?: string 80 | } 81 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import { svelte } from '@sveltejs/vite-plugin-svelte' 3 | 4 | export default defineConfig({ 5 | plugins: [svelte({})], 6 | }) 7 | --------------------------------------------------------------------------------