From 02e6d7b3b33d6e8ad4fcd01415ebb5e2fa1ea590 Mon Sep 17 00:00:00 2001 From: sktbrd Date: Fri, 1 May 2026 15:48:31 -0300 Subject: [PATCH 01/96] =?UTF-8?q?feat:=20PR=20#0=20=E2=80=94=20scaffold=20?= =?UTF-8?q?App=20Router=20+=20Tailwind=20v4=20+=20theme=20system?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Foundation for the Milestone 1 redesign. Replaces Pages Router / Vanilla Extract / @buildeross/dao-ui page-level setup with the stack the design brief specifies (Next.js 15 App Router, Tailwind v4, CSS-variable theme tokens, light + dark via next-themes). What ships - App Router tree (src/app/) with layout, providers, and stub pages for every route in the brief: /, /auction/[id], /proposals, /proposals/[id], /treasury, /members, /about. - Tailwind v4 + globals.css with the design's theme token surface (--accent, --radius, --bg/surface/fg/muted-fg, vote-for/against/abstain). - Sticky Header (logo, chain pill, nav, theme toggle, RainbowKit Connect, mobile sheet) and Footer composed in app/layout.tsx. - TweaksPanel — dev-only floating widget for live theme tweaks (DAO preset, accent, radius, display font, light/dark). Persists to localStorage. Only mounts when NODE_ENV !== 'production'. - DaoLogo (3 styles), Button (shadcn-style with cva), PageStub primitives. - src/lib/dao.config.ts — typed config surface per the brief (identity, theme, chainId, addresses, features, socials). - src/lib/mockData.ts — ports PRESETS / PROPOSALS / AUCTION / ACTIVITY / MEMBERS / CONTRACTS from the design package. Used by upcoming PRs. - API routes migrated from Pages → App Router route handlers (api/pinata/*, api/simulate, api/ai/generateTxSummary). - next.config redirects: /token/:id → /auction/:id, /proposal/:id → /proposals/:id, /contracts → /about. What this PR removes - @buildeross/{dao-ui,auction-ui,proposal-ui,create-proposal-ui,zord,ui*} page-level UI packages — page bodies will be authored from scratch in PRs #1–#7 against @buildeross/sdk + @buildeross/hooks (gnars.com approach). - @vanilla-extract/* — replaced by Tailwind v4. - @fontsource/{inter,londrina-solid} + PT Root UI — replaced by next/font (Geist + Geist Mono). - Pages Router files (src/pages/*) and the legacy Header/Layout components. - /settings page + useSettingsAccess hook — out of scope for milestone 1. (* @buildeross/ui kept — still used for shared atoms.) Page bodies land in subsequent PRs: PR #1 dashboard · #2 auction · #3 proposals list · #4 proposal detail · #5 treasury · #6 members · #7 about · #8 docs + fork checklist. Verified: pnpm type-check passes, dev server boots, all 7 routes return 200, /token/X → /auction/X redirect works. Co-Authored-By: Claude Opus 4.7 (1M context) --- next.config.ts | 41 +- package.json | 20 +- pnpm-lock.yaml | 3417 +++-------------- postcss.config.mjs | 5 + public/fonts/pt-root-ui_bold.ttf | Bin 177368 -> 0 bytes public/fonts/pt-root-ui_bold.woff2 | Bin 55440 -> 0 bytes public/fonts/pt-root-ui_medium.ttf | Bin 177556 -> 0 bytes public/fonts/pt-root-ui_medium.woff2 | Bin 55396 -> 0 bytes public/fonts/pt-root-ui_regular.ttf | Bin 177328 -> 0 bytes public/fonts/pt-root-ui_regular.woff2 | Bin 55316 -> 0 bytes src/app/about/page.tsx | 17 + .../api/ai/generateTxSummary/route.ts} | 104 +- src/app/api/pinata/generate-jwt/route.ts | 11 + src/app/api/pinata/pin-cid/route.ts | 11 + src/app/api/pinata/pin-json/route.ts | 10 + src/app/api/pinata/upload-url/route.ts | 10 + src/app/api/simulate/route.ts | 31 + src/app/auction/[id]/page.tsx | 19 + src/app/globals.css | 106 + src/app/layout.tsx | 55 + src/app/members/page.tsx | 16 + src/app/page.tsx | 45 + src/app/proposals/[id]/page.tsx | 19 + src/app/proposals/page.tsx | 17 + src/app/providers.tsx | 58 + src/app/treasury/page.tsx | 19 + src/components/DaoLogo.tsx | 86 + src/components/Footer.tsx | 24 + src/components/Header.tsx | 159 + src/components/Header/Header.css.ts | 118 - src/components/Header/Header.tsx | 192 - src/components/Header/index.ts | 1 - src/components/Layout/Layout.css.ts | 18 - src/components/Layout/Layout.tsx | 18 - src/components/Layout/index.ts | 1 - src/components/LinksProvider.tsx | 120 - src/components/PageStub.tsx | 34 + src/components/TweaksPanel.tsx | 255 ++ src/components/ui/button.tsx | 59 + src/hooks/useSettingsAccess.ts | 30 - src/lib/dao.config.ts | 74 + src/lib/mockData.ts | 274 ++ src/lib/utils.ts | 6 + src/pages/_app.tsx | 99 - src/pages/_document.tsx | 38 - src/pages/about.tsx | 34 - src/pages/api/pinata/generate-jwt.ts | 16 - src/pages/api/pinata/pin-cid.ts | 16 - src/pages/api/pinata/pin-json.ts | 15 - src/pages/api/pinata/upload-url.ts | 16 - src/pages/api/simulate.ts | 35 - src/pages/contracts.tsx | 27 - src/pages/index.tsx | 113 - src/pages/proposal/[proposalId].tsx | 259 -- src/pages/proposal/create.tsx | 198 - src/pages/proposal/review.tsx | 139 - src/pages/proposals.tsx | 41 - src/pages/settings.tsx | 76 - src/pages/token/[tokenId].tsx | 112 - src/pages/token/index.tsx | 67 - src/pages/treasury.tsx | 27 - src/styles/connect.css.ts | 20 - src/styles/globals.css | 78 - src/styles/home.css.ts | 204 - src/styles/styles.css.ts | 16 - src/utils/api/error.ts | 122 +- src/utils/api/rateLimit.ts | 121 +- src/utils/clientConfig.ts | 1 + 68 files changed, 2158 insertions(+), 5232 deletions(-) create mode 100644 postcss.config.mjs delete mode 100644 public/fonts/pt-root-ui_bold.ttf delete mode 100644 public/fonts/pt-root-ui_bold.woff2 delete mode 100644 public/fonts/pt-root-ui_medium.ttf delete mode 100644 public/fonts/pt-root-ui_medium.woff2 delete mode 100644 public/fonts/pt-root-ui_regular.ttf delete mode 100644 public/fonts/pt-root-ui_regular.woff2 create mode 100644 src/app/about/page.tsx rename src/{pages/api/ai/generateTxSummary.ts => app/api/ai/generateTxSummary/route.ts} (80%) create mode 100644 src/app/api/pinata/generate-jwt/route.ts create mode 100644 src/app/api/pinata/pin-cid/route.ts create mode 100644 src/app/api/pinata/pin-json/route.ts create mode 100644 src/app/api/pinata/upload-url/route.ts create mode 100644 src/app/api/simulate/route.ts create mode 100644 src/app/auction/[id]/page.tsx create mode 100644 src/app/globals.css create mode 100644 src/app/layout.tsx create mode 100644 src/app/members/page.tsx create mode 100644 src/app/page.tsx create mode 100644 src/app/proposals/[id]/page.tsx create mode 100644 src/app/proposals/page.tsx create mode 100644 src/app/providers.tsx create mode 100644 src/app/treasury/page.tsx create mode 100644 src/components/DaoLogo.tsx create mode 100644 src/components/Footer.tsx create mode 100644 src/components/Header.tsx delete mode 100644 src/components/Header/Header.css.ts delete mode 100644 src/components/Header/Header.tsx delete mode 100644 src/components/Header/index.ts delete mode 100644 src/components/Layout/Layout.css.ts delete mode 100644 src/components/Layout/Layout.tsx delete mode 100644 src/components/Layout/index.ts delete mode 100644 src/components/LinksProvider.tsx create mode 100644 src/components/PageStub.tsx create mode 100644 src/components/TweaksPanel.tsx create mode 100644 src/components/ui/button.tsx delete mode 100644 src/hooks/useSettingsAccess.ts create mode 100644 src/lib/dao.config.ts create mode 100644 src/lib/mockData.ts create mode 100644 src/lib/utils.ts delete mode 100644 src/pages/_app.tsx delete mode 100644 src/pages/_document.tsx delete mode 100644 src/pages/about.tsx delete mode 100644 src/pages/api/pinata/generate-jwt.ts delete mode 100644 src/pages/api/pinata/pin-cid.ts delete mode 100644 src/pages/api/pinata/pin-json.ts delete mode 100644 src/pages/api/pinata/upload-url.ts delete mode 100644 src/pages/api/simulate.ts delete mode 100644 src/pages/contracts.tsx delete mode 100644 src/pages/index.tsx delete mode 100644 src/pages/proposal/[proposalId].tsx delete mode 100644 src/pages/proposal/create.tsx delete mode 100644 src/pages/proposal/review.tsx delete mode 100644 src/pages/proposals.tsx delete mode 100644 src/pages/settings.tsx delete mode 100644 src/pages/token/[tokenId].tsx delete mode 100644 src/pages/token/index.tsx delete mode 100644 src/pages/treasury.tsx delete mode 100644 src/styles/connect.css.ts delete mode 100644 src/styles/globals.css delete mode 100644 src/styles/home.css.ts delete mode 100644 src/styles/styles.css.ts diff --git a/next.config.ts b/next.config.ts index 4b3ffb6f0..294411718 100644 --- a/next.config.ts +++ b/next.config.ts @@ -1,8 +1,5 @@ -import { createVanillaExtractPlugin } from '@vanilla-extract/next-plugin' import type { NextConfig } from 'next' -const withVanillaExtract = createVanillaExtractPlugin() - const nextConfig: NextConfig = { reactStrictMode: true, transpilePackages: [ @@ -12,36 +9,42 @@ const nextConfig: NextConfig = { '@buildeross/sdk', '@buildeross/types', '@buildeross/utils', - '@buildeross/zord', - '@buildeross/ui', '@buildeross/stores', - '@buildeross/auction-ui', - '@buildeross/proposal-ui', - '@buildeross/dao-ui', - '@buildeross/create-proposal-ui', + '@buildeross/ui', '@rainbow-me/rainbowkit', ], experimental: { optimizePackageImports: [ '@rainbow-me/rainbowkit', - '@buildeross/zord', '@buildeross/hooks', '@buildeross/ui', '@buildeross/sdk', + 'lucide-react', ], }, - webpack(config, { dev }) { + async redirects() { + return [ + { source: '/token/:tokenId', destination: '/auction/:tokenId', permanent: true }, + { + source: '/proposal/:proposalId', + destination: '/proposals/:proposalId', + permanent: true, + }, + { source: '/contracts', destination: '/about', permanent: true }, + ] + }, + webpack(config) { config.resolve.fallback = { fs: false, net: false, tls: false } - + // Optional React Native peer pulled in transitively by @metamask/sdk — + // not needed in a web build, alias it away. + config.resolve.alias = { + ...(config.resolve.alias || {}), + '@react-native-async-storage/async-storage': false, + } config.externals = config.externals || [] config.externals.push('pino-pretty') - - return { - ...config, - // Hot-fix for $RefreshReg issues: https://github.com/vanilla-extract-css/vanilla-extract/issues/679#issuecomment-1402839249 - mode: dev ? 'production' : config.mode, - } + return config }, } -export default withVanillaExtract(nextConfig) +export default nextConfig diff --git a/package.json b/package.json index e464711ca..6a47a90ef 100644 --- a/package.json +++ b/package.json @@ -13,36 +13,30 @@ }, "dependencies": { "@ai-sdk/gateway": "^2.0.1", - "@buildeross/auction-ui": "0.2.1", "@buildeross/constants": "0.2.1", - "@buildeross/create-proposal-ui": "0.2.1", - "@buildeross/dao-ui": "0.2.1", "@buildeross/hooks": "0.2.1", "@buildeross/ipfs-service": "0.2.1", - "@buildeross/proposal-ui": "0.2.1", "@buildeross/sdk": "0.2.1", "@buildeross/stores": "0.2.1", "@buildeross/types": "0.2.1", "@buildeross/ui": "0.2.1", "@buildeross/utils": "0.2.1", - "@buildeross/zord": "0.2.1", - "@fontsource/inter": "^5.2.8", - "@fontsource/londrina-solid": "^5.2.7", + "@radix-ui/react-slot": "^1.1.2", "@rainbow-me/rainbowkit": "^2.2.5", - "@smartinvoicexyz/types": "^0.1.27", "@tanstack/react-query": "^5.90.3", - "@vanilla-extract/css": "^1.17.2", - "@vanilla-extract/next-plugin": "^2.4.11", - "@vanilla-extract/recipes": "^0.5.7", "ai": "^5.0.80", "axios": "^1.12.2", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", "ioredis": "^5.8.1", + "lucide-react": "^0.469.0", "next": "^15.3.2", + "next-themes": "^0.4.4", "react": "^19.2.0", "react-dom": "^19.2.0", - "react-mde": "^11.5.0", "sharp": "^0.34.4", "swr": "^2.3.3", + "tailwind-merge": "^2.6.0", "to-ico": "^1.1.5", "viem": "^2.38.2", "wagmi": "^2.18.1" @@ -50,6 +44,7 @@ "packageManager": "pnpm@10.11.0", "devDependencies": { "@eslint/eslintrc": "^3.3.1", + "@tailwindcss/postcss": "^4.0.0", "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", @@ -65,6 +60,7 @@ "eslint-plugin-react": "7.37.5", "eslint-plugin-simple-import-sort": "^12.1.0", "eslint-plugin-unused-imports": "^4.3.0", + "tailwindcss": "^4.0.0", "tsx": "^4.20.6", "typescript": "^5" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 03f65c690..8eadab23c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,27 +11,15 @@ importers: '@ai-sdk/gateway': specifier: ^2.0.1 version: 2.0.1(zod@4.1.12) - '@buildeross/auction-ui': - specifier: 0.2.1 - version: 0.2.1(c9ae5cdf2b07f0bac9944517cffb353c) '@buildeross/constants': specifier: 0.2.1 version: 0.2.1(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12)) - '@buildeross/create-proposal-ui': - specifier: 0.2.1 - version: 0.2.1(c736f66ccb179f6c31d9de17145db021) - '@buildeross/dao-ui': - specifier: 0.2.1 - version: 0.2.1(0e25c020d2317340c3b4a863ccc780c7) '@buildeross/hooks': specifier: 0.2.1 version: 0.2.1(9462acc82b5989c9028c61f86b2f6543) '@buildeross/ipfs-service': specifier: 0.2.1 version: 0.2.1(@buildeross/constants@0.2.1(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12))) - '@buildeross/proposal-ui': - specifier: 0.2.1 - version: 0.2.1(ca580cc096943ddea41afa570dee71f5) '@buildeross/sdk': specifier: 0.2.1 version: 0.2.1(9221b806ea8c584e5427371ffbc221f5) @@ -47,60 +35,54 @@ importers: '@buildeross/utils': specifier: 0.2.1 version: 0.2.1(a505358f10def67b37ba69c90a14d9e5) - '@buildeross/zord': - specifier: 0.2.1 - version: 0.2.1(@types/react@19.2.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@fontsource/inter': - specifier: ^5.2.8 - version: 5.2.8 - '@fontsource/londrina-solid': - specifier: ^5.2.7 - version: 5.2.7 + '@radix-ui/react-slot': + specifier: ^1.1.2 + version: 1.2.4(@types/react@19.2.2)(react@19.2.0) '@rainbow-me/rainbowkit': specifier: ^2.2.5 version: 2.2.9(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12)) - '@smartinvoicexyz/types': - specifier: ^0.1.27 - version: 0.1.28(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@types/node@20.19.23)(@types/react@19.2.2)(bufferutil@4.0.9)(framer-motion@12.23.24(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(graphql@16.11.0)(react-dom@19.2.0(react@19.2.0))(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12) '@tanstack/react-query': specifier: ^5.90.3 version: 5.90.5(react@19.2.0) - '@vanilla-extract/css': - specifier: ^1.17.2 - version: 1.17.4(babel-plugin-macros@3.1.0) - '@vanilla-extract/next-plugin': - specifier: ^2.4.11 - version: 2.4.14(babel-plugin-macros@3.1.0)(next@15.5.6(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(webpack@5.102.1) - '@vanilla-extract/recipes': - specifier: ^0.5.7 - version: 0.5.7(@vanilla-extract/css@1.17.4(babel-plugin-macros@3.1.0)) ai: specifier: ^5.0.80 version: 5.0.80(zod@4.1.12) axios: specifier: ^1.12.2 version: 1.12.2 + class-variance-authority: + specifier: ^0.7.1 + version: 0.7.1 + clsx: + specifier: ^2.1.1 + version: 2.1.1 ioredis: specifier: ^5.8.1 version: 5.8.2 + lucide-react: + specifier: ^0.469.0 + version: 0.469.0(react@19.2.0) next: specifier: ^15.3.2 version: 15.5.6(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + next-themes: + specifier: ^0.4.4 + version: 0.4.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) react: specifier: ^19.2.0 version: 19.2.0 react-dom: specifier: ^19.2.0 version: 19.2.0(react@19.2.0) - react-mde: - specifier: ^11.5.0 - version: 11.5.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) sharp: specifier: ^0.34.4 version: 0.34.4 swr: specifier: ^2.3.3 version: 2.3.6(react@19.2.0) + tailwind-merge: + specifier: ^2.6.0 + version: 2.6.1 to-ico: specifier: ^1.1.5 version: 1.1.5 @@ -114,6 +96,9 @@ importers: '@eslint/eslintrc': specifier: ^3.3.1 version: 3.3.1 + '@tailwindcss/postcss': + specifier: ^4.0.0 + version: 4.2.4 '@types/node': specifier: ^20 version: 20.19.23 @@ -128,37 +113,40 @@ importers: version: 1.1.3 '@typescript-eslint/eslint-plugin': specifier: ^8.46.2 - version: 8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0)(typescript@5.9.3))(eslint@9.38.0)(typescript@5.9.3) + version: 8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': specifier: ^8.46.2 - version: 8.46.2(eslint@9.38.0)(typescript@5.9.3) + version: 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) dotenv: specifier: ^17.2.3 version: 17.2.3 eslint: specifier: 9.38.0 - version: 9.38.0 + version: 9.38.0(jiti@2.6.1) eslint-config-next: specifier: latest - version: 16.0.0(@typescript-eslint/parser@8.46.2(eslint@9.38.0)(typescript@5.9.3))(eslint@9.38.0)(typescript@5.9.3) + version: 16.0.0(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) eslint-config-prettier: specifier: 8.3.0 - version: 8.3.0(eslint@9.38.0) + version: 8.3.0(eslint@9.38.0(jiti@2.6.1)) eslint-plugin-import: specifier: ^2.32.0 - version: 2.32.0(@typescript-eslint/parser@8.46.2(eslint@9.38.0)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.38.0) + version: 2.32.0(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.38.0(jiti@2.6.1)) eslint-plugin-prettier: specifier: ^5.2.6 - version: 5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@8.3.0(eslint@9.38.0))(eslint@9.38.0)(prettier@3.6.2) + version: 5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@8.3.0(eslint@9.38.0(jiti@2.6.1)))(eslint@9.38.0(jiti@2.6.1))(prettier@3.6.2) eslint-plugin-react: specifier: 7.37.5 - version: 7.37.5(eslint@9.38.0) + version: 7.37.5(eslint@9.38.0(jiti@2.6.1)) eslint-plugin-simple-import-sort: specifier: ^12.1.0 - version: 12.1.1(eslint@9.38.0) + version: 12.1.1(eslint@9.38.0(jiti@2.6.1)) eslint-plugin-unused-imports: specifier: ^4.3.0 - version: 4.3.0(@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0)(typescript@5.9.3))(eslint@9.38.0)(typescript@5.9.3))(eslint@9.38.0) + version: 4.3.0(@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1)) + tailwindcss: + specifier: ^4.0.0 + version: 4.2.4 tsx: specifier: ^4.20.6 version: 4.20.6 @@ -168,9 +156,6 @@ importers: packages: - '@adraffy/ens-normalize@1.10.1': - resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} - '@adraffy/ens-normalize@1.11.1': resolution: {integrity: sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==} @@ -190,6 +175,10 @@ packages: resolution: {integrity: sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==} engines: {node: '>=18'} + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + '@apollo/client@3.14.0': resolution: {integrity: sha512-0YQKKRIxiMlIou+SekQqdCo0ZTHxOcES+K8vKB53cIDpwABNR0P0yRzPgsbgcj3zRJniD93S/ontsnZsCLZrxQ==} peerDependencies: @@ -242,10 +231,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-plugin-utils@7.27.1': - resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} - engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.27.1': resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} @@ -267,12 +252,6 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-syntax-typescript@7.27.1': - resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/runtime@7.28.4': resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} engines: {node: '>=6.9.0'} @@ -292,69 +271,12 @@ packages: '@base-org/account@1.1.1': resolution: {integrity: sha512-IfVJPrDPhHfqXRDb89472hXkpvJuQQR7FDI9isLPHEqSYt/45whIoBxSPgZ0ssTt379VhQo4+87PWI1DoLSfAQ==} - '@buildeross/auction-ui@0.2.1': - resolution: {integrity: sha512-mGgzvHsZjeErURR252f9aLe56n+H4Bvrex3NucycTzZbaDRyusONydV6RoCG3E9Wt1wUpJfOi5QChCbmk7/u8A==} - peerDependencies: - '@buildeross/constants': 0.2.1 - '@buildeross/hooks': 0.2.1 - '@buildeross/ipfs-service': 0.2.1 - '@buildeross/sdk': 0.2.1 - '@buildeross/stores': 0.2.1 - '@buildeross/types': 0.2.1 - '@buildeross/ui': 0.2.1 - '@buildeross/utils': 0.2.1 - '@buildeross/zord': 0.2.1 - react: ^19.2.0 - react-dom: ^19.2.0 - viem: ^2.38.2 - wagmi: ^2.18.1 - '@buildeross/constants@0.2.1': resolution: {integrity: sha512-2DaZJu+QSSmCd5C27+LcowkiLvFjG3FAVw13yvJdEMZEDa+xe0zPCeEITo5ddaCmX8mLPeXpVFSuwE/W4r1IBA==} peerDependencies: '@buildeross/types': 0.2.1 wagmi: ^2.18.1 - '@buildeross/create-proposal-ui@0.2.1': - resolution: {integrity: sha512-5FsfcdhRPb1wrNCqbklAaRk5j6gZxstrsPvEBW2b65EUaGzZbUuNfK0c+6eHTvPZfQwtZ2Vx1Q5tq1y2sJMnHA==} - peerDependencies: - '@buildeross/constants': 0.2.1 - '@buildeross/hooks': 0.2.1 - '@buildeross/ipfs-service': 0.2.1 - '@buildeross/proposal-ui': 0.2.1 - '@buildeross/sdk': 0.2.1 - '@buildeross/stores': 0.2.1 - '@buildeross/types': 0.2.1 - '@buildeross/ui': 0.2.1 - '@buildeross/utils': 0.2.1 - '@buildeross/zord': 0.2.1 - '@sentry/nextjs': ^9.22.0 - react: ^19.2.0 - react-dom: ^19.2.0 - viem: ^2.38.2 - wagmi: ^2.18.1 - peerDependenciesMeta: - '@sentry/nextjs': - optional: true - - '@buildeross/dao-ui@0.2.1': - resolution: {integrity: sha512-8ttZEaLg/SFLW1t+xnesFULOtzGmmEn5GxeHlPm5ot+BOip++9Z4+tXTFQ9yW6rRCiqYfdiE3rCOfQKF2U4TKg==} - peerDependencies: - '@buildeross/constants': 0.2.1 - '@buildeross/hooks': 0.2.1 - '@buildeross/ipfs-service': 0.2.1 - '@buildeross/proposal-ui': 0.2.1 - '@buildeross/sdk': 0.2.1 - '@buildeross/stores': 0.2.1 - '@buildeross/types': 0.2.1 - '@buildeross/ui': 0.2.1 - '@buildeross/utils': 0.2.1 - '@buildeross/zord': 0.2.1 - react: ^19.2.0 - react-dom: ^19.2.0 - viem: ^2.38.2 - wagmi: ^2.18.1 - '@buildeross/hooks@0.2.1': resolution: {integrity: sha512-OVm0SxS7Z4BZe8V7s7D5O4bskLUOf09uVeCJt0SYg4ybU7rC8ZoS6O065kG+nV4vm4NWn3p5EDpZ69406z9fmw==} peerDependencies: @@ -374,23 +296,6 @@ packages: peerDependencies: '@buildeross/constants': 0.2.1 - '@buildeross/proposal-ui@0.2.1': - resolution: {integrity: sha512-4//La/7xqDu5MljM2ODYo3lHHND1iesbYG6Mee6qJuatAk/QDp508cOm9abvZLIFmZkNczFa/qG7uXw9wVU5Qw==} - peerDependencies: - '@buildeross/constants': 0.2.1 - '@buildeross/hooks': 0.2.1 - '@buildeross/ipfs-service': 0.2.1 - '@buildeross/sdk': 0.2.1 - '@buildeross/stores': 0.2.1 - '@buildeross/types': 0.2.1 - '@buildeross/ui': 0.2.1 - '@buildeross/utils': 0.2.1 - '@buildeross/zord': 0.2.1 - react: ^19.2.0 - react-dom: ^19.2.0 - viem: ^2.38.2 - wagmi: ^2.18.1 - '@buildeross/sdk@0.2.1': resolution: {integrity: sha512-baUt0kYQHCcmK1vanZNihGac5VVDiinzfJlrKOXrt1hCq3nOzMHoA0NuqZALP8CfQIQiQixzQkCVwTnaXV6kdQ==} peerDependencies: @@ -755,12 +660,6 @@ packages: resolution: {integrity: sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@ethereum-attestation-service/eas-contracts@1.7.1': - resolution: {integrity: sha512-z2MeCrkp4JrtOMBHQt5fcdbxryC+xxofoPzzv3wcx5GbfG27PpkXRKxlSlb1l2jIT1YfDc701rixbP6vHaEN3Q==} - - '@ethereum-attestation-service/eas-sdk@2.9.0': - resolution: {integrity: sha512-jEtBlhfm0HFkl64jAa4rxOXjEQkblTHqSmLFhttPf9y+ALEOk4qgJzV9knnJ7Yh+jFs1jxbTrVeUGap03Fwy9g==} - '@ethereumjs/common@3.2.0': resolution: {integrity: sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA==} @@ -777,76 +676,6 @@ packages: resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} engines: {node: '>=14'} - '@ethersproject/abi@5.8.0': - resolution: {integrity: sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q==} - - '@ethersproject/abstract-provider@5.8.0': - resolution: {integrity: sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg==} - - '@ethersproject/abstract-signer@5.8.0': - resolution: {integrity: sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA==} - - '@ethersproject/address@5.8.0': - resolution: {integrity: sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA==} - - '@ethersproject/base64@5.8.0': - resolution: {integrity: sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ==} - - '@ethersproject/bignumber@5.8.0': - resolution: {integrity: sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA==} - - '@ethersproject/bytes@5.8.0': - resolution: {integrity: sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A==} - - '@ethersproject/constants@5.8.0': - resolution: {integrity: sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg==} - - '@ethersproject/hash@5.7.0': - resolution: {integrity: sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==} - - '@ethersproject/hash@5.8.0': - resolution: {integrity: sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA==} - - '@ethersproject/keccak256@5.8.0': - resolution: {integrity: sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng==} - - '@ethersproject/logger@5.8.0': - resolution: {integrity: sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA==} - - '@ethersproject/networks@5.8.0': - resolution: {integrity: sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg==} - - '@ethersproject/properties@5.8.0': - resolution: {integrity: sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw==} - - '@ethersproject/rlp@5.8.0': - resolution: {integrity: sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q==} - - '@ethersproject/signing-key@5.8.0': - resolution: {integrity: sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w==} - - '@ethersproject/strings@5.8.0': - resolution: {integrity: sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg==} - - '@ethersproject/transactions@5.7.0': - resolution: {integrity: sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==} - - '@ethersproject/transactions@5.8.0': - resolution: {integrity: sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg==} - - '@ethersproject/web@5.8.0': - resolution: {integrity: sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw==} - - '@fastify/busboy@2.1.1': - resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} - engines: {node: '>=14'} - - '@fontsource/inter@5.2.8': - resolution: {integrity: sha512-P6r5WnJoKiNVV+zvW2xM13gNdFhAEpQ9dQJHt3naLvfg+LkF2ldgSLiF4T41lf1SQCM9QmkqPTn4TH568IRagg==} - - '@fontsource/londrina-solid@5.2.7': - resolution: {integrity: sha512-jESt0e2k2MCjSttOYuhof05rr6THnI5MO+J4eYj0RcwblvI3NfZPfsUwfjDiYoOAZfIgnwOZVZd3F3ORgshtew==} - '@gemini-wallet/core@0.2.0': resolution: {integrity: sha512-vv9aozWnKrrPWQ3vIFcWk7yta4hQW1Ie0fsNNPeXnjAxkbXr2hqMagEptLuMxpEP2W3mnRu05VDNKzcvAuuZDw==} peerDependencies: @@ -1043,18 +872,10 @@ packages: '@lit/reactive-element@2.1.1': resolution: {integrity: sha512-N+dm5PAYdQ8e6UlywyyrgI2t++wFGXfHx+dSJ1oBrg6FAxUj40jId++EaRm80MKX5JnlH1sBsyZ5h0bcZKemCg==} - '@metamask/abi-utils@2.0.4': - resolution: {integrity: sha512-StnIgUB75x7a7AgUhiaUZDpCsqGp7VkNnZh2XivXkJ6mPkE83U8ARGQj5MbRis7VJY8BC5V1AbB1fjdh0hupPQ==} - engines: {node: '>=16.0.0'} - '@metamask/eth-json-rpc-provider@1.0.1': resolution: {integrity: sha512-whiUMPlAOrVGmX8aKYVPvlKyG4CpQXiNNyt74vE1xb5sPvmx5oA7B/kOi/JdBvhGQq97U1/AVdXEdk2zkP8qyA==} engines: {node: '>=14.0.0'} - '@metamask/eth-sig-util@4.0.1': - resolution: {integrity: sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==} - engines: {node: '>=12.0.0'} - '@metamask/json-rpc-engine@7.3.3': resolution: {integrity: sha512-dwZPq8wx9yV3IX2caLi9q9xZBw2XeIoYqdyihDDDpuHVCEiqadJLwqM3zy+uwf6F1QYQ65A8aOMQg1Uw7LMLNg==} engines: {node: '>=16.0.0'} @@ -1131,10 +952,6 @@ packages: resolution: {integrity: sha512-w8CVbdkDrVXFJbfBSlDfafDR6BAkpDmv1bC1UJVCoVny5tW2RKAdn9i68Xf7asYT4TnUhl/hN4zfUiKQq9II4g==} engines: {node: '>=16.0.0'} - '@msgpack/msgpack@3.1.2': - resolution: {integrity: sha512-JEW4DEtBzfe8HvUYecLU9e6+XJnKDlUAIve8FvPzF3Kzs6Xo/KuZkZJsDH0wJXl/qEZbeeE7edxDNY3kMs39hQ==} - engines: {node: '>= 18'} - '@napi-rs/wasm-runtime@0.2.12': resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} @@ -1200,9 +1017,6 @@ packages: resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==} engines: {node: ^14.21.3 || >=16} - '@noble/curves@1.2.0': - resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} - '@noble/curves@1.4.2': resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} @@ -1214,10 +1028,6 @@ packages: resolution: {integrity: sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ==} engines: {node: ^14.21.3 || >=16} - '@noble/curves@1.9.0': - resolution: {integrity: sha512-7YDlXiNMdO1YZeH6t/kvopHHbIZzlxrCV9WLqCY6QhcXOoXiNCMDqJIglZ9Yjx5+w7Dz30TITFrlTjnRg7sKEg==} - engines: {node: ^14.21.3 || >=16} - '@noble/curves@1.9.1': resolution: {integrity: sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==} engines: {node: ^14.21.3 || >=16} @@ -1226,13 +1036,6 @@ packages: resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==} engines: {node: ^14.21.3 || >=16} - '@noble/hashes@1.2.0': - resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} - - '@noble/hashes@1.3.2': - resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} - engines: {node: '>= 16'} - '@noble/hashes@1.4.0': resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} @@ -1249,9 +1052,6 @@ packages: resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} engines: {node: ^14.21.3 || >=16} - '@noble/secp256k1@1.7.1': - resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} - '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1268,96 +1068,6 @@ packages: resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} engines: {node: '>=12.4.0'} - '@nomicfoundation/edr-darwin-arm64@0.3.8': - resolution: {integrity: sha512-eB0leCexS8sQEmfyD72cdvLj9djkBzQGP4wSQw6SNf2I4Sw4Cnzb3d45caG2FqFFjbvfqL0t+badUUIceqQuMw==} - engines: {node: '>= 18'} - - '@nomicfoundation/edr-darwin-x64@0.3.8': - resolution: {integrity: sha512-JksVCS1N5ClwVF14EvO25HCQ+Laljh/KRfHERMVAC9ZwPbTuAd/9BtKvToCBi29uCHWqsXMI4lxCApYQv2nznw==} - engines: {node: '>= 18'} - - '@nomicfoundation/edr-linux-arm64-gnu@0.3.8': - resolution: {integrity: sha512-raCE+fOeNXhVBLUo87cgsHSGvYYRB6arih4eG6B9KGACWK5Veebtm9xtKeiD8YCsdUlUfat6F7ibpeNm91fpsA==} - engines: {node: '>= 18'} - - '@nomicfoundation/edr-linux-arm64-musl@0.3.8': - resolution: {integrity: sha512-PwiDp4wBZWMCIy29eKkv8moTKRrpiSDlrc+GQMSZLhOAm8T33JKKXPwD/2EbplbhCygJDGXZdtEKl9x9PaH66A==} - engines: {node: '>= 18'} - - '@nomicfoundation/edr-linux-x64-gnu@0.3.8': - resolution: {integrity: sha512-6AcvA/XKoipGap5jJmQ9Y6yT7Uf39D9lu2hBcDCXnXbMcXaDGw4mn1/L4R63D+9VGZyu1PqlcJixCUZlGGIWlg==} - engines: {node: '>= 18'} - - '@nomicfoundation/edr-linux-x64-musl@0.3.8': - resolution: {integrity: sha512-cxb0sEmZjlwhYWO28sPsV64VDx31ekskhC1IsDXU1p9ntjHSJRmW4KEIqJ2O3QwJap/kLKfMS6TckvY10gjc6w==} - engines: {node: '>= 18'} - - '@nomicfoundation/edr-win32-x64-msvc@0.3.8': - resolution: {integrity: sha512-yVuVPqRRNLZk7TbBMkKw7lzCvI8XO8fNTPTYxymGadjr9rEGRuNTU1yBXjfJ59I1jJU/X2TSkRk1OFX0P5tpZQ==} - engines: {node: '>= 18'} - - '@nomicfoundation/edr@0.3.8': - resolution: {integrity: sha512-u2UJ5QpznSHVkZRh6ePWoeVb6kmPrrqh08gCnZ9FHlJV9CITqlrTQHJkacd+INH31jx88pTAJnxePE4XAiH5qg==} - engines: {node: '>= 18'} - - '@nomicfoundation/ethereumjs-common@4.0.4': - resolution: {integrity: sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==} - - '@nomicfoundation/ethereumjs-rlp@5.0.4': - resolution: {integrity: sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==} - engines: {node: '>=18'} - hasBin: true - - '@nomicfoundation/ethereumjs-tx@5.0.4': - resolution: {integrity: sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==} - engines: {node: '>=18'} - peerDependencies: - c-kzg: ^2.1.2 - peerDependenciesMeta: - c-kzg: - optional: true - - '@nomicfoundation/ethereumjs-util@9.0.4': - resolution: {integrity: sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==} - engines: {node: '>=18'} - peerDependencies: - c-kzg: ^2.1.2 - peerDependenciesMeta: - c-kzg: - optional: true - - '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2': - resolution: {integrity: sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2': - resolution: {integrity: sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2': - resolution: {integrity: sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2': - resolution: {integrity: sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2': - resolution: {integrity: sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2': - resolution: {integrity: sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2': - resolution: {integrity: sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer@0.1.2': - resolution: {integrity: sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA==} - engines: {node: '>= 12'} - '@opentelemetry/api-logs@0.57.2': resolution: {integrity: sha512-uIX52NnTM0iBh84MShlpouI7UKqkZ7MrUszTmaypHBu4r7NofznSnQRfJ+uUeDtQDj6w8eFGg5KBLDAwAPz1+A==} engines: {node: '>=14'} @@ -1546,9 +1256,6 @@ packages: peerDependencies: '@opentelemetry/api': ^1.1.0 - '@openzeppelin/merkle-tree@1.0.8': - resolution: {integrity: sha512-E2c9/Y3vjZXwVvPZKqCKUn7upnvam1P1ZhowJyZVQSkzZm5WhumtaRr+wkUXrZVfkIc7Gfrl7xzabElqDL09ow==} - '@paulmillr/qr@0.2.1': resolution: {integrity: sha512-IHnV6A+zxU7XwmKFinmYjUcwlyK9+xkG3/s9KcQhI9BjQKycrJ1JRO+FbNYPwZiPKW3je/DR0k7w8/gLa5eaxQ==} deprecated: 'The package is now available as "qr": npm install qr' @@ -1565,6 +1272,24 @@ packages: peerDependencies: '@opentelemetry/api': ^1.8 + '@radix-ui/react-compose-refs@1.1.2': + resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-slot@1.2.4': + resolution: {integrity: sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@rainbow-me/rainbowkit@2.2.9': resolution: {integrity: sha512-zXAeqkqpznpj9yEs1bTbpZbq0pVYKdJUnqqK/nI8xyYFDWchIOyBoEb/4+goT5RaHfGbDe9dp6pIEu/KelKE6A==} engines: {node: '>=12.4'} @@ -1751,9 +1476,6 @@ packages: '@scure/base@1.2.6': resolution: {integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==} - '@scure/bip32@1.1.5': - resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} - '@scure/bip32@1.4.0': resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} @@ -1763,9 +1485,6 @@ packages: '@scure/bip32@1.7.0': resolution: {integrity: sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==} - '@scure/bip39@1.1.1': - resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} - '@scure/bip39@1.3.0': resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} @@ -1855,22 +1574,10 @@ packages: engines: {node: '>= 10'} hasBin: true - '@sentry/core@5.30.0': - resolution: {integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==} - engines: {node: '>=6'} - '@sentry/core@9.46.0': resolution: {integrity: sha512-it7JMFqxVproAgEtbLgCVBYtQ9fIb+Bu0JD+cEplTN/Ukpe6GaolyYib5geZqslVxhp2sQgT+58aGvfd/k0N8Q==} engines: {node: '>=18'} - '@sentry/hub@5.30.0': - resolution: {integrity: sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==} - engines: {node: '>=6'} - - '@sentry/minimal@5.30.0': - resolution: {integrity: sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==} - engines: {node: '>=6'} - '@sentry/nextjs@9.46.0': resolution: {integrity: sha512-3kRTM4yFXV33+SqQd8Et6nsP2DlS/REKbiVvpt8fB8kP6m/cq9plnj9/dqzd9dL1YDiK7g6Lm1Ff9ZSCOhOm/w==} engines: {node: '>=18'} @@ -1889,10 +1596,6 @@ packages: '@opentelemetry/sdk-trace-base': ^1.30.1 || ^2.0.0 '@opentelemetry/semantic-conventions': ^1.34.0 - '@sentry/node@5.30.0': - resolution: {integrity: sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==} - engines: {node: '>=6'} - '@sentry/node@9.46.0': resolution: {integrity: sha512-pRLqAcd7GTGvN8gex5FtkQR5Mcol8gOy1WlyZZFq4rBbVtMbqKOQRhohwqnb+YrnmtFpj7IZ7KNDo077MvNeOQ==} engines: {node: '>=18'} @@ -1913,18 +1616,6 @@ packages: peerDependencies: react: ^16.14.0 || 17.x || 18.x || 19.x - '@sentry/tracing@5.30.0': - resolution: {integrity: sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==} - engines: {node: '>=6'} - - '@sentry/types@5.30.0': - resolution: {integrity: sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==} - engines: {node: '>=6'} - - '@sentry/utils@5.30.0': - resolution: {integrity: sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==} - engines: {node: '>=6'} - '@sentry/vercel-edge@9.46.0': resolution: {integrity: sha512-F380tmDJt/u8FjjGFygsBtNqWVqbK3cefcoa8K3Ok2Vt70nhL7e5jOcWXr5sZqBksMYBPnbe1nSY9I84RvkYrQ==} engines: {node: '>=18'} @@ -1954,65 +1645,99 @@ packages: '@socket.io/component-emitter@3.1.2': resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} - '@stablelib/aead@1.0.1': - resolution: {integrity: sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==} - - '@stablelib/binary@1.0.1': - resolution: {integrity: sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==} - - '@stablelib/bytes@1.0.1': - resolution: {integrity: sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==} - - '@stablelib/chacha20poly1305@1.0.1': - resolution: {integrity: sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==} - - '@stablelib/chacha@1.0.1': - resolution: {integrity: sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==} + '@standard-schema/spec@1.0.0': + resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} - '@stablelib/constant-time@1.0.1': - resolution: {integrity: sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==} + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} - '@stablelib/ed25519@1.0.3': - resolution: {integrity: sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==} + '@tailwindcss/node@4.2.4': + resolution: {integrity: sha512-Ai7+yQPxz3ddrDQzFfBKdHEVBg0w3Zl83jnjuwxnZOsnH9pGn93QHQtpU0p/8rYWxvbFZHneni6p1BSLK4DkGA==} - '@stablelib/hash@1.0.1': - resolution: {integrity: sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==} + '@tailwindcss/oxide-android-arm64@4.2.4': + resolution: {integrity: sha512-e7MOr1SAn9U8KlZzPi1ZXGZHeC5anY36qjNwmZv9pOJ8E4Q6jmD1vyEHkQFmNOIN7twGPEMXRHmitN4zCMN03g==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [android] - '@stablelib/hkdf@1.0.1': - resolution: {integrity: sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==} + '@tailwindcss/oxide-darwin-arm64@4.2.4': + resolution: {integrity: sha512-tSC/Kbqpz/5/o/C2sG7QvOxAKqyd10bq+ypZNf+9Fi2TvbVbv1zNpcEptcsU7DPROaSbVgUXmrzKhurFvo5eDg==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [darwin] - '@stablelib/hmac@1.0.1': - resolution: {integrity: sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==} + '@tailwindcss/oxide-darwin-x64@4.2.4': + resolution: {integrity: sha512-yPyUXn3yO/ufR6+Kzv0t4fCg2qNr90jxXc5QqBpjlPNd0NqyDXcmQb/6weunH/MEDXW5dhyEi+agTDiqa3WsGg==} + engines: {node: '>= 20'} + cpu: [x64] + os: [darwin] - '@stablelib/int@1.0.1': - resolution: {integrity: sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==} + '@tailwindcss/oxide-freebsd-x64@4.2.4': + resolution: {integrity: sha512-BoMIB4vMQtZsXdGLVc2z+P9DbETkiopogfWZKbWwM8b/1Vinbs4YcUwo+kM/KeLkX3Ygrf4/PsRndKaYhS8Eiw==} + engines: {node: '>= 20'} + cpu: [x64] + os: [freebsd] - '@stablelib/keyagreement@1.0.1': - resolution: {integrity: sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==} + '@tailwindcss/oxide-linux-arm-gnueabihf@4.2.4': + resolution: {integrity: sha512-7pIHBLTHYRAlS7V22JNuTh33yLH4VElwKtB3bwchK/UaKUPpQ0lPQiOWcbm4V3WP2I6fNIJ23vABIvoy2izdwA==} + engines: {node: '>= 20'} + cpu: [arm] + os: [linux] - '@stablelib/poly1305@1.0.1': - resolution: {integrity: sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==} + '@tailwindcss/oxide-linux-arm64-gnu@4.2.4': + resolution: {integrity: sha512-+E4wxJ0ZGOzSH325reXTWB48l42i93kQqMvDyz5gqfRzRZ7faNhnmvlV4EPGJU3QJM/3Ab5jhJ5pCRUsKn6OQw==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] - '@stablelib/random@1.0.2': - resolution: {integrity: sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==} + '@tailwindcss/oxide-linux-arm64-musl@4.2.4': + resolution: {integrity: sha512-bBADEGAbo4ASnppIziaQJelekCxdMaxisrk+fB7Thit72IBnALp9K6ffA2G4ruj90G9XRS2VQ6q2bCKbfFV82g==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] - '@stablelib/sha256@1.0.1': - resolution: {integrity: sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==} + '@tailwindcss/oxide-linux-x64-gnu@4.2.4': + resolution: {integrity: sha512-7Mx25E4WTfnht0TVRTyC00j3i0M+EeFe7wguMDTlX4mRxafznw0CA8WJkFjWYH5BlgELd1kSjuU2JiPnNZbJDA==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] - '@stablelib/sha512@1.0.1': - resolution: {integrity: sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==} + '@tailwindcss/oxide-linux-x64-musl@4.2.4': + resolution: {integrity: sha512-2wwJRF7nyhOR0hhHoChc04xngV3iS+akccHTGtz965FwF0up4b2lOdo6kI1EbDaEXKgvcrFBYcYQQ/rrnWFVfA==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] - '@stablelib/wipe@1.0.1': - resolution: {integrity: sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==} + '@tailwindcss/oxide-wasm32-wasi@4.2.4': + resolution: {integrity: sha512-FQsqApeor8Fo6gUEklzmaa9994orJZZDBAlQpK2Mq+DslRKFJeD6AjHpBQ0kZFQohVr8o85PPh8eOy86VlSCmw==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.2.4': + resolution: {integrity: sha512-L9BXqxC4ToVgwMFqj3pmZRqyHEztulpUJzCxUtLjobMCzTPsGt1Fa9enKbOpY2iIyVtaHNeNvAK8ERP/64sqGQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [win32] - '@stablelib/x25519@1.0.3': - resolution: {integrity: sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==} + '@tailwindcss/oxide-win32-x64-msvc@4.2.4': + resolution: {integrity: sha512-ESlKG0EpVJQwRjXDDa9rLvhEAh0mhP1sF7sap9dNZT0yyl9SAG6T7gdP09EH0vIv0UNTlo6jPWyujD6559fZvw==} + engines: {node: '>= 20'} + cpu: [x64] + os: [win32] - '@standard-schema/spec@1.0.0': - resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} + '@tailwindcss/oxide@4.2.4': + resolution: {integrity: sha512-9El/iI069DKDSXwTvB9J4BwdO5JhRrOweGaK25taBAvBXyXqJAX+Jqdvs8r8gKpsI/1m0LeJLyQYTf/WLrBT1Q==} + engines: {node: '>= 20'} - '@swc/helpers@0.5.15': - resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + '@tailwindcss/postcss@4.2.4': + resolution: {integrity: sha512-wgAVj6nUWAolAu8YFvzT2cTBIElWHkjZwFYovF+xsqKsW2ADxM/X2opxj5NsF/qVccAOjRNe8X2IdPzMsWyHTg==} '@tanstack/query-core@5.90.5': resolution: {integrity: sha512-wLamYp7FaDq6ZnNehypKI5fNvxHPfTYylE0m/ZpuuzJfJqhR5Pxg9gvGBHZx4n7J+V5Rg5mZxHHTlv25Zt5u+w==} @@ -2037,12 +1762,6 @@ packages: '@tybys/wasm-util@0.10.1': resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} - '@types/bn.js@4.11.6': - resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} - - '@types/bn.js@5.2.0': - resolution: {integrity: sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==} - '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} @@ -2084,9 +1803,6 @@ packages: '@types/lodash@4.17.20': resolution: {integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==} - '@types/lru-cache@5.1.1': - resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==} - '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} @@ -2102,15 +1818,9 @@ packages: '@types/node@20.19.23': resolution: {integrity: sha512-yIdlVVVHXpmqRhtyovZAcSy0MiPcYWGkoO4CGe/+jpP0hmNuihm4XhHbADpK++MsiLHP5MVlv+bcgdF99kSiFQ==} - '@types/node@22.7.5': - resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==} - '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} - '@types/pbkdf2@3.1.2': - resolution: {integrity: sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==} - '@types/pg-pool@2.0.6': resolution: {integrity: sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ==} @@ -2125,9 +1835,6 @@ packages: '@types/react@19.2.2': resolution: {integrity: sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==} - '@types/secp256k1@4.0.7': - resolution: {integrity: sha512-Rcvjl6vARGAKRO6jHeKMatGrvOMGrR/AR11N1x2LqintPCyDZ7NBhrh238Z2VZc7aM7KIwnFpFQ7fnfK4H/9Qw==} - '@types/shimmer@1.2.0': resolution: {integrity: sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==} @@ -2303,9 +2010,6 @@ packages: cpu: [x64] os: [win32] - '@vanilla-extract/babel-plugin-debug-ids@1.2.2': - resolution: {integrity: sha512-MeDWGICAF9zA/OZLOKwhoRlsUW+fiMwnfuOAqFVohL31Agj7Q/RBWAYweqjHLgFBCsdnr6XIfwjJnmb2znEWxw==} - '@vanilla-extract/css@1.17.3': resolution: {integrity: sha512-jHivr1UPoJTX5Uel4AZSOwrCf4mO42LcdmnhJtUxZaRWhW4FviFbIfs0moAWWld7GOT+2XnuVZjjA/K32uUnMQ==} @@ -2315,14 +2019,6 @@ packages: '@vanilla-extract/dynamic@2.1.4': resolution: {integrity: sha512-7+Ot7VlP3cIzhJnTsY/kBtNs21s0YD7WI1rKJJKYP56BkbDxi/wrQUWMGEczKPUDkJuFcvbye+E2ub1u/mHH9w==} - '@vanilla-extract/integration@8.0.4': - resolution: {integrity: sha512-cmOb7tR+g3ulKvFtSbmdw3YUyIS1d7MQqN+FcbwNhdieyno5xzUyfDCMjeWJhmCSMvZ6WlinkrOkgs6SHB+FRg==} - - '@vanilla-extract/next-plugin@2.4.14': - resolution: {integrity: sha512-5GRgVZayLNvXJVHwVWNZp7rDAgXmF5DAyVtp9O5ZxPoOuokLWwTaIw1bYALXs/uCaeAUwilK5p14peagzFbe2w==} - peerDependencies: - next: '>=12.1.7' - '@vanilla-extract/private@1.0.9': resolution: {integrity: sha512-gT2jbfZuaaCLrAxwXbRgIhGhcXbRZCG3v4TTUnjw0EJ7ArdBRxkq4msNJkbuRkCgfIK5ATmprB5t9ljvLeFDEA==} @@ -2341,11 +2037,6 @@ packages: peerDependencies: '@vanilla-extract/css': ^1.0.0 - '@vanilla-extract/webpack-plugin@2.3.22': - resolution: {integrity: sha512-3Cx8DkbX3EeLHGbD049jjj6/bWB0VK4YFfWWsf8VXBI8dgf5SvEef1VfET22IOcT9GzLl8MqfsLr/XSo9iv67Q==} - peerDependencies: - webpack: ^4.30.0 || ^5.20.2 - '@vercel/oidc@3.0.3': resolution: {integrity: sha512-yNEQvPcVrK9sIe637+I0jD6leluPxzwJKx/Haw6F4H77CdDsszUn5V3o96LPziXkSNE2B83+Z3mjqGKBK/R6Gg==} engines: {node: '>= 20'} @@ -2372,14 +2063,6 @@ packages: typescript: optional: true - '@walletconnect/auth-client@2.1.2': - resolution: {integrity: sha512-ubJLn+vGb8sTdBFX6xAh4kjR5idrtS3RBngQWaJJJpEPBQmxMb8pM2q0FIRs8Is4K6jKy+uEhusMV+7ZBmTzjw==} - engines: {node: '>=16'} - - '@walletconnect/core@2.17.1': - resolution: {integrity: sha512-SMgJR5hEyEE/tENIuvlEb4aB9tmMXPzQ38Y61VgYBmwAFEhOHtpt8EDfnfRWqEhMyXuBXG4K70Yh8c67Yry+Xw==} - engines: {node: '>=18'} - '@walletconnect/core@2.21.0': resolution: {integrity: sha512-o6R7Ua4myxR8aRUAJ1z3gT9nM+jd2B2mfamu6arzy1Cc6vi10fIwFWb6vg3bC8xJ6o9H3n/cN5TOW3aA9Y1XVw==} engines: {node: '>=18'} @@ -2388,10 +2071,6 @@ packages: resolution: {integrity: sha512-Tp4MHJYcdWD846PH//2r+Mu4wz1/ZU/fr9av1UWFiaYQ2t2TPLDiZxjLw54AAEpMqlEHemwCgiRiAmjR1NDdTQ==} engines: {node: '>=18'} - '@walletconnect/core@2.22.4': - resolution: {integrity: sha512-ZQnyDDpqDPAk5lyLV19BRccQ3wwK3LmAwibuIv3X+44aT/dOs2kQGu9pla3iW2LgZ5qRMYvgvvfr5g3WlDGceQ==} - engines: {node: '>=18.20.8'} - '@walletconnect/environment@1.0.1': resolution: {integrity: sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==} @@ -2416,9 +2095,6 @@ packages: '@walletconnect/jsonrpc-utils@1.0.8': resolution: {integrity: sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw==} - '@walletconnect/jsonrpc-ws-connection@1.0.14': - resolution: {integrity: sha512-Jsl6fC55AYcbkNVkwNM6Jo+ufsuCQRqViOQ8ZBPH9pRREHH9welbBiszuTLqEJiQcO/6XfFDl6bzCJIkrEi8XA==} - '@walletconnect/jsonrpc-ws-connection@1.0.16': resolution: {integrity: sha512-G81JmsMqh5nJheE1mPst1W0WfVv0SG3N7JggwLLGnI7iuDZJq8cRJvQwLGKHn5H1WTW7DEPCo00zz5w62AbL3Q==} @@ -2433,25 +2109,15 @@ packages: '@walletconnect/logger@2.1.2': resolution: {integrity: sha512-aAb28I3S6pYXZHQm5ESB+V6rDqIYfsnHaQyzFbwUUBFY4H0OXx/YtTl8lvhUNhMMfb9UxbwEBS253TlXUYJWSw==} - '@walletconnect/logger@3.0.0': - resolution: {integrity: sha512-DDktPBFdmt5d7U3sbp4e3fQHNS1b6amsR8FmtOnt6L2SnV7VfcZr8VmAGL12zetAR+4fndegbREmX0P8Mw6eDg==} - '@walletconnect/relay-api@1.0.11': resolution: {integrity: sha512-tLPErkze/HmC9aCmdZOhtVmYZq1wKfWTJtygQHoWtgg722Jd4homo54Cs4ak2RUFUZIGO2RsOpIcWipaua5D5Q==} - '@walletconnect/relay-auth@1.0.4': - resolution: {integrity: sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==} - '@walletconnect/relay-auth@1.1.0': resolution: {integrity: sha512-qFw+a9uRz26jRCDgL7Q5TA9qYIgcNY8jpJzI1zAWNZ8i7mQjaijRnWFKsCHAU9CyGjvt6RKrRXyFtFOpWTVmCQ==} '@walletconnect/safe-json@1.0.2': resolution: {integrity: sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==} - '@walletconnect/sign-client@2.17.1': - resolution: {integrity: sha512-6rLw6YNy0smslH9wrFTbNiYrGsL3DrOsS5FcuU4gIN6oh8pGYOFZ5FiSyTTroc5tngOk3/Sd7dlGY9S7O4nveg==} - deprecated: 'Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases' - '@walletconnect/sign-client@2.21.0': resolution: {integrity: sha512-z7h+PeLa5Au2R591d/8ZlziE0stJvdzP9jNFzFolf2RG/OiXulgFKum8PrIyXy+Rg2q95U9nRVUF9fWcn78yBA==} @@ -2461,40 +2127,24 @@ packages: '@walletconnect/time@1.0.2': resolution: {integrity: sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==} - '@walletconnect/types@2.17.1': - resolution: {integrity: sha512-aiUeBE3EZZTsZBv5Cju3D0PWAsZCMks1g3hzQs9oNtrbuLL6pKKU0/zpKwk4vGywszxPvC3U0tBCku9LLsH/0A==} - '@walletconnect/types@2.21.0': resolution: {integrity: sha512-ll+9upzqt95ZBWcfkOszXZkfnpbJJ2CmxMfGgE5GmhdxxxCcO5bGhXkI+x8OpiS555RJ/v/sXJYMSOLkmu4fFw==} '@walletconnect/types@2.21.1': resolution: {integrity: sha512-UeefNadqP6IyfwWC1Yi7ux+ljbP2R66PLfDrDm8izmvlPmYlqRerJWJvYO4t0Vvr9wrG4Ko7E0c4M7FaPKT/sQ==} - '@walletconnect/types@2.22.4': - resolution: {integrity: sha512-KJdiS9ezXzx1uASanldYaaenDwb42VOQ6Rj86H7FRwfYddhNnYnyEaDjDKOdToGRGcpt5Uzom6qYUOnrWEbp5g==} - '@walletconnect/universal-provider@2.21.0': resolution: {integrity: sha512-mtUQvewt+X0VBQay/xOJBvxsB3Xsm1lTwFjZ6WUwSOTR1X+FNb71hSApnV5kbsdDIpYPXeQUbGt2se1n5E5UBg==} '@walletconnect/universal-provider@2.21.1': resolution: {integrity: sha512-Wjx9G8gUHVMnYfxtasC9poGm8QMiPCpXpbbLFT+iPoQskDDly8BwueWnqKs4Mx2SdIAWAwuXeZ5ojk5qQOxJJg==} - '@walletconnect/utils@2.17.1': - resolution: {integrity: sha512-KL7pPwq7qUC+zcTmvxGqIyYanfHgBQ+PFd0TEblg88jM7EjuDLhjyyjtkhyE/2q7QgR7OanIK7pCpilhWvBsBQ==} - '@walletconnect/utils@2.21.0': resolution: {integrity: sha512-zfHLiUoBrQ8rP57HTPXW7rQMnYxYI4gT9yTACxVW6LhIFROTF6/ytm5SKNoIvi4a5nX5dfXG4D9XwQUCu8Ilig==} '@walletconnect/utils@2.21.1': resolution: {integrity: sha512-VPZvTcrNQCkbGOjFRbC24mm/pzbRMUq2DSQoiHlhh0X1U7ZhuIrzVtAoKsrzu6rqjz0EEtGxCr3K1TGRqDG4NA==} - '@walletconnect/utils@2.22.4': - resolution: {integrity: sha512-coAPrNiTiD+snpiXQyXakMVeYcddqVqII7aLU39TeILdPoXeNPc2MAja+MF7cKNM/PA3tespljvvxck/oTm4+Q==} - - '@walletconnect/web3wallet@1.16.1': - resolution: {integrity: sha512-l6jVoLEh/UtRfvYUDs52fN+LYXsBgx3F9WfErJuCSCFfpbxDKIzM2Y9sI0WI1/5dWN5sh24H1zNCXnQ4JJltZw==} - deprecated: Web3Wallet is now Reown WalletKit. Please follow the upgrade guide at https://docs.reown.com/walletkit/upgrade/from-web3wallet-web - '@walletconnect/window-getters@1.0.1': resolution: {integrity: sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==} @@ -2639,25 +2289,14 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - adm-zip@0.4.16: - resolution: {integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==} - engines: {node: '>=0.3.0'} - adm-zip@0.5.16: resolution: {integrity: sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==} engines: {node: '>=12.0'} - aes-js@4.0.0-beta.5: - resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==} - agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} - aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - ai@5.0.80: resolution: {integrity: sha512-g1o6pjxm1eTtyh295dRhsg0gvZaHFlSo2oruWrK2rIR7KafWEhNB2A2/aJ9hyPT9AMI8JnQJyto1Tl9DMqwc9w==} engines: {node: '>=18'} @@ -2683,13 +2322,6 @@ packages: ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - - ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -2702,10 +2334,6 @@ packages: resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -2844,9 +2472,6 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - base-x@3.0.11: - resolution: {integrity: sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==} - base-x@5.0.1: resolution: {integrity: sha512-M7uio8Zt++eg3jPj+rHMfCC+IuygQHHCOU+IYsVtik6FWjuYpVt/+MRKcgsAMHh8mMFAwnB+Bs+mTrFiXjMzKg==} @@ -2860,9 +2485,6 @@ packages: bcrypt-pbkdf@1.0.2: resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} - big.js@5.2.2: - resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - big.js@6.2.2: resolution: {integrity: sha512-y/ie+Faknx7sZA5MfGA2xKlu0GDv8RWrXGsmlteyJQ2lvoKv9GBK/fpRMc2qlSoBAgNxrixICFCBefIq8WCQpQ==} @@ -2882,18 +2504,12 @@ packages: bl@5.1.0: resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} - blakejs@1.2.1: - resolution: {integrity: sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==} - bmp-js@0.0.1: resolution: {integrity: sha512-OS74Rlt0Aynu2mTPmY9RZOUOXlqWecFIILFXr70vv16/xCZnFxvri9IKkF1IGxQ8r9dOE62qGNpKxXx8Lko8bg==} bmp-js@0.0.3: resolution: {integrity: sha512-epsm3Z92j5xwek9p97pVw3KbsNc0F4QnbYh+N93SpbJYuHFQQ/UAh6K+bKFGyLePH3Hudtl/Sa95Quqp0gX8IQ==} - bn.js@4.12.2: - resolution: {integrity: sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==} - bn.js@5.2.2: resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} @@ -2904,10 +2520,6 @@ packages: bowser@2.12.1: resolution: {integrity: sha512-z4rE2Gxh7tvshQ4hluIT7XcFrgLIQaw9X3A+kTTRdovCz5PMukm/0QC/BKSYPj3omF5Qfypn9O/c5kgpmvYUCw==} - boxen@5.1.2: - resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} - engines: {node: '>=10'} - brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} @@ -2918,29 +2530,14 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - brorand@1.1.0: - resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - - browser-stdout@1.3.1: - resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - - browserify-aes@1.2.0: - resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} - browserslist@4.26.3: resolution: {integrity: sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - bs58@4.0.1: - resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} - bs58@6.0.0: resolution: {integrity: sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==} - bs58check@2.1.2: - resolution: {integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==} - buffer-alloc-unsafe@1.1.0: resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} @@ -2960,9 +2557,6 @@ packages: buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - buffer-xor@1.0.3: - resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} - buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -2997,10 +2591,6 @@ packages: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} - camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - caniuse-lite@1.0.30001751: resolution: {integrity: sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==} @@ -3013,10 +2603,6 @@ packages: centra@2.7.0: resolution: {integrity: sha512-PbFMgMSrmgx6uxCdm57RUos9Tc3fclMvhLSATYN39XsDV29B89zZ3KA89jmY0vwSGazyU+uerqwa6t+KaodPcg==} - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - chalk@3.0.0: resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} engines: {node: '>=8'} @@ -3056,23 +2642,11 @@ packages: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} - ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - - cipher-base@1.0.7: - resolution: {integrity: sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA==} - engines: {node: '>= 0.10'} - cjs-module-lexer@1.4.3: resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - - cli-boxes@2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} + class-variance-authority@0.7.1: + resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} @@ -3123,16 +2697,10 @@ packages: resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} engines: {node: '>=0.10.0'} - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -3146,15 +2714,9 @@ packages: comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - command-exists@1.2.9: - resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} - commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - commander@3.0.2: - resolution: {integrity: sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==} - commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} @@ -3169,9 +2731,6 @@ packages: resolution: {integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==} engines: {node: '>=12'} - confbox@0.1.8: - resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} - config-maker@0.0.6: resolution: {integrity: sha512-rZHlWzwZCDX4lUOTORNcCTvl0LqYMXbB+mLqdIvwqv5bF0EC1b0nOydVlPQS3b2iTzBOcZRuOYhDjqix0IjWTw==} @@ -3195,10 +2754,6 @@ packages: cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - cookie@0.4.2: - resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} - engines: {node: '>= 0.6'} - cookie@0.7.1: resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} engines: {node: '>= 0.6'} @@ -3225,12 +2780,6 @@ packages: resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} engines: {node: '>= 10'} - create-hash@1.2.0: - resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} - - create-hmac@1.1.7: - resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} - create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} @@ -3348,10 +2897,6 @@ packages: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} - decamelize@4.0.0: - resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} - engines: {node: '>=10'} - decode-named-character-reference@1.2.0: resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} @@ -3444,10 +2989,6 @@ packages: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} - diff@5.2.0: - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} - engines: {node: '>=0.3.1'} - dijkstrajs@1.0.3: resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} @@ -3455,22 +2996,9 @@ packages: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} - dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - dom-walk@0.1.2: resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} - domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - - domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - - domutils@3.2.2: - resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} - dot-prop@6.0.1: resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} engines: {node: '>=10'} @@ -3503,22 +3031,12 @@ packages: electron-to-chromium@1.5.238: resolution: {integrity: sha512-khBdc+w/Gv+cS8e/Pbnaw/FXcBUeKrRVik9IxfXtgREOWyJhR4tj43n3amkVogJ/yeQUqzkrZcFhtIxIdqmmcQ==} - elliptic@6.5.7: - resolution: {integrity: sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==} - - elliptic@6.6.1: - resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} - emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - emojis-list@3.0.0: - resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} - engines: {node: '>= 4'} - encode-utf8@1.0.3: resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==} @@ -3544,13 +3062,9 @@ packages: resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==} engines: {node: '>=10.13.0'} - enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} - engines: {node: '>=8.6'} - - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} + enhanced-resolve@5.21.0: + resolution: {integrity: sha512-otxSQPw4lkOZWkHpB3zaEQs6gWYEsmX4xQF68ElXC/TWvGxGMSGOvoNbaLXm6/cS/fSfHtsEdw90y20PCd+sCA==} + engines: {node: '>=10.13.0'} entities@6.0.1: resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} @@ -3601,9 +3115,6 @@ packages: es-toolkit@1.33.0: resolution: {integrity: sha512-X13Q/ZSc+vsO1q600bvNK4bxgXMkHcf//RxCmYDaRY5DAcT+eoXjY5hoAPGMdRnWQjvyLEcyauG3b6hz76LNqg==} - es-toolkit@1.39.3: - resolution: {integrity: sha512-Qb/TCFCldgOy8lZ5uC7nLGdqJwSabkQiYQShmw4jyiPk1pZzaYWTwaYKYP7EgLccWYgZocMrtItrwh683voaww==} - es6-promise@3.3.1: resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} @@ -3619,10 +3130,6 @@ packages: escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -3813,38 +3320,9 @@ packages: eth-rpc-errors@4.0.3: resolution: {integrity: sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==} - ethereum-cryptography@0.1.3: - resolution: {integrity: sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==} - - ethereum-cryptography@1.2.0: - resolution: {integrity: sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==} - ethereum-cryptography@2.2.1: resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} - ethereum-cryptography@3.2.0: - resolution: {integrity: sha512-Urr5YVsalH+Jo0sYkTkv1MyI9bLYZwW8BENZCeE1QYaTHETEYx0Nv/SVsWkSqpYrzweg6d8KMY1wTjH/1m/BIg==} - engines: {node: ^14.21.3 || >=16, npm: '>=9'} - - ethereumjs-abi@0.6.8: - resolution: {integrity: sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==} - deprecated: This library has been deprecated and usage is discouraged. - - ethereumjs-util@6.2.1: - resolution: {integrity: sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==} - - ethers@6.15.0: - resolution: {integrity: sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ==} - engines: {node: '>=14.0.0'} - - ethjs-util@0.1.6: - resolution: {integrity: sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==} - engines: {node: '>=6.5.0', npm: '>=3'} - - eval@0.1.8: - resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} - engines: {node: '>= 0.8'} - eventemitter2@6.4.9: resolution: {integrity: sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==} @@ -3859,9 +3337,6 @@ packages: resolution: {integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==} engines: {node: '>=18.0.0'} - evp_bytestokey@1.0.3: - resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} - execa@1.0.0: resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} engines: {node: '>=6'} @@ -3965,10 +3440,6 @@ packages: find-root@1.1.0: resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} - find-up@2.1.0: - resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} - engines: {node: '>=4'} - find-up@3.0.0: resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} engines: {node: '>=6'} @@ -3985,10 +3456,6 @@ packages: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} - flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - flatpickr@4.6.13: resolution: {integrity: sha512-97PMG/aywoYpB4IvbvUJi0RQi8vearvU0oov1WW3k0WZPBMrTQVqekSX5CjSG/M4Q3i6A/0FKXC7RyAoAUUSPw==} @@ -4039,9 +3506,6 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - fp-ts@1.19.3: - resolution: {integrity: sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==} - framer-motion@12.23.24: resolution: {integrity: sha512-HMi5HRoRCTou+3fb3h9oTLyJGBxHfW+HnNE25tAXOvVx/IvwMHK0cx7IR4a2ZU6sh3IX1Z+4ts32PcYBOqka8w==} peerDependencies: @@ -4066,13 +3530,6 @@ packages: fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - fs-extra@0.30.0: - resolution: {integrity: sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==} - - fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -4148,22 +3605,14 @@ packages: glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - glob@7.2.0: - resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} - deprecated: Glob versions prior to v9 are no longer supported - glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported - glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - deprecated: Glob versions prior to v9 are no longer supported - glob@9.3.5: resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} engines: {node: '>=16 || 14 >=14.17'} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me global-prefix@4.0.0: resolution: {integrity: sha512-w0Uf9Y9/nyHinEk5vMJKRie+wa4kR5hmDbEhGGds/kG1PwGLLHKRoNMeJOyCQjjBkANlnScqgzcFwGHgmgLkVA==} @@ -4248,26 +3697,10 @@ packages: engines: {node: '>=6'} deprecated: this library is no longer supported - hardhat@2.22.4: - resolution: {integrity: sha512-09qcXJFBHQUaraJkYNr7XlmwjOj27xBB0SL2rYS024hTj9tPMbp26AFjlf5quBMO9SR4AJFg+4qWahcYcvXBuQ==} - hasBin: true - peerDependencies: - ts-node: '*' - typescript: '*' - peerDependenciesMeta: - ts-node: - optional: true - typescript: - optional: true - has-bigints@1.1.0: resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} engines: {node: '>= 0.4'} - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -4287,13 +3720,6 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - hash-base@3.1.2: - resolution: {integrity: sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==} - engines: {node: '>= 0.8'} - - hash.js@1.1.7: - resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -4322,19 +3748,12 @@ packages: hastscript@9.0.1: resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} - he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - hermes-estree@0.25.1: resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==} hermes-parser@0.25.1: resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} - hmac-drbg@1.0.1: - resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} - hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} @@ -4342,27 +3761,12 @@ packages: resolution: {integrity: sha512-p6fyzl+mQo6uhESLxbF5WlBOAJMDh36PljwlKtP5V1v09NxlqGru3ShK+4wKhSuhuYf8qxMmrivHOa/M7q0sMg==} engines: {node: '>=16.9.0'} - html-dom-parser@5.1.1: - resolution: {integrity: sha512-+o4Y4Z0CLuyemeccvGN4bAO20aauB2N9tFEAep5x4OW34kV4PTarBHm6RL02afYt2BMKcr0D2Agep8S3nJPIBg==} - - html-react-parser@5.2.7: - resolution: {integrity: sha512-WzIAcqQoZoF49J9aev8NBDLz9TJvt2RmipeYA+/5+5x0sWCwFxqKiq0lysieiSA/G6dbUZ6KGGy65Cx2fjie5Q==} - peerDependencies: - '@types/react': 0.14 || 15 || 16 || 17 || 18 || 19 - react: 0.14 || 15 || 16 || 17 || 18 || 19 - peerDependenciesMeta: - '@types/react': - optional: true - html-url-attributes@3.0.1: resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==} html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - htmlparser2@10.0.0: - resolution: {integrity: sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==} - http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} @@ -4413,9 +3817,6 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - immutable@4.3.7: - resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} - import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} @@ -4427,10 +3828,6 @@ packages: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -4453,9 +3850,6 @@ packages: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} - io-ts@1.10.4: - resolution: {integrity: sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==} - ioredis@5.8.2: resolution: {integrity: sha512-C6uC+kleiIMmjViJINWk80sOQw5lEzse1ZmvD+S/s8p8CWapftSaC+kocGTx6xrbrJ4WmYQGC08ffHLr6ToR6Q==} engines: {node: '>=12.22.0'} @@ -4554,10 +3948,6 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - is-hex-prefixed@1.0.0: - resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} - engines: {node: '>=6.5.0', npm: '>=3'} - is-hexadecimal@2.0.1: resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} @@ -4589,10 +3979,6 @@ packages: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} engines: {node: '>=8'} - is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} - is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} @@ -4676,12 +4062,6 @@ packages: resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} engines: {node: '>=16'} - isomorphic-fetch@3.0.0: - resolution: {integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==} - - isomorphic-unfetch@3.1.0: - resolution: {integrity: sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==} - isows@1.0.6: resolution: {integrity: sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw==} peerDependencies: @@ -4699,9 +4079,6 @@ packages: resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} engines: {node: '>= 0.4'} - javascript-stringify@2.1.0: - resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==} - jest-worker@27.5.1: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} @@ -4709,18 +4086,16 @@ packages: jimp@0.2.28: resolution: {integrity: sha512-9HT7DA279xkTlry2oG30s6AtOUglNiY2UdyYpj0yNI4/NBv8PmdNC0gcldgMU4HqvbUlrM3+v+6GaHnTkH23JQ==} + jiti@2.6.1: + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} + hasBin: true + jpeg-js@0.1.2: resolution: {integrity: sha512-CiRVjMKBUp6VYtGwzRjrdnro41yMwKGOWdP9ATXqmixdz2n7KHNwdqthTYSSbOKj/Ha79Gct1sA8ZQpse55TYA==} jpeg-js@0.2.0: resolution: {integrity: sha512-Ni9PffhJtYtdD7VwxH6V2MnievekGfUefosGCHadog0/jAevRu6HPjYeMHbUemn0IPE8d4wGa8UsOGsX+iKy2g==} - js-base64@3.7.8: - resolution: {integrity: sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==} - - js-sha3@0.8.0: - resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} - js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -4779,12 +4154,6 @@ packages: engines: {node: '>=6'} hasBin: true - jsonfile@2.4.0: - resolution: {integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==} - - jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - jsprim@1.4.2: resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} engines: {node: '>=0.6.0'} @@ -4807,9 +4176,6 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} - klaw@1.3.1: - resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==} - language-subtag-registry@0.3.23: resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} @@ -4817,9 +4183,6 @@ packages: resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} engines: {node: '>=0.10'} - lanyard@1.1.2: - resolution: {integrity: sha512-nuo7gkPl2hatMKHfVwtY+o1zJlUmforLREmzA7jT45/gvH59kwo7xpAMyRNUzeOgfjZRGhm5cAZ/z4YlVNKqUw==} - lazystream@1.0.1: resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} engines: {node: '>= 0.6.3'} @@ -4828,6 +4191,76 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lightningcss-android-arm64@1.32.0: + resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.32.0: + resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.32.0: + resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.32.0: + resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.32.0: + resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.32.0: + resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.32.0: + resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.32.0: + resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.32.0: + resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.32.0: + resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.32.0: + resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.32.0: + resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + engines: {node: '>= 12.0.0'} + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -4847,14 +4280,6 @@ packages: resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==} engines: {node: '>=6.11.5'} - loader-utils@2.0.4: - resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} - engines: {node: '>=8.9.0'} - - locate-path@2.0.0: - resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} - engines: {node: '>=4'} - locate-path@3.0.0: resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} engines: {node: '>=6'} @@ -4882,10 +4307,6 @@ packages: lodash.isarguments@3.1.0: resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} - lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. - lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} @@ -4922,12 +4343,17 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lru_map@0.3.3: - resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==} + lucide-react@0.469.0: + resolution: {integrity: sha512-28vvUnnKQ/dBwiCQtwJw7QauYnE7yd2Cyp4tTTJpvglX4EMpbflcdBgrgToX2j71B3YvugK/NH3BGUk+E/p/Fw==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 magic-string@0.30.19: resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + magic-string@0.30.8: resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} engines: {node: '>=12'} @@ -4942,9 +4368,6 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - md5.js@1.3.5: - resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} - mdast-util-find-and-replace@3.0.2: resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} @@ -4997,10 +4420,6 @@ packages: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} - memorystream@0.3.1: - resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} - engines: {node: '>= 0.10.0'} - merge-descriptors@1.0.3: resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} @@ -5139,12 +4558,6 @@ packages: min-document@2.19.0: resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} - minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - - minimalistic-crypto-utils@1.0.1: - resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} - minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -5187,17 +4600,6 @@ packages: deprecated: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) hasBin: true - mlly@1.8.0: - resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} - - mnemonist@0.38.5: - resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} - - mocha@10.8.2: - resolution: {integrity: sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==} - engines: {node: '>= 14.0.0'} - hasBin: true - modern-ahocorasick@1.1.0: resolution: {integrity: sha512-sEKPVl2rM+MNVkGQt3ChdmD8YsigmXdn5NifZn6jiwn9LRJpWm8F3guhaqrJT/JOat6pwpbXEk6kv+b9DMIjsQ==} @@ -5246,6 +4648,12 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + next-themes@0.4.6: + resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==} + peerDependencies: + react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + next@15.5.6: resolution: {integrity: sha512-zTxsnI3LQo3c9HSdSf91O1jMNsEzIXDShXd4wVdg9y5shwLqBXi4ZtUUJyB86KGVSJLZx0PFONvO54aheGX8QQ==} engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} @@ -5273,9 +4681,6 @@ packages: node-addon-api@2.0.2: resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} - node-addon-api@5.1.0: - resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} - node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -5361,19 +4766,12 @@ packages: resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} engines: {node: '>= 0.4'} - obliterator@2.0.5: - resolution: {integrity: sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw==} - ofetch@1.4.1: resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} on-exit-leak-free@0.2.0: resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==} - on-exit-leak-free@2.1.2: - resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} - engines: {node: '>=14.0.0'} - on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -5414,10 +4812,6 @@ packages: resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - own-keys@1.0.1: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} @@ -5446,14 +4840,6 @@ packages: typescript: optional: true - ox@0.9.3: - resolution: {integrity: sha512-KzyJP+fPV4uhuuqrTZyok4DC7vFzi7HLUFiUNEmpbyh59htKWkOC98IONC1zgXJPbHAhQgqs6B0Z6StCGhmQvg==} - peerDependencies: - typescript: '>=5.4.0' - peerDependenciesMeta: - typescript: - optional: true - ox@0.9.6: resolution: {integrity: sha512-8SuCbHPvv2eZLYXrNmC0EC12rdzXQLdhnOMlHDW2wiCPLxBrOOJwX5L5E61by+UjTPOryqQiRSnjIKCI+GykKg==} peerDependencies: @@ -5466,10 +4852,6 @@ packages: resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} - p-limit@1.3.0: - resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} - engines: {node: '>=4'} - p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -5478,10 +4860,6 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} - p-locate@2.0.0: - resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} - engines: {node: '>=4'} - p-locate@3.0.0: resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} engines: {node: '>=6'} @@ -5494,24 +4872,10 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - - p-try@1.0.0: - resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} - engines: {node: '>=4'} - p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - pako@2.1.0: - resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} - - papaparse@5.5.3: - resolution: {integrity: sha512-5QvjGxYVjxO59MGU2lHVYpRWBBtKHnlIAcSe1uNFCkkptUh63NFRj0FJQm7nR67puEruUci/ZkjmEFrjCAyP4A==} - parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -5584,13 +4948,6 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - pathe@2.0.3: - resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - - pbkdf2@3.1.5: - resolution: {integrity: sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==} - engines: {node: '>= 0.10'} - performance-now@2.1.0: resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} @@ -5640,19 +4997,9 @@ packages: pino-abstract-transport@0.5.0: resolution: {integrity: sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==} - pino-abstract-transport@2.0.0: - resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==} - pino-std-serializers@4.0.0: resolution: {integrity: sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==} - pino-std-serializers@7.0.0: - resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==} - - pino@10.0.0: - resolution: {integrity: sha512-eI9pKwWEix40kfvSzqEP6ldqOoBIN7dwD/o91TY5z8vQI12sAffpR/pOqAD1IVVwIVHDpHjkq0joBPdJD0rafA==} - hasBin: true - pino@7.11.0: resolution: {integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==} hasBin: true @@ -5664,9 +5011,6 @@ packages: pkg-install@1.0.0: resolution: {integrity: sha512-UGI8bfhrDb1KN01RZ7Bq08GRQc8rmVjxQ2up0g4mUHPCYDTK1FzQ0PMmLOBCHg3yaIijZ2U3Fn9ofLa4N392Ug==} - pkg-types@1.3.1: - resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - pkg-up@3.1.0: resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} engines: {node: '>=8'} @@ -5711,6 +5055,10 @@ packages: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.13: + resolution: {integrity: sha512-qif0+jGGZoLWdHey3UFHHWP0H7Gbmsk8T5VEqyYFbWqPr1XqvLGBbk/sl8V5exGmcYJklJOhOQq1pV9IcsiFag==} + engines: {node: ^10 || ^12 || >=14} + postgres-array@2.0.0: resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} engines: {node: '>=4'} @@ -5752,9 +5100,6 @@ packages: process-warning@1.0.0: resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} - process-warning@5.0.0: - resolution: {integrity: sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==} - process@0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} @@ -5898,9 +5243,6 @@ packages: react: ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 || ^19.0.0 react-dom: ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 || ^19.0.0 - react-property@2.0.2: - resolution: {integrity: sha512-+PbtI3VuDV0l6CleQMsx2gtK0JZbZKbpdu5ynr+lbsuvtmgbNcS3VM0tuY2QjFNOcWxvXeHjDpy42RO+4U2rug==} - react-remove-scroll-bar@2.3.8: resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} engines: {node: '>=10'} @@ -5971,10 +5313,6 @@ packages: resolution: {integrity: sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==} engines: {node: '>= 12.13.0'} - real-require@0.2.0: - resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} - engines: {node: '>= 12.13.0'} - redis-errors@1.2.0: resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} engines: {node: '>=4'} @@ -6037,9 +5375,6 @@ packages: resolution: {integrity: sha512-gAZ+kLqBdHarXB64XpAe2VCjB7rIRv+mU8tfRWziHRJ5umKsIHN2tLLv6EtMw7WCdP19S0ERVMldNvxYCHnhSQ==} engines: {node: '>=8.6.0'} - require-like@0.1.2: - resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==} - require-main-filename@2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} @@ -6054,9 +5389,6 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - resolve@1.17.0: - resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} - resolve@1.22.11: resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} engines: {node: '>= 0.4'} @@ -6082,19 +5414,6 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rimraf@2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - - ripemd160@2.0.3: - resolution: {integrity: sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==} - engines: {node: '>= 0.8'} - - rlp@2.2.7: - resolution: {integrity: sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==} - hasBin: true - rollup@4.52.5: resolution: {integrity: sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -6149,13 +5468,6 @@ packages: resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} engines: {node: '>= 10.13.0'} - scrypt-js@3.0.1: - resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==} - - secp256k1@4.0.4: - resolution: {integrity: sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw==} - engines: {node: '>=18.0.0'} - semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true @@ -6195,9 +5507,6 @@ packages: resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} engines: {node: '>= 0.4'} - setimmediate@1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} @@ -6248,9 +5557,6 @@ packages: signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - slow-redact@0.3.2: - resolution: {integrity: sha512-MseHyi2+E/hBRqdOi5COy6wZ7j7DxXRz9NkseavNYSvvWC06D8a5cidVZX3tcG5eCW3NIyVU4zT63hw0Q486jw==} - socket.io-client@4.8.1: resolution: {integrity: sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==} engines: {node: '>=10.0.0'} @@ -6259,17 +5565,9 @@ packages: resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} engines: {node: '>=10.0.0'} - solc@0.7.3: - resolution: {integrity: sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==} - engines: {node: '>=8.0.0'} - hasBin: true - sonic-boom@2.8.0: resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} - sonic-boom@4.2.0: - resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==} - source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -6398,10 +5696,6 @@ packages: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} - strip-hex-prefix@1.0.0: - resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} - engines: {node: '>=6.5.0', npm: '>=3'} - strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -6432,10 +5726,6 @@ packages: resolution: {integrity: sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==} engines: {node: '>=14.0.0'} - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -6461,10 +5751,20 @@ packages: resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==} engines: {node: ^14.18.0 || >=16.0.0} + tailwind-merge@2.6.1: + resolution: {integrity: sha512-Oo6tHdpZsGpkKG88HJ8RR1rg/RdnEkQEfMoEk2x1XRI3F1AxeU+ijRXpiVUF4UbLfcxxRGw6TbUINKYdWVsQTQ==} + + tailwindcss@4.2.4: + resolution: {integrity: sha512-HhKppgO81FQof5m6TEnuBWCZGgfRAWbaeOaGT00KOy/Pf/j6oUihdvBpA7ltCeAvZpFhW3j0PTclkxsd4IXYDA==} + tapable@2.3.0: resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} engines: {node: '>=6'} + tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} + tar-stream@2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} @@ -6493,9 +5793,6 @@ packages: thread-stream@0.15.2: resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==} - thread-stream@3.1.0: - resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==} - tiny-case@1.0.3: resolution: {integrity: sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==} @@ -6509,10 +5806,6 @@ packages: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} - tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - to-buffer@1.2.2: resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==} engines: {node: '>= 0.4'} @@ -6585,15 +5878,9 @@ packages: tslib@2.4.0: resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} - tslib@2.7.0: - resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} - tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsort@0.0.1: - resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==} - tsx@4.20.6: resolution: {integrity: sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==} engines: {node: '>=18.0.0'} @@ -6602,23 +5889,13 @@ packages: tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - tweetnacl-util@0.15.1: - resolution: {integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==} - tweetnacl@0.14.5: resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} - tweetnacl@1.0.3: - resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} - type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -6683,19 +5960,9 @@ packages: uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} - undici-types@6.19.8: - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} - undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici@5.29.0: - resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} - engines: {node: '>=14.0'} - - unfetch@4.2.0: - resolution: {integrity: sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==} - unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} @@ -6714,10 +5981,6 @@ packages: unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} - universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} @@ -6964,9 +6227,6 @@ packages: webpack-cli: optional: true - whatwg-fetch@3.6.20: - resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} - whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -7003,17 +6263,10 @@ packages: engines: {node: ^16.13.0 || >=18.0.0} hasBin: true - widest-line@3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} - word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - workerpool@6.5.1: - resolution: {integrity: sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==} - wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -7121,10 +6374,6 @@ packages: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} - yargs-unparser@2.0.0: - resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} - engines: {node: '>=10'} - yargs@15.4.1: resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} engines: {node: '>=8'} @@ -7233,8 +6482,6 @@ packages: snapshots: - '@adraffy/ens-normalize@1.10.1': {} - '@adraffy/ens-normalize@1.11.1': {} '@ai-sdk/gateway@2.0.1(zod@4.1.12)': @@ -7255,6 +6502,8 @@ snapshots: dependencies: json-schema: 0.4.0 + '@alloc/quick-lru@5.2.0': {} + '@apollo/client@3.14.0(@types/react@19.2.2)(graphql@16.11.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@16.11.0) @@ -7298,7 +6547,7 @@ snapshots: '@babel/types': 7.28.4 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -7339,8 +6588,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-plugin-utils@7.27.1': {} - '@babel/helper-string-parser@7.27.1': {} '@babel/helper-validator-identifier@7.27.1': {} @@ -7356,11 +6603,6 @@ snapshots: dependencies: '@babel/types': 7.28.4 - '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/runtime@7.28.4': {} '@babel/template@7.27.2': @@ -7377,7 +6619,7 @@ snapshots: '@babel/parser': 7.28.4 '@babel/template': 7.27.2 '@babel/types': 7.28.4 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -7406,136 +6648,11 @@ snapshots: - utf-8-validate - zod - '@buildeross/auction-ui@0.2.1(c9ae5cdf2b07f0bac9944517cffb353c)': - dependencies: - '@buildeross/constants': 0.2.1(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12)) - '@buildeross/hooks': 0.2.1(9462acc82b5989c9028c61f86b2f6543) - '@buildeross/ipfs-service': 0.2.1(@buildeross/constants@0.2.1(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12))) - '@buildeross/sdk': 0.2.1(9221b806ea8c584e5427371ffbc221f5) - '@buildeross/stores': 0.2.1(@buildeross/constants@0.2.1(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12)))(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(@types/react@19.2.2)(react@19.2.0)(use-sync-external-store@1.4.0(react@19.2.0)) - '@buildeross/types': 0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)) - '@buildeross/ui': 0.2.1(2ea7fbee4993c37869f6e0b8b028d63d) - '@buildeross/utils': 0.2.1(a505358f10def67b37ba69c90a14d9e5) - '@buildeross/zord': 0.2.1(@types/react@19.2.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@vanilla-extract/css': 1.17.4(babel-plugin-macros@3.1.0) - axios: 1.12.2 - dayjs: 1.11.18 - framer-motion: 12.23.24(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) - swr: 2.3.6(react@19.2.0) - viem: 2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12) - wagmi: 2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12) - transitivePeerDependencies: - - '@emotion/is-prop-valid' - - babel-plugin-macros - - debug - '@buildeross/constants@0.2.1(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12))': dependencies: '@buildeross/types': 0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)) wagmi: 2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12) - '@buildeross/create-proposal-ui@0.2.1(c736f66ccb179f6c31d9de17145db021)': - dependencies: - '@buildeross/constants': 0.2.1(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12)) - '@buildeross/hooks': 0.2.1(9462acc82b5989c9028c61f86b2f6543) - '@buildeross/ipfs-service': 0.2.1(@buildeross/constants@0.2.1(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12))) - '@buildeross/proposal-ui': 0.2.1(ca580cc096943ddea41afa570dee71f5) - '@buildeross/sdk': 0.2.1(9221b806ea8c584e5427371ffbc221f5) - '@buildeross/stores': 0.2.1(@buildeross/constants@0.2.1(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12)))(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(@types/react@19.2.2)(react@19.2.0)(use-sync-external-store@1.4.0(react@19.2.0)) - '@buildeross/types': 0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)) - '@buildeross/ui': 0.2.1(2ea7fbee4993c37869f6e0b8b028d63d) - '@buildeross/utils': 0.2.1(a505358f10def67b37ba69c90a14d9e5) - '@buildeross/zord': 0.2.1(@types/react@19.2.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@ethereum-attestation-service/eas-sdk': 2.9.0(bufferutil@4.0.9)(ts-node@10.9.2(@types/node@20.19.23)(typescript@5.9.3))(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12) - '@vanilla-extract/css': 1.17.4(babel-plugin-macros@3.1.0) - '@walletconnect/core': 2.22.4(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12) - '@walletconnect/utils': 2.22.4(ioredis@5.8.2)(typescript@5.9.3)(zod@4.1.12) - '@walletconnect/web3wallet': 1.16.1(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12) - axios: 1.12.2 - bs58: 6.0.0 - dayjs: 1.11.18 - formik: 2.4.6(@types/react@19.2.2)(react@19.2.0) - framer-motion: 12.23.24(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - lanyard: 1.1.2 - lodash: 4.17.21 - papaparse: 5.5.3 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) - swr: 2.3.6(react@19.2.0) - viem: 2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12) - wagmi: 2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12) - yup: 1.7.1 - zustand: 5.0.8(@types/react@19.2.2)(react@19.2.0)(use-sync-external-store@1.4.0(react@19.2.0)) - optionalDependencies: - '@sentry/nextjs': 9.46.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(next@15.5.6(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)(webpack@5.102.1) - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@emotion/is-prop-valid' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@types/react' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - babel-plugin-macros - - bufferutil - - c-kzg - - db0 - - debug - - encoding - - immer - - ioredis - - supports-color - - ts-node - - typescript - - uploadthing - - use-sync-external-store - - utf-8-validate - - zod - - '@buildeross/dao-ui@0.2.1(0e25c020d2317340c3b4a863ccc780c7)': - dependencies: - '@buildeross/constants': 0.2.1(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12)) - '@buildeross/hooks': 0.2.1(9462acc82b5989c9028c61f86b2f6543) - '@buildeross/ipfs-service': 0.2.1(@buildeross/constants@0.2.1(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12))) - '@buildeross/proposal-ui': 0.2.1(ca580cc096943ddea41afa570dee71f5) - '@buildeross/sdk': 0.2.1(9221b806ea8c584e5427371ffbc221f5) - '@buildeross/stores': 0.2.1(@buildeross/constants@0.2.1(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12)))(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(@types/react@19.2.2)(react@19.2.0)(use-sync-external-store@1.4.0(react@19.2.0)) - '@buildeross/types': 0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)) - '@buildeross/ui': 0.2.1(2ea7fbee4993c37869f6e0b8b028d63d) - '@buildeross/utils': 0.2.1(a505358f10def67b37ba69c90a14d9e5) - '@buildeross/zord': 0.2.1(@types/react@19.2.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@vanilla-extract/css': 1.17.4(babel-plugin-macros@3.1.0) - axios: 1.12.2 - dayjs: 1.11.18 - formik: 2.4.6(@types/react@19.2.2)(react@19.2.0) - framer-motion: 12.23.24(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - html-react-parser: 5.2.7(@types/react@19.2.2)(react@19.2.0) - lodash: 4.17.21 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) - swr: 2.3.6(react@19.2.0) - viem: 2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12) - wagmi: 2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12) - yup: 1.7.1 - transitivePeerDependencies: - - '@emotion/is-prop-valid' - - '@types/react' - - babel-plugin-macros - - debug - '@buildeross/hooks@0.2.1(9462acc82b5989c9028c61f86b2f6543)': dependencies: '@buildeross/constants': 0.2.1(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12)) @@ -7573,43 +6690,6 @@ snapshots: '@buildeross/constants': 0.2.1(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12)) sha.js: 2.4.12 - '@buildeross/proposal-ui@0.2.1(ca580cc096943ddea41afa570dee71f5)': - dependencies: - '@buildeross/constants': 0.2.1(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12)) - '@buildeross/hooks': 0.2.1(9462acc82b5989c9028c61f86b2f6543) - '@buildeross/ipfs-service': 0.2.1(@buildeross/constants@0.2.1(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12))) - '@buildeross/sdk': 0.2.1(9221b806ea8c584e5427371ffbc221f5) - '@buildeross/stores': 0.2.1(@buildeross/constants@0.2.1(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12)))(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(@types/react@19.2.2)(react@19.2.0)(use-sync-external-store@1.4.0(react@19.2.0)) - '@buildeross/types': 0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)) - '@buildeross/ui': 0.2.1(2ea7fbee4993c37869f6e0b8b028d63d) - '@buildeross/utils': 0.2.1(a505358f10def67b37ba69c90a14d9e5) - '@buildeross/zord': 0.2.1(@types/react@19.2.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@ethereum-attestation-service/eas-sdk': 2.9.0(bufferutil@4.0.9)(ts-node@10.9.2(@types/node@20.19.23)(typescript@5.9.3))(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12) - '@vanilla-extract/css': 1.17.4(babel-plugin-macros@3.1.0) - axios: 1.12.2 - dayjs: 1.11.18 - formik: 2.4.6(@types/react@19.2.2)(react@19.2.0) - framer-motion: 12.23.24(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - lodash: 4.17.21 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) - swr: 2.3.6(react@19.2.0) - viem: 2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12) - wagmi: 2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12) - yup: 1.7.1 - transitivePeerDependencies: - - '@emotion/is-prop-valid' - - '@types/react' - - babel-plugin-macros - - bufferutil - - c-kzg - - debug - - supports-color - - ts-node - - typescript - - utf-8-validate - - zod - '@buildeross/sdk@0.2.1(9221b806ea8c584e5427371ffbc221f5)': dependencies: '@buildeross/constants': 0.2.1(@buildeross/types@0.2.1(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12)) @@ -7975,9 +7055,9 @@ snapshots: '@esbuild/win32-x64@0.25.11': optional: true - '@eslint-community/eslint-utils@4.9.0(eslint@9.38.0)': + '@eslint-community/eslint-utils@4.9.0(eslint@9.38.0(jiti@2.6.1))': dependencies: - eslint: 9.38.0 + eslint: 9.38.0(jiti@2.6.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} @@ -7985,7 +7065,7 @@ snapshots: '@eslint/config-array@0.21.1': dependencies: '@eslint/object-schema': 2.1.7 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -8001,7 +7081,7 @@ snapshots: '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 @@ -8021,37 +7101,6 @@ snapshots: '@eslint/core': 0.16.0 levn: 0.4.1 - '@ethereum-attestation-service/eas-contracts@1.7.1(bufferutil@4.0.9)(ts-node@10.9.2(@types/node@20.19.23)(typescript@5.9.3))(typescript@5.9.3)(utf-8-validate@5.0.10)': - dependencies: - hardhat: 2.22.4(bufferutil@4.0.9)(ts-node@10.9.2(@types/node@20.19.23)(typescript@5.9.3))(typescript@5.9.3)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - bufferutil - - c-kzg - - supports-color - - ts-node - - typescript - - utf-8-validate - - '@ethereum-attestation-service/eas-sdk@2.9.0(bufferutil@4.0.9)(ts-node@10.9.2(@types/node@20.19.23)(typescript@5.9.3))(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)': - dependencies: - '@ethereum-attestation-service/eas-contracts': 1.7.1(bufferutil@4.0.9)(ts-node@10.9.2(@types/node@20.19.23)(typescript@5.9.3))(typescript@5.9.3)(utf-8-validate@5.0.10) - '@openzeppelin/merkle-tree': 1.0.8 - ethers: 6.15.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - js-base64: 3.7.8 - lodash: 4.17.21 - multiformats: 9.9.0 - pako: 2.1.0 - semver: 7.7.3 - viem: 2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12) - transitivePeerDependencies: - - bufferutil - - c-kzg - - supports-color - - ts-node - - typescript - - utf-8-validate - - zod - '@ethereumjs/common@3.2.0': dependencies: '@ethereumjs/util': 8.1.0 @@ -8072,159 +7121,6 @@ snapshots: ethereum-cryptography: 2.2.1 micro-ftch: 0.3.1 - '@ethersproject/abi@5.8.0': - dependencies: - '@ethersproject/address': 5.8.0 - '@ethersproject/bignumber': 5.8.0 - '@ethersproject/bytes': 5.8.0 - '@ethersproject/constants': 5.8.0 - '@ethersproject/hash': 5.8.0 - '@ethersproject/keccak256': 5.8.0 - '@ethersproject/logger': 5.8.0 - '@ethersproject/properties': 5.8.0 - '@ethersproject/strings': 5.8.0 - - '@ethersproject/abstract-provider@5.8.0': - dependencies: - '@ethersproject/bignumber': 5.8.0 - '@ethersproject/bytes': 5.8.0 - '@ethersproject/logger': 5.8.0 - '@ethersproject/networks': 5.8.0 - '@ethersproject/properties': 5.8.0 - '@ethersproject/transactions': 5.8.0 - '@ethersproject/web': 5.8.0 - - '@ethersproject/abstract-signer@5.8.0': - dependencies: - '@ethersproject/abstract-provider': 5.8.0 - '@ethersproject/bignumber': 5.8.0 - '@ethersproject/bytes': 5.8.0 - '@ethersproject/logger': 5.8.0 - '@ethersproject/properties': 5.8.0 - - '@ethersproject/address@5.8.0': - dependencies: - '@ethersproject/bignumber': 5.8.0 - '@ethersproject/bytes': 5.8.0 - '@ethersproject/keccak256': 5.8.0 - '@ethersproject/logger': 5.8.0 - '@ethersproject/rlp': 5.8.0 - - '@ethersproject/base64@5.8.0': - dependencies: - '@ethersproject/bytes': 5.8.0 - - '@ethersproject/bignumber@5.8.0': - dependencies: - '@ethersproject/bytes': 5.8.0 - '@ethersproject/logger': 5.8.0 - bn.js: 5.2.2 - - '@ethersproject/bytes@5.8.0': - dependencies: - '@ethersproject/logger': 5.8.0 - - '@ethersproject/constants@5.8.0': - dependencies: - '@ethersproject/bignumber': 5.8.0 - - '@ethersproject/hash@5.7.0': - dependencies: - '@ethersproject/abstract-signer': 5.8.0 - '@ethersproject/address': 5.8.0 - '@ethersproject/base64': 5.8.0 - '@ethersproject/bignumber': 5.8.0 - '@ethersproject/bytes': 5.8.0 - '@ethersproject/keccak256': 5.8.0 - '@ethersproject/logger': 5.8.0 - '@ethersproject/properties': 5.8.0 - '@ethersproject/strings': 5.8.0 - - '@ethersproject/hash@5.8.0': - dependencies: - '@ethersproject/abstract-signer': 5.8.0 - '@ethersproject/address': 5.8.0 - '@ethersproject/base64': 5.8.0 - '@ethersproject/bignumber': 5.8.0 - '@ethersproject/bytes': 5.8.0 - '@ethersproject/keccak256': 5.8.0 - '@ethersproject/logger': 5.8.0 - '@ethersproject/properties': 5.8.0 - '@ethersproject/strings': 5.8.0 - - '@ethersproject/keccak256@5.8.0': - dependencies: - '@ethersproject/bytes': 5.8.0 - js-sha3: 0.8.0 - - '@ethersproject/logger@5.8.0': {} - - '@ethersproject/networks@5.8.0': - dependencies: - '@ethersproject/logger': 5.8.0 - - '@ethersproject/properties@5.8.0': - dependencies: - '@ethersproject/logger': 5.8.0 - - '@ethersproject/rlp@5.8.0': - dependencies: - '@ethersproject/bytes': 5.8.0 - '@ethersproject/logger': 5.8.0 - - '@ethersproject/signing-key@5.8.0': - dependencies: - '@ethersproject/bytes': 5.8.0 - '@ethersproject/logger': 5.8.0 - '@ethersproject/properties': 5.8.0 - bn.js: 5.2.2 - elliptic: 6.6.1 - hash.js: 1.1.7 - - '@ethersproject/strings@5.8.0': - dependencies: - '@ethersproject/bytes': 5.8.0 - '@ethersproject/constants': 5.8.0 - '@ethersproject/logger': 5.8.0 - - '@ethersproject/transactions@5.7.0': - dependencies: - '@ethersproject/address': 5.8.0 - '@ethersproject/bignumber': 5.8.0 - '@ethersproject/bytes': 5.8.0 - '@ethersproject/constants': 5.8.0 - '@ethersproject/keccak256': 5.8.0 - '@ethersproject/logger': 5.8.0 - '@ethersproject/properties': 5.8.0 - '@ethersproject/rlp': 5.8.0 - '@ethersproject/signing-key': 5.8.0 - - '@ethersproject/transactions@5.8.0': - dependencies: - '@ethersproject/address': 5.8.0 - '@ethersproject/bignumber': 5.8.0 - '@ethersproject/bytes': 5.8.0 - '@ethersproject/constants': 5.8.0 - '@ethersproject/keccak256': 5.8.0 - '@ethersproject/logger': 5.8.0 - '@ethersproject/properties': 5.8.0 - '@ethersproject/rlp': 5.8.0 - '@ethersproject/signing-key': 5.8.0 - - '@ethersproject/web@5.8.0': - dependencies: - '@ethersproject/base64': 5.8.0 - '@ethersproject/bytes': 5.8.0 - '@ethersproject/logger': 5.8.0 - '@ethersproject/properties': 5.8.0 - '@ethersproject/strings': 5.8.0 - - '@fastify/busboy@2.1.1': {} - - '@fontsource/inter@5.2.8': {} - - '@fontsource/londrina-solid@5.2.7': {} - '@gemini-wallet/core@0.2.0(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))': dependencies: '@metamask/rpc-errors': 7.0.2 @@ -8363,6 +7259,7 @@ snapshots: dependencies: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 + optional: true '@jridgewell/sourcemap-codec@1.5.5': {} @@ -8382,13 +7279,6 @@ snapshots: dependencies: '@lit-labs/ssr-dom-shim': 1.4.0 - '@metamask/abi-utils@2.0.4': - dependencies: - '@metamask/superstruct': 3.2.1 - '@metamask/utils': 9.3.0 - transitivePeerDependencies: - - supports-color - '@metamask/eth-json-rpc-provider@1.0.1': dependencies: '@metamask/json-rpc-engine': 7.3.3 @@ -8397,14 +7287,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@metamask/eth-sig-util@4.0.1': - dependencies: - ethereumjs-abi: 0.6.8 - ethereumjs-util: 6.2.1 - ethjs-util: 0.1.6 - tweetnacl: 1.0.3 - tweetnacl-util: 0.15.1 - '@metamask/json-rpc-engine@7.3.3': dependencies: '@metamask/rpc-errors': 6.4.0 @@ -8536,7 +7418,7 @@ snapshots: '@scure/base': 1.2.6 '@types/debug': 4.1.12 '@types/lodash': 4.17.20 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 lodash: 4.17.21 pony-cause: 2.1.11 semver: 7.7.3 @@ -8548,7 +7430,7 @@ snapshots: dependencies: '@ethereumjs/tx': 4.2.0 '@types/debug': 4.1.12 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 semver: 7.7.3 superstruct: 1.0.4 transitivePeerDependencies: @@ -8561,7 +7443,7 @@ snapshots: '@noble/hashes': 1.8.0 '@scure/base': 1.2.6 '@types/debug': 4.1.12 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 pony-cause: 2.1.11 semver: 7.7.3 uuid: 9.0.1 @@ -8575,15 +7457,13 @@ snapshots: '@noble/hashes': 1.8.0 '@scure/base': 1.2.6 '@types/debug': 4.1.12 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 pony-cause: 2.1.11 semver: 7.7.3 uuid: 9.0.1 transitivePeerDependencies: - supports-color - '@msgpack/msgpack@3.1.2': {} - '@napi-rs/wasm-runtime@0.2.12': dependencies: '@emnapi/core': 1.6.0 @@ -8625,10 +7505,6 @@ snapshots: '@noble/ciphers@1.3.0': {} - '@noble/curves@1.2.0': - dependencies: - '@noble/hashes': 1.3.2 - '@noble/curves@1.4.2': dependencies: '@noble/hashes': 1.4.0 @@ -8641,10 +7517,6 @@ snapshots: dependencies: '@noble/hashes': 1.7.1 - '@noble/curves@1.9.0': - dependencies: - '@noble/hashes': 1.8.0 - '@noble/curves@1.9.1': dependencies: '@noble/hashes': 1.8.0 @@ -8653,10 +7525,6 @@ snapshots: dependencies: '@noble/hashes': 1.8.0 - '@noble/hashes@1.2.0': {} - - '@noble/hashes@1.3.2': {} - '@noble/hashes@1.4.0': {} '@noble/hashes@1.7.0': {} @@ -8665,8 +7533,6 @@ snapshots: '@noble/hashes@1.8.0': {} - '@noble/secp256k1@1.7.1': {} - '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -8681,81 +7547,6 @@ snapshots: '@nolyfill/is-core-module@1.0.39': {} - '@nomicfoundation/edr-darwin-arm64@0.3.8': {} - - '@nomicfoundation/edr-darwin-x64@0.3.8': {} - - '@nomicfoundation/edr-linux-arm64-gnu@0.3.8': {} - - '@nomicfoundation/edr-linux-arm64-musl@0.3.8': {} - - '@nomicfoundation/edr-linux-x64-gnu@0.3.8': {} - - '@nomicfoundation/edr-linux-x64-musl@0.3.8': {} - - '@nomicfoundation/edr-win32-x64-msvc@0.3.8': {} - - '@nomicfoundation/edr@0.3.8': - dependencies: - '@nomicfoundation/edr-darwin-arm64': 0.3.8 - '@nomicfoundation/edr-darwin-x64': 0.3.8 - '@nomicfoundation/edr-linux-arm64-gnu': 0.3.8 - '@nomicfoundation/edr-linux-arm64-musl': 0.3.8 - '@nomicfoundation/edr-linux-x64-gnu': 0.3.8 - '@nomicfoundation/edr-linux-x64-musl': 0.3.8 - '@nomicfoundation/edr-win32-x64-msvc': 0.3.8 - - '@nomicfoundation/ethereumjs-common@4.0.4': - dependencies: - '@nomicfoundation/ethereumjs-util': 9.0.4 - transitivePeerDependencies: - - c-kzg - - '@nomicfoundation/ethereumjs-rlp@5.0.4': {} - - '@nomicfoundation/ethereumjs-tx@5.0.4': - dependencies: - '@nomicfoundation/ethereumjs-common': 4.0.4 - '@nomicfoundation/ethereumjs-rlp': 5.0.4 - '@nomicfoundation/ethereumjs-util': 9.0.4 - ethereum-cryptography: 0.1.3 - - '@nomicfoundation/ethereumjs-util@9.0.4': - dependencies: - '@nomicfoundation/ethereumjs-rlp': 5.0.4 - ethereum-cryptography: 0.1.3 - - '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2': - optional: true - - '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2': - optional: true - - '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2': - optional: true - - '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2': - optional: true - - '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2': - optional: true - - '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2': - optional: true - - '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2': - optional: true - - '@nomicfoundation/solidity-analyzer@0.1.2': - optionalDependencies: - '@nomicfoundation/solidity-analyzer-darwin-arm64': 0.1.2 - '@nomicfoundation/solidity-analyzer-darwin-x64': 0.1.2 - '@nomicfoundation/solidity-analyzer-linux-arm64-gnu': 0.1.2 - '@nomicfoundation/solidity-analyzer-linux-arm64-musl': 0.1.2 - '@nomicfoundation/solidity-analyzer-linux-x64-gnu': 0.1.2 - '@nomicfoundation/solidity-analyzer-linux-x64-musl': 0.1.2 - '@nomicfoundation/solidity-analyzer-win32-x64-msvc': 0.1.2 - '@opentelemetry/api-logs@0.57.2': dependencies: '@opentelemetry/api': 1.9.0 @@ -9030,13 +7821,6 @@ snapshots: '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) optional: true - '@openzeppelin/merkle-tree@1.0.8': - dependencies: - '@metamask/abi-utils': 2.0.4 - ethereum-cryptography: 3.2.0 - transitivePeerDependencies: - - supports-color - '@paulmillr/qr@0.2.1': {} '@pkgr/core@0.2.9': {} @@ -9051,11 +7835,24 @@ snapshots: - supports-color optional: true - '@rainbow-me/rainbowkit@2.2.9(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12))': + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.2)(react@19.2.0)': dependencies: - '@tanstack/react-query': 5.90.5(react@19.2.0) - '@vanilla-extract/css': 1.17.3(babel-plugin-macros@3.1.0) - '@vanilla-extract/dynamic': 2.1.4 + react: 19.2.0 + optionalDependencies: + '@types/react': 19.2.2 + + '@radix-ui/react-slot@1.2.4(@types/react@19.2.2)(react@19.2.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) + react: 19.2.0 + optionalDependencies: + '@types/react': 19.2.2 + + '@rainbow-me/rainbowkit@2.2.9(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12))': + dependencies: + '@tanstack/react-query': 5.90.5(react@19.2.0) + '@vanilla-extract/css': 1.17.3(babel-plugin-macros@3.1.0) + '@vanilla-extract/dynamic': 2.1.4 '@vanilla-extract/sprinkles': 1.6.4(@vanilla-extract/css@1.17.3(babel-plugin-macros@3.1.0)) clsx: 2.1.1 cuer: 0.0.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3) @@ -9447,12 +8244,6 @@ snapshots: '@scure/base@1.2.6': {} - '@scure/bip32@1.1.5': - dependencies: - '@noble/hashes': 1.2.0 - '@noble/secp256k1': 1.7.1 - '@scure/base': 1.1.9 - '@scure/bip32@1.4.0': dependencies: '@noble/curves': 1.4.2 @@ -9471,11 +8262,6 @@ snapshots: '@noble/hashes': 1.8.0 '@scure/base': 1.2.6 - '@scure/bip39@1.1.1': - dependencies: - '@noble/hashes': 1.2.0 - '@scure/base': 1.1.9 - '@scure/bip39@1.3.0': dependencies: '@noble/hashes': 1.4.0 @@ -9585,29 +8371,9 @@ snapshots: - supports-color optional: true - '@sentry/core@5.30.0': - dependencies: - '@sentry/hub': 5.30.0 - '@sentry/minimal': 5.30.0 - '@sentry/types': 5.30.0 - '@sentry/utils': 5.30.0 - tslib: 1.14.1 - '@sentry/core@9.46.0': optional: true - '@sentry/hub@5.30.0': - dependencies: - '@sentry/types': 5.30.0 - '@sentry/utils': 5.30.0 - tslib: 1.14.1 - - '@sentry/minimal@5.30.0': - dependencies: - '@sentry/hub': 5.30.0 - '@sentry/types': 5.30.0 - tslib: 1.14.1 - '@sentry/nextjs@9.46.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(next@15.5.6(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)(webpack@5.102.1)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9649,20 +8415,6 @@ snapshots: import-in-the-middle: 1.15.0 optional: true - '@sentry/node@5.30.0': - dependencies: - '@sentry/core': 5.30.0 - '@sentry/hub': 5.30.0 - '@sentry/tracing': 5.30.0 - '@sentry/types': 5.30.0 - '@sentry/utils': 5.30.0 - cookie: 0.4.2 - https-proxy-agent: 5.0.1 - lru_map: 0.3.3 - tslib: 1.14.1 - transitivePeerDependencies: - - supports-color - '@sentry/node@9.46.0': dependencies: '@opentelemetry/api': 1.9.0 @@ -9722,21 +8474,6 @@ snapshots: react: 19.2.0 optional: true - '@sentry/tracing@5.30.0': - dependencies: - '@sentry/hub': 5.30.0 - '@sentry/minimal': 5.30.0 - '@sentry/types': 5.30.0 - '@sentry/utils': 5.30.0 - tslib: 1.14.1 - - '@sentry/types@5.30.0': {} - - '@sentry/utils@5.30.0': - dependencies: - '@sentry/types': 5.30.0 - tslib: 1.14.1 - '@sentry/vercel-edge@9.46.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))': dependencies: '@opentelemetry/api': 1.9.0 @@ -9836,91 +8573,80 @@ snapshots: '@socket.io/component-emitter@3.1.2': {} - '@stablelib/aead@1.0.1': {} - - '@stablelib/binary@1.0.1': - dependencies: - '@stablelib/int': 1.0.1 - - '@stablelib/bytes@1.0.1': {} - - '@stablelib/chacha20poly1305@1.0.1': - dependencies: - '@stablelib/aead': 1.0.1 - '@stablelib/binary': 1.0.1 - '@stablelib/chacha': 1.0.1 - '@stablelib/constant-time': 1.0.1 - '@stablelib/poly1305': 1.0.1 - '@stablelib/wipe': 1.0.1 + '@standard-schema/spec@1.0.0': {} - '@stablelib/chacha@1.0.1': + '@swc/helpers@0.5.15': dependencies: - '@stablelib/binary': 1.0.1 - '@stablelib/wipe': 1.0.1 - - '@stablelib/constant-time@1.0.1': {} + tslib: 2.8.1 - '@stablelib/ed25519@1.0.3': + '@tailwindcss/node@4.2.4': dependencies: - '@stablelib/random': 1.0.2 - '@stablelib/sha512': 1.0.1 - '@stablelib/wipe': 1.0.1 + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.21.0 + jiti: 2.6.1 + lightningcss: 1.32.0 + magic-string: 0.30.21 + source-map-js: 1.2.1 + tailwindcss: 4.2.4 - '@stablelib/hash@1.0.1': {} + '@tailwindcss/oxide-android-arm64@4.2.4': + optional: true - '@stablelib/hkdf@1.0.1': - dependencies: - '@stablelib/hash': 1.0.1 - '@stablelib/hmac': 1.0.1 - '@stablelib/wipe': 1.0.1 + '@tailwindcss/oxide-darwin-arm64@4.2.4': + optional: true - '@stablelib/hmac@1.0.1': - dependencies: - '@stablelib/constant-time': 1.0.1 - '@stablelib/hash': 1.0.1 - '@stablelib/wipe': 1.0.1 + '@tailwindcss/oxide-darwin-x64@4.2.4': + optional: true - '@stablelib/int@1.0.1': {} + '@tailwindcss/oxide-freebsd-x64@4.2.4': + optional: true - '@stablelib/keyagreement@1.0.1': - dependencies: - '@stablelib/bytes': 1.0.1 + '@tailwindcss/oxide-linux-arm-gnueabihf@4.2.4': + optional: true - '@stablelib/poly1305@1.0.1': - dependencies: - '@stablelib/constant-time': 1.0.1 - '@stablelib/wipe': 1.0.1 + '@tailwindcss/oxide-linux-arm64-gnu@4.2.4': + optional: true - '@stablelib/random@1.0.2': - dependencies: - '@stablelib/binary': 1.0.1 - '@stablelib/wipe': 1.0.1 + '@tailwindcss/oxide-linux-arm64-musl@4.2.4': + optional: true - '@stablelib/sha256@1.0.1': - dependencies: - '@stablelib/binary': 1.0.1 - '@stablelib/hash': 1.0.1 - '@stablelib/wipe': 1.0.1 + '@tailwindcss/oxide-linux-x64-gnu@4.2.4': + optional: true - '@stablelib/sha512@1.0.1': - dependencies: - '@stablelib/binary': 1.0.1 - '@stablelib/hash': 1.0.1 - '@stablelib/wipe': 1.0.1 + '@tailwindcss/oxide-linux-x64-musl@4.2.4': + optional: true - '@stablelib/wipe@1.0.1': {} + '@tailwindcss/oxide-wasm32-wasi@4.2.4': + optional: true - '@stablelib/x25519@1.0.3': - dependencies: - '@stablelib/keyagreement': 1.0.1 - '@stablelib/random': 1.0.2 - '@stablelib/wipe': 1.0.1 + '@tailwindcss/oxide-win32-arm64-msvc@4.2.4': + optional: true - '@standard-schema/spec@1.0.0': {} + '@tailwindcss/oxide-win32-x64-msvc@4.2.4': + optional: true - '@swc/helpers@0.5.15': - dependencies: - tslib: 2.8.1 + '@tailwindcss/oxide@4.2.4': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.2.4 + '@tailwindcss/oxide-darwin-arm64': 4.2.4 + '@tailwindcss/oxide-darwin-x64': 4.2.4 + '@tailwindcss/oxide-freebsd-x64': 4.2.4 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.2.4 + '@tailwindcss/oxide-linux-arm64-gnu': 4.2.4 + '@tailwindcss/oxide-linux-arm64-musl': 4.2.4 + '@tailwindcss/oxide-linux-x64-gnu': 4.2.4 + '@tailwindcss/oxide-linux-x64-musl': 4.2.4 + '@tailwindcss/oxide-wasm32-wasi': 4.2.4 + '@tailwindcss/oxide-win32-arm64-msvc': 4.2.4 + '@tailwindcss/oxide-win32-x64-msvc': 4.2.4 + + '@tailwindcss/postcss@4.2.4': + dependencies: + '@alloc/quick-lru': 5.2.0 + '@tailwindcss/node': 4.2.4 + '@tailwindcss/oxide': 4.2.4 + postcss: 8.5.13 + tailwindcss: 4.2.4 '@tanstack/query-core@5.90.5': {} @@ -9942,14 +8668,6 @@ snapshots: tslib: 2.8.1 optional: true - '@types/bn.js@4.11.6': - dependencies: - '@types/node': 20.19.23 - - '@types/bn.js@5.2.0': - dependencies: - '@types/node': 20.19.23 - '@types/connect@3.4.38': dependencies: '@types/node': 20.19.23 @@ -9963,11 +8681,13 @@ snapshots: dependencies: '@types/eslint': 9.6.1 '@types/estree': 1.0.8 + optional: true '@types/eslint@9.6.1': dependencies: '@types/estree': 1.0.8 '@types/json-schema': 7.0.15 + optional: true '@types/estree-jsx@1.0.5': dependencies: @@ -9998,8 +8718,6 @@ snapshots: '@types/lodash@4.17.20': {} - '@types/lru-cache@5.1.1': {} - '@types/mdast@4.0.4': dependencies: '@types/unist': 3.0.3 @@ -10017,16 +8735,8 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@22.7.5': - dependencies: - undici-types: 6.19.8 - '@types/parse-json@4.0.2': {} - '@types/pbkdf2@3.1.2': - dependencies: - '@types/node': 20.19.23 - '@types/pg-pool@2.0.6': dependencies: '@types/pg': 8.6.1 @@ -10047,10 +8757,6 @@ snapshots: dependencies: csstype: 3.1.3 - '@types/secp256k1@4.0.7': - dependencies: - '@types/node': 20.19.23 - '@types/shimmer@1.2.0': optional: true @@ -10069,15 +8775,15 @@ snapshots: '@types/unist@3.0.3': {} - '@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0)(typescript@5.9.3))(eslint@9.38.0)(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.46.2(eslint@9.38.0)(typescript@5.9.3) + '@typescript-eslint/parser': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.46.2 - '@typescript-eslint/type-utils': 8.46.2(eslint@9.38.0)(typescript@5.9.3) - '@typescript-eslint/utils': 8.46.2(eslint@9.38.0)(typescript@5.9.3) + '@typescript-eslint/type-utils': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.46.2 - eslint: 9.38.0 + eslint: 9.38.0(jiti@2.6.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 @@ -10086,14 +8792,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.46.2(eslint@9.38.0)(typescript@5.9.3)': + '@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/scope-manager': 8.46.2 '@typescript-eslint/types': 8.46.2 '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.46.2 - debug: 4.4.3(supports-color@8.1.1) - eslint: 9.38.0 + debug: 4.4.3 + eslint: 9.38.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -10102,7 +8808,7 @@ snapshots: dependencies: '@typescript-eslint/tsconfig-utils': 8.46.2(typescript@5.9.3) '@typescript-eslint/types': 8.46.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -10116,13 +8822,13 @@ snapshots: dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.46.2(eslint@9.38.0)(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/types': 8.46.2 '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3) - '@typescript-eslint/utils': 8.46.2(eslint@9.38.0)(typescript@5.9.3) - debug: 4.4.3(supports-color@8.1.1) - eslint: 9.38.0 + '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) + debug: 4.4.3 + eslint: 9.38.0(jiti@2.6.1) ts-api-utils: 2.1.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: @@ -10136,7 +8842,7 @@ snapshots: '@typescript-eslint/tsconfig-utils': 8.46.2(typescript@5.9.3) '@typescript-eslint/types': 8.46.2 '@typescript-eslint/visitor-keys': 8.46.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 @@ -10146,13 +8852,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.46.2(eslint@9.38.0)(typescript@5.9.3)': + '@typescript-eslint/utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@2.6.1)) '@typescript-eslint/scope-manager': 8.46.2 '@typescript-eslint/types': 8.46.2 '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3) - eslint: 9.38.0 + eslint: 9.38.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -10223,12 +8929,6 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.11.1': optional: true - '@vanilla-extract/babel-plugin-debug-ids@1.2.2': - dependencies: - '@babel/core': 7.28.4 - transitivePeerDependencies: - - supports-color - '@vanilla-extract/css@1.17.3(babel-plugin-macros@3.1.0)': dependencies: '@emotion/hash': 0.9.2 @@ -10267,31 +8967,6 @@ snapshots: dependencies: '@vanilla-extract/private': 1.0.9 - '@vanilla-extract/integration@8.0.4(babel-plugin-macros@3.1.0)': - dependencies: - '@babel/core': 7.28.4 - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4) - '@vanilla-extract/babel-plugin-debug-ids': 1.2.2 - '@vanilla-extract/css': 1.17.4(babel-plugin-macros@3.1.0) - dedent: 1.7.0(babel-plugin-macros@3.1.0) - esbuild: 0.25.11 - eval: 0.1.8 - find-up: 5.0.0 - javascript-stringify: 2.1.0 - mlly: 1.8.0 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - '@vanilla-extract/next-plugin@2.4.14(babel-plugin-macros@3.1.0)(next@15.5.6(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(webpack@5.102.1)': - dependencies: - '@vanilla-extract/webpack-plugin': 2.3.22(babel-plugin-macros@3.1.0)(webpack@5.102.1) - next: 15.5.6(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - webpack - '@vanilla-extract/private@1.0.9': {} '@vanilla-extract/recipes@0.5.7(@vanilla-extract/css@1.17.4(babel-plugin-macros@3.1.0))': @@ -10306,17 +8981,6 @@ snapshots: dependencies: '@vanilla-extract/css': 1.17.4(babel-plugin-macros@3.1.0) - '@vanilla-extract/webpack-plugin@2.3.22(babel-plugin-macros@3.1.0)(webpack@5.102.1)': - dependencies: - '@vanilla-extract/integration': 8.0.4(babel-plugin-macros@3.1.0) - debug: 4.4.3(supports-color@8.1.1) - loader-utils: 2.0.4 - picocolors: 1.1.1 - webpack: 5.102.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - '@vercel/oidc@3.0.3': {} '@wagmi/connectors@6.1.0(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(@wagmi/core@2.22.1(@tanstack/query-core@5.90.5)(@types/react@19.2.2)(react@19.2.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.0))(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.0))(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(wagmi@2.18.2(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(ioredis@5.8.2)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(zod@4.1.12))(zod@4.1.12)': @@ -10381,89 +9045,6 @@ snapshots: - react - use-sync-external-store - '@walletconnect/auth-client@2.1.2(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)': - dependencies: - '@ethersproject/hash': 5.8.0 - '@ethersproject/transactions': 5.8.0 - '@stablelib/random': 1.0.2 - '@stablelib/sha256': 1.0.1 - '@walletconnect/core': 2.22.4(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12) - '@walletconnect/events': 1.0.1 - '@walletconnect/heartbeat': 1.2.2 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/logger': 2.1.2 - '@walletconnect/time': 1.0.2 - '@walletconnect/utils': 2.22.4(ioredis@5.8.2)(typescript@5.9.3)(zod@4.1.12) - events: 3.3.0 - isomorphic-unfetch: 3.1.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - encoding - - ioredis - - typescript - - uploadthing - - utf-8-validate - - zod - - '@walletconnect/core@2.17.1(bufferutil@4.0.9)(ioredis@5.8.2)(utf-8-validate@5.0.10)': - dependencies: - '@walletconnect/heartbeat': 1.2.2 - '@walletconnect/jsonrpc-provider': 1.0.14 - '@walletconnect/jsonrpc-types': 1.0.4 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/jsonrpc-ws-connection': 1.0.14(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@walletconnect/keyvaluestorage': 1.1.1(ioredis@5.8.2) - '@walletconnect/logger': 2.1.2 - '@walletconnect/relay-api': 1.0.11 - '@walletconnect/relay-auth': 1.0.4 - '@walletconnect/safe-json': 1.0.2 - '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.17.1(ioredis@5.8.2) - '@walletconnect/utils': 2.17.1(ioredis@5.8.2) - '@walletconnect/window-getters': 1.0.1 - events: 3.3.0 - lodash.isequal: 4.5.0 - uint8arrays: 3.1.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - ioredis - - uploadthing - - utf-8-validate - '@walletconnect/core@2.21.0(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: '@walletconnect/heartbeat': 1.2.2 @@ -10552,50 +9133,6 @@ snapshots: - utf-8-validate - zod - '@walletconnect/core@2.22.4(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)': - dependencies: - '@walletconnect/heartbeat': 1.2.2 - '@walletconnect/jsonrpc-provider': 1.0.14 - '@walletconnect/jsonrpc-types': 1.0.4 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/jsonrpc-ws-connection': 1.0.16(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@walletconnect/keyvaluestorage': 1.1.1(ioredis@5.8.2) - '@walletconnect/logger': 3.0.0 - '@walletconnect/relay-api': 1.0.11 - '@walletconnect/relay-auth': 1.1.0 - '@walletconnect/safe-json': 1.0.2 - '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.22.4(ioredis@5.8.2) - '@walletconnect/utils': 2.22.4(ioredis@5.8.2)(typescript@5.9.3)(zod@4.1.12) - '@walletconnect/window-getters': 1.0.1 - es-toolkit: 1.39.3 - events: 3.3.0 - uint8arrays: 3.1.1 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - ioredis - - typescript - - uploadthing - - utf-8-validate - - zod - '@walletconnect/environment@1.0.1': dependencies: tslib: 1.14.1 @@ -10678,16 +9215,6 @@ snapshots: '@walletconnect/jsonrpc-types': 1.0.4 tslib: 1.14.1 - '@walletconnect/jsonrpc-ws-connection@1.0.14(bufferutil@4.0.9)(utf-8-validate@5.0.10)': - dependencies: - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/safe-json': 1.0.2 - events: 3.3.0 - ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - bufferutil - - utf-8-validate - '@walletconnect/jsonrpc-ws-connection@1.0.16(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@walletconnect/jsonrpc-utils': 1.0.8 @@ -10728,24 +9255,10 @@ snapshots: '@walletconnect/safe-json': 1.0.2 pino: 7.11.0 - '@walletconnect/logger@3.0.0': - dependencies: - '@walletconnect/safe-json': 1.0.2 - pino: 10.0.0 - '@walletconnect/relay-api@1.0.11': dependencies: '@walletconnect/jsonrpc-types': 1.0.4 - '@walletconnect/relay-auth@1.0.4': - dependencies: - '@stablelib/ed25519': 1.0.3 - '@stablelib/random': 1.0.2 - '@walletconnect/safe-json': 1.0.2 - '@walletconnect/time': 1.0.2 - tslib: 1.14.1 - uint8arrays: 3.1.1 - '@walletconnect/relay-auth@1.1.0': dependencies: '@noble/curves': 1.8.0 @@ -10758,40 +9271,6 @@ snapshots: dependencies: tslib: 1.14.1 - '@walletconnect/sign-client@2.17.1(bufferutil@4.0.9)(ioredis@5.8.2)(utf-8-validate@5.0.10)': - dependencies: - '@walletconnect/core': 2.17.1(bufferutil@4.0.9)(ioredis@5.8.2)(utf-8-validate@5.0.10) - '@walletconnect/events': 1.0.1 - '@walletconnect/heartbeat': 1.2.2 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/logger': 2.1.2 - '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.17.1(ioredis@5.8.2) - '@walletconnect/utils': 2.17.1(ioredis@5.8.2) - events: 3.3.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - ioredis - - uploadthing - - utf-8-validate - '@walletconnect/sign-client@2.21.0(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: '@walletconnect/core': 2.21.0(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12) @@ -10868,35 +9347,6 @@ snapshots: dependencies: tslib: 1.14.1 - '@walletconnect/types@2.17.1(ioredis@5.8.2)': - dependencies: - '@walletconnect/events': 1.0.1 - '@walletconnect/heartbeat': 1.2.2 - '@walletconnect/jsonrpc-types': 1.0.4 - '@walletconnect/keyvaluestorage': 1.1.1(ioredis@5.8.2) - '@walletconnect/logger': 2.1.2 - events: 3.3.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - db0 - - ioredis - - uploadthing - '@walletconnect/types@2.21.0(ioredis@5.8.2)': dependencies: '@walletconnect/events': 1.0.1 @@ -10955,35 +9405,6 @@ snapshots: - ioredis - uploadthing - '@walletconnect/types@2.22.4(ioredis@5.8.2)': - dependencies: - '@walletconnect/events': 1.0.1 - '@walletconnect/heartbeat': 1.2.2 - '@walletconnect/jsonrpc-types': 1.0.4 - '@walletconnect/keyvaluestorage': 1.1.1(ioredis@5.8.2) - '@walletconnect/logger': 3.0.0 - events: 3.3.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - db0 - - ioredis - - uploadthing - '@walletconnect/universal-provider@2.21.0(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: '@walletconnect/events': 1.0.1 @@ -11064,159 +9485,25 @@ snapshots: - utf-8-validate - zod - '@walletconnect/utils@2.17.1(ioredis@5.8.2)': - dependencies: - '@ethersproject/hash': 5.7.0 - '@ethersproject/transactions': 5.7.0 - '@stablelib/chacha20poly1305': 1.0.1 - '@stablelib/hkdf': 1.0.1 - '@stablelib/random': 1.0.2 - '@stablelib/sha256': 1.0.1 - '@stablelib/x25519': 1.0.3 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/keyvaluestorage': 1.1.1(ioredis@5.8.2) - '@walletconnect/relay-api': 1.0.11 - '@walletconnect/relay-auth': 1.0.4 - '@walletconnect/safe-json': 1.0.2 - '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.17.1(ioredis@5.8.2) - '@walletconnect/window-getters': 1.0.1 - '@walletconnect/window-metadata': 1.0.1 - detect-browser: 5.3.0 - elliptic: 6.5.7 - query-string: 7.1.3 - uint8arrays: 3.1.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - db0 - - ioredis - - uploadthing - '@walletconnect/utils@2.21.0(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: - '@noble/ciphers': 1.2.1 - '@noble/curves': 1.8.1 - '@noble/hashes': 1.7.1 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/keyvaluestorage': 1.1.1(ioredis@5.8.2) - '@walletconnect/relay-api': 1.0.11 - '@walletconnect/relay-auth': 1.1.0 - '@walletconnect/safe-json': 1.0.2 - '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.21.0(ioredis@5.8.2) - '@walletconnect/window-getters': 1.0.1 - '@walletconnect/window-metadata': 1.0.1 - bs58: 6.0.0 - detect-browser: 5.3.0 - query-string: 7.1.3 - uint8arrays: 3.1.0 - viem: 2.23.2(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12) - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - ioredis - - typescript - - uploadthing - - utf-8-validate - - zod - - '@walletconnect/utils@2.21.1(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)': - dependencies: - '@noble/ciphers': 1.2.1 - '@noble/curves': 1.8.1 - '@noble/hashes': 1.7.1 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/keyvaluestorage': 1.1.1(ioredis@5.8.2) - '@walletconnect/relay-api': 1.0.11 - '@walletconnect/relay-auth': 1.1.0 - '@walletconnect/safe-json': 1.0.2 - '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.21.1(ioredis@5.8.2) - '@walletconnect/window-getters': 1.0.1 - '@walletconnect/window-metadata': 1.0.1 - bs58: 6.0.0 - detect-browser: 5.3.0 - query-string: 7.1.3 - uint8arrays: 3.1.0 - viem: 2.23.2(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12) - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - ioredis - - typescript - - uploadthing - - utf-8-validate - - zod - - '@walletconnect/utils@2.22.4(ioredis@5.8.2)(typescript@5.9.3)(zod@4.1.12)': - dependencies: - '@msgpack/msgpack': 3.1.2 - '@noble/ciphers': 1.3.0 - '@noble/curves': 1.9.7 - '@noble/hashes': 1.8.0 - '@scure/base': 1.2.6 + '@noble/ciphers': 1.2.1 + '@noble/curves': 1.8.1 + '@noble/hashes': 1.7.1 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/keyvaluestorage': 1.1.1(ioredis@5.8.2) - '@walletconnect/logger': 3.0.0 '@walletconnect/relay-api': 1.0.11 '@walletconnect/relay-auth': 1.1.0 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.22.4(ioredis@5.8.2) + '@walletconnect/types': 2.21.0(ioredis@5.8.2) '@walletconnect/window-getters': 1.0.1 '@walletconnect/window-metadata': 1.0.1 - blakejs: 1.2.1 bs58: 6.0.0 detect-browser: 5.3.0 - ox: 0.9.3(typescript@5.9.3)(zod@4.1.12) - uint8arrays: 3.1.1 + query-string: 7.1.3 + uint8arrays: 3.1.0 + viem: 2.23.2(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -11234,22 +9521,33 @@ snapshots: - '@vercel/functions' - '@vercel/kv' - aws4fetch + - bufferutil - db0 - ioredis - typescript - uploadthing + - utf-8-validate - zod - '@walletconnect/web3wallet@1.16.1(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)': + '@walletconnect/utils@2.21.1(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: - '@walletconnect/auth-client': 2.1.2(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12) - '@walletconnect/core': 2.17.1(bufferutil@4.0.9)(ioredis@5.8.2)(utf-8-validate@5.0.10) - '@walletconnect/jsonrpc-provider': 1.0.14 + '@noble/ciphers': 1.2.1 + '@noble/curves': 1.8.1 + '@noble/hashes': 1.7.1 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/logger': 2.1.2 - '@walletconnect/sign-client': 2.17.1(bufferutil@4.0.9)(ioredis@5.8.2)(utf-8-validate@5.0.10) - '@walletconnect/types': 2.17.1(ioredis@5.8.2) - '@walletconnect/utils': 2.17.1(ioredis@5.8.2) + '@walletconnect/keyvaluestorage': 1.1.1(ioredis@5.8.2) + '@walletconnect/relay-api': 1.0.11 + '@walletconnect/relay-auth': 1.1.0 + '@walletconnect/safe-json': 1.0.2 + '@walletconnect/time': 1.0.2 + '@walletconnect/types': 2.21.1(ioredis@5.8.2) + '@walletconnect/window-getters': 1.0.1 + '@walletconnect/window-metadata': 1.0.1 + bs58: 6.0.0 + detect-browser: 5.3.0 + query-string: 7.1.3 + uint8arrays: 3.1.0 + viem: 2.23.2(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -11269,7 +9567,6 @@ snapshots: - aws4fetch - bufferutil - db0 - - encoding - ioredis - typescript - uploadthing @@ -11289,20 +9586,26 @@ snapshots: dependencies: '@webassemblyjs/helper-numbers': 1.13.2 '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + optional: true - '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + '@webassemblyjs/floating-point-hex-parser@1.13.2': + optional: true - '@webassemblyjs/helper-api-error@1.13.2': {} + '@webassemblyjs/helper-api-error@1.13.2': + optional: true - '@webassemblyjs/helper-buffer@1.14.1': {} + '@webassemblyjs/helper-buffer@1.14.1': + optional: true '@webassemblyjs/helper-numbers@1.13.2': dependencies: '@webassemblyjs/floating-point-hex-parser': 1.13.2 '@webassemblyjs/helper-api-error': 1.13.2 '@xtuc/long': 4.2.2 + optional: true - '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + optional: true '@webassemblyjs/helper-wasm-section@1.14.1': dependencies: @@ -11310,16 +9613,20 @@ snapshots: '@webassemblyjs/helper-buffer': 1.14.1 '@webassemblyjs/helper-wasm-bytecode': 1.13.2 '@webassemblyjs/wasm-gen': 1.14.1 + optional: true '@webassemblyjs/ieee754@1.13.2': dependencies: '@xtuc/ieee754': 1.2.0 + optional: true '@webassemblyjs/leb128@1.13.2': dependencies: '@xtuc/long': 4.2.2 + optional: true - '@webassemblyjs/utf8@1.13.2': {} + '@webassemblyjs/utf8@1.13.2': + optional: true '@webassemblyjs/wasm-edit@1.14.1': dependencies: @@ -11331,6 +9638,7 @@ snapshots: '@webassemblyjs/wasm-opt': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 '@webassemblyjs/wast-printer': 1.14.1 + optional: true '@webassemblyjs/wasm-gen@1.14.1': dependencies: @@ -11339,6 +9647,7 @@ snapshots: '@webassemblyjs/ieee754': 1.13.2 '@webassemblyjs/leb128': 1.13.2 '@webassemblyjs/utf8': 1.13.2 + optional: true '@webassemblyjs/wasm-opt@1.14.1': dependencies: @@ -11346,6 +9655,7 @@ snapshots: '@webassemblyjs/helper-buffer': 1.14.1 '@webassemblyjs/wasm-gen': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 + optional: true '@webassemblyjs/wasm-parser@1.14.1': dependencies: @@ -11355,11 +9665,13 @@ snapshots: '@webassemblyjs/ieee754': 1.13.2 '@webassemblyjs/leb128': 1.13.2 '@webassemblyjs/utf8': 1.13.2 + optional: true '@webassemblyjs/wast-printer@1.14.1': dependencies: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 + optional: true '@wry/caches@1.0.1': dependencies: @@ -11377,9 +9689,11 @@ snapshots: dependencies: tslib: 2.8.1 - '@xtuc/ieee754@1.2.0': {} + '@xtuc/ieee754@1.2.0': + optional: true - '@xtuc/long@4.2.2': {} + '@xtuc/long@4.2.2': + optional: true '@zag-js/dom-query@0.31.1': {} @@ -11422,6 +9736,7 @@ snapshots: acorn-import-phases@1.0.4(acorn@8.15.0): dependencies: acorn: 8.15.0 + optional: true acorn-jsx@5.3.2(acorn@8.15.0): dependencies: @@ -11433,22 +9748,14 @@ snapshots: acorn@8.15.0: {} - adm-zip@0.4.16: {} - adm-zip@0.5.16: {} - aes-js@4.0.0-beta.5: {} - agent-base@6.0.2: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color - - aggregate-error@3.1.0: - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 + optional: true ai@5.0.80(zod@4.1.12): dependencies: @@ -11466,6 +9773,7 @@ snapshots: dependencies: ajv: 8.17.1 fast-deep-equal: 3.1.3 + optional: true ajv@6.12.6: dependencies: @@ -11481,12 +9789,6 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - ansi-align@3.0.1: - dependencies: - string-width: 4.2.3 - - ansi-colors@4.1.3: {} - ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 @@ -11495,10 +9797,6 @@ snapshots: ansi-regex@6.2.2: {} - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 - ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 @@ -11661,7 +9959,7 @@ snapshots: axios@1.12.2: dependencies: - follow-redirects: 1.15.11(debug@4.4.3) + follow-redirects: 1.15.11 form-data: 4.0.4 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -11679,10 +9977,6 @@ snapshots: balanced-match@1.0.2: {} - base-x@3.0.11: - dependencies: - safe-buffer: 5.2.1 - base-x@5.0.1: {} base64-js@1.5.1: {} @@ -11693,15 +9987,14 @@ snapshots: dependencies: tweetnacl: 0.14.5 - big.js@5.2.2: {} - big.js@6.2.2: {} bignumber.js@2.4.0: {} bignumber.js@9.3.1: {} - binary-extensions@2.3.0: {} + binary-extensions@2.3.0: + optional: true bl@4.1.0: dependencies: @@ -11715,14 +10008,10 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 - blakejs@1.2.1: {} - bmp-js@0.0.1: {} bmp-js@0.0.3: {} - bn.js@4.12.2: {} - bn.js@5.2.2: {} body-parser@1.20.3: @@ -11744,17 +10033,6 @@ snapshots: bowser@2.12.1: {} - boxen@5.1.2: - dependencies: - ansi-align: 3.0.1 - camelcase: 6.3.0 - chalk: 4.1.2 - cli-boxes: 2.2.1 - string-width: 4.2.3 - type-fest: 0.20.2 - widest-line: 3.1.0 - wrap-ansi: 7.0.0 - brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 @@ -11768,19 +10046,6 @@ snapshots: dependencies: fill-range: 7.1.1 - brorand@1.1.0: {} - - browser-stdout@1.3.1: {} - - browserify-aes@1.2.0: - dependencies: - buffer-xor: 1.0.3 - cipher-base: 1.0.7 - create-hash: 1.2.0 - evp_bytestokey: 1.0.3 - inherits: 2.0.4 - safe-buffer: 5.2.1 - browserslist@4.26.3: dependencies: baseline-browser-mapping: 2.8.19 @@ -11789,20 +10054,10 @@ snapshots: node-releases: 2.0.26 update-browserslist-db: 1.1.3(browserslist@4.26.3) - bs58@4.0.1: - dependencies: - base-x: 3.0.11 - bs58@6.0.0: dependencies: base-x: 5.0.1 - bs58check@2.1.2: - dependencies: - bs58: 4.0.1 - create-hash: 1.2.0 - safe-buffer: 5.2.1 - buffer-alloc-unsafe@1.1.0: {} buffer-alloc@1.2.0: @@ -11816,9 +10071,8 @@ snapshots: buffer-fill@1.0.0: {} - buffer-from@1.1.2: {} - - buffer-xor@1.0.3: {} + buffer-from@1.1.2: + optional: true buffer@5.7.1: dependencies: @@ -11857,8 +10111,6 @@ snapshots: camelcase@5.3.1: {} - camelcase@6.3.0: {} - caniuse-lite@1.0.30001751: {} caseless@0.12.0: {} @@ -11867,16 +10119,10 @@ snapshots: centra@2.7.0: dependencies: - follow-redirects: 1.15.11(debug@4.4.3) + follow-redirects: 1.15.11 transitivePeerDependencies: - debug - chalk@2.4.2: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - chalk@3.0.0: dependencies: ansi-styles: 4.3.0 @@ -11911,27 +10157,21 @@ snapshots: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 + optional: true chokidar@4.0.3: dependencies: readdirp: 4.1.2 - chrome-trace-event@1.0.4: {} - - ci-info@2.0.0: {} - - cipher-base@1.0.7: - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - to-buffer: 1.2.2 + chrome-trace-event@1.0.4: + optional: true cjs-module-lexer@1.4.3: optional: true - clean-stack@2.2.0: {} - - cli-boxes@2.2.1: {} + class-variance-authority@0.7.1: + dependencies: + clsx: 2.1.1 cli-cursor@3.1.0: dependencies: @@ -11979,16 +10219,10 @@ snapshots: cluster-key-slot@1.1.2: {} - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - color-convert@2.0.1: dependencies: color-name: 1.1.4 - color-name@1.1.3: {} - color-name@1.1.4: {} color2k@2.0.3: {} @@ -11999,11 +10233,8 @@ snapshots: comma-separated-tokens@2.0.3: {} - command-exists@1.2.9: {} - - commander@2.20.3: {} - - commander@3.0.2: {} + commander@2.20.3: + optional: true commondir@1.0.1: optional: true @@ -12030,8 +10261,6 @@ snapshots: pkg-up: 3.1.0 semver: 7.7.3 - confbox@0.1.8: {} - config-maker@0.0.6(@types/node@20.19.23)(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10): dependencies: adm-zip: 0.5.16 @@ -12080,8 +10309,6 @@ snapshots: cookie-signature@1.0.6: {} - cookie@0.4.2: {} - cookie@0.7.1: {} copy-to-clipboard@3.3.3: @@ -12107,23 +10334,6 @@ snapshots: crc-32: 1.2.2 readable-stream: 3.6.2 - create-hash@1.2.0: - dependencies: - cipher-base: 1.0.7 - inherits: 2.0.4 - md5.js: 1.3.5 - ripemd160: 2.0.3 - sha.js: 2.4.12 - - create-hmac@1.1.7: - dependencies: - cipher-base: 1.0.7 - create-hash: 1.2.0 - inherits: 2.0.4 - ripemd160: 2.0.3 - safe-buffer: 5.2.1 - sha.js: 2.4.12 - create-require@1.1.1: {} cross-fetch@3.2.0: @@ -12220,16 +10430,12 @@ snapshots: dependencies: ms: 2.1.2 - debug@4.4.3(supports-color@8.1.1): + debug@4.4.3: dependencies: ms: 2.1.3 - optionalDependencies: - supports-color: 8.1.1 decamelize@1.2.0: {} - decamelize@4.0.0: {} - decode-named-character-reference@1.2.0: dependencies: character-entities: 2.0.2 @@ -12296,34 +10502,14 @@ snapshots: diff@4.0.2: {} - diff@5.2.0: {} - dijkstrajs@1.0.3: {} doctrine@2.1.0: dependencies: esutils: 2.0.3 - dom-serializer@2.0.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 - dom-walk@0.1.2: {} - domelementtype@2.3.0: {} - - domhandler@5.0.3: - dependencies: - domelementtype: 2.3.0 - - domutils@3.2.2: - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - dot-prop@6.0.1: dependencies: is-obj: 2.0.0 @@ -12361,32 +10547,10 @@ snapshots: electron-to-chromium@1.5.238: {} - elliptic@6.5.7: - dependencies: - bn.js: 4.12.2 - brorand: 1.1.0 - hash.js: 1.1.7 - hmac-drbg: 1.0.1 - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - minimalistic-crypto-utils: 1.0.1 - - elliptic@6.6.1: - dependencies: - bn.js: 4.12.2 - brorand: 1.1.0 - hash.js: 1.1.7 - hmac-drbg: 1.0.1 - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - minimalistic-crypto-utils: 1.0.1 - emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} - emojis-list@3.0.0: {} - encode-utf8@1.0.3: {} encodeurl@1.0.2: {} @@ -12415,13 +10579,12 @@ snapshots: dependencies: graceful-fs: 4.2.11 tapable: 2.3.0 + optional: true - enquirer@2.4.1: + enhanced-resolve@5.21.0: dependencies: - ansi-colors: 4.1.3 - strip-ansi: 6.0.1 - - entities@4.5.0: {} + graceful-fs: 4.2.11 + tapable: 2.3.3 entities@6.0.1: {} @@ -12511,7 +10674,8 @@ snapshots: iterator.prototype: 1.1.5 safe-array-concat: 1.1.3 - es-module-lexer@1.7.0: {} + es-module-lexer@1.7.0: + optional: true es-object-atoms@1.1.1: dependencies: @@ -12536,8 +10700,6 @@ snapshots: es-toolkit@1.33.0: {} - es-toolkit@1.39.3: {} - es6-promise@3.3.1: {} esbuild@0.25.11: @@ -12573,24 +10735,22 @@ snapshots: escape-html@1.0.3: {} - escape-string-regexp@1.0.5: {} - escape-string-regexp@4.0.0: {} escape-string-regexp@5.0.0: {} - eslint-config-next@16.0.0(@typescript-eslint/parser@8.46.2(eslint@9.38.0)(typescript@5.9.3))(eslint@9.38.0)(typescript@5.9.3): + eslint-config-next@16.0.0(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3): dependencies: '@next/eslint-plugin-next': 16.0.0 - eslint: 9.38.0 + eslint: 9.38.0(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.38.0) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.46.2(eslint@9.38.0)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.38.0) - eslint-plugin-jsx-a11y: 6.10.2(eslint@9.38.0) - eslint-plugin-react: 7.37.5(eslint@9.38.0) - eslint-plugin-react-hooks: 7.0.0(eslint@9.38.0) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.38.0(jiti@2.6.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.38.0(jiti@2.6.1)) + eslint-plugin-jsx-a11y: 6.10.2(eslint@9.38.0(jiti@2.6.1)) + eslint-plugin-react: 7.37.5(eslint@9.38.0(jiti@2.6.1)) + eslint-plugin-react-hooks: 7.0.0(eslint@9.38.0(jiti@2.6.1)) globals: 16.4.0 - typescript-eslint: 8.46.2(eslint@9.38.0)(typescript@5.9.3) + typescript-eslint: 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: @@ -12599,9 +10759,9 @@ snapshots: - eslint-plugin-import-x - supports-color - eslint-config-prettier@8.3.0(eslint@9.38.0): + eslint-config-prettier@8.3.0(eslint@9.38.0(jiti@2.6.1)): dependencies: - eslint: 9.38.0 + eslint: 9.38.0(jiti@2.6.1) eslint-import-resolver-node@0.3.9: dependencies: @@ -12611,33 +10771,33 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.38.0): + eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.38.0(jiti@2.6.1)): dependencies: '@nolyfill/is-core-module': 1.0.39 - debug: 4.4.3(supports-color@8.1.1) - eslint: 9.38.0 + debug: 4.4.3 + eslint: 9.38.0(jiti@2.6.1) get-tsconfig: 4.13.0 is-bun-module: 2.0.0 stable-hash: 0.0.5 tinyglobby: 0.2.15 unrs-resolver: 1.11.1 optionalDependencies: - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.46.2(eslint@9.38.0)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.38.0) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.38.0(jiti@2.6.1)) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.46.2(eslint@9.38.0)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.38.0): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.38.0(jiti@2.6.1)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.46.2(eslint@9.38.0)(typescript@5.9.3) - eslint: 9.38.0 + '@typescript-eslint/parser': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 9.38.0(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.38.0) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.38.0(jiti@2.6.1)) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.46.2(eslint@9.38.0)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.38.0): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.38.0(jiti@2.6.1)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -12646,9 +10806,9 @@ snapshots: array.prototype.flatmap: 1.3.3 debug: 3.2.7 doctrine: 2.1.0 - eslint: 9.38.0 + eslint: 9.38.0(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.46.2(eslint@9.38.0)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.38.0) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.38.0(jiti@2.6.1)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -12660,13 +10820,13 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.46.2(eslint@9.38.0)(typescript@5.9.3) + '@typescript-eslint/parser': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsx-a11y@6.10.2(eslint@9.38.0): + eslint-plugin-jsx-a11y@6.10.2(eslint@9.38.0(jiti@2.6.1)): dependencies: aria-query: 5.3.2 array-includes: 3.1.9 @@ -12676,7 +10836,7 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 9.38.0 + eslint: 9.38.0(jiti@2.6.1) hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -12685,28 +10845,28 @@ snapshots: safe-regex-test: 1.1.0 string.prototype.includes: 2.0.1 - eslint-plugin-prettier@5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@8.3.0(eslint@9.38.0))(eslint@9.38.0)(prettier@3.6.2): + eslint-plugin-prettier@5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@8.3.0(eslint@9.38.0(jiti@2.6.1)))(eslint@9.38.0(jiti@2.6.1))(prettier@3.6.2): dependencies: - eslint: 9.38.0 + eslint: 9.38.0(jiti@2.6.1) prettier: 3.6.2 prettier-linter-helpers: 1.0.0 synckit: 0.11.11 optionalDependencies: '@types/eslint': 9.6.1 - eslint-config-prettier: 8.3.0(eslint@9.38.0) + eslint-config-prettier: 8.3.0(eslint@9.38.0(jiti@2.6.1)) - eslint-plugin-react-hooks@7.0.0(eslint@9.38.0): + eslint-plugin-react-hooks@7.0.0(eslint@9.38.0(jiti@2.6.1)): dependencies: '@babel/core': 7.28.4 '@babel/parser': 7.28.4 - eslint: 9.38.0 + eslint: 9.38.0(jiti@2.6.1) hermes-parser: 0.25.1 zod: 4.1.12 zod-validation-error: 4.0.2(zod@4.1.12) transitivePeerDependencies: - supports-color - eslint-plugin-react@7.37.5(eslint@9.38.0): + eslint-plugin-react@7.37.5(eslint@9.38.0(jiti@2.6.1)): dependencies: array-includes: 3.1.9 array.prototype.findlast: 1.2.5 @@ -12714,7 +10874,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.1 - eslint: 9.38.0 + eslint: 9.38.0(jiti@2.6.1) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -12728,20 +10888,21 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-simple-import-sort@12.1.1(eslint@9.38.0): + eslint-plugin-simple-import-sort@12.1.1(eslint@9.38.0(jiti@2.6.1)): dependencies: - eslint: 9.38.0 + eslint: 9.38.0(jiti@2.6.1) - eslint-plugin-unused-imports@4.3.0(@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0)(typescript@5.9.3))(eslint@9.38.0)(typescript@5.9.3))(eslint@9.38.0): + eslint-plugin-unused-imports@4.3.0(@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1)): dependencies: - eslint: 9.38.0 + eslint: 9.38.0(jiti@2.6.1) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0)(typescript@5.9.3))(eslint@9.38.0)(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 + optional: true eslint-scope@8.4.0: dependencies: @@ -12752,9 +10913,9 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.38.0: + eslint@9.38.0(jiti@2.6.1): dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.21.1 '@eslint/config-helpers': 0.4.1 @@ -12769,7 +10930,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -12788,6 +10949,8 @@ snapshots: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 + optionalDependencies: + jiti: 2.6.1 transitivePeerDependencies: - supports-color @@ -12805,7 +10968,8 @@ snapshots: dependencies: estraverse: 5.3.0 - estraverse@4.3.0: {} + estraverse@4.3.0: + optional: true estraverse@5.3.0: {} @@ -12845,31 +11009,6 @@ snapshots: dependencies: fast-safe-stringify: 2.1.1 - ethereum-cryptography@0.1.3: - dependencies: - '@types/pbkdf2': 3.1.2 - '@types/secp256k1': 4.0.7 - blakejs: 1.2.1 - browserify-aes: 1.2.0 - bs58check: 2.1.2 - create-hash: 1.2.0 - create-hmac: 1.1.7 - hash.js: 1.1.7 - keccak: 3.0.4 - pbkdf2: 3.1.5 - randombytes: 2.1.0 - safe-buffer: 5.2.1 - scrypt-js: 3.0.1 - secp256k1: 4.0.4 - setimmediate: 1.0.5 - - ethereum-cryptography@1.2.0: - dependencies: - '@noble/hashes': 1.2.0 - '@noble/secp256k1': 1.7.1 - '@scure/bip32': 1.1.5 - '@scure/bip39': 1.1.1 - ethereum-cryptography@2.2.1: dependencies: '@noble/curves': 1.4.2 @@ -12877,52 +11016,6 @@ snapshots: '@scure/bip32': 1.4.0 '@scure/bip39': 1.3.0 - ethereum-cryptography@3.2.0: - dependencies: - '@noble/ciphers': 1.3.0 - '@noble/curves': 1.9.0 - '@noble/hashes': 1.8.0 - '@scure/bip32': 1.7.0 - '@scure/bip39': 1.6.0 - - ethereumjs-abi@0.6.8: - dependencies: - bn.js: 4.12.2 - ethereumjs-util: 6.2.1 - - ethereumjs-util@6.2.1: - dependencies: - '@types/bn.js': 4.11.6 - bn.js: 4.12.2 - create-hash: 1.2.0 - elliptic: 6.6.1 - ethereum-cryptography: 0.1.3 - ethjs-util: 0.1.6 - rlp: 2.2.7 - - ethers@6.15.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): - dependencies: - '@adraffy/ens-normalize': 1.10.1 - '@noble/curves': 1.2.0 - '@noble/hashes': 1.3.2 - '@types/node': 22.7.5 - aes-js: 4.0.0-beta.5 - tslib: 2.7.0 - ws: 8.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - ethjs-util@0.1.6: - dependencies: - is-hex-prefixed: 1.0.0 - strip-hex-prefix: 1.0.0 - - eval@0.1.8: - dependencies: - '@types/node': 20.19.23 - require-like: 0.1.2 - eventemitter2@6.4.9: {} eventemitter3@5.0.1: {} @@ -12931,11 +11024,6 @@ snapshots: eventsource-parser@3.0.6: {} - evp_bytestokey@1.0.3: - dependencies: - md5.js: 1.3.5 - safe-buffer: 5.2.1 - execa@1.0.0: dependencies: cross-spawn: 6.0.6 @@ -13091,10 +11179,6 @@ snapshots: find-root@1.1.0: {} - find-up@2.1.0: - dependencies: - locate-path: 2.0.0 - find-up@3.0.0: dependencies: locate-path: 3.0.0 @@ -13114,8 +11198,6 @@ snapshots: flatted: 3.3.3 keyv: 4.5.4 - flat@5.0.2: {} - flatpickr@4.6.13: {} flatted@3.3.3: {} @@ -13124,9 +11206,7 @@ snapshots: dependencies: tslib: 2.8.1 - follow-redirects@1.15.11(debug@4.4.3): - optionalDependencies: - debug: 4.4.3(supports-color@8.1.1) + follow-redirects@1.15.11: {} for-each@0.3.5: dependencies: @@ -13171,8 +11251,6 @@ snapshots: forwarded@0.2.0: {} - fp-ts@1.19.3: {} - framer-motion@12.23.24(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0): dependencies: motion-dom: 12.23.23 @@ -13191,20 +11269,6 @@ snapshots: fs-constants@1.0.0: {} - fs-extra@0.30.0: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 2.4.0 - klaw: 1.3.1 - path-is-absolute: 1.0.1 - rimraf: 2.7.1 - - fs-extra@7.0.1: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -13282,16 +11346,8 @@ snapshots: dependencies: is-glob: 4.0.3 - glob-to-regexp@0.4.1: {} - - glob@7.2.0: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 + glob-to-regexp@0.4.1: + optional: true glob@7.2.3: dependencies: @@ -13302,14 +11358,6 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - glob@8.1.0: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - glob@9.3.5: dependencies: fs.realpath: 1.0.0 @@ -13410,64 +11458,8 @@ snapshots: ajv: 6.12.6 har-schema: 2.0.0 - hardhat@2.22.4(bufferutil@4.0.9)(ts-node@10.9.2(@types/node@20.19.23)(typescript@5.9.3))(typescript@5.9.3)(utf-8-validate@5.0.10): - dependencies: - '@ethersproject/abi': 5.8.0 - '@metamask/eth-sig-util': 4.0.1 - '@nomicfoundation/edr': 0.3.8 - '@nomicfoundation/ethereumjs-common': 4.0.4 - '@nomicfoundation/ethereumjs-tx': 5.0.4 - '@nomicfoundation/ethereumjs-util': 9.0.4 - '@nomicfoundation/solidity-analyzer': 0.1.2 - '@sentry/node': 5.30.0 - '@types/bn.js': 5.2.0 - '@types/lru-cache': 5.1.1 - adm-zip: 0.4.16 - aggregate-error: 3.1.0 - ansi-escapes: 4.3.2 - boxen: 5.1.2 - chalk: 2.4.2 - chokidar: 3.6.0 - ci-info: 2.0.0 - debug: 4.4.3(supports-color@8.1.1) - enquirer: 2.4.1 - env-paths: 2.2.1 - ethereum-cryptography: 1.2.0 - ethereumjs-abi: 0.6.8 - find-up: 2.1.0 - fp-ts: 1.19.3 - fs-extra: 7.0.1 - glob: 7.2.0 - immutable: 4.3.7 - io-ts: 1.10.4 - keccak: 3.0.4 - lodash: 4.17.21 - mnemonist: 0.38.5 - mocha: 10.8.2 - p-map: 4.0.0 - raw-body: 2.5.2 - resolve: 1.17.0 - semver: 6.3.1 - solc: 0.7.3(debug@4.4.3) - source-map-support: 0.5.21 - stacktrace-parser: 0.1.11 - tsort: 0.0.1 - undici: 5.29.0 - uuid: 8.3.2 - ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) - optionalDependencies: - ts-node: 10.9.2(@types/node@20.19.23)(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - bufferutil - - c-kzg - - supports-color - - utf-8-validate - has-bigints@1.1.0: {} - has-flag@3.0.0: {} - has-flag@4.0.0: {} has-property-descriptors@1.0.2: @@ -13476,25 +11468,13 @@ snapshots: has-proto@1.2.0: dependencies: - dunder-proto: 1.0.1 - - has-symbols@1.1.0: {} - - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.1.0 - - hash-base@3.1.2: - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.8 - safe-buffer: 5.2.1 - to-buffer: 1.2.2 + dunder-proto: 1.0.1 + + has-symbols@1.1.0: {} - hash.js@1.1.7: + has-tostringtag@1.0.2: dependencies: - inherits: 2.0.4 - minimalistic-assert: 1.0.1 + has-symbols: 1.1.0 hasown@2.0.2: dependencies: @@ -13579,52 +11559,22 @@ snapshots: property-information: 7.1.0 space-separated-tokens: 2.0.2 - he@1.2.0: {} - hermes-estree@0.25.1: {} hermes-parser@0.25.1: dependencies: hermes-estree: 0.25.1 - hmac-drbg@1.0.1: - dependencies: - hash.js: 1.1.7 - minimalistic-assert: 1.0.1 - minimalistic-crypto-utils: 1.0.1 - hoist-non-react-statics@3.3.2: dependencies: react-is: 16.13.1 hono@4.10.2: {} - html-dom-parser@5.1.1: - dependencies: - domhandler: 5.0.3 - htmlparser2: 10.0.0 - - html-react-parser@5.2.7(@types/react@19.2.2)(react@19.2.0): - dependencies: - domhandler: 5.0.3 - html-dom-parser: 5.1.1 - react: 19.2.0 - react-property: 2.0.2 - style-to-js: 1.1.18 - optionalDependencies: - '@types/react': 19.2.2 - html-url-attributes@3.0.1: {} html-void-elements@3.0.0: {} - htmlparser2@10.0.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - entities: 6.0.1 - http-errors@2.0.0: dependencies: depd: 2.0.0 @@ -13642,9 +11592,10 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color + optional: true human-signals@2.1.0: {} @@ -13670,8 +11621,6 @@ snapshots: image-size@0.5.5: {} - immutable@4.3.7: {} - import-fresh@3.3.1: dependencies: parent-module: 1.0.1 @@ -13687,8 +11636,6 @@ snapshots: imurmurhash@0.1.4: {} - indent-string@4.0.0: {} - inflight@1.0.6: dependencies: once: 1.4.0 @@ -13723,15 +11670,11 @@ snapshots: hasown: 2.0.2 side-channel: 1.1.0 - io-ts@1.10.4: - dependencies: - fp-ts: 1.19.3 - ioredis@5.8.2: dependencies: '@ioredis/commands': 1.4.0 cluster-key-slot: 1.1.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 denque: 2.1.0 lodash.defaults: 4.2.0 lodash.isarguments: 3.1.0 @@ -13782,6 +11725,7 @@ snapshots: is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 + optional: true is-boolean-object@1.2.2: dependencies: @@ -13835,8 +11779,6 @@ snapshots: dependencies: is-extglob: 2.1.1 - is-hex-prefixed@1.0.0: {} - is-hexadecimal@2.0.1: {} is-interactive@1.0.0: {} @@ -13856,8 +11798,6 @@ snapshots: is-obj@2.0.0: {} - is-plain-obj@2.1.0: {} - is-plain-obj@4.1.0: {} is-reference@1.2.1: @@ -13928,20 +11868,6 @@ snapshots: isexe@3.1.1: {} - isomorphic-fetch@3.0.0: - dependencies: - node-fetch: 2.7.0 - whatwg-fetch: 3.6.20 - transitivePeerDependencies: - - encoding - - isomorphic-unfetch@3.1.0: - dependencies: - node-fetch: 2.7.0 - unfetch: 4.2.0 - transitivePeerDependencies: - - encoding - isows@1.0.6(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)): dependencies: ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -13961,13 +11887,12 @@ snapshots: has-symbols: 1.1.0 set-function-name: 2.0.2 - javascript-stringify@2.1.0: {} - jest-worker@27.5.1: dependencies: '@types/node': 20.19.23 merge-stream: 2.0.0 supports-color: 8.1.1 + optional: true jimp@0.2.28: dependencies: @@ -13990,14 +11915,12 @@ snapshots: transitivePeerDependencies: - debug + jiti@2.6.1: {} + jpeg-js@0.1.2: {} jpeg-js@0.2.0: {} - js-base64@3.7.8: {} - - js-sha3@0.8.0: {} - js-tokens@4.0.0: {} js-yaml@4.1.0: @@ -14039,14 +11962,6 @@ snapshots: json5@2.2.3: {} - jsonfile@2.4.0: - optionalDependencies: - graceful-fs: 4.2.11 - - jsonfile@4.0.0: - optionalDependencies: - graceful-fs: 4.2.11 - jsprim@1.4.2: dependencies: assert-plus: 1.0.0 @@ -14075,22 +11990,12 @@ snapshots: kind-of@6.0.3: {} - klaw@1.3.1: - optionalDependencies: - graceful-fs: 4.2.11 - language-subtag-registry@0.3.23: {} language-tags@1.0.9: dependencies: language-subtag-registry: 0.3.23 - lanyard@1.1.2: - dependencies: - isomorphic-fetch: 3.0.0 - transitivePeerDependencies: - - encoding - lazystream@1.0.1: dependencies: readable-stream: 2.3.8 @@ -14100,6 +12005,55 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lightningcss-android-arm64@1.32.0: + optional: true + + lightningcss-darwin-arm64@1.32.0: + optional: true + + lightningcss-darwin-x64@1.32.0: + optional: true + + lightningcss-freebsd-x64@1.32.0: + optional: true + + lightningcss-linux-arm-gnueabihf@1.32.0: + optional: true + + lightningcss-linux-arm64-gnu@1.32.0: + optional: true + + lightningcss-linux-arm64-musl@1.32.0: + optional: true + + lightningcss-linux-x64-gnu@1.32.0: + optional: true + + lightningcss-linux-x64-musl@1.32.0: + optional: true + + lightningcss-win32-arm64-msvc@1.32.0: + optional: true + + lightningcss-win32-x64-msvc@1.32.0: + optional: true + + lightningcss@1.32.0: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.32.0 + lightningcss-darwin-arm64: 1.32.0 + lightningcss-darwin-x64: 1.32.0 + lightningcss-freebsd-x64: 1.32.0 + lightningcss-linux-arm-gnueabihf: 1.32.0 + lightningcss-linux-arm64-gnu: 1.32.0 + lightningcss-linux-arm64-musl: 1.32.0 + lightningcss-linux-x64-gnu: 1.32.0 + lightningcss-linux-x64-musl: 1.32.0 + lightningcss-win32-arm64-msvc: 1.32.0 + lightningcss-win32-x64-msvc: 1.32.0 + lines-and-columns@1.2.4: {} lit-element@4.2.1: @@ -14131,18 +12085,8 @@ snapshots: transitivePeerDependencies: - debug - loader-runner@4.3.1: {} - - loader-utils@2.0.4: - dependencies: - big.js: 5.2.2 - emojis-list: 3.0.0 - json5: 2.2.3 - - locate-path@2.0.0: - dependencies: - p-locate: 2.0.0 - path-exists: 3.0.0 + loader-runner@4.3.1: + optional: true locate-path@3.0.0: dependencies: @@ -14167,8 +12111,6 @@ snapshots: lodash.isarguments@3.1.0: {} - lodash.isequal@4.5.0: {} - lodash.isplainobject@4.0.6: {} lodash.merge@4.6.2: {} @@ -14201,13 +12143,19 @@ snapshots: dependencies: yallist: 3.1.1 - lru_map@0.3.3: {} + lucide-react@0.469.0(react@19.2.0): + dependencies: + react: 19.2.0 magic-string@0.30.19: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 optional: true + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + magic-string@0.30.8: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -14219,12 +12167,6 @@ snapshots: math-intrinsics@1.1.0: {} - md5.js@1.3.5: - dependencies: - hash-base: 3.1.2 - inherits: 2.0.4 - safe-buffer: 5.2.1 - mdast-util-find-and-replace@3.0.2: dependencies: '@types/mdast': 4.0.4 @@ -14384,8 +12326,6 @@ snapshots: media-typer@0.3.0: {} - memorystream@0.3.1: {} - merge-descriptors@1.0.3: {} merge-stream@2.0.0: {} @@ -14568,7 +12508,7 @@ snapshots: micromark@4.0.2: dependencies: '@types/debug': 4.1.12 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 decode-named-character-reference: 1.2.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 @@ -14612,10 +12552,6 @@ snapshots: dependencies: dom-walk: 0.1.2 - minimalistic-assert@1.0.1: {} - - minimalistic-crypto-utils@1.0.1: {} - minimatch@3.1.2: dependencies: brace-expansion: 1.1.12 @@ -14651,40 +12587,6 @@ snapshots: dependencies: minimist: 0.0.8 - mlly@1.8.0: - dependencies: - acorn: 8.15.0 - pathe: 2.0.3 - pkg-types: 1.3.1 - ufo: 1.6.1 - - mnemonist@0.38.5: - dependencies: - obliterator: 2.0.5 - - mocha@10.8.2: - dependencies: - ansi-colors: 4.1.3 - browser-stdout: 1.3.1 - chokidar: 3.6.0 - debug: 4.4.3(supports-color@8.1.1) - diff: 5.2.0 - escape-string-regexp: 4.0.0 - find-up: 5.0.0 - glob: 8.1.0 - he: 1.2.0 - js-yaml: 4.1.0 - log-symbols: 4.1.0 - minimatch: 5.1.6 - ms: 2.1.3 - serialize-javascript: 6.0.2 - strip-json-comments: 3.1.1 - supports-color: 8.1.1 - workerpool: 6.5.1 - yargs: 16.2.0 - yargs-parser: 20.2.9 - yargs-unparser: 2.0.0 - modern-ahocorasick@1.1.0: {} module-details-from-path@1.0.4: @@ -14714,7 +12616,13 @@ snapshots: negotiator@0.6.3: {} - neo-async@2.6.2: {} + neo-async@2.6.2: + optional: true + + next-themes@0.4.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) next@15.5.6(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0): dependencies: @@ -14744,8 +12652,6 @@ snapshots: node-addon-api@2.0.2: {} - node-addon-api@5.1.0: {} - node-domexception@1.0.0: {} node-fetch-native@1.6.7: {} @@ -14830,8 +12736,6 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 - obliterator@2.0.5: {} - ofetch@1.4.1: dependencies: destr: 2.0.5 @@ -14840,8 +12744,6 @@ snapshots: on-exit-leak-free@0.2.0: {} - on-exit-leak-free@2.1.2: {} - on-finished@2.4.1: dependencies: ee-first: 1.1.1 @@ -14910,8 +12812,6 @@ snapshots: strip-ansi: 7.1.2 wcwidth: 1.0.1 - os-tmpdir@1.0.2: {} - own-keys@1.0.1: dependencies: get-intrinsic: 1.3.0 @@ -14961,21 +12861,6 @@ snapshots: transitivePeerDependencies: - zod - ox@0.9.3(typescript@5.9.3)(zod@4.1.12): - dependencies: - '@adraffy/ens-normalize': 1.11.1 - '@noble/ciphers': 1.3.0 - '@noble/curves': 1.9.1 - '@noble/hashes': 1.8.0 - '@scure/bip32': 1.7.0 - '@scure/bip39': 1.6.0 - abitype: 1.1.1(typescript@5.9.3)(zod@4.1.12) - eventemitter3: 5.0.1 - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - zod - ox@0.9.6(typescript@5.9.3)(zod@3.22.4): dependencies: '@adraffy/ens-normalize': 1.11.1 @@ -15008,10 +12893,6 @@ snapshots: p-finally@1.0.0: {} - p-limit@1.3.0: - dependencies: - p-try: 1.0.0 - p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -15020,10 +12901,6 @@ snapshots: dependencies: yocto-queue: 0.1.0 - p-locate@2.0.0: - dependencies: - p-limit: 1.3.0 - p-locate@3.0.0: dependencies: p-limit: 2.3.0 @@ -15036,18 +12913,8 @@ snapshots: dependencies: p-limit: 3.1.0 - p-map@4.0.0: - dependencies: - aggregate-error: 3.1.0 - - p-try@1.0.0: {} - p-try@2.2.0: {} - pako@2.1.0: {} - - papaparse@5.5.3: {} - parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -15114,17 +12981,6 @@ snapshots: path-type@4.0.0: {} - pathe@2.0.3: {} - - pbkdf2@3.1.5: - dependencies: - create-hash: 1.2.0 - create-hmac: 1.1.7 - ripemd160: 2.0.3 - safe-buffer: 5.2.1 - sha.js: 2.4.12 - to-buffer: 1.2.2 - performance-now@2.1.0: {} pg-int8@1.0.1: @@ -15169,28 +13025,8 @@ snapshots: duplexify: 4.1.3 split2: 4.2.0 - pino-abstract-transport@2.0.0: - dependencies: - split2: 4.2.0 - pino-std-serializers@4.0.0: {} - pino-std-serializers@7.0.0: {} - - pino@10.0.0: - dependencies: - atomic-sleep: 1.0.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 2.0.0 - pino-std-serializers: 7.0.0 - process-warning: 5.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.5.0 - slow-redact: 0.3.2 - sonic-boom: 4.2.0 - thread-stream: 3.1.0 - pino@7.11.0: dependencies: atomic-sleep: 1.0.0 @@ -15215,12 +13051,6 @@ snapshots: '@types/node': 11.15.54 execa: 1.0.0 - pkg-types@1.3.1: - dependencies: - confbox: 0.1.8 - mlly: 1.8.0 - pathe: 2.0.3 - pkg-up@3.1.0: dependencies: find-up: 3.0.0 @@ -15259,6 +13089,12 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + postcss@8.5.13: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + postgres-array@2.0.0: optional: true @@ -15289,8 +13125,6 @@ snapshots: process-warning@1.0.0: {} - process-warning@5.0.0: {} - process@0.11.10: {} progress@2.0.3: @@ -15363,6 +13197,7 @@ snapshots: randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 + optional: true range-parser@1.2.1: {} @@ -15442,8 +13277,6 @@ snapshots: react: 19.2.0 react-dom: 19.2.0(react@19.2.0) - react-property@2.0.2: {} - react-remove-scroll-bar@2.3.8(@types/react@19.2.2)(react@19.2.0): dependencies: react: 19.2.0 @@ -15509,13 +13342,12 @@ snapshots: readdirp@3.6.0: dependencies: picomatch: 2.3.1 + optional: true readdirp@4.1.2: {} real-require@0.1.0: {} - real-require@0.2.0: {} - redis-errors@1.2.0: {} redis-parser@3.0.0: @@ -15621,15 +13453,13 @@ snapshots: require-in-the-middle@7.5.2: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 module-details-from-path: 1.0.4 resolve: 1.22.11 transitivePeerDependencies: - supports-color optional: true - require-like@0.1.2: {} - require-main-filename@2.0.0: {} resize-img@1.1.2: @@ -15647,10 +13477,6 @@ snapshots: resolve-pkg-maps@1.0.0: {} - resolve@1.17.0: - dependencies: - path-parse: 1.0.7 - resolve@1.22.11: dependencies: is-core-module: 2.16.1 @@ -15682,19 +13508,6 @@ snapshots: reusify@1.1.0: {} - rimraf@2.7.1: - dependencies: - glob: 7.2.3 - - ripemd160@2.0.3: - dependencies: - hash-base: 3.1.2 - inherits: 2.0.4 - - rlp@2.2.7: - dependencies: - bn.js: 5.2.2 - rollup@4.52.5: dependencies: '@types/estree': 1.0.8 @@ -15773,14 +13586,7 @@ snapshots: ajv: 8.17.1 ajv-formats: 2.1.1(ajv@8.17.1) ajv-keywords: 5.1.0(ajv@8.17.1) - - scrypt-js@3.0.1: {} - - secp256k1@4.0.4: - dependencies: - elliptic: 6.6.1 - node-addon-api: 5.1.0 - node-gyp-build: 4.8.4 + optional: true semver@5.7.2: {} @@ -15809,6 +13615,7 @@ snapshots: serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 + optional: true serve-static@1.16.2: dependencies: @@ -15843,8 +13650,6 @@ snapshots: es-errors: 1.3.0 es-object-atoms: 1.1.1 - setimmediate@1.0.5: {} - setprototypeof@1.2.0: {} sha.js@2.4.12: @@ -15927,8 +13732,6 @@ snapshots: signal-exit@3.0.7: {} - slow-redact@0.3.2: {} - socket.io-client@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@socket.io/component-emitter': 3.1.2 @@ -15947,38 +13750,22 @@ snapshots: transitivePeerDependencies: - supports-color - solc@0.7.3(debug@4.4.3): - dependencies: - command-exists: 1.2.9 - commander: 3.0.2 - follow-redirects: 1.15.11(debug@4.4.3) - fs-extra: 0.30.0 - js-sha3: 0.8.0 - memorystream: 0.3.1 - require-from-string: 2.0.2 - semver: 5.7.2 - tmp: 0.0.33 - transitivePeerDependencies: - - debug - sonic-boom@2.8.0: dependencies: atomic-sleep: 1.0.0 - sonic-boom@4.2.0: - dependencies: - atomic-sleep: 1.0.0 - source-map-js@1.2.1: {} source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 + optional: true source-map@0.5.7: {} - source-map@0.6.1: {} + source-map@0.6.1: + optional: true space-separated-tokens@2.0.2: {} @@ -16003,6 +13790,7 @@ snapshots: stacktrace-parser@0.1.11: dependencies: type-fest: 0.7.1 + optional: true standard-as-callback@2.1.0: {} @@ -16112,10 +13900,6 @@ snapshots: strip-final-newline@3.0.0: {} - strip-hex-prefix@1.0.0: - dependencies: - is-hex-prefixed: 1.0.0 - strip-json-comments@3.1.1: {} style-to-js@1.1.18: @@ -16138,10 +13922,6 @@ snapshots: superstruct@1.0.4: {} - supports-color@5.5.0: - dependencies: - has-flag: 3.0.0 - supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -16149,6 +13929,7 @@ snapshots: supports-color@8.1.1: dependencies: has-flag: 4.0.0 + optional: true supports-preserve-symlinks-flag@1.0.0: {} @@ -16164,7 +13945,14 @@ snapshots: dependencies: '@pkgr/core': 0.2.9 - tapable@2.3.0: {} + tailwind-merge@2.6.1: {} + + tailwindcss@4.2.4: {} + + tapable@2.3.0: + optional: true + + tapable@2.3.3: {} tar-stream@2.2.0: dependencies: @@ -16182,6 +13970,7 @@ snapshots: serialize-javascript: 6.0.2 terser: 5.44.0 webpack: 5.102.1 + optional: true terser@5.44.0: dependencies: @@ -16189,15 +13978,12 @@ snapshots: acorn: 8.15.0 commander: 2.20.3 source-map-support: 0.5.21 + optional: true thread-stream@0.15.2: dependencies: real-require: 0.1.0 - thread-stream@3.1.0: - dependencies: - real-require: 0.2.0 - tiny-case@1.0.3: {} tiny-warning@1.0.3: {} @@ -16209,10 +13995,6 @@ snapshots: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 - tmp@0.0.33: - dependencies: - os-tmpdir: 1.0.2 - to-buffer@1.2.2: dependencies: isarray: 2.0.5 @@ -16296,12 +14078,8 @@ snapshots: tslib@2.4.0: {} - tslib@2.7.0: {} - tslib@2.8.1: {} - tsort@0.0.1: {} - tsx@4.20.6: dependencies: esbuild: 0.25.11 @@ -16313,21 +14091,16 @@ snapshots: dependencies: safe-buffer: 5.2.1 - tweetnacl-util@0.15.1: {} - tweetnacl@0.14.5: {} - tweetnacl@1.0.3: {} - type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - type-fest@0.20.2: {} - type-fest@0.21.3: {} - type-fest@0.7.1: {} + type-fest@0.7.1: + optional: true type-fest@2.19.0: {} @@ -16369,13 +14142,13 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript-eslint@8.46.2(eslint@9.38.0)(typescript@5.9.3): + typescript-eslint@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0)(typescript@5.9.3))(eslint@9.38.0)(typescript@5.9.3) - '@typescript-eslint/parser': 8.46.2(eslint@9.38.0)(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3) - '@typescript-eslint/utils': 8.46.2(eslint@9.38.0)(typescript@5.9.3) - eslint: 9.38.0 + '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 9.38.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -16403,16 +14176,8 @@ snapshots: uncrypto@0.1.3: {} - undici-types@6.19.8: {} - undici-types@6.21.0: {} - undici@5.29.0: - dependencies: - '@fastify/busboy': 2.1.1 - - unfetch@4.2.0: {} - unified@11.0.5: dependencies: '@types/unist': 3.0.3 @@ -16446,8 +14211,6 @@ snapshots: unist-util-is: 6.0.1 unist-util-visit-parents: 6.0.2 - universalify@0.1.2: {} - unpipe@1.0.0: {} unplugin@1.0.1: @@ -16691,6 +14454,7 @@ snapshots: dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 + optional: true wcwidth@1.0.1: dependencies: @@ -16704,7 +14468,8 @@ snapshots: webidl-conversions@3.0.1: {} - webpack-sources@3.3.3: {} + webpack-sources@3.3.3: + optional: true webpack-virtual-modules@0.5.0: optional: true @@ -16740,8 +14505,7 @@ snapshots: - '@swc/core' - esbuild - uglify-js - - whatwg-fetch@3.6.20: {} + optional: true whatwg-url@5.0.0: dependencies: @@ -16803,14 +14567,8 @@ snapshots: dependencies: isexe: 3.1.1 - widest-line@3.1.0: - dependencies: - string-width: 4.2.3 - word-wrap@1.2.5: {} - workerpool@6.5.1: {} - wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 @@ -16882,13 +14640,6 @@ snapshots: yargs-parser@21.1.1: {} - yargs-unparser@2.0.0: - dependencies: - camelcase: 6.3.0 - decamelize: 4.0.0 - flat: 5.0.2 - is-plain-obj: 2.1.0 - yargs@15.4.1: dependencies: cliui: 6.0.0 diff --git a/postcss.config.mjs b/postcss.config.mjs new file mode 100644 index 000000000..a7f73a2d1 --- /dev/null +++ b/postcss.config.mjs @@ -0,0 +1,5 @@ +export default { + plugins: { + '@tailwindcss/postcss': {}, + }, +} diff --git a/public/fonts/pt-root-ui_bold.ttf b/public/fonts/pt-root-ui_bold.ttf deleted file mode 100644 index 5411caeb7d2920ecbb6bed481830a56daa0cc2f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177368 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 L>bYgN|LOk$!>yc7 diff --git a/public/fonts/pt-root-ui_bold.woff2 b/public/fonts/pt-root-ui_bold.woff2 deleted file mode 100644 index fa85f8baf3377d4f7a25fdd7526795afa243f371..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55440 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 diff --git a/public/fonts/pt-root-ui_regular.ttf b/public/fonts/pt-root-ui_regular.ttf deleted file mode 100644 index 72fea6cd2265af954194253a64f2cbaae23a77ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177328 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�hN$ zmhE%^sv0T!P*MOI^p#|`1^H3YRN;AsyD7$ueCQ~1{_o%a(o%Q#@CU??`b0zg`+es> z{BsZh%Y8hTBk+B|F0ARHEVik(sA+`9hFohW{OsT2t#ZXAsr|)hh54r zmDIRbkxRMBJ>4LMB21)9(Q)n^fD@zT6y9WoU;Vj=eqze<_4UQCB|Bpnw6Fu~ zx)fQworoP%C9%U5W;*@4GI}%6s$-1gY3`!J)f&mhrQM($> z+mo{k4Gp1Ceoa>>)K!yT9cpY?n5~I4g~Lrv;imSsXcVrMqceSV1A&~bs^VxUFE11= zuIkDO4Ak|_h>WDhvXc7xlCs7Zo6CW>nbcBU-t5rY)mXn12GQDO>(CmHh8h~Re$Pf| z*?$0`ImTA1&dsZb>sjK6$q$fXj?7Euh?5>dE37TeHrEiEHQ^z&f#|w~2A`35PV6v$ z1wJ{N&`Bxv#ho7FUTh6uXF3kx@PrNrFFRfnUUnupN0%!If8xlI5&UnC^<8^yALtIx zF~{(n>(}gs?sISl?1jBR^#750eIKp+UQ^&Ve}UiljX?*^2DEKJ%#aFN%rC3HS$j@c z?u}LuTjzHV<$Vj(z4`us(Kn4JP`f&?PrQV6R)D%YI<^=uEj7=q`C^^nRv=RZd!h6w zQDG2;vg_(wL`OwlLD{CN;=*vau()cWv>>sV_ z$8wH(o?6#<9u@*PXb*}7677RF3WF8mWMyt)>88q(f|{CwlFEgWg4_yoPvR+ki6`TE z&EO+5kgxKLt#+2C^LuP)Ow?*W(QtE{ zFVGzxoEU1Ti!{Ti(q2}!aprTMYmPKWKF6|1!!36ZlP`bEN%rkBPr8_ zWS0Chw;Ioiu{^(VBVU&zuj8iUy0&&)Q*!235u(PxlZg8(*Xd&iF?eao)&6!6Fq67r}MSFXI_Av z>c4XR=6QT?`hBl4iE}sM-1*wMB%FH+=PpQ`>%iQ+#BD#o=bUlim7>NS{WDJTH5cmF zc=}g?{`DAN!Tep$*Q}-m0u@x_K10`8k``89SGM{(v6=4!X6Vu>OUKkZsym>@ zzM8MQO~03-XI?)v*Dr};^#AttuOZ$CrXGZD6Tr@zo=XvOnoOhEk1{OUK9jQ$e1IdD z`3Qtj$>|E3GYj&Cj>=1VM}`(_N(Gl-Wd!f%{~Q}*_5muGK^p<$O%Hrk{2G;SZy$K) zJ83_lHlBkvRszo~L(3~HxMg`b z(kxa`5DL2~kOB}Fn6F)o!m>r$#Q=P+KsSIF028;W8S4-E(Ir37J~+9!u0C9~=TPAM zzyn8~%=^f>7iWpSocQ00+`#Kumn?tslSkhbI3n7158QlxZ27!_-2?m2ja?7Yp*@yr z45eUy2%>oE!**6%I|*%B@Bt5^|c;v>g%m_&# zpX7xTL9L%i3op?Q8=x|3zpN<<(IZN70P99uxDo`lLJ^2{r~h~>c4Dxd64~J)QC3mY z)!Q+UvLXHa>0R5)f_vg!;`#WCC1pK>Jrk)LQZC%NYiBTjNjz2FTT$QIR691mWwN5b zbYOa*w5zQ zP;(HZDd)=56y+DQ{VC)M$s|B%FK?1>ro#)`L87>;V3K`?ecyy!HP7{LiVW`}Zwv-FxrAd`w(^_`(B6 z<_GRIZ;F3sZswd#phe)GpZO!R&8h;fZv?u@U)#x2H$m;R8gkVE;!oTB6is@ZC#seK z%M(?gRxWRb<;G|PEWko;#c}#6JIWYaD^W_viH=4QHetOS#k#H5h%gYXrjbIicGz9< zTB71eu_RZja`ZxBBy~3FGb#Z-1_Z^KIw_SZv$C54|GM2_vVcFsz-&ABj>LQ!zLD7t z?JfNSo0mtDwvOzbdVKrr?DoeWq*wE)0|&%~mj`xl=$b1q^Or}qoR@V8#u&*Uznd5v zn-E>EjP>`A(b^V9nt8GDGIYHFWIw;gZ<$J!tjR=!13NpHNjAF`G5`DtQa0ObdDt*! z@Ux&WBYZainBn|3n*I9TU~iCchl2ike|u!hmPmC3|I2st#_780{Av8pZ?uVvTyFs9nydDAG;?x@>FjBrOp6C8&Pb8*s{(GN>|mzpEhsc5EWI zCO5Y>Fw)aGR?<9NJu~^PXkTeCSUNGbJ*PZ#DXTIdiu*=~2kI8)=fdyYJS>iNUfx}X zf3W?*^Pc2GA1v&E<>=98H4HcGx=`bD`Bjw=@hm$Jfpi7%V&zW&!tL5;R#0rd);$ClCGJUuc?drcPEf)6 zvw{Wl`kTy`L`D23r?0<6oNrE@AOC6;4eQRqy{=~)}@h7MM*gPL_?3bT@ zpE$a>p=!e-zYMfBS2efs3kWC47>C_8hxM#__~{3Yx7o(fF!2uF_o$3F_-MDoz<5+v z6U2%9Lf7brEVc^w&~B*6r+YQD+8qu2siW2IYUrSIU9BhDG`9+N(N6bJhO_Bj(Ru{2 z$qH`3MMF9k(D4Z2nHW-@;zHsRvv;1?*LVIMv+8~1^35$Rn=c=6-n(wuv|;1y_|VXJ zYfVk7zi z9<>dhup4^&xPR`NX&_NU4N(&gn$!UY*s23wO;rwkHRG~ob11JEuR3ooU zMo6?n`BX;9Zf{^~SbM7-X(tH>gUkX^7s1Lx3Q@)x3JFP)b>gL25Vheek}!^35*Zm0 z*&^JEF!e9aOd->=rn#*))G^Qzn%p=siR0?JNHrf%{qg*v!?Q!Vn@2Y14vE_F(YjDY zX>n;FtE9QUWoV?UqyiP=iv!uEt@Rzl;-SC)`}kF2vhmSJ8{<#OF^pmiNiHcg9<)<} zY|!MYVUmqBl0w<3sx@{6*TZ#$b|l_Ozrq z?RWLoxv1RuUF?bSnak$y@XW9zn#8XY<{x6;xfC>|?~&`ZeY=_Bwq50vX?ys)oPG5% z-jBBdOv-OCZ067T;AeiRuqyRk$(@nLCW8(Za@l05u zARrRDhWlH$y>%AaiMi%GsOQ#zKXW+B&?!WbtW0aajW~Uc@wo00Kj!D|MwsB6JQqyy zgWCA|h`t?}?kcA*_u!s&)-u=x(H?rF=2vM8Ja_^UP#Q3!e~$dy0o$+T-*S?tVmqoN zfSn|`3Ln6jlQR>Wcw76Z=p;2g7;bub+c(YG(|`WW9k0Fo&GBzSHXnknQ)ceN{iC*U z?vF6#WZ>irigd#*`OPoiQuqx_wKrH$kNw3z^zzFuOuitleEH=aFP#3oIr9SU*?~6y z+G(?%GwcZ|W9u8qpTeXEz|DWcueUib1n)ih>^jVIzPaONH2m~uMd>$Re)*dqMr!x_ z(eCZs?i8oph!;qKC};5|V9K{-`R3y{D2m-d$Yi|*{vovb<-2#hU{0U@+zZ=Y=6hnS ztsQ80CiIkKE!W;N*4%D2@VuERv6Ago)T5+iY5}|hC(`sD@hmuDiZgLa1|c zPA)*-9z;8)ZQ-;7bArBEg8P;v-;(8T6jP0bhjU5^3aNqYek_k#Ec z&)Zip0+>H@;00%FUp0G?zmsB&d2+rz? z3@SQK$St{2^IK*5gTbuPwMLL$*ySEdRBw{)QIZK#JRC7_!7%hOBzowFS%Ur3^u2VV z(mCsg4U_FHwJ#~j z6#nAY4bA?n{PJM;w&Ch%G%GJ{&*JD+*JhPB4mLmdz?Wki%G<}nb>%7J8;YA_b%mvY zbeaRoRh(z}^v&vUs;E*XZax5U>s?hfF?Nbqrs5w!s^{xBS(C3r3a00D;5lV@PCD`< z^qL?%*J|8ZUc{|Wq`3Dbdosv6SvzB59}4DK-C)~!WQ*%Kbqdka7e9YWd?;RcueeX# z0DIhh@gp%jcNX#1);jUl?(IN6xW_CZ|2y&4(6dpy>n-QKL75GUC+6Zd#-a?9QKK0p0$i((`eztO6H9j*$p-xV95HUHZz#X9IW zHbG*~p5II>0p_AMHX4m$J)jVbG0&WpSfX&pki)RHSs0p41E=`p4uAnZi9Yg=0x zI7Q(flb9+!=r<_gSc&$@i=JiGGu#O1UnX$XQt(CvmWtGXpRI|tm6o=}YRWoVqQPLa zxvgBC>EGUhSl)C|nmz9OH`5mbH!5)s3~4Wt28o zRW+ApsN>GDs%TlpXNnrj11Uv_Oo$ex2Fe?^r4}_+JD(ATTppmY69&9S<{9Y2#lXQd zv|M=R5Q>Hqyq~zH0vjN+dZr#y26wbs02#qSspXF&rg(Vv&i%bp(M^{Q4_~?|I@P=X zPV*VO%)%40m(I{P^qDSm+62CK2DDmi413zd%}{OfU<@dJ=50_iMP_6Bccz0sqQ3Lm z2KlKyC|dqe)gJonw&wui=c#6S0I>>5nmyB_+Hw2O4@#S$$ilw$CB%KhPfGHn@h9Lnb;wsa&o}_f<$1=3 z5XBp__GJMQo$QFj8;oPv6ShM-KWL{oes|Q(w)W+SBQfhAQ8gQGq8wx?S}S-ZMuZ4T z6YednW%eUsR`c8@ub}cNuo)2N4`9Y@?R+|~tV|Rk;c!i)nZp*#e_=Au_J(JF-7(d1 z^TQ+G|4sW;`%QQk|9<)9v3q0mg1*ce*P)$Lx%H-vzO^F9!8U%2Tm~E&C$YE98uR%6 zJ%~d}L#>jebjC)7tnbHK2H)WppRkHuImEEocnrT>vUXM^ldS+kExUtYO+ z=-fpE^m*pCy**+ty-v|7`f3W-G3~i+8uhfvV>wfLz#BG*(m%rhlu|}R`dDF_zoQlr zuTU+b&u3{7XslcE5#)V-9@-Z?f+9(@(0R%8aQ@E|=UZ`p4{WLRsH0tHe$P1{Sc{ z9hPj1yjEUgZkP8l_R6+Uj>j2j`E)nuik;?e+(UhjZ_b=CcRN=^={Y9$di=8t?7C(R z(?|`xthd-HZERG8rLKw`Yslu%RB=T!3GADKbhhgiwAv{J49Ek0#3*2WBvZQf3Sb3y z3742%m3wHH*H+QeYp$Z8XzZ9&IE13?2)&0KQnXvj`XRwQMDS#pL7wfpdaLm9&XM|w zU7fXc-7^#J$J|KxVeEht9p#^=7aSG7D|E$p=dOwR^uz8avA1QuSZwr_cTD^Ue|0#D z|Amiu;}H1xUW`XFVy-MF=A3pk)^k+<*|q>ajusPgWq9aElRy07^sC~T_-Gs<8+0GY zePZi6_wlSfzA4|Q7L{17PO+75^!xa*_@a1*@8i%FW~wHUH%IO9?7bQm0g%}akT@pM z2u$SAF?+W-%a zemCNI3n)Y(Pp%u5ar$Q(DlK9~3FPP7q#>ffd>NC$;J?8K6`y6OKGUo|; zu8AEa6-8=$P7jOo;}=<-{4CJ_E{rif%RJk&^sy0*R!96|w3jAH81r~mzDeW z$hpA&pz3_DdoMc~Ex{V`^Baag)u--k#_>;>>IrxrpF!UcpNJQVXGzBH--lX{ygIR$ z2xmQeo~3MMwolNALs6%9#-4W?Yn1ZnEhlH6 z)~H7(RkjW`#BzWhnX#lXf<|_Ivi)EGRir&3 z0`Xrxf&ZVN@wOnZ8Spreeo4_PSE^_gp){ewA^WoqOQ>UY-4c=%fZnDp)R7e zJ^UJbV;Xl|c}(N(q1_^VrY)^24N5s)={mL2k^}Y8j>#`$tt(TfR;F54VmT}4B(9pu zS($@w$!d$1P`Y}JSel{@7kxtMwji_B_e#f65OtUyp1FNLe51F|sQ01E$eViEkn=v4 zUs{@vzn?kp57tihMKap+b_@*c$ZOAt^i8sdb@mRr3w*M8AH~l{hNV+>cm%f-b9@WB zjq?}(ZLqNq;H2DUSi2{H5CNoa%mz5UpGA zbn#bMKR$4hWIst+lEr$~t&*Lw`?3ukrVJNaGYD}d+&jDD;pxvUimksh_p{w57i0fJ z(0sblnXuasKk(?%ye^3aSV%D@_yP;?1yt;laN805Q6Yi=hPtli$#=f<$r^t3s}DFt z`%S}rPSBWfP@q;aoH>2-hZR7bJcUQv8QcP!a-C_H(i?yT7zmM=9*B>g#?*u_nVr2P z%&&UGe6v@{li~1H)JB&#=7B?5yem*BWSY}V&sd+0N3x-cc_jIwC7ZMZf==6c0sa;N znNW{WnH-qb*=zV{Z?L{M48b?(;i&)m_O5%M= z!CV$&*OyiPB#n6N5bV2E!mKJ{W@n@n^LPSNM@r#^l>+8jmGdGlFAs(K=bD=4%11`Z z=ORs;`a_{|5^&0AqfK-Dp(;9GMVCZpaURX_=u6-A=tYhm2z}{k=e*Rr-1A@boPQZQ z(_X1F84uzc(u<%^Nxh16CiMML;{fnaw_|@nzPy900Gox%7lqvVD7={&@P%gZ^&d3$ zn2*5EMb|5tPRlP%H9siuFMb9B7GC27wg7qhZgacY3rfLnl+2lUMsKM&@Y-v43p+l4 zmTN&326!37S&=Tx?XSIN_QvN0Su})kE85?N_Urln%JS0I-fY4pxLKUQ190vAxORBe zwHh`+rnq06h;OC`;MQl(#Gf;}&%D=s4&!xgoSsJKZZJ=unX}#tbek(szncC*HZXrL z+O50bXKJ$z&ELh#zYeA=E8yBw{A|3S;5$k|Kmd(DJUo@EbPe| zYl}=B&kY1}ceba;>RV+Wip|r=BYQ9S>k))RMsm*3u2q- zO((L8{o(h_Uq8Kl`?U4md5QMRX>bDZ zd<)JVWaX=kg?XI$56CO}1lj40h=&iip77-+Ze?c}Y>3L`H}8#gA@o?w;9v{=1uH6o z_%r`uAQ~N@zYc^5mD8U?Tb7A=xeHI7vrP>HFwqZWxvF_Mk?g{L0V$a{JqdvU?QDJq z=AC8=G7aT8hN;&TupabugZ^GCtE(st6clxIMiZYbv#_MFqU&r^l!ua>ZeSS*!7ZShf3bCEfOWZO#|9i%f|yU-qLzt6gA0dtIg0WU&)iE5G>lXN|5lAh%AgsJD&bEWgo^7&_o8 z>7&l|KTKTD=c$H0-{%{AUgDf7+%me))9OCJ<-&Ofm+M*qqCUb8;VYa(IY)#uhdF|e;P4^7BENN|nULuC{*pfFKA2y=572^E z-AB$T-3Mbr_c_K_AQz@4aUVH8bRW_aPbx_>IGi7cBd(u94$USd$okzR#obJ|VX~l4j^W zmo$g|?Px4@L#+g6@NL!S^8<7gwQ3R+-ZtTq7PcAIhl{pe1*F;F{noCj!!F~q5OYW>$nWeRo}7%} zX9PgI;B^Ru78h)s8Q;8ld?vm!Wr~XqNB}!C{_p|w_tRrbOJmccr{9MN=lkxzBewr) zGj#fW=sVT)mi3-95gUm9){p@ii4aoQYy5tUDa$*Ko>b0+|%D0uYg1S z^}BiFQV+0ma;xcKi0>}ecB3jjtNL5$>_XJzyhM)~{?0<=_vm!2wz|4DHXVOu+F7q_$q?r`aXsj3)Bn&|A2XmdE}3I zOnN~hsJVgjQ*>Tj0Nf(7Ls5KNE@BL7kw@QaeAG7j`e{O&*v8Q1(2!@D@My8}n?sU_ z$Ib+&XVkSb*(p($Rp1cib;AiNILJF?7xHh(>`-#bZpz`PJcJ6!^0A0;gcMp!@(=$6 zt```Dkjm8UsMwIKgMk*H!}I_a9-+S!+g)EkP=JJRZ^3^ZBxGiS0|a!uNICC-f7(AX zS~JxfI`6!ZJ$q3tt$Vl@6-h3*bmWG-P_!gAAchKR+DbQ!`cf`CIC~D_vC_+$Mq6jk zPuaUS<)U5VqrTVE%bO=UmoD`0H4m56mgcAYn|~;NQ(0q0L2BGTj%d^GQ! zl#N)E6aSZZ;9rr9c>MU;k`duE2hC(c-)coo^OqueRx8SSfq`INS_GtU!P;K(Qy-6kYt;Ln? zMa{8>XhW>ID61%xSKirBnzWbaxEFIAf=!_g5oB4MK_vU`$sMW%XRXB&IT3dKdr)=l z)NE$WC^w-Oq|TLR5jCb)?Lod^31{+9#xx?whLL&L>DVHiT!wNKcwhuk3SR9ktS-#h zxwE4CoanBD*0eP?G`R8PNq?X?7jcAzvFysm{z&J*Ly>d3Dh}-)pV~O|&_HK>f3zwq z#{J4izo=G1Au7Gg3@+`N=2m|Hk}tU!41!cRl&!lT%Or)#8A- zI{t2PIR4Io#eqBT;YsY>x)?gkworcbz>9qi^r zvetA0qt(7mrpnz6fIu2~Zyr*9VICS3ekfnrh$aqOS)xfa4%9ZMY`Qb;j?}FArH$zu z8=F&7kEgwVQ`V-1ft`^y@l;>O{Pa+yt)nkKIS;uJdpYI#=CaMI&3MSpY3JM_3~G2i zRvZDHMTixb=0s?%Kq?EK!d4EvjbLT4HE8W2gAYd8o9Zj*T5Q=xTK`G`F0CC#a&+3Y z>%v@3q0C9I(UW|g#3Y2Wuuox4l5a0^e8W|>-Ge=YDI1cj+D7a4?kp?b7mtV+;xvTI}H+#?^>h+5?;JMZ9+xqrcsZaqp9K4s4(eOd|`PcrT`FwLF>s5@uDJ!MiKy zIn(vJkTj>ELD_|T5!*GuSt$_@h$*0D@KlIzR5k0#4O_Ns=%3A;$RDV0YpWm5kEPFu zqf668(@Q;V(T>)lR@fQ_xqXD4@;zXuv;3h1zHO$#g+wC;gOy zU1b6#Mu)XQ!&9|}!>)uVD(nide-mr~W2tuaaD*5$#6WngqocX4zq@t{P_cLS*0weG zMnb*u-!kn~82>F|7`rm$F2CJ2B#vFVv$#BgHyqfZMw2tFsI^8D=Oe+)l?pk^s506N zBtrVr62=;2ZBywOJ3W&ww1fFvNG225oLVOkP*md{l3!C{aSaO}yeVo9fQgXr^QJ?7 zHa3zxoLmvEYYa{HPfz#P^aOlu8)q7tn;UAIqyOC#%@0NzI$JkwEIMbtw7fn3^!Uav zx3(0uw6--DHMjBnFxCv_C(qdQCRj6Svew0#Sy>A*qslI8ATvXOjw*#QV~u<=SfpXh zAe8bqz_F9~Z$V>H+20DB`EWr6)!x6tA`S@=c3~0IO(DR}^r0lnt1|h4H}!B7Bl0E{ z8rd-YywYKpOV+S|J-!ZJTWW0BFRO5Pc)Mh( zw#X|Be+RvRN|98-7>$rmn}_b2yy>3Fi|dE1k@!D+L@SUJXbWgIau_`&$hP}wY9gk z7qx@P2#eu0UT3TOVmf{C#1(jiCmv~DYH|oO(>UfMU@^`_pcR^@r!Vkrd-{S5Z0`yR zdlwMmIXXj$l{2*LtQ_%JQIPvmR^AaG`7C#YyM(C$T@cP<40}#4a$iz4p2p!KY8seJ zr~}1-S^i)RiiyO-&FlcznR56pRl5SkqHb3pT<`l>|M*ZHhIy#X7ZOJkt0w+*dmq|E z_=NzIgk8T69MtuHddR{(J8H;o4XoHQt_e$Xg9H$P&B`Q`1Q3!Q-83 zc;wD_=fTP8nel_yY}~vsWriL(c<_wR&;D#R*8pXt=h!}} zxcey9*OJ|R=+4pe_Y8k(`2Vu^-tl=ASN`ywnX5;=S=Ev(J?gU6A3ds;ZFSsx2Mn^B z1+rvRTz~{Z3kifCLVzSd2qA%F?FRyBumnhlgb>n6mNb?$LbAY8<=^+5nfu)P$Raq| z{k-o#Yx%iT?%b(o&YU@O&KYs8=z8Og+2y96v(ZM9JrVCDd*XEMF`qkO>DY|ad^|Bx zv=ovgaRyOh=?~ra#zPOyz9sH^y1Du3X7uQ|^$Kiq|6+kp_F99?C-|`XnJNd3QH*mu zm+pLLJEBfMb6aV1JEEezX~(j{!eu*}9Jg%QlFY0n z?PbP|E?$4$u8y7OtuHBFfBsJPbS-QjT-~vHpgkw-(etw!NC&)O;GI>W*aAX(ddzs` za;nZZxKq`0Blcy`n)Mnd3MDL9#K6*A>R6z~c?yYQvcbb-GG0(E63QD3leev3zip)- zb|Ra1Ec0*P`4e3Jn%VK^qUQRltflMLEv;PLR8Y{gy0Y!?+OKrzdJ@ky5%pYxdzKSD zcP0Gmm&?N(3Z&Fe`iglP8;96%^pK21hsR`(7C03}`;SDejM}tr)8-9p1_ruT;UI2J z^vbBop|j7auWN2CSh_R%;J!7R)+}4Px}&$bwP)3e)5g!**03onYkO<;>P9f&X)Pf7 zmG~lLYZZ1k_$2ixWc?gls}b{xXD;n&!n&HYp#;FgZi`m|h-4pFn-kO%8Is@|N+FCX z7K+n$3=a0qUN82~{`Lj&%xqQ1-FJ70_s<@oxlR2~I!J{UY^)X)hvCE}HGs|>5D%$T zW^sA0Rt{xz)KS=2O>hAo3ohYQ$S`=70Zdmj|C5dGMHdshkPVX(C_%Sk$r%@>uP(i0 z!>PMBE?u{vH(y*Z`?a*Zje+2{Wkp3Rc1Q2rG_rgB`rWm8;{1+3<`onz+YtpJ@1zpX5LaZ5pI-NL1NSCv;5wr{D=4s32O{L`kL+g4|<-nIn{ zH>}BkE7}LfK<~w?I~cJhJMcvCW4Y5lByHXn`G7Yup~(gU`0u}%y}l1h*S}dU&p-1v z+}%w5tna#_Ia>fJxKm)+)>^rWdK&Un*oORL9;sjRIsLWAmb<&_P>g>$WdOb=%oSmK z?(J)IeQ<7H6Qk1+L}46c1i}^JCpz%edI)s!72knE2eSE6ls9j0E9h>mYoWW2>(({r zx7M}x6tr(^$_bQbrIj@J{S75)+2w(SrAsR^7go0U3)?EQGb@%xFKS#_xnfs##`@NB z2#)6kx+_}NXJ+kQv1DaqzPMJU7St4ERTieF7glEFSNj*tem5v)={C&4KLtE$xM2a1}owsLUq#fXWWaKiEqc~SdTb9rQkGi(*X zDevealUFjzT*P@nF3HU+qJ8<{yiVsd3q9l}`hX@0CK_AgG=2NJSR-zNy~k6;cMiA#`5q(bgQIfpTfC=w?P7-!RlrGqc=w(ees3EiO@sO5G~Z|}-Qi;4|3vh?=<^37a zJh&M;IW$kiIP(moc1N+rcvzP}BclqUz&?+0+d`uRzB8yHFu>$HnV0|hH~wu) zFxY;nxTJ|xAewew_4woH|6Te)qD#{((KK|km6nnQ zQ;Ts)e1?I=cafWpj@U}vpm+A06BxFZ&zK-$S$Vi`*-$Ql2ZxfSpAct9fn8JLrlr zD8}kUn@^}Gku$3J*(XKPNBXqcCZc2V0Rz-`S=jT{(%qGHbaod;uet*xPD&hr2xTWQ zT?niEQOVf_*_eG0d4?tVCGNR&$d^si`lydh(1GEU?}7{PcO=78bLp6<0W=U&(RSn^ zJsp-V_u7%af6bbbGJjrQS65%2zpMnI($W(8t6s9C8b49mT~{1TPO2`bTCt+4pgJiz zSX|frce^k%yRa}jv+!Zk_poiP^+B`=tqcDMj=1GcU-LRa^V0)3$!P@uoVkz{pT@>; z-wlq~h&*%JjF70q^o=wifB!#%Bl*}rgd^LyX$+kbsJ>+>tIJ|J*1WfQ+#lVXVH%MClFsIHy}0|PrOAu(pxXdI`B5a>8#@% zMmoGdMbukg5TAf#Tk7!_L<=eeoiLV3d(3KqJjA|`b;?Qt-FAaSB6Q_zaL88UoEC;# zR+Dn9+e6XE)^t+_gfQHbY=ZiBcgqppH-VVPno0}>+8Q=zFvGIAyr|3}8Sy?6l;v#=ctKraixD$Bs=^^k7^B`C;o% zkRQg46cMtzj>xcAUKof6C!g2v{2+-4W6g18kE&$nHc<}lXVm4$H1kMNAwIS&r}fFm zQnvSipuuxku+qo}KYoIouq!XDtZMn1xI$fp{zwKzxz3>|VQm$SSzzF2zRn?TsQnZh zJ#rMNPQP<+7cbm>cr}d~`WW)!hj_fB(Z{Y{Ch6^m^?#iQuK5Am@KFVsK6o%;|w_-;H6JHdlm=S}eP8 zwzR~+&YF_yjOqex=Y`_XgRM7`8Zc;l8>dqt}x2?-WEV-3w)~p;>ix_4CelFJ{vpW zIUA#EMhGq=>c@cLoXVz5DT)bFi7ti#F)k$m6kg?~&5AIEO96sS-{* z-6N$2@9`MgL+$REr#+79XT;W&d3jEIxN*+G3rly>Ifpjjj$IOSwJ-y`$9*7wBaX;` z0-Y0P*aRMD@|{OQ?52dFvv4z%U zyRkeMb?fNl0kUqi#zKHWVgJ!kqvaS1n=3M3lyzmrC9$1J>zYdI6egE38=Segxv*?W z?ZUJ`Kx9@|EUw~tQ308T`}thBE@XRf5bxvW4vlx$M)lz{=u8q(xMp8_c3xhIIDenm zJ$rBdLTrxt%$a3=3ayJnJ`Ybif{)4F=1jnd(^EeP6#ra+U}$HdUV;v3`-waOj={Xd zfoYnDGzVWa&kdrw4Ov8zI|stQ0b2BY?oXVvTYqA{%qeDf{7&=OX|pqrVf>1X+mMZx zIrSz9tPGY~p*kiv_{+-bs`Sk^ZIxwTrM{+lSA=rQao4xj&e!Eeh<=1YR9Pg%;T7*7 zTQIpUw1tda;w(;R%o8&RhS?1B8z8=|V;PBY6qV;Msti;vTH3X&4dJ}};zb-@CT1FI zvvL+@q@^Xqr4{8b2{u%w!*Fm)N_;{_NkI(+p|F;s4}YyPao@n6kjThHO?6u$WcHl4 zU|)93cKeIAX&hpKOa!2~24VyY5lhz`OLdc)8AalUd}lFEsi~X4&|cHt-o9~TdQMf9 zIKQgt)6KhgH-9=SUGsZz^dm3DI#O)i6pCSqbX~UyR1iUDGcn=N*%4CfY?se@6CtHv z1kh&@b~1eIA-sVSVm;D&EUHHY8tk7gdWsnLWPH^tIRrr`2v=$;BJ$JC%=CA7_wMe_ zp7yem*SkB{_m!2Le}32NbXRjvXLmaw-Z<^r020F&9%MHz!hOMnec>A^$9I1^t9pQHK$X2jx*2unRUbq?R`FsIHCfQt9j83VMy6GRghLOb2tgj7-~gCIv^DoAk$$)Q80F>gP$vAw%fyoCY5NC3U)HmO>)snq&ZD7mbB{xwOm-9@ow!%H?bb zwWD0mzF>{H5>?DN_n}h03&HpK4D)>!Ko$hHNpP-AvJ@FOC9kozhoGU2_7L*KxD*+J zd*1WqV?}QLk3uFS&kcsMi|9lmRGCN8{b62+7OP-xhf2>9HGFkv2AyPrhAS(FVI5IV zr^kiu+k$i?2lwe@baz{E$>K{wKhCfptBH&qw$Yg#8Tr?)yUA zd#*^6QT!OV<^O*>HUV4~cAE1e6)gPGIJ2ApXg-o9TOVO}HiEupk{TH6nB~GOC?c<^ zoufWzA@L-LA=?|gyCsRMVv;_o*uDD={O^$M9UX5!&hwS_(zpp|flpk-W8u!T6)bZ_ zJjma}_Hhm*84iSU`BaQ>SMmq3T(7 zFdIEeHV}G9Er#eoV=*xw!-wQq4UN%`&^P1|gJt6PK?S>#MH?HdAkLEyS*Ec@c|+Ic zEuHw00g0%L>iYh(RI=*a6AfqRtu(i6nwJ?F)&c@coi~P9_ zE2~rUlRnW=PQK3U1q-q}mu(JYW(GDdThY-)zwf7&HWsEY%7}|g&s(q{H$ASgHkgyu zRgqn?ye3E4&DAT|m!6uOwVh$KzKt?hN$wafUyu#i9ds_5V`4tmFr=}EfR(2*fn zg7Ldhtj1lQm{Bgw@E(EES$dq0zdHLirNjEz#OY}6L;3=`_9V+X5K`|X%gTtr8DHL^ zoG`bHxDd1yqH5&|x+pHrom{XfCo!J1#-}!bb)8mRj@#9?b?v@k?Y)m|ymL2%YiEa_ zesT7V=bxuK(YeX(sME>XF$9a|j4tE>14X9a-ZuT#>g^9^MNoe@aF6>Ztv_-9Ucl*6 zG+ECZX$|+_(W62eS z#aqYJ;_J^nw+sKVg}U-eCf0!?=pNP%zT>maTTf>m8~GO8+sSF5W8&fit{Jxl`Ow|4 zf8;dn-ZYFK!)f>~O}bAM{6{yR6Uxfwd{%hVuq3XN&&=^#tp}NAI)m3!H@uI-UB_?4 zJyU05-8>sshYi0EG!@Cid-<31^80v%9KHuv&0+6^^-%s-`F(e`uU_5muTO3d+9?eg ziz_P^S5!LuzRaA(vyU_^TGUq4klj$D<@?dshJFQJCtC=S_i8m-%dKld)`||oh1z1c zzE`Wo;L`~96}OKT-jljlt5M&p)mR&9)^|WP*Lp9~!o4U*8&i(fKXnurY&E$^)u7F= z6z_?a6dgS_Sh}H`5l{M#t>w65tE^)Eic{AAQ`c-&wIzMx#_&yBbXL}AT`Ru}oKWoU zADlBAItu{l?LD)JF790m;h*o`h_QfHm?$EB`if6;gX@{wYdCw~7P9Z%`| z+<5snlRh5toeK6iOgaUpVRfI*3lprPnYBk3Kg(L< z2rH_G>c$#h397Zj`a`I^vx^|KoU|J0>0JB92*W{lVf|3z$V6NU5wYQQpqRJ94ksX# zlt!F~P-+@4_qFUCt)(@jc110OD58>U3u?jS&UPV{*85!EHu8~WC_g)wvM4Jd0hQ2V z&XCTTtK2l$mK|$wS0mbZwYfo9Uvde&OuFTg*t@thi$zvQSDNh#;}8JELUbW6&Wa!s z-mF|1T(l^-va(@gPFM4(duL`pvY~rz5)CTELiTd_V$ltyisJ!9FX zP0KphZ-~xcy0fjSb!U5i`QlYg%g#M#@$T)xa(~O>>{B|n)>MnfH?3K}e)im*+p4zi z+P1T5$94lJuAP`@^#$u`5B$L92aUUHI|QR!8MZ;9VabJ=(+*?Efp^L70nykbBYjP% zT+2vftQ{4zLeSWS&RCZsQ0fF2NjVlVm=t%2g78@5+}7oxVuGeV6obykRamo?Db2y&yf%4xyJO-yFKU>&J#L&neDH zi%UvrT2k!qsBL~H>YV$Q=Jp8T0`w5!j1T-~JV8@EPjb!u!EIYbKQ7;de&t z2buZm41bvBAtd0iI8T13h(m*;Y)edYWJq??*)|&6S;Xjskhj@Io}o=>VUP>TRy#XN zV@GRA@uF4|6Qe#yV~SjSEnfz)OEA9;`^wjuzFcVS2-$4yo|yZNy<>)7hrEbTeBd6S zt)#NZ>M@--V+$Pb?ubLtimWFyrCSWnk|S%)CtOMPw!XfnPaBWvi|JhvY{`x4lL6U}eitz)Uql zh=GKYP*x6X@Ezqmk(TU73EjV-(?xMOK3e_J`U0n?_)T1AN>4ET^z3VZE25>-n9l&2 zUJorD0ap$vL7Ij&)AYTm=un)KgO7kKs8Wk(PCKm&|HWy|9nHf38lJP~Q=edP$9S%y z-aJ;-6EINDXb1hQNyO`nt8B|r!3X!r_9^hWr!DYaNj28M-oVf)bRB4XnGMX-6; zoST`Mn~@RY>?z8l$_vVC>(Ul1NL$bCrE%FIe-4=W47c}>)*sMDckh!1T`b|TdClYH zECWpSI|1i-CX^VHLh~b$ZC=2TzjV?1QAlb)D2au`cq0URa#CQ@OxRb{d^7B0YpXGM@5bvS$ z)VMQqxE{IfgY7JYk^+PmuF?HW_k0f+~uj zmz>MZ86+I!LKh7!cKG7QYF#6X)N^#%xhu^RN=+s_6v|4@pza1P%5_;G$mdv*8w@or zCiZP;Y3*V-U~n}+-O8nWz}g~F2duD>vJPJMINpS%PsNt)7xfi*xL#es7_7HtW{K@^ z3_UK)&tHh2y5#+Dz2)J8%_gi_Qqk_R!o+iqA;`M??CgB{Idf5U^H@AeV+UUT`!vkz zxoBV(I0+}dG)F6BnKjP1y)a^*5XR};A%^ph9;oPB5R_j9Jq-Ba^#b_JN4OT@ccS-E zGuTn2brbgZ08i84^wPSL4EriqGk#05HiQzB^%O`sN;=&zHW2g(=9-wb>(9Df+KM+RZsyI{|BYj%iY)dn1=*}*vAs3598?EDO ze<6Q~l}cYAjeh1nK>lfvgG%<`hKTd)h%*qzcypQ>ij7{tz}U=oiExDg{#25x6ywD? zCHeVj$E}Ue$otp+Jh!U0xxAtyZc$?uxT?g)PFTLaDg|xDIO*}A{hb~Uwrh!5+IjqO zoN>N}I_6kKusLNF(>8-lz!t-vtd2)uua6!}ZP2G&TV3Rpaw~*XOmP-kc zu4A?*h=aQQALTM=Ds7;=^~}`?*i|@k4CB{1TDy z_8pgBa@l3k_uScZ%V!%KKXYr-C-22c*#(!q{eVcm>;rQ3r5EbHU^*Xm%zU&LK;LM( z-`R7Ty(RhvYae8VAA>!kBAj8J9g5axSkbIorN^v@ zArn^aq8*BlVVN_Sv9frX$C3rpX1tWcv;f$@9tLn@adh#0*Q`Eoch~OoR$p`T+Kb`2 zc&&*3%hTd!@Pq#{`}*_vhh|~?(y=DrjPa`?{T$C3Jzs(B)Skx=L{&%?5PTks_EapD zqmHK59!qke@n``isV7k`CkmCZ;2bdq98GXK70?uxIUg{(;DBAy%pm6{yZU2$qL(gf z@9u`&Pq4kMDHx3DiP^bz+Zk0Abq%B6-?*|O(ASmS)!W|QkQ8jIE?%+W^bJWhtI{*K zwP&Ap7Mh9i+=zMk9MS34PB%<6Hig+%Bj|nf$NwJRo^N~kC;9f*t-t5rPvqMZ9r+8~ z!%8+cytcG?Se!A6SaTREy=xBee{sAhetP4VR^EJbA042Hdu9pFsl9(?I0p@{!z!1< z8@WF=9-o$VD0?Ana>SbZ%hL3M8$qrzgV?D{c)ok(PZm5C%2+_)6Us^?hcT9xPy|*o z9xTMTnGx7&^WLuR){c!`WlOqR7G!UU-ZvtuW}jKLa$_glo0gP)>$=poB{ku(RaxTY zlw@n8I-7U%0^>cchEeY-(AbL&T>Iy#cLWU?an|WHf@i7AbBh$J0hhVpsZdb?v)f8? zxOq$1iD(`f9fe6HpsKLXw3MvgpuN_H{;sZ;g>_|Fj)R6brR8j@Y1){Pv(q$x<;t{@ zref-duF&p~|^_Q*M~CXmAVqtFT^JclP;(?cXx zM7<;SMhFGcShx+6amx?Th6Jqo8$uSuCDG@}rs5H^#DS?$v`wG_%VgBy$(~AL zk@psjv^J93;$_3~7@{q5JsR*2vm3#X%f?{?iFi!+$x#FD_ArlqD z%8H6knN@+3=U}B$D->2L53VO3ah|6^*rb-aL1y4I=;fQ~6A}Vw#P+k4nZImA9`Tvm zx(-Nx%i8MN_00tZE$eG)*ERbObcsusZ^|qS7OdC^Hppy$a7$~xf7!0KqSoEZ`~^$5 zxBR+s_wJ(V?&_?aJBm&}jqz7H_&G6Hx67^n4i&Q2riLdT7N_m+%xEYBXSU4gh%jqz zj&KlqW)cET^h>D zFF+6cQ~etz|7nhgMI7Iuf7$LD`ZtRDj+AE;*)D^p@$$OM6&wDmRXFk|3V1JGL^j?bi#@I`-t#aDig6j+vkZEj;>ojx@M*A(F zn!xe7`>neVo3z0HL!J?5p>x9+n?c+^{ne9@^&6Bs-@e<(`U&fKRVa#}`?&ODG`^Nt zsr>Jf2ic)k{v`Xuq6j$M)wL3}US1W(3EvF*I$nQ76k#Rcy5gJ5Px!{& z>3P4Qf>1Y<)A26lP~F1CppS%D>FX4ir}*qlZXfzcU2-zzIt`>etmk9C}pm=EZ z17hjy*KfI{??Y|km5!G?-q-e_@Ekxr(HEDY-imaL*?xEdW@^3lXvi06Anc3P4T8;h zR?fG^MKmg6jSEZnFqijMKS;BYiQ<=7HWuoAwi^MtaJxqC`9M?pxN}ysV+Iv7sn8x9IAs zb;C>BM(Aquk+!A7>#7<`R&1@S+q$B}am9NAb#;M#Zw=;TXXo&IsXYFQd{G>S?Wc;c z?I#@miKqBJMwkj?YvWq$7j!`kEb%pqEHadx6sxNjuSk16q zY3-6P%7FzwyA-%nfLcRX+=BgHMMxMMEzX@-M1tF%GJJq`Dx;L=5lRpb&vw0W`-NQ> zqPoB#mDWR4U*uiRIHVF>+!y6~%%e|nS>>2V_3{j~rz)gk>14>F)3<2cjLA2mncF5| zAtV~_LOyd%nusos#V@s3#64JrLZhl5=n>C9i1KIOta{+>FLK%Cz%8%~gR+-!Syw>b z8#2LY*P^gqHtx%cLRpd|*GX`lw0K2vu7D1Vh`ZqS+b`%5yD8JzF5R9hfcT%}Jgc}p zSUg}?4Q0r?xQqbC=M^(P(zFNneQ7OL0o5%}-+>t%MV1l^%bR0iw5l*5S5aeT->m%N z+g}j54_2etH>-480vMB5c#LXwITW5VMkq((fCA7E2?yXi+gwg#qQC{&;$ht&k$d6o zw_k`c3Sf*-XY^A&w<&-zdWFa6(`Jl5jDFn7V-(|#5wNgO#K^|wg6u?T$Hz`x{R&)G z0Q0X|q8x+sVAbrKH&;C%SHAtggO#&y>hZzetDbPG9W>+fVf5`z9v`29JG90}N_c3W#RR0Wb>|?p z8~wc0nS-bc&B4!@@g2Z8T#J5LX{;1lgiUCb6+E!EcA~W7(@var;yzy zvtmVaR%&#)o}mN-vu{>E@E|Ux)ARHj1Pee#56HF$_53P7{!P^771R~BIe?3KLmtMU4LDIpA2f2AXP``N z8#P=9c@Nj2kme8fK~F>XcmQyq|+q|#Wk~Uh;vrV zo>L~SS&rKbqGr#b`V^u*dE5sp!{ry7K5*6{8iR=P!($*7^>)bCP82&dRm)3NIf@LP zDi-&hI{QQ!e0{S&fsgxu$}EPSh|gZlb0b^_d9SVm;dj&_2J_T1xbK8IFkOprIA(b| zz}734Ubs+^LeVUMw+inOHjn&@*{hc`EC@A=J88K6gJ?h1W!=Bfe#=LuIOn#1g+Q^* zX>XWu?^|I&VfH5)?%eikn=ysBQjmUH{tQFb%8ANvi=eeWFb@|{m)m(U#0YeY!!QW1(`2gPQg z)U2rUP8GrG*(Xk&{fQ_t-o80=V5?p;oI1$Qb9jyQ9Q1%-VMc~n))V|g5i1@=_tf&+R7DF2He-GO_E{ z_bk`8XDVbKR&SEA|7Xt0Z{xn$1vyc=3$zSeYYVrlRtvKAU#9kV&;M=(^r#|7G&-Wex{;!T8%a&n3b@|3 zIr`w-AT2|19$>J@x-%5RXY-m-z!i1c6ETS+)ZSU3z!~a@T`~);5;t@XgAPpVh?5@g zy<34J3K$IoKj z#4;=SHF}c@;CKzM{NggqCjGA$xBhBB-MjUI@k=XOzyv!dA$xbLjNi86#CwfD3U(7d zWBfiVMf}3}qpeEWWBf5zqIB|)h5rE)A1A*av(fmWaU0)f{0UZh{O657(aK3kF#aU? zPdEMrR$KzvjS@DniSk?rp{CZxt^Umu6Vv`}@NY(eBi0NmMUApH4~@)>^}{o_5l$1@kllQlQap80 z0Dl(Mlxjv5YxBFswV@#adjD><+RmLZg<+UL$5PHU$eRY>6l;fNZ6BJP8l4#T2Wsl- z>Q6xgW#}}Lnpi!zT^qMji?^++_B8Osp7EnV8jpVbrg@A9QIY-JHD@Dk0(TZs^WS;= zJ$>sRo$~klrziUdhxYeRp6#C)o-=|}ZJpDJkP_}f9$d5-HJe82F~F1`ddxG{xv1AD zI>*{RI^92Z#J^_d-2I~n&eylzc1bt2ea#kmadkkQahAxyog^BsmegOdCle*|9<%sX$#@ph7XTGwe3;R75ujhqMw zrg&}*Bh>`b(VTMU=rrQ|Ru`UQm_0NHsb{89!Z^Y-qx={-DuGHLfIGzRXdVus6@#39 zB;w0Se4$&aOFo2@d+{}m1J#^L>4)pL=#8G$PPiXEGR%28Ia9eu@S|_{!=?Uuw~^Y9 z8dL2j(F#BMZX7ut!fz0{>_f~H%BOxIAEg>)=sbjX6C9&^fogD&znVdM>fHgP&~P`v z^`TyI^QHXgEx~{@mIQg!pY(=$kMh^)bi1hsoYBy2+ln&uT+&bKF~XG&+-W%0`4i5g zw$YQya7K#Ykj94Eru%z8r3u`t#gP{F;r@Xk|8W2Q(Xk^n{#Dcdfr;^{(W&VvN;^C;GwGk2 zJ~B4M!SRX7{gl(>#DR&)X{?1)RsP}0iT(byOfyVR_`4>?2CMv|8F+pzsk>SyCO6;FHGBrK4f2t;2;ccsQ zqxMe>4o!~xXU0bljSf!l^H24UPx(QAj1Kz`?VFeyLKOx_4~`Dbpt=M5Ko|^64^8?x zE!M}$A#UY#|M;}Oe_(QA3UMg=&=55PrET4ZRTTe+Oy6OlL$4eh8Xq0P7u2YIXbs4L zD*yhW@frW#{z>F8KFAH{w)uy~hVY6qLznJDtNQ(WCnx#`{bT*(BQyOYL;k6m1JsMu zAp>JG+*}%(wf)nhX6XU}h5U29EfrMo09hp+{%{O|=I{c|1I$(C;6g*}oT^1~BlB2z}2V^^c)T z$5GpZ03QHGvH;J*gAfL3N}-}Ll>w%Xc5hYr;M(3xVb8JM6KCZDNy&1n)CqZa9D<{f}9 za{kh4P^-(Cnp@E1Ozpm*u>-ZH!IM*zFrxl?{U1fXdPN|-FoyOJbufZ_H$W$FZMYSf zGNT6oJ5!@$H4~E~wHx~A-T!um^HBmG?19~se?%*To0T zff#VpaW5I<#S*daN`~ZHD(-hn!+tCS5@cDB+*=4)xLnvpTLih00$|BP?B$EC5?B>0 z!x?P_R+uF?*{cFEU4woh;yZvlVuIi(H{mwz7ONHGxDK`7R*nTh@21?^{nm!}EL4j2gCnXgy{90D77u)=Sp4 z){m`ctRG=O|788e`T(qBjl!bAe!#=HbsHe!96$*{+YAQ$AfWz_SkceL%5k3c9$0$( zqIJ7S;vJXl0}M06+$c!X(C-@ zh)l37vvHqOj>r{xVv+Tl^*Zc96$n4r*hQik=NP4;Oq7cXu~;m@b-PspHz>l=OO2=% zb+|Dl01c0zXcSFg{kDi!(FXI7?bdIs-@;PLarLw|>vz`g#dfhn>=e6jAbP4eO`I~QqF?NV z<{(b`#jqF=`^2a?OPp*5XZrg%%dEoQ}WX-Od^tPt4}+-z`=Vq~n0lkqYEH>oAbWLz4X3j3*PGF@iKOjs_< zmJ4N$%mx2`k<6C`(vKUvi*UM8B1>W0xLj7q#d3+PlvT1?*2r4O-PFr~Y>+|RvfBjC zdy8zvUD!)yyIdxh!`MrQ?37)yTlUCa*(XntE9EM=TCS06(vzCQr9Q)_ro1^?>!D^|*CE^hdvLU1U9Ky9kbGGFyL`mD$+{VKApR=9CLgsvWnCv91E=X$`E~2l zkZSpcb%XU``AzvP`EB_f`Ca*hd{TZ-eqTN%e;}WhKa|hNAITrfpU9uepUI!gU&v>z zFUeoZU&;TF&&glQ-^ky}-^t(0=jDIO7vvx0ALXCqpXFa5Kk--jlKh+eyZkTtGEVAW zmH#bYldsD+Xcf=O2WJx(s0-Em)J5uIb&0xEU8dfzF1H@BzNS8)KB%rx zSE>)GtJKx%8g;F@PF=5VP#;z|s*k9f)JN6L>K1jY`k4B-`h>bo-LCFXpHz3MPpP}q zr`6r+GwQSI9(Aw!ocg@_H`q=-rb6mIb-((8dO$s>zNo&WzO25YzN#Kl537GykEpMy zN7ZBMarJfe4fRd+E%j~n9ra!HgnCkaPkmoKrGB8ERzFnFs2`~xtDmT!;%3U9t6!*R z)i2er)PJbw)UVZV)Nj@A)bG{v>Oa*B>JRFV>QCy=>M!a=^;h+h`kVT@`Y-jedPTje z{#(7KURQ6ZH`QC}Z8fWo+m;^k%H`+~hv)y91+HLkyyWL)9FUKuH9d@VPWp~>>cCX!MpJK1HSJ|uWHTGJ2oxR@P zU~jZH*_-Vx_EvkFz1`kn@3eQ>yX{l$)9lmjJ@y&)nRdUu*B-D3?IC;E9YNrR~^iN0kngYSYqk?_Cy1*fJ;(Ehh z#|?$O(Y>Y`L)!KA>KupIi9f}yNc@QFk2@utLEK2#%MGs&1dQ7dzta68exK{NS7PU5 z@595lYI<~RaL6~xPV_2M|4~!_Rl5G8y2DnPnvQB$u39Ze&x&8|<{N*O>(_N?Xfked z!r3FVpTsr_dlui?{(+h4A>SA~CP|lZyM1eQ7mTrEuSNUpF+6kZ!ZdG#Zr%hti5vFKjF0qB&g>uSpP5da z@P>Swb;;O|qT0H|M$@#$X5VIA@}zdQ=(JPp#BXuCB!0^E>pYswP&GC9w(5_k*|E3M z08P^XZPNoZqX%f4X~B$X!8YB38Fr$!O=9yMHABzDZQlAP&Ui!7+sr`DXg7X`Td(*- z9{(6z>Cca0{-1?p# z-zmB`M%an#q!#JI`orGn&R&j+?jK?|e#6vQ|I|M1pK$$LW}v>sxUI(RG_HoaKtr<* zH=6g&-8$UW9m_dlPr8?5a1JbYj%shGP8_V$6%W?cb9}H)4{NZl!Gwdx)xa98)1VWq z(}f1>bmf9|PJX&_!8%>JV4bc^(4e?ro$k0`o$k0`y(z!mlwWVkuQ%n_oAT>T`Sqs! zdQ-mXoM62vzuuHzZ_2MX<=5+h3)Y+R>rMFqQ+~jdZ!l0WV9F1e@&l&)fGIy<$`6?K z2Tb_^Q+~jdA28(yO!)y*e!!I9V9IYW zV9IYW z`HiN0gT|ofuKTyyln?ul+~3Wn{AN>rtEq3Rsc)-E-)hpgn)IzsdedL6roOGFzOAOe zT1|ahO?_KUeOpa^4M`B}H05=g@;XglZd z`SqCmdQ5&jCchrj-X2rm9+Q8M$-l?cx5wn)WBRkl^hb~Bk6x31ugSmHT2gdsM5AGe)DKz2>0CVcF zMqCJ+Dr&?PsM81`P}gLt*6g^Z3p64K)M-Qj*EG4=G`ZR2*KC^HY?|C`nygo4e8+$R zmjMH=sd$tV!FJ=)VsxWd5h`t7E^wUDZj;(-(t#dG3B?I@>>`%19dH?d`;N| z>NG-wYs%FK4PjHRMra6|a$8Ng8lfTHl&cXM!u`6RH9|wU+wPs2oY0Y7rV$#e1nRm> zWx7l!=-CmdH}F?);IH1mS-pX?dQBY!>NPb0S9d~vpe}Z3Y8qRB>7hX`v0kq)fqK2Z zzzxIztfu#kP7cNbpx85IlIj-L>m>$BO{RK@L0I=}ePd@VvfzW8eF@Y1ur<*BsrX?W zOc;N{6t-*QCSdZ{jjV5JjqRVDoH#T#G&~*6zL^7Y?6O#kemOXCXk7dDqLSJ-b6{{> zXJrPV-V8#$8H9Q>2&gNk3)HtJ(81W`)DR!NL}7AcPdPP;lehlK_@Q%VMi2In;gDu1 zfezS^Ze}lza*~_?#SBgBtPI=)4BP~qqOdSwR-(uC{0(S?7YJyC7YLXk4QPZHXsD}; z#c|XaPGW|qt*mcpY-or>YsUA^AWL2SCIdlD4Rx_oXgwc6qHhj{1Ds#80W4e$ro#rm zG;8uM(A=Z}xLGe#fldR!on3l1cWQJU=+es~Ts^D0y7ho`nfi9=O>1m-@PzgZ+~=ng=j6Xd)Zui)@)MvUi@y zK*M~IUGqiu%ojOto_+JAtgD|VvSGd!HO$wdhWT35Fkk7x`C1g5uSLQ6S`?f&&-q%^ z7}+9%vA&=tao{q>g=@yXr#YU-u(hQI2cO2@N`C&XQE#RC8ueDHuTd|ma5W4y>a7vN z8fF^xR;RB~Z*}1E3IkV{+o-oP2s`ODOf~AQOJAejn!q*b^;QI7r=9^%JsVtqXQ#*C zMgGLWi7_Ccn&HuDAnJHp9~?jNs*FDw2l10**gl(Z+>xPi<4qhMo4{_`gp$xrSWAMD z!5$M#b`GLVI8`4q(>bw;i5sZF$v95(Cnn>DUGIqN-RFAGa=mA}-UF`p9M?PJdJnqZ zL$3F*>pkLn&kcLyH43X4z^Qd~|Fm`qXqxnX53WW8O?tnFupYD~P4*znhzTw)K7CDk zzX!KI<=i23`{2;{1jOn3rza+pv8qLcu|9gksl3*CV^T<1BQgRjpf@6UYV@!-oXX2$ zL=3Ny-k6l}(a4G8Xg|SkGBAQy?uQN{e(+Kr)b9R zjXf|n13`zWx|Ue5#`gD9T$1C{Xdr&y5innMC&%e-p;XCXuTB=ntUB(fIEGOUr@CH) zU{DTtiiG*%w2$Us^^b9l62NH&@jA(Y=wAAyuHLtbf(^bkn+TpR&qj z?Q%rYDrbAk!MF`NEwV`5KQlHxdH@n<$fPB{Kb&EGe1AB@`jr024Dph=*Yr_+62!^$ zE}Da&*=cd2H(=!IsEKfS3FhR6%oeKhqK}Q8=5E( z)P*%Pb0F1wF2XVK`c#DcO(tnK2jcaC2>WB{K*YpqIHu%r`hk#br_4$zC%g`LUk6Tj z-Qa!QU<%Ti)2flEYtX3YsHsn*&V^qAhA5qW6KM7Xu*-4Zv}zzq;cr@lz~XvIOBkN) zA0II5mLaTLB7=P<$W;OBMOOtg$nZ3DIDJl-%bt@cFej1jjU@L=ZZQXE4(MzbM1(lg zL~m3eB7x~%Cjn)b!U0Y7@MvYsjo?h@CJW3>rnA-!a%m_XW&({f*9~;To?Zw?nqF|j zoJjWqM^d$Q#>5NqcCQ=uWE_q(8M|Rm#vJKpOspku#%|b?aX8Xs?1nuVb0m)&fmVHM zlNq;&5U1DhV-f@wcoUd$bD})i8E7-9O~{*_j&iayAx^+k0xUCcYTjDc)tl^0=)?q0 zb~-^s?OMF4d3PSp&V)`(;AE#0L}b^>spCK+85%Wy|L7pCm(&MIVa^!`lU??i4!cY* z4pW1PJrG_LK$W-BGDt`pe%_a3nP<8q!MK#TA!_)H;WN%s`Zt}u51Z|CC&rmNw&;d~`Qsu_chB6_A}h4NsD<7S^L; zrzJ@05<*^svd|Kcbh^xvkd_(17sL1_9kRP6kk4&{tnGHl(84|hzUVb>iE)=AwGWcO zLR47-c2}IxQiKkML;9W0!TE9n-byaj;!>kX#u&di*y+E+QaycZw_51~M<&Otjbr`O z<6j9o^VPA5fiYq6)5p&Q zel7q)rn7}S8=RN`A*7<>=UUm#x2s{rFQ6)3$(tuSfKUMMOuuG zPt!W)BJB|!Mu&3w>D!Hamv%G0s`JaB8)}dy(|n(4YLXc=@h!%^%DCUrZdO2lpS6|i zmzi~E*7ver%Pz`Zn|(0*w(Rd@zq~Mi;mU=R3vXTcjfF4eoM*{I_JDQjeECt7fIvh8JF-iYP@LLxTa={ob=z&`7L@*zt3+o?lc6(AF+N3 z$=nKcIiy^#wujXXkZkQVvaS7)Zrux++J9rIT9W3igFLU6VjW>QR+7#A0;Fu$Lf&@x zUzTZocX`%oSE5y(3z=4-rCQ}{>P3=cR)3Xms=tRNna7NLt6~XPE#DeN60XV@mT`r- zA(C$YG6Ed}fke#i7)ND26Wdo3uZHA0&JEUVfAs5>RiP$xeh201#*lqTi z7{^}%+MpcxaQ)M5tQpTW{LORjY&_+3EbWq+0 z4VkMk$FH?M4C(YcpgnUZq|@($RQlbJ#(xa*_}|2w|F-oX(6jih^?T^Ake~lG!o~t15Tn|a-CdfE1g>-WV#0FM1B^htgPy^)v28(4&V=#4yRa|C4vbTM|yL1;>x5ABB=px1CGG#BoN zcEaOmK1uW9Y*ZO)Db)b>f?BRLY-?# zc}SfHe}lRWse&Ypk5HqexKGO6cs8j!@updQN}dn*F8LmHKE8UddJmo#$YDGWtM?*Z zi@XreR`qE-?^YLBO1@8BC_3@YXXHideTZ#SpT%>jx(Cm8buXUFB-LiQ`W&7s)aUVp ztUkVci{$R{r6kFF#Mk&W;2;T%rKt|mDI|&}73)+QsGlgykG~Y`VNOTf%lNCr zt%p}wRe<%IU}fqyahp{GJ*@kzTIgXtVAYWhl2s3loX=Yg(7p*-%b-iL+FDL}A=W9R z?Ewu!A;+Pu7=RYxuyrAHaPG%!djS|L5A$my=F}yaM_AsoeH+bR=J>56Q`3;_UL(lLV5UZ#gJ<(Enx^I9+@CHx3p{M&s z@f$qxhMw*lKsdg^6L0A0zKP;Dc;XE`-8VjdgD2k5(|r@oZ}7w$db)37_zj+TLr?cj zEWg1MZ|Ld1iQ_kT;tf6BH}U)iPrRY0`{r-_22Z@9r~3x;8ZE^WZ|M0VR_08sbBCd= zcp>og72(zGCg>X82JOOo0KZy`@JqlCY|99Gv;uPilpKDG@x-1TzlGSD|MPmZ7eT|7 z^j|Nt-VgoO4?ySj3Rr^rP>_k3j?W6QJ=Qg$~{~Sljgp z%#o*Hb?F&sxBe7bv(G|L_BpIjzk`Pl%om`6 z`DbWfzQmfBuR!ba4d`3W(iDK6r4KrmanP?!f^OvkLv`d}t<47pDS{ql8S7Bar)!r0 zt-2Iw)TKk4E*qM3dC;Qst0K^%Wrq58HN?KD=IVbv3w^KOf+n7$+Xd=1ku53T=%M)T`o8cx%0ozV2%1|8XZ4W;#M=%Bt1oxm}V zrW|Ry{m9WoW1TV9!J5AY@-P1f&;JL{&}{r)foFoI|IgrAVn>xeFZI9e1Z~vqpk@>( z8E|x%4v7N=atL9XmBdZ(;&@O&@;;;&$a@d)K9*fhp;PL0z)iD8fs4oa(B9w8$Nio* zVO#!T3QDW&=asO?08SBfrYYT8wMKr7(`}L;Wp|_e2)pa$C)nL0Kg{k{c>}wfVf%pc zT?alBxf|psfnK+8=}Bah4{;miP3*2m&0;_sW=qich~FY_(eFXi@wZ(6TTL9*KS|zh zQhuD>O`PHm9S47m)fX|Yr=i^c`B+Qv(JSWL>$5&H`sm&G2=jf5nni24;=Owu_FCsz z3E0){g6+jq<(X*fh&;e>x(D0^b_aw!88BFA^EIo=^vlqoAYyq{3qTQ=vGgcMCyHgmhWkn>z! zbBDiGZ5O)S8+9$d@-dIa;=Cj{DI-<__TxRM)5Y>~D-}E7Yrr?<+^uMN2~xliqUeE@ zf%jvt;lp=x?WCluYw+!5_!_ka_YIeucrgX^%&)c5p-o+kFD1A#y{zF54xPFlJi1Qk zy5Fq!Du*+76#DM>feQy7oYB!Jp^bpf1L9t-1(L?ELZFEAXv@Pk}eO3OoQ>i%alx*3c#JN5kgO zL9rLR;um2x;vB>XarmTDzUQPCC(y47HSI;X>I_32zof50`NtS-&Nv8xQaFThB zo^(o31}B*(=#rC63F_h`Q{HvbDepPyl=q!<$}gOB$_Gw5<%1`kl5HxV%sf&root@q zg$R+voVs>c|Jn%4UW2fqbr|-5t^~K@HrVL8A69_A1+K)i;6l7)y#Xo~Gn_bcn7{B5 zC(ii5c{4t6+KdmJHRA&(&G^7MGd^(2j1QbK?ITW@@nPFlR42j$fqxdQ39>Jw}&m`JdYgc&TDfn1*>FCEy6aB!#{EN znm^PW6L3k+#8)X;37j)8_cZHeaG&UO>Lr}dNTi8^jh|0xi#zxx3Oj@K=EO_aLfxu7DF3xZWZ8*fRjMoU^al0KO%>66KlK9HLTzjvfz@>m)skELPq zSQ-X<^KdFTaA4|ym2@^NU!sn>2J|G1g8d`ch~SjUwB`ETODYcUd=;^AfQKkN|Bpxe ze>~cMo~I=;X9=2RyM2*;6aHR|>cMY3>TuM1qb`rSD(Z%)o1^Z(q5j{P%p1$&p;t50jpl^u*-C*^u>DbokLPMaQgoi?M7bc)|JxzOe48oE}_ICsWXs_~S&yBuNC6I~sG$}#zn zua0ZK6;sx9otA;4Dv4AxZcq;($LV**gEJm%dr99Zw4HKMd)ii^6tzo-X#>J6cU?(V z6BB34&VDx)CKrw-{*=Ng=%vxo!s*h{u8zW46E;npFmXa*jrI#Sbd(B@A$^w?))a0i z#53p5TqPMZl6F_&G5ei)@yv&2&gb|IMwYC+qS^ULm7GYHX3ZwAYiF&TwQ|au zS>NEr+-nFQq>on4+5~hh4!xN66*O5DPt#6R-J>`(s?h? zCLV9vDJn&pPsGtMJz6kF^)8-CCRLRy%X1}p{)gGLAf=f+(h`fjsb?WqLrLC~w8xMG+S~S4 zp7JVLdGv5=JJ|lMrfpH;jB45z^a%A*%O#XH)N(z0w_G*}U-8|c#*{vSp%$PH)oN3!(3TH}&)l*f@%^A+_;q;QDq*v{(t3wt|DLO|nnQT#OQ@$ygl3pMe zn^QYSG{#1UsK*wx>hH|)o-98~Gigk|?UX2)uq94H=N6LMBR|!Q_8~9rb+e~q+8bi7 zLGu3!n3&2awKiH|bvDyV+QM9yBw3mrw4|awj#8oeFgtAH1X*9z!#zC~H<$aaYpSEfdiIQxnjk?pmNvNOC z%uIR>)c8zV&*wU_tC~ieB#f_D(Wd7R+rw(nRccqtRSm5bS?;XzZetF2J>ieRFF^(T zin!l%wdxvZO5 zRc|g*^b&XzK6r=xCb(yD*14p-pEDoAiad*jd=5Ly8Kf+5w78kRl+`Q zpk!-(yHo2sfb}h4eG6FMQz$F+=GFu64DeEYt@k?NoAm)KFlS&l zDKq5E3aP0Xtf^E9;~{^}to+K@ABzpYC>7WG{@?QMF%)TM_Us>XX!8{q5Et|eg4jA@7N)O(3JJEk3K zv|7?=gDK{WOKCZswL!I}?1u?$uVj6fou&4UDd*3Vo0vLCZmQJ7%FTRoOy~pNvPXC+ z{qapgd2N!CyJ^t}*?)*Dc#N~`*4fh~?308d*mUstdnTj+7ra$HRZJ-9ywTCFtw2CRYM#(kWav(QHIw$`TUdUQy zphX%=sWix!&9tdi8pxrcO==ZCZ58F{(+lSsnUdccrZU~ml~*WV8YTU!kP;tK*UCLb z^&&l&_Aj%D+QW{ONdE|)#vClhTy)?a{6k`CyNo&Bq%GtHE4EV}H?7m2N|$D(O0tps zR?RifMUKv(*|U!bHN$!Hy>?IZ^y+i$e~ z{`1&#S9G}DFp<@Q#At!WEmr!27U?e|1BS`Rl>Ti=zLoj{eOBU)ziQ)m@Cw9dtt?bA z8Yu0vV<(t_x@3$#BpEbkiy3>+q9T342nj8c6cuPO>7ckOZ)9s4`A03iL;gkr`ctmd zNUv2pGOjEm=OubyTEQBLG#9I-mURQ8XO?l5OW4A=C0hq$e|&NguN2}#+2A8nY79IWS{F?D8@#6$2QIndIEN5mIV zgDW&z4XLvk+nO=#KcR<=ILwv!jjJe9(pl73_R!iOR>M-tvsf-;y~rIe7oItYQ2zAu z#t$u8|B&`8lG=`R6XVV1Q(sBmzx8%C&KcMF#vA-`>iuc7GQP8ZNsa6%Y#eoLl)+he zn??2CILooVY7t-6oZ0YGQ~&wB+sB-#+AQ!Clu1r`*^QIc}csNH$j5V zr6)%EoYJsIIM$FHr(h)q4Y!_=WDsweTxy(MF}B-Ef+SWxjPDL1-R~M((c;I@3Sy2N za%}xGEC?-Wn1nK_Xi_J~thXcH$`e~NrR8|aoR^MpM@9EgbT38sLN&_KnymuuGmD%j z&`Jjrx0L&gA7;(+Cz0c$dGpi9c=OW<^xBE6-|6QaO{en4D7}~V2<{SJ#vP__^Zurj zcr(*_#wBIG=Qtaj-|(c{Z~1+cXPxy_1@>X&+u-P3*2XUJIY1w@3|*tXzLCH7{&ythM40&`{FjpnH-LMP*!|H9W`=T$*#ECiJ4f@N6HEgO!2b1`b0A0i z;mU*AKN6e(P6Q_re=^~J0q249!3E$#a1r<_7~uT1gjaI@O~^1Fpz}kpfw+6Xy&wSh zf&Tz6a%?kr8N7kLS%A*%PA&H!+>>xWQ|s7Wf;~Kd{R0UPBJ2m$&piYj3JwP=IR8_G zM|1A6;5ckIb8}p6l3NZ|0ItWQ?jCjbsJlnqJ?iek65eI_easMgx3GO1+qZ-D;K$$r z;_+a-UjRI5@0Y|?z^}l=07mgPf@e7PEciX!&()K*u6o=y4NM0GFbm8E-2k7Z?Q^6# z6?`77rhQ*W`!$bSpjYq{z=C?&p*5UEU~hc%KElOdKfKxf;e-Q8-B0?1370ZAxC|@@ zD}Z`$CE+UYY490v3^*1X2ad<@R_}h6?cqHf)5B$YxJ(b1>ESXxT&9Q1^f1rQP`-Nk z{}O%^{44l3a2fbExRUx@MV?oK?}2N;AoxDG7F-9e2kXEM;6`v0t6O~VLvSGW_52y(eS|+Jyq`KfK=>fxF9;tZ{3T(9@K=QR z2}T+>5vWy}|Zd_=+81 z0?30YU@DT?N!Ud=jc_{Q48j88Ov0T(H`o;$H5XsChwwv$^9Xk%oKM(GxPXzS(G)^y z%3hqaH~0wnDEJuoIM@%Z*dHxgg55J3M2Iy-gJKt%L4#uVP(o?YC#b^;ysRTRZzbEG zB>WV9&ryU&35HQ_vm+T1GpR91MUU%y%zxb z-n$R{ob>k-K0tmCf?oh;2bfnY;OP|bR|+1!oyXk~o=s&|khJu-_Z#Z?H0hqfCt#G$ z+*<){u6jcpd%hl_)d^aipw$UlouJhTTAiTP30j?u(CUPz$F(j(-%fnaXW6G790;wK;utDyG{ZpgY(Gad~gA{5L^Vl3Z$iL zDep@1zKZj%2HykMfI;wma4onFTo2ZP8^Dd=CVVI#{1DvC{*S<|;5KkOSP#lTb6fX- zdnxay><5HDBfO9B=Y()3+LoYc30jt*WpF-q+DP~)_%(POJP9K3H258WL(wYPh9X*3 zM5~IaMitSV1g%NXm;`M}(2xY}NYIP~tw`M6r40afboWQnmmsZpv)GLqb_0o*w1dN$ z%UHpP7=}d36Qn#q%4ItwZ8s}!yIFnP&DyeV?@}b^awPe?;1;&;AiNXY1z;_tH$i$6q&Go&6QnmmdK08K zL2{F=><(>&jfrJjkj4aQ#Ky2Tej1n#m=SH81!jY8z|1mh)w)@s*3DYA?zYwR*Ir0r zj11ft^%J1p8>~!W5IFYctD?H6@yW%;yPMr z9s0HoeOrgVtwZ0|rB*S*D#lpF2&))j6(g)-gjI~NicxA619UM!7Xx%LKo;+R+0BXf?L6D;C8Scl)+EH9pFxI7eKyJpKBfZ8K9r*&`+La zCHy%d%!rN#Sj7lE4X}z4x*A{=BlI;uUjwXSjJ^iwYktg#HIu#qQK9cBfV`z$yk<#Q>`qU=;(bVlb*zltq*^ zJRGk01m#+O2(W|^91$SZ>)?nW<%j@F7{L<(mT(BJ2(X0RsU-~Hi~vg*v{=ElXuw)D zU@g|K=A92N02hLb0OQQm`UP-Bfc2}4V*MicBY-~w_#=Qn0{A0la}Cf^As80P7cE{f4l9L5t-J;FEMEo7SHbdCuzVFP zUj@ro!SYqGe6_Yy!RNthW>&h;+5oK$;F>Dds*3hh(Vi;WQ$>5KXipVRsUn?KB(q8@ zS7FtF)(U8?fUz+5oOt4Up?O2{0jzj-_g!GdJbO8(xX&>#+NI-cR*XC~VbR3d6Azry zHsy$^Z+A^)ZO_Hif*If5dBW_D*}Kj@evZHEgL4JZCZz!G<3 ziStw}CfE6oX#R^!lg0W(k!N;;- zBe}bbkMwge7KcB>>?u4x4l7l_N)@nD1!JXl8aX~iDjH)rp1Eo_z0>C~!eTFPyd^z} zc{KQ2(DanlKLut+^3E4Xdy}&Y?`9R=%_`%;+)cc^m?6R!iQ5dg^9)n1;tB9PtCRB% zYiyVW$-6m_c^Lb%EzhE#@DN}$hHGfcLGUQ} zH3-4u;0b_Cur?`fn+bLXyJ!UIG_1SxSc|Q+7Jfcgwt%bN8#G6Yc}9x`{LLD6F~%;& z*u~gL^-983*bV$2>|%^vln6TPXiWgtvm*!0li?D1)DXJHVab zF2KE2db9^tiLrY%m?g&U)nJzxyQh(0jJ=Dobuo4>#?Hyc#n`wQ8y92aVr*QDjf=5w zF}5wnuEp52c$kE|N}UqoBq?v4j2(-yVKFu=!G_6ajj>%Zb}Pna z#dahotv0@EHzTxb7+?tBR-?BVdllP}8|5;tz+T1JEBss-VG$C%wV&JY;BueF?>!bA2Ut%r zI%CMwV?Ok9LRK4K&zMtT|8}q*XvUa6!Tq z7GuX^>{yH)i?L%dcC0z;{4m>(fQ{fWn2PZPHY{cYSCH0d^#ne1j2(-yWAS^>%fLbn zHlmMra{f0O^9}HSz#jnjkXge~aF-KK=g2u6IS0Azhh6$%mwxk3`xgmg;x`k%474VK z^(^i=Sh}~s+gQ6lF|wQvUd93*g9gLWpc8)U!q!Y9TuO}PxL)RbTRE)~l)Y>M^*mh#e|2(&~W=i!EH(%T=y+k3vG>VmOi6S+GB|af}h*#1Kvl z;lwbv-091$07p7~NK!Ahrx)APi|y&f_Vjx1&4(d;7{Z4kd>F!qz4Tl!cBGd(H0@lC zz9U=nNMcT)=VZZUy{&cFcFSd!yQQVD1_fGxnH8?GX$d-8uAEsAbZWFK-%7`ZwL~W^ z(Md~m(h{AtL}$wWBd@lTtL@}!JDKxs9l5uTp7FZn%`&Us97|=hi#}thDr2ZBHe!G= zRFyGQl`&K;wHKX8Z8p1D#$J@M7iH{4nQ_z*(Qu z`xL;=E>^H7W$Z}>ds4xkRIn!%>`57WQpTQCuqS2gNds)|i1GmffaS1OF7s@Rq? zUSpOFN3t&b#2D5|1n~rmA71%IWN4jEyQ| zqsrK*ayq68@CTbSi{~+BIUigAE(8~WOBu7+8O1U-$j1f+ql~Gl*r5t`sEi$|V23K$ zp$c}Wf*mSjhsxNY3U;W19V#=Xs$z@EEn_MlTjXzJOjX7fl^Ijjut()|MzNgEC~90) z!5)>dM*-uifN@p8xGG>=6)>&}7*_?1s{+PVLyW72+CC3fBa2#bnlW1sHlhbMYln^6 zVWW2VwtZ_0j#Xa)jwJ1woV|?mmoYlCe&XN2mdnujNW_Of1WpSe7%HH>{ywHT0{7e$~*g8v0d3ziL>VUi3vX z@tTF#415h8so{gw(2pAWQA0m!=tm9x(9FAL-8JK`+4dUNsTZ9%6P?f+(KFG7GqFy+ zcb-dCy?E-q=z(U~HM_2vb?z&{(R+f!X(3i<;vZ>-TmBIDiikgfIlhCjQip)U zz~P{E=IT7|-k%RH02hLbz~%I-=Ju|^QVoJT*uN9p1vY@Y!9Cz!fG>(H)sUqcvZR^m z8orFZpY$l_{u+efaqt8f;`sB7qd&(#5}pb^PoFHM$IRV2_jGFgMLf4J5w5|rJBRSg zgv{T$7qfi{+g}4~*=9c8y#g&}rq^Yr*Tutjnb~#AXzNb_vyCpZwJu{gcN6E}3A;~m z9$u8o*v)08(S4ry7l^MBzC!pG$KR&K+Ui5OcE&aZLS|%hvk38YbF&HYc60MU%g7CH zrXdXkIew86zC^eNoI{RZCOn_GiwQ3QUju7_?Tv)mB=ks3 zkHqvyLXX7METK2zv^QdUBc?YJdLyPcVtON{H)3iX(;KRJOmC?63B8ff8!^3+&>Jzm z5z`wny%EzJF})Gf8(VU_ahw@~+#x_~_gQ^UuO#$Joc2o0RVL;tFC}E`MX$tMaYC=e z^h!*xB=kz$=#?pKPX+J^T(<4IBdd|%|A8#0{AKTm(0Tzar+y1kISyzw_1%zr8R2)p z6=>dR&!r6q(&eIzKy;0qotDAQf=$U|?NxU2&e~;efpCAj~Btpud zrvh&VA-db(XM@CM*o+B|&aotz?1S{K_GxwesS z+hjoA^k_nlzW3bC$)wSpg(vCN9{N>t^{fas+Bnddum6JdgptA-gkQwwe~Ilij6cu8 z2lxtc=M%?_po{;Rv^7HF4h~yao({?}KZ>b>MoAtphi(eIwybgg+qk34aJ~X8RVxAAwuJZQyp|)|2;- zK^f`!32}FTJHb61yO;2%#0P}TzoNr|`*XG*U=|L)5NRvHuD<&#!j0fjwjU$@*K9uy zo&-;Eoe}X*v;8}OABaSj(0Q#l^3iwS{R8dsA|cNVxtj@J0k4sUxpnsq;{L?`TVM<2 zzfJfKVZB~LIs;Z&R*}#W{NU$0*xsqWF*lL;NnkSj%)_(xxQf)4a`YXN8{}ZS+ziqc zm@#A?J~xYyx%k{{LVT0lE=c-Z(tildt5=X_pRrDrQC^i%UX@W^l~JB%bQ``J67A=< z5cf8DybGH;NMerFk<`s=1MQ##pK2$<31A|~vrj!e>WS0`9`*F7Cu^ar-ZaAL9Or%k zS`e@{x{4+QUN`Z(usx@~5iUzS>ger8d@tedfN>AnQo>Ix!Eq(;MKp#{y|#VRgTfdXiW*NDZzcd_ZA^-?C~t0NBg!pzy(|fyy&-a9c^3({1{@j!nTRbCvdL= z?F!JYQri?}?WTfG(8WI2fbUmgcCU*6S7Jn4#Rn|4?MyhEkZWOdTg4YFwK0am2P`>< zVs%0^sfyJJ;m#0ElFi$QCZR#>Ujn|y{#wE-&>q>p>yeUmctAI@e>2-?}qbQerJn2-mg4bs=2W4%dZnT|3fI zMLJ@7pPpwst z@;w4C;t05^2v^Cjhj3L9t}4>PYuztn9lk>R`NUsD_%GmMj$H!2#<8!1wQPTr_M|%2^?t71A30aF*Y~StU5jr)B!#EI;L}5YF=9tQgLUQ_iZuSw5WQ zyPLQ!#;@>J3~vp>TRyzy!&^moD}=Xvc*}>k;*_^4@K(irp7UNHWY!Gs3gE5++!eSr z!dHlYjdK$42K!h$_-ifv6~bR@;jb{|uMqx<4S%&^Iosiy4)%A#%WQI342OkqSe$ZL z42OkqSPX{^!C^%>EQG^~a99Y372&WD4lBT6J{;yFr6E#ULZ*(u^E(31?+7GzEqoQj zS4H>=ABp+ICSS3h5Dw^I9Jdp^FrhvOU->Cth457jUxn~h3||exS227wh~%$@uR{1L zgs)=wDul0m_$r34hP+)VgZiX=<-=D#d=(qMI)k*AvYO@=z$_1(RfMyOXwOUVvD#BYu zcxwRO8i2P3;H&}oY5=YpfU5@JsR4K@gr^1=WwtY0p;c-yHeP}52bQ=O6YyVf1$?@K z%N>H0oBH6UBEDP!U#T_@9*zG`8_fA5~RYka}2v_yNRYmtv(*K%c5&O*a!c#?; z=N9qZdhp$PTs>#^C-l9Yo`z3yGr&wqfg}Kkm$=7=)e5j$0ah!(Y6WmbKU~odSMAg=?~R^ne3;IKY8tPc+BgWUs|J%H5%*gW8$ zj7~@XzXaCM8W$5@LilxLel6Qifj_VvgEx>%<^^C?Y%gG@6BZ2&Yo?4jj2*k&tKoHx zEPep)VOyh$UxI7|0q>%PF&bw_3K}J7gs>Ykjc6ACZr$|d&bBkr@GUFSSbI^W_d@uw z06)qC1@L15ek{O`CAcw!8w0p8gd0P+u>d!U6AN%+h#yx?IZ=LGD<=l2A16-q@#DtB ziPe-7gZJP>`EeO1`f#F;L=}c{B5QJ7*5e>y88;SEZuDurY6~}pDK}Od-1sQh`xw_| z{ke=63nO?jOnI>iFIM5i!0@5C@D-5ppyj|49O%P=B{R%bv^|6u%V>NEHl@C}0#6;8g_hu(T+^tJr`R1$Y%fItr2&X%r+a+JILf zE!u!rQEnLpNsBZJ3h*kVMM0`XLF!cmcohL&g|tY|Ld&ZdO^eDcS`>J%k=A+@f%gX6 zuoYS~=xqUdp0kc^bLxY56@z#cgQ-_Bh*vS#;#IVch5|-Iqic~gNZONWj@25Ce#*{L zY)|5T5lK1+e1+}v2`?i27w}DBd~f2+tPx(o^+<=LS~EpA6UwV#oq&akjyJ*V4BkZ^PTu+%UU9DYR$M!eG`r!6F!Mt1 z+vj?XKZ&=X-j+AP>pYvtqkB7GcC)($IDm>pj4U;3RDR z$%JFC5Y3+Z2psO^J9uf%z2wV!R_>G8XFc$USiuysK9BoKgnJV1N4P)jy9Dh#fPK6# z^L)p_wELmpaN<5iXrJi_-Q)037NSXu2tSQh9Se>F$K!vWhktxNU=50QA-D)!N}KAr zj#~&vKGU(SXE=C%13s_9=T-PzV{(nhH5RYJ;Tnfm+dhYXd@A@nSWWxzFZcBh=TvY@ zI?tsUdih40=aO$E2Ct>QQ4Kk*rSn`GGiLK#nyuG7R|Jbkuy_QEN3eJVi^s5d42wsw zc;xbg1uP!I;t?z!!Qv4t9>L-fEFK~6cDA1pz z42wswcnph2uy}-j)CY@4uy_QESMiHN*gJx~`(W<~y-DziBJ`#PYe(o#0&7RGb_8qd zIrkd=Pz-BFuy&NrZzYTqBUn2^w`#Cvd?PVL%>7(9Z(YcO~OgY&!< z>8x+W-3#LzareUbMm&Xup3WuRhk%`})m*ulo4Xjs|Eb~sX#OgKxg(f6g1IAfIf1z& zm^+5KBbYmexg&JD26IQ~cMax_VeT5tt@(B_cZB~Fq3bo6JA%0*n7amZ$Lai41an9D zKM~9w!2>mzJA%2R5q?iAV@EJ{1Y<{Df)2bvh{q38M=*5+J99?`_T}jme3}TKCK|@Z zC$pCKFr;w{5~%t2b|kKK{=J*=S|@&j=HJCT-AK?DBq*DIFCabH+&lM~3@3FXEt-4p zglWZ3-AIAv-8&h#buw;ihh^L8VcuN_>fEu&=GNQcGUlb}K|8NLlm89b8FT~Y(dmUP zEpz0ZwEC9DJoyZ^Tj$8Lxo|rV-VQ%@!;jtYV>hkQoCjxa+gSidhVWzDvQj>DnE!Du z02cy0GUuycfKi>EeY+O~;68L_0W!?keZ&g+5Kd#wFtW!pYH-x{t%~O^FZ1nrpjq}K zS=(^}9DX8qKu>bIS<%wV2(8Nco?h1W^t!wAJnf!E#Y+kvpDyvofU@Z-49A z+L3c)=P}kjA6x(~1Q#*-*G#2mDY0yLw6Gy@r-IK@mx~$K`gUvx_kD@&HH>467IB45$z6oR+*x+4#`TWsz26wx=kMbr|rGyhz#m(9T(L{0|&^k^Pu(GohKYBK{5b z|HS@VT!-}qdK$ifq}7hoxElmVXx59L% z=8wcJO>JtuPbkgWqh*zEj4bQkc8u)8HDDdkJhd#1tjnXIX)R-nT*-FWlW||_l zHM_*DlKR%PyP4_XtiR`aLhcBMtkAH!IgLc4@IAGl)>q!c%Cn+F>HLPBZwv-fh zB89SYHTYJROjb(&wNmq51+RhEfxQP=lNXCL#Yj_(G{s0$j5O(j3KT1ixkGH>qnqssEwQObI@=p65;2u5jEp+lll4s? zW_&>{W294W$2K3f(cJnFu`v;NBHAWSs~Lzhbx&9g$Tg&=?C^j#D$o|)lo(PX|I0($ z3=pTiklKZ`D*rsm9%J|V0JD$WN4H;9Mq6riUEN>V$F}+hR;je7O#bwk`j$2uUK}#l zXqOMJ4~Lhjz1F(fqg$8WTDM_2e8BBy%If5aTh{R)Jp!#~+6fzFwzN_h$x@tRthAY9 zM)ro)c8Bhm(rPwKn9M=*BGojFv2tIvbyA$IS$g<`ZMPn@5|%>)8L=@_316U>;yeev zEY%0aX&jB&Q=Ig=WR9TInoTgj?OuDMZl;BZRlD&e-Un(Y+it})Y_#_dZ9V2N$Pa!~ ziOqJiWu(1j(wO67>eQZ^6n&$%l5+gZfBMI$!Z~Ba{~6J+*I&^`lGCit)^+1}!$WJ? z+HvyUEc|_KH7(ftI{hzo(g!Q`F#D(%*2|nukt2rf(iE&&(H1(**Tk(-X!lz*77p4G zA8OV&T0Vx$f@$5LW{_~R+ zOL++&fSx+VF+BWkDwK^LvbtNJ#kN~(-PDdeXOJb^VPRU{R{3Rp z%Bs@FvF4V1xMrUkCjJ2GX2#Bq(wiIVQy^)|B1hZGj(s5E>M?TN8+*}*?Dw&{&sZw9 z`}x{Wrmz2s465gC3XLDtwxe2_^vvxEMrRO}(&XMOzp?nn9B;O2mi*5SSB;rN);6sP zvi8a1MsM}e&dkpEYY2Bp{XPi&qH(y7&$y8%D;OCL8K#6S8D(zAM`PjfC)fCM+^O*l zNUx{$`EMN%GnzA_UBU|1h*(%4wbi5LDvlp5e)Kp}kC$P4lrxO1860ER3?FIkQ8vVs z`JN@4asB8u87)?`0OR`Ld(m1w%p^N(Y3xr+Ijqu9|FXw3<-}TO9$DMmr#0BvC}E`T zH4bdOG456q|L~j_ZAMRG7tM&<>>FFBHf7KD*hrab?r*0)X-;HZA3dp+`7o-5{02(3 zS7$tE&G`(Od6!yh|K#1M$1@r1sh={gveHDX+Zy8|jchr@dUCu7+K#d`+bIROfWY z%vNXEwT`ETO=;M6YF0c@D*s}jUbKBhNXxR#9X3v;Ptz>2JV)F?p{2J+7s9PaVq;cO zcXL=(M^6^hc9U*sW>Yht0Y`P;$4a8fB)x*Hrpz~wnfE9M8do~Xv8|$L1*FHwfN49m zUj^`_oz3Sxa~sRI+^Q%W@t*l*=kd-f$v$7%g&OtQqCG3+S$o-*$|OH+H=DzD@<&$e z_`~gxfKf7~u9-xRa&%-=c7-G3$J)1bQyCibG*jsw3%#4(acRc?Wwsi8x*f&0Ud?u# zHqNA3pQ>+KTS+`-v|^k243ocYrqsc0UCFkO4KK&a(Kw`Od-$zIX5RBcnh7#{+K4eV zl|N$mtr2ZE8vF(?ZqNMlSR)^D9bwHh_D(t#CuYas@ zeU|a?a2u>MqK8^i8rzW0kEPk^P9v+Xv?n>V^)a&pEpy+78;6(wKKDjg=9aqAW~y1U zuk1_C*4t;ZTD_o=*U(y<;m7jwdT71I2k!$PEsbefc)Qhl4UIEC zxDDfzWF8~MqJ4KJCD`RL=Q*YbD z-A7ybH37S>&#{zty^5F z%GN#KVRy@kMdHVoALkkd)-U;$NARdw-H??zz8uL%qmoiU`n%&UR);>-1-$psglRM|ChR!4h+o!tztWOP>WqC*!wyt#MI~$$F&nJbX zN?{M<3EiQWOjyf{b!_CaD$6YkNtJ%cv&`A#fsBxcL6)=jv;49XV3w_OX&g)?pjFzk9nMbtXW>M)^BkGXySQ3Ev-nrD>Ad?$>u0;1S?16j-kUv(?=-$$ z&d$8^rkikA-b+1)-?^=)kFkC581Z9AyXG2PuEV9~nz`;Y*Q0B*U(L=>Ouv&&Myg}> z)m5mz`Z~^T<~uFDhAg&+tFYf)Nwq8KbiEdBoIe~NV&9=Q)3!nzxwOJd^XR1140^|u zM>@6pMB*pWc5~>LnJI|olLIvv8x<*Cf!$kTI^ zxnA}C+y+#>l@QJ0?`F#EB5szsUOg+Ta+G%$$97ioZG4Kb#@?(m?%@8R%2ro`<|%zSf9VK3m{ zzAyin`7!4seD^oMA0bBgC`b1*M;Dv;#m*AKCB)d{`*J7b_IwVZ?-?o`we!dJcWx$E$m4xbi9|`9Lf}QT=DbCOLuE@b^CKft??0qkI)8v z21UvdRGv~P|16c_TCtG4GboM9&C;6e8$asdu|5aGCl0Wo;~Z)d+FxzzUeZXuvFxH> zyJb%K&!6|%0t@JINxF2wN^}uvu#zeH%cL~xd&z|4C6g2NxsJ7l+SbR);rp!E4nECl z(D*Wy#hGc)On*pobJ*5Y7}Ozc^D{5qoP+fm>tl19%KsJVE4IrlfI`^?yD#RSmwvO< zQ;n^$ygh?5K4c0JQ;QevM|?V!^OTo9`|uTqE#Oz7SjvHM#8q}rq3-31qnZqL5dWdP zk4e3+Idh?Ni1{AOZw9-?>3`9Wl{i&FE!R!`tQRBy!+x4uIoK+fMUM#gge~nymQp>_ zk?z|togGQz71#7)9OK8N$xYA;f6p~v^~heZ>LPym2OYk1Q}Azj)L34E!|&KK)692| z=H@oGGXF%O-XNKMKFr34`OYNlXnY;yDDz?@(UO&3V86Z8b~l6Fkg7#s9{UR$al4Uz zcO+1r+AOYOFYIy~=UVhq%3QEpBXroG3FHx3Xxr}FbXi)(?FCflc@4-KTkn4n-q$>~ z_o6i&T6Q?tHSszoxz}DZe_Mt{Q{?g~bFN|z$EGXa{ixM)LRoX|>$8m7e4O~DW?TFFlB+$wtR;QF zNp~RS3XXFW(3x3E#U4c)tTeEG!3uM}&Ht06{2PMwb)| z^`jmh>$3-ZBJWJ!*@lDdZ+l=HJv5S0c`_|Vi<$s3nuLZ39A7CWhO0=XvlDiy< zTV^C$Qfm8sDdEyoR&1R5`~d##`XE!hWI*y_Wx>kr`>WTEKI;?Pk>M0L$bOqAbvHMM zZS7+A#I@OHPP(Dd(pVpx+b)da^z9&7W+ODtmEE(U*nd~P8fj*!cY#Y)s(4#vWaShM zFWM5trMqyR^3rF2zDo%AF=Hfg)pB_2NPfiyhru;s265A2=DXPZ9tHR8$C=`&<>t&K z_y_v#(E_{2>3`ABibmbn~Uve$3DqY$wE)yT8gyjB6x8! zt+52_Dpu@9&Ob@&qj|%{?&h7)A2;uW-p~0q?@>64H-+5j9OLNC(0|W+q5s4A2WJ!i zuYR8Mg7Zh-UiAuZfWE>>oVxQ}*K<8*ovZ(szrkJP9_IYYyy^Kl-t_!gXNb2upW(de zp6Q;+JD$JDlm2!0f4N_EcXI!Q?@ad+zO&q~xp%rdyZ5-ia96k$p0_>5-Q+&we%Adx z-~ZwS5 zb$^gMK6kv!KPq{>?hm~^yggn16N9%kKh1lZFLHlt-p%}b^H%2Pyvx1I-RI4_nO`vP zX8wbDH#6_1;oZ!ey*qd-^DEv{yp_3&w=zGUEAT$%&Af^EW!}m>*L&4_EjQ2OUz2n5 yy|=u#bGv)*@+RhD+sSPw=a#j7j`uOkzG-HL&lAUd>yHYbUV6AKb@pH>8IOW zL7W)?1o%%jPyxvQDd6S~0ARfm01OcRpV|MvUCh?)F}`%_Z9qht3_g z1L4WuKyn2YbddX+W!yjv7wxOB_6KaalOsM}%qp8W=H|%Ee*drZ(`$`vWbFoT?j8ex zq-tfCpV_|Gy%b4g$ztpdhn&Ku!$x;QO^aL&lM2={8>*aqvE3J)nM8$Ro-H%eeOZhx zWH}#>YB52OcB=?U&SMh#_9|pCO_0?4H8!K6YMGB}-M&9b$(5!=g%C^7gPK`wjzzfJ zZrqISw?+4nYa=}4|E1)y(%i7BXCOhSKoAc+lPrt;Dw}_|to7Z{MzLO}Fn%cwAxdXV zMf-`j3;T;9wI!x4RO^@F{jG)TI!tT0xc1WE@F$Vn+#QGdWjtAdT7g}8E#S^cLNDG@ z+bUzV$`honK6KRHdt$e&Y_RL~!1KQSyJM}MeLr37TQe%ho6EsEjil=WSpufo=0 zb_vHdIqn;ZNTaa-XUTsF!2@0E%aa$so|xiSnT&?bR7pCVwx}s=b+e)`rN|R+Tp9L{ zyqtaT#8uO%u(53zbJMGcu7JD3`vzza5*Pv5S&WZxe(5Kdu=oJR()ag*%>o;!V;e%7 zl=lNoe4CB1qfls2Q)BMCd{{$^mVl)#OBbSSuJTBzudrP>hC zMbHakt|4_Nak-o*p3}ZH`P|nTr!p+!-JTN>NM{Kcc)=2N+iCP56vV+nc0$l9R3Rd2 zrUU}SMk zk&Pf2MBIuBFb$pBr7kNB^-7_BJFDA;Iotl%>hB=iR`tT)R!xg{qaGU>YDn_b-tqkR zXgjoMkSEy6Z+Tl}1kM$LUY(w1YNk*@My|#4t=E2(Pw(Y5;*GSM>lnvc{>c0bzAN{s<&(RI7D1k(Di zkDVWDNbN5~Qee`BjPSRAM{jW%w&*O|->SLG6<4I?fFZoxDiF=~C(){fr9Wqg((~3l zgf}511SEFC*YCeCDtMFl!*DSv&dYAl^?yO?3uYOpe@sDgRfW{sAF3L_OA!A}7!nIf zVKiZM0-v7$efT>m!^w+VStI1Blp2U7#|^;fJAW^0t``iZ`_!@)q!Ipt>PQfFm2>{l zkiT}9k+0gjZ!@>+#_gaNHaK*^x=^3K8i^8@N7XzcdZ%99OBk9X+(#c2*)Yk-@~(9q zD9Cw&R8u(8ovpz1b80&CIN(a(XuI}beCV0g@ey=TUFFkXn~PTPG4KgkLbdZY915xw zmFfT8@3-OlNcLD|<-(vP(4eNq`58TZYZ^Tud44z|8t`azlva~wQI}@%6crUUQHEEV zB9pg-#z(zfS9SFz##fZqDO0y=|4cJ%gtmu*2t*)CcZHdcrhxkQuLHS3`qa_m@syOA zs>0*IYuL#HH*o5tsZ0>)AHu`E9fBMwWT&NTG}15pnCzuz?sxzg$WbydG>Dg9Ho+g{ zke5`WiHF+^yEYMRJ4p|#q@YB}@iv{)kQ~LvcN&#umvqkIVq7Ab-sY98{lX#$)Js3(P|JVF5q#LxDx3N-91a7N7BC@%8NZLKKDQqi3(Ww`<&*( z3cte>nE7S|XZhjxzvfx?mb$FhvK+HqBkuT1fjMwVg*EdjnS?I8?Ny2@---jA2}7)d z?_+@^9IWBk(p#aK^P_@eSr)OgCOMO@_AP~vZ1fZClRk)3C7a;y;D_K^ExfQ@OXtMK9rwYkxOmEQ?3?fZ8783TKUE_7P)q5No$ax>`L~%sP{rT!W!+ z5(b7>T}mHBFch7Tw|AA&!aOJUZe}J~Cc{JIlKlM(SxK4l`UQR$Y9eMTRWpd zU4*N^@i`flh$bzNOi~^4@c6T4^LY6<85d{^?;on93bMV4_|<3TfQYo6)& z-ZO4{l0-w*cJE>Nwt{Np=V40k6%fC%-r zH3;0!!KXUys{oa1$@MgOFr`YG4Hs$W4esN_BO0aZNTsF#*@p^jKq2L#q)`Ij>xfF@ zks>b&gHX|V5~)lgwH$X92J@oHWEzP^wOel2i@_zwMe%%??~6d&{g_+^tL<8k7%t74 zgYDK>GX(jyiBpQNyi*!XC#hBxt7v9ZqS7K$V}qju+5rk;VuF&Q^5O!MpwehD>jRjQiXn?;4q)(NpqY1Z)VfMA~M`*^%`v! zFBBoE0#YSq00_>q9D%jB!IP;)^iY7=JARa5;k;Yy>flwi2m@UXm29eaepux0^~AEu z1(RTXte~I$>`H0C>L;TbuClgaHKwm$(fiNZ^2b~vQAj~C<0=EN`eEr3y~$v;g>*G% z1!W+~zcI6zVV)A==^nBX@+iO`4(xW-DhRn#tcl+-P2vzl@(?8Lf>jQXHNp@JELlc2 zc^q`n*p{@7$-_R9K~QdV{=TLeV>C7R${#z%);qye+h)@UF!VUm>0l70uY~GbBAb7d z@>aMS%;5YYwMC8oc*O|DTS*Vh#kVR$_uLs(MWPw*vBseG+yX?B6HGyIk8iif8VPLl zDgpyhUDDo2ocI-G{0DQYkRZ?u8^c@fdeNfj5e9J~AGL}d)UWoL|FP{Oqlr;5x1_*Qx z0_25}9*1Bx0Vt5-+uxjS8L*7#a=NS3A=?{A2M2P7x2iDRg`tgV z+U+MgF#fhx1<9?@g$o5%3$^T{pmM+xF;Px-G@_$^=FwH<5aNg1mfAJ2bkTn8e(i~n zAYsajL`!}U616|M1S=!#po&lauB$+^+(p0ksOY3u%rJDN$#HD+s#QauS2UaU73-w= zRbm3Rz^KD;=ge!GrRW<|w%saUa~)PO*LB%vZ3wdK)$8o>yiL2~{B6VK!fqdf2yy== z72-a~j39CfcRW{J9mo4h4UFCYzJ22l`tcHO{Uh1>_7QF`#aM9Mqu$e&=zH+yVI1^% zf9@&B=qski^gs*FRI$p;Uc6gTtDtbUn!m&LykO87;)6|AAl+K_aXaeGd}v6-ljN%s zu^e~g{5H{>pd477S>jy0BxG5VNssLa%DLZqNS+!*wvo z$17@On91GaIM=jIVc7qEUKo~(KyKBSl*|?t-$R9-DkJmi!&1e{PNuMji9)qkO09BS zvD#@;w>`dkw9OX(mNfZUaY=g8FiUPVVB^AJS827Ss6l!M!8=P~;T{81Scb|wPMUk9 zp|==qC|X+*C2%2jY+{5IXBucpjvH}c@>hpUH{1SG)>hP&tSJ@j04Yx{M*$`4h!96C zbVDq-6RdJrfEf9S!5e|0MM=+>qdM}ONtvdn#D2lz$P5K6sS{0-B~#2F{2Pg)WM6b_ zwa_D-%~K{P=#`_}md)QlN7WY)Wlsm*LITEtog&QuX5LxiP$3+&nRfIM#*PG5%=d4P z#(9ylVSZy-mNz%&Tt%{U1w3$hNv}EA_+%Vt)Mi+;M2ewA=k01a4sDyObgYv zBpy2w->JIWVXaYUQ+}dIMu_c#ztj_(ma|>4Zcn}`50jdoHv_nnndsfy;z15;+`FG) z?mJFD%8=8;O^?#K^>WqRqG18zV|c*JiCS&o6pofY=_02qC(`AK@cG~at`yTIv+_!= z=r|67RKiFJ+p#Ft?t*dIY$kkYaCk8BvCat45U8CHqvBw$LstTnx`_1Wc zSHUOOXwYG7SVOInoGd~CgUetY7neUeg=Xm3(|(PJIq=$Zjuo1#&$xRJU5ce-)SlC) zEE6nFE4NY;@S^p=MFoQqItawgf6B?xuhG3Z{Z)s_)wR^Ljwa0R57oE>A4*=jtQ;6s zyiIhpd;6Ugjfw_r+0a=Phg5EQ@3Tq#JAta*VmEOW{2u0(>BCa%s&zlo!S&Ddto+4& z^_W9BgthoAl>_k?r@owgYy3$Jm!Z9Ii^*<&f!SZL?Fy=Pdm|HfM)6hZ*5wZwW1coA z{HII)^}n-++%t~tb{rbxbns9{o9ko3Fp~-RSIVQ)`rB80(!AZhKk7C&hot-QyLa)@ zO%av^RlZYi^4n5Lxl7sNT&46Yfb3tNW4D=YXT#M!-qsMFeG|)8%i9@i8Bh~0l718V^IND*QM8-$TfN3DTma(?LOWHt`bKnF_6>k@Q5gMF9=ItSYwMkv#TA|s-^bfGXQlG{dw zPEsrfDUO7&ut^@$r^;_#{9Fe}+4DAlQu$o{0wZ!_lt-H6u@QM$;>l9#7xa^QcpzY? z%=HlvK=QWqGcB1P`${M%H?gpx;6~EU5u#QAmiaLUoAwhElL4B&s&Yu0iTqOpJu+pjpqL4=zSb`?4nOLaC;=3{qgXnFgHfqq^m1MF?fo_m9ZGpe&*8up4 z-gArSKN%#jT@6EY3>aWmQ00eD6=H$#v99gZp>yXMk+uS4@e8UOPmWJHT|uD2XF_wW z{w>u5g98Eeon2-rK7`VK^F@ClW zYURL47blyAQTvTF9%20ozv6$YeZDXvC^wDHs$1HeYVU#0$YM(U^@G+Q9I{Wlb!YA| zW|Oi$F$d~LQ*r%8n{d?`T(%2S?zE9pJL;V;#DOGjvsP4H!cHK3FTUx;It+CH!;4l% z+=Y4a#3G}BHVHhbVIOrBh!#AiE@Ztk`oEc#<# z({|ZqJ)9J8P_sbs#LfVP6W|xg^{7~qi+gQYx;xROq+O~?ae2OTvSn#1(8hFSHU^@p z=FzMNUBBUxtYbHGtK_4qCY0`avB)qO)nYjm8`gg-DQ-BZ#~96UfvE5!RRx8Dx6~J; z0NwBs<+B+If;BD2v%eeJ;(DMc6Xw!+`4Dn6g}J%Pm2d$4bY*#mn32x~i6G>GR~&f+ zniKiyq-Wfiy736WPY{6%NPi zw=XAx;tZp}w!G(>^OA3kNWI`a6kmv^LE#DoY$NUiTQ^`7J7TUyv!hWqJn+S!bP6kS zFWKj;3%(1UMf)R=BatJLBjY2KBb6hTS%i`PpfN%WRfcY;5fl^sdKP8Go*y=gq;O5nQk_PTB%v6b>8-~P&_?S?f}SM*r{|?`bur( z-V(DSHz_lzaza9S2FV#S(`uXcWjpU?dt-n2388RYw~XM3c2rad%JN@5503AD>daf_d9Vh~tVe zg&k};d5hYrnWyQRiP4s8>gidriMI3#bzjxhaqB5=P?PZ7JC3S3R}{;+c#$P6YbmF$ z5RVi$Iz;-HQy!U3ylQG1+1!=ujJ7LGrgD3hYe&86wp*?jvg_*ZzXex94C>d>>-GZ$ zMEP3{HZ}h4AA`>t9a5~RmwB0=(^CJ#`bnAOjJ3P0DkLln? zHR@XFmzFRMo<%K<-EzJNy^8j}TadYM{>MfIpDx5_41dUHqKcQkPRD|Hv|} zw#bgdHgA1d7@{wtqsY9QRDYHZ7Poj0ZS>~Tm z60OdUxC(4SUqP{mYDP1V zl=fMDhRG01Jtd;HTCLpYfTTh~s#Q}#nKOrCZO52=oe(UueXVno$;&EZ50%OL+{AEu zB4&u{^^qs5QY{~=b(1I0Z3vy~x~R&&qY2`~>!d18k&aXl75y*8a6rmx0{{dh2^S)Q z3JpL2f(R!tui^&g0sjpF!Gi`7@el@HYOvLa{589|c86iUMXW3ubk$nTGYBNy<3-KR zwk`z5e?SWr0DO7f1i^KM%r?P^$4qoSjJhxY03m<{tW4nSbUct z@P7l+8a1ASYUc$fyRghgS%hE@nJ0glSz!M5?%(V1-$vDyVc7T)Ca~RvG~6b4^0UdV z{DuNh=XOEwZ)$07QSGO-$I@ZieMF9y?)hEwZZ`|Aw!9m8YYm&h%j=`>pWSo6eMG^g z+t&GN{1#t5W2q z-NR;BLc)WoH%(Q?#cf@DX9_Tx%pS>Y{gOALhtQ@mNcuj`ezSPrCJ#|5m3(W3|JB$! zML+!owMtIWGv)+hQ;dNmMy$YmKQb&bZXbdK0Br2X3jXIr0Uo~LW_baV+US4=`sP`t z^&WPCM#gA){TeM~8M@}3sW$AI);;lT+tywA?%URVp>RB3Jnj$Eqpe%7ez78$Fv>`B zuwqy)XeFciB5$CbSgam8fioZg2h-S4hM*(tC=)6{3}wtIKSuNmgZ|Q1M=M)^M9(^Ua%MkOT^pm*Np|Xd8EzXlwel9i(13W4TaOb`72>CZ^vj_sN*4|La?oPh ziQ-Td$FQGS8EbVex$p{{_7&3F$(X)FBTP+A&5_DbQK>n&x5*IcaDP5ux_lUc$6&Ht z(xdW6Lru%jR~`HhU*k`T0ZkMl=)kWCPEnkgzV6^vp!eZtv%Dte-77U6K28UHj{|Yv zEppuAfzZ2W2R!b$v)&Qxw8J1DdFY`tsPVK*yOeFLn-u06uB^(p`sWfb01N>9V`M}` zN)+`~Qo|nnVH>LI$;rQKVF)M3eqU2t=I<9ZKo}44_Pv20J*oI56r{NCL%} zf*PzUNP!H6;cp10!@+TP3Ta*2f;H(<3L*tU)+T0wJ8*L#3%*Qj0|LY_X;jQ2N|XoA zta>%zm8rejkI{zUjxNMg-&e0hl%oNsT36L{tv6ULUxRWV)vkHUt?z-vkR3Dr?;9y{ z%GxTGMOBt%)`eyE0tTj@w5n;{8_T|J)t&3MZQUOX&+{?z5X2GajDD_b&jGVj>1_;X zk{Yc2?;71YNM1WW-SG4wm|P~!JCVIER~GM8K4$`tf4Sai#82t5{zuB?PpteHFi>|G zVXLg4%>E2`ng{@&zDGEbJcE2#fE?+;xZse| zF1BkrdY+9Zx0L(mZYKCOq@)nUSQ^*Rtz{xyOrQJq^$h(aHRe%ePu`f&S2w2Zu2=i; zrG!D@k=K_As+5RkPC-;;w+*+wjqb;wv|aF%c4N_KHe{4?O}qbRXO`VDp(X{aNQuX=?660$Z1YjuBLgj+C4?1w}Pu%?2Sf9{t+ptv_?xDX)|%_958qeoaNj9kuSutFKjDX3w+N4;}s04RVE z5eX6y@MMmyp%9sgj{DT+OYpRa1RKI!0Sts{#Q{ireZXv>6-l-KoHG~*27is|p5N&J z>({9QZ(frX2Aew4l{yX!%GAZmJNMMaGD20&2iG<>oMGj3Q%lo|5@Ox-;{8l4}>Zb#G#f2m-I{VMVH;b!sbCjbpnz`O{rB!|8piAW}V zcP#bEKG;8f@$7CrO0}JyU$%7@DZx{tK%{;sY2$4zK$X+Mf%dm zom-M+>Yz`WDUD8-otpe7iDOz}uvSqi>VdhwhSWuys+#t+BuI7ax(6wYdbLu>_UcY= z-nL>d<28+OG3Cu!JNduVEcae*^0w=T&_?kMnJ*5=yXfZ-HhYr2Ny?Z!wza^FpV`r= zM%mrWe*{6c#4&DkT2t8=+xCtvk+Vq*i``EF0@QlJa)^QV1wE_)IkVUd(tV->DPE;} ziCmb?3A-HsFKQ8{bV{Ym>fcw}C!O4??PUW6e*%#Iapc;$ZXVnAJv{&3DLfbhY@BT= zh4J9Fp(rpTL|fdMHcV#iTz4B-hVAt&GmUkgPmV1^wr%ZLN=DQ_sy9o?Z0 z1f(Rzwh{wv(p4xFP=ynbPb(;^!ngc`&d*J~*a!>*9`leVLU&e;iRKBh`KS~wR1^4?DrD7{Xuw`(tWCo-I%o;NOy-fh**RLymq9g_w5ZOGUk29G zQi(Fk2M7xqj0u8(<_JbfqoP7e!CHI=|Kp!-Py*B?>~IZ}|4iUjyKxDAFk zX2}1(#!x(b&#yZf99E%$&p|_vB8`hc6TJ`&Lmy}#$&~+7J8fI2Vq1;E=TwpmRTHR#2Ee=$yX_a}Io3o@hy=CMsc2%8h9^wHCxQ7#K=rfg4 zB)D$=JU~1qvqeR09yQLh+kihh*R)+B03ZB7lt?U0`zf|PaaLtp;I9zjS4g0x(-$gb z>ebUudOUd6W#Epc!f^-GPzhc(J&Tr$Egz%jWo{wvs@@lz@!n)wz4_R*C>WPYV>K&k z``O;MIXek*2xL?TzcOcvX$ZrDZNib={%2Zxm9i!OjGk^Q^2In zJ!$`7bfD95#qR&W{C-RcUQN)tTF6meI zuwVI11}G|0ei3pfpyd0J+qk@WImF1z6w!z-lR?K6(D&poNY%@EeX&zfP{N{&$!A1J ztY|y@Gc}fN$stEicqmFbGWh}Q|W*-wEX z=+ujWYpS6|jT<`cuLbJt_xEBKXZM*H(^Q{(QiHZpf_7Hrn14ji+ZYp8mI_1>hVTak z1bF#wCdQ3VonRzd_mmI^N5N9VSBV5@<1kN$5(YRy3tM6INDSz4p^Ae51`5L1O@05F z6XK}sxGr6p1krj%rBo_f;}ibvxh&1NvAN{b&boG)Y)Mg;7L=wc`A-o;Nhv3#BqS(P zmLe;6q#6gUrRv7Fwa3A10d7@R5(5v}i(YN*irbDX5>vF1Ln8>2O{8R`E6G?(R+MGv z*b)*LlalU1HOkqfsK}%wCF$5)5|m{sg_NZ$PuIyMWT;YiD1`8be$OdQL;Xv0au|-u z>cw1f-zsSdAf%aR%RjDg0XlX(kmbIoA48IhJhu*>tY=NNY#wpm(64qM-7rAcB?xFv z3Q~$laDzE~bsqb<7qCo{C$#)?->-8Vw7g%5eIx$L8k|OH?l(w~pum9*y=O-+L&*vhsu^{ZAphd!Jb*)629DE zKQ|^CHkhe;E&(B!V(fb+iU4UvTaOX~A#P!5Ht$HCvLiX>S9)N3={n3zJ4Hh)nC;ai9LCJ*xov$bYdk`?%L>R2q5#71AG z5F0EOv|iCK3{XfI+fEfM1K8b)($tHNo=b5&R)j28BXOb@F#>#672|zSz$Fzf1fUjQ zR+LV2lDrBCS{*`}kFaRfTT$a{@Nn;RI+8?+ULl3wo+I5O5f1=7K?Hg)f)s+e>}D*A zjRQ;lmA!P=yEmM`cu$Z5m-{+w={65vJdE)qEM!PXfGGzi#3dwP03gAPp7cNgG^8{6 z31)BUad8C$r=(nA(>0)9ZWPImardMchb~)uPNnJCQ>>?(0J;G%xOCN|ab00pTQvajl)x_XhONt<+_MRnBIhu;xff? z5hPndVRGleDHuSwGdLJW&5CJnj)*%@T%bcr2Tnpj(hEThYlEXm%sb5rcmN&0arwzkR}ImHuvfD~XdhGlRPo=eORv*$sZ* z_Wt~SB6eNF{Ig6-;0#`lDxiWK2zW&TizQikU*63SVdT$$^m~Dob}RX*`HR^6^!$!u zBwpXmxf{JU!Rx@RmNQBG)$aw|l*Djsqs>C=1*ipjJuW4dN~6azFk7cauBYrK7soRD z=z*{~)#;A6y?5csvlyz7g^Ut2IrdTpQFp7st=Z#^B%w{eTRtAo2@bHi)fD!xF4}KO zY!K;|eGm3f#KR))^%hUQ&-V&2%rlwGUAQ?S=X8r=J*0Ld<1v6a#(spZUL+kWFls6` zB6``*mqOg}5(p`~Iyu&5(?@9g=7!V(Ld*oQ2`NK$JI_0F0v;tA{eh%`d7nK(;BW!| zt}6m*y7Th7Wy$JPb}GfIh^uaE2$porDm#(ZY=#L*$7CS8a8seH6P9j5oZINd8Vr-M zq>j@H#SbqA#faOLnBbH6E?mE2G`psL;1I5b@SnD=5j_KY5q|YgC~x?Jitb6*6K zrkVO1JiZ%)j6*&Ct9bhg2q+EdwUN}3)JHPGx;4TJqgZK@j6=Hrl%-E zuYMpQQ*}IJX01@Xb{zW6UXQJ6)}I1?Ys+`1LvepnIN)QZL&5XG)jAdu)MmF{v?BC; zKbiswPZ!gLMqssIe!N%bNIEO7On?`$0NKX8BNzAx38H^?J)!g>5r2rrFTLxC)gix< zPGevly0|f4c$5Qt`<*nX)9R1Q2VJwp7vnN+PxTl{Q;vK`u)i%zo-lrf9>sOV4gam$ z$Ct(2qnl%sXpLQ`FJ>4*Z5~&SC(u828L1d``?~z#QPt8L;cmZct_n9x_}7)m2j}uK zmUBmK+2HOV?yj4?Z5fR4g9##eErNE(v_aIYYi@o9Mht`9nS6dU@$`*Q%_qU+tn3x95ki<>O zbwzWS#;6_qdj+SWmy7&Cq*G}}j@*wz%0sZ;J9a4c>w9?12uIoPVj2!mj}@{!&zxc% zliRBl0{CWhb@IxoHfU`gP=c{YWBdFL#e7>TktjUm89XRy7EP}xa;|@&WP?RUTL%fQ zIf5`O>iiM8i7gGRYM)4OF~hfms}b?ONQ$8@}7Q> zSePyl+Ok)lWdK1VM#J^}eJQRob69F|T4wjY*eG(vn*`U(NVCbSUD1#b__}`|E{{z5 zfzS+%_c^Weg=zCBK9|UzUt{7rr@4&*w`!}0cNW3gm;a@qsRr2@XxENje#@|D`DL{| z$D>1mUEui_9)mnr?$#ef_ZCr9n?>0f;B={5gh3GH^Ksdw^7B=5um85Zpr(f#-q*gx zaq2zjKI6{oRYbGmLDh}TaLyR5vDFu>$2U9uvdW>-Y%foV#Qwv#(gUgB3*!3GBAb~F zwx46a*S^sc66p`8lS0py-2*05solr?rZq0NTej{paOb;b7^EWe`8WLj%QHt~n2k17+pviqkp{N&&Slt%-5`mwGr54Z|UmU zl?sYAj*dP5hT}Uv?lIQ7GfGI+zMrmaNK#NZd4ZIePCJBi0B2})pmolVVIfqG><5HO zKdvTUaTsd!Icx!`!akz0@9)_L=nJ=ns4ip9v#VQA89+fTFqgjL+DrtvfZo0`udlYR zqZld0;}+?zyPR!7{|@%+R1l=vRiY|Dt#h`F$vtDHet#=vm*e*MG;ikv_s*`t4wH8W zizSL&f&7Tw&Pm~no{{TuZvvtt%GtkFgr7$|=O4NPD(C=5TXwSB=@z<-Gts=sZK}W&(G9zx`3>TcE@sKjJT# ztU$#h{K!K=z^4EWhY^T>$;bSPb?}Ccq-1Z(5g$rE=r$Vh$cYTbnD?`vGmk3X552<& zl1-LsCUVun6w;c5cLp~%uyQKuO%$n4G{qN2>|)GCH|w(x0?=Y+fogfHxk1A#9WWUZ zKA87ZcmHVro&pZDI5!^AW`J7-`54%AT4nb4DvFVGWLoavSOas#g9cogY<3;v^l!xT zhnEgwZjK+iT$$0)f&_1OMz@o{nYaIOouz^tfGBi+EsLNytf7G%E*_DD@Hl-pJGu^r zO)s0SIiW3BnHHghvE;Z8&rsD2F65dK(vo>>m4a)NSYi@uIKMHk0-?K%T8SUhKZye^ zxR@Bo)AVnnVwcp?c2##?K_;s)I?FgTq+V2i;5REmz%Dweb(1usX{wsff6Z7UIRI@~ z4+2YxN=AbvqU?;8YoIehIgQVq)(Lcwq)nU#1d*pspQO0b-npjYu#R*`U?;r#nx-oZ zU8dRx*nf6Z5evJia5U#Di*t57~e8j{=VCM$Q7k z9qmT_6VjC@!>yIG!A8=!;QGr;49P{Qk3u8f2#U-{9C&3i~-S9lf zG^(xTi6dId_#;3Jt<3s9!YVuFQKo5(K+-@;?uP##wEj4zDH02dlK~dZM$|;E1<9F6 z%i8ir)C?W4-1X?GD<@__!|1?%nW@eyjK#)m2aa5I#= zp{X!gQySXb#s5JdS3iOgBGS$%%1gLPpVI#|SgW((KUg>b3P_eG*d?J5fPsi~8?co~ z^D2b1O1c^Fl!?Hv0OTa_Sul|g>8b`}M;wqEw4QVlK^hFMo<9wk;z%xl5QLBzB5*(?T#RUZx%B0$TpEQy0I?Cm2Ns_)DB&c!442~W*(sbh^&tu_3{NYkzGjA_ z(|t=LSdUXYUvR;t1In9o;+|&R|K?__@SLw1k-|xM81a*sNsG*1P0@CGSR@fZ-50iU zv!%P~l68cYYm}f&QlDZ>K7tk&MtOiK5^;Jo70t?wOlkV&;l->7iRX0zu|5PAFghpv+Bp4IA6ua@nG z$L)IgDip6*^R&dr&Hrh%5mDdwzE9c4wExX`R}R%L`>~s1$znE(W`lpE>MFhsf8NGI z`-#4`(YkEix(TdH^Kd8T9dZU(`+}^Jk#koNi2t^2Z5$zwWrB!s_VF`s=??!UlcJ}@ zseG{&tm}N`zN)FdGeT*`-EZ?tmk<)O)`MBli3pq=XDBH7jpyql^iq zBS6Rx$VdSe6oCn2WNLPFpi%F`UV3P$3~w?qL1l%t`2)7XDo7nWXXM<$+b2nzIJp`y zHZ(PMxDt4uPnxATz_$N=0- z-EFi-dc}INN~a#Ex)voihWNe3|IH@s|EYvk=mQ?rE22?5e6gG@al2owST0b)$rCJv z66^AK9Vq__Hf&qT)9o?>m%zcyLXLc$Jayc=Ss89clZ zpodc+N|`{b5x0KF9fvd0@+jET;u9%d(!%RQ1`;iPgpr%U_68#UJrzN#Xj~Se&~?#` zSMp2%4H0*-3y7%=2*HLuJy4>q5z4l+#(rxbAywUkUSwjm3M`6rsnfKrh~`7?2g#yd z8E!sZy8{gqG&DO8BX1s+)?IfrfKoG;@g$UBM@tBtjZUtOew#6V-G8zp!<^pm+1DIL z<21(6zrgwoDIz`2(9E&PNtRZQv39boa#Wy_VcA%Dbh*(^%Dm7^yJ2u}=578ZY#@a| zm*vwDvKWo1q1PYz4jt|kG#Zw)MJHxJ?P9Cl3|l)>zHdu->7THjUJR{%iRN_XQePn! z8zhsq1M(1EB~W~d3RAGF6^dWeRd7&x!Xf6qB66b$QdSh>a>)#BB?I}Q-8@^`G_~pJ zSV%SUx^A(8+X1eRc?1IYhXl zvRJAif~!?qKGVD_#_*3<5|rJm6E{C0Dfh!?#%NLU1$!0V&|nAw_y7?c$RYi|&Xujk z2ZgaiL$_&o?$}(+!+Uc@kCyl7aY&ON&$nAlqzEM7Ab`t53gv(bz>^eP0-*wRP=qZW zo~`9Ti08Lyv(wY_<-+Cj@%cDxs&A^Qb~qf;T>{!pU>TyY1}&->M5S!PrgvOGF0g`> z3N$Uc{e38hi#4{$)8c!d5;u6OR+_IK;^2M6384ZrT!dU^TE||tc6Ov^ zCR8+aiD{3*je_f=Z^hnfK{cM;xhpN3Pjs=Jx!hte_U_c$rIEYTvz33-R#Dh$1-OOU zv!`|mTt_=(YT+}EZ!iz6dyoADN!6lU-yv!lQv=+$MnW;*G+4?LeX1U}%*_NWwH{W16T>b;ZgRrB|m zZ$~RQPp%s$l=QV__@IjN?nl68Y^ZTjIjRarbh_NGBVJ={~@S9_q9eRRA$;~Y~;i+eErbn-CtzUDS&KdWi+ zY7bJ@nV|2xAjz4$U^{J!`Y*XT5%+VLliBQSH#Z;Jh&kQp1mxt`-f`#|*Ip8bf8u>S z7?g*e+RQb*bHR_q7nw}iC&=R~HTFD_Kesvd+*p1w5`lIegeY*9I;>z+EOUo~$+P7Q zY&phz-;TQ9VS!2IG>#lA5?GIvbo1Wg2kt*QY|x$yWAs!n8%A60uQ912C@BtRWN>)W z_-MUaB}3;)Z#2SiCD_->cfOaFLv`*#B5y-uq1El$YaOM%lkU5kw4}4ul-53!Ri}2H zIT{Q{>&(3js!76jb=KP_m+@z|bz>BNNR$toD`l8rTI7ptnNZ(+bA_BSR{`@Wnwv;ekJ!|Fr(4 zo4$zi4VAgDm(#$6ISiE_5s6#OgrCgCR%Q$?!V65O;5lmiawYIm(VTf>{DzvvC$qt& zONe$Oj{d{Rh6q#Wx`qk~ttYjZw#zcX*J zuohnxx`2PSo*mY2M_NGSTSXruQiIh!t!7#GIi5HocgC#i^8wP((|4bJ zw}(G2sC@cN2!dj+BWA3DJ z&LBN9f-GF!WkQS#&zJNWU7X5&dYs#@I`>ZwP!=XN66B|y8&E!T`sCCk5LcRDgc#Dp zN3PWQx2wh-$PUEgtT^v_7~MfrsTBs!;D-?T>L42Ey`8yKauC4spre{<_sIpS{bL=t zsTceQE`Se-lY`<=N>Uk|B`tG6vh`}clgPBK+Bi6XmBO^C+$6)fvb|$)8AK~8rRq_= z+m3est6^CFn;|<_m*a}mRPBYXCRfoVlpzb)v})CQ$%YK9ACZ++E-p>Jc- z!|NlpQFLk1g{q5|FEvk!V)^M3u-oyh`O_SuH^#t{<~bc_>Y$G0x{z}YNko`9dpUJE zi#3sH2Gz))#+;szot>SIV|Uo|v^8VayuwE;%fy7u6ok1*N~v5vn?R-W^OX&;`?;g= zICVGSG%+7H;kNj~-NH!A$x)^GC9UmiZ6jB&+rxU<1;C6<>;u-pxuJ<{XU*b2CjZU}k<{ON^evFSd=WGV)+NP%YjktEd8j$4xu-d&d8Rp}`QLHHEflCx zcT`ZqGK0BC?^Bp49CCMy(fV_iOk1vlTzwc ztCcF1`RQ_@Vsep+tX7NFv3sanVD&9*aQU_0@G&PE+m=;3h#U6>!*E>38L07Gmnp3B zT-Q0U^gk|}Y8pE(!*siR#z6%XeA~`to8~!*a?E1pnQ5DQ+9;oOvw7^TslLnWovYx* zGgERBx*YqE#@flvzBmlUvvsA1=$bY%C&h}z*ccj5c~zCxc&~qAylP9fR@{ohSDMS# zYs#%{6V=eQZ9~I673&(cF#dwMZJCA>93#6Q2gh6Q%tT1oop9?hoyy?$m_{0XwO!kk zPQ@;oc0zEww0xP1@N4}a06##$zZG!03>a1zLv$Gu!cc2;Fz+=JcwuG3icGU{{V{d^RF!|-ubiCBYr?CpD$xcXagcL}qi zkWFs7Er)MbV%2)7wTkg;(@~d|+WTuTL8Rp3&kqCSipfx7mTM^p%8pQ~yaRlvlWG~$ z_$GFhoiTr%D8SeDtP)sQ4F`ah&L-kO-ZqPsH(=611CoZ9`W~}UfV5fJaj}(J`v@~8 zKsk;uYp}xZzMT1(A}!U~ai3KHS0M$hjj9z&V9wWv24(jB^#PtoR~Xb|IL7altMEwl@Hde*w(Rzj&jk3X8z~lmE?5yP z0zJLhp8|+a5|~pqc8JDy@NyC2KKDtq6qlFknL#^2MvC)~FW8pjY&gT$gUr8a9_4Vz zAiFnbPD4ig=3Yu1aY^mGm;0E1fYIF~r$e+m@+wG$rW(iT*`?bWhJnoRv_j;Cy&Yxd z4&?(zfma-_M9(H$I3f9`{F4O=HN7@zjy91D?%Q=2Ow5^gE8iK?vXL_-lOkVn71qY% zhuDj-WR+)irGun`UY?KjwZCBMB$SH`W>)fC-|Bd1kUj|GmDY95X`bb0SU}Gq9vvhJ90DciIfq?`JMJD!bXw|Uk54nSEJnY)lWec%-BZL zlDx^Au10Flb(;kn+^TMERdaC`15vn?E5;60%#PsCqUFQym={7Vs7EwmqJ!DQgq~zj zRn;H@nYr~vEbb0*o9ZC|!4bIy|Ei|U{5S-J7e$X2lo@7``@Z7m-h2kblXpZ*YUO^E z(dnHSkJbB>&2t|ngvQ*n)^*lY zP2;`DwhhCxCslR5UM@L{JiFsy>A9PRep%EGo-D@Nxe%u12|e}-)xyMNNN50m{z7HB zg2)UMi{(b#1l$NHd(UaTb)Bb{Z<*^k5JXfXpBH~w`C*DU%AN<+7Ux}c7;1IoXu#ve zSe7If0{KhQY6OzdMEw?A2SOO?6$wK`a^t%ODi*@dyuCcyX=qy>npre`C)H9*;}U!@ zTc5<@_7FCrOc6Ieip4g#r8{7dPeM*54HSb~S?pJ`bGViBdT;aoEY)sER(&sFl)o_% zYEc!Yr%n!;$*?N526}H5Ue);)cy7;<8=hSPrI5mu&xIas^~Nlg2)lEog!=eFNA!HT z`;P?1Io_$IMjZQODKaTb*vbX%#_a?;Sd8QACTuntK}+D&!faeNVEBKH4$kZ4G<3LP z+!RcUuaM$9{RTy~k_IFcp-$=L`4K^?Z+ku=KMHOdT$NWs5WTQkz@3wW00YwgmAV1Z ztD{r_)_$vhJwN9~ts74`@&Up*2#%hn-IEj(>=TSB zAXqRlf#BG{Yf|Ft@tNO2R<*W3^bD-VtQ-{bRK0tNoLeiIg1gFLp<;L z4Rv_~i6{ZtRng!zZl)MbDy#SoghO?hB7k=1-j9~eQ#m)SO4x!WaY>=_pxaSACAa6} z7&n>zeLYojODhFCuvEsdfjZFwZ#ly~9pX6P`&DRKM42LD#@)-V3nqQd8wJr1?Newj zC3%2eKKHCHsO!*4Xl*p20>3KfURHWJ-H8`Vm`hW3N5&o=^RRA4Up;)UnqrhoHBIv+ zpUR1xUc4l#Ricuw(+ij%5Uyur)Hg!rW5C!M0ZEMwfZezE>q>`S?&5U6nIUZY04Ng) zngWh&La2+e6d_yCsq$e1`To5ga-}xd&zH@)l~7;UW$Dkngh&|_3F5RA#Kyt46EP*3 zMLsfc)~vQ3v=HJepq96-2FqWB7!HP@J8s1prqrvFXzUK}td#YB4PyvFP353Hr4Bem z(59v?U=7o#gk_&%S=v_uQj60lxI2%;5RBH!ZT7X%2I9mLgw0Fbm|rf-2;Anm~f^w#Xl>81@>WI<}8Z%jk zBQ;H`ds-k`L_E+Ay&xcBGG>{=Gw|iu=zz^qB;58Kw~@ri7px?q{VQTValol&!VoT- z^1H|&co<>HHX;LRQ8Q)xF$et$V`)-Ku^ZXKDtQK|dl~GICv`y$L(GsHYRSTqXEB%| zyRfR$Sp?z;zMO1y1<>ooXnrdieb^o-61v``SqF^Xg1T-YuaYYR0ZP_GBv}5Bn6v#T zJn#4rh#bLFhMKKVjT(p$IZuZ3}22z z3FaLUTgN{OoD{Y%;`zcfE4n4J3Zkc+5OLK3Y|L8J&wcH7$1trq7Z-K4l$brmLr80Y z@^LyV0n}Vz&igMfyT`B6avs_p}sX)!E`PsdwG(r zAdb}i8=`+5qQmxa8YVzfca&cjYuR- zl^1V^cxgs}P4XH>hqG)66;|?IaX}`}p{QMK^+@|%RhJclE8%Fzazmun02xcZsDakW z1d!8!!L2soNkyZgUQvzJH1pZr-m-|0P#fXeT`rgug7)YVFB3<;#@);Cf-SjXC=rJp zxaf>RDP}H7xW3Vq1G%>D#(G;|_*_aE118H>!6qUg z(RG2~&wtO6Wsj3EgkjQci}ymuBbzc>5+WXpOZdJdLf*mDDy#}P+56dqG69Wu3F54f z{ox1WoUD>-cW9M?5*#8h)J%@syT!R^ns$?vonTB>F=mQA{tEl_V|ud5@=xiF6SU4; zW%AA67A9R;hXPB&OUVX`DrMr$1}>@G0i^G&Wr8#=)LRH+)<98GcN__j_wqgP#{5LH z2|M%1{hTu}F>Yg7zhfBe24u$j$MsoCxNT*UofD4k{j_rjrRg{#}; zbxxnZv{i!6iA#9KmSfGv*9^;=Nb-K4d1+H}Si#dOl>(i)h~x&Toyp08%|F-H=2xf2 z%(auA4GJ-tI7Fmtvq7ChOWMO1)yv}1aYff^1o5*>G0|w9-bs3@cXMJ<=S8#BqwBgb z%9~OMMX9K|8{E8MFWA)Cc#370;TYq_Shl7vnfd zEKM!{wnFq9uvw1icEku2-S{eb_Y$8v=u)NGJO?;I3=f{i?R2m`t}PI$Q;NWL?z#?| zdpJ+OWvtW#QMs7KBD=)V&MU|OgpJA}TmY9~%!8J@Mgw3WxcaR8mq62y7-ry*<&W>qe&uzH~wgW@1;TSlH8 zD}f?{j!bh2lvR+a7?!JKuM9_jw-(Y-C~2#LRca9glA*>^_ba?78RB8=*0QD!`=C=1@&>SR+m3O)#J#)e zK_Wm59}cI&4%F!fJ(IL>$Saoe@xJtJH8+1YD`eMzh#ct{hrhgJ3FGgRUC3@*B>Q9Pq9+xAY9Q%OKDm4!GV`-)i_8fLNfN zEGw)|iF1W{OgAosP!lShWkj(7B_VT$NzsaPoItqA>k9y`(A3&ARMSvJE**S>Opw^1 zbJ-Z?bD2sCs;EaG3${VqY^XYWOV9fB-0>7}Tlol(r-Ea~AUgy&90>0|UyQ-u7=JI&kR|>rAS#7W%bk#9o%ZxM!-}=t_ufyUV7CD14 zYx@kV+P-&r+GC_wkhIMIF9L~9mTOWg=2p61VVOK!X12W`^bUY1$~H)IE5y0$~uWLKUCwO0vuqRUC!6%6AbQvR1Qv~lKl}UTXlz)mH)0?<+9uwXPxMsI?OG(B(<8aUQ z4aT8O`X<>qv!z*h^eXf;2NKPCP>N0rY`g(ZkfD?LUf-~i%p@^Z_ceq`37j(GKSjG1lWUc z9B8qvvyM%Rnik$!Vtzrx_*TT$z%`w)4GtYq$K_w-T=1eYxd)DMf!?d;C*H~F_iDeE zdxEah3)63dy;Ax8vY33M_b8CuTZjH>vvr|hWyZ@`1^Qq&t9_;WKOd@6*oyZp+rVrz z*=<$x_-4^V7*<2DJ`tK!J65<7O$yJFW;Zl!U|cx{4&E>0>e<#Vxv%FqTXBOuAhP0rg-9h??zv zB5os1xpF!-&^UUYB&$SgK8r{`Qp8-xlmPL?@mzjDWDIl*(@T0%Mu8ouhX1a+#!R7^ z2^J7}3H&k4dmMLceoywZ6V^k!cA8rU(>k3#X+L9HW4!_`c?^GTOIu;{eO@m&n&HaQ zuD@OxPIrHJ_qEr3G2gvO6bs#XU)$1-@x0hyV&--|#Z~7O9I0jAk#UjsZEf0-Nn6yU z_q8KVgNa@VrerzYd-oLAU&q^DB#WdpuQ_1lZQ3fPhGZqvcOnpMZ9BG@Dh0?Oh7O=R zdedN~LO0sB>amm5Ay6pD>P(xnkwb+mtnu5ERK`p^-aiETjL5Jpw zH`Z@&{9SAfNc+bUwu4E&4mQMV*L>WDg$Dm}psvE$$zTJoX7iyW0j6*tOmJBcpF|6SM2c2c73bqlS{D!B*F^b2owP|kG z|Eu|pMrM8+6uc&L+rICXKlFq%EV!3=!@RD*G}e7nHo zjJk!v03TgfBOtQSAH&PRJDiCNJ6EX_jU%iiHzel;-0Wn;#a>}91GX2bo5~iv66fO$ zc87~KI3H46(d$@ZMUga^z{*kPH z;)w+amQ8f=3Ng3Vbn}ve6^Z7IqlWGb*Q~F@CVl7z6pUbth`#7vreRGMkL?OEwBSqJnw750P=Xg*%J(-N%S1oBJJn8zYMA~@BO;XO867~mQ}>YCsXj-?^~!OeaEQI{vx*@A=K(4Qg!WiQ^r zexh|hvcMwAW3z|o8-OT>`EgTbAf|uQ?~4qR8JXDQ{xU>UeA$hJdH9cw@Q!mR@MN!{ z+w)w>l!Xei^^u%Vx251+qUm7>*^&3%Mhzurcnm7W48-E&b4%qoQ?fI&!n2c16<662 zcZcVqg1zFCM9QKGjPet#CwF%%Q2M`Pu3 za77`gNud!yTiBC6dB8IDMa$DgJ-DFYdNX{yoi)Rr=g>lX?Gq80Oo}PL9Pto(?>JEn z|DWa&e-Mx|YiX2;D20Z08GOP?DK_`B{$P;#eHhtq(89HnbXs>VwKNJj#hWAG30)Y# zyLeFNz5-&ihmYI>ICKe1x2flAaa!PrDq30ZV$#cDO|W_O)HP6u>Lg4~|$#QfrjiwVM1 zv`>IX2#s{fobf+P`=|&c@p@uRyC=hT9{^0z!Y6crQKu9?_jf zweDtJq=qtGd!m+h4%B?V6%C&VFOg}f%DD-mu)h|#bU9^u|L3=ZNlUIJEPuy{H|Wd| zJ}F?z+FVe`e74X`Vg%K}ikQk8yx%yWg#LVV+mdyI2?-r_wN3b-dZ;ZER?Z*&Rfm6U zUzhD`7SBB~;$i*tO%LP9-hL*V*}wM)BN~v$@$%VxFULEual0El-BC886A|?A7uNb3 zj#6ODZYRNcnFs&#J9=Itt4XC`ldrRKo}a`hshiHxPriQcHxCSCRQ3!E`Zp9Ml~F$G zGo1#@Rxl_WE`|Dx+=}RVHpcgJ@Bi83uG|PlklzuS|G|@{iw?cHzNk5^0|W^<l;I8Vjag*Yy=ycBm_vUDNH3xV zfndf2o_Lq|nk%CrqE2NDtC@Vf7^5q#lvRGvM_tvmVGNNdvn{pX_lgL$%%fXUt56V4 zt=zwtnfUn*O*c(c+a_v|Sw!&OU-w}se2}hmS_}rKMQO~Zm?qq0q0mj9pqTO%wr0KV z=8anLqBk4g(A^bXYm7$i4wKD}s+3lfAqWOF2rQKwb%@4jY%!83rm!`eFSKV>WFs6Q z-|?|WS}f<0O-~h*dWk<9KJb1R0z*fUqkf-eXxX4U8}D6JOmLwDyFg(q_Sqf9UZc>! z%hr?nn?YXk&-+Xy9^XNIn(7gYsm1SL)GE3kUIt2w6|A6-sIcN35gSa8{c8>S<92?| z%yDAHV&eAnOqdI58tQKYXTa!wRKmhb zi?g318}c=fZ*)OwmFJS73QKk&-;z~9g4i;d_5O&?ui=mlr!bOud}m@yGbNqFXHcmO zJ|~?#(3(Va=1g@2v#3K;6Mx{In(Cls1v{o%X?PBlPQB5hZ9&XxD^3lK3L+cYtz1BL0k5@CIZt`xfI`HcZk2t9M%*m$Jzc~pn~Is?vZ zq%n5f*!BJP<~do0q3veJGdU6?gg{0;V2ld1)Q3g(%!(`>r{H+s%~dA~=$Ds=Kdn92 zk`RyIo>*sI&9dw^kvTk=CVUAJ@p#MVNmR9{!H-UigyE4O2qa(i9F zcBOl`A{T1yC+NzLAOro#3!#wV`TqVRhVt5Dn%)-eE(~VWsSOyDF9CVG=Zd+@RZe@n zE>yd`=rbYUv@g>+^~(iyyJ-;oJ8n?b0^GCkyZLai+_~s9BLvlFG2IisohH{&!mva` zEtf+9E3{+E#MANg)|&&t}GzV`n8OA&p)U^3*gSj=u~(7urUgM0WlYrevD zXG^+V?==83wZkrB$xUjtehjhZ$Kyb6Ysjdt(x)8AcTAAmlH>N1kuS}4eT0JxAXVYEZS{7P-*Tpx) zm?i)5@>$ytUGH^S9?U+O$tV+Y+!**RINZgP;2nKWG0LEjvUFSL@INhJVXM)ovXD1}^o8u7z2chb*7)wOf=+Wf0$CqylU{HZO`nan~$) z1rmFaw$&q)=RWw5Xc2NDE~+)kvlk?T*lex0`K_UJR{5)Hs)|NSNyb-q_jd~9N}qO6 z1kPb(>0SN+-R};-2MvO8WlQZWiDaqpNBQW{#ZgjJP<+-vMk!S`CkP&a5@%fzATT*> zFc&gBz=uj4FBt|EdR)WVKMZMu z;QsY(8tRNd!w|DL((=&K41b($z|}|oK+?f0ymL8w*MsRyGQvP8LYP2Ky|Dv?yU|!o zW#3AAUAWg36H=Fp`ZgRu=hWlTiw?{X8&Y?-2Fbn|jxeAI?BS4 zUM|%m!0tB`ZwPbimTe~uf!{V39Vjj?0;%aS81}>tYg^Tb_CH;r;stbIS1)+xtpf6gY}E4@%2J()DJPUAv0%^-^=X z7z(Hxc{UrbQKJUKW=E#B1^Ytv(}T)q4_1`Y1EDG#bLhZEG1RfZ5h}G1U8{nM3Vs^U z$e!Lgv|&r9w35q*B$z&p{#!2NZ-GkoAq0OW`-oqo(iatk*~|4pOQ!H3Iy&=Ef3|}K zZ&TLfTP)marGi`I5Yv?Q32GEdZgu9NLO0`UhMUhPB$|Vx8l7Clu0&wk^)MtCK$Gwq^T3#fnzOoAIMmy z=}y#QiqeCzn2Yy0jq;GAlqqv3Dbx*lx#1#EVM1WN1ragk|2^ho05;>`=IfsI69@yF zhqxxlAP4PsEf-o4#yB^-cw!{-8x&l?SL;|AS;jmb-5#;ic|p(*>)~f$#F4ODn&nDP zc4eiedPVOqq)~Doa}eg{2i>T?+oZav5=?i(PN$x#Hv#xQP$$p5$D{J@<)U?U%OFA` zfe?Q(auJ)oxA^v-UDqvVme#*tH@SR5nyF1n(q^V5nTE>>br`eT3Jl9N=9uSP48b~Z zDcG=^PFu4k00cmgxcZ`Q;QXR#&0lR&dG7vwbfijrhXt0vhn42H$SnvMI?OJ!POLku zK<7ve5awEeS@)N~pS=l^9V=dML}7trig;`ow*ek#_GS?7GD$C0eKnv<16;Y*wKrJ9pz&fc6)+sb*o9Q0Z6n_(McUWM0 z56hXVY!XT!m9#-*Aa{JEOX2n8V#kU(QofDcNcPI|>H@Z6ST%neUi+5}N#|*UiqVNG zKz2#vuti&#(N>G~%m(_*_06=zChk_^g%sBRzB@dBwM-jbFV#R38I8QvV z+m_=CZIsOvmyj!@xEf3pjy@U^!@t+c1PBZJxypOyi;z(8$6|$*>&>i`B#aTVC$2~ZC)zWOHKnC#MVvysy4A)$sb?60m<(3>vmRBxK zpri;S7v2Pk2im=JC2((|r=I{Ef)R1L)u128hMHhbXUARIyN%47o#{tjykArN;EYB#I_?sMC4=radFm? zy+zkT0cNyowZ>Htd7%Xo6{Dbc%7gRJ0>s2@z6>C@m&EbH9s{Inp$P3j2ujO9!SUkT z=&t3ay%2<2xzLkaDv9JzV>J2TyNs;cc-u3Nlkgaoo%dBg{xF#fs=w9B`Rb}-a zGLS;P`PT}FzYN{YR2~;si`O>hTiy9RR?uQ@xx0z0<-vrlS$60BGi$4!unbnyLJF;u z&gbbf*56$ZXYh)gbfuOWQoojr7dR+m6pxfE1!Zh1BhUmzhjx~V)D?6P>l$_H(Ykbj zx>UULP*7X|nFL5>ytn~&`!FtM0`R8r!X5Q_3(|;hS&0wYS9>_>YU-CL(ZUT=lHmGg zjj>o8F=H>e(~3oJR|Y{P)AW}l21tw2aCy57ODaNWdt;)b?TwHv-oj8j{(0=RaFDcX{DqWzE3dc=! zeKn)){UD@uWXxNWdLZb*$()^*&0~cR**~5FgRyjwz7Pbbsw(lChJ1^Q(`yC(T~wu3 zC?GqXpRXnU`Q)Kx9m}9q1arWnA<$y(pYHm6wU+Oo$w6wFY9^jmrU31<>Lvc1oVV6m zBCWey)-ShO4Q|m1QQo4~`k~!}mdJf%F*tG>h(lk8`>QM~zE7El@`&!S>#<|!ediw= zQm|%^skh43zrsJrtlQsACVzV(KS5BAX;D3(5rThk?h3My1jd8_ReVPU#p1hL*z(>7ms zt(-uxVBdi#h}So0F};g7AplTRtw`%*F#6II>TZP0u23!)Mo&s3pD#|`HQrl{0%bZoLvnUvVOmzz9)td!08*$lwaDV104Ui;A>sQ|^ES6H zt>Q+ez$yEDG#G7<8T+(@s%D97olj0Ya4hb6u0~UzZ*_BeEuc@nPST?OU2R?A-_QW6 zXytOPonBCgB{HeyYOo=&!LnkDx!6kK%LfM6Vax`Y8VJ&g{+@w?=lY)qlfm4N_nBjJ z1_#!UbGP>nO0%~n99XEGt4OtfXG#^(pxC#ok+84rg&0(EK#rDLC4=rBdo3H6a+jn9 zqt=<}Q{>5&oh{|TuC}%>2Z-Oh@e_;=iw;?O8o_KPz20WRc96IDBM7yMijeo`TlKrr zs#0WFbNGQYNgle`e;iB(>7SqQEMo)Cbp3@7lT+V8=CaEcV7kWd$S6mu0%S<_LuS99 zgeSjun6#gtUq9c~)lwepY3uk^Uq(LYvzzpKyUADKkBo!p03zJ34rM`!fhDU0x2Ffp zAH$RXPQvpa0l6=DmkcZ~OM}UQ#r5wwZD)loB1F`3R%mxV1_U-~n*PhHf zJ~)h>w4CIInv+WfPU^iw5F@J zr4OqIia)*@GLZbmq)wehGEaDx8FGpQiFTR&+wny{cVBV-8~vxihfA?+?7J^CI99Ph zcW6>j`;0GC(V6JdiT<=vQ=9Lz`iqY=LATX>%p4bxW-#Z)d>TAEmXhb$TF?Y2SnT8- zwuh)y+T*DxL7DcRE@0pPbKMVZ$U}9~09CH8%Qw67daV*?-hdga&2Q}IpJQW|+%BU% z%vPzwc}7QWw@p%^Hl0^p23y78XGerKgzf!s#r&^HAp~mC}g5=xh6`890DZ< za;;crqK@1k?~i#C|18;YBo8GRt4*Qa)`9P4_5G7Uw^^rmnL?8xBEF`3aEnA9S50*1 zgUs)4=$2SxAFIlc7;wqnH3p`434+^;ab-L+rIGBF(hdC6-7?ta^UysmAB?!XUV5?H zUx&?~_c=`(+LEtv+xN3|PP6Y8qdw>MW=HTp9Ok3() zh0R09a1V}_F5IY=dAVDG9XD;qe>=a#ak$ituM(}GWF*>gD-C1V0yOi!!x_CHyW)y$ zMO{nz0U=IHjfn%ey(|b&U_fPw1oTPTCy+>dm-Zc0I#Wj)9xS*S2t0e{2rv#DnSta0 zK1b-HzC`iL=u)chq>CoVxd2_bJ#(M*<&3)J!AgudBRNJa;Jv!d*!Iol1!(5q8M^z- z=OJX_SlC}2*auBQ)q2)L>@lrx4jLAz9sU5FmkO0iC>p!hOD}VjY<&6}m1mHcOP!4e7ofAjrG$0$XDwb&;j32v zMZfjc5L(ZDgn7MxA@|{K4k&l)EH0d_8!J3k3<@fHx>@3A&`T}Fem4yJvEo-|uJT5y zG)Up#aw_EYZ>)YqFD<@Af!0%2e)az1`_NtG!QC3(=z1{4AurFup+V4{U}^;t&JhfY^w0ozp9OzYeg>?@-LxlD)B~`Ab7i8 zuK(7wZ`dHesn}=-sKI!be-59V+xgdzWX84ApJ@y1d)gMOX`%dl2;LuOKiMP0yPJ5W z8}FpdF@{%XX0J~AHzjlJa7^>2Vw%?F+$A)HQP#ar?2GMK@m5mA^55{zPw)P+rh&x+ zd70_$Pj0A!u}s$eiwjP#iHq~4Xa4ud~p>4j&|0R+V67hQt~AJ0Hw zbAA8_VB;W~avnI(MT&!OJ4B8JiIO%V8o2=#o6mKMg%Xw!sZ&DF*Ws%ZS!LyotBGsM z8hGV}O$_O*5K(;kGpJ6>nrHHihexSt^B+-CH>~@5;5;;_RaCdX&&4gNh^=qKmuchI z8t$5=ir8_u|Ggy+yxoP@s=8YOSZogb063(z)4$2{eGE@3G`FW;?xpX1%YPmkRLVZq zb>bBJX7%PGJ+BspioLpGYzoq==;cUDmBSQd2OrU+PSAk&${Q!ys<%fRvHoRVXIt-4 zo}i%2L9+tY`i^&R0rdmOYC&f^06d&gurCc4DWkhe3bk%#x5cOSn$y5E?XfeWcfkHH zapvXz-i9F1>+fZs#~wWZdWiGrbNl!1NB%QE2hF)g9zUN(JG>o=9aoSm&wImb-^y_- z){53X1wFOa8-+99Dj+-8M&fdU(Sh`BbH4M?pgck_oFJHydkO$eUccg(`)sDO*h7Cj z&Kix0SP0%iZauh6)6Op8CiNyXdL9kUfDm-JE$Ze^j$=#A#qN85K|Sa zDCqc?)+3=$RrhuEX4-d9Cvh(MS??tLaq;K17tDjudGngvZB;M=%|gt$xCHccdp9ko z2IZigR#0fC%0S;fhI_GFq&>CBMXi)WHd=dfETfu?bGh6QMC~}&?(f%(|HB%H zi<3+opeEO=9zH<57f8P`h1f;XuIMhuW_siKFXE=GOy9F*)6MWc7XI~i3pAKJpE&{?nS zuah`4S61)+ZeK3)r*Bx9iyG04-y=m9V_xiJ>~2rB$+$Apt9>_vF*>;Oatw}gQWM(W z%ID_4)t->LS_Q&>Pu`gP*Z=Sq01#0B`qihh3%PE#SSGGi?Yp!4m(aOR$O)d;YhUAV zTs)qWL*4VfitsmH_U_Vkm_p}p8V#7c>RP86^OuQK>7L1B47C>M18wp2boHT!OLGG> zz16CVrxtftuX~EKqLB539nVVOa1vN8D|X@U$hfkjn-IylPP5%4WA(MIh@xgF`2reE zz*lBa2`kq1v1E1=x=gqyJM#qw?r>Fm=lj28~{h+J&LQS(B`X#G> z<593(*50k|{#aHc>7~o)8Il>*D4sBtMWs@bn+u+?{UYe<>m7s-=Q`o%*F8t=w!BUqj>fWMf_lSi z!IW?!RmOk#tMUv^mecqNc?R1K!}@~#<%Rsf_fddsH_5grL-w^q2m%ULhMj8#%*k8r zD6HDr^P03#oP8oa{Y19=TZAkjj~t(Jba@q3bS3i+;MY^S-y#U_t+B!y6@Y+dXcAER z#-PF?W)8n_^i3wJ*QzyQK96tB%2=BCOh$Zeflg`A=~P0EoW$Z}r>DmzKAV}4E6@Ya zOxl`1Z~NRl4!}g)0k!P_5eAOFJUk?Yq(gq-(RR^mitfnAi_3EL`rIl#D||i$S9V`d2sKZ_uY5RkjZrU z70Q--uowS3?-*eeV%(z45;#CL$^?c>6))=CUL2^UQ5;hq?9LQTsI3@Ncexw;Drf7~ zyJKTa?UL==bHBpecUjxEX*a2MDRM!tY9Wfyb=EW>0SR}*wp8wft z1u}QOnS@(f=5%_4nwplj*6xIC;I%nWE_cDtol@#FCAkESsys*Eh;Ct zVRShDQm!#!*RYFs?G*E$C#oQel?guKF|)HipKWcOz5WlWakP~=x5@~UE~ zph=WL*@FQ3tIeB+W@;-{)dUGy0SF4PggF6G8wzFbjHI%HJS%%IQcYw**-6>ZnXi0} zRdjU4Ym|R~brJsJ%`Yw*neK=8XjNoZ5jWbU=fm{+3m5lX6flJql^6F46WI~Ltc6*W zDB~#Bo>*EIb^^@6S{z<%rOG6wSA(vrpTx7zkq%R+Np?Z>vXJwc(~YQJ5mYe__PRmc zhi3jnrLQE3v$Dh_H$!|s?)DL~FR`ypzJ0`-`16t8dNeW%&OY9!w(iBF>!hKDOfXl6 zLhGE;Z6-C)u(0_X)GEd1HNZ9+Rg5)QIpDt!-rMms->2m$)0x z7@M9RGk(VOG_{8%EZmEjj@GuK%ulbaMa)-=RxW%i_VZ60D}@I~E02l}_MxMrc>il{ zEW1HPx%pJ{Ml&@(-%Ppj)mJyn6i&W{x{+$m=Tgxd;jrw0cR?LfZco{w1fgp9!K=(7 zcqLv-Vbv=Sz#?q%TGJhP2wPA!kh&)?Z%-3K{_Odr)IO3xnaka3mPFB> z(-X&kDNbRJWXAocc;!Qb$)JVYcDozWjuE>$5@2&p8137gHAWL?3;f^m%&bqUhoc$P}}rJf^AvUvI>tD&y@Wg+8kxq0n4j zQ63Xi2TNnhs__A1jMjGL5o*dFV?aW8Ww;I>RQI)IGM7&8{^ig8%AstdYT@W(7_ZhI z%EU`s9W2~>^2`SrrH|wOyY(bE`AKqPTJ#TSjyc;|#4XBpno;JDA$73hvyb1cL+)z% zAnV%fS~i!xcJ>;J`fqx9JJNLVlg~SX)8S^;8A;rd`es~-5vK+9fD$=ueO_^XzFWaN zjo9od*D1x=jdt7hwl~`>m)o}~zV$yfgbbZp&GsuIp<55_9^BG!!m!Qc?umIS8k7;n zBZQo5Q%a6^>g@{)ldPa0))m_PYhd zf_K?D@9~Jd|7^m2pazcP)2UE6*J^Xzk+%P&q?fQvfJv7sO@Z@2?ifP{;r<;PPQo=K zEk3})jqsiEB}}=&W+7S(HaU$Ia~v2y#d?KLq+;TRU}@IYosypw+s zz)l@$X6L+Fx6&)khdSljR&43dVL#b}d`ApMh-gEPy^mEL8c0TnsE~i)e_+ESi2a_8EhT)4#YCqH>lNAJScsjdhvn^BD^+xb6WaPI(ze+ zG+NKXOFVSIO8wV0=xKQvl5cP;XGyV^HMc(#(nh?&+BqWVy=A{vAd7xgC1$bNuzymM zxZ)v8rNpjeN8s%7nm<0f1-xUT;hTGJj_+_-oz7)!CUX^71sRWT(xDKVj4oN(TpeIc z@*RKH$o@4=)s$B(@rS|iJ=ol&8OQr&*_OhJbNEK&;%{v*GT8;`nTk%?7hI5;|3oUA~4%F)n8h-ZM?~rgbkx4u7+0a$V zON-q&kwoMJwp|{+6nup#MHR2YZZ(w|$;pW@(+a*-uK4`F(pO^Y?us%$U%j0a4HJsVg@xy+5s_?$g#_MV)!FNWWdCP*iJ zh-8{+Mj<{!82opZ!quxGNU!EnX8#Qe8GIB%|1Sj7h#)hEPfPU8n3x;zwxY}Dit58z#Gmq>;ZP2dGj~3vd1^d!S^2V?%gUE!-p>dv zP3ir~k`A3;0;lK;xnc^o#Yvg_$?5Xw^)8Q-yE(+VIN>herU@fs@vdFk_D1wh*m%)H z2G)D|>6Xiv|FF$gHUa(f)BC^eJgkd%?F#fvpp01IF05|?UNTYgts`Ib=Q&+L&p4n{ z*DIbdoG&J_glUeWc|D@8o`alW_N(40x-o3k>ByQl)Hh&)N_AFsk#T{H(^wL3g0^Qn zhkWBB_~Ppj_r&{%gf9%$zgt-nP;WjBoGviZS+kstpTT;X4TV5HzxsY*Qhh(Q`jdC0sm_ap(e>a~M+XL{+-eWX83m#P^P8OHX-B05?F$zki#pYqgKV4?(+( z?Z^3rzm_o5nbEgx4khkxGYYb+8xL#SEk5KQzpHX3r@%BgWj1;fkGCl*lAL@tY7qR^?1ea?zva^koDTx^mR{v`;BJI|~FR*gYp)|!F*Ego%$I|0*%fXtl+P?!9Y z2Y@2MBd#g$q>v~)na6&4W7&_}gchi771zJo`m6?-u(b=#X&k<8QBDAi_=os>14)tX zRdD5qE(b@-7us2SOpv6h+V3Z}oDO}#8vmUQUVhkt@ndHM4@tXcU}AkCZx zW#*X^}3?P=))i-Qz4*D}0H|HHQ^Txf$`!qxrg?CkSW6SEKF?$`S zm@^0MY|H3#@tjZ4-<3z*Dx=mQ%lN}x%@|9CLf(V?EofJez0biZkk||D2fT&73G*Ku zSsSb*XnG^DVRjsYiW-&>4-zF52YWm`p$PH~u47owru?TcP zM};*X0#==a=B9wDF&&g0Z(F=+(&NxyvMA;~9$s!kT-B%#^kra=Uw_>QbL0GL4@Mu1 zUV9!U6=ljrqNCG9*+rQhdceEIX6=>aXup}edGA#{k2)!T4gei-bwP}o5S+N0wWTPg zNJ~dayGR=~0+u$Wa zVIaWP>)C;TP$)mHimhrIn;xjYyY+0jvh9Q4NETDCqJ3#MzRSqtqCePW(@m%uJ1F5m z?^Rpq9Ea-TQ;y-!oSN(_xeT$G=`U&IsjNd}{{9n}oO|6NnN~+vxHq3Ej}&Aux&!PO zK`;B!!G8PWde6<{Py}5BOmxHj8LP*yjpr??P3avlgYH2z@N4_6Y&{TcrOAISZZG`H z<8Uiz4>@P}@MW@%Vv5ImnY(v-HX zH-*j)t(p6^{t#YCTd7mmZ7=*ipL)=NQ}LigfIJU_?|jDH(`mF0fKE_ks;1xodD zr^FTv$t(M~HfF2eIe_bu(P3$*7RHsM?|+W-OYUf!0(ssNf7~H(ZN>Zgi zZN>p~$u*PQN*d~oc0J9@?Iok{pLj=sB{+~ZmYo03_r+LK*)_QeYdY^V=tmkG$B7_o#2zz%yr8qg1rbPU1z z)Kht;q&DvSA_>>7|NJdGgd-b73}{!wvaVmR=0~f`;wRgY4w~jVylINmtzlm?&-cZI zOIyMl_I=cWp(`W^ZP@s){q zynl1ZP6qjGoci-rxnJ%dSfx>ua_s_nrzgapCH`VE>4WiYo7E-Dd!#fmNq;d-{!Vo< z5^aygUGv}_YKQkqO&cc(J9wT2WXl6g=jq##D6h|hSS7|vr$1WDsG~!TSi3KY>+|5A z9pVfma`Ch7MtP!>w#|fNA5D7se`Qsgj$gRjQLz z%A41KJOxup)IHx|A3QvHGNXr>?}Je{u(2;9g2+&=pS;2CU{+f8bHhQ%DBSrra}T~p zV|ef)bbW5Ng#S#gY*)6zJ9gW5dv2b6PQ^gs#POyZ?_`s9-7b|ys5_b7{VqMr0RuQG z=eaq*cs<MEr9446O_O4b=GQj#{kXL@CU+nTzm3r!2Mj?)|TBrUnBSCk&G5|QQSR|2&P&BNLz#cKg#tdBZ)cownW z@ZpK@0(j9*T;}UEIg3-8n)y9V%aUNys}hRjo&4>7Y}l8QtN3Gk9UEb0?%SqhpNOzp zUP>)He?;m$fid5E0$=Nhu(9VueNDMSnO_!Hhq7?}Wu0C~&WP_c^Kr)4~YhmnX^%mfefZ2C6l4# z5@I4bclhvrAq4wlx2?8HKUh@}2!2EKnvKDr!KlNiS+hOzsX#pr4NSK7R&i^Cl=zJs zEgy;MyZ(!A-U2gRPPWlh$`v$7eI7zYfzhCn1;mioHuT>VIyswQ^QZg;;!;@jw!|=+ zaARbQjfpW8vx=40AMnhsk#+?LkCUNVhRWYRcly1&+10I!cmIVp4{ol}5O-~}wK17G z9G^@$zqu9{4m;gn+tEqJ5xSu9mKv|@Weg**OCz=l0v4n^9iGqg%2l57%SLQ(UV_f-C3wU@(QNd{$xT&SEpDWgSU=V23&^IJ6eF z5oFOQN++wkqL@E8!At%^k5?FCObMpopmTRt$=BUt=VdT6=Os5 zZ9mcC?&83e&fvJgxEacWxVP)}%U{Bn+pEbM3AG7sWO>@!`z+`Vv0kM|kvK`BHu}zVN{$EPC{3c=M|OIL`PZ z!u&P=h;tPA$K&w;EqMLWLpgXG-1iZ^0B*GdVft&oj~+d@{tW@ISm2X~kG=NO4R~zb z_{R=*+nD1~U%iPU*RC+bDPUm}8#@o9^N0-5grAYTWx@+yEN8zo|o9fmi z_xEL}y`v`1r>{=<0o_+`m5C1@HXC7d_aLVCBatu>(Ir>OivT)$0tpk5Qvtd%IM6o7 z%_vtF+uI^BI=JJIystCYR^z7QzIF%4$n;T@gjw8o{?HHwm9@9gundwJ1U1Yic})i_ zL;o_U(+Mgil{d}bWUAD4Nm=GqeI{J}3-7$~?4=-_ef%vdBL8kt?Yzb@%3 zU7~*`$zewg5zN;$te}7BvTKp|qY(dpHr!&@5JA4dHcgyMU%71f3hwl5qw!>a*bKrn*rT$_S^4cBswgoL(`|CC^PsFB}!X>+#^`Wtd z@u~6ZQd1)-L~78c^ZfVfU>#iQ!1bVCs@m=&l1OY?mz}VAJK%FoErdL;aP1Tp3LknQ z+XU9mXvLt0JUZ@HOIB& zoAjC{^pxNh{wz9!@@I23h;*;Fw;j&~o}-dp{f}N_*{!VagoG|iRlA%rNAs5i`8Ha_wHv!o@sRF3N1>cp7Sldl7Avtr9*Dt8;IJUzgTFUNd&`eF=&Rjbnk0J0}a{qBJI>h$vB=;kCuS{(YwejcSYQoJ`V&?2iHIUoK z`Onhe)3xnK%nSOzcJ!@swKKIhXE@@xZ6j*S?OW+Jn&l*~B}Ss0SQ?G99`4-IHdb@3 z&&^+@qv&%_YkhCda0wpkw1O|`dhh4^L_Qsj9LW2@oq2ZRapzpG$IqTJXDT@xawwQR z=6}?Qf_B`Vt*xATM%~H+t1&xjBLnna8?~~RpXc^)3k7+L4anHQy=xoU+EL7G?I>ot zc5Lp0<9u+ObD4lHY@iDp=qh+Pf$G;uVfV%osSykBdayU39xT>vc?b&7_c<60_0jwH zRi{Q0A%bY7a24zvS9XaDD$rLg6*s_jk1v{&_&M4*KEu#akaY0b*j(OLcCWCD?Z0=V$!H z?E$?O8B(NoP*)vK;|x4CEI>IU${C4v%OE$G0zvIv`-kjT;?c|) z{1tx{7{?a=ZvB1=^1XLpmKsdkpgXq)@47MOX!Y|BH{W+3ck}G=+t2s!e?%@sp|z7=F4?a zG9ec^S$YPWoO}&SiAFL*kSWHgb5?8{TCZ0>rjBz=XHpz+7-vVk^B}wCn*4i_BGu^J zv(2=~(`~x-nByBRW)=tv)Y9Bh#wiL=@%tYVk$v6XbG<5h7K$3_YVR)a>N!6&ROjg( zhAt`-aYAN#5YY@mf#Ql$t(a)Xh-nxntKn0Wuv!Vh_3qZaBfAmaG@It@8m8;q?t=B( zWbTG+?(OF{jN_owKv(l}ygrAI>)DdFxc&=GRHFVP^z{e!@H51rm^7IX7)6C??z<(D zM*z+*D$|M-nQkSc2vEdg4jR+=UKnN-rQHxOyW047{G`guiKk`lNOjP z*SXM*?}Qck;}F_S+qr*$`>IVF`ckRoEv)zf^}MDEs*p9dwl9Px)OeEfb^U$^$@V&2 zu#)PovOO+xbl<3k2_6J%}l?~k)*J#qRw0Fw~oqtLV_rybj2 zWx30_LHfmlLY}^!lm;#uRDk1&u_ww@^{}}v>(66Mw9VDUp~E3w6KrBcH-v?~?8^5dYXx+FJG^<5tmUvq`1 z$I`(c!3SFfR4b~4E?dlj1X2?P;fgtjPAs;`P~Ci#D5p@DQ%@RXB*t|kLyem9S8>%Y zQ@RUAj8pZgj!Ym-&<0ty3z%MY4mT6O>=0CDE2A767oS z@@{=A<9n=!)EsMff)r5Wf*t%AckXl@{2c3=W>^odkk9ad-;O;bqexmoe0{l%%cTm} zSeoT77-p}7+i@Vh4yesqC|s=cj`6i^^Q1PS;izmBW+4h5(MqWWmGinuEuTxyCD+gS za%vGWFL4CguunNNsw=;)7d7NFoggEpBFRpt^{?_w4c z4(v#-ZHS-5XIO>M9Ujg<3j<;!)i1_E56Ld@!H1l#O>F&lYwa zue%(f!&V5irg%)uNe^zjT*kOnUWp2*6^2#AW7v4TPTsgId+cH~{_f1p{+WX7byh7* zweqhP)Y`9B1FW*tSyCX)HsP@+*}6t*Vq*u>tyB@#f#y}UtH2K#d34<3>9L0bUBW33 z+%cxIq<>@yH1q2O@6*NO>^rnwKe^72E>*{{CT#Giyn-&pe5hs==8YT;aaz!iE`iVr zs9_y@SWzbBL773<%TQnI_DYt?A2tpVZS3G)?OQZo)Jm<%Ru&^|Y$biDAsfQ;09glu zdzLapJbQ2Y6ysnPl@i8`cR0PgVQxq?kPEqx~`EROa!S_f0o4gR2;i{-+uCbXK|8@&=oS5 zKJ&IDnJC2XTg)zDTklhV*{DjM^?CHOFVDkvrbR#yLE%03KKDnDap#fcLA1o&{pxl6 z`|uUQNi7cSbAD5%xvfboI@_O%+N|--WWM(C zjg9NZc>6>Au07jrq9xompMlI(+j|20wr`UCAINT?B4O&nFiN3_5R854S~V(zMoMX) z3Dem>mVC5UgKB%gU3mCM@(cZqR@I%p(9e`pPg}jItg$ZjsSjQHSAF*3KVBT~R*RZ$ zdi5!Y4SQnseFKD~$)>SS92wQ&!}LbX%Lds8W?p-QY0S?~tC5C7B_44#QUYpt; zyZ^zf^o+Pm2jo|s!cAfglSu!%O@|h0S~YVNlGKxP=dq9WU4-HE%@d3TU#4vcm`$N~ zj+^@#BQs~l?nF1<%_itCh~p{+J-e7|{-{&^k*&Z?g-r4^UR5n#x2d;bFNP=y@qd61 zxI~Ii4~o7bEgBm!_~UDlR$DmptH%DS@&PKXr5^;BtvB(!;l3<& zhE-xO>c%hnNgp9^G~A6yL%d`iJBB^HjLRBRjNUM2KwW)oJTT+fK&L@71%{Z_6uY&O zPHjG*sD>V_iPJ(!rT9BfB;mv8Ea!wILWb0V#m6!1OLa%l#1hDf2qQvp?&>8+IDaF4 zU1VCn$3~d%v5ybmVm_1O$JCE#&pq{l1G5IrriHw=(DPEyUU6yL+B<#fflfUzX{{f1 zfjxF(ngm3o!_p?fXmrOX@zBY_D+yIehP0_OqbTf5}R1%j0Mi` zTb>(*UC_U={Q%p6%aWtuER7G*oysCb0#mqc{m{V06fs3EGq3=-uT(4e75g&*X0?U?< zV2zl78PxANi%WRj@DL>kzIltsD=eH5vzZK==}phiuWC7Nrpxb1nIXTwlp=~bhVQ9F z7c350jIyN|7;9Fg0BC5%KuTl4v3(-iU`vyrA=^p_OHg9*`HrW2se^!!V=S82CcW0$ zySl4VbT9PURv9q<)*ChxcbRWR#&M$wB(auGHX#*0R79S`M0zK7AAw~%?zCx$9Qg@lFX%2XIMHpB-68%jO_-9Zu(ktWFK)6#>j_e&7P7c%Jc zQ(iK)Q1;wh5;Pv`2i0v7p=Z_3*dX@%V4BPnVD{p-q0mf-@y5d*nuMj0=_?Euy)V_k3O?xuDDL=#HfOs{%Q1fY*?SATU*<l zArRoImL*$s1H4V9Ub60jBP-%-JMFMr-Nk%< zAP4LK-MOY+AbI~vtSdstJzE}PQO>P`?Sn-rm1Hw_MD`D%Q_ZP~Vr1%0+W|)0yb56A zGmvV0aU)Q*S$`odY;@Jt2{MlN7-gE5p3-tq95<0vR00t@Jc(SZOkr9P{ySME&aqc&%6P`lAc00$po2d@#^5AN+8W<#P z(mrZ}Xsa!-+tF#qiDkvI;dBh$<8$CysORZ;{p)>Hg>VhS2g$u`oEU_Yx=3DqlGL1p zK?pxp?Ng`Y@%4c;o1C6)5^(edOF^euWN0TP3z$+URrpAGCtI?3_s&b0h@jMxoQT`R!2LM50^rpHQF!f7pd}E0naiT^RsxXu#!W&i!ArOH3 z>iI(M89zy#t(<5CMd;>ov{g%=IU!TdL0ok{tphw23>!t4SU1ELf)!mku9TR{bD1_= z;!@9=U8c;alqVCMA+sp>dWP5!)=PuK@2K%l7Ot4WfgP`|zlhtI2aVK)FQ`zZcS7Kj`R|OAg48Zs17z z?J3J+dNp0cOo3??V1}YgN_n$zwY=_R;S!JmBYHeN@UY_Ulg$Sz)%MfeakG_Jy68rQ z<5%FScXL5&w!>FS2AA;}z;4|!Z>SNw3rpjbn__l>g5Y341rH0}I*I+hGT+HUFTQI1#?#SldH zlo+5(+X+gP8n6&ghy4&*qpJ`2LdyH+l)t2mao4xZa&_oi`&e=(CLkt>K8H9Q0}g;= zV%CMa$KVKKFze*(rOI&v<3vnIma|n4tVM~CBoHKKVeX!`5Fgh^HCrJ9~A+Z`h zLo{);g!8~De41w`IkE4NoW$E#N~?y6fbDiCw!=F--{IhJgyGQHY;BT`i}xq0#X7#4 zO!;lS2U*|Mwv*0NkPgMr2#n_FEA2I9hQ@$&R0iLc48Evuk6YX+z~DvK3)N1DsBd*L zck=@Dc5z%OWKFB}&1oc+TeDDU(P+KICF)+c(*y_Bugvcg1AuP9-}q>mgO(J8_FVzN zZ^CIg5QNrkfC6-;C@f_ILn*f4RnTEs#Y!n&QnrKHF$tqg5546;J~l zKvMEJjPx)bLMN+J^-gMF30{+ou7E#avK;E)E)!c}ThB$8AKQCQ2%tc+$s z8|d4TLV*dCnwb*gl}zyj36QkI=@rVX&oe|HHt2nuy)NR43v0Noo%?<9Z$$G=3vk59zGi%ck~c}#f8|)jnArgma4pFP zHYISA!RbT|-lH<+acm3LNp;Op9G&10`=YE4_6DMj6A&Pw)WCq-j0LsI+6+u1ni-cl znx^V}(DXaY_qtOT2fK0T`WO}>z*m*FT2MF1;^G#!!qJQXCTIGWxj7 z5MQQ!)sLdx$jD>JvC-T&3p?njZK*hG{;sk4i#F^7?*^eA?| z)6akK#@^zg;G}6ZpVzRjd&k;%dOW?>|IU3Iw_f{sAVa#4wgbS}cC+;cfXv_MgcgOa0El5flL5(c!EJu64F+< zTnfpT1&8p%qLpyOQCdm~Ndx|Z8cCouL{&$yHHLGnjFtr<5P-XQpL1sA)ysN;F+o^2 z>ee}!hSfy;4c1ZadZk=qc_Ftv!c-zm%UoOwI3*shc)DsD@d4?=X*gQPQ{v(LqByX` zy-YXTB&WCbr+7U$kWy%(sTHoALEtg5o-sOLXHQS-(G~jZN4EjHo?E z8uZl&6F4lZvTL8jAQI`d(Zh{Vy>7zp(P_^app}sn3hhAXWNoU+5WCZ|;17#n-!dVI zbUe;m>S@q)Op?GNrwq^vXckU#Y{<%~<9|XR2)Cq6#t-S79M`n945vYT&JfbU$8PjF zocqb-DRsBTDR-v8B`zr$!YQAQIU~Qmj8?O){{nGfwS|SdDZ|B+c#(WT%Q_=o^~w8n+kBEJ)5E=Mi5lBdiGe_P7n|@LOfPh z)nsZK<0gMle^6Y7y{YG*3AOI0a^cmHlsIL8RzM-ZCkuh25s-pJqGEQ^V0=)$&T5GH zkoO9Ne3Ox8gH`JXkwW;u({hPY!zXNc(aPA$c!{Ch~vS(ZcR< zDoFntSCn&dx(1)7<=HJsx>PfLPa^cA$E5C}lk5?K@|B+OVUvU#ZK zk{K9<3q=-41y>s+i3o*25LOkCFFVGA5#sQ9KkF4o;w!=TU-3d(U0YZ9)Wr5H!g`=E+SqCvv+L~D_LiYL z>V)Gf97o5N;|X^@4?Ay9mHY^)@i#*abVBoHzlBa1gnqS&S)bSUp;u(905p#HH2_eH zc63x=&_frw9&iy{a3PnrP34XCW)HG{>*0gAzSg|^^IDb^P9H}-Fk53tIy6lrrGXtL zcM^=mTFye1KX*u08i(XYA3|lRJ(Dt&8V2R(I)a3N32h841s{eBtb1n$n4ItAoZDh< zYmDM{HWH5g@S5q;3^jq^o%r^3Cj`vRxhJ8Sw-!&(Oo2Qnpnk?2CVFn0Q>btJl;)@j z%+44L>`-C%fqi~kT#ZQ(Un!R^MYSy`1#aoZ{Y9Aw{0 z2uA4VLN8~ClUc4-6hf7pPJtk^$s_@4jph#skR)V|35MLLzO{Mofl+>*UWL} zuIqT0K#S{`8z(->p#1x*RxxG8Eo<)5!(iz&UKUm=tGts%DWd5L{BDwjaca|Ui>4x0 z#7GWVTb@8$t-lDl8jXB$f&}nGC)Y6CclMxI`zZe&rN1VGQ{E$RF~@OM=ZB`+?wa=c z%lUo*EnX9XGXV*((d3uF5Nq{az*#!&0?RQY%WRh|8`dQ?MM#Afc~1>ZFv}xJ=S%9s zK+H`~wTBF4&3!SBtJh)lBV_@-v^m%XSdJZbIqKUgE%(J`N59@#F`$;LIq2UR{ulogQqL3<#?ORMwGZ+#c6{2u@}B7-eFmj+Qsvm@U71xu zJEtTQwE-V(?4U!(yrT>v^b$`Yadq9=u^g(B=F(nYGTOi*Upv)YXSjaczH+Pnq#adI zH^1AuE|!=!ewA~*(+d^q^qahvw#7>+V)?}FksLwDU}ZlmKjGQdVcwI7dt;J4)LL>e z-}WQsCqP*m-uyBO^TB@In@KL=KYgNlec{i$$QDx~LkE2UVlXzM)4+D8bSYCdJL3C#Z{WFhoC6CQI5n-Zof+H*~`^EIPh< z?R7Ezk77>G78eN}-Y}#4zm3F9Ze^2zA9Z-k%!pwU$zGN(9<}N;vuY(`t-671d^dSf zJSP0W2S+HbYihAfk+&Z=oqQ!LeK%JvR}+NXVhRd zFHaRg4=!R|B(2|N90BbDc24DwAV(t@VO{&-m+u0u)txQb`$i^QWFLOX1bTWQgN|lx ziGjXoQXgz^NIZvDUv@V?E8(Pmtl>@cIRH_bN(n8wk`FCq6h%PDd&wx<#-m^Ei*Y(~ z(glC_ZVZ!g@T9rFS>)#n-qT!l*2W!JVdJ$`Qqan< z85_7{4!V0k-_N}a8xcIH2TDNX&vng%NFh}I&d;bKsa$fD{-y#5vO|F7CqdLe&mhZZ zwG@xd2g8zj7+u^UpH>B*drq_5=8K^XKj} zf9A8_;@RK!_@1Bf?4Od2!!GT8@SMv=EVNmL1q;F=&|cn(^9OJ~|1NsX!sFMS5ic;8 z(u)L0sH(zi?xUh*_kaTJT_#I1SaH#@ej85c~0* zCEBd^v%2j8lbTeE1S?hHL-yd(&BU_cJvLV3+OU+FOxRYIq1S%Ww7dlX0`B1zk#LNL4D%S%6q|$#M3kFz;n7Ii$Q%$ z+-NIlNv$D}_u#!(*1@um(qI!w%^>2L$E-b9V>)-*`9LO0d>77}EqEtv!YPJysrBaE z=Ig1vig>9cBp46Y3yW|k1^GL9Pt`oG{y*B#%?aaSj5YKRF*S{pAuJwhD19_m~o#_jM(IPZKVnhaSl zpKDfTDZ16Xbw;LqwLU*|)qdA-%thyI?+WPgcKppvQe&VmE_KDU64@A6yD*-I5coya zoU)9M<;<8^$tLEBUCwIWJysdWgihjD3XA&{h{%{h32^ZoxJuA8oy~)XI0YlhE5aq2 z%T3xu=8+`qnMJ$3P__Bj41*zIb}s24u+#8xDEg%_A zE(Z0CMvi<9n$|8@+err|r07aOAkd;s($4lQ6sqcru^4d$P0Lkj5M}D*i5!d?wT1v9 zNeSw})$X~Bq3y)}y_rA=3DsL_bm}8a<_>)c9H9~KSEmyd4#Q>di-ENZ1>fTb@;39=iIF~nb zPx7Gnt)W5kJj+8!40?$@;d08a*p^Z>er27mdNBO+Lg5dWLmVvBSN~6Bxe522n7kBk43qGvIS??r7Yc;@ zuS-`j>>Z=|7{P+!!xx!*}=qY)v$B#s~8sf{eeOU>NN)LO8Z2d<3cB$S)=f7RVFY~R9cr{+7W-3_O_Cw;T z+eguf3oq8IkxHfc zzAtrorT63Gij~tFY9!U9&-`m2{dUM~>W!`CSkaksTYcv|7f&}iVd z)Rijm{Cs>X9d5x<9vRZKVB}* zIOl-t#*L8&y7}(~dXMKH(?<^e8e?h(_oY>0d7zQ&`FWoX=KJDn@+ z{~3*AwELn&S%&{(X;O>OooP4qQ}6xp1iv?4;Kh5RXYl5KI)9TiWvrzjkl^dV@Debh zs3$vz7n88N`~1T$cBV7h)LyV*j-gQF1kE(0@WX(*e!1&evb>YjZQI3d#P&*8M)){+ zspZ|Q^;8<~tPlBomwVguP#r2Gk#_aj8lK1ve&*D;dwO|Zc>6iqgm9`)xm@#8HZVEN zzs;KF{Qy2L5$P%YQ_Wk-+fm(J6qF%XnDM{+0-C7BXiKt65UakBJa*Tv!}(;4ucgjG zyL}GlY>A{Q8>vlq6t$Pqc|;_=1!09q%_O8a)!H!#y|Vdw`QenuInj~k2f5gg0gH<-<5!&1+2P_eW<;L+v)F6EX+k2PzbXJ{|!h8 znNO-KR#jcT&$iA$Xj>WYNql{Q0> z2lJ4QHYNU_yH%?tkiqD=`j5L*QZFQQ7ZvBOsYpu$#Dq#P$gC0zqNUlvP%WX>R}=4@ zRhjpdV3cF`1KNzXRY+iep-v1=Z5QkL?gGNFAgYG#!YFf>*%wB4a<^)wxo#H~ll8CW zJK3J9l{)?;QV8h5>BlVZOuy`fi~0gtv2palZgR9I$;{WVsMcS=j_BE3-MzY8;L4nK z8F?l`eJw8UkW2wt4wNMvJwvPVegNgeKbPNj3~5@r(vwaBD*nRc=*fIx!y;#2ChPQ@Nzi$n{ z881_BCSV7GXr~65mEGYnE6Z9Iw9De@V=6|ore_1ykVs+3u z>mNU(Aj(^kMzY|H+-DG24j={F^88WXdo&jT=Ifd2eflU4pDq#N3~pJddhA_CsbE@Cf0V$hR$ZHw#!#7}`E z=ip>Tyi+^iInqJf2172PX9|0c&x48MqtOQ(RGygCCJ+XM6N6e~7X=6~U_gEb6zSl? z$15CJ+%MU?Tn32KEMVKDBzfEz)J~ZWq`VVO9Lwq?yq%hb4zw8%pf=qSM|rU*@j`!w zX0FFmRlA1SHv&|dqotJ&Sl=_ytwXJDB%bSfh+#fuZX(rTTjcS#2I}i>Ga5;}rm>+z zeC5306{OKPNUr!`;3vN7knWVUd7q*=n2m!&QVh1Z@fdYJe=UBdEpP({&OEVD2$3vB&}rn>%rdG zUqZ{u7^5UVe0jHC0H~fx#OZ*OfvK7Xyd+7j(t>tL4l*qS-Z&;ozh8e5cYXv^=}&)m zJ8GQCzhlIpS->AYw&-`<#`V)bq2^Bo!H3P0_W2H+zyJaBLkkVy^y(p9SKb}+^}e?^ zG?vfd+?D)K``NT4a@7Vcfifg=BPi~0C6PadV#w&JUlU#Wtz?6iuONJGH$pW@Jm!Ysz;wbd{dB?%Tp8Y^tZ7DTMm+H~Ve8;_vZ*Rbb4jb6X@quu5k< zYCyn0I?~w&t~y=Hm%7jES+oo)-;U`aHkQ@S7ivjPqG@`I9Llxf6Rm%CT3K?9sM+CE zA%(pqwuIloY_}7@vjW0f5wLW?(z(sHR?Xc~-O2JW%%^x;55C$DLI(+~;iAO=O`T;_ z6x5!1_4v}UghDLGdbm$m597;L|>F(|lhVBkQRB~vfI|ZaeU_jt<@BhPnKb_~S zb=KPZti8_pw4eRU=CdG?;^y!((AT@pOBOY%o`KGpfAy@S7uQSk&9PQ+fY~aPI=_KQ zu4-9CmJ$Jly~^*@-%I2*7N~!ECr||} zK+{}PXdJbC_2RtWI2qb{m9NRMAnIa>pIfY8a!vhw*b|%!ia&})@akJW0x@A&^Y0Fk zbyObTdF+O;y|Rcc5cl!2y*cQWB%dJ#<)SxWRv};F>A|RDh!#jXdSpV0H!t0ND@(?v zSC}5s`DWPos1i`u=lxX&gvJ$nC@W<1Fv&z+Ga~5*JU1MU>K0djXtRZ#TX4)>eUjt? z+P;c}w@AwQonso6V(EIwbl$5&a=XD{t_LgzMsvqRP}nPVjMH%0*D()BFm(Hg8N$t4^L9Q) z!P;UmZNtL(SBMm|8q*HEP1j=L51e*$t;C2gFXIxx(WrLHK+OnU1l#ai< zhXuSgt_o+UkkVs6f}d5Nb${qJg!`hwPaMpG0n}`0u}LPiK&HLe@!P#?eO${lk?`6& z7I&`d?eirmq&;Pp?aIKV;?Ppbh`nb%F{!+VTi4W(kwIQ&>F;Hg!s#|=-0VTQI=%4= zxk3%ot(X~mt=Dn6uZws3EY@-I?eO@51eIBVVJHYGx1TICMsb{b%D-Ln6eIdLF7rLz z(JyK>TSInwz+(m&2d0WsEwvL~vSQ|iv!&s6H%g#E>##@-HghCb!w>e*zdkHUf+ox$ zzTYuXC8V!=N04F5Dse>JW&hYxk)BIQ|8n$M+qFLfu@w|e57sf)YnoD*KGyfTO`pD$ zui1FFD#>rPxD5C#1=dU%FHbqbog+J-u*olyV=Cg98$U}x)>#;6-kP)kD{}766DCq~jFbi5=yu9Imng)@%|D*;}3y{&Uw}1TB*dcqK7yD$D ze(}z^TOECv8ZH@j$~r_uBjc*B(Hcl?{IjxPy#7*xsReGn@9zWA7+jSadbZTs9t2G8 z>Na^i7k*=Gwo|n|B`8GCKqZ0h=l(^z&K*p%xqM&fEDn52amB_MZx_-?q_4XTqP{#* zZ2B;RbJMnBp^3~fIJCxJo@d{FI)83l)tnliE%fe%MpfoFgDiScjnAKW4$CKr<0q2y zuVLf=@O5d);b=|F6+j?5+VbZnJ{VI51*ewm$Vr3n_&9x0o*sUprQ8g;YO$xQe_-D; zQ|8%o_irelx~3C#gS_|7yRTubqlXwVOp1(vR>w?S(kWQV>CKJhDdPRO&?<8eUY8Y~ zX9zgOLIoHTSGBm|n3Cd2tL0UJY8-2ZX;zM?Tx*3Pm3eu(LW8a;vtL?Gv<7DTj+fnu zLqG`V=m{kblf#|c>_0HhYw7@H4r%ePtLAF*5^{pe;*ul4HWf_DJ%RagA!B(JUcayB z6k|lnhCVIRhD4gH=+}cx-n)d@%4{9Lg7)`~DoX6(oN0s!B>+(z_&Or_oG|vH@^YlkYcKm+gIjh7zGp|7Zv5BR%(@1czC~F~$RQD3==lW#fR-{k=#`G`9<^5FWc)z493dK*>##-E#_=Hyt ztKc!DtlIv4D`wwr!ULXa*ky)>(ykXqyn`gG7+pmHcWwoB7MTM|rvh1V`oD1?N*8dd z1^6iu4tnm#7+Oi`P1+{EL|$DO=BC?df);U<^i*^!V%zWbq2ud%+{)C&ub!!(5k4y# zgy0j=BKG$N?bhEC6(j-F!GTEXT7}VsIKr(Hu^Z_nT{i(Cqw3uBt*IVBgmTJDJHi0; z=WlReEu2^c_(vfs!E&0GMoV1!(I?yANVNZXJfxn@qb%hmN2f{js$>g~i=9(7P?oQV ztN%hfglI&HKKGigKhX5<^um0NPSrc_U0}1WY~JSh2TNAqVkLthti;*)l{?u4lMfS;b%jsiiwDW+)F(=4kL=p2Qn6`|0w))I zzY@+c+Jtqf43_n8MX&f_S#G@Ic^zLSL4k=SoH$Xd1V(EwH9A_22JcSKaGCI*rga;o z@WjYT47dnia#tR%mcR>|Rj(2Dc!*GbWQuEQhAhA<)Q{uCX!u955Cj+A)=m($L9Zj0 zZUV-}#(US1S9|vBI6VkWZ_aR{|4Wps(ODG@}i>gt1B+osf3#*KMO-6t~Uu(9s`2^z>vS$ z+-L2@v}ka>z(U?JOpQ1QJs4JuO$H^l^9L;->5mAVhSaxW)ftjrJH~_J+r6C@`T!l0ZIhbr>|WZx}|FVo^e<_@<PMg0hkQ6Nj-WTySjitvW5LvJ*uDMzNh-5QYiY$eP4}biOz#p6QKpTd2%Z zN;K`7%gA1JScFD_%%x^`yd?ITQ8*^v!IkP*Lm>|?Y5TK${O; z!%f*h&kMBycf;oAYwvwMAA$ME7x#TnE4l=WPrYqG6kHM+R~05_v)b~A9{9*!y8dN{ zm)LJJO*2e}fBbiL)dn{X_oR+JMvei$_C=f>5qc*feB?Ni>=)CAjH|x*W(UvgWVHf( z8t_3n`2@lJ5#A@fbjjUq(>CO}heB-^+AVA6UeG<7ln}q7fXPt?C#YL;^9LxhIkGrO zmJGpnPq)Wb_E=D;Kkk~3r;FRcHoRs0@?Eqxbehk7AA)g3hHAkvDzU^4OGiasDK7GGl>gGg$5JQ%}@~)^T(Y^Vz z)@r>b$(7CX+eD{)NKLmJ%))X1fJm*?SGc?E_)trZ7#E- zXw9g^eCZTgb54c#kt-hH>D$Q@=SNrwRx+@u$0@H_&_!JQw zL`sW|&j1hckYNkAcF7(lvcBo3f_a*nsEVwPFnC%^TuokgNU>JA$xuBVifU3x?Z#y1 z9z2vmDQSr`{_U4ZDjq@&rsN?quDEft#s%p9#BIF{rij1*Wj;8j{zZ z2rc3Z#~}nEV7aptsu>O}uYJ7Gw!Z9^x`O{3hi394fokk6{0p3FI74}$no{O^Cn-&e zysSm@1@2mN7rRpWJ&~f*q|-R)rzXKtz9jPFq%8Ils*8qMONLRnn+VXSpyxCPmyV#;vq<^$C_%`u5Bl zp8f*5`dJjOTVR0w`(2I2h0z1nr zAFJqfOr_pu_Nqums==~EXa_2YyR!7K)0H#lQzWv-=pkjQFYqnjB2Zpag&^yKgT9T# zXC*QSkdGRZ)lV-Qx6m&Kw`4lIY?&=iZn?I1(p5;r$L$}AI6&9s@hJq2fEG3pW%Lw+ z7JBQOfBR;Foqp_dR+SySnG~097Ws5|%KCZyl-iuA0+hGVC9k%YKa;+5R-6<#aZQr~ zK?)Va6{Sg0u!vu!x-gUL{EEwrLizt%=|6h-KbrGDy5c_?N|vjh8ES(D%G4YP)7Iwo zr3l0!tt^)xtwtfXF;--^6M5eAY4h56KCg)O#B8U&(Rcqls|K|AjS(qO6dSX8)LFGM zZK}s8DjA?WDKRo=;?(v8L{5eaEcweE-1i&$(TnMtPE&?xp+zUbh5wg&T6vW7ORstH z^@Fc9tGrzkeGzMUHnr;H61D+V?pLswsl5Jwc`o<$d9V>$i2lShb67`YuDd#xA0e)_ zv7+3pJF5-W+tB~%E2^yj-KiUV+HBwMTmA3>GnC=-B9t2^F`WGkUckG0xdg+OaI{|j z=JR-b{$sV|_{WyEM+ok=>}O7+Q^oBKCtiGsrntJ6^3hFMs%Aq!M`-%62umALunfza zXA%e{mnm1Q?7!&glM?e6zv$Zr{9CvQICS}pN zoJhualcq7sfDGS46wG$p{L-a%4~Z7zJ=4F9q-o`f2k4LH*2m=F*JJ7#WS`+V&EwV% z3|)WwQDBCY-}ov*J^t&D_9EF<$tt7^KG95#Z@O9NgPvYjG%8W7Cm}L(DAv4;xXc4M zSXx$}jA93!^p2UYW>lh=A-s328r|=zXK?$jF8*~IF30E<^uSL4T`dA`ud7kFWw|O# ztIAz^2Io$>oP1r$-`QQ1WFq;B_n zQP%YgoU4z2n2Kq^!i$Zs z%u>5ud{pjwA3P%9x%r)6J-|tbqfH}L>g0^d*7>n3hPm93aB4I5lX5y{3BHf=A_FJQ zxuVKJVtU|5B{l>R8Si=M#mAM14j&S5a0K9Ptp^5iF-0l>v}=vojjCS2Jz=;PS8Nm- zXs^$SR$Y!dTpu>qQJbc2Nkl%atl3ciXuhhn1_wJgbrw-~f|yqSb#72x(wlsRHMqy6 zt9}q>eSSZo3L{C;mDB(?G!P>)dWrCF7IQjf_5Jq)hgW7maHgjvZ**UC_<2A=XNMd_ z$k$DHNA1M$*vB+w1S#~LDmmVp)x%D_apliJA7Xas6U1(qRVhTGyElUGdNr!3^@Vu^ z#DZ>kt^Lo6Uqk-zIx?8s#&mNQ!MQV;xThROfr6^FqVaB!e12Y-J^^V;WJq54v(p`d z{%4G;bunBA)5i0GgD6;C@LT?>`3`OgKX#sou6QeIXkbn<2=Vp6oHZqB0?FXCurZYriLVkd{B4ZbM} z;pa-zJ52`?11Ra_=l`R`4nN0$qKR&WZZHt#`HJk(2uQKykiKt|DI1~ zW<$i#eF=*mBH;4n$d7H8FLE+9N$Rg4zTeus7WRk&PgR%CPhG*sfxo1XRIeDdQ1rSy zV^WuVSdkNEvj2n&Qg+q58I$pCm4K|JmkcSFlT~-MJfhVa)|;Vydz~FZE8@8xC9>4E zbae3r8r^8IHo?5UO-`nBoZ77t_=|&5q5S(@{-KN18%TbT>xa|Fp8XfW6pIRf@>2e| zf|-apzSYXRM&$4pSj2Glb0s)7jCo2NHOD||d^!^yJr|&qT}x^&i7erA8@yd2v{y#- zm_-qeV}o=oqL#tTVBL=66plbWP4P5xBt;|jFL^BqWIp5Eds?lR=(He}lHk}k>D`*O z3nTzrKQ**V5GYh)u|xel{5UvVc94Xiyv>#JLn??yD79LcjEgd`(Nx!dLUru|p z9B_1P`msv048Odofn&ur3_4Q=XsPSbXx$YreLH3(^uAK)g&0R@-iEh5O|p6uBu1eP zdLg0uIb080#$hSWuW||I{lDdx_Kb4V#!i|g(z#)T(wd5a%P1IbKu4f=@j&Z^Ykvd-DO)P@0&wR%1lEOI9+)6iAH&dy9G8D?CMbp)LKyL h)RY>xr~@;IzM)sM8y}^RnqpM96uP}Y+@PVL{2!bghl~IK diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx new file mode 100644 index 000000000..18a447e22 --- /dev/null +++ b/src/app/about/page.tsx @@ -0,0 +1,17 @@ +import { PageStub } from '@/components/PageStub' + +export default function AboutPage() { + return ( + + ) +} diff --git a/src/pages/api/ai/generateTxSummary.ts b/src/app/api/ai/generateTxSummary/route.ts similarity index 80% rename from src/pages/api/ai/generateTxSummary.ts rename to src/app/api/ai/generateTxSummary/route.ts index 1dbf10679..342bc929a 100644 --- a/src/pages/api/ai/generateTxSummary.ts +++ b/src/app/api/ai/generateTxSummary/route.ts @@ -12,11 +12,12 @@ import type { DecodedEscrowData } from '@buildeross/utils/escrow' import { formatBpsValue, formatTokenValue } from '@buildeross/utils/formatArgs' import { walletSnippet } from '@buildeross/utils/helpers' import { generateText } from 'ai' -import { NextApiRequest, NextApiResponse } from 'next' -import { getRedisConnection } from 'src/services/redisConnection' -import { withRateLimit } from 'src/utils/api/rateLimit' +import { NextResponse } from 'next/server' import { keccak256, toHex } from 'viem' +import { getRedisConnection } from '@/services/redisConnection' +import { withRateLimit } from '@/utils/api/rateLimit' + const AI_MODEL = process.env.AI_MODEL || 'openai/gpt-4-turbo' type RequestBody = { @@ -37,10 +38,6 @@ const getCacheKey = (data: RequestBody, model: string) => { return `ai:txSummary:${hash}` } -/** - * Recursively traverses transaction arguments and formats - * token-related fields or BPS percentage fields. - */ export const formatAmounts = ({ transaction, tokenMetadata, @@ -152,7 +149,7 @@ Writing Rules: --- DAO Contracts and Roles: -Token (${walletSnippet(addresses.token)}) — Governance NFTs +Token (${walletSnippet(addresses.token)}) — Governance NFTs Governor (${walletSnippet(addresses.governor)}) — Proposal management and transaction scheduling Treasury (${walletSnippet(addresses.treasury)}) — Treasury and transaction execution Metadata (${walletSnippet(addresses.metadata)}) — Artwork generation and rendering @@ -162,30 +159,30 @@ Auction (${walletSnippet(addresses.auction)}) — Auction operations Output Examples (for style and brevity; not related to this transaction): -Example 1 — Minting Governance NFTs -mintBatchTo (DAO token contract); amount = 2; recipient = 0x2feb...AEd6a +Example 1 — Minting Governance NFTs +mintBatchTo (DAO token contract); amount = 2; recipient = 0x2feb...AEd6a Mints 2 governance NFTs to the address 0x2feb...AEd6a. -Example 1a — Singular NFT Mint -mintTo (DAO token contract); amount = 1; recipient = 0x1111...1111 +Example 1a — Singular NFT Mint +mintTo (DAO token contract); amount = 1; recipient = 0x1111...1111 Mints 1 governance NFT to the address 0x1111...1111. -Example 2 — Treasury Token Transfer -transfer (DAO treasury contract); to = 0xE5f6...8bEb; value = 780 USDC +Example 2 — Treasury Token Transfer +transfer (DAO treasury contract); to = 0xE5f6...8bEb; value = 780 USDC Transfers 780 USDC from the DAO's treasury to the address 0xE5f6...8bEb. -Example 3 — Approving Token Spend -approve (USDC token contract); spender = 0xA0b8...0ce3; value = 1,000 DAI +Example 3 — Approving Token Spend +approve (USDC token contract); spender = 0xA0b8...0ce3; value = 1,000 DAI Approves address 0xA0b8...0ce3 to spend up to 1,000 DAI tokens. -Example 4 — Unclear Function -executeProposal (governor contract); proposalId = 42 +Example 4 — Unclear Function +executeProposal (governor contract); proposalId = 42 Calls the executeProposal function on the governor contract. --- Transaction Overview: -Function: ${transaction.functionName} | Network: ${chain.name} (ID: ${chain.id}) +Function: ${transaction.functionName} | Network: ${chain.name} (ID: ${chain.id}) Target: ${target} ${contractType} Below are the transaction arguments — use only the relevant information to describe the action: @@ -235,74 +232,75 @@ Final Instruction: Respond with 1-2 concise sentences describing this transaction, and nothing else.` } -async function handler(req: NextApiRequest, res: NextApiResponse) { - if (req.method !== 'POST') { - res.setHeader('Allow', 'POST') - return res.status(405).json({ error: 'Method not allowed' }) - } - +const handler = async (req: Request) => { try { - const requestData: RequestBody = req.body + const requestData: RequestBody = await req.json() if (!requestData.chainId || !requestData.addresses) { - return res.status(400).json({ error: 'chainId and addresses are required' }) + return NextResponse.json( + { error: 'chainId and addresses are required' }, + { status: 400 } + ) } - if (!PUBLIC_ALL_CHAINS.some((c) => c.id === requestData.chainId)) - return res.status(400).json({ error: 'chainId not found' }) + if (!PUBLIC_ALL_CHAINS.some((c) => c.id === requestData.chainId)) { + return NextResponse.json({ error: 'chainId not found' }, { status: 400 }) + } - if (!requestData.addresses || Object.values(requestData.addresses).length < 5) - return res.status(400).json({ error: 'addresses not found' }) + if (!requestData.addresses || Object.values(requestData.addresses).length < 5) { + return NextResponse.json({ error: 'addresses not found' }, { status: 400 }) + } if (!requestData.transaction || !requestData.target) { - return res.status(400).json({ error: 'transaction and target are required' }) + return NextResponse.json( + { error: 'transaction and target are required' }, + { status: 400 } + ) } if (!requestData.transaction.functionName || !requestData.transaction.args) { - return res - .status(400) - .json({ error: 'transaction must have functionName and args' }) + return NextResponse.json( + { error: 'transaction must have functionName and args' }, + { status: 400 } + ) } const { maxAge, swr } = CACHE_TIMES.AI_TRANSACTION_SUMMARY + const cacheControl = `public, s-maxage=${maxAge}, stale-while-revalidate=${swr}` - res.setHeader( - 'Cache-Control', - `public, s-maxage=${maxAge}, stale-while-revalidate=${swr}` - ) - - // Generate prompt on backend const prompt = generatePrompt(requestData) const model = AI_MODEL const redisConnection = getRedisConnection() const cacheKey = getCacheKey(requestData, model) - // Check cache first - let cachedText = await redisConnection?.get(cacheKey) - + const cachedText = await redisConnection?.get(cacheKey) if (cachedText) { - return res.status(200).json({ text: cachedText }) + return NextResponse.json( + { text: cachedText }, + { headers: { 'Cache-Control': cacheControl } } + ) } - // Generate new text if not in cache const result = await generateText({ model: gateway(model), prompt, abortSignal: AbortSignal.timeout(30000), }) - // Cache the generated text for 30 days await redisConnection?.setex(cacheKey, 60 * 60 * 24 * 30, result.text) - res.status(200).json({ text: result.text }) + return NextResponse.json( + { text: result.text }, + { headers: { 'Cache-Control': cacheControl } } + ) } catch (error) { console.error(`Error generating transaction summary:`, error) - - return res.status(500).json({ error: 'transaction summary generation failed' }) + return NextResponse.json( + { error: 'transaction summary generation failed' }, + { status: 500 } + ) } } -export default withRateLimit({ - keyPrefix: 'ai:txSummary', -})(handler) +export const POST = withRateLimit({ keyPrefix: 'ai:txSummary' })(handler) diff --git a/src/app/api/pinata/generate-jwt/route.ts b/src/app/api/pinata/generate-jwt/route.ts new file mode 100644 index 000000000..d3d167e97 --- /dev/null +++ b/src/app/api/pinata/generate-jwt/route.ts @@ -0,0 +1,11 @@ +import { NextResponse } from 'next/server' + +import { generateUploadJWT } from '@/services/pinataService' +import { withErrorHandling } from '@/utils/api/error' + +export const POST = withErrorHandling(async () => { + const result = await generateUploadJWT() + return NextResponse.json(result, { + headers: { 'Cache-Control': 'no-cache, no-store, must-revalidate' }, + }) +}) diff --git a/src/app/api/pinata/pin-cid/route.ts b/src/app/api/pinata/pin-cid/route.ts new file mode 100644 index 000000000..2c06b069c --- /dev/null +++ b/src/app/api/pinata/pin-cid/route.ts @@ -0,0 +1,11 @@ +import { NextResponse } from 'next/server' + +import { pinCidToIPFS } from '@/services/pinataService' +import { withErrorHandling } from '@/utils/api/error' + +export const POST = withErrorHandling(async (req: Request) => { + const body = await req.json() + const { cid, name, group_id } = body + const result = await pinCidToIPFS({ cid, name, group_id }) + return NextResponse.json({ text: result.status }) +}) diff --git a/src/app/api/pinata/pin-json/route.ts b/src/app/api/pinata/pin-json/route.ts new file mode 100644 index 000000000..8fec540d2 --- /dev/null +++ b/src/app/api/pinata/pin-json/route.ts @@ -0,0 +1,10 @@ +import { NextResponse } from 'next/server' + +import { pinJsonToIPFS } from '@/services/pinataService' +import { withErrorHandling } from '@/utils/api/error' + +export const POST = withErrorHandling(async (req: Request) => { + const body = await req.json() + const result = await pinJsonToIPFS(body) + return NextResponse.json(result) +}) diff --git a/src/app/api/pinata/upload-url/route.ts b/src/app/api/pinata/upload-url/route.ts new file mode 100644 index 000000000..bfb99cea6 --- /dev/null +++ b/src/app/api/pinata/upload-url/route.ts @@ -0,0 +1,10 @@ +import { NextResponse } from 'next/server' + +import { createSignedUploadUrl } from '@/services/pinataService' +import { withErrorHandling } from '@/utils/api/error' + +export const POST = withErrorHandling(async (req: Request) => { + const { type } = await req.json() + const result = await createSignedUploadUrl(type) + return NextResponse.json(result) +}) diff --git a/src/app/api/simulate/route.ts b/src/app/api/simulate/route.ts new file mode 100644 index 000000000..ee0689b3e --- /dev/null +++ b/src/app/api/simulate/route.ts @@ -0,0 +1,31 @@ +import { NextResponse } from 'next/server' + +import { InvalidRequestError } from '@/services/errors' +import { simulate } from '@/services/simulationService' + +export async function POST(req: Request) { + try { + const body = await req.json() + const result = await simulate(body) + return NextResponse.json(result) + } catch (error) { + console.error(error) + + if (error instanceof InvalidRequestError) { + return NextResponse.json({ error: error.message }, { status: 400 }) + } + if ((error as Error).message?.includes('insufficient funds for')) { + return NextResponse.json( + { + error: + 'Insufficient treasury funds to carry out some or all of these transactions', + }, + { status: 400 } + ) + } + return NextResponse.json( + { error: 'Unexpected Error: Unable to simulate these transactions' }, + { status: 500 } + ) + } +} diff --git a/src/app/auction/[id]/page.tsx b/src/app/auction/[id]/page.tsx new file mode 100644 index 000000000..75500d731 --- /dev/null +++ b/src/app/auction/[id]/page.tsx @@ -0,0 +1,19 @@ +import { PageStub } from '@/components/PageStub' + +export default function AuctionPage() { + return ( + + ) +} diff --git a/src/app/globals.css b/src/app/globals.css new file mode 100644 index 000000000..01224bb83 --- /dev/null +++ b/src/app/globals.css @@ -0,0 +1,106 @@ +@import 'tailwindcss'; + +@custom-variant dark (&:where([data-theme=dark], [data-theme=dark] *)); + +@theme { + --font-sans: var(--font-geist), system-ui, -apple-system, 'Segoe UI', sans-serif; + --font-mono: var(--font-geist-mono), ui-monospace, 'SF Mono', Menlo, monospace; + --font-display: var(--font-display-active), var(--font-geist), system-ui, sans-serif; + + --color-bg: var(--bg); + --color-fg: var(--fg); + --color-fg-2: var(--fg-2); + --color-muted-fg: var(--muted-fg); + --color-surface: var(--surface); + --color-surface-2: var(--surface-2); + --color-surface-3: var(--surface-3); + --color-border: var(--border); + --color-border-strong: var(--border-strong); + + --color-accent: var(--accent); + --color-accent-strong: var(--accent-strong); + --color-accent-fg: var(--accent-fg); + + --color-success: var(--success); + --color-destructive: var(--destructive); + --color-warning: var(--warning); + + --color-vote-for: var(--vote-for); + --color-vote-against: var(--vote-against); + --color-vote-abstain: var(--vote-abstain); + + --radius-xs: calc(var(--radius) * 0.25); + --radius-sm: calc(var(--radius) * 0.4); + --radius-md: calc(var(--radius) * 0.7); + --radius-lg: var(--radius); + --radius-xl: calc(var(--radius) * 1.4); +} + +:root { + --accent: #2563eb; + --accent-strong: color-mix(in oklab, #2563eb 80%, black); + --accent-fg: #ffffff; + --radius: 12px; + + --bg: #fafafa; + --surface: #ffffff; + --surface-2: #f4f4f5; + --surface-3: #ededee; + --border: #e5e5e7; + --border-strong: #d4d4d7; + --fg: #0b0b0c; + --fg-2: #2a2a2e; + --muted-fg: #71717a; + + --success: #16a34a; + --destructive: #dc2626; + --warning: #ea580c; + + --vote-for: #16a34a; + --vote-against: #dc2626; + --vote-abstain: #a1a1aa; +} + +[data-theme='dark'] { + --accent-fg: #ffffff; + + --bg: #09090b; + --surface: #131316; + --surface-2: #1c1c20; + --surface-3: #26262b; + --border: #26262b; + --border-strong: #3a3a40; + --fg: #fafafa; + --fg-2: #d4d4d7; + --muted-fg: #9a9aa2; +} + +@layer base { + * { + box-sizing: border-box; + } + html, + body { + margin: 0; + padding: 0; + } + body { + background: var(--bg); + color: var(--fg); + font-family: var(--font-sans); + font-size: 15px; + line-height: 1.55; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; + } + button { + font-family: inherit; + cursor: pointer; + } + input, + textarea, + select { + font-family: inherit; + color: inherit; + } +} diff --git a/src/app/layout.tsx b/src/app/layout.tsx new file mode 100644 index 000000000..edc44976b --- /dev/null +++ b/src/app/layout.tsx @@ -0,0 +1,55 @@ +import type { Metadata } from 'next' +import { Geist, Geist_Mono } from 'next/font/google' + +import { Footer } from '@/components/Footer' +import { Header } from '@/components/Header' +import { TweaksPanel } from '@/components/TweaksPanel' +import { daoConfig } from '@/lib/dao.config' + +import { Providers } from './providers' + +import './globals.css' + +const geistSans = Geist({ + variable: '--font-geist', + subsets: ['latin'], +}) + +const geistMono = Geist_Mono({ + variable: '--font-geist-mono', + subsets: ['latin'], +}) + +export const metadata: Metadata = { + title: { + default: daoConfig.name, + template: `%s | ${daoConfig.name}`, + }, + description: daoConfig.tagline, +} + +export default function RootLayout({ + children, +}: { + children: React.ReactNode +}) { + return ( + + + +

+
+
+ {children} +
+
+
+ {process.env.NODE_ENV !== 'production' && } + + + + ) +} diff --git a/src/app/members/page.tsx b/src/app/members/page.tsx new file mode 100644 index 000000000..f293ebd16 --- /dev/null +++ b/src/app/members/page.tsx @@ -0,0 +1,16 @@ +import { PageStub } from '@/components/PageStub' + +export default function MembersPage() { + return ( + + ) +} diff --git a/src/app/page.tsx b/src/app/page.tsx new file mode 100644 index 000000000..4d283d6ba --- /dev/null +++ b/src/app/page.tsx @@ -0,0 +1,45 @@ +import { daoConfig } from '@/lib/dao.config' + +export default function Home() { + return ( +
+
+
+ Scaffold · PR #0 +
+

+ {daoConfig.name} +

+

{daoConfig.tagline}

+

+ App Router + Tailwind v4 + theme tokens are wired up. Header, footer, + tweaks panel (bottom-right, dev-only), and dark mode are live. Page + bodies land in the next PRs. +

+
+ +
+ {[ + { label: 'Dashboard', href: '/', stub: 'PR #1' }, + { label: 'Auction', href: '/auction/765', stub: 'PR #2' }, + { label: 'Proposals', href: '/proposals', stub: 'PR #3' }, + { label: 'Proposal detail', href: '/proposals/61', stub: 'PR #4' }, + { label: 'Treasury', href: '/treasury', stub: 'PR #5' }, + { label: 'Members', href: '/members', stub: 'PR #6' }, + { label: 'About', href: '/about', stub: 'PR #7' }, + ].map((item) => ( +
+
+ {item.stub} +
+
{item.label}
+
{item.href}
+
+ ))} +
+
+ ) +} diff --git a/src/app/proposals/[id]/page.tsx b/src/app/proposals/[id]/page.tsx new file mode 100644 index 000000000..1bb038e80 --- /dev/null +++ b/src/app/proposals/[id]/page.tsx @@ -0,0 +1,19 @@ +import { PageStub } from '@/components/PageStub' + +export default function ProposalDetailPage() { + return ( + + ) +} diff --git a/src/app/proposals/page.tsx b/src/app/proposals/page.tsx new file mode 100644 index 000000000..d593c758e --- /dev/null +++ b/src/app/proposals/page.tsx @@ -0,0 +1,17 @@ +import { PageStub } from '@/components/PageStub' + +export default function ProposalsPage() { + return ( + + ) +} diff --git a/src/app/providers.tsx b/src/app/providers.tsx new file mode 100644 index 000000000..1af8584cf --- /dev/null +++ b/src/app/providers.tsx @@ -0,0 +1,58 @@ +'use client' + +import { + ChainStoreProvider, + createChainStore, + createDaoStore, + DaoStoreProvider, +} from '@buildeross/stores' +import { RainbowKitProvider } from '@rainbow-me/rainbowkit' +import { QueryClient, QueryClientProvider } from '@tanstack/react-query' +import { ThemeProvider as NextThemesProvider } from 'next-themes' +import { useMemo } from 'react' +import { SWRConfig } from 'swr' +import { WagmiProvider } from 'wagmi' + +import { getDaoConfig } from '@/config' +import { config } from '@/utils/clientConfig' + +import '@rainbow-me/rainbowkit/styles.css' + +const queryClient = new QueryClient({ + defaultOptions: { + queries: { + staleTime: 5000, + refetchInterval: 5000, + }, + }, +}) + +export function Providers({ children }: { children: React.ReactNode }) { + const daoConfig = getDaoConfig() + const chainStore = useMemo(() => createChainStore(daoConfig.chain), [daoConfig.chain]) + const daoStore = useMemo( + () => createDaoStore(daoConfig.addresses), + [daoConfig.addresses] + ) + + return ( + + + + + + + {children} + + + + + + + ) +} diff --git a/src/app/treasury/page.tsx b/src/app/treasury/page.tsx new file mode 100644 index 000000000..dda64e6fa --- /dev/null +++ b/src/app/treasury/page.tsx @@ -0,0 +1,19 @@ +import { PageStub } from '@/components/PageStub' + +export default function TreasuryPage() { + return ( + + ) +} diff --git a/src/components/DaoLogo.tsx b/src/components/DaoLogo.tsx new file mode 100644 index 000000000..5ccb2f74a --- /dev/null +++ b/src/components/DaoLogo.tsx @@ -0,0 +1,86 @@ +type Props = { + style: 'stripes' | 'tv' | 'leaf' + color: string + size?: number +} + +export function DaoLogo({ style, color, size = 28 }: Props) { + if (style === 'tv') { + return ( +
+
+
+
+
+ ) + } + if (style === 'leaf') { + return ( + + + + + ) + } + return ( +
+
+
+
+
+ ) +} diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx new file mode 100644 index 000000000..96e6c5954 --- /dev/null +++ b/src/components/Footer.tsx @@ -0,0 +1,24 @@ +import Link from 'next/link' + +import { daoConfig } from '@/lib/dao.config' + +const CHAIN_NAMES: Record = { + 1: 'Ethereum', + 10: 'Optimism', + 8453: 'Base', + 7777777: 'Zora', +} + +export function Footer() { + const chainName = CHAIN_NAMES[daoConfig.chainId] ?? `Chain ${daoConfig.chainId}` + return ( +
+
+ {daoConfig.name} · {chainName} ·{' '} + + Built with Builder + +
+
+ ) +} diff --git a/src/components/Header.tsx b/src/components/Header.tsx new file mode 100644 index 000000000..f76063788 --- /dev/null +++ b/src/components/Header.tsx @@ -0,0 +1,159 @@ +'use client' + +import { ConnectButton } from '@rainbow-me/rainbowkit' +import { Menu, Moon, Sun, X } from 'lucide-react' +import { useTheme } from 'next-themes' +import Link from 'next/link' +import { usePathname } from 'next/navigation' +import { useEffect, useState } from 'react' + +import { DaoLogo } from '@/components/DaoLogo' +import { daoConfig } from '@/lib/dao.config' +import { AUCTION } from '@/lib/mockData' +import { cn } from '@/lib/utils' + +const CHAIN_NAMES: Record = { + 1: 'Ethereum', + 10: 'Optimism', + 8453: 'Base', + 7777777: 'Zora', +} + +const NAV_ITEMS = [ + { href: '/', label: 'Dashboard', match: (p: string) => p === '/' }, + { + href: `/auction/${AUCTION.tokenId}`, + label: 'Auction', + match: (p: string) => p.startsWith('/auction'), + }, + { + href: '/proposals', + label: 'Proposals', + match: (p: string) => p === '/proposals' || p.startsWith('/proposals/'), + }, + { href: '/treasury', label: 'Treasury', match: (p: string) => p === '/treasury' }, + { href: '/members', label: 'Members', match: (p: string) => p === '/members' }, + { href: '/about', label: 'About', match: (p: string) => p === '/about' }, +] + +export function Header() { + const pathname = usePathname() ?? '/' + const [mobileOpen, setMobileOpen] = useState(false) + const { resolvedTheme, setTheme } = useTheme() + const [mounted, setMounted] = useState(false) + + useEffect(() => { + setMounted(true) + }, []) + + const chainName = CHAIN_NAMES[daoConfig.chainId] ?? `Chain ${daoConfig.chainId}` + + return ( +
+
+ + + {daoConfig.name} + + + + + +
+ +
+ +
+ +
+
+ + {mobileOpen && ( +
+
setMobileOpen(false)} + /> + +
+ )} +
+ ) +} + +function ChainPill({ chainName }: { chainName: string }) { + return ( + + {chainName} + + ) +} diff --git a/src/components/Header/Header.css.ts b/src/components/Header/Header.css.ts deleted file mode 100644 index fe05e2623..000000000 --- a/src/components/Header/Header.css.ts +++ /dev/null @@ -1,118 +0,0 @@ -import { atoms, color } from '@buildeross/zord' -import { style } from '@vanilla-extract/css' - -export const headerContainer = style([ - atoms({ - backgroundColor: 'background1', - position: 'sticky', - }), - { - top: 0, - zIndex: 50, - borderBottom: '1px solid', - borderBottomColor: color.border, - }, -]) - -export const logoSection = style([ - atoms({ - cursor: 'pointer', - textDecoration: 'none', - }), - { - transition: 'opacity 0.2s ease', - ':hover': { - opacity: 0.8, - }, - }, -]) - -export const navLinks = style([ - { - gap: '16px', - '@media': { - 'screen and (max-width: 768px)': { - display: 'none', - }, - }, - }, -]) - -export const mobileMenuButton = style([ - atoms({ - cursor: 'pointer', - borderRadius: 'round', - backgroundColor: 'background2', - display: 'none', - }), - { - width: '40px', - height: '40px', - alignItems: 'center', - justifyContent: 'center', - zIndex: 103, - '@media': { - 'screen and (max-width: 768px)': { - display: 'flex', - }, - }, - }, -]) - -export const mobileMenuOverlay = style({ - position: 'fixed', - top: 0, - left: 0, - right: 0, - bottom: 0, - backgroundColor: 'rgba(0, 0, 0, 0.5)', - zIndex: 100, -}) - -export const mobileMenuContent = style([ - atoms({ - backgroundColor: 'background1', - borderRadius: 'phat', - position: 'fixed', - }), - { - top: '80px', - right: '16px', - zIndex: 101, - minWidth: '200px', - boxShadow: '0 4px 20px rgba(0, 0, 0, 0.15)', - }, -]) - -export const navLink = style([ - atoms({ - cursor: 'pointer', - textDecoration: 'none', - color: 'text2', - }), - { - transition: 'all 0.2s ease', - borderBottom: '2px solid transparent', - paddingBottom: '2px', - ':hover': { - color: color.text1, - }, - }, -]) - -export const navLinkActive = style([ - atoms({ - color: 'text1', - }), - { - borderBottomColor: color.accent, - }, -]) - -export const connectButtonWrapper = style({ - '@media': { - 'screen and (max-width: 768px)': { - display: 'none', - }, - }, -}) diff --git a/src/components/Header/Header.tsx b/src/components/Header/Header.tsx deleted file mode 100644 index 0d8b14ba3..000000000 --- a/src/components/Header/Header.tsx +++ /dev/null @@ -1,192 +0,0 @@ -import { getFetchableUrls } from '@buildeross/ipfs-service/gateway' -import { useChainStore, useDaoStore } from '@buildeross/stores' -import { DaoAvatar } from '@buildeross/ui/Avatar' -import { FallbackImage } from '@buildeross/ui/FallbackImage' -import { Box, Flex, Icon, Text } from '@buildeross/zord' -import { ConnectButton } from '@rainbow-me/rainbowkit' -import Link from 'next/link' -import { useRouter } from 'next/router' -import React from 'react' - -import { getDaoConfig } from '@/config' -import { useSettingsAccess } from '@/hooks/useSettingsAccess' - -import { - connectButtonWrapper, - headerContainer, - logoSection, - mobileMenuButton, - mobileMenuContent, - mobileMenuOverlay, - navLink, - navLinkActive, - navLinks, -} from './Header.css' - -export const Header: React.FC = () => { - const { chain } = useChainStore() - const { addresses } = useDaoStore() - const { hasAccess: hasSettingsAccess } = useSettingsAccess() - const [isMobileMenuOpen, setIsMobileMenuOpen] = React.useState(false) - const router = useRouter() - const daoConfig = getDaoConfig() - - const isActiveRoute = (path: string) => { - if (path === '/' && router.pathname === '/') return true - if (path !== '/' && router.pathname.startsWith(path)) return true - return false - } - - const getLinkClassName = (path: string) => { - return isActiveRoute(path) ? `${navLink} ${navLinkActive}` : navLink - } - - return ( - - - {/* Left side - DAO Logo and Home link */} - - - {addresses.token && addresses.auction && ( - - {daoConfig.image ? ( - - ) : ( - - )} - - )} - - {daoConfig.name} - - - - - {/* Right side - Navigation links and Connect button */} - - {/* Navigation links - hidden on mobile */} - - - - About - - - - - Proposals - - - - - Treasury - - - - - Contracts - - - {hasSettingsAccess && ( - - - Settings - - - )} - - {/* Connect button - hidden on mobile */} - - - - - - {/* Mobile menu button - only visible on mobile */} - setIsMobileMenuOpen(!isMobileMenuOpen)} - > - - - - - - {/* Mobile menu overlay */} - {isMobileMenuOpen && ( - <> - setIsMobileMenuOpen(false)} /> - - - - setIsMobileMenuOpen(false)} - > - About - - - - setIsMobileMenuOpen(false)} - > - Proposals - - - - setIsMobileMenuOpen(false)} - > - Treasury - - - - setIsMobileMenuOpen(false)} - > - Contracts - - - {hasSettingsAccess && ( - - setIsMobileMenuOpen(false)} - > - Settings - - - )} - - - - - - - )} - - ) -} diff --git a/src/components/Header/index.ts b/src/components/Header/index.ts deleted file mode 100644 index e0e2673ae..000000000 --- a/src/components/Header/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Header } from './Header' diff --git a/src/components/Layout/Layout.css.ts b/src/components/Layout/Layout.css.ts deleted file mode 100644 index c17906f75..000000000 --- a/src/components/Layout/Layout.css.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { atoms } from '@buildeross/zord' -import { style } from '@vanilla-extract/css' - -export const layoutContainer = style([ - atoms({ - minHeight: '100vh', - backgroundColor: 'background1', - }), -]) - -export const mainContent = style([ - atoms({ - flex: 1, - pt: 'x8', - px: 'x4', // Left and right padding - pb: 'x8', - }), -]) diff --git a/src/components/Layout/Layout.tsx b/src/components/Layout/Layout.tsx deleted file mode 100644 index ee548d625..000000000 --- a/src/components/Layout/Layout.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { Box } from '@buildeross/zord' -import React from 'react' - -import { Header } from '../Header' -import { layoutContainer, mainContent } from './Layout.css' - -interface LayoutProps { - children: React.ReactNode -} - -export const Layout: React.FC = ({ children }) => { - return ( - -
- {children} - - ) -} diff --git a/src/components/Layout/index.ts b/src/components/Layout/index.ts deleted file mode 100644 index 358469a05..000000000 --- a/src/components/Layout/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Layout } from './Layout' diff --git a/src/components/LinksProvider.tsx b/src/components/LinksProvider.tsx deleted file mode 100644 index 716843913..000000000 --- a/src/components/LinksProvider.tsx +++ /dev/null @@ -1,120 +0,0 @@ -import { BASE_URL } from '@buildeross/constants/baseUrl' -import { AddressType, CHAIN_ID } from '@buildeross/types' -import { LinksProvider as BaseLinksProvider } from '@buildeross/ui/LinksProvider' -import { chainIdToSlug } from '@buildeross/utils/helpers' -import React from 'react' - -import { getDaoConfig } from '@/config' - -type LinksProviderProps = { - children: React.ReactNode -} - -export const LinksProvider: React.FC = ({ children }) => { - const daoConfig = getDaoConfig() - - // Helper function to check if the chainId/tokenAddress match our DAO - const isOurDao = React.useCallback( - (chainId: CHAIN_ID, tokenAddress: AddressType) => { - return ( - chainId === daoConfig.chain.id && - tokenAddress.toLowerCase() === daoConfig.addresses.token.toLowerCase() - ) - }, - [daoConfig.chain.id, daoConfig.addresses.token] - ) - - const getAuctionLink = React.useCallback( - ( - chainId: CHAIN_ID, - tokenAddress: AddressType, - tokenId?: number | string | bigint - ) => { - // If this is not our DAO, redirect to main app - if (!isOurDao(chainId, tokenAddress)) { - const baseHref = `${BASE_URL}/dao/${chainIdToSlug(chainId)}/${tokenAddress}` - if (tokenId === undefined || tokenId === null) { - return { href: baseHref } - } - return { href: `${baseHref}/${tokenId}` } - } - - // For our DAO, use local routes - if (tokenId === undefined || tokenId === null) { - return { href: '/' } // Home page shows current auction - } - return { - href: `/token/${tokenId}`, - } - }, - [isOurDao] - ) - - const getDaoLink = React.useCallback( - (chainId: CHAIN_ID, tokenAddress: AddressType, tab?: string) => { - // If this is not our DAO, redirect to main app - if (!isOurDao(chainId, tokenAddress)) { - const baseHref = `${BASE_URL}/dao/${chainIdToSlug(chainId)}/${tokenAddress}` - return { - href: tab ? `${baseHref}?tab=${tab}` : baseHref, - } - } - - // For our DAO, route to different pages based on tab - switch (tab) { - case 'about': - return { href: '/about' } - case 'activity': - return { href: '/proposals' } - case 'treasury': - return { href: '/treasury' } - case 'admin': - return { href: '/settings' } - case 'contracts': - return { href: '/contracts' } - default: - return { href: '/' } // Default to home page - } - }, - [isOurDao] - ) - - const getProposalLink = React.useCallback( - ( - chainId: CHAIN_ID, - tokenAddress: AddressType, - proposalId: string | number | bigint - ) => { - // If this is not our DAO, redirect to main app - if (!isOurDao(chainId, tokenAddress)) { - return { - href: `${BASE_URL}/dao/${chainIdToSlug(chainId)}/${tokenAddress}/vote/${proposalId}`, - } - } - - // For our DAO, use local proposal route - return { - href: `/proposal/${proposalId}`, - } - }, - [isOurDao] - ) - - const getProfileLink = React.useCallback((address: AddressType) => { - return { - href: `${BASE_URL}/profile/${address}`, - } - }, []) - - const value = React.useMemo( - () => ({ - getAuctionLink, - getDaoLink, - getProposalLink, - getProfileLink, - }), - [getAuctionLink, getDaoLink, getProposalLink, getProfileLink] - ) - - return {children} -} diff --git a/src/components/PageStub.tsx b/src/components/PageStub.tsx new file mode 100644 index 000000000..1a76aa034 --- /dev/null +++ b/src/components/PageStub.tsx @@ -0,0 +1,34 @@ +type Props = { + title: string + pr: string + blocks?: string[] +} + +export function PageStub({ title, pr, blocks }: Props) { + return ( +
+
+ {pr} +
+

+ {title} +

+

+ Page body lands in this PR. Scaffold (PR #0) only ships routing + chrome + + theming. +

+ {blocks && blocks.length > 0 && ( +
+ {blocks.map((b) => ( + + {b} + + ))} +
+ )} +
+ ) +} diff --git a/src/components/TweaksPanel.tsx b/src/components/TweaksPanel.tsx new file mode 100644 index 000000000..1171070e6 --- /dev/null +++ b/src/components/TweaksPanel.tsx @@ -0,0 +1,255 @@ +'use client' + +import { Settings2, X } from 'lucide-react' +import { useTheme } from 'next-themes' +import { useEffect, useState } from 'react' + +import { PRESETS } from '@/lib/mockData' + +const STORAGE_KEY = 'tweaks.v1' + +const FONT_OPTIONS = [ + { value: 'Geist', label: 'Geist', cssFamily: 'var(--font-geist), system-ui, sans-serif' }, + { + value: 'Londrina Solid', + label: 'Londrina Solid', + cssFamily: '"Londrina Solid", "Geist", system-ui, sans-serif', + }, + { + value: 'IBM Plex Sans', + label: 'IBM Plex Sans', + cssFamily: '"IBM Plex Sans", "Geist", system-ui, sans-serif', + }, + { + value: 'Fraunces', + label: 'Fraunces', + cssFamily: '"Fraunces", "Geist", serif', + }, +] + +type Tweaks = { + preset: keyof typeof PRESETS + accent: string + radius: number + displayFont: string +} + +const DEFAULTS: Tweaks = { + preset: 'builder', + accent: '#2563eb', + radius: 12, + displayFont: 'Geist', +} + +function loadTweaks(): Tweaks { + if (typeof window === 'undefined') return DEFAULTS + try { + const raw = window.localStorage.getItem(STORAGE_KEY) + if (!raw) return DEFAULTS + return { ...DEFAULTS, ...JSON.parse(raw) } + } catch { + return DEFAULTS + } +} + +function ensureFontLink() { + if (typeof document === 'undefined') return + if (document.getElementById('tweaks-fonts')) return + const link = document.createElement('link') + link.id = 'tweaks-fonts' + link.rel = 'stylesheet' + link.href = + 'https://fonts.googleapis.com/css2?family=Londrina+Solid:wght@400;900&family=IBM+Plex+Sans:wght@400;600;700&family=Fraunces:opsz,wght@9..144,400;9..144,700;9..144,800&display=swap' + document.head.appendChild(link) +} + +export function TweaksPanel() { + const [open, setOpen] = useState(false) + const [tweaks, setTweaks] = useState(DEFAULTS) + const { resolvedTheme, setTheme } = useTheme() + + useEffect(() => { + setTweaks(loadTweaks()) + ensureFontLink() + }, []) + + useEffect(() => { + const root = document.documentElement + root.style.setProperty('--accent', tweaks.accent) + root.style.setProperty( + '--accent-strong', + `color-mix(in oklab, ${tweaks.accent} 80%, black)` + ) + root.style.setProperty('--radius', `${tweaks.radius}px`) + const fontFamily = + FONT_OPTIONS.find((f) => f.value === tweaks.displayFont)?.cssFamily ?? + 'var(--font-geist)' + root.style.setProperty('--font-display-active', fontFamily) + document.body.style.setProperty('--font-display-active', fontFamily) + try { + window.localStorage.setItem(STORAGE_KEY, JSON.stringify(tweaks)) + } catch { + /* ignore */ + } + }, [tweaks]) + + const update = (patch: Partial) => + setTweaks((prev) => ({ ...prev, ...patch })) + + const applyPreset = (key: keyof typeof PRESETS) => { + const p = PRESETS[key] + setTweaks({ + preset: key, + accent: p.accent, + radius: p.radius, + displayFont: p.displayFont, + }) + } + + if (!open) { + return ( + + ) + } + + return ( +
+
+
+ Tweaks +
+ +
+ +
+ applyPreset(v as keyof typeof PRESETS)} + options={[ + { value: 'builder', label: 'Builder' }, + { value: 'gnars', label: 'Gnars' }, + { value: 'verdant', label: 'Verdant' }, + ]} + /> +
+ +
+ setTheme(v)} + options={[ + { value: 'light', label: 'Light' }, + { value: 'dark', label: 'Dark' }, + ]} + /> + + update({ accent: e.target.value })} + className="h-7 w-12 cursor-pointer rounded border border-border bg-transparent" + /> + + {tweaks.accent} + + + + update({ radius: Number(e.target.value) })} + className="flex-1 accent-accent" + /> + + {tweaks.radius}px + + + + + +
+
+ ) +} + +function Section({ title, children }: { title: string; children: React.ReactNode }) { + return ( +
+
+ {title} +
+
{children}
+
+ ) +} + +function Field({ label, children }: { label: string; children: React.ReactNode }) { + return ( + + ) +} + +function Radio({ + label, + value, + onChange, + options, +}: { + label: string + value: string + onChange: (v: string) => void + options: { value: string; label: string }[] +}) { + return ( + +
+ {options.map((opt) => ( + + ))} +
+
+ ) +} diff --git a/src/components/ui/button.tsx b/src/components/ui/button.tsx new file mode 100644 index 000000000..ecf846f95 --- /dev/null +++ b/src/components/ui/button.tsx @@ -0,0 +1,59 @@ +'use client' + +import { Slot } from '@radix-ui/react-slot' +import { cva, type VariantProps } from 'class-variance-authority' +import * as React from 'react' + +import { cn } from '@/lib/utils' + +const buttonVariants = cva( + 'inline-flex items-center justify-center gap-2 whitespace-nowrap font-semibold transition-[filter,background,color,transform] active:translate-y-px disabled:pointer-events-none disabled:opacity-40 outline-none focus-visible:ring-2 focus-visible:ring-accent/50', + { + variants: { + variant: { + primary: + 'bg-accent text-accent-fg hover:brightness-110 [text-shadow:0_0_0_currentColor]', + secondary: + 'bg-surface text-fg border border-border hover:bg-surface-2', + ghost: 'bg-transparent text-fg hover:bg-surface-2', + link: 'bg-transparent text-accent-strong hover:underline px-0 h-auto', + destructive: + 'bg-destructive text-white hover:brightness-110', + outline: + 'border border-border bg-transparent text-fg hover:bg-surface-2', + }, + size: { + sm: 'h-8 rounded-md px-3 text-[13px]', + md: 'h-10 rounded-md px-[18px] text-sm', + lg: 'h-12 rounded-md px-6 text-[15px]', + icon: 'h-9 w-9 rounded-full', + }, + }, + defaultVariants: { + variant: 'primary', + size: 'md', + }, + } +) + +export interface ButtonProps + extends React.ButtonHTMLAttributes, + VariantProps { + asChild?: boolean +} + +export const Button = React.forwardRef( + ({ className, variant, size, asChild = false, ...props }, ref) => { + const Comp = asChild ? Slot : 'button' + return ( + + ) + } +) +Button.displayName = 'Button' + +export { buttonVariants } diff --git a/src/hooks/useSettingsAccess.ts b/src/hooks/useSettingsAccess.ts deleted file mode 100644 index a733771bc..000000000 --- a/src/hooks/useSettingsAccess.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { useDelayedGovernance } from '@buildeross/hooks/useDelayedGovernance' -import { useVotes } from '@buildeross/hooks/useVotes' -import { useChainStore, useDaoStore } from '@buildeross/stores' -import { useAccount } from 'wagmi' - -export const useSettingsAccess = () => { - const { chain } = useChainStore() - const { addresses } = useDaoStore() - const { address } = useAccount() - - const { isLoading, hasThreshold } = useVotes({ - chainId: chain.id, - governorAddress: addresses.governor, - signerAddress: address, - collectionAddress: addresses.token, - }) - - const { isGovernanceDelayed } = useDelayedGovernance({ - chainId: chain.id, - tokenAddress: addresses.token, - governorAddress: addresses.governor, - }) - - const hasAccess = address && hasThreshold && !isGovernanceDelayed - - return { - isLoading, - hasAccess, - } -} diff --git a/src/lib/dao.config.ts b/src/lib/dao.config.ts new file mode 100644 index 000000000..0c4614809 --- /dev/null +++ b/src/lib/dao.config.ts @@ -0,0 +1,74 @@ +import type { AddressType, CHAIN_ID } from '@buildeross/types' + +import { DAO_CONFIG as ONCHAIN_CONFIG } from '@/config/dao' + +export type DaoTheme = { + accent: string + radius: number + font: string + displayFont: string + defaultMode: 'light' | 'dark' | 'system' +} + +export type DaoFeatures = { + auctionChart: boolean + treasuryAnalytics: boolean + membersDirectory: boolean + bidComments: boolean + timeBasedAlerts: boolean +} + +export type DaoSocials = Partial<{ + twitter: string + farcaster: string + discord: string + github: string + website: string +}> + +export type DaoConfig = { + name: string + tagline: string + image: string + chainId: CHAIN_ID + addresses: { + token: AddressType + auction: AddressType + governor: AddressType + treasury: AddressType + metadata: AddressType + escrowDelegate?: AddressType + } + theme: DaoTheme + features: DaoFeatures + socials: DaoSocials +} + +export const daoConfig: DaoConfig = { + name: ONCHAIN_CONFIG.name, + tagline: 'Powering Onchain Communities.', + image: ONCHAIN_CONFIG.image, + chainId: ONCHAIN_CONFIG.chain.id, + addresses: { + token: ONCHAIN_CONFIG.addresses.token, + auction: ONCHAIN_CONFIG.addresses.auction, + governor: ONCHAIN_CONFIG.addresses.governor, + treasury: ONCHAIN_CONFIG.addresses.treasury, + metadata: ONCHAIN_CONFIG.addresses.metadata, + }, + theme: { + accent: '#2563eb', + radius: 12, + font: 'Geist', + displayFont: 'Geist', + defaultMode: 'system', + }, + features: { + auctionChart: true, + treasuryAnalytics: true, + membersDirectory: true, + bidComments: true, + timeBasedAlerts: true, + }, + socials: {}, +} diff --git a/src/lib/mockData.ts b/src/lib/mockData.ts new file mode 100644 index 000000000..b10140564 --- /dev/null +++ b/src/lib/mockData.ts @@ -0,0 +1,274 @@ +export type MockPreset = { + name: string + tagline: string + chain: string + chainColor: string + logoStyle: 'stripes' | 'tv' | 'leaf' + logoColor: string + accent: string + radius: number + font: string + displayFont: string + treasuryEth: number + treasuryUsd: number + auctionSales: number + members: number + totalSupply: number + activeMembers: number + artworkPalette: [string, string, string] +} + +export const PRESETS: Record<'builder' | 'gnars' | 'verdant', MockPreset> = { + builder: { + name: 'Builder', + tagline: 'Powering Onchain Communities.', + chain: 'Base', + chainColor: '#0052ff', + logoStyle: 'stripes', + logoColor: '#0052ff', + accent: '#2563eb', + radius: 12, + font: 'Geist', + displayFont: 'Geist', + treasuryEth: 15.5925, + treasuryUsd: 36003.45, + auctionSales: 4.40346, + members: 181, + totalSupply: 658, + activeMembers: 47, + artworkPalette: ['#ff4d4d', '#000000', '#ffffff'], + }, + gnars: { + name: 'Gnars DAO', + tagline: 'Nounish Open S', + chain: 'Base', + chainColor: '#0052ff', + logoStyle: 'tv', + logoColor: '#f5d447', + accent: '#f5d447', + radius: 8, + font: 'Geist', + displayFont: 'Londrina Solid', + treasuryEth: 6.7728, + treasuryUsd: 35827.47, + auctionSales: 15.4727, + members: 1011, + totalSupply: 6001, + activeMembers: 312, + artworkPalette: ['#7dd3fc', '#fbbf24', '#a3e635'], + }, + verdant: { + name: 'Verdant', + tagline: 'A regenerative onchain commons.', + chain: 'Base', + chainColor: '#0052ff', + logoStyle: 'leaf', + logoColor: '#16a34a', + accent: '#16a34a', + radius: 16, + font: 'Geist', + displayFont: 'Geist', + treasuryEth: 24.118, + treasuryUsd: 56103.21, + auctionSales: 38.221, + members: 412, + totalSupply: 1244, + activeMembers: 98, + artworkPalette: ['#a7f3d0', '#0f766e', '#fef3c7'], + }, +} + +export type ProposalStatus = + | 'active' + | 'pending' + | 'executed' + | 'defeated' + | 'cancelled' + +export type MockProposal = { + id: number + title: string + status: ProposalStatus + date: string + proposer: string + forVotes: number + againstVotes: number + abstainVotes: number + quorum: number + requested: { eth: number; usdc: number } + endsLabel: string +} + +export const PROPOSALS: MockProposal[] = [ + { + id: 63, + title: 'Update links and add description', + status: 'cancelled', + date: 'Apr 29, 2026', + proposer: '0x1cD0…Eef21', + forVotes: 0, + againstVotes: 0, + abstainVotes: 0, + quorum: 24, + requested: { eth: 0, usdc: 0 }, + endsLabel: '—', + }, + { + id: 62, + title: 'Updated description and added links', + status: 'pending', + date: 'Apr 29, 2026', + proposer: '0xE2E…6A2E1', + forVotes: 0, + againstVotes: 0, + abstainVotes: 0, + quorum: 24, + requested: { eth: 0, usdc: 0 }, + endsLabel: 'Starts in 25 hours', + }, + { + id: 61, + title: 'Enhance the Official Builder Template and Upstream Feature Batches', + status: 'active', + date: 'Apr 26, 2026', + proposer: 'r4topunk.eth', + forVotes: 38, + againstVotes: 4, + abstainVotes: 2, + quorum: 24, + requested: { eth: 4.0, usdc: 0 }, + endsLabel: 'Ends in 2 days', + }, + { + id: 60, + title: 'Establish the Nouns Builder Fund on Artizen', + status: 'executed', + date: 'Apr 03, 2026', + proposer: 'haxixe.eth', + forVotes: 56, + againstVotes: 1, + abstainVotes: 0, + quorum: 24, + requested: { eth: 12, usdc: 0 }, + endsLabel: '18 days ago', + }, + { + id: 59, + title: 'Tech Pod Residency Tapering to 50 Percent', + status: 'executed', + date: 'Mar 04, 2026', + proposer: '0x4f2…91Cd', + forVotes: 41, + againstVotes: 9, + abstainVotes: 3, + quorum: 24, + requested: { eth: 0, usdc: 18000 }, + endsLabel: '47 days ago', + }, + { + id: 58, + title: 'Builder Nouns The Documentary', + status: 'defeated', + date: 'Feb 11, 2026', + proposer: '0xaa…12fe', + forVotes: 12, + againstVotes: 38, + abstainVotes: 5, + quorum: 24, + requested: { eth: 8, usdc: 0 }, + endsLabel: '—', + }, +] + +export type MockBid = { + addr: string + amount: number + time: string + comment: string | null +} + +export const AUCTION = { + tokenId: 765, + date: 'March 21, 2026', + endsAt: Date.now() + 1000 * 60 * 60 * 18, + recentBids: [ + { addr: '0xBB…3C26', amount: 0.42, time: '12 min ago', comment: 'lfg builder' }, + { addr: 'haxixe.eth', amount: 0.38, time: '34 min ago', comment: null }, + { addr: '0x4f2…91Cd', amount: 0.35, time: '1 h ago', comment: 'first bid 🫡' }, + ] as MockBid[], +} + +export type ActivityType = 'bid' | 'vote' | 'prop' + +export const ACTIVITY: Array<{ + type: ActivityType + who: string + what: string + time: string +}> = [ + { + type: 'bid', + who: '0xBB…3C26', + what: 'placed a bid of 0.42 ETH on Builder #765', + time: '12 min ago', + }, + { + type: 'vote', + who: 'haxixe.eth', + what: 'voted FOR proposal #61', + time: '1 h ago', + }, + { + type: 'prop', + who: 'r4topunk.eth', + what: 'created proposal #61', + time: '5 d ago', + }, + { + type: 'bid', + who: '0x4f2…91Cd', + what: 'placed a bid of 0.35 ETH on Builder #765', + time: '1 h ago', + }, + { + type: 'vote', + who: '0xE2E…6A2E1', + what: 'voted AGAINST proposal #58', + time: '2 mo ago', + }, +] + +export type MockMember = { + ens: string | null + addr: string + votes: number + pct: number + joined: string + active: boolean +} + +export const MEMBERS: MockMember[] = [ + { ens: 'haxixe.eth', addr: '0xE2E…6A2E1', votes: 24, pct: 3.65, joined: 'Mar 13, 2024', active: true }, + { ens: 'r4topunk.eth', addr: '0x4f2…91Cd', votes: 18, pct: 2.74, joined: 'Apr 02, 2024', active: true }, + { ens: null, addr: '0xBB…3C26', votes: 14, pct: 2.13, joined: 'Apr 15, 2024', active: true }, + { ens: 'gnarlyvlad.eth', addr: '0x9b8…1a45', votes: 12, pct: 1.82, joined: 'May 03, 2024', active: true }, + { ens: null, addr: '0xaa1…2bf3', votes: 11, pct: 1.67, joined: 'May 21, 2024', active: false }, + { ens: 'builder.eth', addr: '0x0001…0001', votes: 10, pct: 1.52, joined: 'Jun 11, 2024', active: true }, + { ens: null, addr: '0xcd4…99e2', votes: 9, pct: 1.37, joined: 'Jul 02, 2024', active: false }, + { ens: 'noggles.eth', addr: '0x77a…5512', votes: 8, pct: 1.21, joined: 'Jul 19, 2024', active: true }, + { ens: null, addr: '0x55b…2200', votes: 7, pct: 1.06, joined: 'Aug 05, 2024', active: false }, + { ens: null, addr: '0x12c…4f01', votes: 7, pct: 1.06, joined: 'Aug 22, 2024', active: true }, +] + +export const CONTRACTS = [ + { label: 'NFT', addr: '0xe8af882f2f5c7958023d710ac0e2344070099432' }, + { label: 'Auction House', addr: '0x6A8289Ad5Cf685C8753a47Ff7FaF7A22A04D6FCe' }, + { label: 'Governor', addr: '0x6623D2A904297a5ed9c8A4b613c4b584F8428CeF' }, + { label: 'Treasury', addr: '0xcF325a4C7891221624988185211b0798A0f904C10' }, + { label: 'Metadata', addr: '0xaEF0ca909bAaEe9A8f8400D77c0a0a9bB18f766c' }, + { label: 'Escrow Delegate', addr: '0x98bc10924a2D0A81c9C2056b84cE084b71D9D1cF' }, +] + +export const CHART_AUCTION = [3.2, 2.1, 1.8, 1.4, 2.6, 3.4, 2.2, 2.8, 3.1, 3.6, 4.2, 4.8] +export const CHART_PROPOSALS = [3, 4, 2, 5, 4, 6, 5, 7, 4, 6, 7, 5] +export const CHART_MEMBERS = [22, 28, 24, 31, 18, 26, 30, 27, 33, 24, 29, 35, 31, 28] diff --git a/src/lib/utils.ts b/src/lib/utils.ts new file mode 100644 index 000000000..d32b0fe65 --- /dev/null +++ b/src/lib/utils.ts @@ -0,0 +1,6 @@ +import { type ClassValue, clsx } from 'clsx' +import { twMerge } from 'tailwind-merge' + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)) +} diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx deleted file mode 100644 index 1e96e5c7c..000000000 --- a/src/pages/_app.tsx +++ /dev/null @@ -1,99 +0,0 @@ -import '@buildeross/zord/index.css' -import '@buildeross/ui/index.css' -import '@buildeross/auction-ui/index.css' -import '@buildeross/proposal-ui/index.css' -import '@buildeross/dao-ui/index.css' -import '@buildeross/create-proposal-ui/index.css' -import '@fontsource/inter/400.css' -import '@fontsource/inter/600.css' -import '@fontsource/londrina-solid' -import '@rainbow-me/rainbowkit/styles.css' -import '@/styles/globals.css' -import '@/styles/styles.css' -import 'flatpickr/dist/themes/light.css' -import 'react-mde/lib/styles/css/react-mde-all.css' - -import { - ChainStoreProvider, - createChainStore, - createDaoStore, - DaoStoreProvider, -} from '@buildeross/stores' -import { ConnectModalProvider } from '@buildeross/ui/ConnectModalProvider' -import { LinkComponentProvider } from '@buildeross/ui/LinkComponentProvider' -import { RainbowKitProvider, useConnectModal } from '@rainbow-me/rainbowkit' -import { QueryClient, QueryClientProvider } from '@tanstack/react-query' -import type { AppProps } from 'next/app' -import Link from 'next/link' -import { useMemo } from 'react' -import { SWRConfig } from 'swr' -import { WagmiProvider } from 'wagmi' - -import { Layout } from '@/components/Layout' -import { LinksProvider } from '@/components/LinksProvider' -import { getDaoConfig } from '@/config' -import { config } from '@/utils/clientConfig' - -const queryClient = new QueryClient({ - defaultOptions: { - queries: { - // With SSR, we usually want to set some default staleTime - // above 0 to avoid refetching immediately on the client - staleTime: 5000, - refetchInterval: 5000, - }, - }, -}) - -type AppPropsWithLayout = AppProps & { - err?: Error -} - -// Provider component that includes DAO and Chain stores -function ProvidersWrapper({ children }: { children: React.ReactNode }) { - const { openConnectModal } = useConnectModal() - - // Get the DAO configuration - const daoConfig = getDaoConfig() - - // Create stores - const chainStore = useMemo(() => createChainStore(daoConfig.chain), [daoConfig.chain]) - const daoStore = useMemo( - () => createDaoStore(daoConfig.addresses), - [daoConfig?.addresses] - ) - - return ( - - - {children} - - - ) -} - -function App({ Component, pageProps, err }: AppPropsWithLayout) { - const fallback = pageProps?.fallback ?? {} - - return ( - - - - - - - - - - - - - - - - - - ) -} - -export default App diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx deleted file mode 100644 index 9c49b7c82..000000000 --- a/src/pages/_document.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { lightTheme, ThemeProvider } from '@buildeross/zord' -import { Head, Html, Main, NextScript } from 'next/document' - -export default function Document() { - return ( - - - - - - - - - -
- - - - ) -} diff --git a/src/pages/about.tsx b/src/pages/about.tsx deleted file mode 100644 index 566645a60..000000000 --- a/src/pages/about.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { About } from '@buildeross/dao-ui' -import { NextPage } from 'next' -import Head from 'next/head' -import { useRouter } from 'next/router' -import React from 'react' - -import { getDaoConfig } from '@/config' - -const AboutPage: NextPage = () => { - const { push } = useRouter() - const daoConfig = getDaoConfig() - - const onOpenTreasury = React.useCallback(async () => { - await push('/treasury') - }, [push]) - - return ( - <> - - {`About | ${daoConfig.name}`} - - - - - - -
- -
- - ) -} - -export default AboutPage diff --git a/src/pages/api/pinata/generate-jwt.ts b/src/pages/api/pinata/generate-jwt.ts deleted file mode 100644 index 6ca1e26d8..000000000 --- a/src/pages/api/pinata/generate-jwt.ts +++ /dev/null @@ -1,16 +0,0 @@ -import type { NextApiRequest, NextApiResponse } from 'next' -import { generateUploadJWT } from 'src/services/pinataService' -import { withErrorHandling } from 'src/utils/api/error' - -const handler = withErrorHandling(async (req: NextApiRequest, res: NextApiResponse) => { - if (req.method !== 'POST') { - res.setHeader('Allow', ['POST']) - return res.status(405).end(`Method ${req.method} Not Allowed`) - } - - const result = await generateUploadJWT() - res.setHeader('Cache-Control', 'no-cache, no-store, must-revalidate') - res.status(200).json(result) -}) - -export default handler diff --git a/src/pages/api/pinata/pin-cid.ts b/src/pages/api/pinata/pin-cid.ts deleted file mode 100644 index 8353e5fc7..000000000 --- a/src/pages/api/pinata/pin-cid.ts +++ /dev/null @@ -1,16 +0,0 @@ -import type { NextApiRequest, NextApiResponse } from 'next' -import { pinCidToIPFS } from 'src/services/pinataService' -import { withErrorHandling } from 'src/utils/api/error' - -const handler = withErrorHandling(async (req: NextApiRequest, res: NextApiResponse) => { - if (req.method !== 'POST') { - res.setHeader('Allow', ['POST']) - return res.status(405).end(`Method ${req.method} Not Allowed`) - } - - const { cid, name, group_id } = req.body - const result = await pinCidToIPFS({ cid, name, group_id }) - return res.status(200).json({ text: result.status }) -}) - -export default handler diff --git a/src/pages/api/pinata/pin-json.ts b/src/pages/api/pinata/pin-json.ts deleted file mode 100644 index 026046ced..000000000 --- a/src/pages/api/pinata/pin-json.ts +++ /dev/null @@ -1,15 +0,0 @@ -import type { NextApiRequest, NextApiResponse } from 'next' -import { pinJsonToIPFS } from 'src/services/pinataService' -import { withErrorHandling } from 'src/utils/api/error' - -const handler = withErrorHandling(async (req: NextApiRequest, res: NextApiResponse) => { - if (req.method !== 'POST') { - res.setHeader('Allow', ['POST']) - return res.status(405).end(`Method ${req.method} Not Allowed`) - } - - const result = await pinJsonToIPFS(req.body) - return res.status(200).json(result) -}) - -export default handler diff --git a/src/pages/api/pinata/upload-url.ts b/src/pages/api/pinata/upload-url.ts deleted file mode 100644 index b2f46ae31..000000000 --- a/src/pages/api/pinata/upload-url.ts +++ /dev/null @@ -1,16 +0,0 @@ -import type { NextApiRequest, NextApiResponse } from 'next' -import { createSignedUploadUrl } from 'src/services/pinataService' -import { withErrorHandling } from 'src/utils/api/error' - -const handler = withErrorHandling(async (req: NextApiRequest, res: NextApiResponse) => { - if (req.method !== 'POST') { - res.setHeader('Allow', ['POST']) - return res.status(405).end(`Method ${req.method} Not Allowed`) - } - - const { type } = req.body - const result = await createSignedUploadUrl(type) - return res.status(200).json(result) -}) - -export default handler diff --git a/src/pages/api/simulate.ts b/src/pages/api/simulate.ts deleted file mode 100644 index 9a0e4a25a..000000000 --- a/src/pages/api/simulate.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { ErrorResult, SimulationResult } from '@buildeross/types' -import type { NextApiRequest, NextApiResponse } from 'next' -import { InvalidRequestError } from 'src/services/errors' -import { simulate } from 'src/services/simulationService' - -async function handler( - req: NextApiRequest, - res: NextApiResponse -) { - if (req.method !== 'POST') { - return res.status(405).send({ error: 'Only POST requests allowed' }) - } - - try { - const result = await simulate(req.body) - return res.status(200).json(result) - } catch (error) { - console.error(error) - - if (error instanceof InvalidRequestError) { - return res.status(400).json({ error: error.message }) - } - if ((error as Error).message.includes('insufficient funds for')) { - return res.status(400).json({ - error: - 'Insufficient treasury funds to carry out some or all of these transactions', - }) - } - return res.status(500).json({ - error: 'Unexpected Error: Unable to simulate these transactions', - }) - } -} - -export default handler diff --git a/src/pages/contracts.tsx b/src/pages/contracts.tsx deleted file mode 100644 index ead07114a..000000000 --- a/src/pages/contracts.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { SmartContracts } from '@buildeross/dao-ui' -import { NextPage } from 'next' -import Head from 'next/head' - -import { getDaoConfig } from '@/config' - -const ContractsPage: NextPage = () => { - const daoConfig = getDaoConfig() - - return ( - <> - - {`Smart Contracts | ${daoConfig.name}`} - - - - - - -
- -
- - ) -} - -export default ContractsPage diff --git a/src/pages/index.tsx b/src/pages/index.tsx deleted file mode 100644 index 6969f2b6c..000000000 --- a/src/pages/index.tsx +++ /dev/null @@ -1,113 +0,0 @@ -import { CACHE_TIMES } from '@buildeross/constants/cacheTimes' -import { PreAuction } from '@buildeross/dao-ui' -import { OrderDirection, SubgraphSDK, Token_OrderBy } from '@buildeross/sdk/subgraph' -import { AddressType, CHAIN_ID } from '@buildeross/types' -import { Flex } from '@buildeross/zord' -import { GetServerSideProps } from 'next' -import Head from 'next/head' -import { useRouter } from 'next/router' -import React from 'react' - -import { getDaoConfig, RequiredDaoContractAddresses } from '@/config' - -interface HomePageProps { - hasTokens: boolean - addresses: RequiredDaoContractAddresses - chainId: CHAIN_ID - collectionAddress: AddressType -} - -export default function Home({ - hasTokens, - addresses: _addresses, - chainId: _chainId, - collectionAddress, -}: HomePageProps) { - const { push } = useRouter() - const daoConfig = getDaoConfig() - const chain = daoConfig.chain - - const openTokenPage = React.useCallback( - async (tokenId: number) => { - await push(`/token/${tokenId}`) - }, - [push] - ) - - // If we have tokens, this should have redirected in getServerSideProps - // So this only renders when there are no tokens yet (PreAuction state) - if (hasTokens) { - return null - } - - return ( - <> - - {`${daoConfig.name} - Home`} - - - - - - - - {}} - /> - - - ) -} - -export const getServerSideProps: GetServerSideProps = async ({ res }) => { - const { maxAge, swr } = CACHE_TIMES.DAO_INFO - res.setHeader( - 'Cache-Control', - `public, s-maxage=${maxAge}, stale-while-revalidate=${swr}` - ) - - try { - const daoConfig = getDaoConfig() - const { chain, addresses } = daoConfig - - // Get the latest token ID - const latestTokenId = await SubgraphSDK.connect(chain.id) - .tokens({ - where: { - dao: addresses.token.toLowerCase(), - }, - orderBy: Token_OrderBy.TokenId, - orderDirection: OrderDirection.Desc, - first: 1, - }) - .then((x) => (x.tokens.length > 0 ? x.tokens[0].tokenId : undefined)) - - if (!latestTokenId) { - // If no tokens exist yet, show the PreAuction page - return { - props: { - hasTokens: false, - addresses, - chainId: chain.id, - collectionAddress: addresses.token, - }, - } - } - - // Redirect to the latest token page - return { - redirect: { - destination: `/token/${latestTokenId}`, - permanent: false, - }, - } - } catch (e) { - console.error('Error fetching latest token:', e) - return { - notFound: true, - } - } -} diff --git a/src/pages/proposal/[proposalId].tsx b/src/pages/proposal/[proposalId].tsx deleted file mode 100644 index 2870d3d2b..000000000 --- a/src/pages/proposal/[proposalId].tsx +++ /dev/null @@ -1,259 +0,0 @@ -import { SWR_KEYS } from '@buildeross/constants/swrKeys' -import { SectionHandler } from '@buildeross/dao-ui' -import { - PropDates, - ProposalActions, - ProposalDescription, - ProposalDetailsGrid, - ProposalHeader, - ProposalVotes, -} from '@buildeross/proposal-ui' -import type { Proposal_Filter } from '@buildeross/sdk/subgraph' -import { isChainIdSupportedByEAS } from '@buildeross/sdk/subgraph' -import { formatAndFetchState, getProposal, SubgraphSDK } from '@buildeross/sdk/subgraph' -import { useDaoStore } from '@buildeross/stores' -import type { AddressType, CHAIN_ID } from '@buildeross/types' -import { isProposalOpen } from '@buildeross/utils/proposalState' -import { Box, Flex, Icon } from '@buildeross/zord' -import type { GetServerSideProps } from 'next' -import Head from 'next/head' -import { useRouter } from 'next/router' -import React, { Fragment } from 'react' -import useSWR, { unstable_serialize } from 'swr' -import { getAddress, isAddressEqual } from 'viem' -import { useBalance } from 'wagmi' - -import { getDaoConfig } from '@/config' - -export interface VotePageProps { - proposalNumber: number - proposalId: string - daoName: string - chainId: CHAIN_ID -} - -const BAD_ACTORS = [ - '0xfd637806e0D22Ca8158AB8bb5826e6fEDa82c15f', - '0xb8fa1f523976008e9db686fcfdb5e57f1ca43f50', -] - -const checkDrain = (values: string[], treasuryBalance: bigint) => { - const proposalValue = values.reduce((acc, numStr) => acc + BigInt(numStr), BigInt(0)) - const thresholdAmt = (treasuryBalance * BigInt(90)) / BigInt(100) - - return proposalValue >= thresholdAmt -} - -const ProposalDetailPage: React.FC = ({ - proposalId, - daoName, - chainId, -}) => { - const addresses = useDaoStore((state) => state.addresses) - const { query, push, pathname } = useRouter() - - const { data: balance } = useBalance({ - address: addresses.treasury, - chainId: chainId, - }) - - const { data: proposal } = useSWR( - chainId && proposalId ? ([SWR_KEYS.PROPOSAL, chainId, proposalId] as const) : null, - ([, _chainId, _proposalId]) => getProposal(_chainId, _proposalId) - ) - - const openProposalReviewPage = React.useCallback(async () => { - await push('/proposal/review') - }, [push]) - - const openDaoActivityPage = React.useCallback(async () => { - await push('/proposals') - }, [push]) - - const sections = React.useMemo(() => { - if (!proposal || !addresses.token) return [] - const sections = [ - { - title: 'Details', - component: [ - , - ], - }, - { - title: 'Votes', - component: [], - }, - ] - - if (isChainIdSupportedByEAS(chainId)) { - sections.push({ - title: 'Propdates', - component: [], - }) - } - return sections - }, [proposal, chainId, addresses.token, openProposalReviewPage]) - - const { displayActions, displayWarning } = React.useMemo(() => { - if (!proposal) return { displayActions: false, displayWarning: false } - const displayActions = isProposalOpen(proposal.state) - const isBadActor = BAD_ACTORS.some((baddie) => - isAddressEqual(proposal.proposer, baddie as AddressType) - ) - const isPossibleDrain = balance?.value - ? checkDrain(proposal.values, balance?.value) - : false - - const displayWarning = displayActions && (isBadActor || isPossibleDrain) - - return { displayActions, displayWarning } - }, [proposal, balance]) - - const openTab = React.useCallback( - async (tab: string, scroll?: boolean) => { - const nextQuery = { ...query } - nextQuery['tab'] = tab - - await push( - { - pathname, - query: nextQuery, - }, - undefined, - { shallow: true, scroll } - ) - }, - [push, pathname, query] - ) - - if (!proposal) { - return null - } - - return ( - - - {`${daoName} - Prop ${proposal.proposalNumber}`} - - - - - - - - <> - {displayWarning && ( - - - - {`Executing this proposal will transfer more than 90% of ${daoName}'s treasury.`} - - - )} - - {displayActions && } - - - - - - - - openTab(tab, false)} - /> - - - ) -} - -export default ProposalDetailPage - -export const getServerSideProps: GetServerSideProps = async ({ params }) => { - const proposalIdOrNumber = params?.proposalId as string - const daoConfig = getDaoConfig() - - if (!daoConfig) { - return { - notFound: true, - } - } - - const { chain, addresses } = daoConfig - - let where: Proposal_Filter - - where = proposalIdOrNumber.startsWith('0x') - ? { - proposalId: proposalIdOrNumber.toLowerCase(), - } - : { - proposalNumber: Number.parseInt(proposalIdOrNumber), - dao: addresses.token.toLowerCase(), - } - - const data = await SubgraphSDK.connect(chain.id) - .proposalOGMetadata({ - where, - first: 1, - }) - .then((x) => (x.proposals.length > 0 ? x.proposals[0] : undefined)) - - if (!data) { - return { - notFound: true, - } - } - - const proposal = await formatAndFetchState(chain.id, data) - - if (!proposal) { - return { - notFound: true, - } - } - - if (getAddress(proposal.dao.tokenAddress) !== getAddress(addresses.token)) { - return { - notFound: true, - } - } - - const { name } = data.dao - - return { - props: { - fallback: { - [unstable_serialize([SWR_KEYS.PROPOSAL, chain.id, proposal.proposalId])]: - proposal, - }, - daoName: name, - proposalId: proposal.proposalId, - proposalNumber: proposal.proposalNumber, - chainId: chain.id, - }, - } -} diff --git a/src/pages/proposal/create.tsx b/src/pages/proposal/create.tsx deleted file mode 100644 index 75515c6d4..000000000 --- a/src/pages/proposal/create.tsx +++ /dev/null @@ -1,198 +0,0 @@ -import { - CreateProposalHeading, - SelectTransactionType, - TRANSACTION_FORM_OPTIONS, - TransactionForm, - TransactionFormType, - TransactionTypeIcon, - TwoColumnLayout, -} from '@buildeross/create-proposal-ui' -import { useDelayedGovernance } from '@buildeross/hooks/useDelayedGovernance' -import { useRendererBaseFix } from '@buildeross/hooks/useRendererBaseFix' -import { useVotes } from '@buildeross/hooks/useVotes' -import { TRANSACTION_TYPES, TransactionType } from '@buildeross/proposal-ui' -import { auctionAbi } from '@buildeross/sdk/contract' -import { isChainIdSupportedByEAS } from '@buildeross/sdk/subgraph' -import { useChainStore, useDaoStore, useProposalStore } from '@buildeross/stores' -import { DropdownSelect } from '@buildeross/ui/DropdownSelect' -import { Flex, Stack } from '@buildeross/zord' -import { NextPage } from 'next' -import Head from 'next/head' -import { useRouter } from 'next/router' -import React, { useCallback, useEffect, useMemo, useState } from 'react' -import { useAccount, useReadContract } from 'wagmi' - -import { getDaoConfig } from '@/config' - -const createSelectOption = (type: TransactionFormType) => ({ - value: type, - label: TRANSACTION_TYPES[type].title, - icon: , -}) - -const CreateProposalPage: NextPage = () => { - const { push } = useRouter() - const addresses = useDaoStore((x) => x.addresses) - const daoConfig = getDaoConfig() - const { auction } = addresses - const chain = useChainStore((x) => x.chain) - const [transactionType, setTransactionType] = useState< - TransactionFormType | undefined - >() - const transactions = useProposalStore((state) => state.transactions) - - const { data: paused } = useReadContract({ - abi: auctionAbi, - address: auction, - functionName: 'paused', - chainId: chain.id, - }) - - const { shouldFix: shouldFixRendererBase } = useRendererBaseFix({ - chainId: chain.id, - addresses, - }) - - useEffect(() => { - if (transactions.length && !transactionType) { - // eslint-disable-next-line react-hooks/set-state-in-effect - setTransactionType(transactions[0].type as TransactionFormType) - } - }, [transactions, transactionType, setTransactionType]) - - const { address } = useAccount() - - const { isLoading, hasThreshold } = useVotes({ - chainId: chain.id, - governorAddress: addresses.governor, - signerAddress: address, - collectionAddress: addresses.token, - }) - - const { isGovernanceDelayed } = useDelayedGovernance({ - chainId: chain.id, - tokenAddress: addresses.token, - governorAddress: addresses.governor, - }) - - const isEASSupported = useMemo(() => isChainIdSupportedByEAS(chain.id), [chain.id]) - - const TRANSACTION_FORM_OPTIONS_FILTERED = useMemo( - () => - TRANSACTION_FORM_OPTIONS.filter((x) => { - if (x === TransactionType.MIGRATION) return false - if (x === TransactionType.DROPOSAL) return false - if (x === TransactionType.PAUSE_AUCTIONS && paused) return false - if (x === TransactionType.RESUME_AUCTIONS && !paused) return false - if (x === TransactionType.FIX_RENDERER_BASE && !shouldFixRendererBase) - return false - if (x === TransactionType.ESCROW_DELEGATE && !isEASSupported) return false - return true - }), - [paused, shouldFixRendererBase, isEASSupported] - ) - - const options = useMemo(() => { - return TRANSACTION_FORM_OPTIONS_FILTERED.map(createSelectOption) - }, [TRANSACTION_FORM_OPTIONS_FILTERED]) - - const openDaoActivityPage = useCallback(async () => { - await push('/proposals') - }, [push]) - - const openDaoAdminPage = useCallback(async () => { - await push('/settings') - }, [push]) - - const openProposalReviewPage = useCallback(async () => { - await push('/proposal/review') - }, [push]) - - if (isLoading) return null - - if (!address) - return ( - <> - - {`Create Proposal | ${daoConfig.name}`} - - - - - - - - Please connect your wallet to access this page - - - ) - - if (!hasThreshold || isGovernanceDelayed) { - return ( - <> - - {`Create Proposal | ${daoConfig.name}`} - - - - - - - - {`Access Restricted - You don't have permission to access this page`} - - - ) - } - - return ( - <> - - {`Create Proposal | ${daoConfig.name}`} - - - - - - - - - {transactionType ? ( - - setTransactionType(value)} - /> - - - } - /> - ) : ( - - } - /> - )} - - - ) -} - -export default CreateProposalPage diff --git a/src/pages/proposal/review.tsx b/src/pages/proposal/review.tsx deleted file mode 100644 index f72779cbb..000000000 --- a/src/pages/proposal/review.tsx +++ /dev/null @@ -1,139 +0,0 @@ -import { SUCCESS_MESSAGES } from '@buildeross/constants/messages' -import { CreateProposalHeading, ReviewProposalForm } from '@buildeross/create-proposal-ui' -import { useDelayedGovernance } from '@buildeross/hooks/useDelayedGovernance' -import { useVotes } from '@buildeross/hooks/useVotes' -import { useChainStore, useDaoStore, useProposalStore } from '@buildeross/stores' -import { atoms, Box, Flex, Icon, Stack, Text } from '@buildeross/zord' -import { NextPage } from 'next' -import Head from 'next/head' -import { useRouter } from 'next/router' -import React from 'react' -import { useAccount } from 'wagmi' - -import { getDaoConfig } from '@/config' - -const ReviewProposalPage: NextPage = () => { - const chain = useChainStore((x) => x.chain) - const { back, push } = useRouter() - const daoConfig = getDaoConfig() - - const { addresses } = useDaoStore() - const { address } = useAccount() - - const { isLoading, hasThreshold } = useVotes({ - chainId: chain.id, - governorAddress: addresses.governor, - signerAddress: address, - collectionAddress: addresses.token, - }) - - const { isGovernanceDelayed } = useDelayedGovernance({ - chainId: chain.id, - tokenAddress: addresses.token, - governorAddress: addresses.governor, - }) - - const { transactions, disabled, title, summary } = useProposalStore() - - const onProposalCreated = React.useCallback(async () => { - await push({ - pathname: '/proposals', - query: { - message: SUCCESS_MESSAGES.PROPOSAL_SUBMISSION_SUCCESS, - }, - }) - }, [push]) - - const onEditTransactions = React.useCallback(async () => { - await push('/proposal/create') - }, [push]) - - if (isLoading) return null - - if (!address) - return ( - <> - - {`Review Proposal | ${daoConfig.name}`} - - - - - - - - Please connect your wallet to access this page - - - ) - - if (!hasThreshold || isGovernanceDelayed) { - return ( - <> - - {`Review Proposal | ${daoConfig.name}`} - - - - - - - - {`Access Restricted - You don't have permission to access this page`} - - - ) - } - - return ( - <> - - {`Review Proposal | ${daoConfig.name}`} - - - - - - - - - - - - - Tips on how to write great proposals - - - - - - - - - - - ) -} - -export default ReviewProposalPage diff --git a/src/pages/proposals.tsx b/src/pages/proposals.tsx deleted file mode 100644 index 9437af2c1..000000000 --- a/src/pages/proposals.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import { Activity } from '@buildeross/dao-ui' -import { NextPage } from 'next' -import Head from 'next/head' -import { useRouter } from 'next/router' -import React from 'react' - -import { getDaoConfig } from '@/config' - -const ProposalsPage: NextPage = () => { - const { push } = useRouter() - const daoConfig = getDaoConfig() - - const onOpenProposalCreate = React.useCallback(async () => { - await push('/proposal/create') - }, [push]) - - const onOpenProposalReview = React.useCallback(async () => { - await push('/proposal/review') - }, [push]) - - return ( - <> - - {`Proposals | ${daoConfig.name}`} - - - - - - -
- -
- - ) -} - -export default ProposalsPage diff --git a/src/pages/settings.tsx b/src/pages/settings.tsx deleted file mode 100644 index a31740e2e..000000000 --- a/src/pages/settings.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import { Admin } from '@buildeross/dao-ui' -import { Flex } from '@buildeross/zord' -import { NextPage } from 'next' -import Head from 'next/head' -import { useRouter } from 'next/router' -import React from 'react' -import { useAccount } from 'wagmi' - -import { getDaoConfig } from '@/config' -import { useSettingsAccess } from '@/hooks/useSettingsAccess' - -const SettingsPage: NextPage = () => { - const { push } = useRouter() - const { address } = useAccount() - const { isLoading, hasAccess } = useSettingsAccess() - const daoConfig = getDaoConfig() - - const onOpenProposalReview = React.useCallback(async () => { - await push('/proposal/review') - }, [push]) - - if (isLoading) return null - - if (!address) - return ( - <> - - {`Settings | ${daoConfig.name}`} - - - - - - - - Please connect your wallet to access this page - - - ) - - if (!hasAccess) { - return ( - <> - - {`Settings | ${daoConfig.name}`} - - - - - - - - {`Access Restricted - You don't have permission to access this page`} - - - ) - } - - return ( - <> - - {`Settings | ${daoConfig.name}`} - - - - - - -
- -
- - ) -} - -export default SettingsPage diff --git a/src/pages/token/[tokenId].tsx b/src/pages/token/[tokenId].tsx deleted file mode 100644 index 703ef4ecc..000000000 --- a/src/pages/token/[tokenId].tsx +++ /dev/null @@ -1,112 +0,0 @@ -import { DaoAuctionSection, type TokenWithDao } from '@buildeross/auction-ui' -import { CACHE_TIMES } from '@buildeross/constants/cacheTimes' -import { SubgraphSDK } from '@buildeross/sdk/subgraph' -import { AddressType, CHAIN_ID } from '@buildeross/types' -import { Flex } from '@buildeross/zord' -import { GetServerSideProps } from 'next' -import Head from 'next/head' -import { useRouter } from 'next/router' -import React from 'react' - -import { getDaoConfig, RequiredDaoContractAddresses } from '@/config' - -interface TokenPageProps { - token: TokenWithDao - addresses: RequiredDaoContractAddresses - chainId: CHAIN_ID - collectionAddress: AddressType -} - -const TokenPage: React.FC = ({ - token, - addresses, - chainId: _chainId, - collectionAddress, -}) => { - const { push } = useRouter() - const daoConfig = getDaoConfig() - const chain = daoConfig.chain - - const onAuctionCreated = React.useCallback( - (tokenId: bigint) => { - push(`/token/${tokenId.toString()}`) - }, - [push] - ) - - return ( - <> - - {`${daoConfig.name} - Token #${token.tokenId}`} - - - - - - - - - - - ) -} - -export default TokenPage - -export const getServerSideProps: GetServerSideProps = async ({ params, res }) => { - const tokenId = params?.tokenId as string - - try { - const daoConfig = getDaoConfig() - const { chain, addresses } = daoConfig - - const token = await SubgraphSDK.connect(chain.id) - .tokenWithDao({ - id: `${addresses.token.toLowerCase()}:${tokenId}`, - }) - .then((x) => x.token) - - if (!token) { - return { - notFound: true, - } - } - - const { maxAge, swr } = CACHE_TIMES.TOKEN_INFO - res.setHeader( - 'Cache-Control', - `public, s-maxage=${maxAge}, stale-while-revalidate=${swr}` - ) - - const props: TokenPageProps = { - token, - addresses, - chainId: chain.id, - collectionAddress: addresses.token, - } - - return { - props, - } - } catch (e) { - console.error('Error fetching token:', e) - return { - notFound: true, - } - } -} diff --git a/src/pages/token/index.tsx b/src/pages/token/index.tsx deleted file mode 100644 index 10f49bc77..000000000 --- a/src/pages/token/index.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import { CACHE_TIMES } from '@buildeross/constants/cacheTimes' -import { OrderDirection, SubgraphSDK, Token_OrderBy } from '@buildeross/sdk/subgraph' -import { CHAIN_ID } from '@buildeross/types' -import { GetServerSideProps } from 'next' - -import { getDaoConfig, RequiredDaoContractAddresses } from '@/config' - -interface TokenIndexPageProps { - addresses: RequiredDaoContractAddresses - chainId: CHAIN_ID -} - -export default function TokenIndex({ - addresses: _addresses, - chainId: _chainId, -}: TokenIndexPageProps) { - // This should not render as getServerSideProps handles redirection - return null -} - -export const getServerSideProps: GetServerSideProps = async ({ res }) => { - const { maxAge, swr } = CACHE_TIMES.DAO_INFO - res.setHeader( - 'Cache-Control', - `public, s-maxage=${maxAge}, stale-while-revalidate=${swr}` - ) - - try { - const daoConfig = getDaoConfig() - const { chain, addresses } = daoConfig - - // Get the latest token ID - const latestTokenId = await SubgraphSDK.connect(chain.id) - .tokens({ - where: { - dao: addresses.token.toLowerCase(), - }, - orderBy: Token_OrderBy.TokenId, - orderDirection: OrderDirection.Desc, - first: 1, - }) - .then((x) => (x.tokens.length > 0 ? x.tokens[0].tokenId : undefined)) - - if (!latestTokenId) { - // If no tokens exist yet, redirect to home (PreAuction page) - return { - redirect: { - destination: '/', - permanent: false, - }, - } - } - - // Redirect to the latest token page - return { - redirect: { - destination: `/token/${latestTokenId}`, - permanent: false, - }, - } - } catch (e) { - console.error('Error fetching latest token:', e) - return { - notFound: true, - } - } -} diff --git a/src/pages/treasury.tsx b/src/pages/treasury.tsx deleted file mode 100644 index f6c9fce0e..000000000 --- a/src/pages/treasury.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { Treasury } from '@buildeross/dao-ui' -import { NextPage } from 'next' -import Head from 'next/head' - -import { getDaoConfig } from '@/config' - -const TreasuryPage: NextPage = () => { - const daoConfig = getDaoConfig() - - return ( - <> - - {`Treasury | ${daoConfig.name}`} - - - - - - -
- -
- - ) -} - -export default TreasuryPage diff --git a/src/styles/connect.css.ts b/src/styles/connect.css.ts deleted file mode 100644 index ab8789628..000000000 --- a/src/styles/connect.css.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { style } from '@vanilla-extract/css' - -export const connectContainer = style({ - display: 'flex', - justifyContent: 'center', - alignItems: 'center', - margin: '2rem 0', - padding: '1rem', - border: '2px solid #e0e0e0', - borderRadius: '8px', - backgroundColor: '#f9f9f9', -}) - -export const connectLabel = style({ - marginBottom: '0.5rem', - fontSize: '1.2rem', - fontWeight: 'bold', - color: '#333', - textAlign: 'center', -}) diff --git a/src/styles/globals.css b/src/styles/globals.css deleted file mode 100644 index d6b63902a..000000000 --- a/src/styles/globals.css +++ /dev/null @@ -1,78 +0,0 @@ -/* combine */ -@import url('https://fonts.googleapis.com/css2?family=Londrina+Solid:wght@400;900&display=swap'); -@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&family=M+PLUS+Rounded+1c:wght@900&display=swap'); - -@font-face { - font-family: ptRoot; - src: url('/fonts/pt-root-ui_regular.woff2') format('woff2'); - font-weight: 400; - font-style: normal; - font-display: swap; - -} - -@font-face { - font-family: ptRoot; - src: url('/fonts/pt-root-ui_medium.woff2') format('woff2'); - font-weight: 500; - font-display: swap; -} - -@font-face { - font-family: ptRoot; - src: url('/fonts/pt-root-ui_bold.woff2') format('woff2'); - font-weight: 700; - font-display: swap; -} - -html, -body { - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -a { - color: inherit; - text-decoration: none; -} - -a:hover { - color: #000; -} - -input::-webkit-outer-spin-button, -input::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; -} - -input[type="number"] { - -moz-appearance: textfield; -} - -#connect-button-wrapper * div, -#connect-button-wrapper * button { - background: #000; - border: 0; - font-family: 'ptRoot', 'Arial', 'Helvetica', 'sans-serif' !important; - color: #fff; - font-weight: 700; - box-shadow: none; - font-size: 16px; - line-height: 24px; - z-index: 2; - padding: 8px 0 8px 0; - width: 100%; - border-radius: 8px; - text-align: center; -} - -#connect-button-wrapper > div { - width: 100%; -} - -#connect-button-wrapper * div:hover, -#connect-button-wrapper * button:hover { - cursor: pointer; -} - diff --git a/src/styles/home.css.ts b/src/styles/home.css.ts deleted file mode 100644 index 384648585..000000000 --- a/src/styles/home.css.ts +++ /dev/null @@ -1,204 +0,0 @@ -import { style } from '@vanilla-extract/css' - -export const page = style({ - vars: { - '--gray-rgb': '0, 0, 0', - '--gray-alpha-200': 'rgba(var(--gray-rgb), 0.08)', - '--gray-alpha-100': 'rgba(var(--gray-rgb), 0.05)', - '--button-primary-hover': '#383838', - '--button-secondary-hover': '#f2f2f2', - }, - - display: 'grid', - gridTemplateRows: '20px 1fr 20px', - alignItems: 'center', - justifyItems: 'center', - minHeight: '100svh', - padding: '80px', - gap: '64px', - fontFamily: 'var(--font-geist-sans)', - - '@media': { - '(prefers-color-scheme: dark)': { - vars: { - '--gray-rgb': '255, 255, 255', - '--gray-alpha-200': 'rgba(var(--gray-rgb), 0.145)', - '--gray-alpha-100': 'rgba(var(--gray-rgb), 0.06)', - '--button-primary-hover': '#ccc', - '--button-secondary-hover': '#1a1a1a', - }, - }, - '(max-width: 600px)': { - padding: '32px', - paddingBottom: '80px', - }, - }, -}) - -export const main = style({ - display: 'flex', - flexDirection: 'column', - gap: '32px', - gridRowStart: 2, - - '@media': { - '(max-width: 600px)': { - alignItems: 'center', - }, - }, -}) - -export const mainList = style({ - fontFamily: 'var(--font-geist-mono)', - paddingLeft: 0, - margin: 0, - fontSize: '14px', - lineHeight: '24px', - letterSpacing: '-0.01em', - listStylePosition: 'inside', - - '@media': { - '(max-width: 600px)': { - textAlign: 'center', - }, - }, -}) - -export const mainListItem = style({ - selectors: { - '&:not(:last-of-type)': { - marginBottom: '8px', - }, - }, -}) - -export const mainCode = style({ - fontFamily: 'inherit', - background: 'var(--gray-alpha-100)', - padding: '2px 4px', - borderRadius: '4px', - fontWeight: 600, -}) - -export const logo = style({ - '@media': { - '(prefers-color-scheme: dark)': { - filter: 'invert()', - }, - }, -}) - -export const ctas = style({ - display: 'flex', - gap: '16px', - - '@media': { - '(max-width: 600px)': { - flexDirection: 'column', - }, - }, -}) - -export const ctaButton = style({ - appearance: 'none', - borderRadius: '128px', - height: '48px', - padding: '0 20px', - border: 'none', - borderWidth: '1px', - borderStyle: 'solid', - borderColor: 'transparent', - transition: 'background 0.2s, color 0.2s, border-color 0.2s', - cursor: 'pointer', - display: 'flex', - alignItems: 'center', - justifyContent: 'center', - fontSize: '16px', - lineHeight: '20px', - fontWeight: 500, - - '@media': { - '(max-width: 600px)': { - fontSize: '14px', - height: '40px', - padding: '0 16px', - }, - }, -}) - -export const primary = style([ - ctaButton, - { - background: 'var(--foreground)', - color: 'var(--background)', - gap: '8px', - - selectors: { - '&:hover': { - background: 'var(--button-primary-hover)', - borderColor: 'transparent', - }, - }, - - '@media': { - '(hover: hover) and (pointer: fine)': {}, - }, - }, -]) - -export const secondary = style([ - ctaButton, - { - borderColor: 'var(--gray-alpha-200)', - minWidth: '158px', - - selectors: { - '&:hover': { - background: 'var(--button-secondary-hover)', - borderColor: 'transparent', - }, - }, - - '@media': { - '(max-width: 600px)': { - minWidth: 'auto', - }, - '(hover: hover) and (pointer: fine)': {}, - }, - }, -]) - -export const footer = style({ - gridRowStart: 3, - display: 'flex', - gap: '24px', - - '@media': { - '(max-width: 600px)': { - flexWrap: 'wrap', - alignItems: 'center', - justifyContent: 'center', - }, - }, -}) - -export const footerLink = style({ - display: 'flex', - alignItems: 'center', - gap: '8px', - - selectors: { - '&:hover': { - textDecoration: 'underline', - textUnderlineOffset: '4px', - }, - }, - - '@media': { - '(hover: hover) and (pointer: fine)': {}, - }, -}) - -export const footerImage = style({ - flexShrink: 0, -}) diff --git a/src/styles/styles.css.ts b/src/styles/styles.css.ts deleted file mode 100644 index ec17eaf19..000000000 --- a/src/styles/styles.css.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { globalStyle } from '@vanilla-extract/css' - -/* Globals */ -globalStyle('*', { - fontFamily: "'ptRoot', Arial, Helvetica, sans-serif!important", -}) - -globalStyle('h1, h2, h3, h4', { - fontFamily: "'Londrina Solid', cursive", - lineHeight: 'initial', -}) - -globalStyle('img', { - maxWidth: '100%', - height: 'auto', -}) diff --git a/src/utils/api/error.ts b/src/utils/api/error.ts index 8d1ee52a1..b79ddd0d6 100644 --- a/src/utils/api/error.ts +++ b/src/utils/api/error.ts @@ -1,121 +1,41 @@ -import { PUBLIC_ALL_CHAINS } from '@buildeross/constants/chains' -import type { CHAIN_ID } from '@buildeross/types' -import { NextApiRequest, NextApiResponse } from 'next' +import { NextResponse } from 'next/server' + import { BackendFailedError, InvalidRequestError, NotFoundError, -} from 'src/services/errors' -import { getAddress, isAddress } from 'viem' +} from '@/services/errors' -/** - * Standard error response format - */ -interface ErrorResponse { - error: string - code?: string - details?: unknown -} +type Handler = (req: Request) => Promise | Response -/** - * Maps service layer errors to appropriate HTTP status codes and responses - */ -export function handleApiError(error: unknown, res: NextApiResponse): void { - // Handle known service errors +export function handleApiError(error: unknown): Response { if (error instanceof InvalidRequestError) { - res.status(400).json({ error: error.message } as ErrorResponse) - return + return NextResponse.json({ error: error.message }, { status: 400 }) } - if (error instanceof NotFoundError) { - res.status(404).json({ error: error.message } as ErrorResponse) - return + return NextResponse.json({ error: error.message }, { status: 404 }) } - if (error instanceof BackendFailedError) { - res.status(500).json({ error: error.message } as ErrorResponse) - return + return NextResponse.json({ error: error.message }, { status: 500 }) } - - // Handle unexpected errors console.error('Unexpected API error:', error) - - // Don't expose internal error details to clients - res.status(500).json({ - error: 'Internal Server Error', - ...(process.env.NODE_ENV === 'development' && { - details: error instanceof Error ? error.message : String(error), - }), - } as ErrorResponse) + return NextResponse.json( + { + error: 'Internal Server Error', + ...(process.env.NODE_ENV === 'development' && { + details: error instanceof Error ? error.message : String(error), + }), + }, + { status: 500 } + ) } -/** - * Async wrapper that automatically handles errors using handleApiError - */ -export function withErrorHandling( - handler: (req: NextApiRequest, res: NextApiResponse) => Promise -) { - return async (req: NextApiRequest, res: NextApiResponse) => { +export function withErrorHandling(handler: Handler): Handler { + return async (req) => { try { - await handler(req, res) + return await handler(req) } catch (error) { - handleApiError(error, res) + return handleApiError(error) } } } - -/** - * Validation helper that throws InvalidRequestError for common validation cases - */ -export const validate = { - required: (value: unknown, fieldName: string): void => { - if (value === undefined || value === null || value === '') { - throw new InvalidRequestError(`${fieldName} is required`) - } - }, - - chainId: (chainId: unknown): CHAIN_ID => { - if (!chainId) { - throw new InvalidRequestError('chainId is required') - } - - const parsed = typeof chainId === 'string' ? parseInt(chainId, 10) : Number(chainId) - - if (isNaN(parsed) || parsed <= 0) { - throw new InvalidRequestError('chainId must be a valid positive number') - } - - if (!PUBLIC_ALL_CHAINS.some((chain) => chain.id === parsed)) { - throw new InvalidRequestError('chainId must be a valid supported chain ID') - } - - return parsed as CHAIN_ID - }, - - address: (address: unknown): string => { - if (!address || typeof address !== 'string') { - throw new InvalidRequestError('address is required and must be a string') - } - - if (!isAddress(address, { strict: false })) { - throw new InvalidRequestError('address must be a valid Ethereum address') - } - - return getAddress(address) - }, - - pagination: (page?: unknown, limit?: unknown) => { - const parsedPage = page ? parseInt(String(page), 10) : 1 - const parsedLimit = limit ? parseInt(String(limit), 10) : 20 - - if (isNaN(parsedPage) || parsedPage < 1) { - throw new InvalidRequestError('page must be a positive number') - } - - if (isNaN(parsedLimit) || parsedLimit < 1 || parsedLimit > 100) { - throw new InvalidRequestError('limit must be between 1 and 100') - } - - return { page: parsedPage, limit: parsedLimit } - }, -} diff --git a/src/utils/api/rateLimit.ts b/src/utils/api/rateLimit.ts index d7d7cc5a4..e89d282fe 100644 --- a/src/utils/api/rateLimit.ts +++ b/src/utils/api/rateLimit.ts @@ -1,100 +1,81 @@ -import type { NextApiHandler, NextApiRequest, NextApiResponse } from 'next' -import { getRedisConnection } from 'src/services/redisConnection' +import { NextResponse } from 'next/server' + +import { getRedisConnection } from '@/services/redisConnection' interface RateLimitOptions { - /** - * Maximum number of requests allowed within the time window - * @default 30 - */ + /** Maximum requests within the time window. Default 30. */ maxRequests?: number - - /** - * Time window in seconds - * @default 300 (5 minutes) - */ + /** Window in seconds. Default 300 (5 minutes). */ windowSeconds?: number - - /** - * Custom key prefix for this specific endpoint - * @default "api" - */ + /** Key prefix for this endpoint. Default "api". */ keyPrefix?: string } -/** - * Creates a rate limiting wrapper for API endpoints - * Uses Redis to track request counts per IP address - */ +type Handler = (req: Request) => Promise | Response + export const withRateLimit = ({ maxRequests = 30, - windowSeconds = 300, // 5 minutes + windowSeconds = 300, keyPrefix = 'api', }: RateLimitOptions = {}) => { - return (handler: T): T => { - return (async (req: NextApiRequest, res: NextApiResponse) => { + return (handler: Handler): Handler => { + return async (req) => { try { - const redisConnection = getRedisConnection() - - // Skip rate limiting if Redis is not available - if (!redisConnection) { + const redis = getRedisConnection() + if (!redis) { console.warn('Rate limiting skipped: Redis connection not available') - return handler(req, res) + return handler(req) } - // Derive client IP safely - const xff = req.headers['x-forwarded-for'] ?? req.headers['x-real-ip'] - const rawIp = Array.isArray(xff) - ? xff[0] - : typeof xff === 'string' - ? xff.split(',')[0]?.trim() - : (req.socket.remoteAddress ?? 'unknown') - const clientIp = rawIp || 'unknown' + const xff = + req.headers.get('x-forwarded-for') ?? req.headers.get('x-real-ip') ?? '' + const clientIp = xff.split(',')[0]?.trim() || 'unknown' + const route = new URL(req.url).pathname + const key = `${keyPrefix}:ratelimit:${route}:${clientIp}` - // Create rate limit key scoped by route (path only) + IP - const route = req.url?.split('?')[0] ?? '' - const rateLimitKey = `${keyPrefix}:ratelimit:${route}:${clientIp}` - - // Increment request count - const requests = await redisConnection.incr(rateLimitKey) - - // Ensure key has expiry (handles first-request races) + const requests = await redis.incr(key) if (requests === 1) { - await redisConnection.expire(rateLimitKey, windowSeconds) + await redis.expire(key, windowSeconds) } else { - const ttl = await redisConnection.ttl(rateLimitKey) - if (ttl === -1) { - await redisConnection.expire(rateLimitKey, windowSeconds) - } + const ttl = await redis.ttl(key) + if (ttl === -1) await redis.expire(key, windowSeconds) } - // Check if rate limit exceeded if (requests > maxRequests) { - res.setHeader('Retry-After', windowSeconds.toString()) - res.status(429).json({ - error: 'Rate limit exceeded', - retryAfter: windowSeconds, - limit: maxRequests, - windowSeconds, - }) - return + return NextResponse.json( + { + error: 'Rate limit exceeded', + retryAfter: windowSeconds, + limit: maxRequests, + windowSeconds, + }, + { + status: 429, + headers: { 'Retry-After': String(windowSeconds) }, + } + ) } - // Add rate limit headers - res.setHeader('X-RateLimit-Limit', maxRequests.toString()) - res.setHeader( + const res = await handler(req) + const headers = new Headers(res.headers) + headers.set('X-RateLimit-Limit', String(maxRequests)) + headers.set( 'X-RateLimit-Remaining', - Math.max(0, maxRequests - requests).toString() + String(Math.max(0, maxRequests - requests)) ) - const resetAt = Math.floor(Date.now() / 1000) + windowSeconds - res.setHeader('X-RateLimit-Reset', resetAt.toString()) - - // Continue to actual handler - return handler(req, res) + headers.set( + 'X-RateLimit-Reset', + String(Math.floor(Date.now() / 1000) + windowSeconds) + ) + return new Response(res.body, { + status: res.status, + statusText: res.statusText, + headers, + }) } catch (error) { console.error('Rate limiting error:', error) - // On rate limiting errors, continue without blocking (fail open) - return handler(req, res) + return handler(req) } - }) as T + } } } diff --git a/src/utils/clientConfig.ts b/src/utils/clientConfig.ts index cc4ef468b..949a33c02 100644 --- a/src/utils/clientConfig.ts +++ b/src/utils/clientConfig.ts @@ -17,4 +17,5 @@ export const config = getDefaultConfig({ transports: { [daoChain.id]: transports[daoChain.id], }, + ssr: true, }) From 7d9e594b19665401d0583403f1847f1297495d78 Mon Sep 17 00:00:00 2001 From: sktbrd Date: Fri, 1 May 2026 16:00:45 -0300 Subject: [PATCH 02/96] =?UTF-8?q?feat:=20PR=20#1=20=E2=80=94=20dashboard?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces the PR #0 placeholder with the design's Dashboard, 1:1 against the brief's spec. Renders against mock data from src/lib/mockData.ts — live subgraph wiring lands in a follow-up. Sections (top to bottom) - Hero: DAO logo + name + chain pill, display H1 + tagline, 3 stat tiles (Total tokens / Members / Treasury), AuctionArt artwork on the right with floating "Today's auction · #N" tag. - Live auction spotlight (2/3 col): inline AuctionArt + Latest auction date + Title #N + top bid / held by / ends in + Place a bid CTA. - Activity feed (1/3 col): bid / vote / prop dot-coded entries. - Recent proposals: 3 ProposalCards with embedded VoteBar, requested amount footer, status badge, links to /proposals/[id]. - Treasury snapshot: 3 KPI cards + Auction Revenue BarChart (12 months). New components in src/components/dao/ - VoteBar — signature 3-segment for/against/abstain bar with quorum tick (small + large variants via height prop). - StatusBadge — color-coded pill (active/pending/executed/defeated/ cancelled). - StatTile — accent-tinted icon + label + value. - KpiCard — display-font value + muted label, used in treasury snapshot. - BarChart — pure SVG bars, optional month labels. - AuctionArt — placeholder SVG artwork themed by 3-color palette. - ProposalCard — used here and in the upcoming proposals list (#3). - ActivityFeed — typed list of bid/vote/prop events. - AddressChip — copy-to-clipboard, used in upcoming pages. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/app/page.tsx | 215 +++++++++++++++++++++++----- src/components/dao/ActivityFeed.tsx | 36 +++++ src/components/dao/AddressChip.tsx | 37 +++++ src/components/dao/AuctionArt.tsx | 85 +++++++++++ src/components/dao/BarChart.tsx | 55 +++++++ src/components/dao/KpiCard.tsx | 15 ++ src/components/dao/ProposalCard.tsx | 54 +++++++ src/components/dao/StatTile.tsx | 23 +++ src/components/dao/StatusBadge.tsx | 55 +++++++ src/components/dao/VoteBar.tsx | 79 ++++++++++ 10 files changed, 622 insertions(+), 32 deletions(-) create mode 100644 src/components/dao/ActivityFeed.tsx create mode 100644 src/components/dao/AddressChip.tsx create mode 100644 src/components/dao/AuctionArt.tsx create mode 100644 src/components/dao/BarChart.tsx create mode 100644 src/components/dao/KpiCard.tsx create mode 100644 src/components/dao/ProposalCard.tsx create mode 100644 src/components/dao/StatTile.tsx create mode 100644 src/components/dao/StatusBadge.tsx create mode 100644 src/components/dao/VoteBar.tsx diff --git a/src/app/page.tsx b/src/app/page.tsx index 4d283d6ba..286ebd546 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,44 +1,195 @@ +import { ArrowUpRight, BadgeCheck, Diamond, Users } from 'lucide-react' +import Link from 'next/link' + +import { DaoLogo } from '@/components/DaoLogo' +import { ActivityFeed } from '@/components/dao/ActivityFeed' +import { AuctionArt } from '@/components/dao/AuctionArt' +import { BarChart } from '@/components/dao/BarChart' +import { KpiCard } from '@/components/dao/KpiCard' +import { ProposalCard } from '@/components/dao/ProposalCard' +import { StatTile } from '@/components/dao/StatTile' +import { Button } from '@/components/ui/button' import { daoConfig } from '@/lib/dao.config' +import { + ACTIVITY, + AUCTION, + CHART_AUCTION, + PRESETS, + PROPOSALS, +} from '@/lib/mockData' + +const CHAIN_NAMES: Record = { + 1: 'Ethereum', + 10: 'Optimism', + 8453: 'Base', + 7777777: 'Zora', +} + +export default function Dashboard() { + // Mock numbers for now (PR #1 ships visual layer). PR #2+ wires live subgraph. + const preset = PRESETS.builder + const tokenLabel = daoConfig.name.split(' ')[0] + const topBid = AUCTION.recentBids[0] + const chainName = CHAIN_NAMES[daoConfig.chainId] ?? `Chain ${daoConfig.chainId}` -export default function Home() { return (
-
-
- Scaffold · PR #0 + {/* HERO */} +
+
+
+ + {daoConfig.name} + + {chainName} + +
+

+ {daoConfig.name} +

+

+ {daoConfig.tagline} +

+
+ } + label={`Total ${tokenLabel}`} + value={preset.totalSupply.toLocaleString()} + /> + } + label="Members" + value={preset.members.toLocaleString()} + /> + } + label="Treasury" + value={`$${(preset.treasuryUsd / 1000).toFixed(1)}k`} + /> +
-

- {daoConfig.name} -

-

{daoConfig.tagline}

-

- App Router + Tailwind v4 + theme tokens are wired up. Header, footer, - tweaks panel (bottom-right, dev-only), and dark mode are live. Page - bodies land in the next PRs. -

+
+ +
+ Today's auction · #{AUCTION.tokenId} +
+
+
+ + {/* AUCTION + ACTIVITY */} +
+
+
+

Live auction

+ + Open auction → + +
+
+
+ +
+
+
+ Latest auction · {AUCTION.date} +
+

+ {tokenLabel} #{AUCTION.tokenId} +

+
+
+
Top bid
+
{topBid.amount} ETH
+
+
+
Held by
+
+ {topBid.addr} +
+
+
+
Ends in
+
17h 54m
+
+
+ +
+
+
+ +
+
+

Activity

+
+ +
-
- {[ - { label: 'Dashboard', href: '/', stub: 'PR #1' }, - { label: 'Auction', href: '/auction/765', stub: 'PR #2' }, - { label: 'Proposals', href: '/proposals', stub: 'PR #3' }, - { label: 'Proposal detail', href: '/proposals/61', stub: 'PR #4' }, - { label: 'Treasury', href: '/treasury', stub: 'PR #5' }, - { label: 'Members', href: '/members', stub: 'PR #6' }, - { label: 'About', href: '/about', stub: 'PR #7' }, - ].map((item) => ( -
+
+

Recent proposals

+ -
- {item.stub} -
-
{item.label}
-
{item.href}
+ View all → + +
+
+ {PROPOSALS.slice(0, 3).map((p) => ( + + ))} +
+ + + {/* TREASURY SNAPSHOT */} +
+
+

Treasury snapshot

+ + Full treasury → + +
+
+ + + +
+
+
+
Auction revenue
+
last 12 months
- ))} + +
+
+ +
+ Note: dashboard uses + mock data from src/lib/mockData.ts{' '} + (PR #1 ships visual layer). Subgraph + on-chain wiring lands in a follow-up + PR per the original plan.
) diff --git a/src/components/dao/ActivityFeed.tsx b/src/components/dao/ActivityFeed.tsx new file mode 100644 index 000000000..ff99245a0 --- /dev/null +++ b/src/components/dao/ActivityFeed.tsx @@ -0,0 +1,36 @@ +import type { ActivityType } from '@/lib/mockData' + +const DOT: Record = { + bid: 'bg-accent', + vote: 'bg-success', + prop: 'bg-warning', +} + +type Item = { + type: ActivityType + who: string + what: string + time: string +} + +export function ActivityFeed({ items }: { items: Item[] }) { + return ( +
    + {items.map((a, i) => ( +
  • + +
    +
    + {a.who}{' '} + {a.what} +
    +
    {a.time}
    +
    +
  • + ))} +
+ ) +} diff --git a/src/components/dao/AddressChip.tsx b/src/components/dao/AddressChip.tsx new file mode 100644 index 000000000..d8dd41e06 --- /dev/null +++ b/src/components/dao/AddressChip.tsx @@ -0,0 +1,37 @@ +'use client' + +import { Check, Copy } from 'lucide-react' +import { useState } from 'react' + +import { cn } from '@/lib/utils' + +type Props = { + addr: string + mono?: boolean + className?: string +} + +export function AddressChip({ addr, mono = true, className }: Props) { + const [copied, setCopied] = useState(false) + return ( + + ) +} diff --git a/src/components/dao/AuctionArt.tsx b/src/components/dao/AuctionArt.tsx new file mode 100644 index 000000000..dbc483b22 --- /dev/null +++ b/src/components/dao/AuctionArt.tsx @@ -0,0 +1,85 @@ +import { cn } from '@/lib/utils' + +type Props = { + palette?: [string, string, string] + className?: string +} + +export function AuctionArt({ + palette = ['#ff4d4d', '#000000', '#ffffff'], + className, +}: Props) { + const [c1, c2, c3] = palette + return ( +
+ + {/* sun burst */} + + {Array.from({ length: 8 }).map((_, i) => ( + + ))} + + + {/* hex */} + + {/* dotted circle */} + + {Array.from({ length: 12 }).map((_, i) => ( + + ))} + + {/* arch trio */} + + + + + + {/* asterisk */} + + + + + + + {/* squiggles */} + + + +
+ ) +} diff --git a/src/components/dao/BarChart.tsx b/src/components/dao/BarChart.tsx new file mode 100644 index 000000000..1b7debef0 --- /dev/null +++ b/src/components/dao/BarChart.tsx @@ -0,0 +1,55 @@ +type Props = { + data: number[] + color?: string + labels?: string[] + height?: number + className?: string +} + +export function BarChart({ + data, + color = 'var(--accent)', + labels, + height = 120, + className, +}: Props) { + const max = Math.max(...data, 1) + const w = 100 / data.length + return ( + + {data.map((v, i) => { + const h = (v / max) * (height - 20) + return ( + + ) + })} + {labels?.map((l, i) => ( + + {l} + + ))} + + ) +} diff --git a/src/components/dao/KpiCard.tsx b/src/components/dao/KpiCard.tsx new file mode 100644 index 000000000..36cc20265 --- /dev/null +++ b/src/components/dao/KpiCard.tsx @@ -0,0 +1,15 @@ +type Props = { + value: React.ReactNode + label: string +} + +export function KpiCard({ value, label }: Props) { + return ( +
+
+ {value} +
+
{label}
+
+ ) +} diff --git a/src/components/dao/ProposalCard.tsx b/src/components/dao/ProposalCard.tsx new file mode 100644 index 000000000..ea7b2328f --- /dev/null +++ b/src/components/dao/ProposalCard.tsx @@ -0,0 +1,54 @@ +import Link from 'next/link' + +import type { MockProposal } from '@/lib/mockData' + +import { StatusBadge } from './StatusBadge' +import { VoteBar } from './VoteBar' + +export function ProposalCard({ p }: { p: MockProposal }) { + const total = p.forVotes + p.againstVotes + p.abstainVotes + const hasReq = p.requested.eth > 0 || p.requested.usdc > 0 + + return ( + +
+ + Prop {p.id} + + +
+
+ {p.title} +
+
+ by {p.proposer} · {p.date} +
+
+
Voting progress
+ +
+ {total} votes · {p.endsLabel} +
+
+ {hasReq && ( +
+ Requested + + {p.requested.eth > 0 && `${p.requested.eth} ETH`} + {p.requested.eth > 0 && p.requested.usdc > 0 && ' · '} + {p.requested.usdc > 0 && `${p.requested.usdc.toLocaleString()} USDC`} + +
+ )} + + ) +} diff --git a/src/components/dao/StatTile.tsx b/src/components/dao/StatTile.tsx new file mode 100644 index 000000000..74c177bc3 --- /dev/null +++ b/src/components/dao/StatTile.tsx @@ -0,0 +1,23 @@ +type Props = { + icon?: React.ReactNode + label: string + value: React.ReactNode + sub?: string +} + +export function StatTile({ icon, label, value, sub }: Props) { + return ( +
+ {icon !== undefined && ( +
+ {icon} +
+ )} +
+
{value}
+
{label}
+ {sub &&
{sub}
} +
+
+ ) +} diff --git a/src/components/dao/StatusBadge.tsx b/src/components/dao/StatusBadge.tsx new file mode 100644 index 000000000..c62e9d5fd --- /dev/null +++ b/src/components/dao/StatusBadge.tsx @@ -0,0 +1,55 @@ +import type { ProposalStatus } from '@/lib/mockData' +import { cn } from '@/lib/utils' + +const STYLES: Record< + ProposalStatus, + { color: string; bg: string; label: string } +> = { + active: { + color: 'text-success', + bg: 'bg-success/15', + label: 'Active', + }, + pending: { + color: 'text-success', + bg: 'bg-success/15', + label: 'Pending', + }, + executed: { + color: 'text-accent-strong', + bg: 'bg-accent/15', + label: 'Executed', + }, + defeated: { + color: 'text-destructive', + bg: 'bg-destructive/15', + label: 'Defeated', + }, + cancelled: { + color: 'text-muted-fg', + bg: 'bg-surface-2', + label: 'Cancelled', + }, +} + +export function StatusBadge({ + status, + className, +}: { + status: ProposalStatus + className?: string +}) { + const s = STYLES[status] + return ( + + {s.label} + + ) +} diff --git a/src/components/dao/VoteBar.tsx b/src/components/dao/VoteBar.tsx new file mode 100644 index 000000000..ec91b145f --- /dev/null +++ b/src/components/dao/VoteBar.tsx @@ -0,0 +1,79 @@ +import { cn } from '@/lib/utils' + +type Props = { + forV: number + against: number + abstain: number + quorum: number + height?: number + showLabels?: boolean + className?: string +} + +export function VoteBar({ + forV, + against, + abstain, + quorum, + height = 8, + showLabels = false, + className, +}: Props) { + const total = Math.max(1, forV + against + abstain) + const fp = (forV / total) * 100 + const ap = (against / total) * 100 + const bp = (abstain / total) * 100 + const quorumPct = Math.min(100, (quorum / total) * 100) + const empty = forV + against + abstain === 0 + + return ( +
+
+ {empty ? ( +
+ ) : ( + <> +
+
+
+ {quorum > 0 && ( +
+ )} + + )} +
+ {showLabels && ( +
+ + + {forV} For + + + + {against} Against + + + + {abstain} Abstain + +
+ )} +
+ ) +} From c5cbe7d3d4c96c58c3c56f6281b3de5fa23f1e91 Mon Sep 17 00:00:00 2001 From: sktbrd Date: Fri, 1 May 2026 16:07:22 -0300 Subject: [PATCH 03/96] =?UTF-8?q?feat:=20PR=20#2=20=E2=80=94=20auction=20p?= =?UTF-8?q?age=20(/auction/[id])?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces the auction stub with the design's full auction body. Mock data from src/lib/mockData.ts; live wiring to the auction contract + subgraph lands in a follow-up. Layout - TimeAlert at top: "Auction for Builder #765 ends in 17h 54m" (dismissible accent banner). - Two-column layout (1fr / 0.85fr on lg+): - Left: Auction / Chart tabs, then large AuctionArt artwork. - Right: prev/next nav + Latest badge + date · display H1 (Builder #N) · 4-cell kv-grid (Top bid, Top bidder, Ends in, Min next bid) · BidForm · VotingPowerExplainer (eligible). - Below: full Bid history card with Top bid badge on the latest. New components in src/components/dao/ - TimeAlert — accent/warning/destructive tone variants, optional dismiss button. Used here, will reuse on proposal detail (#4). - VotingPowerExplainer — 4 scenarios (none/delegated/incoming/ eligible). Reused on proposal detail (#4). - BidForm — amount input with ETH suffix + min-increment auto-calc (1.02× top bid by default), optional 140-char on-chain comment (gated by daoConfig.features.bidComments), balance + network footer with wrong-network / below-min / over-balance error states. The Place Bid button is correctly disabled when any validation fails. - BidHistory — bid list with amount, address, time, optional comment, "Top bid" badge on the latest, friendly empty state. Tabs are static for PR #2 (Auction active, Chart disabled with "Coming soon" tooltip). Auction chart lives behind a feature flag (daoConfig.features.auctionChart) and lands in a future polish PR once we have historical bid data. Prev/next nav: ← links to /auction/(id-1) (404-safe — uses 301 redirect from /token/* fallback for older links). → disabled when viewing the latest auction. Verified: type-check clean, /auction/765 returns 200, all key blocks present (Bid history, Place bid, Min next bid, Top bidder, Latest auction, on-chain comment field, 0.42 ETH top bid, 17h 54m). Co-Authored-By: Claude Opus 4.7 (1M context) --- src/app/auction/[id]/page.tsx | 178 ++++++++++++++++++-- src/components/dao/BidForm.tsx | 85 ++++++++++ src/components/dao/BidHistory.tsx | 38 +++++ src/components/dao/TimeAlert.tsx | 62 +++++++ src/components/dao/VotingPowerExplainer.tsx | 57 +++++++ 5 files changed, 405 insertions(+), 15 deletions(-) create mode 100644 src/components/dao/BidForm.tsx create mode 100644 src/components/dao/BidHistory.tsx create mode 100644 src/components/dao/TimeAlert.tsx create mode 100644 src/components/dao/VotingPowerExplainer.tsx diff --git a/src/app/auction/[id]/page.tsx b/src/app/auction/[id]/page.tsx index 75500d731..9c75ea9d6 100644 --- a/src/app/auction/[id]/page.tsx +++ b/src/app/auction/[id]/page.tsx @@ -1,19 +1,167 @@ -import { PageStub } from '@/components/PageStub' +import { ChevronLeft, ChevronRight, Clock } from 'lucide-react' +import Link from 'next/link' -export default function AuctionPage() { +import { AuctionArt } from '@/components/dao/AuctionArt' +import { BidForm } from '@/components/dao/BidForm' +import { BidHistory } from '@/components/dao/BidHistory' +import { TimeAlert } from '@/components/dao/TimeAlert' +import { VotingPowerExplainer } from '@/components/dao/VotingPowerExplainer' +import { cn } from '@/lib/utils' +import { daoConfig } from '@/lib/dao.config' +import { AUCTION, PRESETS } from '@/lib/mockData' + +const CHAIN_NAMES: Record = { + 1: 'Ethereum', + 10: 'Optimism', + 8453: 'Base', + 7777777: 'Zora', +} + +type Params = Promise<{ id: string }> + +export default async function AuctionPage({ params }: { params: Params }) { + const { id } = await params + const tokenId = Number.isFinite(parseInt(id, 10)) ? parseInt(id, 10) : AUCTION.tokenId + + // Mock — real app would derive from subgraph: latest token id and per-token data. + const preset = PRESETS.builder + const tokenLabel = daoConfig.name.split(' ')[0] + const topBid = AUCTION.recentBids[0] + const isLatest = tokenId === AUCTION.tokenId + const minBid = (topBid.amount * 1.02).toFixed(3) + const chainName = CHAIN_NAMES[daoConfig.chainId] ?? `Chain ${daoConfig.chainId}` + + return ( +
+ } dismissible> + Auction for {tokenLabel} #{tokenId} ends in 17h 54m. + + +
+
+ +
+ +
+
+ +
+ + +

+ {tokenLabel} #{tokenId} +

+ +
+ + + + +
+ + + + +
+
+ +
+
+

Bid history

+
+ +
+
+ ) +} + +function Tabs() { + return ( +
+ + +
+ ) +} + +function AuctionNav({ + tokenId, + isLatest, + date, +}: { + tokenId: number + isLatest: boolean + date: string +}) { + const prevId = tokenId - 1 + return ( +
+ {prevId >= 0 ? ( + + + + ) : ( + + )} + + {isLatest && ( + + Latest auction + + )} + {date} +
+ ) +} + +function Kv({ label, value, mono }: { label: string; value: string; mono?: boolean }) { return ( - +
+
{label}
+
+ {value} +
+
) } diff --git a/src/components/dao/BidForm.tsx b/src/components/dao/BidForm.tsx new file mode 100644 index 000000000..e3b8956b0 --- /dev/null +++ b/src/components/dao/BidForm.tsx @@ -0,0 +1,85 @@ +'use client' + +import { useMemo, useState } from 'react' + +import { Button } from '@/components/ui/button' + +type Props = { + topBid: number + /** Increment factor — Builder default 1.02 (2%). */ + minIncrementPct?: number + /** Connected wallet ETH balance, displayed for user awareness. */ + balanceEth?: number + /** Network name for the footer (e.g. "Base"). */ + network?: string + /** When false, the form is shown but Place Bid is disabled with a hint. */ + wrongNetwork?: boolean + /** Whether to surface the optional onchain comment field (140 chars). */ + enableComment?: boolean +} + +export function BidForm({ + topBid, + minIncrementPct = 1.02, + balanceEth = 1.284, + network = 'Base', + wrongNetwork = false, + enableComment = true, +}: Props) { + const [bid, setBid] = useState('') + const [comment, setComment] = useState('') + + const minBid = useMemo(() => (topBid * minIncrementPct).toFixed(3), [topBid, minIncrementPct]) + const numeric = parseFloat(bid) + const belowMin = !Number.isNaN(numeric) && numeric < parseFloat(minBid) + const overBalance = + !Number.isNaN(numeric) && balanceEth !== undefined && numeric > balanceEth + const canSubmit = !!bid && !belowMin && !overBalance && !wrongNetwork + + return ( +
+
+
+ setBid(e.target.value)} + className="flex-1 border-0 bg-transparent py-2.5 text-sm outline-none" + /> + ETH +
+ +
+ + {enableComment && ( +
+ setComment(e.target.value)} + className="flex-1 rounded-md border border-border bg-surface px-3 py-2 text-[13px] outline-none focus:border-accent" + /> + {comment.length}/140 +
+ )} + +
+ {wrongNetwork ? ( + Wrong network — switch to {network}. + ) : belowMin ? ( + Bid must be at least {minBid} ETH. + ) : overBalance ? ( + Bid exceeds wallet balance ({balanceEth} ETH). + ) : ( + <> + Balance: {balanceEth} ETH · Network: {network} ✓ + + )} +
+
+ ) +} diff --git a/src/components/dao/BidHistory.tsx b/src/components/dao/BidHistory.tsx new file mode 100644 index 000000000..7cf7ce4f9 --- /dev/null +++ b/src/components/dao/BidHistory.tsx @@ -0,0 +1,38 @@ +import type { MockBid } from '@/lib/mockData' + +export function BidHistory({ bids }: { bids: MockBid[] }) { + if (bids.length === 0) { + return ( +
+ No bids yet — be the first. +
+ ) + } + return ( +
    + {bids.map((b, i) => ( +
  • +
    +
    {b.amount} ETH
    +
    + {b.addr} · {b.time} +
    + {b.comment && ( +
    + “{b.comment}” +
    + )} +
    + {i === 0 && ( + + Top bid + + )} +
  • + ))} +
+ ) +} diff --git a/src/components/dao/TimeAlert.tsx b/src/components/dao/TimeAlert.tsx new file mode 100644 index 000000000..c583b6f22 --- /dev/null +++ b/src/components/dao/TimeAlert.tsx @@ -0,0 +1,62 @@ +'use client' + +import { Clock, X } from 'lucide-react' +import { useState } from 'react' + +import { cn } from '@/lib/utils' + +type Tone = 'accent' | 'warning' | 'destructive' + +type Props = { + icon?: React.ReactNode + tone?: Tone + dismissible?: boolean + children: React.ReactNode + className?: string +} + +const TONE: Record = { + accent: + 'border-accent/25 bg-accent/10 text-accent-strong [--alert-icon:var(--accent-strong)]', + warning: + 'border-warning/25 bg-warning/10 text-warning [--alert-icon:var(--warning)]', + destructive: + 'border-destructive/25 bg-destructive/10 text-destructive [--alert-icon:var(--destructive)]', +} + +export function TimeAlert({ + icon, + tone = 'accent', + dismissible = false, + children, + className, +}: Props) { + const [open, setOpen] = useState(true) + if (!open) return null + + return ( +
+ + {icon ?? } + + {children} + {dismissible && ( + + )} +
+ ) +} diff --git a/src/components/dao/VotingPowerExplainer.tsx b/src/components/dao/VotingPowerExplainer.tsx new file mode 100644 index 000000000..a50e51efc --- /dev/null +++ b/src/components/dao/VotingPowerExplainer.tsx @@ -0,0 +1,57 @@ +import { ArrowUpRight, Check, Hourglass, Info } from 'lucide-react' + +import { cn } from '@/lib/utils' + +export type VotingPowerScenario = 'none' | 'delegated' | 'incoming' | 'eligible' + +const COPY: Record< + VotingPowerScenario, + { icon: React.ReactNode; title: string; body: string } +> = { + none: { + icon: , + title: "You can't vote on this proposal", + body: 'You held 0 tokens at the snapshot block.', + }, + delegated: { + icon: , + title: 'Your votes are delegated', + body: 'Your voting power is delegated to 0xabc…1234. They vote on your behalf.', + }, + incoming: { + icon: , + title: 'Incoming delegation', + body: 'An incoming delegation will become active in ~2 days.', + }, + eligible: { + icon: , + title: 'You can vote', + body: 'You hold 4 tokens, eligible to vote on this proposal.', + }, +} + +export function VotingPowerExplainer({ + scenario = 'eligible', + className, +}: { + scenario?: VotingPowerScenario + className?: string +}) { + const c = COPY[scenario] + return ( +
+
+ {c.icon} +
+
+
{c.title}
+
{c.body}
+
+
+ ) +} From 98c796b7b958753068f969cdb18105cec83372a0 Mon Sep 17 00:00:00 2001 From: sktbrd Date: Fri, 1 May 2026 16:09:27 -0300 Subject: [PATCH 04/96] =?UTF-8?q?feat:=20PR=20#3=20=E2=80=94=20proposals?= =?UTF-8?q?=20list=20(/proposals)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces the proposals list stub with the design's full grid view. Mock data — live subgraph wiring lands in a follow-up. Layout - Page header: "Proposals" display H1, subtitle, "+ Create proposal" CTA on the right. - Filter bar: search input with magnifier prefix + status select (All / Active / Pending / Executed / Defeated / Cancelled), live "X of Y" count. - Card grid (1 / 2 / 3 columns by breakpoint) of ProposalCards from PR #1 — number, title, status badge, embedded VoteBar, requested amount. - Empty state when filters return no results. Implementation - Page (server component) sets metadata + injects mock proposals into ProposalsListView (client) so the door is open for server-side subgraph fetching later without restructuring. - New ProposalsListView in src/components/dao/ — owns search + filter state, derives the filtered list with useMemo. - Filter logic: status === 'all' || p.status === status; case-insensitive title match. Verified: type-check clean, /proposals returns 200, all key strings present (Proposals, How the community, Create proposal, All statuses, Search proposals, mock proposal titles). Co-Authored-By: Claude Opus 4.7 (1M context) --- src/app/proposals/page.tsx | 23 +++--- src/components/dao/ProposalsListView.tsx | 93 ++++++++++++++++++++++++ 2 files changed, 102 insertions(+), 14 deletions(-) create mode 100644 src/components/dao/ProposalsListView.tsx diff --git a/src/app/proposals/page.tsx b/src/app/proposals/page.tsx index d593c758e..a548fdca7 100644 --- a/src/app/proposals/page.tsx +++ b/src/app/proposals/page.tsx @@ -1,17 +1,12 @@ -import { PageStub } from '@/components/PageStub' +import type { Metadata } from 'next' + +import { ProposalsListView } from '@/components/dao/ProposalsListView' +import { PROPOSALS } from '@/lib/mockData' + +export const metadata: Metadata = { + title: 'Proposals', +} export default function ProposalsPage() { - return ( - - ) + return } diff --git a/src/components/dao/ProposalsListView.tsx b/src/components/dao/ProposalsListView.tsx new file mode 100644 index 000000000..4789251b4 --- /dev/null +++ b/src/components/dao/ProposalsListView.tsx @@ -0,0 +1,93 @@ +'use client' + +import { Plus, Search } from 'lucide-react' +import { useMemo, useState } from 'react' + +import { ProposalCard } from '@/components/dao/ProposalCard' +import { Button } from '@/components/ui/button' +import type { MockProposal, ProposalStatus } from '@/lib/mockData' + +const STATUS_OPTIONS: Array<{ value: ProposalStatus | 'all'; label: string }> = [ + { value: 'all', label: 'All statuses' }, + { value: 'active', label: 'Active' }, + { value: 'pending', label: 'Pending' }, + { value: 'executed', label: 'Executed' }, + { value: 'defeated', label: 'Defeated' }, + { value: 'cancelled', label: 'Cancelled' }, +] + +export function ProposalsListView({ + proposals, +}: { + proposals: MockProposal[] +}) { + const [q, setQ] = useState('') + const [status, setStatus] = useState('all') + + const filtered = useMemo(() => { + const ql = q.toLowerCase() + return proposals.filter( + (p) => + (status === 'all' || p.status === status) && + p.title.toLowerCase().includes(ql) + ) + }, [proposals, q, status]) + + return ( +
+
+
+

+ Proposals +

+

+ How the community funds projects, media, and public work. +

+
+ +
+ +
+
+ + setQ(e.target.value)} + className="ml-2 flex-1 border-0 bg-transparent py-2.5 text-sm outline-none" + /> +
+ + + {filtered.length} of {proposals.length} + +
+ + {filtered.length === 0 ? ( +
+ No proposals match your filters. +
+ ) : ( +
+ {filtered.map((p) => ( + + ))} +
+ )} +
+ ) +} From ff9c0330edd6caa82c78f9cf9609a9210c7be859 Mon Sep 17 00:00:00 2001 From: sktbrd Date: Fri, 1 May 2026 16:11:53 -0300 Subject: [PATCH 05/96] =?UTF-8?q?feat:=20PR=20#4=20=E2=80=94=20proposal=20?= =?UTF-8?q?detail=20(/proposals/[id])?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces the proposal detail stub with the design's two-column body. Mock — markdown rendering + tx decoding + actual on-chain casting land in a follow-up. Layout - Breadcrumbs: ← All proposals - Two-column (1fr / 360px on lg+): - Left: header (Prop N · status · ends label) → display H1 → proposed by · date → Vote summary card (large VoteBar with labels, quorum + total cast) → Description card (prose, Milestones list) → Transactions card. - Right: sticky VotePanel (~top-20). New component - VotePanel (client) — 3 vote choice buttons (For green / Against red / Abstain neutral) with active states color-coded by the vote palette tokens; optional reason textarea; Submit vote button disabled until a choice is selected; embedded VotingPowerExplainer scoped to the connected wallet's voting power. Disabled entirely when proposal isn't active/pending. Mock content note - Description renders as plain JSX prose for PR #4. Real markdown rendering (react-mde or rehype) lands when we wire IPFS-backed proposals. - Single transaction stub (createEscrow 4.0 ETH) matches the design. Per-proposal real tx lists come with subgraph wiring. - VotePanel is interactive but does not write on-chain — that lands with the contract write hook. Verified: type-check clean, /proposals/61 returns 200, all key strings present (All proposals, Vote summary, Cast your vote, Submit vote, createEscrow, Optional reason, Quorum: 24, Milestones). Co-Authored-By: Claude Opus 4.7 (1M context) --- src/app/proposals/[id]/page.tsx | 129 +++++++++++++++++++++++++++---- src/components/dao/VotePanel.tsx | 109 ++++++++++++++++++++++++++ 2 files changed, 223 insertions(+), 15 deletions(-) create mode 100644 src/components/dao/VotePanel.tsx diff --git a/src/app/proposals/[id]/page.tsx b/src/app/proposals/[id]/page.tsx index 1bb038e80..76048492f 100644 --- a/src/app/proposals/[id]/page.tsx +++ b/src/app/proposals/[id]/page.tsx @@ -1,19 +1,118 @@ -import { PageStub } from '@/components/PageStub' +import { ChevronLeft } from 'lucide-react' +import Link from 'next/link' + +import { StatusBadge } from '@/components/dao/StatusBadge' +import { VoteBar } from '@/components/dao/VoteBar' +import { VotePanel } from '@/components/dao/VotePanel' +import { PROPOSALS } from '@/lib/mockData' + +type Params = Promise<{ id: string }> + +export default async function ProposalDetailPage({ params }: { params: Params }) { + const { id } = await params + const numericId = parseInt(id, 10) + const p = PROPOSALS.find((x) => x.id === numericId) ?? PROPOSALS[2] // active fallback + const totalCast = p.forVotes + p.againstVotes + p.abstainVotes -export default function ProposalDetailPage() { return ( - +
+
+ + + All proposals + +
+ +
+
+
+
+ + Prop {p.id} + + + {p.endsLabel} +
+

+ {p.title} +

+
+ Proposed by {p.proposer}{' '} + · {p.date} +
+
+ +
+

Vote summary

+ +
+ Quorum: {p.quorum} · Total cast: {totalCast} +
+
+ +
+

Description

+
+

+ This proposal funds the next phase of collaboration with Builder + maintainers: upstreaming proven work into the official Builder + template and submitting the strongest feature tracks to core + repositories in structured batches. +

+

+ Deliverables include cherry-picked, generic improvements landing + in{' '} + + BuilderOSS/builder-template-app + + , a fork-to-launch checklist, and two upstream PR batches + covering up to 8 production-tested feature tracks. +

+

Milestones

+
    +
  1. Official template enhancements — 1.5 ETH
  2. +
  3. Upstream PR Batch 1 — 1.25 ETH
  4. +
  5. Upstream PR Batch 2 + final reporting — 1.25 ETH
  6. +
+
+
+ +
+

Transactions

+
    +
  • +
    +
    Target
    +
    0x98bc…D1cF
    +
    +
    +
    Function
    +
    createEscrow(...)
    +
    +
    +
    Value
    +
    4.0 ETH
    +
    +
  • +
+
+
+ + +
+
) } diff --git a/src/components/dao/VotePanel.tsx b/src/components/dao/VotePanel.tsx new file mode 100644 index 000000000..c9d410b4d --- /dev/null +++ b/src/components/dao/VotePanel.tsx @@ -0,0 +1,109 @@ +'use client' + +import { useState } from 'react' + +import { VotingPowerExplainer } from '@/components/dao/VotingPowerExplainer' +import { Button } from '@/components/ui/button' +import { cn } from '@/lib/utils' + +type Choice = 'for' | 'against' | 'abstain' + +type Props = { + votingPower?: number + initialChoice?: Choice | null + /** Whether voting is open (proposal is in active state). */ + active?: boolean +} + +export function VotePanel({ + votingPower = 4, + initialChoice = null, + active = true, +}: Props) { + const [choice, setChoice] = useState(initialChoice) + const [reason, setReason] = useState('') + + return ( +