Scrapboard.org client

init

TurtlePaw 90325377 5a493200

+2714 -5867
+1008
bun.lock
···
··· 1 + { 2 + "lockfileVersion": 1, 3 + "workspaces": { 4 + "": { 5 + "name": "scribble", 6 + "dependencies": { 7 + "@atproto/api": "^0.15.27", 8 + "@atproto/oauth-client-browser": "^0.3.27", 9 + "@radix-ui/react-avatar": "^1.1.10", 10 + "@radix-ui/react-dialog": "^1.1.14", 11 + "@radix-ui/react-dropdown-menu": "^2.1.15", 12 + "@radix-ui/react-slot": "^1.2.3", 13 + "@radix-ui/react-tabs": "^1.1.12", 14 + "class-variance-authority": "^0.7.1", 15 + "clsx": "^2.1.1", 16 + "lucide-react": "^0.526.0", 17 + "next": "15.4.4", 18 + "next-themes": "^0.4.6", 19 + "react": "19.1.0", 20 + "react-dom": "19.1.0", 21 + "tailwind-merge": "^3.3.1", 22 + }, 23 + "devDependencies": { 24 + "@eslint/eslintrc": "^3", 25 + "@tailwindcss/postcss": "^4", 26 + "@types/node": "^20", 27 + "@types/react": "^19", 28 + "@types/react-dom": "^19", 29 + "eslint": "^9", 30 + "eslint-config-next": "15.4.4", 31 + "tailwindcss": "^4", 32 + "tw-animate-css": "^1.3.6", 33 + "typescript": "^5", 34 + }, 35 + }, 36 + }, 37 + "packages": { 38 + "@alloc/quick-lru": ["@alloc/quick-lru@5.2.0", "", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="], 39 + 40 + "@ampproject/remapping": ["@ampproject/remapping@2.3.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw=="], 41 + 42 + "@atproto-labs/did-resolver": ["@atproto-labs/did-resolver@0.2.0", "", { "dependencies": { "@atproto-labs/fetch": "0.2.3", "@atproto-labs/pipe": "0.1.1", "@atproto-labs/simple-store": "0.2.0", "@atproto-labs/simple-store-memory": "0.1.3", "@atproto/did": "0.1.5", "zod": "^3.23.8" } }, "sha512-y9GOx2gUETynDKmANnBrU5DTf+u0AwKBJpGns1vDDOYMdLdRCFIeYy3UH+TI8YOkcEazjgF5Q3m+LjwriE1KqQ=="], 43 + 44 + "@atproto-labs/fetch": ["@atproto-labs/fetch@0.2.3", "", { "dependencies": { "@atproto-labs/pipe": "0.1.1" } }, "sha512-NZtbJOCbxKUFRFKMpamT38PUQMY0hX0p7TG5AEYOPhZKZEP7dHZ1K2s1aB8MdVH0qxmqX7nQleNrrvLf09Zfdw=="], 45 + 46 + "@atproto-labs/handle-resolver": ["@atproto-labs/handle-resolver@0.3.0", "", { "dependencies": { "@atproto-labs/simple-store": "0.2.0", "@atproto-labs/simple-store-memory": "0.1.3", "@atproto/did": "0.1.5", "zod": "^3.23.8" } }, "sha512-TREelvXB6P2eHxx6QjINRkBzUZu/aXWrdY9iN57shQe3C8rzsHNEHHuTVvRa33Hc7vFdQbZN0TnCgKveoyiL/A=="], 47 + 48 + "@atproto-labs/identity-resolver": ["@atproto-labs/identity-resolver@0.3.0", "", { "dependencies": { "@atproto-labs/did-resolver": "0.2.0", "@atproto-labs/handle-resolver": "0.3.0" } }, "sha512-ZmmRV6m17kIaX4WllYrFIa7d23lNng0fIk6pLyepRGZobQhM5d4wDezICTESAG+RoD0e5fisWs+Tamdvx3mx/Q=="], 49 + 50 + "@atproto-labs/pipe": ["@atproto-labs/pipe@0.1.1", "", {}, "sha512-hdNw2oUs2B6BN1lp+32pF7cp8EMKuIN5Qok2Vvv/aOpG/3tNSJ9YkvfI0k6Zd188LeDDYRUpYpxcoFIcGH/FNg=="], 51 + 52 + "@atproto-labs/simple-store": ["@atproto-labs/simple-store@0.2.0", "", {}, "sha512-0bRbAlI8Ayh03wRwncAMEAyUKtZ+AuTS1jgPrfym1WVOAOiottI/ZmgccqLl6w5MbxVcClNQF7WYGKvGwGoIhA=="], 53 + 54 + "@atproto-labs/simple-store-memory": ["@atproto-labs/simple-store-memory@0.1.3", "", { "dependencies": { "@atproto-labs/simple-store": "0.2.0", "lru-cache": "^10.2.0" } }, "sha512-jkitT9+AtU+0b28DoN92iURLaCt/q/q4yX8q6V+9LSwYlUTqKoj/5NFKvF7x6EBuG+gpUdlcycbH7e60gjOhRQ=="], 55 + 56 + "@atproto/api": ["@atproto/api@0.15.27", "", { "dependencies": { "@atproto/common-web": "^0.4.2", "@atproto/lexicon": "^0.4.12", "@atproto/syntax": "^0.4.0", "@atproto/xrpc": "^0.7.1", "await-lock": "^2.2.2", "multiformats": "^9.9.0", "tlds": "^1.234.0", "zod": "^3.23.8" } }, "sha512-ok/WGafh1nz4t8pEQGtAF/32x2E2VDWU4af6BajkO5Gky2jp2q6cv6aB2A5yuvNNcc3XkYMYipsqVHVwLPMF9g=="], 57 + 58 + "@atproto/common-web": ["@atproto/common-web@0.4.2", "", { "dependencies": { "graphemer": "^1.4.0", "multiformats": "^9.9.0", "uint8arrays": "3.0.0", "zod": "^3.23.8" } }, "sha512-vrXwGNoFGogodjQvJDxAeP3QbGtawgZute2ed1XdRO0wMixLk3qewtikZm06H259QDJVu6voKC5mubml+WgQUw=="], 59 + 60 + "@atproto/did": ["@atproto/did@0.1.5", "", { "dependencies": { "zod": "^3.23.8" } }, "sha512-8+1D08QdGE5TF0bB0vV8HLVrVZJeLNITpRTUVEoABNMRaUS7CoYSVb0+JNQDeJIVmqMjOL8dOjvCUDkp3gEaGQ=="], 61 + 62 + "@atproto/jwk": ["@atproto/jwk@0.4.0", "", { "dependencies": { "multiformats": "^9.9.0", "zod": "^3.23.8" } }, "sha512-tvp4iZrzqEzKCeTOKz50/o6WdsZzOuWmWjF6On5QAp04fLwLpsFu2Hixgx/lA1KBO0O4sns7YSGcAqSSX6Rdog=="], 63 + 64 + "@atproto/jwk-jose": ["@atproto/jwk-jose@0.1.9", "", { "dependencies": { "@atproto/jwk": "0.4.0", "jose": "^5.2.0" } }, "sha512-HT9GcUe6htDxI5OSYXWdeS6QZ9lpuDDvJk508ppi8a48E/1f8eumoM0QhgbFRF9IKAnnFrtnZDOAvljQzFKwwQ=="], 65 + 66 + "@atproto/jwk-webcrypto": ["@atproto/jwk-webcrypto@0.1.9", "", { "dependencies": { "@atproto/jwk": "0.4.0", "@atproto/jwk-jose": "0.1.9", "zod": "^3.23.8" } }, "sha512-ecciePHT0JEDZNAbMKSkdqoBYsjvhwuVno0jsS600SZmuvi2fAMhGraDZ5ZOO5M0hHHBiDbN7Ar/qcnIwyoxsA=="], 67 + 68 + "@atproto/lexicon": ["@atproto/lexicon@0.4.12", "", { "dependencies": { "@atproto/common-web": "^0.4.2", "@atproto/syntax": "^0.4.0", "iso-datestring-validator": "^2.2.2", "multiformats": "^9.9.0", "zod": "^3.23.8" } }, "sha512-fcEvEQ1GpQYF5igZ4IZjPWEoWVpsEF22L9RexxLS3ptfySXLflEyH384e7HITzO/73McDeaJx3lqHIuqn9ulnw=="], 69 + 70 + "@atproto/oauth-client": ["@atproto/oauth-client@0.5.1", "", { "dependencies": { "@atproto-labs/did-resolver": "0.2.0", "@atproto-labs/fetch": "0.2.3", "@atproto-labs/handle-resolver": "0.3.0", "@atproto-labs/identity-resolver": "0.3.0", "@atproto-labs/simple-store": "0.2.0", "@atproto-labs/simple-store-memory": "0.1.3", "@atproto/did": "0.1.5", "@atproto/jwk": "0.4.0", "@atproto/oauth-types": "0.4.0", "@atproto/xrpc": "0.7.1", "multiformats": "^9.9.0", "zod": "^3.23.8" } }, "sha512-wNC9RdfH1LGyZKF+UOmY+z4TFNx1gBur3fx91MCCrNaU0aTHBzgEH9UquL2031J7VNXhBsKJnHfEB5ZYy0AEHQ=="], 71 + 72 + "@atproto/oauth-client-browser": ["@atproto/oauth-client-browser@0.3.27", "", { "dependencies": { "@atproto-labs/did-resolver": "0.2.0", "@atproto-labs/handle-resolver": "0.3.0", "@atproto-labs/simple-store": "0.2.0", "@atproto/did": "0.1.5", "@atproto/jwk": "0.4.0", "@atproto/jwk-webcrypto": "0.1.9", "@atproto/oauth-client": "0.5.1", "@atproto/oauth-types": "0.4.0" } }, "sha512-sUZP27KjlS3qJVPMC+RgWNARQZo7n6CWCXN55+QqLnHTfh+dLCXDS9jMUreXUGMQkVETEogDZ/v0Pb0xHQwBsg=="], 73 + 74 + "@atproto/oauth-types": ["@atproto/oauth-types@0.4.0", "", { "dependencies": { "@atproto/jwk": "0.4.0", "zod": "^3.23.8" } }, "sha512-FrRH9JsPw9H4JxfPDrbrI+pB102tbHTygajfHay7xwz78HPOjSbWPRgWW2hYS4w8vDYdB3PYbBj1jPoKetW7LA=="], 75 + 76 + "@atproto/syntax": ["@atproto/syntax@0.4.0", "", {}, "sha512-b9y5ceHS8YKOfP3mdKmwAx5yVj9294UN7FG2XzP6V5aKUdFazEYRnR9m5n5ZQFKa3GNvz7de9guZCJ/sUTcOAA=="], 77 + 78 + "@atproto/xrpc": ["@atproto/xrpc@0.7.1", "", { "dependencies": { "@atproto/lexicon": "^0.4.12", "zod": "^3.23.8" } }, "sha512-ANHEzlskYlMEdH18m+Itp3a8d0pEJao2qoDybDoMupTnoeNkya4VKIaOgAi6ERQnqatBBZyn9asW+7rJmSt/8g=="], 79 + 80 + "@emnapi/core": ["@emnapi/core@1.4.5", "", { "dependencies": { "@emnapi/wasi-threads": "1.0.4", "tslib": "^2.4.0" } }, "sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q=="], 81 + 82 + "@emnapi/runtime": ["@emnapi/runtime@1.4.5", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg=="], 83 + 84 + "@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.0.4", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g=="], 85 + 86 + "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.7.0", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw=="], 87 + 88 + "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.1", "", {}, "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ=="], 89 + 90 + "@eslint/config-array": ["@eslint/config-array@0.21.0", "", { "dependencies": { "@eslint/object-schema": "^2.1.6", "debug": "^4.3.1", "minimatch": "^3.1.2" } }, "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ=="], 91 + 92 + "@eslint/config-helpers": ["@eslint/config-helpers@0.3.0", "", {}, "sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw=="], 93 + 94 + "@eslint/core": ["@eslint/core@0.15.1", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA=="], 95 + 96 + "@eslint/eslintrc": ["@eslint/eslintrc@3.3.1", "", { "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^10.0.1", "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" } }, "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ=="], 97 + 98 + "@eslint/js": ["@eslint/js@9.32.0", "", {}, "sha512-BBpRFZK3eX6uMLKz8WxFOBIFFcGFJ/g8XuwjTHCqHROSIsopI+ddn/d5Cfh36+7+e5edVS8dbSHnBNhrLEX0zg=="], 99 + 100 + "@eslint/object-schema": ["@eslint/object-schema@2.1.6", "", {}, "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA=="], 101 + 102 + "@eslint/plugin-kit": ["@eslint/plugin-kit@0.3.4", "", { "dependencies": { "@eslint/core": "^0.15.1", "levn": "^0.4.1" } }, "sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw=="], 103 + 104 + "@floating-ui/core": ["@floating-ui/core@1.7.2", "", { "dependencies": { "@floating-ui/utils": "^0.2.10" } }, "sha512-wNB5ooIKHQc+Kui96jE/n69rHFWAVoxn5CAzL1Xdd8FG03cgY3MLO+GF9U3W737fYDSgPWA6MReKhBQBop6Pcw=="], 105 + 106 + "@floating-ui/dom": ["@floating-ui/dom@1.7.2", "", { "dependencies": { "@floating-ui/core": "^1.7.2", "@floating-ui/utils": "^0.2.10" } }, "sha512-7cfaOQuCS27HD7DX+6ib2OrnW+b4ZBwDNnCcT0uTyidcmyWb03FnQqJybDBoCnpdxwBSfA94UAYlRCt7mV+TbA=="], 107 + 108 + "@floating-ui/react-dom": ["@floating-ui/react-dom@2.1.4", "", { "dependencies": { "@floating-ui/dom": "^1.7.2" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-JbbpPhp38UmXDDAu60RJmbeme37Jbgsm7NrHGgzYYFKmblzRUh6Pa641dII6LsjwF4XlScDrde2UAzDo/b9KPw=="], 109 + 110 + "@floating-ui/utils": ["@floating-ui/utils@0.2.10", "", {}, "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ=="], 111 + 112 + "@humanfs/core": ["@humanfs/core@0.19.1", "", {}, "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA=="], 113 + 114 + "@humanfs/node": ["@humanfs/node@0.16.6", "", { "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.3.0" } }, "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw=="], 115 + 116 + "@humanwhocodes/module-importer": ["@humanwhocodes/module-importer@1.0.1", "", {}, "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="], 117 + 118 + "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="], 119 + 120 + "@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.34.3", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.2.0" }, "os": "darwin", "cpu": "arm64" }, "sha512-ryFMfvxxpQRsgZJqBd4wsttYQbCxsJksrv9Lw/v798JcQ8+w84mBWuXwl+TT0WJ/WrYOLaYpwQXi3sA9nTIaIg=="], 121 + 122 + "@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.34.3", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.2.0" }, "os": "darwin", "cpu": "x64" }, "sha512-yHpJYynROAj12TA6qil58hmPmAwxKKC7reUqtGLzsOHfP7/rniNGTL8tjWX6L3CTV4+5P4ypcS7Pp+7OB+8ihA=="], 123 + 124 + "@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.2.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-sBZmpwmxqwlqG9ueWFXtockhsxefaV6O84BMOrhtg/YqbTaRdqDE7hxraVE3y6gVM4eExmfzW4a8el9ArLeEiQ=="], 125 + 126 + "@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.2.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-M64XVuL94OgiNHa5/m2YvEQI5q2cl9d/wk0qFTDVXcYzi43lxuiFTftMR1tOnFQovVXNZJ5TURSDK2pNe9Yzqg=="], 127 + 128 + "@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.2.0", "", { "os": "linux", "cpu": "arm" }, "sha512-mWd2uWvDtL/nvIzThLq3fr2nnGfyr/XMXlq8ZJ9WMR6PXijHlC3ksp0IpuhK6bougvQrchUAfzRLnbsen0Cqvw=="], 129 + 130 + "@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.2.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-RXwd0CgG+uPRX5YYrkzKyalt2OJYRiJQ8ED/fi1tq9WQW2jsQIn0tqrlR5l5dr/rjqq6AHAxURhj2DVjyQWSOA=="], 131 + 132 + "@img/sharp-libvips-linux-ppc64": ["@img/sharp-libvips-linux-ppc64@1.2.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-Xod/7KaDDHkYu2phxxfeEPXfVXFKx70EAFZ0qyUdOjCcxbjqyJOEUpDe6RIyaunGxT34Anf9ue/wuWOqBW2WcQ=="], 133 + 134 + "@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.2.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-eMKfzDxLGT8mnmPJTNMcjfO33fLiTDsrMlUVcp6b96ETbnJmd4uvZxVJSKPQfS+odwfVaGifhsB07J1LynFehw=="], 135 + 136 + "@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.2.0", "", { "os": "linux", "cpu": "x64" }, "sha512-ZW3FPWIc7K1sH9E3nxIGB3y3dZkpJlMnkk7z5tu1nSkBoCgw2nSRTFHI5pB/3CQaJM0pdzMF3paf9ckKMSE9Tg=="], 137 + 138 + "@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.2.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-UG+LqQJbf5VJ8NWJ5Z3tdIe/HXjuIdo4JeVNADXBFuG7z9zjoegpzzGIyV5zQKi4zaJjnAd2+g2nna8TZvuW9Q=="], 139 + 140 + "@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.2.0", "", { "os": "linux", "cpu": "x64" }, "sha512-SRYOLR7CXPgNze8akZwjoGBoN1ThNZoqpOgfnOxmWsklTGVfJiGJoC/Lod7aNMGA1jSsKWM1+HRX43OP6p9+6Q=="], 141 + 142 + "@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.34.3", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.2.0" }, "os": "linux", "cpu": "arm" }, "sha512-oBK9l+h6KBN0i3dC8rYntLiVfW8D8wH+NPNT3O/WBHeW0OQWCjfWksLUaPidsrDKpJgXp3G3/hkmhptAW0I3+A=="], 143 + 144 + "@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.34.3", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.2.0" }, "os": "linux", "cpu": "arm64" }, "sha512-QdrKe3EvQrqwkDrtuTIjI0bu6YEJHTgEeqdzI3uWJOH6G1O8Nl1iEeVYRGdj1h5I21CqxSvQp1Yv7xeU3ZewbA=="], 145 + 146 + "@img/sharp-linux-ppc64": ["@img/sharp-linux-ppc64@0.34.3", "", { "optionalDependencies": { "@img/sharp-libvips-linux-ppc64": "1.2.0" }, "os": "linux", "cpu": "ppc64" }, "sha512-GLtbLQMCNC5nxuImPR2+RgrviwKwVql28FWZIW1zWruy6zLgA5/x2ZXk3mxj58X/tszVF69KK0Is83V8YgWhLA=="], 147 + 148 + "@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.34.3", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.2.0" }, "os": "linux", "cpu": "s390x" }, "sha512-3gahT+A6c4cdc2edhsLHmIOXMb17ltffJlxR0aC2VPZfwKoTGZec6u5GrFgdR7ciJSsHT27BD3TIuGcuRT0KmQ=="], 149 + 150 + "@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.34.3", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.2.0" }, "os": "linux", "cpu": "x64" }, "sha512-8kYso8d806ypnSq3/Ly0QEw90V5ZoHh10yH0HnrzOCr6DKAPI6QVHvwleqMkVQ0m+fc7EH8ah0BB0QPuWY6zJQ=="], 151 + 152 + "@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.34.3", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.2.0" }, "os": "linux", "cpu": "arm64" }, "sha512-vAjbHDlr4izEiXM1OTggpCcPg9tn4YriK5vAjowJsHwdBIdx0fYRsURkxLG2RLm9gyBq66gwtWI8Gx0/ov+JKQ=="], 153 + 154 + "@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.34.3", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.2.0" }, "os": "linux", "cpu": "x64" }, "sha512-gCWUn9547K5bwvOn9l5XGAEjVTTRji4aPTqLzGXHvIr6bIDZKNTA34seMPgM0WmSf+RYBH411VavCejp3PkOeQ=="], 155 + 156 + "@img/sharp-wasm32": ["@img/sharp-wasm32@0.34.3", "", { "dependencies": { "@emnapi/runtime": "^1.4.4" }, "cpu": "none" }, "sha512-+CyRcpagHMGteySaWos8IbnXcHgfDn7pO2fiC2slJxvNq9gDipYBN42/RagzctVRKgxATmfqOSulgZv5e1RdMg=="], 157 + 158 + "@img/sharp-win32-arm64": ["@img/sharp-win32-arm64@0.34.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-MjnHPnbqMXNC2UgeLJtX4XqoVHHlZNd+nPt1kRPmj63wURegwBhZlApELdtxM2OIZDRv/DFtLcNhVbd1z8GYXQ=="], 159 + 160 + "@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.34.3", "", { "os": "win32", "cpu": "ia32" }, "sha512-xuCdhH44WxuXgOM714hn4amodJMZl3OEvf0GVTm0BEyMeA2to+8HEdRPShH0SLYptJY1uBw+SCFP9WVQi1Q/cw=="], 161 + 162 + "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.34.3", "", { "os": "win32", "cpu": "x64" }, "sha512-OWwz05d++TxzLEv4VnsTz5CmZ6mI6S05sfQGEMrNrQcOEERbX46332IvE7pO/EUiw7jUrrS40z/M7kPyjfl04g=="], 163 + 164 + "@isaacs/fs-minipass": ["@isaacs/fs-minipass@4.0.1", "", { "dependencies": { "minipass": "^7.0.4" } }, "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w=="], 165 + 166 + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.12", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg=="], 167 + 168 + "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], 169 + 170 + "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.4", "", {}, "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw=="], 171 + 172 + "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.29", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ=="], 173 + 174 + "@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@0.2.12", "", { "dependencies": { "@emnapi/core": "^1.4.3", "@emnapi/runtime": "^1.4.3", "@tybys/wasm-util": "^0.10.0" } }, "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ=="], 175 + 176 + "@next/env": ["@next/env@15.4.4", "", {}, "sha512-SJKOOkULKENyHSYXE5+KiFU6itcIb6wSBjgM92meK0HVKpo94dNOLZVdLLuS7/BxImROkGoPsjR4EnuDucqiiA=="], 177 + 178 + "@next/eslint-plugin-next": ["@next/eslint-plugin-next@15.4.4", "", { "dependencies": { "fast-glob": "3.3.1" } }, "sha512-1FDsyN//ai3Jd97SEd7scw5h1yLdzDACGOPRofr2GD3sEFsBylEEoL0MHSerd4n2dq9Zm/mFMqi4+NRMOreOKA=="], 179 + 180 + "@next/swc-darwin-arm64": ["@next/swc-darwin-arm64@15.4.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-eVG55dnGwfUuG+TtnUCt+mEJ+8TGgul6nHEvdb8HEH7dmJIFYOCApAaFrIrxwtEq2Cdf+0m5sG1Np8cNpw9EAw=="], 181 + 182 + "@next/swc-darwin-x64": ["@next/swc-darwin-x64@15.4.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-zqG+/8apsu49CltEj4NAmCGZvHcZbOOOsNoTVeIXphYWIbE4l6A/vuQHyqll0flU2o3dmYCXsBW5FmbrGDgljQ=="], 183 + 184 + "@next/swc-linux-arm64-gnu": ["@next/swc-linux-arm64-gnu@15.4.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-LRD4l2lq4R+2QCHBQVC0wjxxkLlALGJCwigaJ5FSRSqnje+MRKHljQNZgDCaKUZQzO/TXxlmUdkZP/X3KNGZaw=="], 185 + 186 + "@next/swc-linux-arm64-musl": ["@next/swc-linux-arm64-musl@15.4.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-LsGUCTvuZ0690fFWerA4lnQvjkYg9gHo12A3wiPUR4kCxbx/d+SlwmonuTH2SWZI+RVGA9VL3N0S03WTYv6bYg=="], 187 + 188 + "@next/swc-linux-x64-gnu": ["@next/swc-linux-x64-gnu@15.4.4", "", { "os": "linux", "cpu": "x64" }, "sha512-aOy5yNRpLL3wNiJVkFYl6w22hdREERNjvegE6vvtix8LHRdsTHhWTpgvcYdCK7AIDCQW5ATmzr9XkPHvSoAnvg=="], 189 + 190 + "@next/swc-linux-x64-musl": ["@next/swc-linux-x64-musl@15.4.4", "", { "os": "linux", "cpu": "x64" }, "sha512-FL7OAn4UkR8hKQRGBmlHiHinzOb07tsfARdGh7v0Z0jEJ3sz8/7L5bR23ble9E6DZMabSStqlATHlSxv1fuzAg=="], 191 + 192 + "@next/swc-win32-arm64-msvc": ["@next/swc-win32-arm64-msvc@15.4.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-eEdNW/TXwjYhOulQh0pffTMMItWVwKCQpbziSBmgBNFZIIRn2GTXrhrewevs8wP8KXWYMx8Z+mNU0X+AfvtrRg=="], 193 + 194 + "@next/swc-win32-x64-msvc": ["@next/swc-win32-x64-msvc@15.4.4", "", { "os": "win32", "cpu": "x64" }, "sha512-SE5pYNbn/xZKMy1RE3pAs+4xD32OI4rY6mzJa4XUkp/ItZY+OMjIgilskmErt8ls/fVJ+Ihopi2QIeW6O3TrMw=="], 195 + 196 + "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="], 197 + 198 + "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="], 199 + 200 + "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], 201 + 202 + "@nolyfill/is-core-module": ["@nolyfill/is-core-module@1.0.39", "", {}, "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA=="], 203 + 204 + "@radix-ui/primitive": ["@radix-ui/primitive@1.1.2", "", {}, "sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA=="], 205 + 206 + "@radix-ui/react-arrow": ["@radix-ui/react-arrow@1.1.7", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w=="], 207 + 208 + "@radix-ui/react-avatar": ["@radix-ui/react-avatar@1.1.10", "", { "dependencies": { "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-is-hydrated": "0.1.0", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-V8piFfWapM5OmNCXTzVQY+E1rDa53zY+MQ4Y7356v4fFz6vqCyUtIz2rUD44ZEdwg78/jKmMJHj07+C/Z/rcog=="], 209 + 210 + "@radix-ui/react-collection": ["@radix-ui/react-collection@1.1.7", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw=="], 211 + 212 + "@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg=="], 213 + 214 + "@radix-ui/react-context": ["@radix-ui/react-context@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA=="], 215 + 216 + "@radix-ui/react-dialog": ["@radix-ui/react-dialog@1.1.14", "", { "dependencies": { "@radix-ui/primitive": "1.1.2", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.10", "@radix-ui/react-focus-guards": "1.1.2", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.4", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-controllable-state": "1.2.2", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-+CpweKjqpzTmwRwcYECQcNYbI8V9VSQt0SNFKeEBLgfucbsLssU6Ppq7wUdNXEGb573bMjFhVjKVll8rmV6zMw=="], 217 + 218 + "@radix-ui/react-direction": ["@radix-ui/react-direction@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw=="], 219 + 220 + "@radix-ui/react-dismissable-layer": ["@radix-ui/react-dismissable-layer@1.1.10", "", { "dependencies": { "@radix-ui/primitive": "1.1.2", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-escape-keydown": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-IM1zzRV4W3HtVgftdQiiOmA0AdJlCtMLe00FXaHwgt3rAnNsIyDqshvkIW3hj/iu5hu8ERP7KIYki6NkqDxAwQ=="], 221 + 222 + "@radix-ui/react-dropdown-menu": ["@radix-ui/react-dropdown-menu@2.1.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.2", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-menu": "2.1.15", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-mIBnOjgwo9AH3FyKaSWoSu/dYj6VdhJ7frEPiGTeXCdUFHjl9h3mFh2wwhEtINOmYXWhdpf1rY2minFsmaNgVQ=="], 223 + 224 + "@radix-ui/react-focus-guards": ["@radix-ui/react-focus-guards@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-fyjAACV62oPV925xFCrH8DR5xWhg9KYtJT4s3u54jxp+L/hbpTY2kIeEFFbFe+a/HCE94zGQMZLIpVTPVZDhaA=="], 225 + 226 + "@radix-ui/react-focus-scope": ["@radix-ui/react-focus-scope@1.1.7", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw=="], 227 + 228 + "@radix-ui/react-id": ["@radix-ui/react-id@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg=="], 229 + 230 + "@radix-ui/react-menu": ["@radix-ui/react-menu@2.1.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.2", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.10", "@radix-ui/react-focus-guards": "1.1.2", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-popper": "1.2.7", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.4", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-roving-focus": "1.1.10", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-callback-ref": "1.1.1", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-tVlmA3Vb9n8SZSd+YSbuFR66l87Wiy4du+YE+0hzKQEANA+7cWKH1WgqcEX4pXqxUFQKrWQGHdvEfw00TjFiew=="], 231 + 232 + "@radix-ui/react-popper": ["@radix-ui/react-popper@1.2.7", "", { "dependencies": { "@floating-ui/react-dom": "^2.0.0", "@radix-ui/react-arrow": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-rect": "1.1.1", "@radix-ui/react-use-size": "1.1.1", "@radix-ui/rect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-IUFAccz1JyKcf/RjB552PlWwxjeCJB8/4KxT7EhBHOJM+mN7LdW+B3kacJXILm32xawcMMjb2i0cIZpo+f9kiQ=="], 233 + 234 + "@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.9", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ=="], 235 + 236 + "@radix-ui/react-presence": ["@radix-ui/react-presence@1.1.4", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-ueDqRbdc4/bkaQT3GIpLQssRlFgWaL/U2z/S31qRwwLWoxHLgry3SIfCwhxeQNbirEUXFa+lq3RL3oBYXtcmIA=="], 237 + 238 + "@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.3", "", { "dependencies": { "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ=="], 239 + 240 + "@radix-ui/react-roving-focus": ["@radix-ui/react-roving-focus@1.1.10", "", { "dependencies": { "@radix-ui/primitive": "1.1.2", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-dT9aOXUen9JSsxnMPv/0VqySQf5eDQ6LCk5Sw28kamz8wSOW2bJdlX2Bg5VUIIcV+6XlHpWTIuTPCf/UNIyq8Q=="], 241 + 242 + "@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], 243 + 244 + "@radix-ui/react-tabs": ["@radix-ui/react-tabs@1.1.12", "", { "dependencies": { "@radix-ui/primitive": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-presence": "1.1.4", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-roving-focus": "1.1.10", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-GTVAlRVrQrSw3cEARM0nAx73ixrWDPNZAruETn3oHCNP6SbZ/hNxdxp+u7VkIEv3/sFoLq1PfcHrl7Pnp0CDpw=="], 245 + 246 + "@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg=="], 247 + 248 + "@radix-ui/react-use-controllable-state": ["@radix-ui/react-use-controllable-state@1.2.2", "", { "dependencies": { "@radix-ui/react-use-effect-event": "0.0.2", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg=="], 249 + 250 + "@radix-ui/react-use-effect-event": ["@radix-ui/react-use-effect-event@0.0.2", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA=="], 251 + 252 + "@radix-ui/react-use-escape-keydown": ["@radix-ui/react-use-escape-keydown@1.1.1", "", { "dependencies": { "@radix-ui/react-use-callback-ref": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g=="], 253 + 254 + "@radix-ui/react-use-is-hydrated": ["@radix-ui/react-use-is-hydrated@0.1.0", "", { "dependencies": { "use-sync-external-store": "^1.5.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-U+UORVEq+cTnRIaostJv9AGdV3G6Y+zbVd+12e18jQ5A3c0xL03IhnHuiU4UV69wolOQp5GfR58NW/EgdQhwOA=="], 255 + 256 + "@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], 257 + 258 + "@radix-ui/react-use-rect": ["@radix-ui/react-use-rect@1.1.1", "", { "dependencies": { "@radix-ui/rect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w=="], 259 + 260 + "@radix-ui/react-use-size": ["@radix-ui/react-use-size@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ=="], 261 + 262 + "@radix-ui/rect": ["@radix-ui/rect@1.1.1", "", {}, "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw=="], 263 + 264 + "@rtsao/scc": ["@rtsao/scc@1.1.0", "", {}, "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g=="], 265 + 266 + "@rushstack/eslint-patch": ["@rushstack/eslint-patch@1.12.0", "", {}, "sha512-5EwMtOqvJMMa3HbmxLlF74e+3/HhwBTMcvt3nqVJgGCozO6hzIPOBlwm8mGVNR9SN2IJpxSnlxczyDjcn7qIyw=="], 267 + 268 + "@swc/helpers": ["@swc/helpers@0.5.15", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g=="], 269 + 270 + "@tailwindcss/node": ["@tailwindcss/node@4.1.11", "", { "dependencies": { "@ampproject/remapping": "^2.3.0", "enhanced-resolve": "^5.18.1", "jiti": "^2.4.2", "lightningcss": "1.30.1", "magic-string": "^0.30.17", "source-map-js": "^1.2.1", "tailwindcss": "4.1.11" } }, "sha512-yzhzuGRmv5QyU9qLNg4GTlYI6STedBWRE7NjxP45CsFYYq9taI0zJXZBMqIC/c8fViNLhmrbpSFS57EoxUmD6Q=="], 271 + 272 + "@tailwindcss/oxide": ["@tailwindcss/oxide@4.1.11", "", { "dependencies": { "detect-libc": "^2.0.4", "tar": "^7.4.3" }, "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.1.11", "@tailwindcss/oxide-darwin-arm64": "4.1.11", "@tailwindcss/oxide-darwin-x64": "4.1.11", "@tailwindcss/oxide-freebsd-x64": "4.1.11", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.11", "@tailwindcss/oxide-linux-arm64-gnu": "4.1.11", "@tailwindcss/oxide-linux-arm64-musl": "4.1.11", "@tailwindcss/oxide-linux-x64-gnu": "4.1.11", "@tailwindcss/oxide-linux-x64-musl": "4.1.11", "@tailwindcss/oxide-wasm32-wasi": "4.1.11", "@tailwindcss/oxide-win32-arm64-msvc": "4.1.11", "@tailwindcss/oxide-win32-x64-msvc": "4.1.11" } }, "sha512-Q69XzrtAhuyfHo+5/HMgr1lAiPP/G40OMFAnws7xcFEYqcypZmdW8eGXaOUIeOl1dzPJBPENXgbjsOyhg2nkrg=="], 273 + 274 + "@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.1.11", "", { "os": "android", "cpu": "arm64" }, "sha512-3IfFuATVRUMZZprEIx9OGDjG3Ou3jG4xQzNTvjDoKmU9JdmoCohQJ83MYd0GPnQIu89YoJqvMM0G3uqLRFtetg=="], 275 + 276 + "@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.1.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-ESgStEOEsyg8J5YcMb1xl8WFOXfeBmrhAwGsFxxB2CxY9evy63+AtpbDLAyRkJnxLy2WsD1qF13E97uQyP1lfQ=="], 277 + 278 + "@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.1.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-EgnK8kRchgmgzG6jE10UQNaH9Mwi2n+yw1jWmof9Vyg2lpKNX2ioe7CJdf9M5f8V9uaQxInenZkOxnTVL3fhAw=="], 279 + 280 + "@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.1.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-xdqKtbpHs7pQhIKmqVpxStnY1skuNh4CtbcyOHeX1YBE0hArj2romsFGb6yUmzkq/6M24nkxDqU8GYrKrz+UcA=="], 281 + 282 + "@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.1.11", "", { "os": "linux", "cpu": "arm" }, "sha512-ryHQK2eyDYYMwB5wZL46uoxz2zzDZsFBwfjssgB7pzytAeCCa6glsiJGjhTEddq/4OsIjsLNMAiMlHNYnkEEeg=="], 283 + 284 + "@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.1.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-mYwqheq4BXF83j/w75ewkPJmPZIqqP1nhoghS9D57CLjsh3Nfq0m4ftTotRYtGnZd3eCztgbSPJ9QhfC91gDZQ=="], 285 + 286 + "@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.1.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-m/NVRFNGlEHJrNVk3O6I9ggVuNjXHIPoD6bqay/pubtYC9QIdAMpS+cswZQPBLvVvEF6GtSNONbDkZrjWZXYNQ=="], 287 + 288 + "@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.1.11", "", { "os": "linux", "cpu": "x64" }, "sha512-YW6sblI7xukSD2TdbbaeQVDysIm/UPJtObHJHKxDEcW2exAtY47j52f8jZXkqE1krdnkhCMGqP3dbniu1Te2Fg=="], 289 + 290 + "@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.1.11", "", { "os": "linux", "cpu": "x64" }, "sha512-e3C/RRhGunWYNC3aSF7exsQkdXzQ/M+aYuZHKnw4U7KQwTJotnWsGOIVih0s2qQzmEzOFIJ3+xt7iq67K/p56Q=="], 291 + 292 + "@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.1.11", "", { "dependencies": { "@emnapi/core": "^1.4.3", "@emnapi/runtime": "^1.4.3", "@emnapi/wasi-threads": "^1.0.2", "@napi-rs/wasm-runtime": "^0.2.11", "@tybys/wasm-util": "^0.9.0", "tslib": "^2.8.0" }, "cpu": "none" }, "sha512-Xo1+/GU0JEN/C/dvcammKHzeM6NqKovG+6921MR6oadee5XPBaKOumrJCXvopJ/Qb5TH7LX/UAywbqrP4lax0g=="], 293 + 294 + "@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.1.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-UgKYx5PwEKrac3GPNPf6HVMNhUIGuUh4wlDFR2jYYdkX6pL/rn73zTq/4pzUm8fOjAn5L8zDeHp9iXmUGOXZ+w=="], 295 + 296 + "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.1.11", "", { "os": "win32", "cpu": "x64" }, "sha512-YfHoggn1j0LK7wR82TOucWc5LDCguHnoS879idHekmmiR7g9HUtMw9MI0NHatS28u/Xlkfi9w5RJWgz2Dl+5Qg=="], 297 + 298 + "@tailwindcss/postcss": ["@tailwindcss/postcss@4.1.11", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "@tailwindcss/node": "4.1.11", "@tailwindcss/oxide": "4.1.11", "postcss": "^8.4.41", "tailwindcss": "4.1.11" } }, "sha512-q/EAIIpF6WpLhKEuQSEVMZNMIY8KhWoAemZ9eylNAih9jxMGAYPPWBn3I9QL/2jZ+e7OEz/tZkX5HwbBR4HohA=="], 299 + 300 + "@tybys/wasm-util": ["@tybys/wasm-util@0.10.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ=="], 301 + 302 + "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], 303 + 304 + "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], 305 + 306 + "@types/json5": ["@types/json5@0.0.29", "", {}, "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="], 307 + 308 + "@types/node": ["@types/node@20.19.9", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-cuVNgarYWZqxRJDQHEB58GEONhOK79QVR/qYx4S7kcUObQvUwvFnYxJuuHUKm2aieN9X3yZB4LZsuYNU1Qphsw=="], 309 + 310 + "@types/react": ["@types/react@19.1.8", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g=="], 311 + 312 + "@types/react-dom": ["@types/react-dom@19.1.6", "", { "peerDependencies": { "@types/react": "^19.0.0" } }, "sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw=="], 313 + 314 + "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.38.0", "", { "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "8.38.0", "@typescript-eslint/type-utils": "8.38.0", "@typescript-eslint/utils": "8.38.0", "@typescript-eslint/visitor-keys": "8.38.0", "graphemer": "^1.4.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.38.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-CPoznzpuAnIOl4nhj4tRr4gIPj5AfKgkiJmGQDaq+fQnRJTYlcBjbX3wbciGmpoPf8DREufuPRe1tNMZnGdanA=="], 315 + 316 + "@typescript-eslint/parser": ["@typescript-eslint/parser@8.38.0", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.38.0", "@typescript-eslint/types": "8.38.0", "@typescript-eslint/typescript-estree": "8.38.0", "@typescript-eslint/visitor-keys": "8.38.0", "debug": "^4.3.4" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-Zhy8HCvBUEfBECzIl1PKqF4p11+d0aUJS1GeUiuqK9WmOug8YCmC4h4bjyBvMyAMI9sbRczmrYL5lKg/YMbrcQ=="], 317 + 318 + "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.38.0", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.38.0", "@typescript-eslint/types": "^8.38.0", "debug": "^4.3.4" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-dbK7Jvqcb8c9QfH01YB6pORpqX1mn5gDZc9n63Ak/+jD67oWXn3Gs0M6vddAN+eDXBCS5EmNWzbSxsn9SzFWWg=="], 319 + 320 + "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.38.0", "", { "dependencies": { "@typescript-eslint/types": "8.38.0", "@typescript-eslint/visitor-keys": "8.38.0" } }, "sha512-WJw3AVlFFcdT9Ri1xs/lg8LwDqgekWXWhH3iAF+1ZM+QPd7oxQ6jvtW/JPwzAScxitILUIFs0/AnQ/UWHzbATQ=="], 321 + 322 + "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.38.0", "", { "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-Lum9RtSE3EroKk/bYns+sPOodqb2Fv50XOl/gMviMKNvanETUuUcC9ObRbzrJ4VSd2JalPqgSAavwrPiPvnAiQ=="], 323 + 324 + "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.38.0", "", { "dependencies": { "@typescript-eslint/types": "8.38.0", "@typescript-eslint/typescript-estree": "8.38.0", "@typescript-eslint/utils": "8.38.0", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-c7jAvGEZVf0ao2z+nnz8BUaHZD09Agbh+DY7qvBQqLiz8uJzRgVPj5YvOh8I8uEiH8oIUGIfHzMwUcGVco/SJg=="], 325 + 326 + "@typescript-eslint/types": ["@typescript-eslint/types@8.38.0", "", {}, "sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw=="], 327 + 328 + "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.38.0", "", { "dependencies": { "@typescript-eslint/project-service": "8.38.0", "@typescript-eslint/tsconfig-utils": "8.38.0", "@typescript-eslint/types": "8.38.0", "@typescript-eslint/visitor-keys": "8.38.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-fooELKcAKzxux6fA6pxOflpNS0jc+nOQEEOipXFNjSlBS6fqrJOVY/whSn70SScHrcJ2LDsxWrneFoWYSVfqhQ=="], 329 + 330 + "@typescript-eslint/utils": ["@typescript-eslint/utils@8.38.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", "@typescript-eslint/scope-manager": "8.38.0", "@typescript-eslint/types": "8.38.0", "@typescript-eslint/typescript-estree": "8.38.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-hHcMA86Hgt+ijJlrD8fX0j1j8w4C92zue/8LOPAFioIno+W0+L7KqE8QZKCcPGc/92Vs9x36w/4MPTJhqXdyvg=="], 331 + 332 + "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.38.0", "", { "dependencies": { "@typescript-eslint/types": "8.38.0", "eslint-visitor-keys": "^4.2.1" } }, "sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g=="], 333 + 334 + "@unrs/resolver-binding-android-arm-eabi": ["@unrs/resolver-binding-android-arm-eabi@1.11.1", "", { "os": "android", "cpu": "arm" }, "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw=="], 335 + 336 + "@unrs/resolver-binding-android-arm64": ["@unrs/resolver-binding-android-arm64@1.11.1", "", { "os": "android", "cpu": "arm64" }, "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g=="], 337 + 338 + "@unrs/resolver-binding-darwin-arm64": ["@unrs/resolver-binding-darwin-arm64@1.11.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g=="], 339 + 340 + "@unrs/resolver-binding-darwin-x64": ["@unrs/resolver-binding-darwin-x64@1.11.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ=="], 341 + 342 + "@unrs/resolver-binding-freebsd-x64": ["@unrs/resolver-binding-freebsd-x64@1.11.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw=="], 343 + 344 + "@unrs/resolver-binding-linux-arm-gnueabihf": ["@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1", "", { "os": "linux", "cpu": "arm" }, "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw=="], 345 + 346 + "@unrs/resolver-binding-linux-arm-musleabihf": ["@unrs/resolver-binding-linux-arm-musleabihf@1.11.1", "", { "os": "linux", "cpu": "arm" }, "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw=="], 347 + 348 + "@unrs/resolver-binding-linux-arm64-gnu": ["@unrs/resolver-binding-linux-arm64-gnu@1.11.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ=="], 349 + 350 + "@unrs/resolver-binding-linux-arm64-musl": ["@unrs/resolver-binding-linux-arm64-musl@1.11.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w=="], 351 + 352 + "@unrs/resolver-binding-linux-ppc64-gnu": ["@unrs/resolver-binding-linux-ppc64-gnu@1.11.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA=="], 353 + 354 + "@unrs/resolver-binding-linux-riscv64-gnu": ["@unrs/resolver-binding-linux-riscv64-gnu@1.11.1", "", { "os": "linux", "cpu": "none" }, "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ=="], 355 + 356 + "@unrs/resolver-binding-linux-riscv64-musl": ["@unrs/resolver-binding-linux-riscv64-musl@1.11.1", "", { "os": "linux", "cpu": "none" }, "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew=="], 357 + 358 + "@unrs/resolver-binding-linux-s390x-gnu": ["@unrs/resolver-binding-linux-s390x-gnu@1.11.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg=="], 359 + 360 + "@unrs/resolver-binding-linux-x64-gnu": ["@unrs/resolver-binding-linux-x64-gnu@1.11.1", "", { "os": "linux", "cpu": "x64" }, "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w=="], 361 + 362 + "@unrs/resolver-binding-linux-x64-musl": ["@unrs/resolver-binding-linux-x64-musl@1.11.1", "", { "os": "linux", "cpu": "x64" }, "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA=="], 363 + 364 + "@unrs/resolver-binding-wasm32-wasi": ["@unrs/resolver-binding-wasm32-wasi@1.11.1", "", { "dependencies": { "@napi-rs/wasm-runtime": "^0.2.11" }, "cpu": "none" }, "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ=="], 365 + 366 + "@unrs/resolver-binding-win32-arm64-msvc": ["@unrs/resolver-binding-win32-arm64-msvc@1.11.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw=="], 367 + 368 + "@unrs/resolver-binding-win32-ia32-msvc": ["@unrs/resolver-binding-win32-ia32-msvc@1.11.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ=="], 369 + 370 + "@unrs/resolver-binding-win32-x64-msvc": ["@unrs/resolver-binding-win32-x64-msvc@1.11.1", "", { "os": "win32", "cpu": "x64" }, "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g=="], 371 + 372 + "acorn": ["acorn@8.15.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="], 373 + 374 + "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], 375 + 376 + "ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], 377 + 378 + "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], 379 + 380 + "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], 381 + 382 + "aria-hidden": ["aria-hidden@1.2.6", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA=="], 383 + 384 + "aria-query": ["aria-query@5.3.2", "", {}, "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw=="], 385 + 386 + "array-buffer-byte-length": ["array-buffer-byte-length@1.0.2", "", { "dependencies": { "call-bound": "^1.0.3", "is-array-buffer": "^3.0.5" } }, "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw=="], 387 + 388 + "array-includes": ["array-includes@3.1.9", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.4", "define-properties": "^1.2.1", "es-abstract": "^1.24.0", "es-object-atoms": "^1.1.1", "get-intrinsic": "^1.3.0", "is-string": "^1.1.1", "math-intrinsics": "^1.1.0" } }, "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ=="], 389 + 390 + "array.prototype.findlast": ["array.prototype.findlast@1.2.5", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.2", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", "es-shim-unscopables": "^1.0.2" } }, "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ=="], 391 + 392 + "array.prototype.findlastindex": ["array.prototype.findlastindex@1.2.6", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.4", "define-properties": "^1.2.1", "es-abstract": "^1.23.9", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "es-shim-unscopables": "^1.1.0" } }, "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ=="], 393 + 394 + "array.prototype.flat": ["array.prototype.flat@1.3.3", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-shim-unscopables": "^1.0.2" } }, "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg=="], 395 + 396 + "array.prototype.flatmap": ["array.prototype.flatmap@1.3.3", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-shim-unscopables": "^1.0.2" } }, "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg=="], 397 + 398 + "array.prototype.tosorted": ["array.prototype.tosorted@1.1.4", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.3", "es-errors": "^1.3.0", "es-shim-unscopables": "^1.0.2" } }, "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA=="], 399 + 400 + "arraybuffer.prototype.slice": ["arraybuffer.prototype.slice@1.0.4", "", { "dependencies": { "array-buffer-byte-length": "^1.0.1", "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "is-array-buffer": "^3.0.4" } }, "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ=="], 401 + 402 + "ast-types-flow": ["ast-types-flow@0.0.8", "", {}, "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ=="], 403 + 404 + "async-function": ["async-function@1.0.0", "", {}, "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA=="], 405 + 406 + "available-typed-arrays": ["available-typed-arrays@1.0.7", "", { "dependencies": { "possible-typed-array-names": "^1.0.0" } }, "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ=="], 407 + 408 + "await-lock": ["await-lock@2.2.2", "", {}, "sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw=="], 409 + 410 + "axe-core": ["axe-core@4.10.3", "", {}, "sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg=="], 411 + 412 + "axobject-query": ["axobject-query@4.1.0", "", {}, "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ=="], 413 + 414 + "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], 415 + 416 + "brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], 417 + 418 + "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], 419 + 420 + "call-bind": ["call-bind@1.0.8", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", "get-intrinsic": "^1.2.4", "set-function-length": "^1.2.2" } }, "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww=="], 421 + 422 + "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], 423 + 424 + "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], 425 + 426 + "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], 427 + 428 + "caniuse-lite": ["caniuse-lite@1.0.30001727", "", {}, "sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q=="], 429 + 430 + "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], 431 + 432 + "chownr": ["chownr@3.0.0", "", {}, "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g=="], 433 + 434 + "class-variance-authority": ["class-variance-authority@0.7.1", "", { "dependencies": { "clsx": "^2.1.1" } }, "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg=="], 435 + 436 + "client-only": ["client-only@0.0.1", "", {}, "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="], 437 + 438 + "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], 439 + 440 + "color": ["color@4.2.3", "", { "dependencies": { "color-convert": "^2.0.1", "color-string": "^1.9.0" } }, "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A=="], 441 + 442 + "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], 443 + 444 + "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], 445 + 446 + "color-string": ["color-string@1.9.1", "", { "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg=="], 447 + 448 + "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], 449 + 450 + "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], 451 + 452 + "csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="], 453 + 454 + "damerau-levenshtein": ["damerau-levenshtein@1.0.8", "", {}, "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA=="], 455 + 456 + "data-view-buffer": ["data-view-buffer@1.0.2", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "is-data-view": "^1.0.2" } }, "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ=="], 457 + 458 + "data-view-byte-length": ["data-view-byte-length@1.0.2", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "is-data-view": "^1.0.2" } }, "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ=="], 459 + 460 + "data-view-byte-offset": ["data-view-byte-offset@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" } }, "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ=="], 461 + 462 + "debug": ["debug@4.4.1", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ=="], 463 + 464 + "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], 465 + 466 + "define-data-property": ["define-data-property@1.1.4", "", { "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" } }, "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A=="], 467 + 468 + "define-properties": ["define-properties@1.2.1", "", { "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" } }, "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg=="], 469 + 470 + "detect-libc": ["detect-libc@2.0.4", "", {}, "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA=="], 471 + 472 + "detect-node-es": ["detect-node-es@1.1.0", "", {}, "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="], 473 + 474 + "doctrine": ["doctrine@2.1.0", "", { "dependencies": { "esutils": "^2.0.2" } }, "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw=="], 475 + 476 + "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], 477 + 478 + "emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], 479 + 480 + "enhanced-resolve": ["enhanced-resolve@5.18.2", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" } }, "sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ=="], 481 + 482 + "es-abstract": ["es-abstract@1.24.0", "", { "dependencies": { "array-buffer-byte-length": "^1.0.2", "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", "call-bound": "^1.0.4", "data-view-buffer": "^1.0.2", "data-view-byte-length": "^1.0.2", "data-view-byte-offset": "^1.0.1", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "es-set-tostringtag": "^2.1.0", "es-to-primitive": "^1.3.0", "function.prototype.name": "^1.1.8", "get-intrinsic": "^1.3.0", "get-proto": "^1.0.1", "get-symbol-description": "^1.1.0", "globalthis": "^1.0.4", "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", "has-proto": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "internal-slot": "^1.1.0", "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", "is-data-view": "^1.0.2", "is-negative-zero": "^2.0.3", "is-regex": "^1.2.1", "is-set": "^2.0.3", "is-shared-array-buffer": "^1.0.4", "is-string": "^1.1.1", "is-typed-array": "^1.1.15", "is-weakref": "^1.1.1", "math-intrinsics": "^1.1.0", "object-inspect": "^1.13.4", "object-keys": "^1.1.1", "object.assign": "^4.1.7", "own-keys": "^1.0.1", "regexp.prototype.flags": "^1.5.4", "safe-array-concat": "^1.1.3", "safe-push-apply": "^1.0.0", "safe-regex-test": "^1.1.0", "set-proto": "^1.0.0", "stop-iteration-iterator": "^1.1.0", "string.prototype.trim": "^1.2.10", "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", "typed-array-buffer": "^1.0.3", "typed-array-byte-length": "^1.0.3", "typed-array-byte-offset": "^1.0.4", "typed-array-length": "^1.0.7", "unbox-primitive": "^1.1.0", "which-typed-array": "^1.1.19" } }, "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg=="], 483 + 484 + "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], 485 + 486 + "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], 487 + 488 + "es-iterator-helpers": ["es-iterator-helpers@1.2.1", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-abstract": "^1.23.6", "es-errors": "^1.3.0", "es-set-tostringtag": "^2.0.3", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.6", "globalthis": "^1.0.4", "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", "has-proto": "^1.2.0", "has-symbols": "^1.1.0", "internal-slot": "^1.1.0", "iterator.prototype": "^1.1.4", "safe-array-concat": "^1.1.3" } }, "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w=="], 489 + 490 + "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], 491 + 492 + "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="], 493 + 494 + "es-shim-unscopables": ["es-shim-unscopables@1.1.0", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw=="], 495 + 496 + "es-to-primitive": ["es-to-primitive@1.3.0", "", { "dependencies": { "is-callable": "^1.2.7", "is-date-object": "^1.0.5", "is-symbol": "^1.0.4" } }, "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g=="], 497 + 498 + "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], 499 + 500 + "eslint": ["eslint@9.32.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.21.0", "@eslint/config-helpers": "^0.3.0", "@eslint/core": "^0.15.0", "@eslint/eslintrc": "^3.3.1", "@eslint/js": "9.32.0", "@eslint/plugin-kit": "^0.3.4", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.4.0", "eslint-visitor-keys": "^4.2.1", "espree": "^10.4.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-LSehfdpgMeWcTZkWZVIJl+tkZ2nuSkyyB9C27MZqFWXuph7DvaowgcTvKqxvpLW1JZIk8PN7hFY3Rj9LQ7m7lg=="], 501 + 502 + "eslint-config-next": ["eslint-config-next@15.4.4", "", { "dependencies": { "@next/eslint-plugin-next": "15.4.4", "@rushstack/eslint-patch": "^1.10.3", "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "eslint-import-resolver-node": "^0.3.6", "eslint-import-resolver-typescript": "^3.5.2", "eslint-plugin-import": "^2.31.0", "eslint-plugin-jsx-a11y": "^6.10.0", "eslint-plugin-react": "^7.37.0", "eslint-plugin-react-hooks": "^5.0.0" }, "peerDependencies": { "eslint": "^7.23.0 || ^8.0.0 || ^9.0.0", "typescript": ">=3.3.1" }, "optionalPeers": ["typescript"] }, "sha512-sK/lWLUVF5om18O5w76Jt3F8uzu/LP5mVa6TprCMWkjWHUmByq80iHGHcdH7k1dLiJlj+DRIWf98d5piwRsSuA=="], 503 + 504 + "eslint-import-resolver-node": ["eslint-import-resolver-node@0.3.9", "", { "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.13.0", "resolve": "^1.22.4" } }, "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g=="], 505 + 506 + "eslint-import-resolver-typescript": ["eslint-import-resolver-typescript@3.10.1", "", { "dependencies": { "@nolyfill/is-core-module": "1.0.39", "debug": "^4.4.0", "get-tsconfig": "^4.10.0", "is-bun-module": "^2.0.0", "stable-hash": "^0.0.5", "tinyglobby": "^0.2.13", "unrs-resolver": "^1.6.2" }, "peerDependencies": { "eslint": "*", "eslint-plugin-import": "*", "eslint-plugin-import-x": "*" }, "optionalPeers": ["eslint-plugin-import", "eslint-plugin-import-x"] }, "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ=="], 507 + 508 + "eslint-module-utils": ["eslint-module-utils@2.12.1", "", { "dependencies": { "debug": "^3.2.7" } }, "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw=="], 509 + 510 + "eslint-plugin-import": ["eslint-plugin-import@2.32.0", "", { "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", "array.prototype.findlastindex": "^1.2.6", "array.prototype.flat": "^1.3.3", "array.prototype.flatmap": "^1.3.3", "debug": "^3.2.7", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.9", "eslint-module-utils": "^2.12.1", "hasown": "^2.0.2", "is-core-module": "^2.16.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "object.groupby": "^1.0.3", "object.values": "^1.2.1", "semver": "^6.3.1", "string.prototype.trimend": "^1.0.9", "tsconfig-paths": "^3.15.0" }, "peerDependencies": { "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" } }, "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA=="], 511 + 512 + "eslint-plugin-jsx-a11y": ["eslint-plugin-jsx-a11y@6.10.2", "", { "dependencies": { "aria-query": "^5.3.2", "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", "axe-core": "^4.10.0", "axobject-query": "^4.1.0", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", "hasown": "^2.0.2", "jsx-ast-utils": "^3.3.5", "language-tags": "^1.0.9", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "safe-regex-test": "^1.0.3", "string.prototype.includes": "^2.0.1" }, "peerDependencies": { "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } }, "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q=="], 513 + 514 + "eslint-plugin-react": ["eslint-plugin-react@7.37.5", "", { "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", "array.prototype.flatmap": "^1.3.3", "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", "es-iterator-helpers": "^1.2.1", "estraverse": "^5.3.0", "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", "object.entries": "^1.1.9", "object.fromentries": "^2.0.8", "object.values": "^1.2.1", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.5", "semver": "^6.3.1", "string.prototype.matchall": "^4.0.12", "string.prototype.repeat": "^1.0.0" }, "peerDependencies": { "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA=="], 515 + 516 + "eslint-plugin-react-hooks": ["eslint-plugin-react-hooks@5.2.0", "", { "peerDependencies": { "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg=="], 517 + 518 + "eslint-scope": ["eslint-scope@8.4.0", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg=="], 519 + 520 + "eslint-visitor-keys": ["eslint-visitor-keys@4.2.1", "", {}, "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ=="], 521 + 522 + "espree": ["espree@10.4.0", "", { "dependencies": { "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.2.1" } }, "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ=="], 523 + 524 + "esquery": ["esquery@1.6.0", "", { "dependencies": { "estraverse": "^5.1.0" } }, "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg=="], 525 + 526 + "esrecurse": ["esrecurse@4.3.0", "", { "dependencies": { "estraverse": "^5.2.0" } }, "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="], 527 + 528 + "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], 529 + 530 + "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="], 531 + 532 + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], 533 + 534 + "fast-glob": ["fast-glob@3.3.1", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.4" } }, "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg=="], 535 + 536 + "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="], 537 + 538 + "fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="], 539 + 540 + "fastq": ["fastq@1.19.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ=="], 541 + 542 + "fdir": ["fdir@6.4.6", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w=="], 543 + 544 + "file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="], 545 + 546 + "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], 547 + 548 + "find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="], 549 + 550 + "flat-cache": ["flat-cache@4.0.1", "", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" } }, "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw=="], 551 + 552 + "flatted": ["flatted@3.3.3", "", {}, "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg=="], 553 + 554 + "for-each": ["for-each@0.3.5", "", { "dependencies": { "is-callable": "^1.2.7" } }, "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg=="], 555 + 556 + "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], 557 + 558 + "function.prototype.name": ["function.prototype.name@1.1.8", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", "functions-have-names": "^1.2.3", "hasown": "^2.0.2", "is-callable": "^1.2.7" } }, "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q=="], 559 + 560 + "functions-have-names": ["functions-have-names@1.2.3", "", {}, "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ=="], 561 + 562 + "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], 563 + 564 + "get-nonce": ["get-nonce@1.0.1", "", {}, "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q=="], 565 + 566 + "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], 567 + 568 + "get-symbol-description": ["get-symbol-description@1.1.0", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6" } }, "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg=="], 569 + 570 + "get-tsconfig": ["get-tsconfig@4.10.1", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ=="], 571 + 572 + "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], 573 + 574 + "globals": ["globals@14.0.0", "", {}, "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ=="], 575 + 576 + "globalthis": ["globalthis@1.0.4", "", { "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" } }, "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ=="], 577 + 578 + "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], 579 + 580 + "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], 581 + 582 + "graphemer": ["graphemer@1.4.0", "", {}, "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="], 583 + 584 + "has-bigints": ["has-bigints@1.1.0", "", {}, "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg=="], 585 + 586 + "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], 587 + 588 + "has-property-descriptors": ["has-property-descriptors@1.0.2", "", { "dependencies": { "es-define-property": "^1.0.0" } }, "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg=="], 589 + 590 + "has-proto": ["has-proto@1.2.0", "", { "dependencies": { "dunder-proto": "^1.0.0" } }, "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ=="], 591 + 592 + "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], 593 + 594 + "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="], 595 + 596 + "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], 597 + 598 + "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], 599 + 600 + "import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="], 601 + 602 + "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], 603 + 604 + "internal-slot": ["internal-slot@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.2", "side-channel": "^1.1.0" } }, "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw=="], 605 + 606 + "is-array-buffer": ["is-array-buffer@3.0.5", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "get-intrinsic": "^1.2.6" } }, "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A=="], 607 + 608 + "is-arrayish": ["is-arrayish@0.3.2", "", {}, "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="], 609 + 610 + "is-async-function": ["is-async-function@2.1.1", "", { "dependencies": { "async-function": "^1.0.0", "call-bound": "^1.0.3", "get-proto": "^1.0.1", "has-tostringtag": "^1.0.2", "safe-regex-test": "^1.1.0" } }, "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ=="], 611 + 612 + "is-bigint": ["is-bigint@1.1.0", "", { "dependencies": { "has-bigints": "^1.0.2" } }, "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ=="], 613 + 614 + "is-boolean-object": ["is-boolean-object@1.2.2", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A=="], 615 + 616 + "is-bun-module": ["is-bun-module@2.0.0", "", { "dependencies": { "semver": "^7.7.1" } }, "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ=="], 617 + 618 + "is-callable": ["is-callable@1.2.7", "", {}, "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="], 619 + 620 + "is-core-module": ["is-core-module@2.16.1", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="], 621 + 622 + "is-data-view": ["is-data-view@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "get-intrinsic": "^1.2.6", "is-typed-array": "^1.1.13" } }, "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw=="], 623 + 624 + "is-date-object": ["is-date-object@1.1.0", "", { "dependencies": { "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" } }, "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg=="], 625 + 626 + "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], 627 + 628 + "is-finalizationregistry": ["is-finalizationregistry@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3" } }, "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg=="], 629 + 630 + "is-generator-function": ["is-generator-function@1.1.0", "", { "dependencies": { "call-bound": "^1.0.3", "get-proto": "^1.0.0", "has-tostringtag": "^1.0.2", "safe-regex-test": "^1.1.0" } }, "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ=="], 631 + 632 + "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], 633 + 634 + "is-map": ["is-map@2.0.3", "", {}, "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw=="], 635 + 636 + "is-negative-zero": ["is-negative-zero@2.0.3", "", {}, "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw=="], 637 + 638 + "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], 639 + 640 + "is-number-object": ["is-number-object@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw=="], 641 + 642 + "is-regex": ["is-regex@1.2.1", "", { "dependencies": { "call-bound": "^1.0.2", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g=="], 643 + 644 + "is-set": ["is-set@2.0.3", "", {}, "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg=="], 645 + 646 + "is-shared-array-buffer": ["is-shared-array-buffer@1.0.4", "", { "dependencies": { "call-bound": "^1.0.3" } }, "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A=="], 647 + 648 + "is-string": ["is-string@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA=="], 649 + 650 + "is-symbol": ["is-symbol@1.1.1", "", { "dependencies": { "call-bound": "^1.0.2", "has-symbols": "^1.1.0", "safe-regex-test": "^1.1.0" } }, "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w=="], 651 + 652 + "is-typed-array": ["is-typed-array@1.1.15", "", { "dependencies": { "which-typed-array": "^1.1.16" } }, "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ=="], 653 + 654 + "is-weakmap": ["is-weakmap@2.0.2", "", {}, "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w=="], 655 + 656 + "is-weakref": ["is-weakref@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3" } }, "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew=="], 657 + 658 + "is-weakset": ["is-weakset@2.0.4", "", { "dependencies": { "call-bound": "^1.0.3", "get-intrinsic": "^1.2.6" } }, "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ=="], 659 + 660 + "isarray": ["isarray@2.0.5", "", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="], 661 + 662 + "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], 663 + 664 + "iso-datestring-validator": ["iso-datestring-validator@2.2.2", "", {}, "sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA=="], 665 + 666 + "iterator.prototype": ["iterator.prototype@1.1.5", "", { "dependencies": { "define-data-property": "^1.1.4", "es-object-atoms": "^1.0.0", "get-intrinsic": "^1.2.6", "get-proto": "^1.0.0", "has-symbols": "^1.1.0", "set-function-name": "^2.0.2" } }, "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g=="], 667 + 668 + "jiti": ["jiti@2.5.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w=="], 669 + 670 + "jose": ["jose@5.10.0", "", {}, "sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg=="], 671 + 672 + "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], 673 + 674 + "js-yaml": ["js-yaml@4.1.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="], 675 + 676 + "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="], 677 + 678 + "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], 679 + 680 + "json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="], 681 + 682 + "json5": ["json5@1.0.2", "", { "dependencies": { "minimist": "^1.2.0" }, "bin": { "json5": "lib/cli.js" } }, "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA=="], 683 + 684 + "jsx-ast-utils": ["jsx-ast-utils@3.3.5", "", { "dependencies": { "array-includes": "^3.1.6", "array.prototype.flat": "^1.3.1", "object.assign": "^4.1.4", "object.values": "^1.1.6" } }, "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ=="], 685 + 686 + "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="], 687 + 688 + "language-subtag-registry": ["language-subtag-registry@0.3.23", "", {}, "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ=="], 689 + 690 + "language-tags": ["language-tags@1.0.9", "", { "dependencies": { "language-subtag-registry": "^0.3.20" } }, "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA=="], 691 + 692 + "levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="], 693 + 694 + "lightningcss": ["lightningcss@1.30.1", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-darwin-arm64": "1.30.1", "lightningcss-darwin-x64": "1.30.1", "lightningcss-freebsd-x64": "1.30.1", "lightningcss-linux-arm-gnueabihf": "1.30.1", "lightningcss-linux-arm64-gnu": "1.30.1", "lightningcss-linux-arm64-musl": "1.30.1", "lightningcss-linux-x64-gnu": "1.30.1", "lightningcss-linux-x64-musl": "1.30.1", "lightningcss-win32-arm64-msvc": "1.30.1", "lightningcss-win32-x64-msvc": "1.30.1" } }, "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg=="], 695 + 696 + "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.30.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ=="], 697 + 698 + "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.30.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA=="], 699 + 700 + "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.30.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig=="], 701 + 702 + "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.30.1", "", { "os": "linux", "cpu": "arm" }, "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q=="], 703 + 704 + "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.30.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw=="], 705 + 706 + "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.30.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ=="], 707 + 708 + "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.30.1", "", { "os": "linux", "cpu": "x64" }, "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw=="], 709 + 710 + "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.30.1", "", { "os": "linux", "cpu": "x64" }, "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ=="], 711 + 712 + "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.30.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA=="], 713 + 714 + "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.30.1", "", { "os": "win32", "cpu": "x64" }, "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg=="], 715 + 716 + "locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], 717 + 718 + "lodash.merge": ["lodash.merge@4.6.2", "", {}, "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="], 719 + 720 + "loose-envify": ["loose-envify@1.4.0", "", { "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" } }, "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="], 721 + 722 + "lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], 723 + 724 + "lucide-react": ["lucide-react@0.526.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-uGWG/2RKuDLeQHCodn5cmJ9Zij80EstOdcBP+j//B2sr78w7woiEL4aMu6CRlRkyOyJ8sZry8QLhQTmZjynLdA=="], 725 + 726 + "magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="], 727 + 728 + "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], 729 + 730 + "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], 731 + 732 + "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], 733 + 734 + "minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], 735 + 736 + "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], 737 + 738 + "minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], 739 + 740 + "minizlib": ["minizlib@3.0.2", "", { "dependencies": { "minipass": "^7.1.2" } }, "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA=="], 741 + 742 + "mkdirp": ["mkdirp@3.0.1", "", { "bin": { "mkdirp": "dist/cjs/src/bin.js" } }, "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg=="], 743 + 744 + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], 745 + 746 + "multiformats": ["multiformats@9.9.0", "", {}, "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg=="], 747 + 748 + "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], 749 + 750 + "napi-postinstall": ["napi-postinstall@0.3.2", "", { "bin": { "napi-postinstall": "lib/cli.js" } }, "sha512-tWVJxJHmBWLy69PvO96TZMZDrzmw5KeiZBz3RHmiM2XZ9grBJ2WgMAFVVg25nqp3ZjTFUs2Ftw1JhscL3Teliw=="], 751 + 752 + "natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="], 753 + 754 + "next": ["next@15.4.4", "", { "dependencies": { "@next/env": "15.4.4", "@swc/helpers": "0.5.15", "caniuse-lite": "^1.0.30001579", "postcss": "8.4.31", "styled-jsx": "5.1.6" }, "optionalDependencies": { "@next/swc-darwin-arm64": "15.4.4", "@next/swc-darwin-x64": "15.4.4", "@next/swc-linux-arm64-gnu": "15.4.4", "@next/swc-linux-arm64-musl": "15.4.4", "@next/swc-linux-x64-gnu": "15.4.4", "@next/swc-linux-x64-musl": "15.4.4", "@next/swc-win32-arm64-msvc": "15.4.4", "@next/swc-win32-x64-msvc": "15.4.4", "sharp": "^0.34.3" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", "@playwright/test": "^1.51.1", "babel-plugin-react-compiler": "*", "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "sass": "^1.3.0" }, "optionalPeers": ["@opentelemetry/api", "@playwright/test", "babel-plugin-react-compiler", "sass"], "bin": { "next": "dist/bin/next" } }, "sha512-kNcubvJjOL9yUOfwtZF3HfDhuhp+kVD+FM2A6Tyua1eI/xfmY4r/8ZS913MMz+oWKDlbps/dQOWdDricuIkXLw=="], 755 + 756 + "next-themes": ["next-themes@0.4.6", "", { "peerDependencies": { "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" } }, "sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA=="], 757 + 758 + "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], 759 + 760 + "object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="], 761 + 762 + "object-keys": ["object-keys@1.1.1", "", {}, "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="], 763 + 764 + "object.assign": ["object.assign@4.1.7", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0", "has-symbols": "^1.1.0", "object-keys": "^1.1.1" } }, "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw=="], 765 + 766 + "object.entries": ["object.entries@1.1.9", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.4", "define-properties": "^1.2.1", "es-object-atoms": "^1.1.1" } }, "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw=="], 767 + 768 + "object.fromentries": ["object.fromentries@2.0.8", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.2", "es-object-atoms": "^1.0.0" } }, "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ=="], 769 + 770 + "object.groupby": ["object.groupby@1.0.3", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.2" } }, "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ=="], 771 + 772 + "object.values": ["object.values@1.2.1", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" } }, "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA=="], 773 + 774 + "optionator": ["optionator@0.9.4", "", { "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.5" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="], 775 + 776 + "own-keys": ["own-keys@1.0.1", "", { "dependencies": { "get-intrinsic": "^1.2.6", "object-keys": "^1.1.1", "safe-push-apply": "^1.0.0" } }, "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg=="], 777 + 778 + "p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], 779 + 780 + "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], 781 + 782 + "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], 783 + 784 + "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], 785 + 786 + "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], 787 + 788 + "path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="], 789 + 790 + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], 791 + 792 + "picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="], 793 + 794 + "possible-typed-array-names": ["possible-typed-array-names@1.1.0", "", {}, "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg=="], 795 + 796 + "postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], 797 + 798 + "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="], 799 + 800 + "prop-types": ["prop-types@15.8.1", "", { "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.13.1" } }, "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg=="], 801 + 802 + "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], 803 + 804 + "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], 805 + 806 + "react": ["react@19.1.0", "", {}, "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg=="], 807 + 808 + "react-dom": ["react-dom@19.1.0", "", { "dependencies": { "scheduler": "^0.26.0" }, "peerDependencies": { "react": "^19.1.0" } }, "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g=="], 809 + 810 + "react-is": ["react-is@16.13.1", "", {}, "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="], 811 + 812 + "react-remove-scroll": ["react-remove-scroll@2.7.1", "", { "dependencies": { "react-remove-scroll-bar": "^2.3.7", "react-style-singleton": "^2.2.3", "tslib": "^2.1.0", "use-callback-ref": "^1.3.3", "use-sidecar": "^1.1.3" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA=="], 813 + 814 + "react-remove-scroll-bar": ["react-remove-scroll-bar@2.3.8", "", { "dependencies": { "react-style-singleton": "^2.2.2", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q=="], 815 + 816 + "react-style-singleton": ["react-style-singleton@2.2.3", "", { "dependencies": { "get-nonce": "^1.0.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ=="], 817 + 818 + "reflect.getprototypeof": ["reflect.getprototypeof@1.0.10", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.9", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", "get-intrinsic": "^1.2.7", "get-proto": "^1.0.1", "which-builtin-type": "^1.2.1" } }, "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw=="], 819 + 820 + "regexp.prototype.flags": ["regexp.prototype.flags@1.5.4", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-errors": "^1.3.0", "get-proto": "^1.0.1", "gopd": "^1.2.0", "set-function-name": "^2.0.2" } }, "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA=="], 821 + 822 + "resolve": ["resolve@1.22.10", "", { "dependencies": { "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w=="], 823 + 824 + "resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], 825 + 826 + "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="], 827 + 828 + "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], 829 + 830 + "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], 831 + 832 + "safe-array-concat": ["safe-array-concat@1.1.3", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.2", "get-intrinsic": "^1.2.6", "has-symbols": "^1.1.0", "isarray": "^2.0.5" } }, "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q=="], 833 + 834 + "safe-push-apply": ["safe-push-apply@1.0.0", "", { "dependencies": { "es-errors": "^1.3.0", "isarray": "^2.0.5" } }, "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA=="], 835 + 836 + "safe-regex-test": ["safe-regex-test@1.1.0", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-regex": "^1.2.1" } }, "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw=="], 837 + 838 + "scheduler": ["scheduler@0.26.0", "", {}, "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA=="], 839 + 840 + "semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], 841 + 842 + "set-function-length": ["set-function-length@1.2.2", "", { "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2" } }, "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg=="], 843 + 844 + "set-function-name": ["set-function-name@2.0.2", "", { "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", "has-property-descriptors": "^1.0.2" } }, "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ=="], 845 + 846 + "set-proto": ["set-proto@1.0.0", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0" } }, "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw=="], 847 + 848 + "sharp": ["sharp@0.34.3", "", { "dependencies": { "color": "^4.2.3", "detect-libc": "^2.0.4", "semver": "^7.7.2" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.3", "@img/sharp-darwin-x64": "0.34.3", "@img/sharp-libvips-darwin-arm64": "1.2.0", "@img/sharp-libvips-darwin-x64": "1.2.0", "@img/sharp-libvips-linux-arm": "1.2.0", "@img/sharp-libvips-linux-arm64": "1.2.0", "@img/sharp-libvips-linux-ppc64": "1.2.0", "@img/sharp-libvips-linux-s390x": "1.2.0", "@img/sharp-libvips-linux-x64": "1.2.0", "@img/sharp-libvips-linuxmusl-arm64": "1.2.0", "@img/sharp-libvips-linuxmusl-x64": "1.2.0", "@img/sharp-linux-arm": "0.34.3", "@img/sharp-linux-arm64": "0.34.3", "@img/sharp-linux-ppc64": "0.34.3", "@img/sharp-linux-s390x": "0.34.3", "@img/sharp-linux-x64": "0.34.3", "@img/sharp-linuxmusl-arm64": "0.34.3", "@img/sharp-linuxmusl-x64": "0.34.3", "@img/sharp-wasm32": "0.34.3", "@img/sharp-win32-arm64": "0.34.3", "@img/sharp-win32-ia32": "0.34.3", "@img/sharp-win32-x64": "0.34.3" } }, "sha512-eX2IQ6nFohW4DbvHIOLRB3MHFpYqaqvXd3Tp5e/T/dSH83fxaNJQRvDMhASmkNTsNTVF2/OOopzRCt7xokgPfg=="], 849 + 850 + "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], 851 + 852 + "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], 853 + 854 + "side-channel": ["side-channel@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3", "side-channel-list": "^1.0.0", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw=="], 855 + 856 + "side-channel-list": ["side-channel-list@1.0.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3" } }, "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA=="], 857 + 858 + "side-channel-map": ["side-channel-map@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="], 859 + 860 + "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3", "side-channel-map": "^1.0.1" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="], 861 + 862 + "simple-swizzle": ["simple-swizzle@0.2.2", "", { "dependencies": { "is-arrayish": "^0.3.1" } }, "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg=="], 863 + 864 + "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], 865 + 866 + "stable-hash": ["stable-hash@0.0.5", "", {}, "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA=="], 867 + 868 + "stop-iteration-iterator": ["stop-iteration-iterator@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "internal-slot": "^1.1.0" } }, "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ=="], 869 + 870 + "string.prototype.includes": ["string.prototype.includes@2.0.1", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.3" } }, "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg=="], 871 + 872 + "string.prototype.matchall": ["string.prototype.matchall@4.0.12", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-abstract": "^1.23.6", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", "get-intrinsic": "^1.2.6", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "internal-slot": "^1.1.0", "regexp.prototype.flags": "^1.5.3", "set-function-name": "^2.0.2", "side-channel": "^1.1.0" } }, "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA=="], 873 + 874 + "string.prototype.repeat": ["string.prototype.repeat@1.0.0", "", { "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.17.5" } }, "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w=="], 875 + 876 + "string.prototype.trim": ["string.prototype.trim@1.2.10", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.2", "define-data-property": "^1.1.4", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-object-atoms": "^1.0.0", "has-property-descriptors": "^1.0.2" } }, "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA=="], 877 + 878 + "string.prototype.trimend": ["string.prototype.trimend@1.0.9", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.2", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" } }, "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ=="], 879 + 880 + "string.prototype.trimstart": ["string.prototype.trimstart@1.0.8", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" } }, "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg=="], 881 + 882 + "strip-bom": ["strip-bom@3.0.0", "", {}, "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="], 883 + 884 + "strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="], 885 + 886 + "styled-jsx": ["styled-jsx@5.1.6", "", { "dependencies": { "client-only": "0.0.1" }, "peerDependencies": { "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" } }, "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA=="], 887 + 888 + "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], 889 + 890 + "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], 891 + 892 + "tailwind-merge": ["tailwind-merge@3.3.1", "", {}, "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g=="], 893 + 894 + "tailwindcss": ["tailwindcss@4.1.11", "", {}, "sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA=="], 895 + 896 + "tapable": ["tapable@2.2.2", "", {}, "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg=="], 897 + 898 + "tar": ["tar@7.4.3", "", { "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.0.1", "mkdirp": "^3.0.1", "yallist": "^5.0.0" } }, "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw=="], 899 + 900 + "tinyglobby": ["tinyglobby@0.2.14", "", { "dependencies": { "fdir": "^6.4.4", "picomatch": "^4.0.2" } }, "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ=="], 901 + 902 + "tlds": ["tlds@1.259.0", "", { "bin": { "tlds": "bin.js" } }, "sha512-AldGGlDP0PNgwppe2quAvuBl18UcjuNtOnDuUkqhd6ipPqrYYBt3aTxK1QTsBVknk97lS2JcafWMghjGWFtunw=="], 903 + 904 + "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], 905 + 906 + "ts-api-utils": ["ts-api-utils@2.1.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ=="], 907 + 908 + "tsconfig-paths": ["tsconfig-paths@3.15.0", "", { "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", "minimist": "^1.2.6", "strip-bom": "^3.0.0" } }, "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg=="], 909 + 910 + "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], 911 + 912 + "tw-animate-css": ["tw-animate-css@1.3.6", "", {}, "sha512-9dy0R9UsYEGmgf26L8UcHiLmSFTHa9+D7+dAt/G/sF5dCnPePZbfgDYinc7/UzAM7g/baVrmS6m9yEpU46d+LA=="], 913 + 914 + "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="], 915 + 916 + "typed-array-buffer": ["typed-array-buffer@1.0.3", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "is-typed-array": "^1.1.14" } }, "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw=="], 917 + 918 + "typed-array-byte-length": ["typed-array-byte-length@1.0.3", "", { "dependencies": { "call-bind": "^1.0.8", "for-each": "^0.3.3", "gopd": "^1.2.0", "has-proto": "^1.2.0", "is-typed-array": "^1.1.14" } }, "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg=="], 919 + 920 + "typed-array-byte-offset": ["typed-array-byte-offset@1.0.4", "", { "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", "for-each": "^0.3.3", "gopd": "^1.2.0", "has-proto": "^1.2.0", "is-typed-array": "^1.1.15", "reflect.getprototypeof": "^1.0.9" } }, "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ=="], 921 + 922 + "typed-array-length": ["typed-array-length@1.0.7", "", { "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", "is-typed-array": "^1.1.13", "possible-typed-array-names": "^1.0.0", "reflect.getprototypeof": "^1.0.6" } }, "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg=="], 923 + 924 + "typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="], 925 + 926 + "uint8arrays": ["uint8arrays@3.0.0", "", { "dependencies": { "multiformats": "^9.4.2" } }, "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA=="], 927 + 928 + "unbox-primitive": ["unbox-primitive@1.1.0", "", { "dependencies": { "call-bound": "^1.0.3", "has-bigints": "^1.0.2", "has-symbols": "^1.1.0", "which-boxed-primitive": "^1.1.1" } }, "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw=="], 929 + 930 + "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], 931 + 932 + "unrs-resolver": ["unrs-resolver@1.11.1", "", { "dependencies": { "napi-postinstall": "^0.3.0" }, "optionalDependencies": { "@unrs/resolver-binding-android-arm-eabi": "1.11.1", "@unrs/resolver-binding-android-arm64": "1.11.1", "@unrs/resolver-binding-darwin-arm64": "1.11.1", "@unrs/resolver-binding-darwin-x64": "1.11.1", "@unrs/resolver-binding-freebsd-x64": "1.11.1", "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", "@unrs/resolver-binding-linux-x64-musl": "1.11.1", "@unrs/resolver-binding-wasm32-wasi": "1.11.1", "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" } }, "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg=="], 933 + 934 + "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="], 935 + 936 + "use-callback-ref": ["use-callback-ref@1.3.3", "", { "dependencies": { "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg=="], 937 + 938 + "use-sidecar": ["use-sidecar@1.1.3", "", { "dependencies": { "detect-node-es": "^1.1.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ=="], 939 + 940 + "use-sync-external-store": ["use-sync-external-store@1.5.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A=="], 941 + 942 + "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], 943 + 944 + "which-boxed-primitive": ["which-boxed-primitive@1.1.1", "", { "dependencies": { "is-bigint": "^1.1.0", "is-boolean-object": "^1.2.1", "is-number-object": "^1.1.1", "is-string": "^1.1.1", "is-symbol": "^1.1.1" } }, "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA=="], 945 + 946 + "which-builtin-type": ["which-builtin-type@1.2.1", "", { "dependencies": { "call-bound": "^1.0.2", "function.prototype.name": "^1.1.6", "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", "is-date-object": "^1.1.0", "is-finalizationregistry": "^1.1.0", "is-generator-function": "^1.0.10", "is-regex": "^1.2.1", "is-weakref": "^1.0.2", "isarray": "^2.0.5", "which-boxed-primitive": "^1.1.0", "which-collection": "^1.0.2", "which-typed-array": "^1.1.16" } }, "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q=="], 947 + 948 + "which-collection": ["which-collection@1.0.2", "", { "dependencies": { "is-map": "^2.0.3", "is-set": "^2.0.3", "is-weakmap": "^2.0.2", "is-weakset": "^2.0.3" } }, "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw=="], 949 + 950 + "which-typed-array": ["which-typed-array@1.1.19", "", { "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", "call-bound": "^1.0.4", "for-each": "^0.3.5", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" } }, "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw=="], 951 + 952 + "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], 953 + 954 + "yallist": ["yallist@5.0.0", "", {}, "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw=="], 955 + 956 + "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], 957 + 958 + "zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], 959 + 960 + "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], 961 + 962 + "@humanfs/node/@humanwhocodes/retry": ["@humanwhocodes/retry@0.3.1", "", {}, "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA=="], 963 + 964 + "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.4.5", "", { "dependencies": { "@emnapi/wasi-threads": "1.0.4", "tslib": "^2.4.0" }, "bundled": true }, "sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q=="], 965 + 966 + "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.4.5", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg=="], 967 + 968 + "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.0.4", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g=="], 969 + 970 + "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@0.2.12", "", { "dependencies": { "@emnapi/core": "^1.4.3", "@emnapi/runtime": "^1.4.3", "@tybys/wasm-util": "^0.10.0" }, "bundled": true }, "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ=="], 971 + 972 + "@tailwindcss/oxide-wasm32-wasi/@tybys/wasm-util": ["@tybys/wasm-util@0.9.0", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw=="], 973 + 974 + "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], 975 + 976 + "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], 977 + 978 + "@typescript-eslint/typescript-estree/fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], 979 + 980 + "@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], 981 + 982 + "@typescript-eslint/typescript-estree/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], 983 + 984 + "eslint-import-resolver-node/debug": ["debug@3.2.7", "", { "dependencies": { "ms": "^2.1.1" } }, "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ=="], 985 + 986 + "eslint-module-utils/debug": ["debug@3.2.7", "", { "dependencies": { "ms": "^2.1.1" } }, "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ=="], 987 + 988 + "eslint-plugin-import/debug": ["debug@3.2.7", "", { "dependencies": { "ms": "^2.1.1" } }, "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ=="], 989 + 990 + "eslint-plugin-react/resolve": ["resolve@2.0.0-next.5", "", { "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA=="], 991 + 992 + "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], 993 + 994 + "is-bun-module/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], 995 + 996 + "micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], 997 + 998 + "next/postcss": ["postcss@8.4.31", "", { "dependencies": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } }, "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ=="], 999 + 1000 + "sharp/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], 1001 + 1002 + "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime/@tybys/wasm-util": ["@tybys/wasm-util@0.10.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ=="], 1003 + 1004 + "@typescript-eslint/typescript-estree/fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], 1005 + 1006 + "@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], 1007 + } 1008 + }
+21
components.json
···
··· 1 + { 2 + "$schema": "https://ui.shadcn.com/schema.json", 3 + "style": "new-york", 4 + "rsc": true, 5 + "tsx": true, 6 + "tailwind": { 7 + "config": "", 8 + "css": "src/app/globals.css", 9 + "baseColor": "stone", 10 + "cssVariables": true, 11 + "prefix": "" 12 + }, 13 + "aliases": { 14 + "components": "@/components", 15 + "utils": "@/lib/utils", 16 + "ui": "@/components/ui", 17 + "lib": "@/lib", 18 + "hooks": "@/hooks" 19 + }, 20 + "iconLibrary": "lucide" 21 + }
+3
next.config.ts
··· 2 3 const nextConfig: NextConfig = { 4 /* config options here */ 5 }; 6 7 export default nextConfig;
··· 2 3 const nextConfig: NextConfig = { 4 /* config options here */ 5 + images: { 6 + remotePatterns: [new URL("https://cdn.bsky.app/img/feed_fullsize/**")], 7 + }, 8 }; 9 10 export default nextConfig;
-5748
package-lock.json
··· 1 - { 2 - "name": "scribble", 3 - "version": "0.1.0", 4 - "lockfileVersion": 3, 5 - "requires": true, 6 - "packages": { 7 - "": { 8 - "name": "scribble", 9 - "version": "0.1.0", 10 - "dependencies": { 11 - "next": "15.4.4", 12 - "react": "19.1.0", 13 - "react-dom": "19.1.0" 14 - }, 15 - "devDependencies": { 16 - "@eslint/eslintrc": "^3", 17 - "@tailwindcss/postcss": "^4", 18 - "@types/node": "^20", 19 - "@types/react": "^19", 20 - "@types/react-dom": "^19", 21 - "eslint": "^9", 22 - "eslint-config-next": "15.4.4", 23 - "tailwindcss": "^4", 24 - "typescript": "^5" 25 - } 26 - }, 27 - "node_modules/@alloc/quick-lru": { 28 - "version": "5.2.0", 29 - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", 30 - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 31 - "dev": true, 32 - "engines": { 33 - "node": ">=10" 34 - }, 35 - "funding": { 36 - "url": "https://github.com/sponsors/sindresorhus" 37 - } 38 - }, 39 - "node_modules/@ampproject/remapping": { 40 - "version": "2.3.0", 41 - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", 42 - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", 43 - "dev": true, 44 - "dependencies": { 45 - "@jridgewell/gen-mapping": "^0.3.5", 46 - "@jridgewell/trace-mapping": "^0.3.24" 47 - }, 48 - "engines": { 49 - "node": ">=6.0.0" 50 - } 51 - }, 52 - "node_modules/@emnapi/core": { 53 - "version": "1.4.5", 54 - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.5.tgz", 55 - "integrity": "sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==", 56 - "dev": true, 57 - "optional": true, 58 - "dependencies": { 59 - "@emnapi/wasi-threads": "1.0.4", 60 - "tslib": "^2.4.0" 61 - } 62 - }, 63 - "node_modules/@emnapi/runtime": { 64 - "version": "1.4.5", 65 - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.5.tgz", 66 - "integrity": "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==", 67 - "optional": true, 68 - "dependencies": { 69 - "tslib": "^2.4.0" 70 - } 71 - }, 72 - "node_modules/@emnapi/wasi-threads": { 73 - "version": "1.0.4", 74 - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.4.tgz", 75 - "integrity": "sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==", 76 - "dev": true, 77 - "optional": true, 78 - "dependencies": { 79 - "tslib": "^2.4.0" 80 - } 81 - }, 82 - "node_modules/@eslint-community/eslint-utils": { 83 - "version": "4.7.0", 84 - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", 85 - "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", 86 - "dev": true, 87 - "dependencies": { 88 - "eslint-visitor-keys": "^3.4.3" 89 - }, 90 - "engines": { 91 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 92 - }, 93 - "funding": { 94 - "url": "https://opencollective.com/eslint" 95 - }, 96 - "peerDependencies": { 97 - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" 98 - } 99 - }, 100 - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { 101 - "version": "3.4.3", 102 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", 103 - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", 104 - "dev": true, 105 - "engines": { 106 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 107 - }, 108 - "funding": { 109 - "url": "https://opencollective.com/eslint" 110 - } 111 - }, 112 - "node_modules/@eslint-community/regexpp": { 113 - "version": "4.12.1", 114 - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", 115 - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", 116 - "dev": true, 117 - "engines": { 118 - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" 119 - } 120 - }, 121 - "node_modules/@eslint/config-array": { 122 - "version": "0.21.0", 123 - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz", 124 - "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==", 125 - "dev": true, 126 - "dependencies": { 127 - "@eslint/object-schema": "^2.1.6", 128 - "debug": "^4.3.1", 129 - "minimatch": "^3.1.2" 130 - }, 131 - "engines": { 132 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 133 - } 134 - }, 135 - "node_modules/@eslint/config-helpers": { 136 - "version": "0.3.0", 137 - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.0.tgz", 138 - "integrity": "sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==", 139 - "dev": true, 140 - "engines": { 141 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 142 - } 143 - }, 144 - "node_modules/@eslint/core": { 145 - "version": "0.15.1", 146 - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.1.tgz", 147 - "integrity": "sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==", 148 - "dev": true, 149 - "dependencies": { 150 - "@types/json-schema": "^7.0.15" 151 - }, 152 - "engines": { 153 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 154 - } 155 - }, 156 - "node_modules/@eslint/eslintrc": { 157 - "version": "3.3.1", 158 - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", 159 - "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", 160 - "dev": true, 161 - "dependencies": { 162 - "ajv": "^6.12.4", 163 - "debug": "^4.3.2", 164 - "espree": "^10.0.1", 165 - "globals": "^14.0.0", 166 - "ignore": "^5.2.0", 167 - "import-fresh": "^3.2.1", 168 - "js-yaml": "^4.1.0", 169 - "minimatch": "^3.1.2", 170 - "strip-json-comments": "^3.1.1" 171 - }, 172 - "engines": { 173 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 174 - }, 175 - "funding": { 176 - "url": "https://opencollective.com/eslint" 177 - } 178 - }, 179 - "node_modules/@eslint/js": { 180 - "version": "9.32.0", 181 - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.32.0.tgz", 182 - "integrity": "sha512-BBpRFZK3eX6uMLKz8WxFOBIFFcGFJ/g8XuwjTHCqHROSIsopI+ddn/d5Cfh36+7+e5edVS8dbSHnBNhrLEX0zg==", 183 - "dev": true, 184 - "engines": { 185 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 186 - }, 187 - "funding": { 188 - "url": "https://eslint.org/donate" 189 - } 190 - }, 191 - "node_modules/@eslint/object-schema": { 192 - "version": "2.1.6", 193 - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", 194 - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", 195 - "dev": true, 196 - "engines": { 197 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 198 - } 199 - }, 200 - "node_modules/@eslint/plugin-kit": { 201 - "version": "0.3.4", 202 - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.4.tgz", 203 - "integrity": "sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw==", 204 - "dev": true, 205 - "dependencies": { 206 - "@eslint/core": "^0.15.1", 207 - "levn": "^0.4.1" 208 - }, 209 - "engines": { 210 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 211 - } 212 - }, 213 - "node_modules/@humanfs/core": { 214 - "version": "0.19.1", 215 - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", 216 - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", 217 - "dev": true, 218 - "engines": { 219 - "node": ">=18.18.0" 220 - } 221 - }, 222 - "node_modules/@humanfs/node": { 223 - "version": "0.16.6", 224 - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", 225 - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", 226 - "dev": true, 227 - "dependencies": { 228 - "@humanfs/core": "^0.19.1", 229 - "@humanwhocodes/retry": "^0.3.0" 230 - }, 231 - "engines": { 232 - "node": ">=18.18.0" 233 - } 234 - }, 235 - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { 236 - "version": "0.3.1", 237 - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", 238 - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", 239 - "dev": true, 240 - "engines": { 241 - "node": ">=18.18" 242 - }, 243 - "funding": { 244 - "type": "github", 245 - "url": "https://github.com/sponsors/nzakas" 246 - } 247 - }, 248 - "node_modules/@humanwhocodes/module-importer": { 249 - "version": "1.0.1", 250 - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", 251 - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", 252 - "dev": true, 253 - "engines": { 254 - "node": ">=12.22" 255 - }, 256 - "funding": { 257 - "type": "github", 258 - "url": "https://github.com/sponsors/nzakas" 259 - } 260 - }, 261 - "node_modules/@humanwhocodes/retry": { 262 - "version": "0.4.3", 263 - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", 264 - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", 265 - "dev": true, 266 - "engines": { 267 - "node": ">=18.18" 268 - }, 269 - "funding": { 270 - "type": "github", 271 - "url": "https://github.com/sponsors/nzakas" 272 - } 273 - }, 274 - "node_modules/@img/sharp-darwin-arm64": { 275 - "version": "0.34.3", 276 - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.3.tgz", 277 - "integrity": "sha512-ryFMfvxxpQRsgZJqBd4wsttYQbCxsJksrv9Lw/v798JcQ8+w84mBWuXwl+TT0WJ/WrYOLaYpwQXi3sA9nTIaIg==", 278 - "cpu": [ 279 - "arm64" 280 - ], 281 - "optional": true, 282 - "os": [ 283 - "darwin" 284 - ], 285 - "engines": { 286 - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 287 - }, 288 - "funding": { 289 - "url": "https://opencollective.com/libvips" 290 - }, 291 - "optionalDependencies": { 292 - "@img/sharp-libvips-darwin-arm64": "1.2.0" 293 - } 294 - }, 295 - "node_modules/@img/sharp-darwin-x64": { 296 - "version": "0.34.3", 297 - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.3.tgz", 298 - "integrity": "sha512-yHpJYynROAj12TA6qil58hmPmAwxKKC7reUqtGLzsOHfP7/rniNGTL8tjWX6L3CTV4+5P4ypcS7Pp+7OB+8ihA==", 299 - "cpu": [ 300 - "x64" 301 - ], 302 - "optional": true, 303 - "os": [ 304 - "darwin" 305 - ], 306 - "engines": { 307 - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 308 - }, 309 - "funding": { 310 - "url": "https://opencollective.com/libvips" 311 - }, 312 - "optionalDependencies": { 313 - "@img/sharp-libvips-darwin-x64": "1.2.0" 314 - } 315 - }, 316 - "node_modules/@img/sharp-libvips-darwin-arm64": { 317 - "version": "1.2.0", 318 - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.0.tgz", 319 - "integrity": "sha512-sBZmpwmxqwlqG9ueWFXtockhsxefaV6O84BMOrhtg/YqbTaRdqDE7hxraVE3y6gVM4eExmfzW4a8el9ArLeEiQ==", 320 - "cpu": [ 321 - "arm64" 322 - ], 323 - "optional": true, 324 - "os": [ 325 - "darwin" 326 - ], 327 - "funding": { 328 - "url": "https://opencollective.com/libvips" 329 - } 330 - }, 331 - "node_modules/@img/sharp-libvips-darwin-x64": { 332 - "version": "1.2.0", 333 - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.0.tgz", 334 - "integrity": "sha512-M64XVuL94OgiNHa5/m2YvEQI5q2cl9d/wk0qFTDVXcYzi43lxuiFTftMR1tOnFQovVXNZJ5TURSDK2pNe9Yzqg==", 335 - "cpu": [ 336 - "x64" 337 - ], 338 - "optional": true, 339 - "os": [ 340 - "darwin" 341 - ], 342 - "funding": { 343 - "url": "https://opencollective.com/libvips" 344 - } 345 - }, 346 - "node_modules/@img/sharp-libvips-linux-arm": { 347 - "version": "1.2.0", 348 - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.0.tgz", 349 - "integrity": "sha512-mWd2uWvDtL/nvIzThLq3fr2nnGfyr/XMXlq8ZJ9WMR6PXijHlC3ksp0IpuhK6bougvQrchUAfzRLnbsen0Cqvw==", 350 - "cpu": [ 351 - "arm" 352 - ], 353 - "optional": true, 354 - "os": [ 355 - "linux" 356 - ], 357 - "funding": { 358 - "url": "https://opencollective.com/libvips" 359 - } 360 - }, 361 - "node_modules/@img/sharp-libvips-linux-arm64": { 362 - "version": "1.2.0", 363 - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.0.tgz", 364 - "integrity": "sha512-RXwd0CgG+uPRX5YYrkzKyalt2OJYRiJQ8ED/fi1tq9WQW2jsQIn0tqrlR5l5dr/rjqq6AHAxURhj2DVjyQWSOA==", 365 - "cpu": [ 366 - "arm64" 367 - ], 368 - "optional": true, 369 - "os": [ 370 - "linux" 371 - ], 372 - "funding": { 373 - "url": "https://opencollective.com/libvips" 374 - } 375 - }, 376 - "node_modules/@img/sharp-libvips-linux-ppc64": { 377 - "version": "1.2.0", 378 - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.0.tgz", 379 - "integrity": "sha512-Xod/7KaDDHkYu2phxxfeEPXfVXFKx70EAFZ0qyUdOjCcxbjqyJOEUpDe6RIyaunGxT34Anf9ue/wuWOqBW2WcQ==", 380 - "cpu": [ 381 - "ppc64" 382 - ], 383 - "optional": true, 384 - "os": [ 385 - "linux" 386 - ], 387 - "funding": { 388 - "url": "https://opencollective.com/libvips" 389 - } 390 - }, 391 - "node_modules/@img/sharp-libvips-linux-s390x": { 392 - "version": "1.2.0", 393 - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.0.tgz", 394 - "integrity": "sha512-eMKfzDxLGT8mnmPJTNMcjfO33fLiTDsrMlUVcp6b96ETbnJmd4uvZxVJSKPQfS+odwfVaGifhsB07J1LynFehw==", 395 - "cpu": [ 396 - "s390x" 397 - ], 398 - "optional": true, 399 - "os": [ 400 - "linux" 401 - ], 402 - "funding": { 403 - "url": "https://opencollective.com/libvips" 404 - } 405 - }, 406 - "node_modules/@img/sharp-libvips-linux-x64": { 407 - "version": "1.2.0", 408 - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.0.tgz", 409 - "integrity": "sha512-ZW3FPWIc7K1sH9E3nxIGB3y3dZkpJlMnkk7z5tu1nSkBoCgw2nSRTFHI5pB/3CQaJM0pdzMF3paf9ckKMSE9Tg==", 410 - "cpu": [ 411 - "x64" 412 - ], 413 - "optional": true, 414 - "os": [ 415 - "linux" 416 - ], 417 - "funding": { 418 - "url": "https://opencollective.com/libvips" 419 - } 420 - }, 421 - "node_modules/@img/sharp-libvips-linuxmusl-arm64": { 422 - "version": "1.2.0", 423 - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.0.tgz", 424 - "integrity": "sha512-UG+LqQJbf5VJ8NWJ5Z3tdIe/HXjuIdo4JeVNADXBFuG7z9zjoegpzzGIyV5zQKi4zaJjnAd2+g2nna8TZvuW9Q==", 425 - "cpu": [ 426 - "arm64" 427 - ], 428 - "optional": true, 429 - "os": [ 430 - "linux" 431 - ], 432 - "funding": { 433 - "url": "https://opencollective.com/libvips" 434 - } 435 - }, 436 - "node_modules/@img/sharp-libvips-linuxmusl-x64": { 437 - "version": "1.2.0", 438 - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.0.tgz", 439 - "integrity": "sha512-SRYOLR7CXPgNze8akZwjoGBoN1ThNZoqpOgfnOxmWsklTGVfJiGJoC/Lod7aNMGA1jSsKWM1+HRX43OP6p9+6Q==", 440 - "cpu": [ 441 - "x64" 442 - ], 443 - "optional": true, 444 - "os": [ 445 - "linux" 446 - ], 447 - "funding": { 448 - "url": "https://opencollective.com/libvips" 449 - } 450 - }, 451 - "node_modules/@img/sharp-linux-arm": { 452 - "version": "0.34.3", 453 - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.3.tgz", 454 - "integrity": "sha512-oBK9l+h6KBN0i3dC8rYntLiVfW8D8wH+NPNT3O/WBHeW0OQWCjfWksLUaPidsrDKpJgXp3G3/hkmhptAW0I3+A==", 455 - "cpu": [ 456 - "arm" 457 - ], 458 - "optional": true, 459 - "os": [ 460 - "linux" 461 - ], 462 - "engines": { 463 - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 464 - }, 465 - "funding": { 466 - "url": "https://opencollective.com/libvips" 467 - }, 468 - "optionalDependencies": { 469 - "@img/sharp-libvips-linux-arm": "1.2.0" 470 - } 471 - }, 472 - "node_modules/@img/sharp-linux-arm64": { 473 - "version": "0.34.3", 474 - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.3.tgz", 475 - "integrity": "sha512-QdrKe3EvQrqwkDrtuTIjI0bu6YEJHTgEeqdzI3uWJOH6G1O8Nl1iEeVYRGdj1h5I21CqxSvQp1Yv7xeU3ZewbA==", 476 - "cpu": [ 477 - "arm64" 478 - ], 479 - "optional": true, 480 - "os": [ 481 - "linux" 482 - ], 483 - "engines": { 484 - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 485 - }, 486 - "funding": { 487 - "url": "https://opencollective.com/libvips" 488 - }, 489 - "optionalDependencies": { 490 - "@img/sharp-libvips-linux-arm64": "1.2.0" 491 - } 492 - }, 493 - "node_modules/@img/sharp-linux-ppc64": { 494 - "version": "0.34.3", 495 - "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.3.tgz", 496 - "integrity": "sha512-GLtbLQMCNC5nxuImPR2+RgrviwKwVql28FWZIW1zWruy6zLgA5/x2ZXk3mxj58X/tszVF69KK0Is83V8YgWhLA==", 497 - "cpu": [ 498 - "ppc64" 499 - ], 500 - "optional": true, 501 - "os": [ 502 - "linux" 503 - ], 504 - "engines": { 505 - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 506 - }, 507 - "funding": { 508 - "url": "https://opencollective.com/libvips" 509 - }, 510 - "optionalDependencies": { 511 - "@img/sharp-libvips-linux-ppc64": "1.2.0" 512 - } 513 - }, 514 - "node_modules/@img/sharp-linux-s390x": { 515 - "version": "0.34.3", 516 - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.3.tgz", 517 - "integrity": "sha512-3gahT+A6c4cdc2edhsLHmIOXMb17ltffJlxR0aC2VPZfwKoTGZec6u5GrFgdR7ciJSsHT27BD3TIuGcuRT0KmQ==", 518 - "cpu": [ 519 - "s390x" 520 - ], 521 - "optional": true, 522 - "os": [ 523 - "linux" 524 - ], 525 - "engines": { 526 - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 527 - }, 528 - "funding": { 529 - "url": "https://opencollective.com/libvips" 530 - }, 531 - "optionalDependencies": { 532 - "@img/sharp-libvips-linux-s390x": "1.2.0" 533 - } 534 - }, 535 - "node_modules/@img/sharp-linux-x64": { 536 - "version": "0.34.3", 537 - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.3.tgz", 538 - "integrity": "sha512-8kYso8d806ypnSq3/Ly0QEw90V5ZoHh10yH0HnrzOCr6DKAPI6QVHvwleqMkVQ0m+fc7EH8ah0BB0QPuWY6zJQ==", 539 - "cpu": [ 540 - "x64" 541 - ], 542 - "optional": true, 543 - "os": [ 544 - "linux" 545 - ], 546 - "engines": { 547 - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 548 - }, 549 - "funding": { 550 - "url": "https://opencollective.com/libvips" 551 - }, 552 - "optionalDependencies": { 553 - "@img/sharp-libvips-linux-x64": "1.2.0" 554 - } 555 - }, 556 - "node_modules/@img/sharp-linuxmusl-arm64": { 557 - "version": "0.34.3", 558 - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.3.tgz", 559 - "integrity": "sha512-vAjbHDlr4izEiXM1OTggpCcPg9tn4YriK5vAjowJsHwdBIdx0fYRsURkxLG2RLm9gyBq66gwtWI8Gx0/ov+JKQ==", 560 - "cpu": [ 561 - "arm64" 562 - ], 563 - "optional": true, 564 - "os": [ 565 - "linux" 566 - ], 567 - "engines": { 568 - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 569 - }, 570 - "funding": { 571 - "url": "https://opencollective.com/libvips" 572 - }, 573 - "optionalDependencies": { 574 - "@img/sharp-libvips-linuxmusl-arm64": "1.2.0" 575 - } 576 - }, 577 - "node_modules/@img/sharp-linuxmusl-x64": { 578 - "version": "0.34.3", 579 - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.3.tgz", 580 - "integrity": "sha512-gCWUn9547K5bwvOn9l5XGAEjVTTRji4aPTqLzGXHvIr6bIDZKNTA34seMPgM0WmSf+RYBH411VavCejp3PkOeQ==", 581 - "cpu": [ 582 - "x64" 583 - ], 584 - "optional": true, 585 - "os": [ 586 - "linux" 587 - ], 588 - "engines": { 589 - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 590 - }, 591 - "funding": { 592 - "url": "https://opencollective.com/libvips" 593 - }, 594 - "optionalDependencies": { 595 - "@img/sharp-libvips-linuxmusl-x64": "1.2.0" 596 - } 597 - }, 598 - "node_modules/@img/sharp-wasm32": { 599 - "version": "0.34.3", 600 - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.3.tgz", 601 - "integrity": "sha512-+CyRcpagHMGteySaWos8IbnXcHgfDn7pO2fiC2slJxvNq9gDipYBN42/RagzctVRKgxATmfqOSulgZv5e1RdMg==", 602 - "cpu": [ 603 - "wasm32" 604 - ], 605 - "optional": true, 606 - "dependencies": { 607 - "@emnapi/runtime": "^1.4.4" 608 - }, 609 - "engines": { 610 - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 611 - }, 612 - "funding": { 613 - "url": "https://opencollective.com/libvips" 614 - } 615 - }, 616 - "node_modules/@img/sharp-win32-arm64": { 617 - "version": "0.34.3", 618 - "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.3.tgz", 619 - "integrity": "sha512-MjnHPnbqMXNC2UgeLJtX4XqoVHHlZNd+nPt1kRPmj63wURegwBhZlApELdtxM2OIZDRv/DFtLcNhVbd1z8GYXQ==", 620 - "cpu": [ 621 - "arm64" 622 - ], 623 - "optional": true, 624 - "os": [ 625 - "win32" 626 - ], 627 - "engines": { 628 - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 629 - }, 630 - "funding": { 631 - "url": "https://opencollective.com/libvips" 632 - } 633 - }, 634 - "node_modules/@img/sharp-win32-ia32": { 635 - "version": "0.34.3", 636 - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.3.tgz", 637 - "integrity": "sha512-xuCdhH44WxuXgOM714hn4amodJMZl3OEvf0GVTm0BEyMeA2to+8HEdRPShH0SLYptJY1uBw+SCFP9WVQi1Q/cw==", 638 - "cpu": [ 639 - "ia32" 640 - ], 641 - "optional": true, 642 - "os": [ 643 - "win32" 644 - ], 645 - "engines": { 646 - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 647 - }, 648 - "funding": { 649 - "url": "https://opencollective.com/libvips" 650 - } 651 - }, 652 - "node_modules/@img/sharp-win32-x64": { 653 - "version": "0.34.3", 654 - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.3.tgz", 655 - "integrity": "sha512-OWwz05d++TxzLEv4VnsTz5CmZ6mI6S05sfQGEMrNrQcOEERbX46332IvE7pO/EUiw7jUrrS40z/M7kPyjfl04g==", 656 - "cpu": [ 657 - "x64" 658 - ], 659 - "optional": true, 660 - "os": [ 661 - "win32" 662 - ], 663 - "engines": { 664 - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 665 - }, 666 - "funding": { 667 - "url": "https://opencollective.com/libvips" 668 - } 669 - }, 670 - "node_modules/@isaacs/fs-minipass": { 671 - "version": "4.0.1", 672 - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", 673 - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", 674 - "dev": true, 675 - "dependencies": { 676 - "minipass": "^7.0.4" 677 - }, 678 - "engines": { 679 - "node": ">=18.0.0" 680 - } 681 - }, 682 - "node_modules/@jridgewell/gen-mapping": { 683 - "version": "0.3.12", 684 - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz", 685 - "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==", 686 - "dev": true, 687 - "dependencies": { 688 - "@jridgewell/sourcemap-codec": "^1.5.0", 689 - "@jridgewell/trace-mapping": "^0.3.24" 690 - } 691 - }, 692 - "node_modules/@jridgewell/resolve-uri": { 693 - "version": "3.1.2", 694 - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 695 - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 696 - "dev": true, 697 - "engines": { 698 - "node": ">=6.0.0" 699 - } 700 - }, 701 - "node_modules/@jridgewell/sourcemap-codec": { 702 - "version": "1.5.4", 703 - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", 704 - "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==", 705 - "dev": true 706 - }, 707 - "node_modules/@jridgewell/trace-mapping": { 708 - "version": "0.3.29", 709 - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz", 710 - "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==", 711 - "dev": true, 712 - "dependencies": { 713 - "@jridgewell/resolve-uri": "^3.1.0", 714 - "@jridgewell/sourcemap-codec": "^1.4.14" 715 - } 716 - }, 717 - "node_modules/@napi-rs/wasm-runtime": { 718 - "version": "0.2.12", 719 - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", 720 - "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", 721 - "dev": true, 722 - "optional": true, 723 - "dependencies": { 724 - "@emnapi/core": "^1.4.3", 725 - "@emnapi/runtime": "^1.4.3", 726 - "@tybys/wasm-util": "^0.10.0" 727 - } 728 - }, 729 - "node_modules/@next/env": { 730 - "version": "15.4.4", 731 - "resolved": "https://registry.npmjs.org/@next/env/-/env-15.4.4.tgz", 732 - "integrity": "sha512-SJKOOkULKENyHSYXE5+KiFU6itcIb6wSBjgM92meK0HVKpo94dNOLZVdLLuS7/BxImROkGoPsjR4EnuDucqiiA==" 733 - }, 734 - "node_modules/@next/eslint-plugin-next": { 735 - "version": "15.4.4", 736 - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-15.4.4.tgz", 737 - "integrity": "sha512-1FDsyN//ai3Jd97SEd7scw5h1yLdzDACGOPRofr2GD3sEFsBylEEoL0MHSerd4n2dq9Zm/mFMqi4+NRMOreOKA==", 738 - "dev": true, 739 - "dependencies": { 740 - "fast-glob": "3.3.1" 741 - } 742 - }, 743 - "node_modules/@next/swc-darwin-arm64": { 744 - "version": "15.4.4", 745 - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.4.4.tgz", 746 - "integrity": "sha512-eVG55dnGwfUuG+TtnUCt+mEJ+8TGgul6nHEvdb8HEH7dmJIFYOCApAaFrIrxwtEq2Cdf+0m5sG1Np8cNpw9EAw==", 747 - "cpu": [ 748 - "arm64" 749 - ], 750 - "optional": true, 751 - "os": [ 752 - "darwin" 753 - ], 754 - "engines": { 755 - "node": ">= 10" 756 - } 757 - }, 758 - "node_modules/@next/swc-darwin-x64": { 759 - "version": "15.4.4", 760 - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.4.4.tgz", 761 - "integrity": "sha512-zqG+/8apsu49CltEj4NAmCGZvHcZbOOOsNoTVeIXphYWIbE4l6A/vuQHyqll0flU2o3dmYCXsBW5FmbrGDgljQ==", 762 - "cpu": [ 763 - "x64" 764 - ], 765 - "optional": true, 766 - "os": [ 767 - "darwin" 768 - ], 769 - "engines": { 770 - "node": ">= 10" 771 - } 772 - }, 773 - "node_modules/@next/swc-linux-arm64-gnu": { 774 - "version": "15.4.4", 775 - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.4.4.tgz", 776 - "integrity": "sha512-LRD4l2lq4R+2QCHBQVC0wjxxkLlALGJCwigaJ5FSRSqnje+MRKHljQNZgDCaKUZQzO/TXxlmUdkZP/X3KNGZaw==", 777 - "cpu": [ 778 - "arm64" 779 - ], 780 - "optional": true, 781 - "os": [ 782 - "linux" 783 - ], 784 - "engines": { 785 - "node": ">= 10" 786 - } 787 - }, 788 - "node_modules/@next/swc-linux-arm64-musl": { 789 - "version": "15.4.4", 790 - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.4.4.tgz", 791 - "integrity": "sha512-LsGUCTvuZ0690fFWerA4lnQvjkYg9gHo12A3wiPUR4kCxbx/d+SlwmonuTH2SWZI+RVGA9VL3N0S03WTYv6bYg==", 792 - "cpu": [ 793 - "arm64" 794 - ], 795 - "optional": true, 796 - "os": [ 797 - "linux" 798 - ], 799 - "engines": { 800 - "node": ">= 10" 801 - } 802 - }, 803 - "node_modules/@next/swc-linux-x64-gnu": { 804 - "version": "15.4.4", 805 - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.4.4.tgz", 806 - "integrity": "sha512-aOy5yNRpLL3wNiJVkFYl6w22hdREERNjvegE6vvtix8LHRdsTHhWTpgvcYdCK7AIDCQW5ATmzr9XkPHvSoAnvg==", 807 - "cpu": [ 808 - "x64" 809 - ], 810 - "optional": true, 811 - "os": [ 812 - "linux" 813 - ], 814 - "engines": { 815 - "node": ">= 10" 816 - } 817 - }, 818 - "node_modules/@next/swc-linux-x64-musl": { 819 - "version": "15.4.4", 820 - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.4.4.tgz", 821 - "integrity": "sha512-FL7OAn4UkR8hKQRGBmlHiHinzOb07tsfARdGh7v0Z0jEJ3sz8/7L5bR23ble9E6DZMabSStqlATHlSxv1fuzAg==", 822 - "cpu": [ 823 - "x64" 824 - ], 825 - "optional": true, 826 - "os": [ 827 - "linux" 828 - ], 829 - "engines": { 830 - "node": ">= 10" 831 - } 832 - }, 833 - "node_modules/@next/swc-win32-arm64-msvc": { 834 - "version": "15.4.4", 835 - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.4.4.tgz", 836 - "integrity": "sha512-eEdNW/TXwjYhOulQh0pffTMMItWVwKCQpbziSBmgBNFZIIRn2GTXrhrewevs8wP8KXWYMx8Z+mNU0X+AfvtrRg==", 837 - "cpu": [ 838 - "arm64" 839 - ], 840 - "optional": true, 841 - "os": [ 842 - "win32" 843 - ], 844 - "engines": { 845 - "node": ">= 10" 846 - } 847 - }, 848 - "node_modules/@next/swc-win32-x64-msvc": { 849 - "version": "15.4.4", 850 - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.4.4.tgz", 851 - "integrity": "sha512-SE5pYNbn/xZKMy1RE3pAs+4xD32OI4rY6mzJa4XUkp/ItZY+OMjIgilskmErt8ls/fVJ+Ihopi2QIeW6O3TrMw==", 852 - "cpu": [ 853 - "x64" 854 - ], 855 - "optional": true, 856 - "os": [ 857 - "win32" 858 - ], 859 - "engines": { 860 - "node": ">= 10" 861 - } 862 - }, 863 - "node_modules/@nodelib/fs.scandir": { 864 - "version": "2.1.5", 865 - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 866 - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 867 - "dev": true, 868 - "dependencies": { 869 - "@nodelib/fs.stat": "2.0.5", 870 - "run-parallel": "^1.1.9" 871 - }, 872 - "engines": { 873 - "node": ">= 8" 874 - } 875 - }, 876 - "node_modules/@nodelib/fs.stat": { 877 - "version": "2.0.5", 878 - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 879 - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 880 - "dev": true, 881 - "engines": { 882 - "node": ">= 8" 883 - } 884 - }, 885 - "node_modules/@nodelib/fs.walk": { 886 - "version": "1.2.8", 887 - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 888 - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 889 - "dev": true, 890 - "dependencies": { 891 - "@nodelib/fs.scandir": "2.1.5", 892 - "fastq": "^1.6.0" 893 - }, 894 - "engines": { 895 - "node": ">= 8" 896 - } 897 - }, 898 - "node_modules/@nolyfill/is-core-module": { 899 - "version": "1.0.39", 900 - "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", 901 - "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", 902 - "dev": true, 903 - "engines": { 904 - "node": ">=12.4.0" 905 - } 906 - }, 907 - "node_modules/@rtsao/scc": { 908 - "version": "1.1.0", 909 - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", 910 - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", 911 - "dev": true 912 - }, 913 - "node_modules/@rushstack/eslint-patch": { 914 - "version": "1.12.0", 915 - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.12.0.tgz", 916 - "integrity": "sha512-5EwMtOqvJMMa3HbmxLlF74e+3/HhwBTMcvt3nqVJgGCozO6hzIPOBlwm8mGVNR9SN2IJpxSnlxczyDjcn7qIyw==", 917 - "dev": true 918 - }, 919 - "node_modules/@swc/helpers": { 920 - "version": "0.5.15", 921 - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", 922 - "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", 923 - "dependencies": { 924 - "tslib": "^2.8.0" 925 - } 926 - }, 927 - "node_modules/@tailwindcss/node": { 928 - "version": "4.1.11", 929 - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.11.tgz", 930 - "integrity": "sha512-yzhzuGRmv5QyU9qLNg4GTlYI6STedBWRE7NjxP45CsFYYq9taI0zJXZBMqIC/c8fViNLhmrbpSFS57EoxUmD6Q==", 931 - "dev": true, 932 - "dependencies": { 933 - "@ampproject/remapping": "^2.3.0", 934 - "enhanced-resolve": "^5.18.1", 935 - "jiti": "^2.4.2", 936 - "lightningcss": "1.30.1", 937 - "magic-string": "^0.30.17", 938 - "source-map-js": "^1.2.1", 939 - "tailwindcss": "4.1.11" 940 - } 941 - }, 942 - "node_modules/@tailwindcss/oxide": { 943 - "version": "4.1.11", 944 - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.11.tgz", 945 - "integrity": "sha512-Q69XzrtAhuyfHo+5/HMgr1lAiPP/G40OMFAnws7xcFEYqcypZmdW8eGXaOUIeOl1dzPJBPENXgbjsOyhg2nkrg==", 946 - "dev": true, 947 - "hasInstallScript": true, 948 - "dependencies": { 949 - "detect-libc": "^2.0.4", 950 - "tar": "^7.4.3" 951 - }, 952 - "engines": { 953 - "node": ">= 10" 954 - }, 955 - "optionalDependencies": { 956 - "@tailwindcss/oxide-android-arm64": "4.1.11", 957 - "@tailwindcss/oxide-darwin-arm64": "4.1.11", 958 - "@tailwindcss/oxide-darwin-x64": "4.1.11", 959 - "@tailwindcss/oxide-freebsd-x64": "4.1.11", 960 - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.11", 961 - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.11", 962 - "@tailwindcss/oxide-linux-arm64-musl": "4.1.11", 963 - "@tailwindcss/oxide-linux-x64-gnu": "4.1.11", 964 - "@tailwindcss/oxide-linux-x64-musl": "4.1.11", 965 - "@tailwindcss/oxide-wasm32-wasi": "4.1.11", 966 - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.11", 967 - "@tailwindcss/oxide-win32-x64-msvc": "4.1.11" 968 - } 969 - }, 970 - "node_modules/@tailwindcss/oxide-android-arm64": { 971 - "version": "4.1.11", 972 - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.11.tgz", 973 - "integrity": "sha512-3IfFuATVRUMZZprEIx9OGDjG3Ou3jG4xQzNTvjDoKmU9JdmoCohQJ83MYd0GPnQIu89YoJqvMM0G3uqLRFtetg==", 974 - "cpu": [ 975 - "arm64" 976 - ], 977 - "dev": true, 978 - "optional": true, 979 - "os": [ 980 - "android" 981 - ], 982 - "engines": { 983 - "node": ">= 10" 984 - } 985 - }, 986 - "node_modules/@tailwindcss/oxide-darwin-arm64": { 987 - "version": "4.1.11", 988 - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.11.tgz", 989 - "integrity": "sha512-ESgStEOEsyg8J5YcMb1xl8WFOXfeBmrhAwGsFxxB2CxY9evy63+AtpbDLAyRkJnxLy2WsD1qF13E97uQyP1lfQ==", 990 - "cpu": [ 991 - "arm64" 992 - ], 993 - "dev": true, 994 - "optional": true, 995 - "os": [ 996 - "darwin" 997 - ], 998 - "engines": { 999 - "node": ">= 10" 1000 - } 1001 - }, 1002 - "node_modules/@tailwindcss/oxide-darwin-x64": { 1003 - "version": "4.1.11", 1004 - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.11.tgz", 1005 - "integrity": "sha512-EgnK8kRchgmgzG6jE10UQNaH9Mwi2n+yw1jWmof9Vyg2lpKNX2ioe7CJdf9M5f8V9uaQxInenZkOxnTVL3fhAw==", 1006 - "cpu": [ 1007 - "x64" 1008 - ], 1009 - "dev": true, 1010 - "optional": true, 1011 - "os": [ 1012 - "darwin" 1013 - ], 1014 - "engines": { 1015 - "node": ">= 10" 1016 - } 1017 - }, 1018 - "node_modules/@tailwindcss/oxide-freebsd-x64": { 1019 - "version": "4.1.11", 1020 - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.11.tgz", 1021 - "integrity": "sha512-xdqKtbpHs7pQhIKmqVpxStnY1skuNh4CtbcyOHeX1YBE0hArj2romsFGb6yUmzkq/6M24nkxDqU8GYrKrz+UcA==", 1022 - "cpu": [ 1023 - "x64" 1024 - ], 1025 - "dev": true, 1026 - "optional": true, 1027 - "os": [ 1028 - "freebsd" 1029 - ], 1030 - "engines": { 1031 - "node": ">= 10" 1032 - } 1033 - }, 1034 - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { 1035 - "version": "4.1.11", 1036 - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.11.tgz", 1037 - "integrity": "sha512-ryHQK2eyDYYMwB5wZL46uoxz2zzDZsFBwfjssgB7pzytAeCCa6glsiJGjhTEddq/4OsIjsLNMAiMlHNYnkEEeg==", 1038 - "cpu": [ 1039 - "arm" 1040 - ], 1041 - "dev": true, 1042 - "optional": true, 1043 - "os": [ 1044 - "linux" 1045 - ], 1046 - "engines": { 1047 - "node": ">= 10" 1048 - } 1049 - }, 1050 - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { 1051 - "version": "4.1.11", 1052 - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.11.tgz", 1053 - "integrity": "sha512-mYwqheq4BXF83j/w75ewkPJmPZIqqP1nhoghS9D57CLjsh3Nfq0m4ftTotRYtGnZd3eCztgbSPJ9QhfC91gDZQ==", 1054 - "cpu": [ 1055 - "arm64" 1056 - ], 1057 - "dev": true, 1058 - "optional": true, 1059 - "os": [ 1060 - "linux" 1061 - ], 1062 - "engines": { 1063 - "node": ">= 10" 1064 - } 1065 - }, 1066 - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { 1067 - "version": "4.1.11", 1068 - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.11.tgz", 1069 - "integrity": "sha512-m/NVRFNGlEHJrNVk3O6I9ggVuNjXHIPoD6bqay/pubtYC9QIdAMpS+cswZQPBLvVvEF6GtSNONbDkZrjWZXYNQ==", 1070 - "cpu": [ 1071 - "arm64" 1072 - ], 1073 - "dev": true, 1074 - "optional": true, 1075 - "os": [ 1076 - "linux" 1077 - ], 1078 - "engines": { 1079 - "node": ">= 10" 1080 - } 1081 - }, 1082 - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { 1083 - "version": "4.1.11", 1084 - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.11.tgz", 1085 - "integrity": "sha512-YW6sblI7xukSD2TdbbaeQVDysIm/UPJtObHJHKxDEcW2exAtY47j52f8jZXkqE1krdnkhCMGqP3dbniu1Te2Fg==", 1086 - "cpu": [ 1087 - "x64" 1088 - ], 1089 - "dev": true, 1090 - "optional": true, 1091 - "os": [ 1092 - "linux" 1093 - ], 1094 - "engines": { 1095 - "node": ">= 10" 1096 - } 1097 - }, 1098 - "node_modules/@tailwindcss/oxide-linux-x64-musl": { 1099 - "version": "4.1.11", 1100 - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.11.tgz", 1101 - "integrity": "sha512-e3C/RRhGunWYNC3aSF7exsQkdXzQ/M+aYuZHKnw4U7KQwTJotnWsGOIVih0s2qQzmEzOFIJ3+xt7iq67K/p56Q==", 1102 - "cpu": [ 1103 - "x64" 1104 - ], 1105 - "dev": true, 1106 - "optional": true, 1107 - "os": [ 1108 - "linux" 1109 - ], 1110 - "engines": { 1111 - "node": ">= 10" 1112 - } 1113 - }, 1114 - "node_modules/@tailwindcss/oxide-wasm32-wasi": { 1115 - "version": "4.1.11", 1116 - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.11.tgz", 1117 - "integrity": "sha512-Xo1+/GU0JEN/C/dvcammKHzeM6NqKovG+6921MR6oadee5XPBaKOumrJCXvopJ/Qb5TH7LX/UAywbqrP4lax0g==", 1118 - "bundleDependencies": [ 1119 - "@napi-rs/wasm-runtime", 1120 - "@emnapi/core", 1121 - "@emnapi/runtime", 1122 - "@tybys/wasm-util", 1123 - "@emnapi/wasi-threads", 1124 - "tslib" 1125 - ], 1126 - "cpu": [ 1127 - "wasm32" 1128 - ], 1129 - "dev": true, 1130 - "optional": true, 1131 - "dependencies": { 1132 - "@emnapi/core": "^1.4.3", 1133 - "@emnapi/runtime": "^1.4.3", 1134 - "@emnapi/wasi-threads": "^1.0.2", 1135 - "@napi-rs/wasm-runtime": "^0.2.11", 1136 - "@tybys/wasm-util": "^0.9.0", 1137 - "tslib": "^2.8.0" 1138 - }, 1139 - "engines": { 1140 - "node": ">=14.0.0" 1141 - } 1142 - }, 1143 - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { 1144 - "version": "4.1.11", 1145 - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.11.tgz", 1146 - "integrity": "sha512-UgKYx5PwEKrac3GPNPf6HVMNhUIGuUh4wlDFR2jYYdkX6pL/rn73zTq/4pzUm8fOjAn5L8zDeHp9iXmUGOXZ+w==", 1147 - "cpu": [ 1148 - "arm64" 1149 - ], 1150 - "dev": true, 1151 - "optional": true, 1152 - "os": [ 1153 - "win32" 1154 - ], 1155 - "engines": { 1156 - "node": ">= 10" 1157 - } 1158 - }, 1159 - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { 1160 - "version": "4.1.11", 1161 - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.11.tgz", 1162 - "integrity": "sha512-YfHoggn1j0LK7wR82TOucWc5LDCguHnoS879idHekmmiR7g9HUtMw9MI0NHatS28u/Xlkfi9w5RJWgz2Dl+5Qg==", 1163 - "cpu": [ 1164 - "x64" 1165 - ], 1166 - "dev": true, 1167 - "optional": true, 1168 - "os": [ 1169 - "win32" 1170 - ], 1171 - "engines": { 1172 - "node": ">= 10" 1173 - } 1174 - }, 1175 - "node_modules/@tailwindcss/postcss": { 1176 - "version": "4.1.11", 1177 - "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.11.tgz", 1178 - "integrity": "sha512-q/EAIIpF6WpLhKEuQSEVMZNMIY8KhWoAemZ9eylNAih9jxMGAYPPWBn3I9QL/2jZ+e7OEz/tZkX5HwbBR4HohA==", 1179 - "dev": true, 1180 - "dependencies": { 1181 - "@alloc/quick-lru": "^5.2.0", 1182 - "@tailwindcss/node": "4.1.11", 1183 - "@tailwindcss/oxide": "4.1.11", 1184 - "postcss": "^8.4.41", 1185 - "tailwindcss": "4.1.11" 1186 - } 1187 - }, 1188 - "node_modules/@tybys/wasm-util": { 1189 - "version": "0.10.0", 1190 - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.0.tgz", 1191 - "integrity": "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==", 1192 - "dev": true, 1193 - "optional": true, 1194 - "dependencies": { 1195 - "tslib": "^2.4.0" 1196 - } 1197 - }, 1198 - "node_modules/@types/estree": { 1199 - "version": "1.0.8", 1200 - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", 1201 - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", 1202 - "dev": true 1203 - }, 1204 - "node_modules/@types/json-schema": { 1205 - "version": "7.0.15", 1206 - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", 1207 - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", 1208 - "dev": true 1209 - }, 1210 - "node_modules/@types/json5": { 1211 - "version": "0.0.29", 1212 - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", 1213 - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", 1214 - "dev": true 1215 - }, 1216 - "node_modules/@types/node": { 1217 - "version": "20.19.9", 1218 - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.9.tgz", 1219 - "integrity": "sha512-cuVNgarYWZqxRJDQHEB58GEONhOK79QVR/qYx4S7kcUObQvUwvFnYxJuuHUKm2aieN9X3yZB4LZsuYNU1Qphsw==", 1220 - "dev": true, 1221 - "dependencies": { 1222 - "undici-types": "~6.21.0" 1223 - } 1224 - }, 1225 - "node_modules/@types/react": { 1226 - "version": "19.1.8", 1227 - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.8.tgz", 1228 - "integrity": "sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==", 1229 - "dev": true, 1230 - "dependencies": { 1231 - "csstype": "^3.0.2" 1232 - } 1233 - }, 1234 - "node_modules/@types/react-dom": { 1235 - "version": "19.1.6", 1236 - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.6.tgz", 1237 - "integrity": "sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw==", 1238 - "dev": true, 1239 - "peerDependencies": { 1240 - "@types/react": "^19.0.0" 1241 - } 1242 - }, 1243 - "node_modules/@typescript-eslint/eslint-plugin": { 1244 - "version": "8.38.0", 1245 - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.38.0.tgz", 1246 - "integrity": "sha512-CPoznzpuAnIOl4nhj4tRr4gIPj5AfKgkiJmGQDaq+fQnRJTYlcBjbX3wbciGmpoPf8DREufuPRe1tNMZnGdanA==", 1247 - "dev": true, 1248 - "dependencies": { 1249 - "@eslint-community/regexpp": "^4.10.0", 1250 - "@typescript-eslint/scope-manager": "8.38.0", 1251 - "@typescript-eslint/type-utils": "8.38.0", 1252 - "@typescript-eslint/utils": "8.38.0", 1253 - "@typescript-eslint/visitor-keys": "8.38.0", 1254 - "graphemer": "^1.4.0", 1255 - "ignore": "^7.0.0", 1256 - "natural-compare": "^1.4.0", 1257 - "ts-api-utils": "^2.1.0" 1258 - }, 1259 - "engines": { 1260 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1261 - }, 1262 - "funding": { 1263 - "type": "opencollective", 1264 - "url": "https://opencollective.com/typescript-eslint" 1265 - }, 1266 - "peerDependencies": { 1267 - "@typescript-eslint/parser": "^8.38.0", 1268 - "eslint": "^8.57.0 || ^9.0.0", 1269 - "typescript": ">=4.8.4 <5.9.0" 1270 - } 1271 - }, 1272 - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { 1273 - "version": "7.0.5", 1274 - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", 1275 - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", 1276 - "dev": true, 1277 - "engines": { 1278 - "node": ">= 4" 1279 - } 1280 - }, 1281 - "node_modules/@typescript-eslint/parser": { 1282 - "version": "8.38.0", 1283 - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.38.0.tgz", 1284 - "integrity": "sha512-Zhy8HCvBUEfBECzIl1PKqF4p11+d0aUJS1GeUiuqK9WmOug8YCmC4h4bjyBvMyAMI9sbRczmrYL5lKg/YMbrcQ==", 1285 - "dev": true, 1286 - "dependencies": { 1287 - "@typescript-eslint/scope-manager": "8.38.0", 1288 - "@typescript-eslint/types": "8.38.0", 1289 - "@typescript-eslint/typescript-estree": "8.38.0", 1290 - "@typescript-eslint/visitor-keys": "8.38.0", 1291 - "debug": "^4.3.4" 1292 - }, 1293 - "engines": { 1294 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1295 - }, 1296 - "funding": { 1297 - "type": "opencollective", 1298 - "url": "https://opencollective.com/typescript-eslint" 1299 - }, 1300 - "peerDependencies": { 1301 - "eslint": "^8.57.0 || ^9.0.0", 1302 - "typescript": ">=4.8.4 <5.9.0" 1303 - } 1304 - }, 1305 - "node_modules/@typescript-eslint/project-service": { 1306 - "version": "8.38.0", 1307 - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.38.0.tgz", 1308 - "integrity": "sha512-dbK7Jvqcb8c9QfH01YB6pORpqX1mn5gDZc9n63Ak/+jD67oWXn3Gs0M6vddAN+eDXBCS5EmNWzbSxsn9SzFWWg==", 1309 - "dev": true, 1310 - "dependencies": { 1311 - "@typescript-eslint/tsconfig-utils": "^8.38.0", 1312 - "@typescript-eslint/types": "^8.38.0", 1313 - "debug": "^4.3.4" 1314 - }, 1315 - "engines": { 1316 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1317 - }, 1318 - "funding": { 1319 - "type": "opencollective", 1320 - "url": "https://opencollective.com/typescript-eslint" 1321 - }, 1322 - "peerDependencies": { 1323 - "typescript": ">=4.8.4 <5.9.0" 1324 - } 1325 - }, 1326 - "node_modules/@typescript-eslint/scope-manager": { 1327 - "version": "8.38.0", 1328 - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.38.0.tgz", 1329 - "integrity": "sha512-WJw3AVlFFcdT9Ri1xs/lg8LwDqgekWXWhH3iAF+1ZM+QPd7oxQ6jvtW/JPwzAScxitILUIFs0/AnQ/UWHzbATQ==", 1330 - "dev": true, 1331 - "dependencies": { 1332 - "@typescript-eslint/types": "8.38.0", 1333 - "@typescript-eslint/visitor-keys": "8.38.0" 1334 - }, 1335 - "engines": { 1336 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1337 - }, 1338 - "funding": { 1339 - "type": "opencollective", 1340 - "url": "https://opencollective.com/typescript-eslint" 1341 - } 1342 - }, 1343 - "node_modules/@typescript-eslint/tsconfig-utils": { 1344 - "version": "8.38.0", 1345 - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.38.0.tgz", 1346 - "integrity": "sha512-Lum9RtSE3EroKk/bYns+sPOodqb2Fv50XOl/gMviMKNvanETUuUcC9ObRbzrJ4VSd2JalPqgSAavwrPiPvnAiQ==", 1347 - "dev": true, 1348 - "engines": { 1349 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1350 - }, 1351 - "funding": { 1352 - "type": "opencollective", 1353 - "url": "https://opencollective.com/typescript-eslint" 1354 - }, 1355 - "peerDependencies": { 1356 - "typescript": ">=4.8.4 <5.9.0" 1357 - } 1358 - }, 1359 - "node_modules/@typescript-eslint/type-utils": { 1360 - "version": "8.38.0", 1361 - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.38.0.tgz", 1362 - "integrity": "sha512-c7jAvGEZVf0ao2z+nnz8BUaHZD09Agbh+DY7qvBQqLiz8uJzRgVPj5YvOh8I8uEiH8oIUGIfHzMwUcGVco/SJg==", 1363 - "dev": true, 1364 - "dependencies": { 1365 - "@typescript-eslint/types": "8.38.0", 1366 - "@typescript-eslint/typescript-estree": "8.38.0", 1367 - "@typescript-eslint/utils": "8.38.0", 1368 - "debug": "^4.3.4", 1369 - "ts-api-utils": "^2.1.0" 1370 - }, 1371 - "engines": { 1372 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1373 - }, 1374 - "funding": { 1375 - "type": "opencollective", 1376 - "url": "https://opencollective.com/typescript-eslint" 1377 - }, 1378 - "peerDependencies": { 1379 - "eslint": "^8.57.0 || ^9.0.0", 1380 - "typescript": ">=4.8.4 <5.9.0" 1381 - } 1382 - }, 1383 - "node_modules/@typescript-eslint/types": { 1384 - "version": "8.38.0", 1385 - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.38.0.tgz", 1386 - "integrity": "sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw==", 1387 - "dev": true, 1388 - "engines": { 1389 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1390 - }, 1391 - "funding": { 1392 - "type": "opencollective", 1393 - "url": "https://opencollective.com/typescript-eslint" 1394 - } 1395 - }, 1396 - "node_modules/@typescript-eslint/typescript-estree": { 1397 - "version": "8.38.0", 1398 - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.38.0.tgz", 1399 - "integrity": "sha512-fooELKcAKzxux6fA6pxOflpNS0jc+nOQEEOipXFNjSlBS6fqrJOVY/whSn70SScHrcJ2LDsxWrneFoWYSVfqhQ==", 1400 - "dev": true, 1401 - "dependencies": { 1402 - "@typescript-eslint/project-service": "8.38.0", 1403 - "@typescript-eslint/tsconfig-utils": "8.38.0", 1404 - "@typescript-eslint/types": "8.38.0", 1405 - "@typescript-eslint/visitor-keys": "8.38.0", 1406 - "debug": "^4.3.4", 1407 - "fast-glob": "^3.3.2", 1408 - "is-glob": "^4.0.3", 1409 - "minimatch": "^9.0.4", 1410 - "semver": "^7.6.0", 1411 - "ts-api-utils": "^2.1.0" 1412 - }, 1413 - "engines": { 1414 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1415 - }, 1416 - "funding": { 1417 - "type": "opencollective", 1418 - "url": "https://opencollective.com/typescript-eslint" 1419 - }, 1420 - "peerDependencies": { 1421 - "typescript": ">=4.8.4 <5.9.0" 1422 - } 1423 - }, 1424 - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { 1425 - "version": "2.0.2", 1426 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", 1427 - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", 1428 - "dev": true, 1429 - "dependencies": { 1430 - "balanced-match": "^1.0.0" 1431 - } 1432 - }, 1433 - "node_modules/@typescript-eslint/typescript-estree/node_modules/fast-glob": { 1434 - "version": "3.3.3", 1435 - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", 1436 - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", 1437 - "dev": true, 1438 - "dependencies": { 1439 - "@nodelib/fs.stat": "^2.0.2", 1440 - "@nodelib/fs.walk": "^1.2.3", 1441 - "glob-parent": "^5.1.2", 1442 - "merge2": "^1.3.0", 1443 - "micromatch": "^4.0.8" 1444 - }, 1445 - "engines": { 1446 - "node": ">=8.6.0" 1447 - } 1448 - }, 1449 - "node_modules/@typescript-eslint/typescript-estree/node_modules/glob-parent": { 1450 - "version": "5.1.2", 1451 - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1452 - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1453 - "dev": true, 1454 - "dependencies": { 1455 - "is-glob": "^4.0.1" 1456 - }, 1457 - "engines": { 1458 - "node": ">= 6" 1459 - } 1460 - }, 1461 - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { 1462 - "version": "9.0.5", 1463 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 1464 - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 1465 - "dev": true, 1466 - "dependencies": { 1467 - "brace-expansion": "^2.0.1" 1468 - }, 1469 - "engines": { 1470 - "node": ">=16 || 14 >=14.17" 1471 - }, 1472 - "funding": { 1473 - "url": "https://github.com/sponsors/isaacs" 1474 - } 1475 - }, 1476 - "node_modules/@typescript-eslint/utils": { 1477 - "version": "8.38.0", 1478 - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.38.0.tgz", 1479 - "integrity": "sha512-hHcMA86Hgt+ijJlrD8fX0j1j8w4C92zue/8LOPAFioIno+W0+L7KqE8QZKCcPGc/92Vs9x36w/4MPTJhqXdyvg==", 1480 - "dev": true, 1481 - "dependencies": { 1482 - "@eslint-community/eslint-utils": "^4.7.0", 1483 - "@typescript-eslint/scope-manager": "8.38.0", 1484 - "@typescript-eslint/types": "8.38.0", 1485 - "@typescript-eslint/typescript-estree": "8.38.0" 1486 - }, 1487 - "engines": { 1488 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1489 - }, 1490 - "funding": { 1491 - "type": "opencollective", 1492 - "url": "https://opencollective.com/typescript-eslint" 1493 - }, 1494 - "peerDependencies": { 1495 - "eslint": "^8.57.0 || ^9.0.0", 1496 - "typescript": ">=4.8.4 <5.9.0" 1497 - } 1498 - }, 1499 - "node_modules/@typescript-eslint/visitor-keys": { 1500 - "version": "8.38.0", 1501 - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.38.0.tgz", 1502 - "integrity": "sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g==", 1503 - "dev": true, 1504 - "dependencies": { 1505 - "@typescript-eslint/types": "8.38.0", 1506 - "eslint-visitor-keys": "^4.2.1" 1507 - }, 1508 - "engines": { 1509 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1510 - }, 1511 - "funding": { 1512 - "type": "opencollective", 1513 - "url": "https://opencollective.com/typescript-eslint" 1514 - } 1515 - }, 1516 - "node_modules/@unrs/resolver-binding-android-arm-eabi": { 1517 - "version": "1.11.1", 1518 - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", 1519 - "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", 1520 - "cpu": [ 1521 - "arm" 1522 - ], 1523 - "dev": true, 1524 - "optional": true, 1525 - "os": [ 1526 - "android" 1527 - ] 1528 - }, 1529 - "node_modules/@unrs/resolver-binding-android-arm64": { 1530 - "version": "1.11.1", 1531 - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", 1532 - "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", 1533 - "cpu": [ 1534 - "arm64" 1535 - ], 1536 - "dev": true, 1537 - "optional": true, 1538 - "os": [ 1539 - "android" 1540 - ] 1541 - }, 1542 - "node_modules/@unrs/resolver-binding-darwin-arm64": { 1543 - "version": "1.11.1", 1544 - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", 1545 - "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", 1546 - "cpu": [ 1547 - "arm64" 1548 - ], 1549 - "dev": true, 1550 - "optional": true, 1551 - "os": [ 1552 - "darwin" 1553 - ] 1554 - }, 1555 - "node_modules/@unrs/resolver-binding-darwin-x64": { 1556 - "version": "1.11.1", 1557 - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", 1558 - "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", 1559 - "cpu": [ 1560 - "x64" 1561 - ], 1562 - "dev": true, 1563 - "optional": true, 1564 - "os": [ 1565 - "darwin" 1566 - ] 1567 - }, 1568 - "node_modules/@unrs/resolver-binding-freebsd-x64": { 1569 - "version": "1.11.1", 1570 - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", 1571 - "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", 1572 - "cpu": [ 1573 - "x64" 1574 - ], 1575 - "dev": true, 1576 - "optional": true, 1577 - "os": [ 1578 - "freebsd" 1579 - ] 1580 - }, 1581 - "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { 1582 - "version": "1.11.1", 1583 - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", 1584 - "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", 1585 - "cpu": [ 1586 - "arm" 1587 - ], 1588 - "dev": true, 1589 - "optional": true, 1590 - "os": [ 1591 - "linux" 1592 - ] 1593 - }, 1594 - "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { 1595 - "version": "1.11.1", 1596 - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", 1597 - "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", 1598 - "cpu": [ 1599 - "arm" 1600 - ], 1601 - "dev": true, 1602 - "optional": true, 1603 - "os": [ 1604 - "linux" 1605 - ] 1606 - }, 1607 - "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { 1608 - "version": "1.11.1", 1609 - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", 1610 - "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", 1611 - "cpu": [ 1612 - "arm64" 1613 - ], 1614 - "dev": true, 1615 - "optional": true, 1616 - "os": [ 1617 - "linux" 1618 - ] 1619 - }, 1620 - "node_modules/@unrs/resolver-binding-linux-arm64-musl": { 1621 - "version": "1.11.1", 1622 - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", 1623 - "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", 1624 - "cpu": [ 1625 - "arm64" 1626 - ], 1627 - "dev": true, 1628 - "optional": true, 1629 - "os": [ 1630 - "linux" 1631 - ] 1632 - }, 1633 - "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { 1634 - "version": "1.11.1", 1635 - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", 1636 - "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", 1637 - "cpu": [ 1638 - "ppc64" 1639 - ], 1640 - "dev": true, 1641 - "optional": true, 1642 - "os": [ 1643 - "linux" 1644 - ] 1645 - }, 1646 - "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { 1647 - "version": "1.11.1", 1648 - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", 1649 - "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", 1650 - "cpu": [ 1651 - "riscv64" 1652 - ], 1653 - "dev": true, 1654 - "optional": true, 1655 - "os": [ 1656 - "linux" 1657 - ] 1658 - }, 1659 - "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { 1660 - "version": "1.11.1", 1661 - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", 1662 - "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", 1663 - "cpu": [ 1664 - "riscv64" 1665 - ], 1666 - "dev": true, 1667 - "optional": true, 1668 - "os": [ 1669 - "linux" 1670 - ] 1671 - }, 1672 - "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { 1673 - "version": "1.11.1", 1674 - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", 1675 - "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", 1676 - "cpu": [ 1677 - "s390x" 1678 - ], 1679 - "dev": true, 1680 - "optional": true, 1681 - "os": [ 1682 - "linux" 1683 - ] 1684 - }, 1685 - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { 1686 - "version": "1.11.1", 1687 - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", 1688 - "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", 1689 - "cpu": [ 1690 - "x64" 1691 - ], 1692 - "dev": true, 1693 - "optional": true, 1694 - "os": [ 1695 - "linux" 1696 - ] 1697 - }, 1698 - "node_modules/@unrs/resolver-binding-linux-x64-musl": { 1699 - "version": "1.11.1", 1700 - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", 1701 - "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", 1702 - "cpu": [ 1703 - "x64" 1704 - ], 1705 - "dev": true, 1706 - "optional": true, 1707 - "os": [ 1708 - "linux" 1709 - ] 1710 - }, 1711 - "node_modules/@unrs/resolver-binding-wasm32-wasi": { 1712 - "version": "1.11.1", 1713 - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", 1714 - "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", 1715 - "cpu": [ 1716 - "wasm32" 1717 - ], 1718 - "dev": true, 1719 - "optional": true, 1720 - "dependencies": { 1721 - "@napi-rs/wasm-runtime": "^0.2.11" 1722 - }, 1723 - "engines": { 1724 - "node": ">=14.0.0" 1725 - } 1726 - }, 1727 - "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { 1728 - "version": "1.11.1", 1729 - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", 1730 - "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", 1731 - "cpu": [ 1732 - "arm64" 1733 - ], 1734 - "dev": true, 1735 - "optional": true, 1736 - "os": [ 1737 - "win32" 1738 - ] 1739 - }, 1740 - "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { 1741 - "version": "1.11.1", 1742 - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", 1743 - "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", 1744 - "cpu": [ 1745 - "ia32" 1746 - ], 1747 - "dev": true, 1748 - "optional": true, 1749 - "os": [ 1750 - "win32" 1751 - ] 1752 - }, 1753 - "node_modules/@unrs/resolver-binding-win32-x64-msvc": { 1754 - "version": "1.11.1", 1755 - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", 1756 - "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", 1757 - "cpu": [ 1758 - "x64" 1759 - ], 1760 - "dev": true, 1761 - "optional": true, 1762 - "os": [ 1763 - "win32" 1764 - ] 1765 - }, 1766 - "node_modules/acorn": { 1767 - "version": "8.15.0", 1768 - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", 1769 - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", 1770 - "dev": true, 1771 - "bin": { 1772 - "acorn": "bin/acorn" 1773 - }, 1774 - "engines": { 1775 - "node": ">=0.4.0" 1776 - } 1777 - }, 1778 - "node_modules/acorn-jsx": { 1779 - "version": "5.3.2", 1780 - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 1781 - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 1782 - "dev": true, 1783 - "peerDependencies": { 1784 - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 1785 - } 1786 - }, 1787 - "node_modules/ajv": { 1788 - "version": "6.12.6", 1789 - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 1790 - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 1791 - "dev": true, 1792 - "dependencies": { 1793 - "fast-deep-equal": "^3.1.1", 1794 - "fast-json-stable-stringify": "^2.0.0", 1795 - "json-schema-traverse": "^0.4.1", 1796 - "uri-js": "^4.2.2" 1797 - }, 1798 - "funding": { 1799 - "type": "github", 1800 - "url": "https://github.com/sponsors/epoberezkin" 1801 - } 1802 - }, 1803 - "node_modules/ansi-styles": { 1804 - "version": "4.3.0", 1805 - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1806 - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1807 - "dev": true, 1808 - "dependencies": { 1809 - "color-convert": "^2.0.1" 1810 - }, 1811 - "engines": { 1812 - "node": ">=8" 1813 - }, 1814 - "funding": { 1815 - "url": "https://github.com/chalk/ansi-styles?sponsor=1" 1816 - } 1817 - }, 1818 - "node_modules/argparse": { 1819 - "version": "2.0.1", 1820 - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 1821 - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 1822 - "dev": true 1823 - }, 1824 - "node_modules/aria-query": { 1825 - "version": "5.3.2", 1826 - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", 1827 - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", 1828 - "dev": true, 1829 - "engines": { 1830 - "node": ">= 0.4" 1831 - } 1832 - }, 1833 - "node_modules/array-buffer-byte-length": { 1834 - "version": "1.0.2", 1835 - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", 1836 - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", 1837 - "dev": true, 1838 - "dependencies": { 1839 - "call-bound": "^1.0.3", 1840 - "is-array-buffer": "^3.0.5" 1841 - }, 1842 - "engines": { 1843 - "node": ">= 0.4" 1844 - }, 1845 - "funding": { 1846 - "url": "https://github.com/sponsors/ljharb" 1847 - } 1848 - }, 1849 - "node_modules/array-includes": { 1850 - "version": "3.1.9", 1851 - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", 1852 - "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", 1853 - "dev": true, 1854 - "dependencies": { 1855 - "call-bind": "^1.0.8", 1856 - "call-bound": "^1.0.4", 1857 - "define-properties": "^1.2.1", 1858 - "es-abstract": "^1.24.0", 1859 - "es-object-atoms": "^1.1.1", 1860 - "get-intrinsic": "^1.3.0", 1861 - "is-string": "^1.1.1", 1862 - "math-intrinsics": "^1.1.0" 1863 - }, 1864 - "engines": { 1865 - "node": ">= 0.4" 1866 - }, 1867 - "funding": { 1868 - "url": "https://github.com/sponsors/ljharb" 1869 - } 1870 - }, 1871 - "node_modules/array.prototype.findlast": { 1872 - "version": "1.2.5", 1873 - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", 1874 - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", 1875 - "dev": true, 1876 - "dependencies": { 1877 - "call-bind": "^1.0.7", 1878 - "define-properties": "^1.2.1", 1879 - "es-abstract": "^1.23.2", 1880 - "es-errors": "^1.3.0", 1881 - "es-object-atoms": "^1.0.0", 1882 - "es-shim-unscopables": "^1.0.2" 1883 - }, 1884 - "engines": { 1885 - "node": ">= 0.4" 1886 - }, 1887 - "funding": { 1888 - "url": "https://github.com/sponsors/ljharb" 1889 - } 1890 - }, 1891 - "node_modules/array.prototype.findlastindex": { 1892 - "version": "1.2.6", 1893 - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", 1894 - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", 1895 - "dev": true, 1896 - "dependencies": { 1897 - "call-bind": "^1.0.8", 1898 - "call-bound": "^1.0.4", 1899 - "define-properties": "^1.2.1", 1900 - "es-abstract": "^1.23.9", 1901 - "es-errors": "^1.3.0", 1902 - "es-object-atoms": "^1.1.1", 1903 - "es-shim-unscopables": "^1.1.0" 1904 - }, 1905 - "engines": { 1906 - "node": ">= 0.4" 1907 - }, 1908 - "funding": { 1909 - "url": "https://github.com/sponsors/ljharb" 1910 - } 1911 - }, 1912 - "node_modules/array.prototype.flat": { 1913 - "version": "1.3.3", 1914 - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", 1915 - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", 1916 - "dev": true, 1917 - "dependencies": { 1918 - "call-bind": "^1.0.8", 1919 - "define-properties": "^1.2.1", 1920 - "es-abstract": "^1.23.5", 1921 - "es-shim-unscopables": "^1.0.2" 1922 - }, 1923 - "engines": { 1924 - "node": ">= 0.4" 1925 - }, 1926 - "funding": { 1927 - "url": "https://github.com/sponsors/ljharb" 1928 - } 1929 - }, 1930 - "node_modules/array.prototype.flatmap": { 1931 - "version": "1.3.3", 1932 - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", 1933 - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", 1934 - "dev": true, 1935 - "dependencies": { 1936 - "call-bind": "^1.0.8", 1937 - "define-properties": "^1.2.1", 1938 - "es-abstract": "^1.23.5", 1939 - "es-shim-unscopables": "^1.0.2" 1940 - }, 1941 - "engines": { 1942 - "node": ">= 0.4" 1943 - }, 1944 - "funding": { 1945 - "url": "https://github.com/sponsors/ljharb" 1946 - } 1947 - }, 1948 - "node_modules/array.prototype.tosorted": { 1949 - "version": "1.1.4", 1950 - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", 1951 - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", 1952 - "dev": true, 1953 - "dependencies": { 1954 - "call-bind": "^1.0.7", 1955 - "define-properties": "^1.2.1", 1956 - "es-abstract": "^1.23.3", 1957 - "es-errors": "^1.3.0", 1958 - "es-shim-unscopables": "^1.0.2" 1959 - }, 1960 - "engines": { 1961 - "node": ">= 0.4" 1962 - } 1963 - }, 1964 - "node_modules/arraybuffer.prototype.slice": { 1965 - "version": "1.0.4", 1966 - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", 1967 - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", 1968 - "dev": true, 1969 - "dependencies": { 1970 - "array-buffer-byte-length": "^1.0.1", 1971 - "call-bind": "^1.0.8", 1972 - "define-properties": "^1.2.1", 1973 - "es-abstract": "^1.23.5", 1974 - "es-errors": "^1.3.0", 1975 - "get-intrinsic": "^1.2.6", 1976 - "is-array-buffer": "^3.0.4" 1977 - }, 1978 - "engines": { 1979 - "node": ">= 0.4" 1980 - }, 1981 - "funding": { 1982 - "url": "https://github.com/sponsors/ljharb" 1983 - } 1984 - }, 1985 - "node_modules/ast-types-flow": { 1986 - "version": "0.0.8", 1987 - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", 1988 - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", 1989 - "dev": true 1990 - }, 1991 - "node_modules/async-function": { 1992 - "version": "1.0.0", 1993 - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", 1994 - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", 1995 - "dev": true, 1996 - "engines": { 1997 - "node": ">= 0.4" 1998 - } 1999 - }, 2000 - "node_modules/available-typed-arrays": { 2001 - "version": "1.0.7", 2002 - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", 2003 - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", 2004 - "dev": true, 2005 - "dependencies": { 2006 - "possible-typed-array-names": "^1.0.0" 2007 - }, 2008 - "engines": { 2009 - "node": ">= 0.4" 2010 - }, 2011 - "funding": { 2012 - "url": "https://github.com/sponsors/ljharb" 2013 - } 2014 - }, 2015 - "node_modules/axe-core": { 2016 - "version": "4.10.3", 2017 - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.3.tgz", 2018 - "integrity": "sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==", 2019 - "dev": true, 2020 - "engines": { 2021 - "node": ">=4" 2022 - } 2023 - }, 2024 - "node_modules/axobject-query": { 2025 - "version": "4.1.0", 2026 - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", 2027 - "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", 2028 - "dev": true, 2029 - "engines": { 2030 - "node": ">= 0.4" 2031 - } 2032 - }, 2033 - "node_modules/balanced-match": { 2034 - "version": "1.0.2", 2035 - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 2036 - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 2037 - "dev": true 2038 - }, 2039 - "node_modules/brace-expansion": { 2040 - "version": "1.1.12", 2041 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", 2042 - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", 2043 - "dev": true, 2044 - "dependencies": { 2045 - "balanced-match": "^1.0.0", 2046 - "concat-map": "0.0.1" 2047 - } 2048 - }, 2049 - "node_modules/braces": { 2050 - "version": "3.0.3", 2051 - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 2052 - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 2053 - "dev": true, 2054 - "dependencies": { 2055 - "fill-range": "^7.1.1" 2056 - }, 2057 - "engines": { 2058 - "node": ">=8" 2059 - } 2060 - }, 2061 - "node_modules/call-bind": { 2062 - "version": "1.0.8", 2063 - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", 2064 - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", 2065 - "dev": true, 2066 - "dependencies": { 2067 - "call-bind-apply-helpers": "^1.0.0", 2068 - "es-define-property": "^1.0.0", 2069 - "get-intrinsic": "^1.2.4", 2070 - "set-function-length": "^1.2.2" 2071 - }, 2072 - "engines": { 2073 - "node": ">= 0.4" 2074 - }, 2075 - "funding": { 2076 - "url": "https://github.com/sponsors/ljharb" 2077 - } 2078 - }, 2079 - "node_modules/call-bind-apply-helpers": { 2080 - "version": "1.0.2", 2081 - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", 2082 - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", 2083 - "dev": true, 2084 - "dependencies": { 2085 - "es-errors": "^1.3.0", 2086 - "function-bind": "^1.1.2" 2087 - }, 2088 - "engines": { 2089 - "node": ">= 0.4" 2090 - } 2091 - }, 2092 - "node_modules/call-bound": { 2093 - "version": "1.0.4", 2094 - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", 2095 - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", 2096 - "dev": true, 2097 - "dependencies": { 2098 - "call-bind-apply-helpers": "^1.0.2", 2099 - "get-intrinsic": "^1.3.0" 2100 - }, 2101 - "engines": { 2102 - "node": ">= 0.4" 2103 - }, 2104 - "funding": { 2105 - "url": "https://github.com/sponsors/ljharb" 2106 - } 2107 - }, 2108 - "node_modules/callsites": { 2109 - "version": "3.1.0", 2110 - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 2111 - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 2112 - "dev": true, 2113 - "engines": { 2114 - "node": ">=6" 2115 - } 2116 - }, 2117 - "node_modules/caniuse-lite": { 2118 - "version": "1.0.30001727", 2119 - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz", 2120 - "integrity": "sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==", 2121 - "funding": [ 2122 - { 2123 - "type": "opencollective", 2124 - "url": "https://opencollective.com/browserslist" 2125 - }, 2126 - { 2127 - "type": "tidelift", 2128 - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 2129 - }, 2130 - { 2131 - "type": "github", 2132 - "url": "https://github.com/sponsors/ai" 2133 - } 2134 - ] 2135 - }, 2136 - "node_modules/chalk": { 2137 - "version": "4.1.2", 2138 - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 2139 - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 2140 - "dev": true, 2141 - "dependencies": { 2142 - "ansi-styles": "^4.1.0", 2143 - "supports-color": "^7.1.0" 2144 - }, 2145 - "engines": { 2146 - "node": ">=10" 2147 - }, 2148 - "funding": { 2149 - "url": "https://github.com/chalk/chalk?sponsor=1" 2150 - } 2151 - }, 2152 - "node_modules/chownr": { 2153 - "version": "3.0.0", 2154 - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", 2155 - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", 2156 - "dev": true, 2157 - "engines": { 2158 - "node": ">=18" 2159 - } 2160 - }, 2161 - "node_modules/client-only": { 2162 - "version": "0.0.1", 2163 - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", 2164 - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" 2165 - }, 2166 - "node_modules/color": { 2167 - "version": "4.2.3", 2168 - "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", 2169 - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", 2170 - "optional": true, 2171 - "dependencies": { 2172 - "color-convert": "^2.0.1", 2173 - "color-string": "^1.9.0" 2174 - }, 2175 - "engines": { 2176 - "node": ">=12.5.0" 2177 - } 2178 - }, 2179 - "node_modules/color-convert": { 2180 - "version": "2.0.1", 2181 - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 2182 - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 2183 - "devOptional": true, 2184 - "dependencies": { 2185 - "color-name": "~1.1.4" 2186 - }, 2187 - "engines": { 2188 - "node": ">=7.0.0" 2189 - } 2190 - }, 2191 - "node_modules/color-name": { 2192 - "version": "1.1.4", 2193 - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 2194 - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 2195 - "devOptional": true 2196 - }, 2197 - "node_modules/color-string": { 2198 - "version": "1.9.1", 2199 - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", 2200 - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", 2201 - "optional": true, 2202 - "dependencies": { 2203 - "color-name": "^1.0.0", 2204 - "simple-swizzle": "^0.2.2" 2205 - } 2206 - }, 2207 - "node_modules/concat-map": { 2208 - "version": "0.0.1", 2209 - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 2210 - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 2211 - "dev": true 2212 - }, 2213 - "node_modules/cross-spawn": { 2214 - "version": "7.0.6", 2215 - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 2216 - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 2217 - "dev": true, 2218 - "dependencies": { 2219 - "path-key": "^3.1.0", 2220 - "shebang-command": "^2.0.0", 2221 - "which": "^2.0.1" 2222 - }, 2223 - "engines": { 2224 - "node": ">= 8" 2225 - } 2226 - }, 2227 - "node_modules/csstype": { 2228 - "version": "3.1.3", 2229 - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", 2230 - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", 2231 - "dev": true 2232 - }, 2233 - "node_modules/damerau-levenshtein": { 2234 - "version": "1.0.8", 2235 - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", 2236 - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", 2237 - "dev": true 2238 - }, 2239 - "node_modules/data-view-buffer": { 2240 - "version": "1.0.2", 2241 - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", 2242 - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", 2243 - "dev": true, 2244 - "dependencies": { 2245 - "call-bound": "^1.0.3", 2246 - "es-errors": "^1.3.0", 2247 - "is-data-view": "^1.0.2" 2248 - }, 2249 - "engines": { 2250 - "node": ">= 0.4" 2251 - }, 2252 - "funding": { 2253 - "url": "https://github.com/sponsors/ljharb" 2254 - } 2255 - }, 2256 - "node_modules/data-view-byte-length": { 2257 - "version": "1.0.2", 2258 - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", 2259 - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", 2260 - "dev": true, 2261 - "dependencies": { 2262 - "call-bound": "^1.0.3", 2263 - "es-errors": "^1.3.0", 2264 - "is-data-view": "^1.0.2" 2265 - }, 2266 - "engines": { 2267 - "node": ">= 0.4" 2268 - }, 2269 - "funding": { 2270 - "url": "https://github.com/sponsors/inspect-js" 2271 - } 2272 - }, 2273 - "node_modules/data-view-byte-offset": { 2274 - "version": "1.0.1", 2275 - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", 2276 - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", 2277 - "dev": true, 2278 - "dependencies": { 2279 - "call-bound": "^1.0.2", 2280 - "es-errors": "^1.3.0", 2281 - "is-data-view": "^1.0.1" 2282 - }, 2283 - "engines": { 2284 - "node": ">= 0.4" 2285 - }, 2286 - "funding": { 2287 - "url": "https://github.com/sponsors/ljharb" 2288 - } 2289 - }, 2290 - "node_modules/debug": { 2291 - "version": "4.4.1", 2292 - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", 2293 - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", 2294 - "dev": true, 2295 - "dependencies": { 2296 - "ms": "^2.1.3" 2297 - }, 2298 - "engines": { 2299 - "node": ">=6.0" 2300 - }, 2301 - "peerDependenciesMeta": { 2302 - "supports-color": { 2303 - "optional": true 2304 - } 2305 - } 2306 - }, 2307 - "node_modules/deep-is": { 2308 - "version": "0.1.4", 2309 - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 2310 - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 2311 - "dev": true 2312 - }, 2313 - "node_modules/define-data-property": { 2314 - "version": "1.1.4", 2315 - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", 2316 - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", 2317 - "dev": true, 2318 - "dependencies": { 2319 - "es-define-property": "^1.0.0", 2320 - "es-errors": "^1.3.0", 2321 - "gopd": "^1.0.1" 2322 - }, 2323 - "engines": { 2324 - "node": ">= 0.4" 2325 - }, 2326 - "funding": { 2327 - "url": "https://github.com/sponsors/ljharb" 2328 - } 2329 - }, 2330 - "node_modules/define-properties": { 2331 - "version": "1.2.1", 2332 - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", 2333 - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", 2334 - "dev": true, 2335 - "dependencies": { 2336 - "define-data-property": "^1.0.1", 2337 - "has-property-descriptors": "^1.0.0", 2338 - "object-keys": "^1.1.1" 2339 - }, 2340 - "engines": { 2341 - "node": ">= 0.4" 2342 - }, 2343 - "funding": { 2344 - "url": "https://github.com/sponsors/ljharb" 2345 - } 2346 - }, 2347 - "node_modules/detect-libc": { 2348 - "version": "2.0.4", 2349 - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", 2350 - "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", 2351 - "devOptional": true, 2352 - "engines": { 2353 - "node": ">=8" 2354 - } 2355 - }, 2356 - "node_modules/doctrine": { 2357 - "version": "2.1.0", 2358 - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", 2359 - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", 2360 - "dev": true, 2361 - "dependencies": { 2362 - "esutils": "^2.0.2" 2363 - }, 2364 - "engines": { 2365 - "node": ">=0.10.0" 2366 - } 2367 - }, 2368 - "node_modules/dunder-proto": { 2369 - "version": "1.0.1", 2370 - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", 2371 - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", 2372 - "dev": true, 2373 - "dependencies": { 2374 - "call-bind-apply-helpers": "^1.0.1", 2375 - "es-errors": "^1.3.0", 2376 - "gopd": "^1.2.0" 2377 - }, 2378 - "engines": { 2379 - "node": ">= 0.4" 2380 - } 2381 - }, 2382 - "node_modules/emoji-regex": { 2383 - "version": "9.2.2", 2384 - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 2385 - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 2386 - "dev": true 2387 - }, 2388 - "node_modules/enhanced-resolve": { 2389 - "version": "5.18.2", 2390 - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.2.tgz", 2391 - "integrity": "sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==", 2392 - "dev": true, 2393 - "dependencies": { 2394 - "graceful-fs": "^4.2.4", 2395 - "tapable": "^2.2.0" 2396 - }, 2397 - "engines": { 2398 - "node": ">=10.13.0" 2399 - } 2400 - }, 2401 - "node_modules/es-abstract": { 2402 - "version": "1.24.0", 2403 - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", 2404 - "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", 2405 - "dev": true, 2406 - "dependencies": { 2407 - "array-buffer-byte-length": "^1.0.2", 2408 - "arraybuffer.prototype.slice": "^1.0.4", 2409 - "available-typed-arrays": "^1.0.7", 2410 - "call-bind": "^1.0.8", 2411 - "call-bound": "^1.0.4", 2412 - "data-view-buffer": "^1.0.2", 2413 - "data-view-byte-length": "^1.0.2", 2414 - "data-view-byte-offset": "^1.0.1", 2415 - "es-define-property": "^1.0.1", 2416 - "es-errors": "^1.3.0", 2417 - "es-object-atoms": "^1.1.1", 2418 - "es-set-tostringtag": "^2.1.0", 2419 - "es-to-primitive": "^1.3.0", 2420 - "function.prototype.name": "^1.1.8", 2421 - "get-intrinsic": "^1.3.0", 2422 - "get-proto": "^1.0.1", 2423 - "get-symbol-description": "^1.1.0", 2424 - "globalthis": "^1.0.4", 2425 - "gopd": "^1.2.0", 2426 - "has-property-descriptors": "^1.0.2", 2427 - "has-proto": "^1.2.0", 2428 - "has-symbols": "^1.1.0", 2429 - "hasown": "^2.0.2", 2430 - "internal-slot": "^1.1.0", 2431 - "is-array-buffer": "^3.0.5", 2432 - "is-callable": "^1.2.7", 2433 - "is-data-view": "^1.0.2", 2434 - "is-negative-zero": "^2.0.3", 2435 - "is-regex": "^1.2.1", 2436 - "is-set": "^2.0.3", 2437 - "is-shared-array-buffer": "^1.0.4", 2438 - "is-string": "^1.1.1", 2439 - "is-typed-array": "^1.1.15", 2440 - "is-weakref": "^1.1.1", 2441 - "math-intrinsics": "^1.1.0", 2442 - "object-inspect": "^1.13.4", 2443 - "object-keys": "^1.1.1", 2444 - "object.assign": "^4.1.7", 2445 - "own-keys": "^1.0.1", 2446 - "regexp.prototype.flags": "^1.5.4", 2447 - "safe-array-concat": "^1.1.3", 2448 - "safe-push-apply": "^1.0.0", 2449 - "safe-regex-test": "^1.1.0", 2450 - "set-proto": "^1.0.0", 2451 - "stop-iteration-iterator": "^1.1.0", 2452 - "string.prototype.trim": "^1.2.10", 2453 - "string.prototype.trimend": "^1.0.9", 2454 - "string.prototype.trimstart": "^1.0.8", 2455 - "typed-array-buffer": "^1.0.3", 2456 - "typed-array-byte-length": "^1.0.3", 2457 - "typed-array-byte-offset": "^1.0.4", 2458 - "typed-array-length": "^1.0.7", 2459 - "unbox-primitive": "^1.1.0", 2460 - "which-typed-array": "^1.1.19" 2461 - }, 2462 - "engines": { 2463 - "node": ">= 0.4" 2464 - }, 2465 - "funding": { 2466 - "url": "https://github.com/sponsors/ljharb" 2467 - } 2468 - }, 2469 - "node_modules/es-define-property": { 2470 - "version": "1.0.1", 2471 - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", 2472 - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", 2473 - "dev": true, 2474 - "engines": { 2475 - "node": ">= 0.4" 2476 - } 2477 - }, 2478 - "node_modules/es-errors": { 2479 - "version": "1.3.0", 2480 - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", 2481 - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", 2482 - "dev": true, 2483 - "engines": { 2484 - "node": ">= 0.4" 2485 - } 2486 - }, 2487 - "node_modules/es-iterator-helpers": { 2488 - "version": "1.2.1", 2489 - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", 2490 - "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", 2491 - "dev": true, 2492 - "dependencies": { 2493 - "call-bind": "^1.0.8", 2494 - "call-bound": "^1.0.3", 2495 - "define-properties": "^1.2.1", 2496 - "es-abstract": "^1.23.6", 2497 - "es-errors": "^1.3.0", 2498 - "es-set-tostringtag": "^2.0.3", 2499 - "function-bind": "^1.1.2", 2500 - "get-intrinsic": "^1.2.6", 2501 - "globalthis": "^1.0.4", 2502 - "gopd": "^1.2.0", 2503 - "has-property-descriptors": "^1.0.2", 2504 - "has-proto": "^1.2.0", 2505 - "has-symbols": "^1.1.0", 2506 - "internal-slot": "^1.1.0", 2507 - "iterator.prototype": "^1.1.4", 2508 - "safe-array-concat": "^1.1.3" 2509 - }, 2510 - "engines": { 2511 - "node": ">= 0.4" 2512 - } 2513 - }, 2514 - "node_modules/es-object-atoms": { 2515 - "version": "1.1.1", 2516 - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", 2517 - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", 2518 - "dev": true, 2519 - "dependencies": { 2520 - "es-errors": "^1.3.0" 2521 - }, 2522 - "engines": { 2523 - "node": ">= 0.4" 2524 - } 2525 - }, 2526 - "node_modules/es-set-tostringtag": { 2527 - "version": "2.1.0", 2528 - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", 2529 - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", 2530 - "dev": true, 2531 - "dependencies": { 2532 - "es-errors": "^1.3.0", 2533 - "get-intrinsic": "^1.2.6", 2534 - "has-tostringtag": "^1.0.2", 2535 - "hasown": "^2.0.2" 2536 - }, 2537 - "engines": { 2538 - "node": ">= 0.4" 2539 - } 2540 - }, 2541 - "node_modules/es-shim-unscopables": { 2542 - "version": "1.1.0", 2543 - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", 2544 - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", 2545 - "dev": true, 2546 - "dependencies": { 2547 - "hasown": "^2.0.2" 2548 - }, 2549 - "engines": { 2550 - "node": ">= 0.4" 2551 - } 2552 - }, 2553 - "node_modules/es-to-primitive": { 2554 - "version": "1.3.0", 2555 - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", 2556 - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", 2557 - "dev": true, 2558 - "dependencies": { 2559 - "is-callable": "^1.2.7", 2560 - "is-date-object": "^1.0.5", 2561 - "is-symbol": "^1.0.4" 2562 - }, 2563 - "engines": { 2564 - "node": ">= 0.4" 2565 - }, 2566 - "funding": { 2567 - "url": "https://github.com/sponsors/ljharb" 2568 - } 2569 - }, 2570 - "node_modules/escape-string-regexp": { 2571 - "version": "4.0.0", 2572 - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 2573 - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 2574 - "dev": true, 2575 - "engines": { 2576 - "node": ">=10" 2577 - }, 2578 - "funding": { 2579 - "url": "https://github.com/sponsors/sindresorhus" 2580 - } 2581 - }, 2582 - "node_modules/eslint": { 2583 - "version": "9.32.0", 2584 - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.32.0.tgz", 2585 - "integrity": "sha512-LSehfdpgMeWcTZkWZVIJl+tkZ2nuSkyyB9C27MZqFWXuph7DvaowgcTvKqxvpLW1JZIk8PN7hFY3Rj9LQ7m7lg==", 2586 - "dev": true, 2587 - "dependencies": { 2588 - "@eslint-community/eslint-utils": "^4.2.0", 2589 - "@eslint-community/regexpp": "^4.12.1", 2590 - "@eslint/config-array": "^0.21.0", 2591 - "@eslint/config-helpers": "^0.3.0", 2592 - "@eslint/core": "^0.15.0", 2593 - "@eslint/eslintrc": "^3.3.1", 2594 - "@eslint/js": "9.32.0", 2595 - "@eslint/plugin-kit": "^0.3.4", 2596 - "@humanfs/node": "^0.16.6", 2597 - "@humanwhocodes/module-importer": "^1.0.1", 2598 - "@humanwhocodes/retry": "^0.4.2", 2599 - "@types/estree": "^1.0.6", 2600 - "@types/json-schema": "^7.0.15", 2601 - "ajv": "^6.12.4", 2602 - "chalk": "^4.0.0", 2603 - "cross-spawn": "^7.0.6", 2604 - "debug": "^4.3.2", 2605 - "escape-string-regexp": "^4.0.0", 2606 - "eslint-scope": "^8.4.0", 2607 - "eslint-visitor-keys": "^4.2.1", 2608 - "espree": "^10.4.0", 2609 - "esquery": "^1.5.0", 2610 - "esutils": "^2.0.2", 2611 - "fast-deep-equal": "^3.1.3", 2612 - "file-entry-cache": "^8.0.0", 2613 - "find-up": "^5.0.0", 2614 - "glob-parent": "^6.0.2", 2615 - "ignore": "^5.2.0", 2616 - "imurmurhash": "^0.1.4", 2617 - "is-glob": "^4.0.0", 2618 - "json-stable-stringify-without-jsonify": "^1.0.1", 2619 - "lodash.merge": "^4.6.2", 2620 - "minimatch": "^3.1.2", 2621 - "natural-compare": "^1.4.0", 2622 - "optionator": "^0.9.3" 2623 - }, 2624 - "bin": { 2625 - "eslint": "bin/eslint.js" 2626 - }, 2627 - "engines": { 2628 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2629 - }, 2630 - "funding": { 2631 - "url": "https://eslint.org/donate" 2632 - }, 2633 - "peerDependencies": { 2634 - "jiti": "*" 2635 - }, 2636 - "peerDependenciesMeta": { 2637 - "jiti": { 2638 - "optional": true 2639 - } 2640 - } 2641 - }, 2642 - "node_modules/eslint-config-next": { 2643 - "version": "15.4.4", 2644 - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-15.4.4.tgz", 2645 - "integrity": "sha512-sK/lWLUVF5om18O5w76Jt3F8uzu/LP5mVa6TprCMWkjWHUmByq80iHGHcdH7k1dLiJlj+DRIWf98d5piwRsSuA==", 2646 - "dev": true, 2647 - "dependencies": { 2648 - "@next/eslint-plugin-next": "15.4.4", 2649 - "@rushstack/eslint-patch": "^1.10.3", 2650 - "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", 2651 - "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", 2652 - "eslint-import-resolver-node": "^0.3.6", 2653 - "eslint-import-resolver-typescript": "^3.5.2", 2654 - "eslint-plugin-import": "^2.31.0", 2655 - "eslint-plugin-jsx-a11y": "^6.10.0", 2656 - "eslint-plugin-react": "^7.37.0", 2657 - "eslint-plugin-react-hooks": "^5.0.0" 2658 - }, 2659 - "peerDependencies": { 2660 - "eslint": "^7.23.0 || ^8.0.0 || ^9.0.0", 2661 - "typescript": ">=3.3.1" 2662 - }, 2663 - "peerDependenciesMeta": { 2664 - "typescript": { 2665 - "optional": true 2666 - } 2667 - } 2668 - }, 2669 - "node_modules/eslint-import-resolver-node": { 2670 - "version": "0.3.9", 2671 - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", 2672 - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", 2673 - "dev": true, 2674 - "dependencies": { 2675 - "debug": "^3.2.7", 2676 - "is-core-module": "^2.13.0", 2677 - "resolve": "^1.22.4" 2678 - } 2679 - }, 2680 - "node_modules/eslint-import-resolver-node/node_modules/debug": { 2681 - "version": "3.2.7", 2682 - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 2683 - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 2684 - "dev": true, 2685 - "dependencies": { 2686 - "ms": "^2.1.1" 2687 - } 2688 - }, 2689 - "node_modules/eslint-import-resolver-typescript": { 2690 - "version": "3.10.1", 2691 - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", 2692 - "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", 2693 - "dev": true, 2694 - "dependencies": { 2695 - "@nolyfill/is-core-module": "1.0.39", 2696 - "debug": "^4.4.0", 2697 - "get-tsconfig": "^4.10.0", 2698 - "is-bun-module": "^2.0.0", 2699 - "stable-hash": "^0.0.5", 2700 - "tinyglobby": "^0.2.13", 2701 - "unrs-resolver": "^1.6.2" 2702 - }, 2703 - "engines": { 2704 - "node": "^14.18.0 || >=16.0.0" 2705 - }, 2706 - "funding": { 2707 - "url": "https://opencollective.com/eslint-import-resolver-typescript" 2708 - }, 2709 - "peerDependencies": { 2710 - "eslint": "*", 2711 - "eslint-plugin-import": "*", 2712 - "eslint-plugin-import-x": "*" 2713 - }, 2714 - "peerDependenciesMeta": { 2715 - "eslint-plugin-import": { 2716 - "optional": true 2717 - }, 2718 - "eslint-plugin-import-x": { 2719 - "optional": true 2720 - } 2721 - } 2722 - }, 2723 - "node_modules/eslint-module-utils": { 2724 - "version": "2.12.1", 2725 - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", 2726 - "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", 2727 - "dev": true, 2728 - "dependencies": { 2729 - "debug": "^3.2.7" 2730 - }, 2731 - "engines": { 2732 - "node": ">=4" 2733 - }, 2734 - "peerDependenciesMeta": { 2735 - "eslint": { 2736 - "optional": true 2737 - } 2738 - } 2739 - }, 2740 - "node_modules/eslint-module-utils/node_modules/debug": { 2741 - "version": "3.2.7", 2742 - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 2743 - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 2744 - "dev": true, 2745 - "dependencies": { 2746 - "ms": "^2.1.1" 2747 - } 2748 - }, 2749 - "node_modules/eslint-plugin-import": { 2750 - "version": "2.32.0", 2751 - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", 2752 - "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", 2753 - "dev": true, 2754 - "dependencies": { 2755 - "@rtsao/scc": "^1.1.0", 2756 - "array-includes": "^3.1.9", 2757 - "array.prototype.findlastindex": "^1.2.6", 2758 - "array.prototype.flat": "^1.3.3", 2759 - "array.prototype.flatmap": "^1.3.3", 2760 - "debug": "^3.2.7", 2761 - "doctrine": "^2.1.0", 2762 - "eslint-import-resolver-node": "^0.3.9", 2763 - "eslint-module-utils": "^2.12.1", 2764 - "hasown": "^2.0.2", 2765 - "is-core-module": "^2.16.1", 2766 - "is-glob": "^4.0.3", 2767 - "minimatch": "^3.1.2", 2768 - "object.fromentries": "^2.0.8", 2769 - "object.groupby": "^1.0.3", 2770 - "object.values": "^1.2.1", 2771 - "semver": "^6.3.1", 2772 - "string.prototype.trimend": "^1.0.9", 2773 - "tsconfig-paths": "^3.15.0" 2774 - }, 2775 - "engines": { 2776 - "node": ">=4" 2777 - }, 2778 - "peerDependencies": { 2779 - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" 2780 - } 2781 - }, 2782 - "node_modules/eslint-plugin-import/node_modules/debug": { 2783 - "version": "3.2.7", 2784 - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 2785 - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 2786 - "dev": true, 2787 - "dependencies": { 2788 - "ms": "^2.1.1" 2789 - } 2790 - }, 2791 - "node_modules/eslint-plugin-import/node_modules/semver": { 2792 - "version": "6.3.1", 2793 - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 2794 - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 2795 - "dev": true, 2796 - "bin": { 2797 - "semver": "bin/semver.js" 2798 - } 2799 - }, 2800 - "node_modules/eslint-plugin-jsx-a11y": { 2801 - "version": "6.10.2", 2802 - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", 2803 - "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", 2804 - "dev": true, 2805 - "dependencies": { 2806 - "aria-query": "^5.3.2", 2807 - "array-includes": "^3.1.8", 2808 - "array.prototype.flatmap": "^1.3.2", 2809 - "ast-types-flow": "^0.0.8", 2810 - "axe-core": "^4.10.0", 2811 - "axobject-query": "^4.1.0", 2812 - "damerau-levenshtein": "^1.0.8", 2813 - "emoji-regex": "^9.2.2", 2814 - "hasown": "^2.0.2", 2815 - "jsx-ast-utils": "^3.3.5", 2816 - "language-tags": "^1.0.9", 2817 - "minimatch": "^3.1.2", 2818 - "object.fromentries": "^2.0.8", 2819 - "safe-regex-test": "^1.0.3", 2820 - "string.prototype.includes": "^2.0.1" 2821 - }, 2822 - "engines": { 2823 - "node": ">=4.0" 2824 - }, 2825 - "peerDependencies": { 2826 - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" 2827 - } 2828 - }, 2829 - "node_modules/eslint-plugin-react": { 2830 - "version": "7.37.5", 2831 - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", 2832 - "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", 2833 - "dev": true, 2834 - "dependencies": { 2835 - "array-includes": "^3.1.8", 2836 - "array.prototype.findlast": "^1.2.5", 2837 - "array.prototype.flatmap": "^1.3.3", 2838 - "array.prototype.tosorted": "^1.1.4", 2839 - "doctrine": "^2.1.0", 2840 - "es-iterator-helpers": "^1.2.1", 2841 - "estraverse": "^5.3.0", 2842 - "hasown": "^2.0.2", 2843 - "jsx-ast-utils": "^2.4.1 || ^3.0.0", 2844 - "minimatch": "^3.1.2", 2845 - "object.entries": "^1.1.9", 2846 - "object.fromentries": "^2.0.8", 2847 - "object.values": "^1.2.1", 2848 - "prop-types": "^15.8.1", 2849 - "resolve": "^2.0.0-next.5", 2850 - "semver": "^6.3.1", 2851 - "string.prototype.matchall": "^4.0.12", 2852 - "string.prototype.repeat": "^1.0.0" 2853 - }, 2854 - "engines": { 2855 - "node": ">=4" 2856 - }, 2857 - "peerDependencies": { 2858 - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" 2859 - } 2860 - }, 2861 - "node_modules/eslint-plugin-react-hooks": { 2862 - "version": "5.2.0", 2863 - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", 2864 - "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", 2865 - "dev": true, 2866 - "engines": { 2867 - "node": ">=10" 2868 - }, 2869 - "peerDependencies": { 2870 - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" 2871 - } 2872 - }, 2873 - "node_modules/eslint-plugin-react/node_modules/resolve": { 2874 - "version": "2.0.0-next.5", 2875 - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", 2876 - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", 2877 - "dev": true, 2878 - "dependencies": { 2879 - "is-core-module": "^2.13.0", 2880 - "path-parse": "^1.0.7", 2881 - "supports-preserve-symlinks-flag": "^1.0.0" 2882 - }, 2883 - "bin": { 2884 - "resolve": "bin/resolve" 2885 - }, 2886 - "funding": { 2887 - "url": "https://github.com/sponsors/ljharb" 2888 - } 2889 - }, 2890 - "node_modules/eslint-plugin-react/node_modules/semver": { 2891 - "version": "6.3.1", 2892 - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 2893 - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 2894 - "dev": true, 2895 - "bin": { 2896 - "semver": "bin/semver.js" 2897 - } 2898 - }, 2899 - "node_modules/eslint-scope": { 2900 - "version": "8.4.0", 2901 - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", 2902 - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", 2903 - "dev": true, 2904 - "dependencies": { 2905 - "esrecurse": "^4.3.0", 2906 - "estraverse": "^5.2.0" 2907 - }, 2908 - "engines": { 2909 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2910 - }, 2911 - "funding": { 2912 - "url": "https://opencollective.com/eslint" 2913 - } 2914 - }, 2915 - "node_modules/eslint-visitor-keys": { 2916 - "version": "4.2.1", 2917 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", 2918 - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", 2919 - "dev": true, 2920 - "engines": { 2921 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2922 - }, 2923 - "funding": { 2924 - "url": "https://opencollective.com/eslint" 2925 - } 2926 - }, 2927 - "node_modules/espree": { 2928 - "version": "10.4.0", 2929 - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", 2930 - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", 2931 - "dev": true, 2932 - "dependencies": { 2933 - "acorn": "^8.15.0", 2934 - "acorn-jsx": "^5.3.2", 2935 - "eslint-visitor-keys": "^4.2.1" 2936 - }, 2937 - "engines": { 2938 - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2939 - }, 2940 - "funding": { 2941 - "url": "https://opencollective.com/eslint" 2942 - } 2943 - }, 2944 - "node_modules/esquery": { 2945 - "version": "1.6.0", 2946 - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", 2947 - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", 2948 - "dev": true, 2949 - "dependencies": { 2950 - "estraverse": "^5.1.0" 2951 - }, 2952 - "engines": { 2953 - "node": ">=0.10" 2954 - } 2955 - }, 2956 - "node_modules/esrecurse": { 2957 - "version": "4.3.0", 2958 - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 2959 - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 2960 - "dev": true, 2961 - "dependencies": { 2962 - "estraverse": "^5.2.0" 2963 - }, 2964 - "engines": { 2965 - "node": ">=4.0" 2966 - } 2967 - }, 2968 - "node_modules/estraverse": { 2969 - "version": "5.3.0", 2970 - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 2971 - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 2972 - "dev": true, 2973 - "engines": { 2974 - "node": ">=4.0" 2975 - } 2976 - }, 2977 - "node_modules/esutils": { 2978 - "version": "2.0.3", 2979 - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 2980 - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 2981 - "dev": true, 2982 - "engines": { 2983 - "node": ">=0.10.0" 2984 - } 2985 - }, 2986 - "node_modules/fast-deep-equal": { 2987 - "version": "3.1.3", 2988 - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 2989 - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 2990 - "dev": true 2991 - }, 2992 - "node_modules/fast-glob": { 2993 - "version": "3.3.1", 2994 - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", 2995 - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", 2996 - "dev": true, 2997 - "dependencies": { 2998 - "@nodelib/fs.stat": "^2.0.2", 2999 - "@nodelib/fs.walk": "^1.2.3", 3000 - "glob-parent": "^5.1.2", 3001 - "merge2": "^1.3.0", 3002 - "micromatch": "^4.0.4" 3003 - }, 3004 - "engines": { 3005 - "node": ">=8.6.0" 3006 - } 3007 - }, 3008 - "node_modules/fast-glob/node_modules/glob-parent": { 3009 - "version": "5.1.2", 3010 - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 3011 - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 3012 - "dev": true, 3013 - "dependencies": { 3014 - "is-glob": "^4.0.1" 3015 - }, 3016 - "engines": { 3017 - "node": ">= 6" 3018 - } 3019 - }, 3020 - "node_modules/fast-json-stable-stringify": { 3021 - "version": "2.1.0", 3022 - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 3023 - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 3024 - "dev": true 3025 - }, 3026 - "node_modules/fast-levenshtein": { 3027 - "version": "2.0.6", 3028 - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 3029 - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 3030 - "dev": true 3031 - }, 3032 - "node_modules/fastq": { 3033 - "version": "1.19.1", 3034 - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", 3035 - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", 3036 - "dev": true, 3037 - "dependencies": { 3038 - "reusify": "^1.0.4" 3039 - } 3040 - }, 3041 - "node_modules/file-entry-cache": { 3042 - "version": "8.0.0", 3043 - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", 3044 - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", 3045 - "dev": true, 3046 - "dependencies": { 3047 - "flat-cache": "^4.0.0" 3048 - }, 3049 - "engines": { 3050 - "node": ">=16.0.0" 3051 - } 3052 - }, 3053 - "node_modules/fill-range": { 3054 - "version": "7.1.1", 3055 - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 3056 - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 3057 - "dev": true, 3058 - "dependencies": { 3059 - "to-regex-range": "^5.0.1" 3060 - }, 3061 - "engines": { 3062 - "node": ">=8" 3063 - } 3064 - }, 3065 - "node_modules/find-up": { 3066 - "version": "5.0.0", 3067 - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 3068 - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 3069 - "dev": true, 3070 - "dependencies": { 3071 - "locate-path": "^6.0.0", 3072 - "path-exists": "^4.0.0" 3073 - }, 3074 - "engines": { 3075 - "node": ">=10" 3076 - }, 3077 - "funding": { 3078 - "url": "https://github.com/sponsors/sindresorhus" 3079 - } 3080 - }, 3081 - "node_modules/flat-cache": { 3082 - "version": "4.0.1", 3083 - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", 3084 - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", 3085 - "dev": true, 3086 - "dependencies": { 3087 - "flatted": "^3.2.9", 3088 - "keyv": "^4.5.4" 3089 - }, 3090 - "engines": { 3091 - "node": ">=16" 3092 - } 3093 - }, 3094 - "node_modules/flatted": { 3095 - "version": "3.3.3", 3096 - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", 3097 - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", 3098 - "dev": true 3099 - }, 3100 - "node_modules/for-each": { 3101 - "version": "0.3.5", 3102 - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", 3103 - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", 3104 - "dev": true, 3105 - "dependencies": { 3106 - "is-callable": "^1.2.7" 3107 - }, 3108 - "engines": { 3109 - "node": ">= 0.4" 3110 - }, 3111 - "funding": { 3112 - "url": "https://github.com/sponsors/ljharb" 3113 - } 3114 - }, 3115 - "node_modules/function-bind": { 3116 - "version": "1.1.2", 3117 - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 3118 - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 3119 - "dev": true, 3120 - "funding": { 3121 - "url": "https://github.com/sponsors/ljharb" 3122 - } 3123 - }, 3124 - "node_modules/function.prototype.name": { 3125 - "version": "1.1.8", 3126 - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", 3127 - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", 3128 - "dev": true, 3129 - "dependencies": { 3130 - "call-bind": "^1.0.8", 3131 - "call-bound": "^1.0.3", 3132 - "define-properties": "^1.2.1", 3133 - "functions-have-names": "^1.2.3", 3134 - "hasown": "^2.0.2", 3135 - "is-callable": "^1.2.7" 3136 - }, 3137 - "engines": { 3138 - "node": ">= 0.4" 3139 - }, 3140 - "funding": { 3141 - "url": "https://github.com/sponsors/ljharb" 3142 - } 3143 - }, 3144 - "node_modules/functions-have-names": { 3145 - "version": "1.2.3", 3146 - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", 3147 - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", 3148 - "dev": true, 3149 - "funding": { 3150 - "url": "https://github.com/sponsors/ljharb" 3151 - } 3152 - }, 3153 - "node_modules/get-intrinsic": { 3154 - "version": "1.3.0", 3155 - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", 3156 - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", 3157 - "dev": true, 3158 - "dependencies": { 3159 - "call-bind-apply-helpers": "^1.0.2", 3160 - "es-define-property": "^1.0.1", 3161 - "es-errors": "^1.3.0", 3162 - "es-object-atoms": "^1.1.1", 3163 - "function-bind": "^1.1.2", 3164 - "get-proto": "^1.0.1", 3165 - "gopd": "^1.2.0", 3166 - "has-symbols": "^1.1.0", 3167 - "hasown": "^2.0.2", 3168 - "math-intrinsics": "^1.1.0" 3169 - }, 3170 - "engines": { 3171 - "node": ">= 0.4" 3172 - }, 3173 - "funding": { 3174 - "url": "https://github.com/sponsors/ljharb" 3175 - } 3176 - }, 3177 - "node_modules/get-proto": { 3178 - "version": "1.0.1", 3179 - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", 3180 - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", 3181 - "dev": true, 3182 - "dependencies": { 3183 - "dunder-proto": "^1.0.1", 3184 - "es-object-atoms": "^1.0.0" 3185 - }, 3186 - "engines": { 3187 - "node": ">= 0.4" 3188 - } 3189 - }, 3190 - "node_modules/get-symbol-description": { 3191 - "version": "1.1.0", 3192 - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", 3193 - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", 3194 - "dev": true, 3195 - "dependencies": { 3196 - "call-bound": "^1.0.3", 3197 - "es-errors": "^1.3.0", 3198 - "get-intrinsic": "^1.2.6" 3199 - }, 3200 - "engines": { 3201 - "node": ">= 0.4" 3202 - }, 3203 - "funding": { 3204 - "url": "https://github.com/sponsors/ljharb" 3205 - } 3206 - }, 3207 - "node_modules/get-tsconfig": { 3208 - "version": "4.10.1", 3209 - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz", 3210 - "integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==", 3211 - "dev": true, 3212 - "dependencies": { 3213 - "resolve-pkg-maps": "^1.0.0" 3214 - }, 3215 - "funding": { 3216 - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" 3217 - } 3218 - }, 3219 - "node_modules/glob-parent": { 3220 - "version": "6.0.2", 3221 - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 3222 - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 3223 - "dev": true, 3224 - "dependencies": { 3225 - "is-glob": "^4.0.3" 3226 - }, 3227 - "engines": { 3228 - "node": ">=10.13.0" 3229 - } 3230 - }, 3231 - "node_modules/globals": { 3232 - "version": "14.0.0", 3233 - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", 3234 - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", 3235 - "dev": true, 3236 - "engines": { 3237 - "node": ">=18" 3238 - }, 3239 - "funding": { 3240 - "url": "https://github.com/sponsors/sindresorhus" 3241 - } 3242 - }, 3243 - "node_modules/globalthis": { 3244 - "version": "1.0.4", 3245 - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", 3246 - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", 3247 - "dev": true, 3248 - "dependencies": { 3249 - "define-properties": "^1.2.1", 3250 - "gopd": "^1.0.1" 3251 - }, 3252 - "engines": { 3253 - "node": ">= 0.4" 3254 - }, 3255 - "funding": { 3256 - "url": "https://github.com/sponsors/ljharb" 3257 - } 3258 - }, 3259 - "node_modules/gopd": { 3260 - "version": "1.2.0", 3261 - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", 3262 - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", 3263 - "dev": true, 3264 - "engines": { 3265 - "node": ">= 0.4" 3266 - }, 3267 - "funding": { 3268 - "url": "https://github.com/sponsors/ljharb" 3269 - } 3270 - }, 3271 - "node_modules/graceful-fs": { 3272 - "version": "4.2.11", 3273 - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 3274 - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 3275 - "dev": true 3276 - }, 3277 - "node_modules/graphemer": { 3278 - "version": "1.4.0", 3279 - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", 3280 - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", 3281 - "dev": true 3282 - }, 3283 - "node_modules/has-bigints": { 3284 - "version": "1.1.0", 3285 - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", 3286 - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", 3287 - "dev": true, 3288 - "engines": { 3289 - "node": ">= 0.4" 3290 - }, 3291 - "funding": { 3292 - "url": "https://github.com/sponsors/ljharb" 3293 - } 3294 - }, 3295 - "node_modules/has-flag": { 3296 - "version": "4.0.0", 3297 - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 3298 - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 3299 - "dev": true, 3300 - "engines": { 3301 - "node": ">=8" 3302 - } 3303 - }, 3304 - "node_modules/has-property-descriptors": { 3305 - "version": "1.0.2", 3306 - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", 3307 - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", 3308 - "dev": true, 3309 - "dependencies": { 3310 - "es-define-property": "^1.0.0" 3311 - }, 3312 - "funding": { 3313 - "url": "https://github.com/sponsors/ljharb" 3314 - } 3315 - }, 3316 - "node_modules/has-proto": { 3317 - "version": "1.2.0", 3318 - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", 3319 - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", 3320 - "dev": true, 3321 - "dependencies": { 3322 - "dunder-proto": "^1.0.0" 3323 - }, 3324 - "engines": { 3325 - "node": ">= 0.4" 3326 - }, 3327 - "funding": { 3328 - "url": "https://github.com/sponsors/ljharb" 3329 - } 3330 - }, 3331 - "node_modules/has-symbols": { 3332 - "version": "1.1.0", 3333 - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", 3334 - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", 3335 - "dev": true, 3336 - "engines": { 3337 - "node": ">= 0.4" 3338 - }, 3339 - "funding": { 3340 - "url": "https://github.com/sponsors/ljharb" 3341 - } 3342 - }, 3343 - "node_modules/has-tostringtag": { 3344 - "version": "1.0.2", 3345 - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", 3346 - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", 3347 - "dev": true, 3348 - "dependencies": { 3349 - "has-symbols": "^1.0.3" 3350 - }, 3351 - "engines": { 3352 - "node": ">= 0.4" 3353 - }, 3354 - "funding": { 3355 - "url": "https://github.com/sponsors/ljharb" 3356 - } 3357 - }, 3358 - "node_modules/hasown": { 3359 - "version": "2.0.2", 3360 - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 3361 - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 3362 - "dev": true, 3363 - "dependencies": { 3364 - "function-bind": "^1.1.2" 3365 - }, 3366 - "engines": { 3367 - "node": ">= 0.4" 3368 - } 3369 - }, 3370 - "node_modules/ignore": { 3371 - "version": "5.3.2", 3372 - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", 3373 - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", 3374 - "dev": true, 3375 - "engines": { 3376 - "node": ">= 4" 3377 - } 3378 - }, 3379 - "node_modules/import-fresh": { 3380 - "version": "3.3.1", 3381 - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", 3382 - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", 3383 - "dev": true, 3384 - "dependencies": { 3385 - "parent-module": "^1.0.0", 3386 - "resolve-from": "^4.0.0" 3387 - }, 3388 - "engines": { 3389 - "node": ">=6" 3390 - }, 3391 - "funding": { 3392 - "url": "https://github.com/sponsors/sindresorhus" 3393 - } 3394 - }, 3395 - "node_modules/imurmurhash": { 3396 - "version": "0.1.4", 3397 - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 3398 - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 3399 - "dev": true, 3400 - "engines": { 3401 - "node": ">=0.8.19" 3402 - } 3403 - }, 3404 - "node_modules/internal-slot": { 3405 - "version": "1.1.0", 3406 - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", 3407 - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", 3408 - "dev": true, 3409 - "dependencies": { 3410 - "es-errors": "^1.3.0", 3411 - "hasown": "^2.0.2", 3412 - "side-channel": "^1.1.0" 3413 - }, 3414 - "engines": { 3415 - "node": ">= 0.4" 3416 - } 3417 - }, 3418 - "node_modules/is-array-buffer": { 3419 - "version": "3.0.5", 3420 - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", 3421 - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", 3422 - "dev": true, 3423 - "dependencies": { 3424 - "call-bind": "^1.0.8", 3425 - "call-bound": "^1.0.3", 3426 - "get-intrinsic": "^1.2.6" 3427 - }, 3428 - "engines": { 3429 - "node": ">= 0.4" 3430 - }, 3431 - "funding": { 3432 - "url": "https://github.com/sponsors/ljharb" 3433 - } 3434 - }, 3435 - "node_modules/is-arrayish": { 3436 - "version": "0.3.2", 3437 - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", 3438 - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", 3439 - "optional": true 3440 - }, 3441 - "node_modules/is-async-function": { 3442 - "version": "2.1.1", 3443 - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", 3444 - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", 3445 - "dev": true, 3446 - "dependencies": { 3447 - "async-function": "^1.0.0", 3448 - "call-bound": "^1.0.3", 3449 - "get-proto": "^1.0.1", 3450 - "has-tostringtag": "^1.0.2", 3451 - "safe-regex-test": "^1.1.0" 3452 - }, 3453 - "engines": { 3454 - "node": ">= 0.4" 3455 - }, 3456 - "funding": { 3457 - "url": "https://github.com/sponsors/ljharb" 3458 - } 3459 - }, 3460 - "node_modules/is-bigint": { 3461 - "version": "1.1.0", 3462 - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", 3463 - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", 3464 - "dev": true, 3465 - "dependencies": { 3466 - "has-bigints": "^1.0.2" 3467 - }, 3468 - "engines": { 3469 - "node": ">= 0.4" 3470 - }, 3471 - "funding": { 3472 - "url": "https://github.com/sponsors/ljharb" 3473 - } 3474 - }, 3475 - "node_modules/is-boolean-object": { 3476 - "version": "1.2.2", 3477 - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", 3478 - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", 3479 - "dev": true, 3480 - "dependencies": { 3481 - "call-bound": "^1.0.3", 3482 - "has-tostringtag": "^1.0.2" 3483 - }, 3484 - "engines": { 3485 - "node": ">= 0.4" 3486 - }, 3487 - "funding": { 3488 - "url": "https://github.com/sponsors/ljharb" 3489 - } 3490 - }, 3491 - "node_modules/is-bun-module": { 3492 - "version": "2.0.0", 3493 - "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", 3494 - "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", 3495 - "dev": true, 3496 - "dependencies": { 3497 - "semver": "^7.7.1" 3498 - } 3499 - }, 3500 - "node_modules/is-callable": { 3501 - "version": "1.2.7", 3502 - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", 3503 - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", 3504 - "dev": true, 3505 - "engines": { 3506 - "node": ">= 0.4" 3507 - }, 3508 - "funding": { 3509 - "url": "https://github.com/sponsors/ljharb" 3510 - } 3511 - }, 3512 - "node_modules/is-core-module": { 3513 - "version": "2.16.1", 3514 - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", 3515 - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", 3516 - "dev": true, 3517 - "dependencies": { 3518 - "hasown": "^2.0.2" 3519 - }, 3520 - "engines": { 3521 - "node": ">= 0.4" 3522 - }, 3523 - "funding": { 3524 - "url": "https://github.com/sponsors/ljharb" 3525 - } 3526 - }, 3527 - "node_modules/is-data-view": { 3528 - "version": "1.0.2", 3529 - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", 3530 - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", 3531 - "dev": true, 3532 - "dependencies": { 3533 - "call-bound": "^1.0.2", 3534 - "get-intrinsic": "^1.2.6", 3535 - "is-typed-array": "^1.1.13" 3536 - }, 3537 - "engines": { 3538 - "node": ">= 0.4" 3539 - }, 3540 - "funding": { 3541 - "url": "https://github.com/sponsors/ljharb" 3542 - } 3543 - }, 3544 - "node_modules/is-date-object": { 3545 - "version": "1.1.0", 3546 - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", 3547 - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", 3548 - "dev": true, 3549 - "dependencies": { 3550 - "call-bound": "^1.0.2", 3551 - "has-tostringtag": "^1.0.2" 3552 - }, 3553 - "engines": { 3554 - "node": ">= 0.4" 3555 - }, 3556 - "funding": { 3557 - "url": "https://github.com/sponsors/ljharb" 3558 - } 3559 - }, 3560 - "node_modules/is-extglob": { 3561 - "version": "2.1.1", 3562 - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 3563 - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 3564 - "dev": true, 3565 - "engines": { 3566 - "node": ">=0.10.0" 3567 - } 3568 - }, 3569 - "node_modules/is-finalizationregistry": { 3570 - "version": "1.1.1", 3571 - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", 3572 - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", 3573 - "dev": true, 3574 - "dependencies": { 3575 - "call-bound": "^1.0.3" 3576 - }, 3577 - "engines": { 3578 - "node": ">= 0.4" 3579 - }, 3580 - "funding": { 3581 - "url": "https://github.com/sponsors/ljharb" 3582 - } 3583 - }, 3584 - "node_modules/is-generator-function": { 3585 - "version": "1.1.0", 3586 - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", 3587 - "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", 3588 - "dev": true, 3589 - "dependencies": { 3590 - "call-bound": "^1.0.3", 3591 - "get-proto": "^1.0.0", 3592 - "has-tostringtag": "^1.0.2", 3593 - "safe-regex-test": "^1.1.0" 3594 - }, 3595 - "engines": { 3596 - "node": ">= 0.4" 3597 - }, 3598 - "funding": { 3599 - "url": "https://github.com/sponsors/ljharb" 3600 - } 3601 - }, 3602 - "node_modules/is-glob": { 3603 - "version": "4.0.3", 3604 - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 3605 - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 3606 - "dev": true, 3607 - "dependencies": { 3608 - "is-extglob": "^2.1.1" 3609 - }, 3610 - "engines": { 3611 - "node": ">=0.10.0" 3612 - } 3613 - }, 3614 - "node_modules/is-map": { 3615 - "version": "2.0.3", 3616 - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", 3617 - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", 3618 - "dev": true, 3619 - "engines": { 3620 - "node": ">= 0.4" 3621 - }, 3622 - "funding": { 3623 - "url": "https://github.com/sponsors/ljharb" 3624 - } 3625 - }, 3626 - "node_modules/is-negative-zero": { 3627 - "version": "2.0.3", 3628 - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", 3629 - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", 3630 - "dev": true, 3631 - "engines": { 3632 - "node": ">= 0.4" 3633 - }, 3634 - "funding": { 3635 - "url": "https://github.com/sponsors/ljharb" 3636 - } 3637 - }, 3638 - "node_modules/is-number": { 3639 - "version": "7.0.0", 3640 - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 3641 - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 3642 - "dev": true, 3643 - "engines": { 3644 - "node": ">=0.12.0" 3645 - } 3646 - }, 3647 - "node_modules/is-number-object": { 3648 - "version": "1.1.1", 3649 - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", 3650 - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", 3651 - "dev": true, 3652 - "dependencies": { 3653 - "call-bound": "^1.0.3", 3654 - "has-tostringtag": "^1.0.2" 3655 - }, 3656 - "engines": { 3657 - "node": ">= 0.4" 3658 - }, 3659 - "funding": { 3660 - "url": "https://github.com/sponsors/ljharb" 3661 - } 3662 - }, 3663 - "node_modules/is-regex": { 3664 - "version": "1.2.1", 3665 - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", 3666 - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", 3667 - "dev": true, 3668 - "dependencies": { 3669 - "call-bound": "^1.0.2", 3670 - "gopd": "^1.2.0", 3671 - "has-tostringtag": "^1.0.2", 3672 - "hasown": "^2.0.2" 3673 - }, 3674 - "engines": { 3675 - "node": ">= 0.4" 3676 - }, 3677 - "funding": { 3678 - "url": "https://github.com/sponsors/ljharb" 3679 - } 3680 - }, 3681 - "node_modules/is-set": { 3682 - "version": "2.0.3", 3683 - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", 3684 - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", 3685 - "dev": true, 3686 - "engines": { 3687 - "node": ">= 0.4" 3688 - }, 3689 - "funding": { 3690 - "url": "https://github.com/sponsors/ljharb" 3691 - } 3692 - }, 3693 - "node_modules/is-shared-array-buffer": { 3694 - "version": "1.0.4", 3695 - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", 3696 - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", 3697 - "dev": true, 3698 - "dependencies": { 3699 - "call-bound": "^1.0.3" 3700 - }, 3701 - "engines": { 3702 - "node": ">= 0.4" 3703 - }, 3704 - "funding": { 3705 - "url": "https://github.com/sponsors/ljharb" 3706 - } 3707 - }, 3708 - "node_modules/is-string": { 3709 - "version": "1.1.1", 3710 - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", 3711 - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", 3712 - "dev": true, 3713 - "dependencies": { 3714 - "call-bound": "^1.0.3", 3715 - "has-tostringtag": "^1.0.2" 3716 - }, 3717 - "engines": { 3718 - "node": ">= 0.4" 3719 - }, 3720 - "funding": { 3721 - "url": "https://github.com/sponsors/ljharb" 3722 - } 3723 - }, 3724 - "node_modules/is-symbol": { 3725 - "version": "1.1.1", 3726 - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", 3727 - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", 3728 - "dev": true, 3729 - "dependencies": { 3730 - "call-bound": "^1.0.2", 3731 - "has-symbols": "^1.1.0", 3732 - "safe-regex-test": "^1.1.0" 3733 - }, 3734 - "engines": { 3735 - "node": ">= 0.4" 3736 - }, 3737 - "funding": { 3738 - "url": "https://github.com/sponsors/ljharb" 3739 - } 3740 - }, 3741 - "node_modules/is-typed-array": { 3742 - "version": "1.1.15", 3743 - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", 3744 - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", 3745 - "dev": true, 3746 - "dependencies": { 3747 - "which-typed-array": "^1.1.16" 3748 - }, 3749 - "engines": { 3750 - "node": ">= 0.4" 3751 - }, 3752 - "funding": { 3753 - "url": "https://github.com/sponsors/ljharb" 3754 - } 3755 - }, 3756 - "node_modules/is-weakmap": { 3757 - "version": "2.0.2", 3758 - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", 3759 - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", 3760 - "dev": true, 3761 - "engines": { 3762 - "node": ">= 0.4" 3763 - }, 3764 - "funding": { 3765 - "url": "https://github.com/sponsors/ljharb" 3766 - } 3767 - }, 3768 - "node_modules/is-weakref": { 3769 - "version": "1.1.1", 3770 - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", 3771 - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", 3772 - "dev": true, 3773 - "dependencies": { 3774 - "call-bound": "^1.0.3" 3775 - }, 3776 - "engines": { 3777 - "node": ">= 0.4" 3778 - }, 3779 - "funding": { 3780 - "url": "https://github.com/sponsors/ljharb" 3781 - } 3782 - }, 3783 - "node_modules/is-weakset": { 3784 - "version": "2.0.4", 3785 - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", 3786 - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", 3787 - "dev": true, 3788 - "dependencies": { 3789 - "call-bound": "^1.0.3", 3790 - "get-intrinsic": "^1.2.6" 3791 - }, 3792 - "engines": { 3793 - "node": ">= 0.4" 3794 - }, 3795 - "funding": { 3796 - "url": "https://github.com/sponsors/ljharb" 3797 - } 3798 - }, 3799 - "node_modules/isarray": { 3800 - "version": "2.0.5", 3801 - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", 3802 - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", 3803 - "dev": true 3804 - }, 3805 - "node_modules/isexe": { 3806 - "version": "2.0.0", 3807 - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 3808 - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 3809 - "dev": true 3810 - }, 3811 - "node_modules/iterator.prototype": { 3812 - "version": "1.1.5", 3813 - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", 3814 - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", 3815 - "dev": true, 3816 - "dependencies": { 3817 - "define-data-property": "^1.1.4", 3818 - "es-object-atoms": "^1.0.0", 3819 - "get-intrinsic": "^1.2.6", 3820 - "get-proto": "^1.0.0", 3821 - "has-symbols": "^1.1.0", 3822 - "set-function-name": "^2.0.2" 3823 - }, 3824 - "engines": { 3825 - "node": ">= 0.4" 3826 - } 3827 - }, 3828 - "node_modules/jiti": { 3829 - "version": "2.5.1", 3830 - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.5.1.tgz", 3831 - "integrity": "sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==", 3832 - "dev": true, 3833 - "bin": { 3834 - "jiti": "lib/jiti-cli.mjs" 3835 - } 3836 - }, 3837 - "node_modules/js-tokens": { 3838 - "version": "4.0.0", 3839 - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 3840 - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 3841 - "dev": true 3842 - }, 3843 - "node_modules/js-yaml": { 3844 - "version": "4.1.0", 3845 - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 3846 - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 3847 - "dev": true, 3848 - "dependencies": { 3849 - "argparse": "^2.0.1" 3850 - }, 3851 - "bin": { 3852 - "js-yaml": "bin/js-yaml.js" 3853 - } 3854 - }, 3855 - "node_modules/json-buffer": { 3856 - "version": "3.0.1", 3857 - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", 3858 - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", 3859 - "dev": true 3860 - }, 3861 - "node_modules/json-schema-traverse": { 3862 - "version": "0.4.1", 3863 - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 3864 - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 3865 - "dev": true 3866 - }, 3867 - "node_modules/json-stable-stringify-without-jsonify": { 3868 - "version": "1.0.1", 3869 - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 3870 - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 3871 - "dev": true 3872 - }, 3873 - "node_modules/json5": { 3874 - "version": "1.0.2", 3875 - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", 3876 - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", 3877 - "dev": true, 3878 - "dependencies": { 3879 - "minimist": "^1.2.0" 3880 - }, 3881 - "bin": { 3882 - "json5": "lib/cli.js" 3883 - } 3884 - }, 3885 - "node_modules/jsx-ast-utils": { 3886 - "version": "3.3.5", 3887 - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", 3888 - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", 3889 - "dev": true, 3890 - "dependencies": { 3891 - "array-includes": "^3.1.6", 3892 - "array.prototype.flat": "^1.3.1", 3893 - "object.assign": "^4.1.4", 3894 - "object.values": "^1.1.6" 3895 - }, 3896 - "engines": { 3897 - "node": ">=4.0" 3898 - } 3899 - }, 3900 - "node_modules/keyv": { 3901 - "version": "4.5.4", 3902 - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", 3903 - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", 3904 - "dev": true, 3905 - "dependencies": { 3906 - "json-buffer": "3.0.1" 3907 - } 3908 - }, 3909 - "node_modules/language-subtag-registry": { 3910 - "version": "0.3.23", 3911 - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", 3912 - "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", 3913 - "dev": true 3914 - }, 3915 - "node_modules/language-tags": { 3916 - "version": "1.0.9", 3917 - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", 3918 - "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", 3919 - "dev": true, 3920 - "dependencies": { 3921 - "language-subtag-registry": "^0.3.20" 3922 - }, 3923 - "engines": { 3924 - "node": ">=0.10" 3925 - } 3926 - }, 3927 - "node_modules/levn": { 3928 - "version": "0.4.1", 3929 - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 3930 - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 3931 - "dev": true, 3932 - "dependencies": { 3933 - "prelude-ls": "^1.2.1", 3934 - "type-check": "~0.4.0" 3935 - }, 3936 - "engines": { 3937 - "node": ">= 0.8.0" 3938 - } 3939 - }, 3940 - "node_modules/lightningcss": { 3941 - "version": "1.30.1", 3942 - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", 3943 - "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", 3944 - "dev": true, 3945 - "dependencies": { 3946 - "detect-libc": "^2.0.3" 3947 - }, 3948 - "engines": { 3949 - "node": ">= 12.0.0" 3950 - }, 3951 - "funding": { 3952 - "type": "opencollective", 3953 - "url": "https://opencollective.com/parcel" 3954 - }, 3955 - "optionalDependencies": { 3956 - "lightningcss-darwin-arm64": "1.30.1", 3957 - "lightningcss-darwin-x64": "1.30.1", 3958 - "lightningcss-freebsd-x64": "1.30.1", 3959 - "lightningcss-linux-arm-gnueabihf": "1.30.1", 3960 - "lightningcss-linux-arm64-gnu": "1.30.1", 3961 - "lightningcss-linux-arm64-musl": "1.30.1", 3962 - "lightningcss-linux-x64-gnu": "1.30.1", 3963 - "lightningcss-linux-x64-musl": "1.30.1", 3964 - "lightningcss-win32-arm64-msvc": "1.30.1", 3965 - "lightningcss-win32-x64-msvc": "1.30.1" 3966 - } 3967 - }, 3968 - "node_modules/lightningcss-darwin-arm64": { 3969 - "version": "1.30.1", 3970 - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", 3971 - "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", 3972 - "cpu": [ 3973 - "arm64" 3974 - ], 3975 - "dev": true, 3976 - "optional": true, 3977 - "os": [ 3978 - "darwin" 3979 - ], 3980 - "engines": { 3981 - "node": ">= 12.0.0" 3982 - }, 3983 - "funding": { 3984 - "type": "opencollective", 3985 - "url": "https://opencollective.com/parcel" 3986 - } 3987 - }, 3988 - "node_modules/lightningcss-darwin-x64": { 3989 - "version": "1.30.1", 3990 - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", 3991 - "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==", 3992 - "cpu": [ 3993 - "x64" 3994 - ], 3995 - "dev": true, 3996 - "optional": true, 3997 - "os": [ 3998 - "darwin" 3999 - ], 4000 - "engines": { 4001 - "node": ">= 12.0.0" 4002 - }, 4003 - "funding": { 4004 - "type": "opencollective", 4005 - "url": "https://opencollective.com/parcel" 4006 - } 4007 - }, 4008 - "node_modules/lightningcss-freebsd-x64": { 4009 - "version": "1.30.1", 4010 - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", 4011 - "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==", 4012 - "cpu": [ 4013 - "x64" 4014 - ], 4015 - "dev": true, 4016 - "optional": true, 4017 - "os": [ 4018 - "freebsd" 4019 - ], 4020 - "engines": { 4021 - "node": ">= 12.0.0" 4022 - }, 4023 - "funding": { 4024 - "type": "opencollective", 4025 - "url": "https://opencollective.com/parcel" 4026 - } 4027 - }, 4028 - "node_modules/lightningcss-linux-arm-gnueabihf": { 4029 - "version": "1.30.1", 4030 - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", 4031 - "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==", 4032 - "cpu": [ 4033 - "arm" 4034 - ], 4035 - "dev": true, 4036 - "optional": true, 4037 - "os": [ 4038 - "linux" 4039 - ], 4040 - "engines": { 4041 - "node": ">= 12.0.0" 4042 - }, 4043 - "funding": { 4044 - "type": "opencollective", 4045 - "url": "https://opencollective.com/parcel" 4046 - } 4047 - }, 4048 - "node_modules/lightningcss-linux-arm64-gnu": { 4049 - "version": "1.30.1", 4050 - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", 4051 - "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==", 4052 - "cpu": [ 4053 - "arm64" 4054 - ], 4055 - "dev": true, 4056 - "optional": true, 4057 - "os": [ 4058 - "linux" 4059 - ], 4060 - "engines": { 4061 - "node": ">= 12.0.0" 4062 - }, 4063 - "funding": { 4064 - "type": "opencollective", 4065 - "url": "https://opencollective.com/parcel" 4066 - } 4067 - }, 4068 - "node_modules/lightningcss-linux-arm64-musl": { 4069 - "version": "1.30.1", 4070 - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", 4071 - "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==", 4072 - "cpu": [ 4073 - "arm64" 4074 - ], 4075 - "dev": true, 4076 - "optional": true, 4077 - "os": [ 4078 - "linux" 4079 - ], 4080 - "engines": { 4081 - "node": ">= 12.0.0" 4082 - }, 4083 - "funding": { 4084 - "type": "opencollective", 4085 - "url": "https://opencollective.com/parcel" 4086 - } 4087 - }, 4088 - "node_modules/lightningcss-linux-x64-gnu": { 4089 - "version": "1.30.1", 4090 - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", 4091 - "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==", 4092 - "cpu": [ 4093 - "x64" 4094 - ], 4095 - "dev": true, 4096 - "optional": true, 4097 - "os": [ 4098 - "linux" 4099 - ], 4100 - "engines": { 4101 - "node": ">= 12.0.0" 4102 - }, 4103 - "funding": { 4104 - "type": "opencollective", 4105 - "url": "https://opencollective.com/parcel" 4106 - } 4107 - }, 4108 - "node_modules/lightningcss-linux-x64-musl": { 4109 - "version": "1.30.1", 4110 - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", 4111 - "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==", 4112 - "cpu": [ 4113 - "x64" 4114 - ], 4115 - "dev": true, 4116 - "optional": true, 4117 - "os": [ 4118 - "linux" 4119 - ], 4120 - "engines": { 4121 - "node": ">= 12.0.0" 4122 - }, 4123 - "funding": { 4124 - "type": "opencollective", 4125 - "url": "https://opencollective.com/parcel" 4126 - } 4127 - }, 4128 - "node_modules/lightningcss-win32-arm64-msvc": { 4129 - "version": "1.30.1", 4130 - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", 4131 - "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==", 4132 - "cpu": [ 4133 - "arm64" 4134 - ], 4135 - "dev": true, 4136 - "optional": true, 4137 - "os": [ 4138 - "win32" 4139 - ], 4140 - "engines": { 4141 - "node": ">= 12.0.0" 4142 - }, 4143 - "funding": { 4144 - "type": "opencollective", 4145 - "url": "https://opencollective.com/parcel" 4146 - } 4147 - }, 4148 - "node_modules/lightningcss-win32-x64-msvc": { 4149 - "version": "1.30.1", 4150 - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", 4151 - "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==", 4152 - "cpu": [ 4153 - "x64" 4154 - ], 4155 - "dev": true, 4156 - "optional": true, 4157 - "os": [ 4158 - "win32" 4159 - ], 4160 - "engines": { 4161 - "node": ">= 12.0.0" 4162 - }, 4163 - "funding": { 4164 - "type": "opencollective", 4165 - "url": "https://opencollective.com/parcel" 4166 - } 4167 - }, 4168 - "node_modules/locate-path": { 4169 - "version": "6.0.0", 4170 - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 4171 - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 4172 - "dev": true, 4173 - "dependencies": { 4174 - "p-locate": "^5.0.0" 4175 - }, 4176 - "engines": { 4177 - "node": ">=10" 4178 - }, 4179 - "funding": { 4180 - "url": "https://github.com/sponsors/sindresorhus" 4181 - } 4182 - }, 4183 - "node_modules/lodash.merge": { 4184 - "version": "4.6.2", 4185 - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 4186 - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 4187 - "dev": true 4188 - }, 4189 - "node_modules/loose-envify": { 4190 - "version": "1.4.0", 4191 - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 4192 - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 4193 - "dev": true, 4194 - "dependencies": { 4195 - "js-tokens": "^3.0.0 || ^4.0.0" 4196 - }, 4197 - "bin": { 4198 - "loose-envify": "cli.js" 4199 - } 4200 - }, 4201 - "node_modules/magic-string": { 4202 - "version": "0.30.17", 4203 - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", 4204 - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", 4205 - "dev": true, 4206 - "dependencies": { 4207 - "@jridgewell/sourcemap-codec": "^1.5.0" 4208 - } 4209 - }, 4210 - "node_modules/math-intrinsics": { 4211 - "version": "1.1.0", 4212 - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", 4213 - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", 4214 - "dev": true, 4215 - "engines": { 4216 - "node": ">= 0.4" 4217 - } 4218 - }, 4219 - "node_modules/merge2": { 4220 - "version": "1.4.1", 4221 - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 4222 - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 4223 - "dev": true, 4224 - "engines": { 4225 - "node": ">= 8" 4226 - } 4227 - }, 4228 - "node_modules/micromatch": { 4229 - "version": "4.0.8", 4230 - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 4231 - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 4232 - "dev": true, 4233 - "dependencies": { 4234 - "braces": "^3.0.3", 4235 - "picomatch": "^2.3.1" 4236 - }, 4237 - "engines": { 4238 - "node": ">=8.6" 4239 - } 4240 - }, 4241 - "node_modules/minimatch": { 4242 - "version": "3.1.2", 4243 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 4244 - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 4245 - "dev": true, 4246 - "dependencies": { 4247 - "brace-expansion": "^1.1.7" 4248 - }, 4249 - "engines": { 4250 - "node": "*" 4251 - } 4252 - }, 4253 - "node_modules/minimist": { 4254 - "version": "1.2.8", 4255 - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 4256 - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 4257 - "dev": true, 4258 - "funding": { 4259 - "url": "https://github.com/sponsors/ljharb" 4260 - } 4261 - }, 4262 - "node_modules/minipass": { 4263 - "version": "7.1.2", 4264 - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", 4265 - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", 4266 - "dev": true, 4267 - "engines": { 4268 - "node": ">=16 || 14 >=14.17" 4269 - } 4270 - }, 4271 - "node_modules/minizlib": { 4272 - "version": "3.0.2", 4273 - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", 4274 - "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", 4275 - "dev": true, 4276 - "dependencies": { 4277 - "minipass": "^7.1.2" 4278 - }, 4279 - "engines": { 4280 - "node": ">= 18" 4281 - } 4282 - }, 4283 - "node_modules/mkdirp": { 4284 - "version": "3.0.1", 4285 - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", 4286 - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", 4287 - "dev": true, 4288 - "bin": { 4289 - "mkdirp": "dist/cjs/src/bin.js" 4290 - }, 4291 - "engines": { 4292 - "node": ">=10" 4293 - }, 4294 - "funding": { 4295 - "url": "https://github.com/sponsors/isaacs" 4296 - } 4297 - }, 4298 - "node_modules/ms": { 4299 - "version": "2.1.3", 4300 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 4301 - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 4302 - "dev": true 4303 - }, 4304 - "node_modules/nanoid": { 4305 - "version": "3.3.11", 4306 - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", 4307 - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", 4308 - "funding": [ 4309 - { 4310 - "type": "github", 4311 - "url": "https://github.com/sponsors/ai" 4312 - } 4313 - ], 4314 - "bin": { 4315 - "nanoid": "bin/nanoid.cjs" 4316 - }, 4317 - "engines": { 4318 - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 4319 - } 4320 - }, 4321 - "node_modules/napi-postinstall": { 4322 - "version": "0.3.2", 4323 - "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.2.tgz", 4324 - "integrity": "sha512-tWVJxJHmBWLy69PvO96TZMZDrzmw5KeiZBz3RHmiM2XZ9grBJ2WgMAFVVg25nqp3ZjTFUs2Ftw1JhscL3Teliw==", 4325 - "dev": true, 4326 - "bin": { 4327 - "napi-postinstall": "lib/cli.js" 4328 - }, 4329 - "engines": { 4330 - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" 4331 - }, 4332 - "funding": { 4333 - "url": "https://opencollective.com/napi-postinstall" 4334 - } 4335 - }, 4336 - "node_modules/natural-compare": { 4337 - "version": "1.4.0", 4338 - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 4339 - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 4340 - "dev": true 4341 - }, 4342 - "node_modules/next": { 4343 - "version": "15.4.4", 4344 - "resolved": "https://registry.npmjs.org/next/-/next-15.4.4.tgz", 4345 - "integrity": "sha512-kNcubvJjOL9yUOfwtZF3HfDhuhp+kVD+FM2A6Tyua1eI/xfmY4r/8ZS913MMz+oWKDlbps/dQOWdDricuIkXLw==", 4346 - "dependencies": { 4347 - "@next/env": "15.4.4", 4348 - "@swc/helpers": "0.5.15", 4349 - "caniuse-lite": "^1.0.30001579", 4350 - "postcss": "8.4.31", 4351 - "styled-jsx": "5.1.6" 4352 - }, 4353 - "bin": { 4354 - "next": "dist/bin/next" 4355 - }, 4356 - "engines": { 4357 - "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" 4358 - }, 4359 - "optionalDependencies": { 4360 - "@next/swc-darwin-arm64": "15.4.4", 4361 - "@next/swc-darwin-x64": "15.4.4", 4362 - "@next/swc-linux-arm64-gnu": "15.4.4", 4363 - "@next/swc-linux-arm64-musl": "15.4.4", 4364 - "@next/swc-linux-x64-gnu": "15.4.4", 4365 - "@next/swc-linux-x64-musl": "15.4.4", 4366 - "@next/swc-win32-arm64-msvc": "15.4.4", 4367 - "@next/swc-win32-x64-msvc": "15.4.4", 4368 - "sharp": "^0.34.3" 4369 - }, 4370 - "peerDependencies": { 4371 - "@opentelemetry/api": "^1.1.0", 4372 - "@playwright/test": "^1.51.1", 4373 - "babel-plugin-react-compiler": "*", 4374 - "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", 4375 - "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", 4376 - "sass": "^1.3.0" 4377 - }, 4378 - "peerDependenciesMeta": { 4379 - "@opentelemetry/api": { 4380 - "optional": true 4381 - }, 4382 - "@playwright/test": { 4383 - "optional": true 4384 - }, 4385 - "babel-plugin-react-compiler": { 4386 - "optional": true 4387 - }, 4388 - "sass": { 4389 - "optional": true 4390 - } 4391 - } 4392 - }, 4393 - "node_modules/next/node_modules/postcss": { 4394 - "version": "8.4.31", 4395 - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", 4396 - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", 4397 - "funding": [ 4398 - { 4399 - "type": "opencollective", 4400 - "url": "https://opencollective.com/postcss/" 4401 - }, 4402 - { 4403 - "type": "tidelift", 4404 - "url": "https://tidelift.com/funding/github/npm/postcss" 4405 - }, 4406 - { 4407 - "type": "github", 4408 - "url": "https://github.com/sponsors/ai" 4409 - } 4410 - ], 4411 - "dependencies": { 4412 - "nanoid": "^3.3.6", 4413 - "picocolors": "^1.0.0", 4414 - "source-map-js": "^1.0.2" 4415 - }, 4416 - "engines": { 4417 - "node": "^10 || ^12 || >=14" 4418 - } 4419 - }, 4420 - "node_modules/object-assign": { 4421 - "version": "4.1.1", 4422 - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 4423 - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 4424 - "dev": true, 4425 - "engines": { 4426 - "node": ">=0.10.0" 4427 - } 4428 - }, 4429 - "node_modules/object-inspect": { 4430 - "version": "1.13.4", 4431 - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", 4432 - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", 4433 - "dev": true, 4434 - "engines": { 4435 - "node": ">= 0.4" 4436 - }, 4437 - "funding": { 4438 - "url": "https://github.com/sponsors/ljharb" 4439 - } 4440 - }, 4441 - "node_modules/object-keys": { 4442 - "version": "1.1.1", 4443 - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 4444 - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 4445 - "dev": true, 4446 - "engines": { 4447 - "node": ">= 0.4" 4448 - } 4449 - }, 4450 - "node_modules/object.assign": { 4451 - "version": "4.1.7", 4452 - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", 4453 - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", 4454 - "dev": true, 4455 - "dependencies": { 4456 - "call-bind": "^1.0.8", 4457 - "call-bound": "^1.0.3", 4458 - "define-properties": "^1.2.1", 4459 - "es-object-atoms": "^1.0.0", 4460 - "has-symbols": "^1.1.0", 4461 - "object-keys": "^1.1.1" 4462 - }, 4463 - "engines": { 4464 - "node": ">= 0.4" 4465 - }, 4466 - "funding": { 4467 - "url": "https://github.com/sponsors/ljharb" 4468 - } 4469 - }, 4470 - "node_modules/object.entries": { 4471 - "version": "1.1.9", 4472 - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", 4473 - "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", 4474 - "dev": true, 4475 - "dependencies": { 4476 - "call-bind": "^1.0.8", 4477 - "call-bound": "^1.0.4", 4478 - "define-properties": "^1.2.1", 4479 - "es-object-atoms": "^1.1.1" 4480 - }, 4481 - "engines": { 4482 - "node": ">= 0.4" 4483 - } 4484 - }, 4485 - "node_modules/object.fromentries": { 4486 - "version": "2.0.8", 4487 - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", 4488 - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", 4489 - "dev": true, 4490 - "dependencies": { 4491 - "call-bind": "^1.0.7", 4492 - "define-properties": "^1.2.1", 4493 - "es-abstract": "^1.23.2", 4494 - "es-object-atoms": "^1.0.0" 4495 - }, 4496 - "engines": { 4497 - "node": ">= 0.4" 4498 - }, 4499 - "funding": { 4500 - "url": "https://github.com/sponsors/ljharb" 4501 - } 4502 - }, 4503 - "node_modules/object.groupby": { 4504 - "version": "1.0.3", 4505 - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", 4506 - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", 4507 - "dev": true, 4508 - "dependencies": { 4509 - "call-bind": "^1.0.7", 4510 - "define-properties": "^1.2.1", 4511 - "es-abstract": "^1.23.2" 4512 - }, 4513 - "engines": { 4514 - "node": ">= 0.4" 4515 - } 4516 - }, 4517 - "node_modules/object.values": { 4518 - "version": "1.2.1", 4519 - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", 4520 - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", 4521 - "dev": true, 4522 - "dependencies": { 4523 - "call-bind": "^1.0.8", 4524 - "call-bound": "^1.0.3", 4525 - "define-properties": "^1.2.1", 4526 - "es-object-atoms": "^1.0.0" 4527 - }, 4528 - "engines": { 4529 - "node": ">= 0.4" 4530 - }, 4531 - "funding": { 4532 - "url": "https://github.com/sponsors/ljharb" 4533 - } 4534 - }, 4535 - "node_modules/optionator": { 4536 - "version": "0.9.4", 4537 - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", 4538 - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", 4539 - "dev": true, 4540 - "dependencies": { 4541 - "deep-is": "^0.1.3", 4542 - "fast-levenshtein": "^2.0.6", 4543 - "levn": "^0.4.1", 4544 - "prelude-ls": "^1.2.1", 4545 - "type-check": "^0.4.0", 4546 - "word-wrap": "^1.2.5" 4547 - }, 4548 - "engines": { 4549 - "node": ">= 0.8.0" 4550 - } 4551 - }, 4552 - "node_modules/own-keys": { 4553 - "version": "1.0.1", 4554 - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", 4555 - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", 4556 - "dev": true, 4557 - "dependencies": { 4558 - "get-intrinsic": "^1.2.6", 4559 - "object-keys": "^1.1.1", 4560 - "safe-push-apply": "^1.0.0" 4561 - }, 4562 - "engines": { 4563 - "node": ">= 0.4" 4564 - }, 4565 - "funding": { 4566 - "url": "https://github.com/sponsors/ljharb" 4567 - } 4568 - }, 4569 - "node_modules/p-limit": { 4570 - "version": "3.1.0", 4571 - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 4572 - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 4573 - "dev": true, 4574 - "dependencies": { 4575 - "yocto-queue": "^0.1.0" 4576 - }, 4577 - "engines": { 4578 - "node": ">=10" 4579 - }, 4580 - "funding": { 4581 - "url": "https://github.com/sponsors/sindresorhus" 4582 - } 4583 - }, 4584 - "node_modules/p-locate": { 4585 - "version": "5.0.0", 4586 - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 4587 - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 4588 - "dev": true, 4589 - "dependencies": { 4590 - "p-limit": "^3.0.2" 4591 - }, 4592 - "engines": { 4593 - "node": ">=10" 4594 - }, 4595 - "funding": { 4596 - "url": "https://github.com/sponsors/sindresorhus" 4597 - } 4598 - }, 4599 - "node_modules/parent-module": { 4600 - "version": "1.0.1", 4601 - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 4602 - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 4603 - "dev": true, 4604 - "dependencies": { 4605 - "callsites": "^3.0.0" 4606 - }, 4607 - "engines": { 4608 - "node": ">=6" 4609 - } 4610 - }, 4611 - "node_modules/path-exists": { 4612 - "version": "4.0.0", 4613 - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 4614 - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 4615 - "dev": true, 4616 - "engines": { 4617 - "node": ">=8" 4618 - } 4619 - }, 4620 - "node_modules/path-key": { 4621 - "version": "3.1.1", 4622 - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 4623 - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 4624 - "dev": true, 4625 - "engines": { 4626 - "node": ">=8" 4627 - } 4628 - }, 4629 - "node_modules/path-parse": { 4630 - "version": "1.0.7", 4631 - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 4632 - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 4633 - "dev": true 4634 - }, 4635 - "node_modules/picocolors": { 4636 - "version": "1.1.1", 4637 - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 4638 - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" 4639 - }, 4640 - "node_modules/picomatch": { 4641 - "version": "2.3.1", 4642 - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 4643 - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 4644 - "dev": true, 4645 - "engines": { 4646 - "node": ">=8.6" 4647 - }, 4648 - "funding": { 4649 - "url": "https://github.com/sponsors/jonschlinkert" 4650 - } 4651 - }, 4652 - "node_modules/possible-typed-array-names": { 4653 - "version": "1.1.0", 4654 - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", 4655 - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", 4656 - "dev": true, 4657 - "engines": { 4658 - "node": ">= 0.4" 4659 - } 4660 - }, 4661 - "node_modules/postcss": { 4662 - "version": "8.5.6", 4663 - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", 4664 - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", 4665 - "dev": true, 4666 - "funding": [ 4667 - { 4668 - "type": "opencollective", 4669 - "url": "https://opencollective.com/postcss/" 4670 - }, 4671 - { 4672 - "type": "tidelift", 4673 - "url": "https://tidelift.com/funding/github/npm/postcss" 4674 - }, 4675 - { 4676 - "type": "github", 4677 - "url": "https://github.com/sponsors/ai" 4678 - } 4679 - ], 4680 - "dependencies": { 4681 - "nanoid": "^3.3.11", 4682 - "picocolors": "^1.1.1", 4683 - "source-map-js": "^1.2.1" 4684 - }, 4685 - "engines": { 4686 - "node": "^10 || ^12 || >=14" 4687 - } 4688 - }, 4689 - "node_modules/prelude-ls": { 4690 - "version": "1.2.1", 4691 - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 4692 - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 4693 - "dev": true, 4694 - "engines": { 4695 - "node": ">= 0.8.0" 4696 - } 4697 - }, 4698 - "node_modules/prop-types": { 4699 - "version": "15.8.1", 4700 - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", 4701 - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", 4702 - "dev": true, 4703 - "dependencies": { 4704 - "loose-envify": "^1.4.0", 4705 - "object-assign": "^4.1.1", 4706 - "react-is": "^16.13.1" 4707 - } 4708 - }, 4709 - "node_modules/punycode": { 4710 - "version": "2.3.1", 4711 - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 4712 - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 4713 - "dev": true, 4714 - "engines": { 4715 - "node": ">=6" 4716 - } 4717 - }, 4718 - "node_modules/queue-microtask": { 4719 - "version": "1.2.3", 4720 - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 4721 - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 4722 - "dev": true, 4723 - "funding": [ 4724 - { 4725 - "type": "github", 4726 - "url": "https://github.com/sponsors/feross" 4727 - }, 4728 - { 4729 - "type": "patreon", 4730 - "url": "https://www.patreon.com/feross" 4731 - }, 4732 - { 4733 - "type": "consulting", 4734 - "url": "https://feross.org/support" 4735 - } 4736 - ] 4737 - }, 4738 - "node_modules/react": { 4739 - "version": "19.1.0", 4740 - "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", 4741 - "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", 4742 - "engines": { 4743 - "node": ">=0.10.0" 4744 - } 4745 - }, 4746 - "node_modules/react-dom": { 4747 - "version": "19.1.0", 4748 - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", 4749 - "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", 4750 - "dependencies": { 4751 - "scheduler": "^0.26.0" 4752 - }, 4753 - "peerDependencies": { 4754 - "react": "^19.1.0" 4755 - } 4756 - }, 4757 - "node_modules/react-is": { 4758 - "version": "16.13.1", 4759 - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", 4760 - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", 4761 - "dev": true 4762 - }, 4763 - "node_modules/reflect.getprototypeof": { 4764 - "version": "1.0.10", 4765 - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", 4766 - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", 4767 - "dev": true, 4768 - "dependencies": { 4769 - "call-bind": "^1.0.8", 4770 - "define-properties": "^1.2.1", 4771 - "es-abstract": "^1.23.9", 4772 - "es-errors": "^1.3.0", 4773 - "es-object-atoms": "^1.0.0", 4774 - "get-intrinsic": "^1.2.7", 4775 - "get-proto": "^1.0.1", 4776 - "which-builtin-type": "^1.2.1" 4777 - }, 4778 - "engines": { 4779 - "node": ">= 0.4" 4780 - }, 4781 - "funding": { 4782 - "url": "https://github.com/sponsors/ljharb" 4783 - } 4784 - }, 4785 - "node_modules/regexp.prototype.flags": { 4786 - "version": "1.5.4", 4787 - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", 4788 - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", 4789 - "dev": true, 4790 - "dependencies": { 4791 - "call-bind": "^1.0.8", 4792 - "define-properties": "^1.2.1", 4793 - "es-errors": "^1.3.0", 4794 - "get-proto": "^1.0.1", 4795 - "gopd": "^1.2.0", 4796 - "set-function-name": "^2.0.2" 4797 - }, 4798 - "engines": { 4799 - "node": ">= 0.4" 4800 - }, 4801 - "funding": { 4802 - "url": "https://github.com/sponsors/ljharb" 4803 - } 4804 - }, 4805 - "node_modules/resolve": { 4806 - "version": "1.22.10", 4807 - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", 4808 - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", 4809 - "dev": true, 4810 - "dependencies": { 4811 - "is-core-module": "^2.16.0", 4812 - "path-parse": "^1.0.7", 4813 - "supports-preserve-symlinks-flag": "^1.0.0" 4814 - }, 4815 - "bin": { 4816 - "resolve": "bin/resolve" 4817 - }, 4818 - "engines": { 4819 - "node": ">= 0.4" 4820 - }, 4821 - "funding": { 4822 - "url": "https://github.com/sponsors/ljharb" 4823 - } 4824 - }, 4825 - "node_modules/resolve-from": { 4826 - "version": "4.0.0", 4827 - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 4828 - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 4829 - "dev": true, 4830 - "engines": { 4831 - "node": ">=4" 4832 - } 4833 - }, 4834 - "node_modules/resolve-pkg-maps": { 4835 - "version": "1.0.0", 4836 - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", 4837 - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", 4838 - "dev": true, 4839 - "funding": { 4840 - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" 4841 - } 4842 - }, 4843 - "node_modules/reusify": { 4844 - "version": "1.1.0", 4845 - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", 4846 - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", 4847 - "dev": true, 4848 - "engines": { 4849 - "iojs": ">=1.0.0", 4850 - "node": ">=0.10.0" 4851 - } 4852 - }, 4853 - "node_modules/run-parallel": { 4854 - "version": "1.2.0", 4855 - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 4856 - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 4857 - "dev": true, 4858 - "funding": [ 4859 - { 4860 - "type": "github", 4861 - "url": "https://github.com/sponsors/feross" 4862 - }, 4863 - { 4864 - "type": "patreon", 4865 - "url": "https://www.patreon.com/feross" 4866 - }, 4867 - { 4868 - "type": "consulting", 4869 - "url": "https://feross.org/support" 4870 - } 4871 - ], 4872 - "dependencies": { 4873 - "queue-microtask": "^1.2.2" 4874 - } 4875 - }, 4876 - "node_modules/safe-array-concat": { 4877 - "version": "1.1.3", 4878 - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", 4879 - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", 4880 - "dev": true, 4881 - "dependencies": { 4882 - "call-bind": "^1.0.8", 4883 - "call-bound": "^1.0.2", 4884 - "get-intrinsic": "^1.2.6", 4885 - "has-symbols": "^1.1.0", 4886 - "isarray": "^2.0.5" 4887 - }, 4888 - "engines": { 4889 - "node": ">=0.4" 4890 - }, 4891 - "funding": { 4892 - "url": "https://github.com/sponsors/ljharb" 4893 - } 4894 - }, 4895 - "node_modules/safe-push-apply": { 4896 - "version": "1.0.0", 4897 - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", 4898 - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", 4899 - "dev": true, 4900 - "dependencies": { 4901 - "es-errors": "^1.3.0", 4902 - "isarray": "^2.0.5" 4903 - }, 4904 - "engines": { 4905 - "node": ">= 0.4" 4906 - }, 4907 - "funding": { 4908 - "url": "https://github.com/sponsors/ljharb" 4909 - } 4910 - }, 4911 - "node_modules/safe-regex-test": { 4912 - "version": "1.1.0", 4913 - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", 4914 - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", 4915 - "dev": true, 4916 - "dependencies": { 4917 - "call-bound": "^1.0.2", 4918 - "es-errors": "^1.3.0", 4919 - "is-regex": "^1.2.1" 4920 - }, 4921 - "engines": { 4922 - "node": ">= 0.4" 4923 - }, 4924 - "funding": { 4925 - "url": "https://github.com/sponsors/ljharb" 4926 - } 4927 - }, 4928 - "node_modules/scheduler": { 4929 - "version": "0.26.0", 4930 - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", 4931 - "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==" 4932 - }, 4933 - "node_modules/semver": { 4934 - "version": "7.7.2", 4935 - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", 4936 - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", 4937 - "devOptional": true, 4938 - "bin": { 4939 - "semver": "bin/semver.js" 4940 - }, 4941 - "engines": { 4942 - "node": ">=10" 4943 - } 4944 - }, 4945 - "node_modules/set-function-length": { 4946 - "version": "1.2.2", 4947 - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", 4948 - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", 4949 - "dev": true, 4950 - "dependencies": { 4951 - "define-data-property": "^1.1.4", 4952 - "es-errors": "^1.3.0", 4953 - "function-bind": "^1.1.2", 4954 - "get-intrinsic": "^1.2.4", 4955 - "gopd": "^1.0.1", 4956 - "has-property-descriptors": "^1.0.2" 4957 - }, 4958 - "engines": { 4959 - "node": ">= 0.4" 4960 - } 4961 - }, 4962 - "node_modules/set-function-name": { 4963 - "version": "2.0.2", 4964 - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", 4965 - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", 4966 - "dev": true, 4967 - "dependencies": { 4968 - "define-data-property": "^1.1.4", 4969 - "es-errors": "^1.3.0", 4970 - "functions-have-names": "^1.2.3", 4971 - "has-property-descriptors": "^1.0.2" 4972 - }, 4973 - "engines": { 4974 - "node": ">= 0.4" 4975 - } 4976 - }, 4977 - "node_modules/set-proto": { 4978 - "version": "1.0.0", 4979 - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", 4980 - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", 4981 - "dev": true, 4982 - "dependencies": { 4983 - "dunder-proto": "^1.0.1", 4984 - "es-errors": "^1.3.0", 4985 - "es-object-atoms": "^1.0.0" 4986 - }, 4987 - "engines": { 4988 - "node": ">= 0.4" 4989 - } 4990 - }, 4991 - "node_modules/sharp": { 4992 - "version": "0.34.3", 4993 - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.3.tgz", 4994 - "integrity": "sha512-eX2IQ6nFohW4DbvHIOLRB3MHFpYqaqvXd3Tp5e/T/dSH83fxaNJQRvDMhASmkNTsNTVF2/OOopzRCt7xokgPfg==", 4995 - "hasInstallScript": true, 4996 - "optional": true, 4997 - "dependencies": { 4998 - "color": "^4.2.3", 4999 - "detect-libc": "^2.0.4", 5000 - "semver": "^7.7.2" 5001 - }, 5002 - "engines": { 5003 - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 5004 - }, 5005 - "funding": { 5006 - "url": "https://opencollective.com/libvips" 5007 - }, 5008 - "optionalDependencies": { 5009 - "@img/sharp-darwin-arm64": "0.34.3", 5010 - "@img/sharp-darwin-x64": "0.34.3", 5011 - "@img/sharp-libvips-darwin-arm64": "1.2.0", 5012 - "@img/sharp-libvips-darwin-x64": "1.2.0", 5013 - "@img/sharp-libvips-linux-arm": "1.2.0", 5014 - "@img/sharp-libvips-linux-arm64": "1.2.0", 5015 - "@img/sharp-libvips-linux-ppc64": "1.2.0", 5016 - "@img/sharp-libvips-linux-s390x": "1.2.0", 5017 - "@img/sharp-libvips-linux-x64": "1.2.0", 5018 - "@img/sharp-libvips-linuxmusl-arm64": "1.2.0", 5019 - "@img/sharp-libvips-linuxmusl-x64": "1.2.0", 5020 - "@img/sharp-linux-arm": "0.34.3", 5021 - "@img/sharp-linux-arm64": "0.34.3", 5022 - "@img/sharp-linux-ppc64": "0.34.3", 5023 - "@img/sharp-linux-s390x": "0.34.3", 5024 - "@img/sharp-linux-x64": "0.34.3", 5025 - "@img/sharp-linuxmusl-arm64": "0.34.3", 5026 - "@img/sharp-linuxmusl-x64": "0.34.3", 5027 - "@img/sharp-wasm32": "0.34.3", 5028 - "@img/sharp-win32-arm64": "0.34.3", 5029 - "@img/sharp-win32-ia32": "0.34.3", 5030 - "@img/sharp-win32-x64": "0.34.3" 5031 - } 5032 - }, 5033 - "node_modules/shebang-command": { 5034 - "version": "2.0.0", 5035 - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 5036 - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 5037 - "dev": true, 5038 - "dependencies": { 5039 - "shebang-regex": "^3.0.0" 5040 - }, 5041 - "engines": { 5042 - "node": ">=8" 5043 - } 5044 - }, 5045 - "node_modules/shebang-regex": { 5046 - "version": "3.0.0", 5047 - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 5048 - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 5049 - "dev": true, 5050 - "engines": { 5051 - "node": ">=8" 5052 - } 5053 - }, 5054 - "node_modules/side-channel": { 5055 - "version": "1.1.0", 5056 - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", 5057 - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", 5058 - "dev": true, 5059 - "dependencies": { 5060 - "es-errors": "^1.3.0", 5061 - "object-inspect": "^1.13.3", 5062 - "side-channel-list": "^1.0.0", 5063 - "side-channel-map": "^1.0.1", 5064 - "side-channel-weakmap": "^1.0.2" 5065 - }, 5066 - "engines": { 5067 - "node": ">= 0.4" 5068 - }, 5069 - "funding": { 5070 - "url": "https://github.com/sponsors/ljharb" 5071 - } 5072 - }, 5073 - "node_modules/side-channel-list": { 5074 - "version": "1.0.0", 5075 - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", 5076 - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", 5077 - "dev": true, 5078 - "dependencies": { 5079 - "es-errors": "^1.3.0", 5080 - "object-inspect": "^1.13.3" 5081 - }, 5082 - "engines": { 5083 - "node": ">= 0.4" 5084 - }, 5085 - "funding": { 5086 - "url": "https://github.com/sponsors/ljharb" 5087 - } 5088 - }, 5089 - "node_modules/side-channel-map": { 5090 - "version": "1.0.1", 5091 - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", 5092 - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", 5093 - "dev": true, 5094 - "dependencies": { 5095 - "call-bound": "^1.0.2", 5096 - "es-errors": "^1.3.0", 5097 - "get-intrinsic": "^1.2.5", 5098 - "object-inspect": "^1.13.3" 5099 - }, 5100 - "engines": { 5101 - "node": ">= 0.4" 5102 - }, 5103 - "funding": { 5104 - "url": "https://github.com/sponsors/ljharb" 5105 - } 5106 - }, 5107 - "node_modules/side-channel-weakmap": { 5108 - "version": "1.0.2", 5109 - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", 5110 - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", 5111 - "dev": true, 5112 - "dependencies": { 5113 - "call-bound": "^1.0.2", 5114 - "es-errors": "^1.3.0", 5115 - "get-intrinsic": "^1.2.5", 5116 - "object-inspect": "^1.13.3", 5117 - "side-channel-map": "^1.0.1" 5118 - }, 5119 - "engines": { 5120 - "node": ">= 0.4" 5121 - }, 5122 - "funding": { 5123 - "url": "https://github.com/sponsors/ljharb" 5124 - } 5125 - }, 5126 - "node_modules/simple-swizzle": { 5127 - "version": "0.2.2", 5128 - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", 5129 - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", 5130 - "optional": true, 5131 - "dependencies": { 5132 - "is-arrayish": "^0.3.1" 5133 - } 5134 - }, 5135 - "node_modules/source-map-js": { 5136 - "version": "1.2.1", 5137 - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 5138 - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 5139 - "engines": { 5140 - "node": ">=0.10.0" 5141 - } 5142 - }, 5143 - "node_modules/stable-hash": { 5144 - "version": "0.0.5", 5145 - "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", 5146 - "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", 5147 - "dev": true 5148 - }, 5149 - "node_modules/stop-iteration-iterator": { 5150 - "version": "1.1.0", 5151 - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", 5152 - "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", 5153 - "dev": true, 5154 - "dependencies": { 5155 - "es-errors": "^1.3.0", 5156 - "internal-slot": "^1.1.0" 5157 - }, 5158 - "engines": { 5159 - "node": ">= 0.4" 5160 - } 5161 - }, 5162 - "node_modules/string.prototype.includes": { 5163 - "version": "2.0.1", 5164 - "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", 5165 - "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", 5166 - "dev": true, 5167 - "dependencies": { 5168 - "call-bind": "^1.0.7", 5169 - "define-properties": "^1.2.1", 5170 - "es-abstract": "^1.23.3" 5171 - }, 5172 - "engines": { 5173 - "node": ">= 0.4" 5174 - } 5175 - }, 5176 - "node_modules/string.prototype.matchall": { 5177 - "version": "4.0.12", 5178 - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", 5179 - "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", 5180 - "dev": true, 5181 - "dependencies": { 5182 - "call-bind": "^1.0.8", 5183 - "call-bound": "^1.0.3", 5184 - "define-properties": "^1.2.1", 5185 - "es-abstract": "^1.23.6", 5186 - "es-errors": "^1.3.0", 5187 - "es-object-atoms": "^1.0.0", 5188 - "get-intrinsic": "^1.2.6", 5189 - "gopd": "^1.2.0", 5190 - "has-symbols": "^1.1.0", 5191 - "internal-slot": "^1.1.0", 5192 - "regexp.prototype.flags": "^1.5.3", 5193 - "set-function-name": "^2.0.2", 5194 - "side-channel": "^1.1.0" 5195 - }, 5196 - "engines": { 5197 - "node": ">= 0.4" 5198 - }, 5199 - "funding": { 5200 - "url": "https://github.com/sponsors/ljharb" 5201 - } 5202 - }, 5203 - "node_modules/string.prototype.repeat": { 5204 - "version": "1.0.0", 5205 - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", 5206 - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", 5207 - "dev": true, 5208 - "dependencies": { 5209 - "define-properties": "^1.1.3", 5210 - "es-abstract": "^1.17.5" 5211 - } 5212 - }, 5213 - "node_modules/string.prototype.trim": { 5214 - "version": "1.2.10", 5215 - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", 5216 - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", 5217 - "dev": true, 5218 - "dependencies": { 5219 - "call-bind": "^1.0.8", 5220 - "call-bound": "^1.0.2", 5221 - "define-data-property": "^1.1.4", 5222 - "define-properties": "^1.2.1", 5223 - "es-abstract": "^1.23.5", 5224 - "es-object-atoms": "^1.0.0", 5225 - "has-property-descriptors": "^1.0.2" 5226 - }, 5227 - "engines": { 5228 - "node": ">= 0.4" 5229 - }, 5230 - "funding": { 5231 - "url": "https://github.com/sponsors/ljharb" 5232 - } 5233 - }, 5234 - "node_modules/string.prototype.trimend": { 5235 - "version": "1.0.9", 5236 - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", 5237 - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", 5238 - "dev": true, 5239 - "dependencies": { 5240 - "call-bind": "^1.0.8", 5241 - "call-bound": "^1.0.2", 5242 - "define-properties": "^1.2.1", 5243 - "es-object-atoms": "^1.0.0" 5244 - }, 5245 - "engines": { 5246 - "node": ">= 0.4" 5247 - }, 5248 - "funding": { 5249 - "url": "https://github.com/sponsors/ljharb" 5250 - } 5251 - }, 5252 - "node_modules/string.prototype.trimstart": { 5253 - "version": "1.0.8", 5254 - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", 5255 - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", 5256 - "dev": true, 5257 - "dependencies": { 5258 - "call-bind": "^1.0.7", 5259 - "define-properties": "^1.2.1", 5260 - "es-object-atoms": "^1.0.0" 5261 - }, 5262 - "engines": { 5263 - "node": ">= 0.4" 5264 - }, 5265 - "funding": { 5266 - "url": "https://github.com/sponsors/ljharb" 5267 - } 5268 - }, 5269 - "node_modules/strip-bom": { 5270 - "version": "3.0.0", 5271 - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 5272 - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", 5273 - "dev": true, 5274 - "engines": { 5275 - "node": ">=4" 5276 - } 5277 - }, 5278 - "node_modules/strip-json-comments": { 5279 - "version": "3.1.1", 5280 - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 5281 - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 5282 - "dev": true, 5283 - "engines": { 5284 - "node": ">=8" 5285 - }, 5286 - "funding": { 5287 - "url": "https://github.com/sponsors/sindresorhus" 5288 - } 5289 - }, 5290 - "node_modules/styled-jsx": { 5291 - "version": "5.1.6", 5292 - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", 5293 - "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", 5294 - "dependencies": { 5295 - "client-only": "0.0.1" 5296 - }, 5297 - "engines": { 5298 - "node": ">= 12.0.0" 5299 - }, 5300 - "peerDependencies": { 5301 - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" 5302 - }, 5303 - "peerDependenciesMeta": { 5304 - "@babel/core": { 5305 - "optional": true 5306 - }, 5307 - "babel-plugin-macros": { 5308 - "optional": true 5309 - } 5310 - } 5311 - }, 5312 - "node_modules/supports-color": { 5313 - "version": "7.2.0", 5314 - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 5315 - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 5316 - "dev": true, 5317 - "dependencies": { 5318 - "has-flag": "^4.0.0" 5319 - }, 5320 - "engines": { 5321 - "node": ">=8" 5322 - } 5323 - }, 5324 - "node_modules/supports-preserve-symlinks-flag": { 5325 - "version": "1.0.0", 5326 - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 5327 - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 5328 - "dev": true, 5329 - "engines": { 5330 - "node": ">= 0.4" 5331 - }, 5332 - "funding": { 5333 - "url": "https://github.com/sponsors/ljharb" 5334 - } 5335 - }, 5336 - "node_modules/tailwindcss": { 5337 - "version": "4.1.11", 5338 - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.11.tgz", 5339 - "integrity": "sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==", 5340 - "dev": true 5341 - }, 5342 - "node_modules/tapable": { 5343 - "version": "2.2.2", 5344 - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", 5345 - "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==", 5346 - "dev": true, 5347 - "engines": { 5348 - "node": ">=6" 5349 - } 5350 - }, 5351 - "node_modules/tar": { 5352 - "version": "7.4.3", 5353 - "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", 5354 - "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", 5355 - "dev": true, 5356 - "dependencies": { 5357 - "@isaacs/fs-minipass": "^4.0.0", 5358 - "chownr": "^3.0.0", 5359 - "minipass": "^7.1.2", 5360 - "minizlib": "^3.0.1", 5361 - "mkdirp": "^3.0.1", 5362 - "yallist": "^5.0.0" 5363 - }, 5364 - "engines": { 5365 - "node": ">=18" 5366 - } 5367 - }, 5368 - "node_modules/tinyglobby": { 5369 - "version": "0.2.14", 5370 - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", 5371 - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", 5372 - "dev": true, 5373 - "dependencies": { 5374 - "fdir": "^6.4.4", 5375 - "picomatch": "^4.0.2" 5376 - }, 5377 - "engines": { 5378 - "node": ">=12.0.0" 5379 - }, 5380 - "funding": { 5381 - "url": "https://github.com/sponsors/SuperchupuDev" 5382 - } 5383 - }, 5384 - "node_modules/tinyglobby/node_modules/fdir": { 5385 - "version": "6.4.6", 5386 - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", 5387 - "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", 5388 - "dev": true, 5389 - "peerDependencies": { 5390 - "picomatch": "^3 || ^4" 5391 - }, 5392 - "peerDependenciesMeta": { 5393 - "picomatch": { 5394 - "optional": true 5395 - } 5396 - } 5397 - }, 5398 - "node_modules/tinyglobby/node_modules/picomatch": { 5399 - "version": "4.0.3", 5400 - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", 5401 - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", 5402 - "dev": true, 5403 - "engines": { 5404 - "node": ">=12" 5405 - }, 5406 - "funding": { 5407 - "url": "https://github.com/sponsors/jonschlinkert" 5408 - } 5409 - }, 5410 - "node_modules/to-regex-range": { 5411 - "version": "5.0.1", 5412 - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 5413 - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 5414 - "dev": true, 5415 - "dependencies": { 5416 - "is-number": "^7.0.0" 5417 - }, 5418 - "engines": { 5419 - "node": ">=8.0" 5420 - } 5421 - }, 5422 - "node_modules/ts-api-utils": { 5423 - "version": "2.1.0", 5424 - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", 5425 - "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", 5426 - "dev": true, 5427 - "engines": { 5428 - "node": ">=18.12" 5429 - }, 5430 - "peerDependencies": { 5431 - "typescript": ">=4.8.4" 5432 - } 5433 - }, 5434 - "node_modules/tsconfig-paths": { 5435 - "version": "3.15.0", 5436 - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", 5437 - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", 5438 - "dev": true, 5439 - "dependencies": { 5440 - "@types/json5": "^0.0.29", 5441 - "json5": "^1.0.2", 5442 - "minimist": "^1.2.6", 5443 - "strip-bom": "^3.0.0" 5444 - } 5445 - }, 5446 - "node_modules/tslib": { 5447 - "version": "2.8.1", 5448 - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", 5449 - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" 5450 - }, 5451 - "node_modules/type-check": { 5452 - "version": "0.4.0", 5453 - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 5454 - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 5455 - "dev": true, 5456 - "dependencies": { 5457 - "prelude-ls": "^1.2.1" 5458 - }, 5459 - "engines": { 5460 - "node": ">= 0.8.0" 5461 - } 5462 - }, 5463 - "node_modules/typed-array-buffer": { 5464 - "version": "1.0.3", 5465 - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", 5466 - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", 5467 - "dev": true, 5468 - "dependencies": { 5469 - "call-bound": "^1.0.3", 5470 - "es-errors": "^1.3.0", 5471 - "is-typed-array": "^1.1.14" 5472 - }, 5473 - "engines": { 5474 - "node": ">= 0.4" 5475 - } 5476 - }, 5477 - "node_modules/typed-array-byte-length": { 5478 - "version": "1.0.3", 5479 - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", 5480 - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", 5481 - "dev": true, 5482 - "dependencies": { 5483 - "call-bind": "^1.0.8", 5484 - "for-each": "^0.3.3", 5485 - "gopd": "^1.2.0", 5486 - "has-proto": "^1.2.0", 5487 - "is-typed-array": "^1.1.14" 5488 - }, 5489 - "engines": { 5490 - "node": ">= 0.4" 5491 - }, 5492 - "funding": { 5493 - "url": "https://github.com/sponsors/ljharb" 5494 - } 5495 - }, 5496 - "node_modules/typed-array-byte-offset": { 5497 - "version": "1.0.4", 5498 - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", 5499 - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", 5500 - "dev": true, 5501 - "dependencies": { 5502 - "available-typed-arrays": "^1.0.7", 5503 - "call-bind": "^1.0.8", 5504 - "for-each": "^0.3.3", 5505 - "gopd": "^1.2.0", 5506 - "has-proto": "^1.2.0", 5507 - "is-typed-array": "^1.1.15", 5508 - "reflect.getprototypeof": "^1.0.9" 5509 - }, 5510 - "engines": { 5511 - "node": ">= 0.4" 5512 - }, 5513 - "funding": { 5514 - "url": "https://github.com/sponsors/ljharb" 5515 - } 5516 - }, 5517 - "node_modules/typed-array-length": { 5518 - "version": "1.0.7", 5519 - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", 5520 - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", 5521 - "dev": true, 5522 - "dependencies": { 5523 - "call-bind": "^1.0.7", 5524 - "for-each": "^0.3.3", 5525 - "gopd": "^1.0.1", 5526 - "is-typed-array": "^1.1.13", 5527 - "possible-typed-array-names": "^1.0.0", 5528 - "reflect.getprototypeof": "^1.0.6" 5529 - }, 5530 - "engines": { 5531 - "node": ">= 0.4" 5532 - }, 5533 - "funding": { 5534 - "url": "https://github.com/sponsors/ljharb" 5535 - } 5536 - }, 5537 - "node_modules/typescript": { 5538 - "version": "5.8.3", 5539 - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", 5540 - "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", 5541 - "dev": true, 5542 - "bin": { 5543 - "tsc": "bin/tsc", 5544 - "tsserver": "bin/tsserver" 5545 - }, 5546 - "engines": { 5547 - "node": ">=14.17" 5548 - } 5549 - }, 5550 - "node_modules/unbox-primitive": { 5551 - "version": "1.1.0", 5552 - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", 5553 - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", 5554 - "dev": true, 5555 - "dependencies": { 5556 - "call-bound": "^1.0.3", 5557 - "has-bigints": "^1.0.2", 5558 - "has-symbols": "^1.1.0", 5559 - "which-boxed-primitive": "^1.1.1" 5560 - }, 5561 - "engines": { 5562 - "node": ">= 0.4" 5563 - }, 5564 - "funding": { 5565 - "url": "https://github.com/sponsors/ljharb" 5566 - } 5567 - }, 5568 - "node_modules/undici-types": { 5569 - "version": "6.21.0", 5570 - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", 5571 - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", 5572 - "dev": true 5573 - }, 5574 - "node_modules/unrs-resolver": { 5575 - "version": "1.11.1", 5576 - "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", 5577 - "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", 5578 - "dev": true, 5579 - "hasInstallScript": true, 5580 - "dependencies": { 5581 - "napi-postinstall": "^0.3.0" 5582 - }, 5583 - "funding": { 5584 - "url": "https://opencollective.com/unrs-resolver" 5585 - }, 5586 - "optionalDependencies": { 5587 - "@unrs/resolver-binding-android-arm-eabi": "1.11.1", 5588 - "@unrs/resolver-binding-android-arm64": "1.11.1", 5589 - "@unrs/resolver-binding-darwin-arm64": "1.11.1", 5590 - "@unrs/resolver-binding-darwin-x64": "1.11.1", 5591 - "@unrs/resolver-binding-freebsd-x64": "1.11.1", 5592 - "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", 5593 - "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", 5594 - "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", 5595 - "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", 5596 - "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", 5597 - "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", 5598 - "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", 5599 - "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", 5600 - "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", 5601 - "@unrs/resolver-binding-linux-x64-musl": "1.11.1", 5602 - "@unrs/resolver-binding-wasm32-wasi": "1.11.1", 5603 - "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", 5604 - "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", 5605 - "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" 5606 - } 5607 - }, 5608 - "node_modules/uri-js": { 5609 - "version": "4.4.1", 5610 - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 5611 - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 5612 - "dev": true, 5613 - "dependencies": { 5614 - "punycode": "^2.1.0" 5615 - } 5616 - }, 5617 - "node_modules/which": { 5618 - "version": "2.0.2", 5619 - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 5620 - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 5621 - "dev": true, 5622 - "dependencies": { 5623 - "isexe": "^2.0.0" 5624 - }, 5625 - "bin": { 5626 - "node-which": "bin/node-which" 5627 - }, 5628 - "engines": { 5629 - "node": ">= 8" 5630 - } 5631 - }, 5632 - "node_modules/which-boxed-primitive": { 5633 - "version": "1.1.1", 5634 - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", 5635 - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", 5636 - "dev": true, 5637 - "dependencies": { 5638 - "is-bigint": "^1.1.0", 5639 - "is-boolean-object": "^1.2.1", 5640 - "is-number-object": "^1.1.1", 5641 - "is-string": "^1.1.1", 5642 - "is-symbol": "^1.1.1" 5643 - }, 5644 - "engines": { 5645 - "node": ">= 0.4" 5646 - }, 5647 - "funding": { 5648 - "url": "https://github.com/sponsors/ljharb" 5649 - } 5650 - }, 5651 - "node_modules/which-builtin-type": { 5652 - "version": "1.2.1", 5653 - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", 5654 - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", 5655 - "dev": true, 5656 - "dependencies": { 5657 - "call-bound": "^1.0.2", 5658 - "function.prototype.name": "^1.1.6", 5659 - "has-tostringtag": "^1.0.2", 5660 - "is-async-function": "^2.0.0", 5661 - "is-date-object": "^1.1.0", 5662 - "is-finalizationregistry": "^1.1.0", 5663 - "is-generator-function": "^1.0.10", 5664 - "is-regex": "^1.2.1", 5665 - "is-weakref": "^1.0.2", 5666 - "isarray": "^2.0.5", 5667 - "which-boxed-primitive": "^1.1.0", 5668 - "which-collection": "^1.0.2", 5669 - "which-typed-array": "^1.1.16" 5670 - }, 5671 - "engines": { 5672 - "node": ">= 0.4" 5673 - }, 5674 - "funding": { 5675 - "url": "https://github.com/sponsors/ljharb" 5676 - } 5677 - }, 5678 - "node_modules/which-collection": { 5679 - "version": "1.0.2", 5680 - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", 5681 - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", 5682 - "dev": true, 5683 - "dependencies": { 5684 - "is-map": "^2.0.3", 5685 - "is-set": "^2.0.3", 5686 - "is-weakmap": "^2.0.2", 5687 - "is-weakset": "^2.0.3" 5688 - }, 5689 - "engines": { 5690 - "node": ">= 0.4" 5691 - }, 5692 - "funding": { 5693 - "url": "https://github.com/sponsors/ljharb" 5694 - } 5695 - }, 5696 - "node_modules/which-typed-array": { 5697 - "version": "1.1.19", 5698 - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", 5699 - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", 5700 - "dev": true, 5701 - "dependencies": { 5702 - "available-typed-arrays": "^1.0.7", 5703 - "call-bind": "^1.0.8", 5704 - "call-bound": "^1.0.4", 5705 - "for-each": "^0.3.5", 5706 - "get-proto": "^1.0.1", 5707 - "gopd": "^1.2.0", 5708 - "has-tostringtag": "^1.0.2" 5709 - }, 5710 - "engines": { 5711 - "node": ">= 0.4" 5712 - }, 5713 - "funding": { 5714 - "url": "https://github.com/sponsors/ljharb" 5715 - } 5716 - }, 5717 - "node_modules/word-wrap": { 5718 - "version": "1.2.5", 5719 - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", 5720 - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", 5721 - "dev": true, 5722 - "engines": { 5723 - "node": ">=0.10.0" 5724 - } 5725 - }, 5726 - "node_modules/yallist": { 5727 - "version": "5.0.0", 5728 - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", 5729 - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", 5730 - "dev": true, 5731 - "engines": { 5732 - "node": ">=18" 5733 - } 5734 - }, 5735 - "node_modules/yocto-queue": { 5736 - "version": "0.1.0", 5737 - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 5738 - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 5739 - "dev": true, 5740 - "engines": { 5741 - "node": ">=10" 5742 - }, 5743 - "funding": { 5744 - "url": "https://github.com/sponsors/sindresorhus" 5745 - } 5746 - } 5747 - } 5748 - }
···
+20 -6
package.json
··· 4 "private": true, 5 "scripts": { 6 "dev": "next dev --turbopack", 7 "build": "next build", 8 "start": "next start", 9 "lint": "next lint" 10 }, 11 "dependencies": { 12 "react": "19.1.0", 13 "react-dom": "19.1.0", 14 - "next": "15.4.4" 15 }, 16 "devDependencies": { 17 - "typescript": "^5", 18 "@types/node": "^20", 19 "@types/react": "^19", 20 "@types/react-dom": "^19", 21 - "@tailwindcss/postcss": "^4", 22 - "tailwindcss": "^4", 23 "eslint": "^9", 24 "eslint-config-next": "15.4.4", 25 - "@eslint/eslintrc": "^3" 26 } 27 - }
··· 4 "private": true, 5 "scripts": { 6 "dev": "next dev --turbopack", 7 + "loopback": "next dev -H 127.0.0.1 -p 3000", 8 "build": "next build", 9 "start": "next start", 10 "lint": "next lint" 11 }, 12 "dependencies": { 13 + "@atproto/api": "^0.15.27", 14 + "@atproto/oauth-client-browser": "^0.3.27", 15 + "@radix-ui/react-avatar": "^1.1.10", 16 + "@radix-ui/react-dialog": "^1.1.14", 17 + "@radix-ui/react-dropdown-menu": "^2.1.15", 18 + "@radix-ui/react-slot": "^1.2.3", 19 + "@radix-ui/react-tabs": "^1.1.12", 20 + "class-variance-authority": "^0.7.1", 21 + "clsx": "^2.1.1", 22 + "lucide-react": "^0.526.0", 23 + "next": "15.4.4", 24 + "next-themes": "^0.4.6", 25 "react": "19.1.0", 26 "react-dom": "19.1.0", 27 + "tailwind-merge": "^3.3.1" 28 }, 29 "devDependencies": { 30 + "@eslint/eslintrc": "^3", 31 + "@tailwindcss/postcss": "^4", 32 "@types/node": "^20", 33 "@types/react": "^19", 34 "@types/react-dom": "^19", 35 "eslint": "^9", 36 "eslint-config-next": "15.4.4", 37 + "tailwindcss": "^4", 38 + "tw-animate-css": "^1.3.6", 39 + "typescript": "^5" 40 } 41 + }
+22
public/client-metadata.json
···
··· 1 + { 2 + "client_id": "https://my-app.com/client-metadata.json", 3 + "client_name": "My App", 4 + "client_uri": "https://my-app.com", 5 + "logo_uri": "https://my-app.com/logo.png", 6 + "tos_uri": "https://my-app.com/tos", 7 + "policy_uri": "https://my-app.com/policy", 8 + "redirect_uris": [ 9 + "https://my-app.com/callback" 10 + ], 11 + "scope": "atproto transition:generic", 12 + "grant_types": [ 13 + "authorization_code", 14 + "refresh_token" 15 + ], 16 + "response_types": [ 17 + "code" 18 + ], 19 + "token_endpoint_auth_method": "none", 20 + "application_type": "web", 21 + "dpop_bound_access_tokens": true 22 + }
+252
src/app/[did]/[uri]/page.tsx
···
··· 1 + "use client"; 2 + import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; 3 + import { Button } from "@/components/ui/button"; 4 + import { useAuth } from "@/lib/useAuth"; 5 + import { $Typed, AtUri } from "@atproto/api"; 6 + import { AppBskyEmbedImages, AppBskyFeedPost } from "@atproto/api/dist/client"; 7 + import { PostView } from "@atproto/api/dist/client/types/app/bsky/feed/defs"; 8 + import clsx from "clsx"; 9 + import { 10 + ExternalLink, 11 + Heart, 12 + LoaderCircle, 13 + MessagesSquare, 14 + Repeat, 15 + Repeat2, 16 + } from "lucide-react"; 17 + import Image, { ImageProps } from "next/image"; 18 + import Link from "next/link"; 19 + import { useParams, useSearchParams } from "next/navigation"; 20 + import { use, useEffect, useState } from "react"; 21 + 22 + function paramAsString(str: string | string[]): string { 23 + if (Array.isArray(str)) { 24 + return str[0]; 25 + } 26 + return str; 27 + } 28 + 29 + export default function PostPage({ 30 + params, 31 + }: { 32 + params: Promise<{ slug: string }>; 33 + }) { 34 + const { did, uri: rkey } = useParams(); 35 + const queryParams = useSearchParams(); 36 + const imageIndex = queryParams.get("image") ?? 0; 37 + const [loading, setLoading] = useState(true); 38 + const [post, setPost] = useState<PostView | null>(null); 39 + const [error, setError] = useState<Error | null>(null); 40 + const { agent } = useAuth(); 41 + 42 + useEffect(() => console.log("Agent", agent), [agent]); 43 + useEffect(() => { 44 + console.log("Effect triggered", { agent, did, rkey }); 45 + if (!agent || !did || !rkey) return; 46 + 47 + const fetchPost = async () => { 48 + try { 49 + setLoading(true); 50 + const urip = AtUri.make( 51 + decodeURIComponent(paramAsString(did)), 52 + "app.bsky.feed.post", 53 + paramAsString(rkey) 54 + ); 55 + 56 + if (!urip.host.startsWith("did:")) { 57 + const res = await agent.resolveHandle({ handle: urip.host }); 58 + urip.host = res.data.did; 59 + } 60 + 61 + const res = await agent.getPosts({ uris: [urip.toString()] }); 62 + 63 + if (res.success && res.data.posts[0]) { 64 + setPost(res.data.posts[0]); 65 + console.log("Post fetched", res.data.posts[0]); 66 + } else { 67 + throw new Error("Failed to fetch post"); 68 + } 69 + } catch (err) { 70 + setError(err instanceof Error ? err : new Error("Unknown error")); 71 + } finally { 72 + setLoading(false); 73 + } 74 + }; 75 + 76 + fetchPost(); 77 + }, [agent, did, rkey]); 78 + 79 + if (loading) 80 + return ( 81 + <div className="min-h-screen flex items-center justify-center"> 82 + <LoaderCircle className="animate-spin text-black/70 dark:text-white/70 w-8 h-8" /> 83 + </div> 84 + ); 85 + if (error) 86 + return ( 87 + <div className="min-h-screen flex items-center justify-center"> 88 + <p>Error: {error.message}</p> 89 + </div> 90 + ); 91 + if (!post) 92 + return ( 93 + <div className="min-h-screen flex items-center justify-center"> 94 + <p>No post found</p> 95 + </div> 96 + ); 97 + 98 + return ( 99 + <div className="min-h-screen py-4 px-4 sm:py-8 sm:px-6 lg:px-8"> 100 + <div className="max-w-4xl mx-auto"> 101 + <div className="relative rounded-lg overflow-hidden min-h-[80vh] text-black dark:text-white"> 102 + {/* Blurred Background Image - Full Container */} 103 + <BskyImage 104 + embed={post.embed} 105 + fill 106 + className="absolute inset-0 object-cover blur-lg scale-110 z-0 opacity-10" 107 + /> 108 + 109 + {/* Foreground Content */} 110 + <div className="relative z-10 bg-black/30 dark:bg-white/10 p-4 sm:p-6 lg:p-8 min-h-[80vh] flex flex-col"> 111 + {/* Centered Image */} 112 + <div className="flex-1 flex items-center justify-center py-4"> 113 + <div className="w-full max-w-2xl"> 114 + <BskyImage 115 + embed={post.embed} 116 + width={800} 117 + height={800} 118 + style={{ 119 + objectFit: "contain", 120 + width: "100%", 121 + height: "auto", 122 + maxHeight: "60vh", 123 + }} 124 + className="rounded-lg mb-4" 125 + /> 126 + </div> 127 + </div> 128 + 129 + {/* Author Info */} 130 + <div className="flex items-center mb-4 sm:mb-6"> 131 + <Avatar className="mr-4"> 132 + <AvatarImage src={post.author.avatar} /> 133 + <AvatarFallback> 134 + {post.author.displayName || post.author.handle} 135 + </AvatarFallback> 136 + </Avatar> 137 + <div> 138 + <p className="font-semibold text-base sm:text-lg"> 139 + {post.author.displayName || post.author.handle} 140 + </p> 141 + <p className="text-sm text-black/80 dark:text-white/80"> 142 + @{post.author.handle} 143 + </p> 144 + </div> 145 + </div> 146 + 147 + {/* Post Text */} 148 + {AppBskyFeedPost.isRecord(post.record) && 149 + typeof post.record.text === "string" && 150 + post.record.text && ( 151 + <p className="text-sm sm:text-base text-black/90 dark:text-white/90 leading-relaxed mb-4 sm:mb-6"> 152 + {post.record.text.length > 280 153 + ? post.record.text.slice(0, 280) + "…" 154 + : post.record.text} 155 + </p> 156 + )} 157 + 158 + {/* Bottom Section - Stats and External Link */} 159 + <div className="flex flex-col sm:flex-row justify-between items-start sm:items-center gap-4"> 160 + <div className="flex flex-wrap gap-4 sm:gap-6"> 161 + <div className="flex items-center gap-2"> 162 + <Heart 163 + className={clsx( 164 + "w-5 h-5", 165 + post.viewer?.like 166 + ? "fill-red-500 text-red-500" 167 + : "text-black/80 dark:text-white/80" 168 + )} 169 + /> 170 + <span className="text-sm font-medium text-black dark:text-white"> 171 + {post.likeCount || 0} 172 + </span> 173 + </div> 174 + 175 + <div className="flex items-center gap-2"> 176 + <MessagesSquare className="w-5 h-5 text-black/80 dark:text-white/80" /> 177 + <span className="text-sm font-medium text-black dark:text-white"> 178 + {post.replyCount || 0} 179 + </span> 180 + </div> 181 + 182 + <div className="flex items-center gap-2"> 183 + <Repeat 184 + className={clsx( 185 + "w-5 h-5", 186 + post.viewer?.repost 187 + ? "fill-blue-500 text-blue-500" 188 + : "text-black/80 dark:text-white/80" 189 + )} 190 + /> 191 + <span className="text-sm font-medium text-black dark:text-white"> 192 + {post.repostCount || 0} 193 + </span> 194 + </div> 195 + </div> 196 + 197 + {/* External Link */} 198 + <Link 199 + href={ 200 + "https://bsky.app/profile/" + 201 + post.author.did + 202 + "/post/" + 203 + post.uri.split("/").pop() 204 + } 205 + target="_blank" 206 + rel="noopener noreferrer" 207 + > 208 + <Button 209 + variant="outline" 210 + className="cursor-pointer flex items-center gap-2 text-sm font-medium px-4 py-2 dark:bg-white/10 bg-black/10 dark:border-white/20 border-black/15 text-black dark:text-white dark:hover:bg-white/20 hover:bg-black/15" 211 + > 212 + Open in Bluesky 213 + <ExternalLink className="w-4 h-4" /> 214 + </Button> 215 + </Link> 216 + </div> 217 + </div> 218 + </div> 219 + </div> 220 + </div> 221 + ); 222 + } 223 + 224 + type BskyImageProps = { 225 + embed: 226 + | $Typed<AppBskyEmbedImages.View> 227 + | { 228 + $type: string; 229 + } 230 + | undefined; 231 + imageIndex?: number; 232 + className?: string; 233 + width?: number; 234 + height?: number; 235 + } & Omit<ImageProps, "src" | "alt">; 236 + 237 + export function BskyImage({ embed, imageIndex = 0, ...props }: BskyImageProps) { 238 + if (!AppBskyEmbedImages.isView(embed)) return null; 239 + 240 + const image = embed.images?.[imageIndex]; 241 + if (!image) return null; 242 + 243 + return ( 244 + <Image 245 + src={image.fullsize} 246 + alt={image.alt || "Post Image"} 247 + placeholder="blur" 248 + blurDataURL={image.thumb} 249 + {...props} 250 + /> 251 + ); 252 + }
+109 -13
src/app/globals.css
··· 1 @import "tailwindcss"; 2 3 - :root { 4 - --background: #ffffff; 5 - --foreground: #171717; 6 - } 7 8 @theme inline { 9 --color-background: var(--background); 10 --color-foreground: var(--foreground); 11 --font-sans: var(--font-geist-sans); 12 --font-mono: var(--font-geist-mono); 13 } 14 15 - @media (prefers-color-scheme: dark) { 16 - :root { 17 - --background: #0a0a0a; 18 - --foreground: #ededed; 19 - } 20 } 21 22 - body { 23 - background: var(--background); 24 - color: var(--foreground); 25 - font-family: Arial, Helvetica, sans-serif; 26 }
··· 1 @import "tailwindcss"; 2 + @import "tw-animate-css"; 3 4 + @custom-variant dark (&:is(.dark *)); 5 6 @theme inline { 7 --color-background: var(--background); 8 --color-foreground: var(--foreground); 9 --font-sans: var(--font-geist-sans); 10 --font-mono: var(--font-geist-mono); 11 + --color-sidebar-ring: var(--sidebar-ring); 12 + --color-sidebar-border: var(--sidebar-border); 13 + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); 14 + --color-sidebar-accent: var(--sidebar-accent); 15 + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); 16 + --color-sidebar-primary: var(--sidebar-primary); 17 + --color-sidebar-foreground: var(--sidebar-foreground); 18 + --color-sidebar: var(--sidebar); 19 + --color-chart-5: var(--chart-5); 20 + --color-chart-4: var(--chart-4); 21 + --color-chart-3: var(--chart-3); 22 + --color-chart-2: var(--chart-2); 23 + --color-chart-1: var(--chart-1); 24 + --color-ring: var(--ring); 25 + --color-input: var(--input); 26 + --color-border: var(--border); 27 + --color-destructive: var(--destructive); 28 + --color-accent-foreground: var(--accent-foreground); 29 + --color-accent: var(--accent); 30 + --color-muted-foreground: var(--muted-foreground); 31 + --color-muted: var(--muted); 32 + --color-secondary-foreground: var(--secondary-foreground); 33 + --color-secondary: var(--secondary); 34 + --color-primary-foreground: var(--primary-foreground); 35 + --color-primary: var(--primary); 36 + --color-popover-foreground: var(--popover-foreground); 37 + --color-popover: var(--popover); 38 + --color-card-foreground: var(--card-foreground); 39 + --color-card: var(--card); 40 + --radius-sm: calc(var(--radius) - 4px); 41 + --radius-md: calc(var(--radius) - 2px); 42 + --radius-lg: var(--radius); 43 + --radius-xl: calc(var(--radius) + 4px); 44 } 45 46 + :root { 47 + --radius: 0.625rem; 48 + --background: oklch(1 0 0); 49 + --foreground: oklch(0.147 0.004 49.25); 50 + --card: oklch(1 0 0); 51 + --card-foreground: oklch(0.147 0.004 49.25); 52 + --popover: oklch(1 0 0); 53 + --popover-foreground: oklch(0.147 0.004 49.25); 54 + --primary: oklch(0.216 0.006 56.043); 55 + --primary-foreground: oklch(0.985 0.001 106.423); 56 + --secondary: oklch(0.97 0.001 106.424); 57 + --secondary-foreground: oklch(0.216 0.006 56.043); 58 + --muted: oklch(0.97 0.001 106.424); 59 + --muted-foreground: oklch(0.553 0.013 58.071); 60 + --accent: oklch(0.97 0.001 106.424); 61 + --accent-foreground: oklch(0.216 0.006 56.043); 62 + --destructive: oklch(0.577 0.245 27.325); 63 + --border: oklch(0.923 0.003 48.717); 64 + --input: oklch(0.923 0.003 48.717); 65 + --ring: oklch(0.709 0.01 56.259); 66 + --chart-1: oklch(0.646 0.222 41.116); 67 + --chart-2: oklch(0.6 0.118 184.704); 68 + --chart-3: oklch(0.398 0.07 227.392); 69 + --chart-4: oklch(0.828 0.189 84.429); 70 + --chart-5: oklch(0.769 0.188 70.08); 71 + --sidebar: oklch(0.985 0.001 106.423); 72 + --sidebar-foreground: oklch(0.147 0.004 49.25); 73 + --sidebar-primary: oklch(0.216 0.006 56.043); 74 + --sidebar-primary-foreground: oklch(0.985 0.001 106.423); 75 + --sidebar-accent: oklch(0.97 0.001 106.424); 76 + --sidebar-accent-foreground: oklch(0.216 0.006 56.043); 77 + --sidebar-border: oklch(0.923 0.003 48.717); 78 + --sidebar-ring: oklch(0.709 0.01 56.259); 79 } 80 81 + .dark { 82 + --background: oklch(0.147 0.004 49.25); 83 + --foreground: oklch(0.985 0.001 106.423); 84 + --card: oklch(0.216 0.006 56.043); 85 + --card-foreground: oklch(0.985 0.001 106.423); 86 + --popover: oklch(0.216 0.006 56.043); 87 + --popover-foreground: oklch(0.985 0.001 106.423); 88 + --primary: oklch(0.923 0.003 48.717); 89 + --primary-foreground: oklch(0.216 0.006 56.043); 90 + --secondary: oklch(0.268 0.007 34.298); 91 + --secondary-foreground: oklch(0.985 0.001 106.423); 92 + --muted: oklch(0.268 0.007 34.298); 93 + --muted-foreground: oklch(0.709 0.01 56.259); 94 + --accent: oklch(0.268 0.007 34.298); 95 + --accent-foreground: oklch(0.985 0.001 106.423); 96 + --destructive: oklch(0.704 0.191 22.216); 97 + --border: oklch(1 0 0 / 10%); 98 + --input: oklch(1 0 0 / 15%); 99 + --ring: oklch(0.553 0.013 58.071); 100 + --chart-1: oklch(0.488 0.243 264.376); 101 + --chart-2: oklch(0.696 0.17 162.48); 102 + --chart-3: oklch(0.769 0.188 70.08); 103 + --chart-4: oklch(0.627 0.265 303.9); 104 + --chart-5: oklch(0.645 0.246 16.439); 105 + --sidebar: oklch(0.216 0.006 56.043); 106 + --sidebar-foreground: oklch(0.985 0.001 106.423); 107 + --sidebar-primary: oklch(0.488 0.243 264.376); 108 + --sidebar-primary-foreground: oklch(0.985 0.001 106.423); 109 + --sidebar-accent: oklch(0.268 0.007 34.298); 110 + --sidebar-accent-foreground: oklch(0.985 0.001 106.423); 111 + --sidebar-border: oklch(1 0 0 / 10%); 112 + --sidebar-ring: oklch(0.553 0.013 58.071); 113 + } 114 + 115 + @layer base { 116 + * { 117 + @apply border-border outline-ring/50; 118 + } 119 + body { 120 + @apply bg-background text-foreground; 121 + } 122 }
+20 -6
src/app/layout.tsx
··· 1 import type { Metadata } from "next"; 2 - import { Geist, Geist_Mono } from "next/font/google"; 3 import "./globals.css"; 4 5 const geistSans = Geist({ 6 variable: "--font-geist-sans", ··· 12 subsets: ["latin"], 13 }); 14 15 export const metadata: Metadata = { 16 title: "Create Next App", 17 description: "Generated by create next app", ··· 23 children: React.ReactNode; 24 }>) { 25 return ( 26 - <html lang="en"> 27 - <body 28 - className={`${geistSans.variable} ${geistMono.variable} antialiased`} 29 - > 30 - {children} 31 </body> 32 </html> 33 );
··· 1 import type { Metadata } from "next"; 2 + import { Geist, Geist_Mono, Inter } from "next/font/google"; 3 import "./globals.css"; 4 + import { ThemeProvider } from "next-themes"; 5 + import { Navbar } from "@/nav/navbar"; 6 + import { AuthProvider } from "@/lib/useAuth"; 7 + import { ProfileProvider } from "@/lib/useProfile"; 8 9 const geistSans = Geist({ 10 variable: "--font-geist-sans", ··· 16 subsets: ["latin"], 17 }); 18 19 + const inter = Inter({ subsets: ["latin"] }); 20 + 21 export const metadata: Metadata = { 22 title: "Create Next App", 23 description: "Generated by create next app", ··· 29 children: React.ReactNode; 30 }>) { 31 return ( 32 + <html lang="en" suppressHydrationWarning> 33 + <head /> 34 + <body className={`${inter.className} ${geistMono.variable} antialiased`}> 35 + <ThemeProvider attribute="class" defaultTheme="system" enableSystem> 36 + <AuthProvider> 37 + <ProfileProvider> 38 + <div className="min-h-screen flex flex-col"> 39 + <Navbar /> 40 + <main className="flex-1 container py-6">{children}</main> 41 + </div> 42 + </ProfileProvider> 43 + </AuthProvider> 44 + </ThemeProvider> 45 </body> 46 </html> 47 );
+171 -94
src/app/page.tsx
··· 1 import Image from "next/image"; 2 3 export default function Home() { 4 return ( 5 <div className="font-sans grid grid-rows-[20px_1fr_20px] items-center justify-items-center min-h-screen p-8 pb-20 gap-16 sm:p-20"> 6 - <main className="flex flex-col gap-[32px] row-start-2 items-center sm:items-start"> 7 - <Image 8 - className="dark:invert" 9 - src="/next.svg" 10 - alt="Next.js logo" 11 - width={180} 12 - height={38} 13 - priority 14 - /> 15 - <ol className="font-mono list-inside list-decimal text-sm/6 text-center sm:text-left"> 16 - <li className="mb-2 tracking-[-.01em]"> 17 - Get started by editing{" "} 18 - <code className="bg-black/[.05] dark:bg-white/[.06] font-mono font-semibold px-1 py-0.5 rounded"> 19 - src/app/page.tsx 20 - </code> 21 - . 22 - </li> 23 - <li className="tracking-[-.01em]"> 24 - Save and see your changes instantly. 25 - </li> 26 - </ol> 27 - 28 - <div className="flex gap-4 items-center flex-col sm:flex-row"> 29 - <a 30 - className="rounded-full border border-solid border-transparent transition-colors flex items-center justify-center bg-foreground text-background gap-2 hover:bg-[#383838] dark:hover:bg-[#ccc] font-medium text-sm sm:text-base h-10 sm:h-12 px-4 sm:px-5 sm:w-auto" 31 - href="https://vercel.com/new?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app" 32 - target="_blank" 33 - rel="noopener noreferrer" 34 - > 35 - <Image 36 - className="dark:invert" 37 - src="/vercel.svg" 38 - alt="Vercel logomark" 39 - width={20} 40 - height={20} 41 - /> 42 - Deploy now 43 - </a> 44 - <a 45 - className="rounded-full border border-solid border-black/[.08] dark:border-white/[.145] transition-colors flex items-center justify-center hover:bg-[#f2f2f2] dark:hover:bg-[#1a1a1a] hover:border-transparent font-medium text-sm sm:text-base h-10 sm:h-12 px-4 sm:px-5 w-full sm:w-auto md:w-[158px]" 46 - href="https://nextjs.org/docs?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app" 47 - target="_blank" 48 - rel="noopener noreferrer" 49 - > 50 - Read our docs 51 - </a> 52 - </div> 53 </main> 54 - <footer className="row-start-3 flex gap-[24px] flex-wrap items-center justify-center"> 55 - <a 56 - className="flex items-center gap-2 hover:underline hover:underline-offset-4" 57 - href="https://nextjs.org/learn?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app" 58 - target="_blank" 59 - rel="noopener noreferrer" 60 - > 61 - <Image 62 - aria-hidden 63 - src="/file.svg" 64 - alt="File icon" 65 - width={16} 66 - height={16} 67 - /> 68 - Learn 69 - </a> 70 - <a 71 - className="flex items-center gap-2 hover:underline hover:underline-offset-4" 72 - href="https://vercel.com/templates?framework=next.js&utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app" 73 - target="_blank" 74 - rel="noopener noreferrer" 75 - > 76 - <Image 77 - aria-hidden 78 - src="/window.svg" 79 - alt="Window icon" 80 - width={16} 81 - height={16} 82 - /> 83 - Examples 84 - </a> 85 - <a 86 - className="flex items-center gap-2 hover:underline hover:underline-offset-4" 87 - href="https://nextjs.org?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app" 88 - target="_blank" 89 - rel="noopener noreferrer" 90 - > 91 - <Image 92 - aria-hidden 93 - src="/globe.svg" 94 - alt="Globe icon" 95 - width={16} 96 - height={16} 97 - /> 98 - Go to nextjs.org → 99 - </a> 100 - </footer> 101 </div> 102 ); 103 }
··· 1 + "use client"; 2 + import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; 3 + import { useAuth } from "@/lib/useAuth"; 4 + import { 5 + AppBskyEmbedImages, 6 + AppBskyFeedDefs, 7 + AppBskyFeedPost, 8 + } from "@atproto/api"; 9 + import { LoaderCircle } from "lucide-react"; 10 import Image from "next/image"; 11 + import { useEffect, useRef, useState, useCallback } from "react"; 12 + import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; 13 + import Link from "next/link"; 14 15 export default function Home() { 16 + const [timeline, setTimeline] = useState<AppBskyFeedDefs.FeedViewPost[]>([]); 17 + const [cursor, setCursor] = useState<string | null>(null); 18 + const [loading, setLoading] = useState(false); 19 + const { agent } = useAuth(); 20 + const sentinelRef = useRef<HTMLDivElement>(null); 21 + 22 + const seenImageUrls = new Set<string>(); 23 + 24 + const fetchFeed = useCallback(async () => { 25 + if (!agent || loading) return []; 26 + setLoading(true); 27 + try { 28 + const response = await agent.getTimeline({ 29 + cursor: cursor ?? undefined, 30 + limit: 100, 31 + }); 32 + if (!response.success) throw new Error("Failed to fetch timeline"); 33 + 34 + const nextCursor = response.data.cursor || null; 35 + setCursor(nextCursor); 36 + 37 + const filtered = response.data.feed.filter((it) => { 38 + // Filter out reposts 39 + if (it.reason?.$type === "app.bsky.feed.defs#reasonRepost") 40 + return false; 41 + 42 + // Must be an image embed 43 + if ( 44 + !( 45 + AppBskyEmbedImages.isMain(it.post.embed) || 46 + AppBskyEmbedImages.isView(it.post.embed) 47 + ) 48 + ) { 49 + return false; 50 + } 51 + 52 + // Check for new image URLs (to avoid repeats) 53 + const images = (it.post.embed as AppBskyEmbedImages.View)?.images || []; 54 + const hasNewImage = images.some( 55 + (img) => !seenImageUrls.has(img.fullsize) 56 + ); 57 + if (!hasNewImage) return false; 58 + 59 + // Add seen image URLs 60 + images.forEach((img) => seenImageUrls.add(img.fullsize)); 61 + return true; 62 + }); 63 + 64 + return filtered; 65 + } catch (err) { 66 + console.error("Error fetching timeline", err); 67 + return []; 68 + } finally { 69 + setLoading(false); 70 + } 71 + }, [agent, cursor, loading]); 72 + 73 + // Initial + fill up to 15 images 74 + useEffect(() => { 75 + if (!agent) return; 76 + 77 + const loadMinimumPosts = async () => { 78 + let accumulated: AppBskyFeedDefs.FeedViewPost[] = []; 79 + let newCursor = cursor; 80 + 81 + while ( 82 + accumulated.flatMap( 83 + (p) => (p.post.embed as AppBskyEmbedImages.View)?.images || [] 84 + ).length < 15 85 + ) { 86 + const batch = await fetchFeed(); 87 + if (batch.length === 0) break; 88 + accumulated = [...accumulated, ...batch]; 89 + newCursor = cursor; 90 + } 91 + 92 + setTimeline(accumulated); 93 + }; 94 + 95 + loadMinimumPosts(); 96 + }, [agent]); 97 + 98 + // Load more on scroll to sentinel 99 + useEffect(() => { 100 + const observer = new IntersectionObserver( 101 + async (entries) => { 102 + const entry = entries[0]; 103 + if (entry.isIntersecting && !loading && cursor) { 104 + const more = await fetchFeed(); 105 + setTimeline((prev) => [...prev, ...more]); 106 + } 107 + }, 108 + { 109 + rootMargin: "200px", 110 + } 111 + ); 112 + 113 + const sentinel = sentinelRef.current; 114 + if (sentinel) observer.observe(sentinel); 115 + return () => { 116 + if (sentinel) observer.unobserve(sentinel); 117 + }; 118 + }, [fetchFeed, cursor, loading]); 119 + 120 return ( 121 <div className="font-sans grid grid-rows-[20px_1fr_20px] items-center justify-items-center min-h-screen p-8 pb-20 gap-16 sm:p-20"> 122 + <main className="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-6 row-start-2"> 123 + {timeline.flatMap((post) => { 124 + if (!AppBskyEmbedImages.isView(post.post.embed)) return; 125 + const images = post.post.embed.images || []; 126 + if (images.length === 0) return []; 127 + const t: string = (post.post.record.text as string) || ""; 128 + const maxLength = 100; 129 + return images.map((image, index) => ( 130 + <Link 131 + href={`/${post.post.author.did}/${post.post.uri 132 + .split("/") 133 + .pop()}?image=${index}`} 134 + key={image.fullsize} 135 + > 136 + <div className="group relative w-[200px] h-[200px] overflow-hidden rounded-xl"> 137 + <Image 138 + src={image.fullsize} 139 + alt={image.alt} 140 + placeholder="blur" 141 + blurDataURL={image.thumb} 142 + fill 143 + style={{ objectFit: "cover" }} 144 + sizes="200px" 145 + /> 146 + <div className="absolute inset-0 bg-black/40 text-white opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex flex-col justify-end p-3"> 147 + <div className="text-sm mb-1"> 148 + {AppBskyFeedPost.isRecord(post.post.record) && ( 149 + <> 150 + {t.length > maxLength ? t.slice(0, maxLength) + "…" : t} 151 + </> 152 + )} 153 + </div> 154 + <div className="text-xs flex gap-2"> 155 + <Avatar> 156 + <AvatarImage src={post.post.author.avatar} /> 157 + <AvatarFallback> 158 + {post.post.author.displayName || 159 + post.post.author.handle} 160 + </AvatarFallback> 161 + </Avatar> 162 + {post.post.author.displayName || post.post.author.handle} 163 + </div> 164 + </div> 165 + </div> 166 + </Link> 167 + )); 168 + })} 169 + <div ref={sentinelRef} className="h-1 col-span-full" /> 170 + {loading && ( 171 + <div className="col-span-full flex justify-center text-sm text-black/70 dark:text-white/70"> 172 + <LoaderCircle className="animate-spin" /> 173 + </div> 174 + )} 175 </main> 176 + 177 + <footer className="row-start-3 flex gap-[24px] flex-wrap items-center justify-center"></footer> 178 </div> 179 ); 180 }
+53
src/components/ui/avatar.tsx
···
··· 1 + "use client" 2 + 3 + import * as React from "react" 4 + import * as AvatarPrimitive from "@radix-ui/react-avatar" 5 + 6 + import { cn } from "@/lib/utils" 7 + 8 + function Avatar({ 9 + className, 10 + ...props 11 + }: React.ComponentProps<typeof AvatarPrimitive.Root>) { 12 + return ( 13 + <AvatarPrimitive.Root 14 + data-slot="avatar" 15 + className={cn( 16 + "relative flex size-8 shrink-0 overflow-hidden rounded-full", 17 + className 18 + )} 19 + {...props} 20 + /> 21 + ) 22 + } 23 + 24 + function AvatarImage({ 25 + className, 26 + ...props 27 + }: React.ComponentProps<typeof AvatarPrimitive.Image>) { 28 + return ( 29 + <AvatarPrimitive.Image 30 + data-slot="avatar-image" 31 + className={cn("aspect-square size-full", className)} 32 + {...props} 33 + /> 34 + ) 35 + } 36 + 37 + function AvatarFallback({ 38 + className, 39 + ...props 40 + }: React.ComponentProps<typeof AvatarPrimitive.Fallback>) { 41 + return ( 42 + <AvatarPrimitive.Fallback 43 + data-slot="avatar-fallback" 44 + className={cn( 45 + "bg-muted flex size-full items-center justify-center rounded-full", 46 + className 47 + )} 48 + {...props} 49 + /> 50 + ) 51 + } 52 + 53 + export { Avatar, AvatarImage, AvatarFallback }
+59
src/components/ui/button.tsx
···
··· 1 + import * as React from "react" 2 + import { Slot } from "@radix-ui/react-slot" 3 + import { cva, type VariantProps } from "class-variance-authority" 4 + 5 + import { cn } from "@/lib/utils" 6 + 7 + const buttonVariants = cva( 8 + "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", 9 + { 10 + variants: { 11 + variant: { 12 + default: 13 + "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90", 14 + destructive: 15 + "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60", 16 + outline: 17 + "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50", 18 + secondary: 19 + "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80", 20 + ghost: 21 + "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50", 22 + link: "text-primary underline-offset-4 hover:underline", 23 + }, 24 + size: { 25 + default: "h-9 px-4 py-2 has-[>svg]:px-3", 26 + sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5", 27 + lg: "h-10 rounded-md px-6 has-[>svg]:px-4", 28 + icon: "size-9", 29 + }, 30 + }, 31 + defaultVariants: { 32 + variant: "default", 33 + size: "default", 34 + }, 35 + } 36 + ) 37 + 38 + function Button({ 39 + className, 40 + variant, 41 + size, 42 + asChild = false, 43 + ...props 44 + }: React.ComponentProps<"button"> & 45 + VariantProps<typeof buttonVariants> & { 46 + asChild?: boolean 47 + }) { 48 + const Comp = asChild ? Slot : "button" 49 + 50 + return ( 51 + <Comp 52 + data-slot="button" 53 + className={cn(buttonVariants({ variant, size, className }))} 54 + {...props} 55 + /> 56 + ) 57 + } 58 + 59 + export { Button, buttonVariants }
+92
src/components/ui/card.tsx
···
··· 1 + import * as React from "react" 2 + 3 + import { cn } from "@/lib/utils" 4 + 5 + function Card({ className, ...props }: React.ComponentProps<"div">) { 6 + return ( 7 + <div 8 + data-slot="card" 9 + className={cn( 10 + "bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm", 11 + className 12 + )} 13 + {...props} 14 + /> 15 + ) 16 + } 17 + 18 + function CardHeader({ className, ...props }: React.ComponentProps<"div">) { 19 + return ( 20 + <div 21 + data-slot="card-header" 22 + className={cn( 23 + "@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6", 24 + className 25 + )} 26 + {...props} 27 + /> 28 + ) 29 + } 30 + 31 + function CardTitle({ className, ...props }: React.ComponentProps<"div">) { 32 + return ( 33 + <div 34 + data-slot="card-title" 35 + className={cn("leading-none font-semibold", className)} 36 + {...props} 37 + /> 38 + ) 39 + } 40 + 41 + function CardDescription({ className, ...props }: React.ComponentProps<"div">) { 42 + return ( 43 + <div 44 + data-slot="card-description" 45 + className={cn("text-muted-foreground text-sm", className)} 46 + {...props} 47 + /> 48 + ) 49 + } 50 + 51 + function CardAction({ className, ...props }: React.ComponentProps<"div">) { 52 + return ( 53 + <div 54 + data-slot="card-action" 55 + className={cn( 56 + "col-start-2 row-span-2 row-start-1 self-start justify-self-end", 57 + className 58 + )} 59 + {...props} 60 + /> 61 + ) 62 + } 63 + 64 + function CardContent({ className, ...props }: React.ComponentProps<"div">) { 65 + return ( 66 + <div 67 + data-slot="card-content" 68 + className={cn("px-6", className)} 69 + {...props} 70 + /> 71 + ) 72 + } 73 + 74 + function CardFooter({ className, ...props }: React.ComponentProps<"div">) { 75 + return ( 76 + <div 77 + data-slot="card-footer" 78 + className={cn("flex items-center px-6 [.border-t]:pt-6", className)} 79 + {...props} 80 + /> 81 + ) 82 + } 83 + 84 + export { 85 + Card, 86 + CardHeader, 87 + CardFooter, 88 + CardTitle, 89 + CardAction, 90 + CardDescription, 91 + CardContent, 92 + }
+143
src/components/ui/dialog.tsx
···
··· 1 + "use client" 2 + 3 + import * as React from "react" 4 + import * as DialogPrimitive from "@radix-ui/react-dialog" 5 + import { XIcon } from "lucide-react" 6 + 7 + import { cn } from "@/lib/utils" 8 + 9 + function Dialog({ 10 + ...props 11 + }: React.ComponentProps<typeof DialogPrimitive.Root>) { 12 + return <DialogPrimitive.Root data-slot="dialog" {...props} /> 13 + } 14 + 15 + function DialogTrigger({ 16 + ...props 17 + }: React.ComponentProps<typeof DialogPrimitive.Trigger>) { 18 + return <DialogPrimitive.Trigger data-slot="dialog-trigger" {...props} /> 19 + } 20 + 21 + function DialogPortal({ 22 + ...props 23 + }: React.ComponentProps<typeof DialogPrimitive.Portal>) { 24 + return <DialogPrimitive.Portal data-slot="dialog-portal" {...props} /> 25 + } 26 + 27 + function DialogClose({ 28 + ...props 29 + }: React.ComponentProps<typeof DialogPrimitive.Close>) { 30 + return <DialogPrimitive.Close data-slot="dialog-close" {...props} /> 31 + } 32 + 33 + function DialogOverlay({ 34 + className, 35 + ...props 36 + }: React.ComponentProps<typeof DialogPrimitive.Overlay>) { 37 + return ( 38 + <DialogPrimitive.Overlay 39 + data-slot="dialog-overlay" 40 + className={cn( 41 + "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50", 42 + className 43 + )} 44 + {...props} 45 + /> 46 + ) 47 + } 48 + 49 + function DialogContent({ 50 + className, 51 + children, 52 + showCloseButton = true, 53 + ...props 54 + }: React.ComponentProps<typeof DialogPrimitive.Content> & { 55 + showCloseButton?: boolean 56 + }) { 57 + return ( 58 + <DialogPortal data-slot="dialog-portal"> 59 + <DialogOverlay /> 60 + <DialogPrimitive.Content 61 + data-slot="dialog-content" 62 + className={cn( 63 + "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg", 64 + className 65 + )} 66 + {...props} 67 + > 68 + {children} 69 + {showCloseButton && ( 70 + <DialogPrimitive.Close 71 + data-slot="dialog-close" 72 + className="ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4" 73 + > 74 + <XIcon /> 75 + <span className="sr-only">Close</span> 76 + </DialogPrimitive.Close> 77 + )} 78 + </DialogPrimitive.Content> 79 + </DialogPortal> 80 + ) 81 + } 82 + 83 + function DialogHeader({ className, ...props }: React.ComponentProps<"div">) { 84 + return ( 85 + <div 86 + data-slot="dialog-header" 87 + className={cn("flex flex-col gap-2 text-center sm:text-left", className)} 88 + {...props} 89 + /> 90 + ) 91 + } 92 + 93 + function DialogFooter({ className, ...props }: React.ComponentProps<"div">) { 94 + return ( 95 + <div 96 + data-slot="dialog-footer" 97 + className={cn( 98 + "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", 99 + className 100 + )} 101 + {...props} 102 + /> 103 + ) 104 + } 105 + 106 + function DialogTitle({ 107 + className, 108 + ...props 109 + }: React.ComponentProps<typeof DialogPrimitive.Title>) { 110 + return ( 111 + <DialogPrimitive.Title 112 + data-slot="dialog-title" 113 + className={cn("text-lg leading-none font-semibold", className)} 114 + {...props} 115 + /> 116 + ) 117 + } 118 + 119 + function DialogDescription({ 120 + className, 121 + ...props 122 + }: React.ComponentProps<typeof DialogPrimitive.Description>) { 123 + return ( 124 + <DialogPrimitive.Description 125 + data-slot="dialog-description" 126 + className={cn("text-muted-foreground text-sm", className)} 127 + {...props} 128 + /> 129 + ) 130 + } 131 + 132 + export { 133 + Dialog, 134 + DialogClose, 135 + DialogContent, 136 + DialogDescription, 137 + DialogFooter, 138 + DialogHeader, 139 + DialogOverlay, 140 + DialogPortal, 141 + DialogTitle, 142 + DialogTrigger, 143 + }
+257
src/components/ui/dropdown-menu.tsx
···
··· 1 + "use client" 2 + 3 + import * as React from "react" 4 + import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu" 5 + import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react" 6 + 7 + import { cn } from "@/lib/utils" 8 + 9 + function DropdownMenu({ 10 + ...props 11 + }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) { 12 + return <DropdownMenuPrimitive.Root data-slot="dropdown-menu" {...props} /> 13 + } 14 + 15 + function DropdownMenuPortal({ 16 + ...props 17 + }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) { 18 + return ( 19 + <DropdownMenuPrimitive.Portal data-slot="dropdown-menu-portal" {...props} /> 20 + ) 21 + } 22 + 23 + function DropdownMenuTrigger({ 24 + ...props 25 + }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) { 26 + return ( 27 + <DropdownMenuPrimitive.Trigger 28 + data-slot="dropdown-menu-trigger" 29 + {...props} 30 + /> 31 + ) 32 + } 33 + 34 + function DropdownMenuContent({ 35 + className, 36 + sideOffset = 4, 37 + ...props 38 + }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) { 39 + return ( 40 + <DropdownMenuPrimitive.Portal> 41 + <DropdownMenuPrimitive.Content 42 + data-slot="dropdown-menu-content" 43 + sideOffset={sideOffset} 44 + className={cn( 45 + "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md", 46 + className 47 + )} 48 + {...props} 49 + /> 50 + </DropdownMenuPrimitive.Portal> 51 + ) 52 + } 53 + 54 + function DropdownMenuGroup({ 55 + ...props 56 + }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) { 57 + return ( 58 + <DropdownMenuPrimitive.Group data-slot="dropdown-menu-group" {...props} /> 59 + ) 60 + } 61 + 62 + function DropdownMenuItem({ 63 + className, 64 + inset, 65 + variant = "default", 66 + ...props 67 + }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & { 68 + inset?: boolean 69 + variant?: "default" | "destructive" 70 + }) { 71 + return ( 72 + <DropdownMenuPrimitive.Item 73 + data-slot="dropdown-menu-item" 74 + data-inset={inset} 75 + data-variant={variant} 76 + className={cn( 77 + "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", 78 + className 79 + )} 80 + {...props} 81 + /> 82 + ) 83 + } 84 + 85 + function DropdownMenuCheckboxItem({ 86 + className, 87 + children, 88 + checked, 89 + ...props 90 + }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) { 91 + return ( 92 + <DropdownMenuPrimitive.CheckboxItem 93 + data-slot="dropdown-menu-checkbox-item" 94 + className={cn( 95 + "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", 96 + className 97 + )} 98 + checked={checked} 99 + {...props} 100 + > 101 + <span className="pointer-events-none absolute left-2 flex size-3.5 items-center justify-center"> 102 + <DropdownMenuPrimitive.ItemIndicator> 103 + <CheckIcon className="size-4" /> 104 + </DropdownMenuPrimitive.ItemIndicator> 105 + </span> 106 + {children} 107 + </DropdownMenuPrimitive.CheckboxItem> 108 + ) 109 + } 110 + 111 + function DropdownMenuRadioGroup({ 112 + ...props 113 + }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) { 114 + return ( 115 + <DropdownMenuPrimitive.RadioGroup 116 + data-slot="dropdown-menu-radio-group" 117 + {...props} 118 + /> 119 + ) 120 + } 121 + 122 + function DropdownMenuRadioItem({ 123 + className, 124 + children, 125 + ...props 126 + }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) { 127 + return ( 128 + <DropdownMenuPrimitive.RadioItem 129 + data-slot="dropdown-menu-radio-item" 130 + className={cn( 131 + "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", 132 + className 133 + )} 134 + {...props} 135 + > 136 + <span className="pointer-events-none absolute left-2 flex size-3.5 items-center justify-center"> 137 + <DropdownMenuPrimitive.ItemIndicator> 138 + <CircleIcon className="size-2 fill-current" /> 139 + </DropdownMenuPrimitive.ItemIndicator> 140 + </span> 141 + {children} 142 + </DropdownMenuPrimitive.RadioItem> 143 + ) 144 + } 145 + 146 + function DropdownMenuLabel({ 147 + className, 148 + inset, 149 + ...props 150 + }: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & { 151 + inset?: boolean 152 + }) { 153 + return ( 154 + <DropdownMenuPrimitive.Label 155 + data-slot="dropdown-menu-label" 156 + data-inset={inset} 157 + className={cn( 158 + "px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", 159 + className 160 + )} 161 + {...props} 162 + /> 163 + ) 164 + } 165 + 166 + function DropdownMenuSeparator({ 167 + className, 168 + ...props 169 + }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) { 170 + return ( 171 + <DropdownMenuPrimitive.Separator 172 + data-slot="dropdown-menu-separator" 173 + className={cn("bg-border -mx-1 my-1 h-px", className)} 174 + {...props} 175 + /> 176 + ) 177 + } 178 + 179 + function DropdownMenuShortcut({ 180 + className, 181 + ...props 182 + }: React.ComponentProps<"span">) { 183 + return ( 184 + <span 185 + data-slot="dropdown-menu-shortcut" 186 + className={cn( 187 + "text-muted-foreground ml-auto text-xs tracking-widest", 188 + className 189 + )} 190 + {...props} 191 + /> 192 + ) 193 + } 194 + 195 + function DropdownMenuSub({ 196 + ...props 197 + }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) { 198 + return <DropdownMenuPrimitive.Sub data-slot="dropdown-menu-sub" {...props} /> 199 + } 200 + 201 + function DropdownMenuSubTrigger({ 202 + className, 203 + inset, 204 + children, 205 + ...props 206 + }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & { 207 + inset?: boolean 208 + }) { 209 + return ( 210 + <DropdownMenuPrimitive.SubTrigger 211 + data-slot="dropdown-menu-sub-trigger" 212 + data-inset={inset} 213 + className={cn( 214 + "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8", 215 + className 216 + )} 217 + {...props} 218 + > 219 + {children} 220 + <ChevronRightIcon className="ml-auto size-4" /> 221 + </DropdownMenuPrimitive.SubTrigger> 222 + ) 223 + } 224 + 225 + function DropdownMenuSubContent({ 226 + className, 227 + ...props 228 + }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) { 229 + return ( 230 + <DropdownMenuPrimitive.SubContent 231 + data-slot="dropdown-menu-sub-content" 232 + className={cn( 233 + "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg", 234 + className 235 + )} 236 + {...props} 237 + /> 238 + ) 239 + } 240 + 241 + export { 242 + DropdownMenu, 243 + DropdownMenuPortal, 244 + DropdownMenuTrigger, 245 + DropdownMenuContent, 246 + DropdownMenuGroup, 247 + DropdownMenuLabel, 248 + DropdownMenuItem, 249 + DropdownMenuCheckboxItem, 250 + DropdownMenuRadioGroup, 251 + DropdownMenuRadioItem, 252 + DropdownMenuSeparator, 253 + DropdownMenuShortcut, 254 + DropdownMenuSub, 255 + DropdownMenuSubTrigger, 256 + DropdownMenuSubContent, 257 + }
+21
src/components/ui/input.tsx
···
··· 1 + import * as React from "react" 2 + 3 + import { cn } from "@/lib/utils" 4 + 5 + function Input({ className, type, ...props }: React.ComponentProps<"input">) { 6 + return ( 7 + <input 8 + type={type} 9 + data-slot="input" 10 + className={cn( 11 + "file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", 12 + "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", 13 + "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", 14 + className 15 + )} 16 + {...props} 17 + /> 18 + ) 19 + } 20 + 21 + export { Input }
+16
src/components/ui/login.tsx
···
··· 1 + // components/LoginButton.tsx 2 + "use client"; 3 + import { useAuth } from "@/lib/useAuth"; 4 + 5 + export default function LoginButton() { 6 + const { login, loading, session } = useAuth(); 7 + 8 + if (loading) return <p>Loading...</p>; 9 + if (session) return <p>Signed in as {session.sub}</p>; 10 + 11 + return ( 12 + <button onClick={() => login("your.handle.bsky.social")}> 13 + Sign in with Bluesky 14 + </button> 15 + ); 16 + }
+66
src/components/ui/tabs.tsx
···
··· 1 + "use client" 2 + 3 + import * as React from "react" 4 + import * as TabsPrimitive from "@radix-ui/react-tabs" 5 + 6 + import { cn } from "@/lib/utils" 7 + 8 + function Tabs({ 9 + className, 10 + ...props 11 + }: React.ComponentProps<typeof TabsPrimitive.Root>) { 12 + return ( 13 + <TabsPrimitive.Root 14 + data-slot="tabs" 15 + className={cn("flex flex-col gap-2", className)} 16 + {...props} 17 + /> 18 + ) 19 + } 20 + 21 + function TabsList({ 22 + className, 23 + ...props 24 + }: React.ComponentProps<typeof TabsPrimitive.List>) { 25 + return ( 26 + <TabsPrimitive.List 27 + data-slot="tabs-list" 28 + className={cn( 29 + "bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]", 30 + className 31 + )} 32 + {...props} 33 + /> 34 + ) 35 + } 36 + 37 + function TabsTrigger({ 38 + className, 39 + ...props 40 + }: React.ComponentProps<typeof TabsPrimitive.Trigger>) { 41 + return ( 42 + <TabsPrimitive.Trigger 43 + data-slot="tabs-trigger" 44 + className={cn( 45 + "data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", 46 + className 47 + )} 48 + {...props} 49 + /> 50 + ) 51 + } 52 + 53 + function TabsContent({ 54 + className, 55 + ...props 56 + }: React.ComponentProps<typeof TabsPrimitive.Content>) { 57 + return ( 58 + <TabsPrimitive.Content 59 + data-slot="tabs-content" 60 + className={cn("flex-1 outline-none", className)} 61 + {...props} 62 + /> 63 + ) 64 + } 65 + 66 + export { Tabs, TabsList, TabsTrigger, TabsContent }
+124
src/lib/useAuth.tsx
···
··· 1 + "use client"; 2 + 3 + import { 4 + createContext, 5 + useContext, 6 + useEffect, 7 + useState, 8 + useCallback, 9 + ReactNode, 10 + } from "react"; 11 + import { 12 + BrowserOAuthClient, 13 + AtprotoDohHandleResolver, 14 + type OAuthSession, 15 + } from "@atproto/oauth-client-browser"; 16 + import { Agent } from "@atproto/api"; 17 + 18 + type AuthContextType = { 19 + session: OAuthSession | null; 20 + agent: Agent | null; 21 + loading: boolean; 22 + login: (handle: string) => Promise<void>; 23 + logout: () => void; 24 + }; 25 + 26 + const AuthContext = createContext<AuthContextType | null>(null); 27 + 28 + export function AuthProvider({ children }: { children: ReactNode }) { 29 + const [session, setSession] = useState<OAuthSession | null>(null); 30 + const [agent, setAgent] = useState<Agent | null>(null); 31 + const [loading, setLoading] = useState(true); 32 + const [client, setClient] = useState<BrowserOAuthClient | null>(null); 33 + 34 + useEffect(() => { 35 + const initClient = async () => { 36 + const isDev = process.env.NODE_ENV === "development"; 37 + const handleResolver = new AtprotoDohHandleResolver({ 38 + dohEndpoint: "https://dns.google/resolve", 39 + }); 40 + 41 + const c = isDev 42 + ? new BrowserOAuthClient({ 43 + handleResolver, 44 + clientMetadata: { 45 + client_name: "Statusphere React App", 46 + client_id: `http://localhost?scope=${encodeURI( 47 + "atproto transition:generic transition:chat.bsky" 48 + )}`, 49 + client_uri: "http://127.0.0.1:3000", 50 + redirect_uris: ["http://127.0.0.1:3000"], 51 + scope: "atproto transition:generic", 52 + grant_types: ["authorization_code", "refresh_token"], 53 + response_types: ["code"], 54 + application_type: "web", 55 + token_endpoint_auth_method: "none", 56 + dpop_bound_access_tokens: true, 57 + }, // loopback client 58 + }) 59 + : await BrowserOAuthClient.load({ 60 + handleResolver, 61 + clientId: "https://yourdomain.com/client-metadata.json", 62 + }); 63 + 64 + setClient(c); 65 + 66 + try { 67 + const result = await c.init(); 68 + if (result?.session) { 69 + const ag = new Agent(result.session); 70 + setSession(result.session); 71 + setAgent(ag); 72 + } 73 + } catch (err) { 74 + console.error("OAuth init failed", err); 75 + } finally { 76 + setLoading(false); 77 + } 78 + 79 + c.addEventListener("deleted", (event: CustomEvent) => { 80 + console.warn("Session invalidated", event.detail); 81 + setSession(null); 82 + setAgent(null); 83 + }); 84 + }; 85 + 86 + initClient(); 87 + }, []); 88 + 89 + const login = useCallback( 90 + async (handle: string) => { 91 + if (!client) return; 92 + try { 93 + await client.signIn(handle, { 94 + scope: "atproto transition:generic", 95 + ui_locales: "en", // Only supported by some OAuth servers (requires OpenID Connect support + i18n support) 96 + signal: new AbortController().signal, 97 + }); 98 + } catch (e) { 99 + console.warn("Login aborted or failed", e); 100 + } 101 + }, 102 + [client] 103 + ); 104 + 105 + const logout = useCallback(() => { 106 + if (client && session) { 107 + client.revoke(session.sub); 108 + setSession(null); 109 + setAgent(null); 110 + } 111 + }, [client, session]); 112 + 113 + return ( 114 + <AuthContext.Provider value={{ session, agent, loading, login, logout }}> 115 + {children} 116 + </AuthContext.Provider> 117 + ); 118 + } 119 + 120 + export function useAuth() { 121 + const ctx = useContext(AuthContext); 122 + if (!ctx) throw new Error("useAuth must be used inside <AuthProvider>"); 123 + return ctx; 124 + }
+72
src/lib/useProfile.tsx
···
··· 1 + "use client"; 2 + 3 + import { 4 + createContext, 5 + useContext, 6 + useState, 7 + useEffect, 8 + ReactNode, 9 + } from "react"; 10 + import { AppBskyActorDefs } from "@atproto/api"; 11 + import { useAuth } from "./useAuth"; 12 + 13 + type Profile = AppBskyActorDefs.ProfileViewDetailed; 14 + 15 + type ProfileContextType = { 16 + profile: Profile | null; 17 + loading: boolean; 18 + error: Error | null; 19 + }; 20 + 21 + const ProfileContext = createContext<ProfileContextType | null>(null); 22 + 23 + export function ProfileProvider({ children }: { children: ReactNode }) { 24 + const { agent, loading: authLoading, session } = useAuth(); 25 + const [profile, setProfile] = useState<Profile | null>(null); 26 + const [loading, setLoading] = useState(true); 27 + const [error, setError] = useState<Error | null>(null); 28 + 29 + useEffect(() => { 30 + const fetchProfile = async () => { 31 + if (!agent || authLoading || !session?.did) 32 + return console.warn( 33 + "No agent or session available", 34 + !agent, 35 + authLoading, 36 + session?.did 37 + ); 38 + 39 + setLoading(true); 40 + setError(null); 41 + 42 + try { 43 + const res = await agent.getProfile({ 44 + actor: session!.did, 45 + }); 46 + setProfile(res.data); 47 + } catch (err) { 48 + setError( 49 + err instanceof Error ? err : new Error("Failed to fetch profile") 50 + ); 51 + setProfile(null); 52 + console.error("Error fetching profile:", err); 53 + } finally { 54 + setLoading(false); 55 + } 56 + }; 57 + 58 + fetchProfile(); 59 + }, [agent, authLoading, session]); 60 + 61 + return ( 62 + <ProfileContext.Provider value={{ profile, loading, error }}> 63 + {children} 64 + </ProfileContext.Provider> 65 + ); 66 + } 67 + 68 + export function useProfile() { 69 + const ctx = useContext(ProfileContext); 70 + if (!ctx) throw new Error("useProfile must be used inside <ProfileProvider>"); 71 + return ctx; 72 + }
+6
src/lib/utils.ts
···
··· 1 + import { clsx, type ClassValue } from "clsx" 2 + import { twMerge } from "tailwind-merge" 3 + 4 + export function cn(...inputs: ClassValue[]) { 5 + return twMerge(clsx(inputs)) 6 + }
+22
src/nav/ModeToggle.tsx
···
··· 1 + "use client"; 2 + 3 + import { useTheme } from "next-themes"; 4 + import { Moon, Sun } from "lucide-react"; 5 + import { Button } from "@/components/ui/button"; 6 + 7 + export function ModeToggle() { 8 + const { theme, setTheme } = useTheme(); 9 + 10 + return ( 11 + <Button 12 + variant="ghost" 13 + size="icon" 14 + className="cursor-pointer" 15 + onClick={() => setTheme(theme === "dark" ? "light" : "dark")} 16 + > 17 + <Sun className="h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" /> 18 + <Moon className="absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" /> 19 + <span className="sr-only">Toggle theme</span> 20 + </Button> 21 + ); 22 + }
+154
src/nav/navbar.tsx
···
··· 1 + "use client"; 2 + 3 + import Link from "next/link"; 4 + import { Button } from "@/components/ui/button"; 5 + import { ModeToggle } from "./ModeToggle"; // for dark mode toggle 6 + import { Menu, X } from "lucide-react"; 7 + import { useState } from "react"; 8 + import { useAuth } from "@/lib/useAuth"; 9 + import { 10 + Dialog, 11 + DialogContent, 12 + DialogDescription, 13 + DialogFooter, 14 + DialogHeader, 15 + DialogTitle, 16 + DialogTrigger, 17 + } from "@/components/ui/dialog"; 18 + import { Input } from "@/components/ui/input"; 19 + import { useProfile } from "@/lib/useProfile"; 20 + import { 21 + DropdownMenu, 22 + DropdownMenuContent, 23 + DropdownMenuItem, 24 + DropdownMenuLabel, 25 + DropdownMenuSeparator, 26 + DropdownMenuTrigger, 27 + } from "@/components/ui/dropdown-menu"; 28 + import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; 29 + 30 + export function Navbar() { 31 + const [open, setOpen] = useState(false); 32 + const { session, logout } = useAuth(); 33 + const { profile, loading } = useProfile(); 34 + 35 + return ( 36 + <header className="border-b border-border bg-background/90 backdrop-blur-[200px] sticky top-0 z-50"> 37 + <div className="container flex items-center justify-between h-16"> 38 + <Link 39 + href="/" 40 + className="text-xl font-bold pl-5 hover:text-black/70 dark:hover:text-white/70 transition-colors" 41 + > 42 + Scribble 43 + </Link> 44 + 45 + <nav className="hidden md:flex gap-4"> 46 + {/* <Link href="/explore" className="hover:underline"> 47 + Explore 48 + </Link> 49 + <Link href="/profile" className="hover:underline"> 50 + Profile 51 + </Link> 52 + <Link href="/settings" className="hover:underline"> 53 + Settings 54 + </Link> */} 55 + </nav> 56 + 57 + <div className="flex items-center gap-2"> 58 + <ModeToggle /> 59 + {session ? ( 60 + <DropdownMenu> 61 + <DropdownMenuTrigger className="cursor-pointer"> 62 + <Button variant="ghost" size="icon" className="cursor-pointer"> 63 + {loading ? ( 64 + <span className="loader"></span> 65 + ) : ( 66 + <Avatar className="w-6 h-6"> 67 + <AvatarImage src={profile?.avatar} /> 68 + <AvatarFallback> 69 + {profile?.displayName || profile?.handle} 70 + </AvatarFallback> 71 + </Avatar> 72 + )} 73 + </Button> 74 + </DropdownMenuTrigger> 75 + <DropdownMenuContent> 76 + <DropdownMenuLabel>My Account</DropdownMenuLabel> 77 + <DropdownMenuSeparator /> 78 + {/* <DropdownMenuItem>Profile</DropdownMenuItem> */} 79 + <DropdownMenuItem className="cursor-pointer" onClick={logout}> 80 + Logout 81 + </DropdownMenuItem> 82 + </DropdownMenuContent> 83 + </DropdownMenu> 84 + ) : ( 85 + <LoginButton /> 86 + )} 87 + <Button 88 + variant="ghost" 89 + className="block md:hidden cursor-pointer" 90 + onClick={() => setOpen(!open)} 91 + aria-label="Toggle Menu" 92 + > 93 + {open ? <X className="w-5 h-5" /> : <Menu className="w-5 h-5" />} 94 + </Button> 95 + </div> 96 + </div> 97 + 98 + {/* Mobile nav */} 99 + {open && ( 100 + <div className="md:hidden border-t border-border bg-background px-4 pb-4"> 101 + <nav className="flex flex-col gap-2 mt-2"> 102 + <Link href="/explore" onClick={() => setOpen(false)}> 103 + Explore 104 + </Link> 105 + <Link href="/profile" onClick={() => setOpen(false)}> 106 + Profile 107 + </Link> 108 + <Link href="/settings" onClick={() => setOpen(false)}> 109 + Settings 110 + </Link> 111 + </nav> 112 + </div> 113 + )} 114 + </header> 115 + ); 116 + } 117 + 118 + function LoginButton() { 119 + const { login } = useAuth(); 120 + const [handle, setHandle] = useState(""); 121 + return ( 122 + <Dialog> 123 + <DialogTrigger> 124 + <Button size="sm" className="cursor-pointer"> 125 + Login 126 + </Button> 127 + </DialogTrigger> 128 + <DialogContent> 129 + <DialogHeader> 130 + <DialogTitle>Login with your handle on the Atmosphere</DialogTitle> 131 + <DialogDescription className="pt-5"> 132 + <Input 133 + value={handle} 134 + onChange={(e) => setHandle(e.target.value)} 135 + placeholder="example.bsky.social" 136 + className="text-white" 137 + /> 138 + </DialogDescription> 139 + </DialogHeader> 140 + <DialogFooter> 141 + <Button 142 + onClick={() => { 143 + login(handle); 144 + }} 145 + disabled={!handle} 146 + className="cursor-pointer" 147 + > 148 + Sign In 149 + </Button> 150 + </DialogFooter> 151 + </DialogContent> 152 + </Dialog> 153 + ); 154 + }
+3
tailwind.config.js
···
··· 1 + module.exports = { 2 + darkMode: "selector", 3 + };