From e8f40203b5cfe0f95628bc9b0385c631502ccbe0 Mon Sep 17 00:00:00 2001 From: geisterfurz007 Date: Wed, 29 May 2024 08:13:20 +0200 Subject: [PATCH] WIP - Upgrade to payload 3 --- packages/cms/.env.example | 28 - packages/cms/.gitignore | 169 -- packages/cms/.prettierignore | 3 - packages/cms/Dockerfile | 34 - packages/cms/README.md | 15 - packages/cms/docker-entrypoint.sh | 7 - packages/cms/eslint.config.js | 7 - packages/cms/package.json | 55 - packages/cms/src/lib/auth-strategy.ts | 39 - packages/cms/src/payload.config.ts | 53 - packages/cms/src/plugins/externals.ts | 40 - .../cms/src/plugins/safe-async-endpoints.ts | 38 - packages/cms/src/plugins/tailwind.ts | 23 - packages/cms/src/server.ts | 31 - packages/cms/tailwind.config.js | 8 - packages/cms/tsconfig.json | 19 - packages/server/.env.example | 2 +- packages/web/.env.local.example | 31 + packages/web/next.config.js | 5 +- packages/web/package.json | 21 +- .../(home)/components/features.graphql | 0 .../(home)/components/features.tsx | 2 +- .../{ => (app)}/(home)/components/intro.tsx | 2 +- .../(home)/components/parallax.tsx | 6 +- .../web/src/app/{ => (app)}/(home)/page.tsx | 0 .../auth/payload-redirect/page.tsx | 2 +- .../actions/signup-server-action.ts | 2 +- .../buddyproject/buddyproject.graphql | 0 .../components/buddy-project-button.tsx | 4 +- .../components/server-join-confirmation.tsx | 0 .../components/signup-success-modal.tsx | 0 .../src/app/{ => (app)}/buddyproject/page.tsx | 6 +- .../groupchats/components/fetch-groupchats.ts | 2 +- .../components/group-chat-search.tsx | 6 +- .../components/use-groupchat-search.ts | 6 +- .../src/app/{ => (app)}/groupchats/page.tsx | 11 +- packages/web/src/app/{ => (app)}/layout.tsx | 8 +- .../app/{ => (app)}/legal/imprint/page.tsx | 0 .../web/src/app/{ => (app)}/legal/layout.tsx | 0 .../app/{ => (app)}/legal/privacy/page.tsx | 0 packages/web/src/app/{ => (app)}/nav.tsx | 6 +- .../web/src/app/{ => (app)}/not-found.tsx | 0 .../web/src/app/{ => (app)}/providers.tsx | 4 +- .../access/allow-update-delete-owner.ts | 2 +- .../(payload)}/access/hidden-unless-owner.ts | 6 +- .../app/(payload)}/access/require-one-of.ts | 0 .../(payload)/admin/[[...segments]]/page.tsx | 17 + .../src/app/(payload)/api/[...slug]/route.ts | 9 + .../(payload)/api/graphql-playground/route.ts | 6 + .../src/app/(payload)/api/graphql/route.ts | 6 + .../app/(payload)}/collections/features.ts | 2 +- .../collections/groupchat-keywords.ts | 0 .../app/(payload)}/collections/groupchats.ts | 30 +- .../src/app/(payload)}/collections/media.ts | 0 .../src/app/(payload)}/collections/users.ts | 36 +- .../components/after-login/after-login.tsx | 2 + .../components/authenticated-mishap.tsx | 0 .../after-login/components/missing-access.tsx | 4 +- .../after-login/components/missing-cookie.tsx | 0 .../src/app/(payload)}/components/form.tsx | 0 .../forms/fields/textarea-field.tsx | 0 .../(payload)}/cron-jobs/groupchat-sync.ts | 0 .../src/app/(payload)}/cron-jobs/index.ts | 0 packages/web/src/app/(payload)/custom.scss | 0 .../src/app/(payload)}/dataseeder/main.ts | 13 +- .../(payload)}/dataseeder/seed-groupchats.ts | 5 +- .../dataseeder/seed-typesense-key.ts | 0 .../app/(payload)}/dataseeder/seed-users.ts | 5 +- .../src/app/(payload)}/dataseeder/upsert.ts | 0 .../graphql/mutations/mimic-user-operation.ts | 18 +- .../graphql/queries/groupchat-search-token.ts | 8 +- .../(payload)}/graphql/queries/may-operate.ts | 11 +- .../src/app/(payload)}/init-payload.ts | 7 +- packages/web/src/app/(payload)/layout.tsx | 16 + .../src/app/(payload)/lib/auth-strategy.ts | 28 + .../lib/get-auth-state-from-headers.ts} | 18 +- .../src/app/(payload)}/lib/typesense.ts | 0 .../src/app/(payload)/media/groupchats-1.png | Bin 0 -> 113271 bytes .../src/app/(payload)/media/groupchats.png | Bin 0 -> 113271 bytes .../media/yesbot-buddy-project-1.webp | Bin 0 -> 54954 bytes .../(payload)/media/yesbot-buddy-project.webp | Bin 0 -> 54954 bytes .../migrations/20231202_131425.json | 0 .../(payload)}/migrations/20231202_131425.ts | 0 .../migrations/20231217_141637.json | 0 .../(payload)}/migrations/20231217_141637.ts | 0 .../migrations/20231223_201544.json | 0 .../(payload)}/migrations/20231223_201544.ts | 0 .../migrations/20240106_233717.json | 0 .../(payload)}/migrations/20240106_233717.ts | 0 .../migrations/20240112_181047.json | 0 .../(payload)}/migrations/20240112_181047.ts | 0 .../migrations/20240127_175425.json | 0 .../(payload)}/migrations/20240127_175425.ts | 0 .../src/app/(payload)/plugins/externals.ts | 40 + .../(payload)}/plugins/mocks/auth-strategy.ts | 0 .../src/app/(payload)}/plugins/mocks/empty.ts | 0 .../(payload)/plugins/safe-async-endpoints.ts | 38 + .../web/src/app/(payload)/plugins/tailwind.ts | 23 + .../src/app/(payload)}/styles/tailwind.css | 0 .../app/(payload)}/utils/ensure-db-exists.ts | 2 +- .../src/app/(payload)}/utils/merge-queries.ts | 26 +- packages/web/src/app/my-route/route.ts | 14 + packages/web/src/collections/Users.ts | 13 + packages/{cms => web}/src/payload-types.ts | 46 +- packages/web/src/payload.config.ts | 59 + packages/web/tsconfig.json | 7 +- yarn.lock | 2285 ++++++----------- 107 files changed, 1275 insertions(+), 2222 deletions(-) delete mode 100644 packages/cms/.env.example delete mode 100644 packages/cms/.gitignore delete mode 100644 packages/cms/.prettierignore delete mode 100644 packages/cms/Dockerfile delete mode 100644 packages/cms/README.md delete mode 100755 packages/cms/docker-entrypoint.sh delete mode 100644 packages/cms/eslint.config.js delete mode 100644 packages/cms/package.json delete mode 100644 packages/cms/src/lib/auth-strategy.ts delete mode 100644 packages/cms/src/payload.config.ts delete mode 100644 packages/cms/src/plugins/externals.ts delete mode 100644 packages/cms/src/plugins/safe-async-endpoints.ts delete mode 100644 packages/cms/src/plugins/tailwind.ts delete mode 100644 packages/cms/src/server.ts delete mode 100644 packages/cms/tailwind.config.js delete mode 100644 packages/cms/tsconfig.json rename packages/web/src/app/{ => (app)}/(home)/components/features.graphql (100%) rename packages/web/src/app/{ => (app)}/(home)/components/features.tsx (86%) rename packages/web/src/app/{ => (app)}/(home)/components/intro.tsx (91%) rename packages/web/src/app/{ => (app)}/(home)/components/parallax.tsx (88%) rename packages/web/src/app/{ => (app)}/(home)/page.tsx (100%) rename packages/web/src/app/{ => (app)}/auth/payload-redirect/page.tsx (82%) rename packages/web/src/app/{ => (app)}/buddyproject/actions/signup-server-action.ts (73%) rename packages/web/src/app/{ => (app)}/buddyproject/buddyproject.graphql (100%) rename packages/web/src/app/{ => (app)}/buddyproject/components/buddy-project-button.tsx (90%) rename packages/web/src/app/{ => (app)}/buddyproject/components/server-join-confirmation.tsx (100%) rename packages/web/src/app/{ => (app)}/buddyproject/components/signup-success-modal.tsx (100%) rename packages/web/src/app/{ => (app)}/buddyproject/page.tsx (93%) rename packages/web/src/app/{ => (app)}/groupchats/components/fetch-groupchats.ts (92%) rename packages/web/src/app/{ => (app)}/groupchats/components/group-chat-search.tsx (92%) rename packages/web/src/app/{ => (app)}/groupchats/components/use-groupchat-search.ts (92%) rename packages/web/src/app/{ => (app)}/groupchats/page.tsx (82%) rename packages/web/src/app/{ => (app)}/layout.tsx (89%) rename packages/web/src/app/{ => (app)}/legal/imprint/page.tsx (100%) rename packages/web/src/app/{ => (app)}/legal/layout.tsx (100%) rename packages/web/src/app/{ => (app)}/legal/privacy/page.tsx (100%) rename packages/web/src/app/{ => (app)}/nav.tsx (76%) rename packages/web/src/app/{ => (app)}/not-found.tsx (100%) rename packages/web/src/app/{ => (app)}/providers.tsx (72%) rename packages/{cms/src => web/src/app/(payload)}/access/allow-update-delete-owner.ts (91%) rename packages/{cms/src => web/src/app/(payload)}/access/hidden-unless-owner.ts (61%) rename packages/{cms/src => web/src/app/(payload)}/access/require-one-of.ts (100%) create mode 100644 packages/web/src/app/(payload)/admin/[[...segments]]/page.tsx create mode 100644 packages/web/src/app/(payload)/api/[...slug]/route.ts create mode 100644 packages/web/src/app/(payload)/api/graphql-playground/route.ts create mode 100644 packages/web/src/app/(payload)/api/graphql/route.ts rename packages/{cms/src => web/src/app/(payload)}/collections/features.ts (94%) rename packages/{cms/src => web/src/app/(payload)}/collections/groupchat-keywords.ts (100%) rename packages/{cms/src => web/src/app/(payload)}/collections/groupchats.ts (89%) rename packages/{cms/src => web/src/app/(payload)}/collections/media.ts (100%) rename packages/{cms/src => web/src/app/(payload)}/collections/users.ts (73%) rename packages/{cms/src => web/src/app/(payload)}/components/after-login/after-login.tsx (98%) rename packages/{cms/src => web/src/app/(payload)}/components/after-login/components/authenticated-mishap.tsx (100%) rename packages/{cms/src => web/src/app/(payload)}/components/after-login/components/missing-access.tsx (93%) rename packages/{cms/src => web/src/app/(payload)}/components/after-login/components/missing-cookie.tsx (100%) rename packages/{cms/src => web/src/app/(payload)}/components/form.tsx (100%) rename packages/{cms/src => web/src/app/(payload)}/components/forms/fields/textarea-field.tsx (100%) rename packages/{cms/src => web/src/app/(payload)}/cron-jobs/groupchat-sync.ts (100%) rename packages/{cms/src => web/src/app/(payload)}/cron-jobs/index.ts (100%) create mode 100644 packages/web/src/app/(payload)/custom.scss rename packages/{cms/src => web/src/app/(payload)}/dataseeder/main.ts (68%) rename packages/{cms/src => web/src/app/(payload)}/dataseeder/seed-groupchats.ts (90%) rename packages/{cms/src => web/src/app/(payload)}/dataseeder/seed-typesense-key.ts (100%) rename packages/{cms/src => web/src/app/(payload)}/dataseeder/seed-users.ts (78%) rename packages/{cms/src => web/src/app/(payload)}/dataseeder/upsert.ts (100%) rename packages/{cms/src => web/src/app/(payload)}/graphql/mutations/mimic-user-operation.ts (82%) rename packages/{cms/src => web/src/app/(payload)}/graphql/queries/groupchat-search-token.ts (81%) rename packages/{cms/src => web/src/app/(payload)}/graphql/queries/may-operate.ts (91%) rename packages/{cms/src => web/src/app/(payload)}/init-payload.ts (61%) create mode 100644 packages/web/src/app/(payload)/layout.tsx create mode 100644 packages/web/src/app/(payload)/lib/auth-strategy.ts rename packages/{cms/src/lib/get-auth-state-from-request.ts => web/src/app/(payload)/lib/get-auth-state-from-headers.ts} (64%) rename packages/{cms/src => web/src/app/(payload)}/lib/typesense.ts (100%) create mode 100644 packages/web/src/app/(payload)/media/groupchats-1.png create mode 100644 packages/web/src/app/(payload)/media/groupchats.png create mode 100644 packages/web/src/app/(payload)/media/yesbot-buddy-project-1.webp create mode 100644 packages/web/src/app/(payload)/media/yesbot-buddy-project.webp rename packages/{cms/src => web/src/app/(payload)}/migrations/20231202_131425.json (100%) rename packages/{cms/src => web/src/app/(payload)}/migrations/20231202_131425.ts (100%) rename packages/{cms/src => web/src/app/(payload)}/migrations/20231217_141637.json (100%) rename packages/{cms/src => web/src/app/(payload)}/migrations/20231217_141637.ts (100%) rename packages/{cms/src => web/src/app/(payload)}/migrations/20231223_201544.json (100%) rename packages/{cms/src => web/src/app/(payload)}/migrations/20231223_201544.ts (100%) rename packages/{cms/src => web/src/app/(payload)}/migrations/20240106_233717.json (100%) rename packages/{cms/src => web/src/app/(payload)}/migrations/20240106_233717.ts (100%) rename packages/{cms/src => web/src/app/(payload)}/migrations/20240112_181047.json (100%) rename packages/{cms/src => web/src/app/(payload)}/migrations/20240112_181047.ts (100%) rename packages/{cms/src => web/src/app/(payload)}/migrations/20240127_175425.json (100%) rename packages/{cms/src => web/src/app/(payload)}/migrations/20240127_175425.ts (100%) create mode 100644 packages/web/src/app/(payload)/plugins/externals.ts rename packages/{cms/src => web/src/app/(payload)}/plugins/mocks/auth-strategy.ts (100%) rename packages/{cms/src => web/src/app/(payload)}/plugins/mocks/empty.ts (100%) create mode 100644 packages/web/src/app/(payload)/plugins/safe-async-endpoints.ts create mode 100644 packages/web/src/app/(payload)/plugins/tailwind.ts rename packages/{cms/src => web/src/app/(payload)}/styles/tailwind.css (100%) rename packages/{cms/src => web/src/app/(payload)}/utils/ensure-db-exists.ts (93%) rename packages/{cms/src => web/src/app/(payload)}/utils/merge-queries.ts (66%) create mode 100644 packages/web/src/app/my-route/route.ts create mode 100644 packages/web/src/collections/Users.ts rename packages/{cms => web}/src/payload-types.ts (68%) create mode 100644 packages/web/src/payload.config.ts diff --git a/packages/cms/.env.example b/packages/cms/.env.example deleted file mode 100644 index 7d5cbfdf..00000000 --- a/packages/cms/.env.example +++ /dev/null @@ -1,28 +0,0 @@ -# Payload secret used to encrypt API Tokens and passwords and the like -PAYLOAD_SECRET=asdfghjkl - -# Used to prefix URLs of uploads amongst other things -SERVER_URL=http://localhost:3001 - -# Database URI to connect to -DATABASE_URI=postgres://username:password@localhost:5433/payload - -# Typesense details for syncing groupchats and potentially other information to there -TYPESENSE_API_URL=http://localhost:8108 -TYPESENSE_API_KEY=1234567890 - -# URLs for the GraphQL interfaces (public GraphQL interface and YesBot interface in that order) -BACKEND_URL=http://localhost:5000 -INTERNAL_BACKEND_URL=http://localhost:5001 - -# Auth Token for the INTERNAL_BACKEND_URL interface -YESBOT_API_AUTH_TOKEN= - -# Discord ID of yourself (used by the seeder to create the first user) -INITIAL_ADMIN_ID=1234567890 - -# URL of the web frontend (used to open the authentication) -PAYLOAD_PUBLIC_WEB_FRONTEND_URL=http://localhost:3000 - -# API Key of the simulated YesBot user -PAYLOAD_API_KEY=development-api-key diff --git a/packages/cms/.gitignore b/packages/cms/.gitignore deleted file mode 100644 index 733cc122..00000000 --- a/packages/cms/.gitignore +++ /dev/null @@ -1,169 +0,0 @@ -### Node ### -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* -.pnpm-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional stylelint cache -.stylelintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variable files -.env -.env.development.local -.env.test.local -.env.production.local -.env.local - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next -out - -# Nuxt.js build / generate output -.nuxt -dist -build - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# vuepress v2.x temp and cache directory -.temp - -# Docusaurus cache and generated files -.docusaurus - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# yarn v2 -.yarn/cache -.yarn/unplugged -.yarn/build-state.yml -.yarn/install-state.gz -.pnp.* - -### Node Patch ### -# Serverless Webpack directories -.webpack/ - -# Optional stylelint cache - -# SvelteKit build / generate output -.svelte-kit - -### VisualStudioCode ### -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -!.vscode/*.code-snippets - -# Local History for Visual Studio Code -.history/ - -# Built Visual Studio Code Extensions -*.vsix - -### VisualStudioCode Patch ### -# Ignore all local history of files -.history -.ionide - -# Support for Project snippet scope -.vscode/*.code-snippets - -# Ignore code-workspaces -*.code-workspace - -# End of https://www.toptal.com/developers/gitignore/api/node,visualstudiocode - -src/media/ diff --git a/packages/cms/.prettierignore b/packages/cms/.prettierignore deleted file mode 100644 index 69c575d1..00000000 --- a/packages/cms/.prettierignore +++ /dev/null @@ -1,3 +0,0 @@ -build/ -dist/ -node_modules/ diff --git a/packages/cms/Dockerfile b/packages/cms/Dockerfile deleted file mode 100644 index e6920cd4..00000000 --- a/packages/cms/Dockerfile +++ /dev/null @@ -1,34 +0,0 @@ -FROM node:20.9-alpine as base - -FROM base as builder - -WORKDIR /app -COPY .yarn/ ./.yarn/ -COPY .yarnrc.yml yarn.lock package.json ./ - -COPY packages/cms/ ./packages/cms - -WORKDIR /app/packages/cms - -ARG PAYLOAD_PUBLIC_WEB_FRONTEND_URL - -RUN yarn workspaces focus && \ - yarn build - -FROM base as runtime - -RUN apk add curl --no-cache - -ENV NODE_ENV=production -ENV PAYLOAD_CONFIG_PATH=packages/cms/dist/payload.config.js - -WORKDIR /app - -COPY package.json ./ -COPY --from=builder /app/node_modules/ ./node_modules/ -COPY --from=builder /app/packages/cms/ ./packages/cms/ - -EXPOSE 3001 - -ENTRYPOINT ["./packages/cms/docker-entrypoint.sh"] -CMD ["node", "packages/cms/dist/server.js"] diff --git a/packages/cms/README.md b/packages/cms/README.md deleted file mode 100644 index 19774258..00000000 --- a/packages/cms/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# @yestheory.family/cms - -This package contains the Payload CMS hosted at https://admin.yestheory.family. - -## Important commands - -- `yarn dev` runs the CMS in development mode, restarting on changes -- `yarn seed` inserts some basic data including an initial user based on the .env file into the database -- `yarn generate:types` generates TypeScript types based on the collection definitions (can be imported - as `import { type GeneratedTypes } from "payload";`) - -## Requirements - -- Needs both the database and typesense running to start -- Needs Node.js Backend launched after it to authenticate requests diff --git a/packages/cms/docker-entrypoint.sh b/packages/cms/docker-entrypoint.sh deleted file mode 100755 index bc0d5407..00000000 --- a/packages/cms/docker-entrypoint.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env sh - -if [ "$ENABLE_DATASEEDER" = "true" ]; then node ./packages/cms/dist/dataseeder/main.js ; fi - -node node_modules/.bin/payload migrate - -exec "$@" diff --git a/packages/cms/eslint.config.js b/packages/cms/eslint.config.js deleted file mode 100644 index bf73a3bd..00000000 --- a/packages/cms/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @type {import('eslint').Linter.FlatConfig[]} - */ -module.exports = [ - ...require('@atmina/linting/eslint/recommended'), - require('@atmina/linting/eslint/react'), -]; diff --git a/packages/cms/package.json b/packages/cms/package.json deleted file mode 100644 index a8b9e9d5..00000000 --- a/packages/cms/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "@yestheory.family/cms", - "description": "Payload project created from blank template", - "version": "1.0.0", - "main": "dist/server.js", - "license": "MIT", - "scripts": { - "dev": "cross-env PAYLOAD_CONFIG_PATH=src/payload.config.ts ts-node-dev --transpile-only --respawn src/server.ts", - "build:payload": "cross-env PAYLOAD_CONFIG_PATH=src/payload.config.ts payload build", - "build:server": "tsc", - "build": "yarn copyfiles && yarn build:payload && yarn build:server", - "seed": "ts-node src/dataseeder/main.ts", - "serve": "cross-env PAYLOAD_CONFIG_PATH=dist/payload.config.js NODE_ENV=production node dist/server.js", - "copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png}\" dist/", - "generate:types": "cross-env PAYLOAD_CONFIG_PATH=src/payload.config.ts payload generate:types", - "generate:graphQLSchema": "cross-env PAYLOAD_CONFIG_PATH=src/payload.config.ts payload generate:graphQLSchema", - "lint": "yarn run eslint:fix && yarn run prettier:fix", - "eslint:check": "eslint . --report-unused-disable-directives --max-warnings 0", - "eslint:fix": "eslint . --fix --report-unused-disable-directives --max-warnings 0", - "prettier:check": "prettier . --check", - "prettier:fix": "prettier . --write" - }, - "dependencies": { - "@atmina/formbuilder": "^2.0.0", - "@payloadcms/bundler-vite": "^0.1.7", - "@payloadcms/db-postgres": "^0.8.2", - "@payloadcms/richtext-slate": "^1.5.1", - "clsx": "^2.1.1", - "dotenv": "^16.4.5", - "express": "^4.19.2", - "node-cron": "^3.0.3", - "payload": "^2.14.2", - "react": "^18.3.1", - "react-hook-form": "^7.51.3", - "typesense": "^1.8.2" - }, - "devDependencies": { - "@atmina/linting": "^2.2.0", - "@types/eslint": "^8.56.10", - "@types/express": "^4.17.21", - "@types/node-cron": "^3.0.11", - "@types/passport": "^1.0.16", - "@types/pg": "^8.11.5", - "autoprefixer": "^10.4.19", - "copyfiles": "^2.4.1", - "cross-env": "^7.0.3", - "eslint": "^8.56.0", - "prettier": "^3.2.5", - "tailwindcss": "^3.4.3", - "ts-node": "10.9.2", - "ts-node-dev": "^2.0.0", - "typescript": "^5.4.5" - }, - "prettier": "@atmina/linting/prettier" -} diff --git a/packages/cms/src/lib/auth-strategy.ts b/packages/cms/src/lib/auth-strategy.ts deleted file mode 100644 index 94235a55..00000000 --- a/packages/cms/src/lib/auth-strategy.ts +++ /dev/null @@ -1,39 +0,0 @@ -import type e from 'express'; -import passport from 'passport'; -import payload from 'payload'; -import {NotFound} from 'payload/errors'; -import {toRequestUser} from '../collections/users'; -import {getAuthStateFromRequest} from './get-auth-state-from-request'; - -export class YtfAuthStrategy extends passport.Strategy { - name = 'ytf-discord-auth-strategy'; - - async _authenticate(req: e.Request): Promise { - const {userId} = await getAuthStateFromRequest(req); - - if (!userId) return this.fail(); - - try { - const payloadUser = await payload.findByID({ - id: userId, - collection: 'users', - }); - - this.success(toRequestUser(payloadUser)); - } catch (e) { - if (e instanceof NotFound) { - return this.fail(); - } - - this.error(e); - } - } - - async authenticate(req: e.Request): Promise { - try { - await this._authenticate(req); - } catch (e) { - this.error(e); - } - } -} diff --git a/packages/cms/src/payload.config.ts b/packages/cms/src/payload.config.ts deleted file mode 100644 index cce2890c..00000000 --- a/packages/cms/src/payload.config.ts +++ /dev/null @@ -1,53 +0,0 @@ -import path from 'path'; -import {viteBundler} from '@payloadcms/bundler-vite'; -import {postgresAdapter} from '@payloadcms/db-postgres'; -import {slateEditor} from '@payloadcms/richtext-slate'; -import {buildConfig, type Config} from 'payload/config'; -import {Features} from './collections/features'; -import {GroupchatKeywords} from './collections/groupchat-keywords'; -import {Groupchats} from './collections/groupchats'; -import {Media} from './collections/media'; -import {Users} from './collections/users'; -import {AfterLogin} from './components/after-login/after-login'; -import {mimicUserOperationMutation} from './graphql/mutations/mimic-user-operation'; -import {groupchatSearchTokenQuery} from './graphql/queries/groupchat-search-token'; -import {mayOperateQuery} from './graphql/queries/may-operate'; -import {externals} from './plugins/externals'; -import {safeAsyncEndpoints} from './plugins/safe-async-endpoints'; -import {tailwind} from './plugins/tailwind'; -import {mergeQueries} from './utils/merge-queries'; - -const config: Config = { - admin: { - user: Users.slug, - css: path.resolve(__dirname, './styles/tailwind.css'), - buildPath: path.resolve(__dirname, '../build'), - bundler: viteBundler(), - components: { - afterLogin: [AfterLogin], - }, - }, - editor: slateEditor({}), - collections: [Users, Media, Groupchats, GroupchatKeywords, Features], - db: postgresAdapter({ - migrationDir: path.resolve(__dirname, 'migrations'), - pool: {connectionString: process.env.DATABASE_URI}, - }), - typescript: { - outputFile: path.resolve(__dirname, 'payload-types.ts'), - }, - plugins: [tailwind, externals, safeAsyncEndpoints], - graphQL: { - queries: mergeQueries({ - groupchatSearchToken: groupchatSearchTokenQuery, - mayOperate: mayOperateQuery, - }), - mutations: mergeQueries({ - mimicUserOperation: mimicUserOperationMutation, - }), - schemaOutputFile: path.resolve(__dirname, 'generated-schema.graphql'), - }, - serverURL: process.env.SERVER_URL, -}; - -export default buildConfig(config); diff --git a/packages/cms/src/plugins/externals.ts b/packages/cms/src/plugins/externals.ts deleted file mode 100644 index 5c3cb6d0..00000000 --- a/packages/cms/src/plugins/externals.ts +++ /dev/null @@ -1,40 +0,0 @@ -import path from 'path'; -import {type Config} from 'payload/config'; - -const externalModules = ['autoprefixer', 'tailwindcss']; - -export const externals = (config: Config) => { - const admin = (config.admin ??= {}); - const next = admin.vite; - - admin.vite = (viteConfig) => { - const existingAliases = viteConfig?.resolve?.alias ?? []; - let aliasArray: {find: string | RegExp; replacement: string}[]; - - if (Array.isArray(existingAliases)) { - aliasArray = existingAliases; - } else { - aliasArray = Object.values(existingAliases); - } - - const replacements = externalModules.map((m) => ({ - find: m, - replacement: path.resolve(__dirname, './mocks/empty.js'), - })); - - aliasArray.push(...replacements); - aliasArray.push({ - find: '../lib/auth-strategy', - replacement: path.resolve(__dirname, './mocks/auth-strategy.js'), - }); - - const merged = { - ...viteConfig, - resolve: {...(viteConfig.resolve ?? {}), alias: aliasArray}, - }; - - return next ? next(merged) : merged; - }; - - return config; -}; diff --git a/packages/cms/src/plugins/safe-async-endpoints.ts b/packages/cms/src/plugins/safe-async-endpoints.ts deleted file mode 100644 index f7353526..00000000 --- a/packages/cms/src/plugins/safe-async-endpoints.ts +++ /dev/null @@ -1,38 +0,0 @@ -import {type Config, type Endpoint, type PayloadHandler} from 'payload/config'; - -const safeAsyncHandler = - (handler: PayloadHandler): PayloadHandler => - async (req, res, next) => { - try { - // Don't remove await; it's required to properly catch errors here and safely handle them! - // PayloadHandler is typed as having a return type of void but that's not always actually the case. - await handler(req, res, next); - } catch (e) { - next(e); - } - }; - -const patchEndpoint = (endpoint: Endpoint): Endpoint => { - const handler = Array.isArray(endpoint.handler) - ? endpoint.handler.map(safeAsyncHandler) - : safeAsyncHandler(endpoint.handler); - - return {...endpoint, handler}; -}; - -export const safeAsyncEndpoints = (config: Config) => { - config.endpoints = config.endpoints?.map(patchEndpoint) ?? []; - for (const c of config.collections ?? []) { - if (c.endpoints) { - c.endpoints = c.endpoints.map(patchEndpoint); - } - } - - for (const g of config.globals ?? []) { - if (g.endpoints) { - g.endpoints = g.endpoints.map(patchEndpoint); - } - } - - return config; -}; diff --git a/packages/cms/src/plugins/tailwind.ts b/packages/cms/src/plugins/tailwind.ts deleted file mode 100644 index b699a9c6..00000000 --- a/packages/cms/src/plugins/tailwind.ts +++ /dev/null @@ -1,23 +0,0 @@ -import autoprefixer from 'autoprefixer'; -import {type Config} from 'payload/config'; -import tailwindcss from 'tailwindcss'; - -import '../styles/tailwind.css'; - -export const tailwind = (config: Config) => { - const admin = (config.admin ??= {}); - const next = admin.vite; - admin.vite = (viteConfig) => { - viteConfig.css ??= {}; - viteConfig.css.postcss ??= {}; - if (typeof viteConfig.css.postcss === 'object') { - viteConfig.css.postcss.plugins ??= []; - viteConfig.css.postcss.plugins.push(tailwindcss); - viteConfig.css.postcss.plugins.push(autoprefixer); - } - - return next ? next(viteConfig) : viteConfig; - }; - - return config; -}; diff --git a/packages/cms/src/server.ts b/packages/cms/src/server.ts deleted file mode 100644 index 945db074..00000000 --- a/packages/cms/src/server.ts +++ /dev/null @@ -1,31 +0,0 @@ -import {config} from 'dotenv'; -import express from 'express'; -import payload from 'payload'; -import {setupCronJobs} from './cron-jobs'; -import {initPayload} from './init-payload'; -import {typesenseReady} from './lib/typesense'; - -config(); - -const app = express(); - -// Redirect root to Admin panel -app.get('/', (_, res) => { - res.redirect('/admin'); -}); - -const start = async () => { - await initPayload({ - express: app, - onInit: async () => { - payload.logger.info(`Payload Admin URL: ${payload.getAdminURL()}`); - }, - }); - - await typesenseReady(); - await setupCronJobs(); - - app.listen(3001); -}; - -start().catch(console.error); diff --git a/packages/cms/tailwind.config.js b/packages/cms/tailwind.config.js deleted file mode 100644 index e9cdfb73..00000000 --- a/packages/cms/tailwind.config.js +++ /dev/null @@ -1,8 +0,0 @@ -/** @type {import('tailwindcss').Config} */ -module.exports = { - content: ['./src/**/*.tsx'], - theme: { - extend: {}, - }, - plugins: [], -}; diff --git a/packages/cms/tsconfig.json b/packages/cms/tsconfig.json deleted file mode 100644 index 85596e2a..00000000 --- a/packages/cms/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["dom", "dom.iterable", "esnext"], - "allowJs": true, - "strict": false, - "esModuleInterop": true, - "skipLibCheck": true, - "outDir": "./dist", - "rootDir": "./src", - "jsx": "react" - }, - "include": ["src"], - "exclude": ["node_modules", "dist", "build"], - "ts-node": { - "transpileOnly": true, - "swc": true - } -} diff --git a/packages/server/.env.example b/packages/server/.env.example index 962d6d69..8e0d5503 100644 --- a/packages/server/.env.example +++ b/packages/server/.env.example @@ -24,7 +24,7 @@ DISCORD_CLIENT_SECRET= DISCORD_SCOPES= # API Endpoint of the CMS used to stitch schemas -CMS_ENDPOINT=http://localhost:3001/api +CMS_ENDPOINT=http://localhost:3000/api # API Key of the YesBot user in the CMS used for requests proxied through the YesBot endpoint CMS_API_KEY=development-api-key diff --git a/packages/web/.env.local.example b/packages/web/.env.local.example index 1ae9f49f..7acb3776 100644 --- a/packages/web/.env.local.example +++ b/packages/web/.env.local.example @@ -9,3 +9,34 @@ NEXT_PUBLIC_PAYLOAD_URL=http://localhost:3001/admin # Token for deploying and running the included Storybook on https://chromatic.com CHROMATIC_PROJECT_TOKEN= + +# ----- Payload + +# Payload secret used to encrypt API Tokens and passwords and the like +PAYLOAD_SECRET=asdfghjkl + +# Used to prefix URLs of uploads amongst other things +SERVER_URL=http://localhost:3000 + +# Database URI to connect to +DATABASE_URI=postgres://username:password@localhost:5433/payload + +# Typesense details for syncing groupchats and potentially other information to there +TYPESENSE_API_URL=http://localhost:8108 +TYPESENSE_API_KEY=1234567890 + +# URLs for the GraphQL interfaces (public GraphQL interface and YesBot interface in that order) +BACKEND_URL=http://localhost:5000 +INTERNAL_BACKEND_URL=http://localhost:5001 + +# Auth Token for the INTERNAL_BACKEND_URL interface +YESBOT_API_AUTH_TOKEN= + +# Discord ID of yourself (used by the seeder to create the first user) +INITIAL_ADMIN_ID=1234567890 + +# URL of the web frontend (used to open the authentication) +PAYLOAD_PUBLIC_WEB_FRONTEND_URL=http://localhost:3000 + +# API Key of the simulated YesBot user +PAYLOAD_API_KEY=development-api-key diff --git a/packages/web/next.config.js b/packages/web/next.config.js index c1923ef4..cfb5e7ea 100644 --- a/packages/web/next.config.js +++ b/packages/web/next.config.js @@ -1,4 +1,5 @@ const analyzerPlugin = require('@next/bundle-analyzer'); +const { withPayload } = require('@payloadcms/next/withPayload') const {PHASE_DEVELOPMENT_SERVER} = require('next/constants'); const withBundleAnalyzer = analyzerPlugin(); @@ -59,7 +60,7 @@ const config = (phase) => ({ ], }); -module.exports = (...args) => +module.exports = withPayload((...args) => process.env.ANALYZE === 'true' ? withBundleAnalyzer(config(...args)) - : config(...args); + : config(...args)); diff --git a/packages/web/package.json b/packages/web/package.json index 52cd1959..b149d293 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -7,7 +7,7 @@ "build": "next build", "chromatic": "env-cmd -f .env.local chromatic", "codegen": "graphql-codegen", - "dev": "yarn codegen && yarn next --turbo", + "dev": "concurrently \"yarn codegen --watch\" \"yarn next\"", "lint": "yarn run eslint:fix && yarn run prettier:fix", "start": "next start", "storybook": "storybook dev -p 6006", @@ -16,7 +16,8 @@ "eslint:check": "eslint . --report-unused-disable-directives --max-warnings 0", "eslint:fix": "eslint . --fix --report-unused-disable-directives --max-warnings 0", "prettier:check": "prettier . --check", - "prettier:fix": "prettier . --write" + "prettier:fix": "prettier . --write", + "types": "payload generate:types" }, "devDependencies": { "@atmina/linting": "^2.2.0", @@ -28,16 +29,21 @@ "@graphql-codegen/typescript-operations": "^4.2.0", "@next/bundle-analyzer": "^14.2.3", "@next/eslint-plugin-next": "14.2.3", + "@parcel/watcher": "^2.4.1", "@storybook/addon-essentials": "^8.0.9", "@storybook/addon-interactions": "^8.0.9", "@storybook/addon-links": "^8.0.9", "@storybook/nextjs": "^8.0.9", "@storybook/react": "^8.0.9", + "@storybook/test": "8.0.9", + "@swc/core": "^1.4.17", "@types/cookie": "0.6.0", "@types/eslint": "^8.56.10", + "@types/pg": "^8.11.6", "@types/prettier": "^3.0.0", "autoprefixer": "^10.4.19", "chromatic": "^11.3.0", + "concurrently": "^8.2.2", "cross-env": "^7.0.3", "env-cmd": "^10.1.0", "eslint": "^8.56.0", @@ -51,20 +57,29 @@ "typescript": "5.4.5" }, "dependencies": { + "@atmina/formbuilder": "^2.0.0", "@ebay/nice-modal-react": "^1.2.13", "@heroicons/react": "^2.1.3", "@icons-pack/react-simple-icons": "^9.4.1", + "@payloadcms/db-postgres": "^3.0.0-beta.25", + "@payloadcms/next": "^3.0.0-beta.25", + "@payloadcms/richtext-slate": "^3.0.0-beta.25", + "@payloadcms/ui": "3.0.0-beta.25", "@radix-ui/react-dialog": "^1.0.5", "@radix-ui/react-dropdown-menu": "^2.0.6", - "@storybook/test": "8.0.9", "cookie": "0.6.0", + "drizzle-orm": "0.29.4", "framer-motion": "^11.1.7", "graphql": "16.8.1", "graphql-request": "^6.1.0", "next": "14.2.3", + "payload": "^3.0.0-beta.25", + "pg": "^8.11.5", + "pg-connection-string": "^2.6.4", "react": "18.3.1", "react-animate-height": "^3.2.3", "react-dom": "18.3.1", + "react-hook-form": "^7.51.4", "react-ssr-prepass": "1.5.0", "sharp": "0.33.3", "tailwind-merge": "^2.3.0", diff --git a/packages/web/src/app/(home)/components/features.graphql b/packages/web/src/app/(app)/(home)/components/features.graphql similarity index 100% rename from packages/web/src/app/(home)/components/features.graphql rename to packages/web/src/app/(app)/(home)/components/features.graphql diff --git a/packages/web/src/app/(home)/components/features.tsx b/packages/web/src/app/(app)/(home)/components/features.tsx similarity index 86% rename from packages/web/src/app/(home)/components/features.tsx rename to packages/web/src/app/(app)/(home)/components/features.tsx index 3e12fa25..90270552 100644 --- a/packages/web/src/app/(home)/components/features.tsx +++ b/packages/web/src/app/(app)/(home)/components/features.tsx @@ -1,5 +1,5 @@ import {type Feature, FeatureCard} from 'ui/home'; -import {graphqlWithHeaders} from '../../../lib/graphql/client'; +import {graphqlWithHeaders} from '../../../../lib/graphql/client'; export const Features = async () => { const featuresQuery = await graphqlWithHeaders((sdk) => diff --git a/packages/web/src/app/(home)/components/intro.tsx b/packages/web/src/app/(app)/(home)/components/intro.tsx similarity index 91% rename from packages/web/src/app/(home)/components/intro.tsx rename to packages/web/src/app/(app)/(home)/components/intro.tsx index c4803cd3..9884dc0e 100644 --- a/packages/web/src/app/(home)/components/intro.tsx +++ b/packages/web/src/app/(app)/(home)/components/intro.tsx @@ -1,5 +1,5 @@ import type {FC} from 'react'; -import {Heading} from '../../../ui'; +import {Heading} from '../../../../ui'; export const Intro: FC = () => (
diff --git a/packages/web/src/app/(home)/components/parallax.tsx b/packages/web/src/app/(app)/(home)/components/parallax.tsx similarity index 88% rename from packages/web/src/app/(home)/components/parallax.tsx rename to packages/web/src/app/(app)/(home)/components/parallax.tsx index 09f7ae00..f7b8e2db 100644 --- a/packages/web/src/app/(home)/components/parallax.tsx +++ b/packages/web/src/app/(app)/(home)/components/parallax.tsx @@ -1,9 +1,9 @@ import Image from 'next/image'; import type {FC} from 'react'; import {ScrollToActionContainer} from 'ui/client'; -import CloudBig from '../../../../assets/cloudBig.webp'; -import CloudBot from '../../../../assets/cloudBot.webp'; -import MountainDude from '../../../../assets/dude-on-mountain.webp'; +import CloudBig from '../../../../../assets/cloudBig.webp'; +import CloudBot from '../../../../../assets/cloudBot.webp'; +import MountainDude from '../../../../../assets/dude-on-mountain.webp'; export const Parallax: FC = () => (
diff --git a/packages/web/src/app/(home)/page.tsx b/packages/web/src/app/(app)/(home)/page.tsx similarity index 100% rename from packages/web/src/app/(home)/page.tsx rename to packages/web/src/app/(app)/(home)/page.tsx diff --git a/packages/web/src/app/auth/payload-redirect/page.tsx b/packages/web/src/app/(app)/auth/payload-redirect/page.tsx similarity index 82% rename from packages/web/src/app/auth/payload-redirect/page.tsx rename to packages/web/src/app/(app)/auth/payload-redirect/page.tsx index c12b4648..0ed99f4b 100644 --- a/packages/web/src/app/auth/payload-redirect/page.tsx +++ b/packages/web/src/app/(app)/auth/payload-redirect/page.tsx @@ -1,7 +1,7 @@ 'use client'; import {type FC, useEffect} from 'react'; -import {navigateToLogin} from '../../../context/user/navigate-to-login'; +import {navigateToLogin} from '../../../../context/user/navigate-to-login'; const PayloadRedirect: FC = () => { useEffect(() => { diff --git a/packages/web/src/app/buddyproject/actions/signup-server-action.ts b/packages/web/src/app/(app)/buddyproject/actions/signup-server-action.ts similarity index 73% rename from packages/web/src/app/buddyproject/actions/signup-server-action.ts rename to packages/web/src/app/(app)/buddyproject/actions/signup-server-action.ts index 25b730c1..edeae4f3 100644 --- a/packages/web/src/app/buddyproject/actions/signup-server-action.ts +++ b/packages/web/src/app/(app)/buddyproject/actions/signup-server-action.ts @@ -1,6 +1,6 @@ 'use server'; -import {graphqlWithHeaders} from '../../../lib/graphql/client'; +import {graphqlWithHeaders} from '../../../../lib/graphql/client'; export const buddyProjectSignUp = async () => { const result = await graphqlWithHeaders((sdk) => sdk.BuddyProjectSignUp()); diff --git a/packages/web/src/app/buddyproject/buddyproject.graphql b/packages/web/src/app/(app)/buddyproject/buddyproject.graphql similarity index 100% rename from packages/web/src/app/buddyproject/buddyproject.graphql rename to packages/web/src/app/(app)/buddyproject/buddyproject.graphql diff --git a/packages/web/src/app/buddyproject/components/buddy-project-button.tsx b/packages/web/src/app/(app)/buddyproject/components/buddy-project-button.tsx similarity index 90% rename from packages/web/src/app/buddyproject/components/buddy-project-button.tsx rename to packages/web/src/app/(app)/buddyproject/components/buddy-project-button.tsx index 5cf423e6..fc5b88f2 100644 --- a/packages/web/src/app/buddyproject/components/buddy-project-button.tsx +++ b/packages/web/src/app/(app)/buddyproject/components/buddy-project-button.tsx @@ -4,8 +4,8 @@ import {show as showNiceModal} from '@ebay/nice-modal-react'; import {useRouter} from 'next/navigation'; import {type FC, useCallback} from 'react'; import {Button} from 'ui'; -import {type BuddyProjectStatus} from '../../../__generated__/graphql'; -import {navigateToLogin} from '../../../context/user/navigate-to-login'; +import {type BuddyProjectStatus} from '../../../../__generated__/graphql'; +import {navigateToLogin} from '../../../../context/user/navigate-to-login'; import {buddyProjectSignUp} from '../actions/signup-server-action'; import {ServerJoinConfirmationModal} from './server-join-confirmation'; import {SignupSuccessModal} from './signup-success-modal'; diff --git a/packages/web/src/app/buddyproject/components/server-join-confirmation.tsx b/packages/web/src/app/(app)/buddyproject/components/server-join-confirmation.tsx similarity index 100% rename from packages/web/src/app/buddyproject/components/server-join-confirmation.tsx rename to packages/web/src/app/(app)/buddyproject/components/server-join-confirmation.tsx diff --git a/packages/web/src/app/buddyproject/components/signup-success-modal.tsx b/packages/web/src/app/(app)/buddyproject/components/signup-success-modal.tsx similarity index 100% rename from packages/web/src/app/buddyproject/components/signup-success-modal.tsx rename to packages/web/src/app/(app)/buddyproject/components/signup-success-modal.tsx diff --git a/packages/web/src/app/buddyproject/page.tsx b/packages/web/src/app/(app)/buddyproject/page.tsx similarity index 93% rename from packages/web/src/app/buddyproject/page.tsx rename to packages/web/src/app/(app)/buddyproject/page.tsx index 30d1d78b..462515fc 100644 --- a/packages/web/src/app/buddyproject/page.tsx +++ b/packages/web/src/app/(app)/buddyproject/page.tsx @@ -2,9 +2,9 @@ import {type Metadata} from 'next'; import {Container, Image} from 'ui'; import {InfoGrid} from 'ui/buddyproject'; import {ScrollToActionContainer} from 'ui/client'; -import {buddyProjectSvg, yesbotBuddyProjectWebp} from '../../../assets'; -import {ensureNavEnabled} from '../../lib/features/features'; -import {graphqlWithHeaders} from '../../lib/graphql/client'; +import {buddyProjectSvg, yesbotBuddyProjectWebp} from '../../../../assets'; +import {ensureNavEnabled} from '../../../lib/features/features'; +import {graphqlWithHeaders} from '../../../lib/graphql/client'; import {BuddyProjectButton} from './components/buddy-project-button'; const title = 'The Buddy Project'; diff --git a/packages/web/src/app/groupchats/components/fetch-groupchats.ts b/packages/web/src/app/(app)/groupchats/components/fetch-groupchats.ts similarity index 92% rename from packages/web/src/app/groupchats/components/fetch-groupchats.ts rename to packages/web/src/app/(app)/groupchats/components/fetch-groupchats.ts index b027b8bc..1b09cc81 100644 --- a/packages/web/src/app/groupchats/components/fetch-groupchats.ts +++ b/packages/web/src/app/(app)/groupchats/components/fetch-groupchats.ts @@ -1,5 +1,5 @@ import type {SearchClient} from 'typesense'; -import type {Groupchat_Platform} from '../../../__generated__/graphql'; +import type {Groupchat_Platform} from '../../../../__generated__/graphql'; import {type GroupchatResult} from './use-groupchat-search'; const pageSize = 15; diff --git a/packages/web/src/app/groupchats/components/group-chat-search.tsx b/packages/web/src/app/(app)/groupchats/components/group-chat-search.tsx similarity index 92% rename from packages/web/src/app/groupchats/components/group-chat-search.tsx rename to packages/web/src/app/(app)/groupchats/components/group-chat-search.tsx index 477f49c9..2383539a 100644 --- a/packages/web/src/app/groupchats/components/group-chat-search.tsx +++ b/packages/web/src/app/(app)/groupchats/components/group-chat-search.tsx @@ -7,9 +7,9 @@ import { import {type FC, Fragment, useState} from 'react'; import {GroupChatResult} from 'ui/groupchats'; import {GroupChatSearchBar} from 'ui/groupchats/client'; -import type {Groupchat_Platform} from '../../../__generated__/graphql'; -import {navigateToLogin} from '../../../context/user/navigate-to-login'; -import {Link} from '../../../ui'; +import type {Groupchat_Platform} from '../../../../__generated__/graphql'; +import {navigateToLogin} from '../../../../context/user/navigate-to-login'; +import {Link} from '../../../../ui'; import {type GroupchatResult, useGroupchatSearch} from './use-groupchat-search'; export type GroupChatSearchProps = { diff --git a/packages/web/src/app/groupchats/components/use-groupchat-search.ts b/packages/web/src/app/(app)/groupchats/components/use-groupchat-search.ts similarity index 92% rename from packages/web/src/app/groupchats/components/use-groupchat-search.ts rename to packages/web/src/app/(app)/groupchats/components/use-groupchat-search.ts index 7d2b7d55..8dc89329 100644 --- a/packages/web/src/app/groupchats/components/use-groupchat-search.ts +++ b/packages/web/src/app/(app)/groupchats/components/use-groupchat-search.ts @@ -1,7 +1,7 @@ import {useState, useEffect, useCallback} from 'react'; -import type {Groupchat_Platform} from '../../../__generated__/graphql'; -import {useTypesense} from '../../../context/typesense'; -import {useDebouncedValue} from '../../../lib/hooks/use-debounced-value'; +import type {Groupchat_Platform} from '../../../../__generated__/graphql'; +import {useTypesense} from '../../../../context/typesense'; +import {useDebouncedValue} from '../../../../lib/hooks/use-debounced-value'; import {fetchResults} from './fetch-groupchats'; export type GroupchatResult = { diff --git a/packages/web/src/app/groupchats/page.tsx b/packages/web/src/app/(app)/groupchats/page.tsx similarity index 82% rename from packages/web/src/app/groupchats/page.tsx rename to packages/web/src/app/(app)/groupchats/page.tsx index 3e326f73..28cf96a5 100644 --- a/packages/web/src/app/groupchats/page.tsx +++ b/packages/web/src/app/(app)/groupchats/page.tsx @@ -1,9 +1,12 @@ import {type Metadata} from 'next'; import {Container, Heading} from 'ui'; -import {getTypesenseClient, TypesenseProvider} from '../../context/typesense'; -import {getIsLoggedIn} from '../../context/user/user'; -import {ensureNavEnabled} from '../../lib/features/features'; -import {graphqlWithHeaders} from '../../lib/graphql/client'; +import { + getTypesenseClient, + TypesenseProvider, +} from '../../../context/typesense'; +import {getIsLoggedIn} from '../../../context/user/user'; +import {ensureNavEnabled} from '../../../lib/features/features'; +import {graphqlWithHeaders} from '../../../lib/graphql/client'; import {fetchResults} from './components/fetch-groupchats'; import {GroupChatSearch} from './components/group-chat-search'; import {type GroupchatResult} from './components/use-groupchat-search'; diff --git a/packages/web/src/app/layout.tsx b/packages/web/src/app/(app)/layout.tsx similarity index 89% rename from packages/web/src/app/layout.tsx rename to packages/web/src/app/(app)/layout.tsx index c89f3360..48c7f8ce 100644 --- a/packages/web/src/app/layout.tsx +++ b/packages/web/src/app/(app)/layout.tsx @@ -2,13 +2,13 @@ import {type Metadata} from 'next'; import {Roboto} from 'next/font/google'; import {type PropsWithChildren, Suspense} from 'react'; import {Footer} from 'ui'; -import {CookieConsent} from '../components/cookie-consent/cookie-consent'; -import {getCurrentUser} from '../context/user/user'; -import {getNavRoutes} from '../lib/features/features'; +import {CookieConsent} from '../../components/cookie-consent/cookie-consent'; +import {getCurrentUser} from '../../context/user/user'; +import {getNavRoutes} from '../../lib/features/features'; import {Nav} from './nav'; import {Providers} from './providers'; -import '../../styles/globals.css'; +import '../../../styles/globals.css'; const roboto = Roboto({ weight: ['400', '900'], diff --git a/packages/web/src/app/legal/imprint/page.tsx b/packages/web/src/app/(app)/legal/imprint/page.tsx similarity index 100% rename from packages/web/src/app/legal/imprint/page.tsx rename to packages/web/src/app/(app)/legal/imprint/page.tsx diff --git a/packages/web/src/app/legal/layout.tsx b/packages/web/src/app/(app)/legal/layout.tsx similarity index 100% rename from packages/web/src/app/legal/layout.tsx rename to packages/web/src/app/(app)/legal/layout.tsx diff --git a/packages/web/src/app/legal/privacy/page.tsx b/packages/web/src/app/(app)/legal/privacy/page.tsx similarity index 100% rename from packages/web/src/app/legal/privacy/page.tsx rename to packages/web/src/app/(app)/legal/privacy/page.tsx diff --git a/packages/web/src/app/nav.tsx b/packages/web/src/app/(app)/nav.tsx similarity index 76% rename from packages/web/src/app/nav.tsx rename to packages/web/src/app/(app)/nav.tsx index b11b6dac..60ad3921 100644 --- a/packages/web/src/app/nav.tsx +++ b/packages/web/src/app/(app)/nav.tsx @@ -3,9 +3,9 @@ import {useRouter} from 'next/navigation'; import {type FC} from 'react'; import {Navigation, type NavLinkDefinition} from 'ui'; -import {type CurrentUserQuery} from '../__generated__/graphql'; -import {logout} from '../context/user/logout-server-action'; -import {navigateToLogin} from '../context/user/navigate-to-login'; +import {type CurrentUserQuery} from '../../__generated__/graphql'; +import {logout} from '../../context/user/logout-server-action'; +import {navigateToLogin} from '../../context/user/navigate-to-login'; export type NavProps = { user: Exclude; diff --git a/packages/web/src/app/not-found.tsx b/packages/web/src/app/(app)/not-found.tsx similarity index 100% rename from packages/web/src/app/not-found.tsx rename to packages/web/src/app/(app)/not-found.tsx diff --git a/packages/web/src/app/providers.tsx b/packages/web/src/app/(app)/providers.tsx similarity index 72% rename from packages/web/src/app/providers.tsx rename to packages/web/src/app/(app)/providers.tsx index 37f209f0..8512de6d 100644 --- a/packages/web/src/app/providers.tsx +++ b/packages/web/src/app/(app)/providers.tsx @@ -2,8 +2,8 @@ import NiceModal from '@ebay/nice-modal-react'; import {type FC, type PropsWithChildren} from 'react'; -import {ScrollbarWidthProvider} from '../components/scrollbar-width-provider'; -import {type User, UserProvider} from '../context/user/user-context'; +import {ScrollbarWidthProvider} from '../../components/scrollbar-width-provider'; +import {type User, UserProvider} from '../../context/user/user-context'; export type ProvidersProps = PropsWithChildren<{ user: User | null; diff --git a/packages/cms/src/access/allow-update-delete-owner.ts b/packages/web/src/app/(payload)/access/allow-update-delete-owner.ts similarity index 91% rename from packages/cms/src/access/allow-update-delete-owner.ts rename to packages/web/src/app/(payload)/access/allow-update-delete-owner.ts index 3d24e87d..8069f9df 100644 --- a/packages/cms/src/access/allow-update-delete-owner.ts +++ b/packages/web/src/app/(payload)/access/allow-update-delete-owner.ts @@ -4,7 +4,7 @@ import {type SessionUser} from '../collections/users'; export function allowUpdateDeleteOwner({ req, }: AccessArgs) { - const user: SessionUser = req.user; + const user: SessionUser | null = req.user; if (!user) return false; const roles = '_strategy' in user ? user.roles : user.user.roles; diff --git a/packages/cms/src/access/hidden-unless-owner.ts b/packages/web/src/app/(payload)/access/hidden-unless-owner.ts similarity index 61% rename from packages/cms/src/access/hidden-unless-owner.ts rename to packages/web/src/app/(payload)/access/hidden-unless-owner.ts index 92da8279..d22c0445 100644 --- a/packages/cms/src/access/hidden-unless-owner.ts +++ b/packages/web/src/app/(payload)/access/hidden-unless-owner.ts @@ -1,8 +1,10 @@ -import {type User} from 'payload/auth'; +import {type ClientUser} from 'payload/auth'; import {type SessionUser} from '../collections/users'; -export const hiddenUnlessOwner = ({user}: {user: User}) => { +export const hiddenUnlessOwner = ({user}: {user: ClientUser}) => { const sessionUser = user as unknown as SessionUser; + if (!sessionUser) return false; + const roles = 'roles' in sessionUser ? sessionUser.roles : sessionUser.user.roles; diff --git a/packages/cms/src/access/require-one-of.ts b/packages/web/src/app/(payload)/access/require-one-of.ts similarity index 100% rename from packages/cms/src/access/require-one-of.ts rename to packages/web/src/app/(payload)/access/require-one-of.ts diff --git a/packages/web/src/app/(payload)/admin/[[...segments]]/page.tsx b/packages/web/src/app/(payload)/admin/[[...segments]]/page.tsx new file mode 100644 index 00000000..6dd436af --- /dev/null +++ b/packages/web/src/app/(payload)/admin/[[...segments]]/page.tsx @@ -0,0 +1,17 @@ +/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */ +import config from '@payload-config' +/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */ +import { RootPage } from '@payloadcms/next/views' + +type Args = { + params: { + segments: string[] + } + searchParams: { + [key: string]: string | string[] + } +} + +const Page = ({ params, searchParams }: Args) => RootPage({ config, params, searchParams }) + +export default Page diff --git a/packages/web/src/app/(payload)/api/[...slug]/route.ts b/packages/web/src/app/(payload)/api/[...slug]/route.ts new file mode 100644 index 00000000..282e1ad3 --- /dev/null +++ b/packages/web/src/app/(payload)/api/[...slug]/route.ts @@ -0,0 +1,9 @@ +/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */ +/* DO NOT MODIFY it because it could be re-written at any time. */ +import config from '@payload-config' +import { REST_DELETE, REST_GET, REST_PATCH, REST_POST } from '@payloadcms/next/routes' + +export const GET = REST_GET(config) +export const POST = REST_POST(config) +export const DELETE = REST_DELETE(config) +export const PATCH = REST_PATCH(config) diff --git a/packages/web/src/app/(payload)/api/graphql-playground/route.ts b/packages/web/src/app/(payload)/api/graphql-playground/route.ts new file mode 100644 index 00000000..7b7f2799 --- /dev/null +++ b/packages/web/src/app/(payload)/api/graphql-playground/route.ts @@ -0,0 +1,6 @@ +/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */ +/* DO NOT MODIFY it because it could be re-written at any time. */ +import config from '@payload-config' +import { GRAPHQL_PLAYGROUND_GET } from '@payloadcms/next/routes' + +export const GET = GRAPHQL_PLAYGROUND_GET(config) diff --git a/packages/web/src/app/(payload)/api/graphql/route.ts b/packages/web/src/app/(payload)/api/graphql/route.ts new file mode 100644 index 00000000..c2723e43 --- /dev/null +++ b/packages/web/src/app/(payload)/api/graphql/route.ts @@ -0,0 +1,6 @@ +/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */ +/* DO NOT MODIFY it because it could be re-written at any time. */ +import config from '@payload-config' +import { GRAPHQL_POST } from '@payloadcms/next/routes' + +export const POST = GRAPHQL_POST(config) diff --git a/packages/cms/src/collections/features.ts b/packages/web/src/app/(payload)/collections/features.ts similarity index 94% rename from packages/cms/src/collections/features.ts rename to packages/web/src/app/(payload)/collections/features.ts index f0685d72..90b24e44 100644 --- a/packages/cms/src/collections/features.ts +++ b/packages/web/src/app/(payload)/collections/features.ts @@ -30,7 +30,7 @@ export const Features: CollectionConfig = { type: 'text', hooks: { beforeValidate: [ - ({value, data}) => value ?? data.pathPrefix, + ({value, data}) => value ?? data?.pathPrefix, ({value}) => (value.startsWith('/') ? value : '/' + value), ], }, diff --git a/packages/cms/src/collections/groupchat-keywords.ts b/packages/web/src/app/(payload)/collections/groupchat-keywords.ts similarity index 100% rename from packages/cms/src/collections/groupchat-keywords.ts rename to packages/web/src/app/(payload)/collections/groupchat-keywords.ts diff --git a/packages/cms/src/collections/groupchats.ts b/packages/web/src/app/(payload)/collections/groupchats.ts similarity index 89% rename from packages/cms/src/collections/groupchats.ts rename to packages/web/src/app/(payload)/collections/groupchats.ts index f9e327a9..c18dd1a1 100644 --- a/packages/cms/src/collections/groupchats.ts +++ b/packages/web/src/app/(payload)/collections/groupchats.ts @@ -1,9 +1,9 @@ import payload, {type GeneratedTypes, type Payload} from 'payload'; -import {type CollectionConfig} from 'payload/types'; +import {type CollectionConfig, type ValidateOptions} from 'payload/types'; +import {type Groupchat, type GroupchatKeyword} from '../../../payload-types'; import {allowUpdateDeleteOwner} from '../access/allow-update-delete-owner'; import {requireOneOf} from '../access/require-one-of'; import {typesenseClient} from '../lib/typesense'; -import {type GroupchatKeyword} from '../payload-types'; type GroupchatPlatform = GeneratedTypes['collections']['groupchats']['platform']; @@ -33,7 +33,7 @@ export const Groupchats: CollectionConfig = { name: 'name', type: 'text', required: true, - validate: async (nameValue, {data, payload}) => { + validate: async (nameValue, {data}) => { if (!nameValue) return 'This field is required.'; // We need to run local operations with certain auth, so we skip if payload is not available @@ -104,10 +104,8 @@ export const Groupchats: CollectionConfig = { }, ], }, - validate: (url, {data}) => { - // Validate only server-side to allow beforeValidate to run properly before this. - if (typeof window !== 'undefined') return true; - + validate: (url, {data}: ValidateOptions) => { + if (!data.platform) return true; if (!url) return 'This field is required.'; const urlMatcher = platformUrlMatchers[data.platform]; @@ -154,12 +152,13 @@ export const Groupchats: CollectionConfig = { async ({operation, context, data, req}) => { if ( operation !== 'create' || - ('dataseeder' in context && context.dataseeder) + ('dataseeder' in context && context.dataseeder) || + !data ) { return; } - const ownerId = req.user.id; + const ownerId = req.user?.id; data.owners ??= []; if (!data.owners.includes(ownerId)) data.owners.push(ownerId); }, @@ -171,17 +170,18 @@ export const Groupchats: CollectionConfig = { { method: 'post', path: '/create-many', - handler: async (req, res) => { - if (!req.user) return res.status(401).send('Unauthorized'); + handler: async (req) => { + if (!req.user) return new Response('Unauthorized', {status: 401}); - const first = req.body[0]; + const groupchats = await req.json!(); + const first = groupchats[0]; const hasPermission = await requireOneOf()({req, data: first}); if (typeof hasPermission !== 'boolean' || !hasPermission) { - return res.status(403).send('Forbidden'); + return new Response('Forbidden', {status: 403}); } - for (const chat of req.body) { + for (const chat of groupchats) { try { await req.payload.create({ collection: 'groupchats', @@ -199,7 +199,7 @@ export const Groupchats: CollectionConfig = { } } - res.status(200).send('Ok'); + return new Response('Ok', {status: 200}); }, }, ], diff --git a/packages/cms/src/collections/media.ts b/packages/web/src/app/(payload)/collections/media.ts similarity index 100% rename from packages/cms/src/collections/media.ts rename to packages/web/src/app/(payload)/collections/media.ts diff --git a/packages/cms/src/collections/users.ts b/packages/web/src/app/(payload)/collections/users.ts similarity index 73% rename from packages/cms/src/collections/users.ts rename to packages/web/src/app/(payload)/collections/users.ts index a6d5069d..394742de 100644 --- a/packages/cms/src/collections/users.ts +++ b/packages/web/src/app/(payload)/collections/users.ts @@ -2,8 +2,8 @@ import {type GeneratedTypes} from 'payload'; import {type CollectionConfig} from 'payload/types'; import {hiddenUnlessOwner} from '../access/hidden-unless-owner'; import {requireOneOf} from '../access/require-one-of'; -import {YtfAuthStrategy} from '../lib/auth-strategy'; -import {getAuthStateFromRequest} from '../lib/get-auth-state-from-request'; +import {ytfAuthStrategy} from '../lib/auth-strategy'; +import {getAuthStateFromHeaders} from '../lib/get-auth-state-from-headers'; export type PayloadUser = GeneratedTypes['collections']['users']; @@ -32,8 +32,9 @@ export const toRequestUser = ( user: GeneratedTypes['collections']['users'], ) => ({ collection: 'users', - id: user.id, - user, + ...user, + // Not a fan of this but it's required to be a valid type for AuthStrategyFunction for now + email: '', }); export const Users: CollectionConfig = { @@ -42,7 +43,7 @@ export const Users: CollectionConfig = { useAPIKey: true, disableLocalStrategy: true, strategies: [ - {name: 'ytf-discord-auth-strategy', strategy: new YtfAuthStrategy()}, + {name: 'ytf-discord-auth-strategy', authenticate: ytfAuthStrategy}, ], }, access: { @@ -67,23 +68,23 @@ export const Users: CollectionConfig = { { path: '/auth-state', method: 'get', - handler: async (req, res) => { - const {isLoggedIn} = await getAuthStateFromRequest(req); - if (!isLoggedIn) return res.status(200).send(AuthState.MISSING_COOKIE); + handler: async (req) => { + const {isLoggedIn} = await getAuthStateFromHeaders(req.headers); + if (!isLoggedIn) return new Response(AuthState.MISSING_COOKIE); - const user = req.user as SessionUser; - if (!user) return res.status(200).send(AuthState.MISSING_ACCESS); + const user = req.user as SessionUser | null; + if (!user) return new Response(AuthState.MISSING_ACCESS); - res.status(200).send(AuthState.AUTHENTICATED); + return new Response(AuthState.AUTHENTICATED); }, }, { path: '/request-access', method: 'post', - handler: async (req, res) => { - const {message} = req.body; + handler: async (req) => { + const {message} = await req.json!(); - const {userId} = await getAuthStateFromRequest(req); + const {userId} = await getAuthStateFromHeaders(req.headers); const gqlBody = { query: `mutation RequestAccess { requestAccess(userId: "${userId}", message: "${message}") }`, @@ -95,7 +96,7 @@ export const Users: CollectionConfig = { method: 'POST', headers: { 'Content-Type': 'application/json', - 'X-Yesbot-Authentication': process.env.YESBOT_API_AUTH_TOKEN, + 'X-Yesbot-Authentication': process.env.YESBOT_API_AUTH_TOKEN ?? '', }, body: JSON.stringify(gqlBody), }); @@ -104,10 +105,10 @@ export const Users: CollectionConfig = { const json = (await response.json()) as AccessRequestResult; if (json.data?.requestAccess) { - return res.status(200).send('Ok'); + return Response.json('Ok'); } - res.status(400).send('Bad request'); + return Response.json('Bad request', {status: 400}); }, }, ], @@ -119,6 +120,7 @@ export const Users: CollectionConfig = { hasMany: true, label: 'Roles', defaultValue: [], + required: true, options: [ {label: 'Owner', value: 'owner'}, {label: 'Groupchat-Admin', value: 'groupchats-admin'}, diff --git a/packages/cms/src/components/after-login/after-login.tsx b/packages/web/src/app/(payload)/components/after-login/after-login.tsx similarity index 98% rename from packages/cms/src/components/after-login/after-login.tsx rename to packages/web/src/app/(payload)/components/after-login/after-login.tsx index 1c052cfb..ff7e400b 100644 --- a/packages/cms/src/components/after-login/after-login.tsx +++ b/packages/web/src/app/(payload)/components/after-login/after-login.tsx @@ -1,3 +1,5 @@ +'use client'; + import React, {type FC, useEffect, useState} from 'react'; import {AuthState} from '../../collections/users'; import {AuthenticatedMishap} from './components/authenticated-mishap'; diff --git a/packages/cms/src/components/after-login/components/authenticated-mishap.tsx b/packages/web/src/app/(payload)/components/after-login/components/authenticated-mishap.tsx similarity index 100% rename from packages/cms/src/components/after-login/components/authenticated-mishap.tsx rename to packages/web/src/app/(payload)/components/after-login/components/authenticated-mishap.tsx diff --git a/packages/cms/src/components/after-login/components/missing-access.tsx b/packages/web/src/app/(payload)/components/after-login/components/missing-access.tsx similarity index 93% rename from packages/cms/src/components/after-login/components/missing-access.tsx rename to packages/web/src/app/(payload)/components/after-login/components/missing-access.tsx index 65f564c9..042b423a 100644 --- a/packages/cms/src/components/after-login/components/missing-access.tsx +++ b/packages/web/src/app/(payload)/components/after-login/components/missing-access.tsx @@ -1,5 +1,5 @@ import {useFormBuilder} from '@atmina/formbuilder'; -import {Submit} from 'payload/components/forms'; +import {FormSubmit} from '@payloadcms/ui/forms/Submit'; import React, {type FC, useCallback, useState} from 'react'; import {Form} from '../../form'; import {TextareaField} from '../../forms/fields/textarea-field'; @@ -56,7 +56,7 @@ export const MissingAccess: FC = () => { placeholder='Why should you get access?' /> - Request access + Request access )} diff --git a/packages/cms/src/components/after-login/components/missing-cookie.tsx b/packages/web/src/app/(payload)/components/after-login/components/missing-cookie.tsx similarity index 100% rename from packages/cms/src/components/after-login/components/missing-cookie.tsx rename to packages/web/src/app/(payload)/components/after-login/components/missing-cookie.tsx diff --git a/packages/cms/src/components/form.tsx b/packages/web/src/app/(payload)/components/form.tsx similarity index 100% rename from packages/cms/src/components/form.tsx rename to packages/web/src/app/(payload)/components/form.tsx diff --git a/packages/cms/src/components/forms/fields/textarea-field.tsx b/packages/web/src/app/(payload)/components/forms/fields/textarea-field.tsx similarity index 100% rename from packages/cms/src/components/forms/fields/textarea-field.tsx rename to packages/web/src/app/(payload)/components/forms/fields/textarea-field.tsx diff --git a/packages/cms/src/cron-jobs/groupchat-sync.ts b/packages/web/src/app/(payload)/cron-jobs/groupchat-sync.ts similarity index 100% rename from packages/cms/src/cron-jobs/groupchat-sync.ts rename to packages/web/src/app/(payload)/cron-jobs/groupchat-sync.ts diff --git a/packages/cms/src/cron-jobs/index.ts b/packages/web/src/app/(payload)/cron-jobs/index.ts similarity index 100% rename from packages/cms/src/cron-jobs/index.ts rename to packages/web/src/app/(payload)/cron-jobs/index.ts diff --git a/packages/web/src/app/(payload)/custom.scss b/packages/web/src/app/(payload)/custom.scss new file mode 100644 index 00000000..e69de29b diff --git a/packages/cms/src/dataseeder/main.ts b/packages/web/src/app/(payload)/dataseeder/main.ts similarity index 68% rename from packages/cms/src/dataseeder/main.ts rename to packages/web/src/app/(payload)/dataseeder/main.ts index c819173d..ffb91591 100644 --- a/packages/cms/src/dataseeder/main.ts +++ b/packages/web/src/app/(payload)/dataseeder/main.ts @@ -1,18 +1,15 @@ -import path from 'node:path'; - import {initPayload} from '../init-payload'; import {typesenseReady} from '../lib/typesense'; import {seedGroupchats} from './seed-groupchats'; import {seedTypesenseKey} from './seed-typesense-key'; import {seedUsers} from './seed-users'; -export const main = async () => { - process.env.PAYLOAD_CONFIG_PATH = path.resolve( - __dirname, - `../payload.config${path.extname(__filename)}`, - ); +// TODO figure out how to run the seeder *through the bundler?* - await initPayload({local: true}); +export const main = async () => { + await initPayload({ + config: await import('../../../payload.config').then(m => m.default) + }); await seedUsers(); await seedGroupchats(); diff --git a/packages/cms/src/dataseeder/seed-groupchats.ts b/packages/web/src/app/(payload)/dataseeder/seed-groupchats.ts similarity index 90% rename from packages/cms/src/dataseeder/seed-groupchats.ts rename to packages/web/src/app/(payload)/dataseeder/seed-groupchats.ts index 51adee17..192ec038 100644 --- a/packages/cms/src/dataseeder/seed-groupchats.ts +++ b/packages/web/src/app/(payload)/dataseeder/seed-groupchats.ts @@ -1,3 +1,4 @@ +import {type Groupchat} from '../../../payload-types'; import {upsert} from './upsert'; const keywords: Record = {}; @@ -31,7 +32,7 @@ export const seedGroupchats = async () => { url: 'https://chat.whatsapp.com/example', keywords: [keywords['Hamburg'], keywords['Germany'], keywords['Europe']], promoted: 0, - }, + } satisfies Partial, }); await upsert({ @@ -45,6 +46,6 @@ export const seedGroupchats = async () => { url: 'https://discord.gg/yestheory', keywords: [keywords['Global']], promoted: 100, - }, + } satisfies Partial, }); }; diff --git a/packages/cms/src/dataseeder/seed-typesense-key.ts b/packages/web/src/app/(payload)/dataseeder/seed-typesense-key.ts similarity index 100% rename from packages/cms/src/dataseeder/seed-typesense-key.ts rename to packages/web/src/app/(payload)/dataseeder/seed-typesense-key.ts diff --git a/packages/cms/src/dataseeder/seed-users.ts b/packages/web/src/app/(payload)/dataseeder/seed-users.ts similarity index 78% rename from packages/cms/src/dataseeder/seed-users.ts rename to packages/web/src/app/(payload)/dataseeder/seed-users.ts index e40b750d..31102292 100644 --- a/packages/cms/src/dataseeder/seed-users.ts +++ b/packages/web/src/app/(payload)/dataseeder/seed-users.ts @@ -1,3 +1,4 @@ +import {type User} from '../../../payload-types'; import {upsert} from './upsert'; export const seedUsers = async () => { @@ -7,7 +8,7 @@ export const seedUsers = async () => { data: { id: process.env.INITIAL_ADMIN_ID, roles: ['owner'], - }, + } satisfies Partial, }); await upsert({ @@ -18,6 +19,6 @@ export const seedUsers = async () => { enableAPIKey: true, apiKey: process.env.PAYLOAD_API_KEY, roles: ['owner'], - }, + } satisfies Partial, }); }; diff --git a/packages/cms/src/dataseeder/upsert.ts b/packages/web/src/app/(payload)/dataseeder/upsert.ts similarity index 100% rename from packages/cms/src/dataseeder/upsert.ts rename to packages/web/src/app/(payload)/dataseeder/upsert.ts diff --git a/packages/cms/src/graphql/mutations/mimic-user-operation.ts b/packages/web/src/app/(payload)/graphql/mutations/mimic-user-operation.ts similarity index 82% rename from packages/cms/src/graphql/mutations/mimic-user-operation.ts rename to packages/web/src/app/(payload)/graphql/mutations/mimic-user-operation.ts index 697eb1cd..bc02101d 100644 --- a/packages/cms/src/graphql/mutations/mimic-user-operation.ts +++ b/packages/web/src/app/(payload)/graphql/mutations/mimic-user-operation.ts @@ -1,5 +1,5 @@ import GraphQLTypeJson from 'graphql-type-json'; -import type {GeneratedTypes} from 'payload'; +import payload, {type GeneratedTypes} from 'payload'; import {NotFound} from 'payload/errors'; import type {CollectionConfig} from 'payload/types'; import {type PayloadUser, type SessionUser} from '../../collections/users'; @@ -16,7 +16,7 @@ export const mimicUserOperationMutation: QueryFactory< operation: AccessOperation; data: unknown; } -> = (GraphQL, payload) => ({ +> = (GraphQL, context) => ({ type: GraphQLTypeJson, args: { userId: {type: new GraphQL.GraphQLNonNull(GraphQL.GraphQLString)}, @@ -26,21 +26,25 @@ export const mimicUserOperationMutation: QueryFactory< type: new GraphQL.GraphQLNonNull(GraphQLTypeJson), }, }, - resolve: async (_, {userId, collection, operation, data}, context) => { - const {req} = context; - const user = req.user as SessionUser; + resolve: async (_, {userId, collection, operation, data}, {req}) => { + 'use server'; + + const user = req.user as unknown as SessionUser; const roles = '_strategy' in user ? user.roles : user.user.roles; if (!roles.includes('owner')) throw new Error('Unauthenticated'); - const resolvedCollection = payload.collections[collection]; + const resolvedCollection = context.collections[collection]; if (!resolvedCollection) { throw new Error(`Collection ${String(collection)} not found`); } let mimickedUser: PayloadUser; try { - mimickedUser = await payload.findByID({collection: 'users', id: userId}); + mimickedUser = await payload.findByID({ + collection: 'users', + id: userId, + }); } catch (e) { if (e instanceof NotFound) { throw new Error(`User ${userId} not found`); diff --git a/packages/cms/src/graphql/queries/groupchat-search-token.ts b/packages/web/src/app/(payload)/graphql/queries/groupchat-search-token.ts similarity index 81% rename from packages/cms/src/graphql/queries/groupchat-search-token.ts rename to packages/web/src/app/(payload)/graphql/queries/groupchat-search-token.ts index 81b95983..7fa9ce4f 100644 --- a/packages/cms/src/graphql/queries/groupchat-search-token.ts +++ b/packages/web/src/app/(payload)/graphql/queries/groupchat-search-token.ts @@ -1,6 +1,6 @@ import {type GeneratedTypes} from 'payload'; import {apiKey} from '../../dataseeder/seed-typesense-key'; -import {getAuthStateFromRequest} from '../../lib/get-auth-state-from-request'; +import {getAuthStateFromHeaders} from '../../lib/get-auth-state-from-headers'; import {typesenseClient} from '../../lib/typesense'; import {type QueryFactory} from '../../utils/merge-queries'; @@ -12,8 +12,10 @@ export const groupchatSearchTokenQuery: QueryFactory = ( ) => ({ type: new GraphQL.GraphQLNonNull(GraphQL.GraphQLString), args: {}, - resolve: async (_: unknown, __, context) => { - const {isLoggedIn} = await getAuthStateFromRequest(context.req); + resolve: async (_, __, {req}) => { + 'use server'; + + const {isLoggedIn} = await getAuthStateFromHeaders(req.headers); const accessiblePlatforms: GroupchatPlatform[] = ['facebook', 'instagram']; diff --git a/packages/cms/src/graphql/queries/may-operate.ts b/packages/web/src/app/(payload)/graphql/queries/may-operate.ts similarity index 91% rename from packages/cms/src/graphql/queries/may-operate.ts rename to packages/web/src/app/(payload)/graphql/queries/may-operate.ts index 17ea0da2..0ae816f7 100644 --- a/packages/cms/src/graphql/queries/may-operate.ts +++ b/packages/web/src/app/(payload)/graphql/queries/may-operate.ts @@ -1,4 +1,4 @@ -import {type GeneratedTypes} from 'payload'; +import payload, {type GeneratedTypes} from 'payload'; import {type Access} from 'payload/config'; import {NotFound} from 'payload/errors'; import {type CollectionConfig, type PayloadRequest} from 'payload/types'; @@ -16,7 +16,7 @@ export const mayOperateQuery: QueryFactory< operation: AccessOperation; itemId?: string; } -> = (GraphQL, payload) => ({ +> = (GraphQL, context) => ({ type: GraphQL.GraphQLBoolean, args: { userId: {type: new GraphQL.GraphQLNonNull(GraphQL.GraphQLString)}, @@ -27,9 +27,11 @@ export const mayOperateQuery: QueryFactory< resolve: async ( _: unknown, {userId, collection, operation, itemId}, - context, + {req}, ) => { - const resolvedCollection = payload.collections[collection]; + 'use server'; + + const resolvedCollection = context.collections[collection]; if (!resolvedCollection) { throw new Error(`Collection ${String(collection)} not found`); } @@ -56,7 +58,6 @@ export const mayOperateQuery: QueryFactory< } const requestUser = toRequestUser(user); - const {req} = context; const fakedRequest = {...req, user: requestUser} as PayloadRequest; const hasAccess = specificAccess({ diff --git a/packages/cms/src/init-payload.ts b/packages/web/src/app/(payload)/init-payload.ts similarity index 61% rename from packages/cms/src/init-payload.ts rename to packages/web/src/app/(payload)/init-payload.ts index 0d63d1b1..4d66576f 100644 --- a/packages/cms/src/init-payload.ts +++ b/packages/web/src/app/(payload)/init-payload.ts @@ -3,16 +3,15 @@ import payload from 'payload'; import {type InitOptions} from 'payload/config'; import {ensureDbExists} from './utils/ensure-db-exists'; -export const initPayload = async (additionalOptions?: Partial) => { +export const initPayload = async ( + additionalOptions: Partial & Pick, +) => { config(); console.info('Ensuring database exists'); await ensureDbExists(); - if (!process.env.PAYLOAD_SECRET) throw new Error('Missing PAYLOAD_SECRET'); - return await payload.init({ - secret: process.env.PAYLOAD_SECRET, ...additionalOptions, }); }; diff --git a/packages/web/src/app/(payload)/layout.tsx b/packages/web/src/app/(payload)/layout.tsx new file mode 100644 index 00000000..7997f272 --- /dev/null +++ b/packages/web/src/app/(payload)/layout.tsx @@ -0,0 +1,16 @@ +/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */ +import configPromise from '@payload-config' +import '@payloadcms/next/css' +import { RootLayout } from '@payloadcms/next/layouts' +/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */ +import React from 'react' + +import './custom.scss' + +type Args = { + children: React.ReactNode +} + +const Layout = ({ children }: Args) => {children} + +export default Layout diff --git a/packages/web/src/app/(payload)/lib/auth-strategy.ts b/packages/web/src/app/(payload)/lib/auth-strategy.ts new file mode 100644 index 00000000..23651808 --- /dev/null +++ b/packages/web/src/app/(payload)/lib/auth-strategy.ts @@ -0,0 +1,28 @@ +import {type AuthStrategyFunction} from 'payload/auth'; +import {NotFound} from 'payload/errors'; +import {toRequestUser} from '../collections/users'; +import {getAuthStateFromHeaders} from './get-auth-state-from-headers'; + +export const ytfAuthStrategy: AuthStrategyFunction = async ({ + payload, + headers, +}) => { + const {userId} = await getAuthStateFromHeaders(headers); + + if (!userId) return null; + + try { + const payloadUser = await payload.findByID({ + id: userId, + collection: 'users', + }); + + return toRequestUser(payloadUser); + } catch (e) { + if (e instanceof NotFound) { + return null; + } + + throw e; + } +}; diff --git a/packages/cms/src/lib/get-auth-state-from-request.ts b/packages/web/src/app/(payload)/lib/get-auth-state-from-headers.ts similarity index 64% rename from packages/cms/src/lib/get-auth-state-from-request.ts rename to packages/web/src/app/(payload)/lib/get-auth-state-from-headers.ts index 540c8b27..8606891c 100644 --- a/packages/cms/src/lib/get-auth-state-from-request.ts +++ b/packages/web/src/app/(payload)/lib/get-auth-state-from-headers.ts @@ -1,6 +1,4 @@ -import type {IncomingHttpHeaders} from 'http'; -import {type Request} from 'express'; -import parseCookies from 'payload/dist/utilities/parseCookies'; +import {parseCookies} from 'payload/auth'; type MeQueryMe = null | {id: string}; type MeQueryData = null | {me: MeQueryMe}; @@ -10,15 +8,15 @@ type AuthState = {userId: string | null; isLoggedIn: boolean}; const backend = process.env.BACKEND_URL ?? 'http://localhost:5000'; -const expressToFetchHeaders = (incoming: IncomingHttpHeaders): HeadersInit => ({ - Cookie: incoming.cookie, +const expressToFetchHeaders = (incoming: Headers): HeadersInit => ({ + Cookie: incoming.get('cookie') ?? '', }); -export const getAuthStateFromRequest = async ( - req: Request, +export const getAuthStateFromHeaders = async ( + headers: Headers, ): Promise => { - const cookies = parseCookies(req); - const koaSess = cookies['koa.sess']; + const cookies = parseCookies(headers); + const koaSess = cookies.get('koa.sess'); if (!koaSess) return {isLoggedIn: false, userId: null}; @@ -30,7 +28,7 @@ export const getAuthStateFromRequest = async ( const response = await fetch(`${backend}/graphql`, { method: 'POST', headers: { - ...expressToFetchHeaders(req.headers), + ...expressToFetchHeaders(headers), 'Content-Type': 'application/json', }, body: JSON.stringify(gqlBody), diff --git a/packages/cms/src/lib/typesense.ts b/packages/web/src/app/(payload)/lib/typesense.ts similarity index 100% rename from packages/cms/src/lib/typesense.ts rename to packages/web/src/app/(payload)/lib/typesense.ts diff --git a/packages/web/src/app/(payload)/media/groupchats-1.png b/packages/web/src/app/(payload)/media/groupchats-1.png new file mode 100644 index 0000000000000000000000000000000000000000..c1a4bf656f8b015da76c79f01d7c41e538521377 GIT binary patch literal 113271 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

&-jc5`pFG6?aj1qqW5(7_6XADH{fcwJyhTf z;pb#0KDO(>y{L0+60K&Q+m61J#;m+m4Ods@(?fms5<64j)ib|sEC~5@6h;HyKTURaiYt6xwgvbd4s@>Kk1lU1Eoew%v-^0I>Ail|qj%~uJ~#LdbQB&23)8a0Vz%?o+`GGCgo zG<@wJitoFf#WD0cia*ZhSTP~YF)xP!{`~oqeOgD{zPPToU2>94QZkD;OKkS^055#4 zwz&*q&UxpaQAFCHQ#SeGJOtJfAOgv=DfEr#SNABn3@pS^>ouk&4ih1WFVo8iDWJ@R zLnKeY&#QGP_^a#L)pm|C5;O=__mO$GKUF|#RXqRQmUeB7mb`%E}*`93;B^{G@E$lY7k zicvh4R{!}&*$FS;TsG=2m$7h<_sHxisJ--(=7~yAM*af~Xr)6#>2`^+Uv`QA(^aEf zR#iN6hm~s1TFzH)zDgB^bMrOTq_ z=;E@J*q%6^)iXp=Wrv4gCV}ODL<4mbdxKRYy%FiyYm>iRyXLz_o7&;u&{`v}f zG;|}qYU|sEQhu)mp8yW8IoJE8Rt)$}h+6j`i&Tm|-d|+5`%t9qf&q+6-Hwkio!x&I z-&H$gBBHn>%^xIw{`4rN6i)mt3?pG!B*G{wIPwye)WlI`rL(%HScyTPCiej??YqGa z!cJRV9WFSW_z7od|)nukvgsoU+5(@Y5;&TBz8`bo%!SIAY8X zIoK{kX?h}!0*LGbD9jQ%2l!XCjBAXB9+WN54=cSaCR33(!7Yo)e)Ao>V?!ZU%h+)y z1(H1Dra!e7dP1>+^00b=Cx3n0#wnA2v7N6*k~}V~#gphG8<=Pq4&I0($>pt$+Nj zO*Lf{m(B(Poy)PsH)$)$RJ85@+0^OqRX8Y-L`BfeB3sf43~4503eqoT*-j9B+=UxL zIQM6zf#CL=dm(h-Nmyr3!MnTiF1+$6bZV03sepFI^;{FsX%1|nf@N1^7Y2&#@o9GH zD4kJgv}+Y$n@+OBh~Rb$)!7wH6#ahb8yJT{5n;0KX%o+|Wt`P`6V3lfO$xn9x&1-O zIo`3Uf?uS8J6Mx&$o$DF@R|r9YP5JQEpS|o%CS9u1ag*m;Q{H-tQ5mVEf0y=icFMQ zw3@3~6838B4biU7bX*o;KBt{=;)T@5zfbr_N`QU8dK3SsuW{fhtQ1`T7u8z2aZjSn zp1rSw57hp|%+#&|VO{=6LA`Ked9X~V(t)c$m_k`B7C*9!xN9#g`%~4rx%BPm6A03q zs!sKlHrLfM4+5mac_kiL5F2xTb*Z*-(r2jX<)%sf_m5}b10l#!&L;B1yyDwB;s;0p zmzsyXP=!B=2)K74OAJ%qemVYw#@*#RYzqsicxG5E~En09K z#}ax@o|DWD+6^fLU6KJKBvx`b=-o@^#o{|rPcXIZY5Z@Op$VZ(;paNyUnD)Ikm6i^ z{{HysGM$;3DRmyvT;sxlz`Wg@ew9$<{+?V&rh9;V^?H!69N$=Ws1u_TF&2}#*1_#z zyrLk_Ovsij$i#qBkj(SioG$zhEm){baue@A7+y}WCsWz}xB}PWH@}*nBg8GdnwMv; z$dk1Y!0WX4^D>Rm1v*UH@Ujux;*WGJzV~{0Q(y3eC{adhR$9^LTRC>V)kU(cTyh>V zey-Q`euT=2uQF?keC@W1TnKK{|3Qd3WR zIUQGx{=%jU(2p=zN>Sh{7u4 zC0AjU^68aB-M_Ikd%Tn4eC+^Qt0X_pA2tB-0+b!j(W1SVcnPK3ux$)C!u@~lEcO7I zfAqe`Te^c1HW-2_1x>mo0>|!;>R{UOAX(MHMjD^%Jh~quzHaFvIzr`xYAbB*;bLmM z9~Ozz`YqvHANkFNH7OJx$}g7fEf(;si0yl(Ed%dU*or|KOn%N-rrj<)#=%jJTN zE>akt{#K}Q&Iu$_yLFQsL2(q_V|-A_)XHx^A9)Im)bmtx>_!{-xxV|Z!%;AT z%v#t@nk~%CHky<(1T8ajx@adbk{wK^^Y2xS<3=P58K)v!kzI}NTddX$udAJ(LE3~_(6L$D1{;4#&6;O^kaK2he+SIn6=|3YX4RfG&;d>lA znx!`H-L}T>SlFZbSiO!=oPU#CX!8y?75LxU$-f-W^f5kr2>3GF(g;ZZ(qJckhDN)c z?AlOf_N3Z*nV-A;nxxI<=oi>O_t^Uw3 z{c$xeThI9Yq)UfqhhzV_diyuA@X*Ek`o$Y{@xeZa<2&SZAvPKx0%YzSQ?7tlzgW#S z{fu)@y31uu44ezc7D70m&=l}}e`Ph@N{K{Q`V{qBu9ea}f%R2A$5vB#tpDthpZ~?M z7FsS?SzzAxwg((1ag!HlVZn4!DAeZOUI_&cC&jvZ2Kn1>O{On%x6xq=+9|tw-EPKjSO=XLE0ciqyqp*M-p5ONjY_$9DRjuhx3LUGnUBo#%4duC8)&&V!3( z{8HYnuP%sX{YNOSk{Ik$+xCz@N3*#Uz%*D_tH(W^^8$6?!)Ce?#MD(Sle{XzLmdeu`npbF|0y)9=CHxV+u9(`XGPNb?1x)$iO$pA(L zgE0oK;1_ymYC+V4djdh39v5n;$xY1o1sqEWm{XvHC#&0hmlLWBmj65?)7gS*WZDw! z<51Q{(2b!9%#>&YM8@d&@B%GF%d@PQjo{n?3~}Mx1FUe2K*=c+@@8Xr5?2uEbQvI{ zgl*!XR*)0?Z46Z#mwv?L#7w=Eraw{A1i;D4nL*%Gjx5q&JZEOoe}dh5LbXbRhRegT zO4Gj#B;_j^{E-S(K%7Iq;7IWygIy>v0ai$8jhqV^#CmiWP~pXhU4Se~M9U&Dv(5Zk zncz|)6`X;!o=YcXhT1#^uKrnwr8;5ho+7Xr$VaA6PE0SS}novemL(~S11bu@y zQBXg_jTG!WwR!}eoT8UO0@!XD7c*cjGZ`~8Eh44<1V)Z$4$ouXkSpvCp=5r^2dd*D z?uf42{A9!1LdD=5*1;FXqhfXLyUXY{dPRhEYZd}v?}kwcK`%*&^Lxp&?P{g zjdPRIsjw9Dejt546~^`+3Y@Eviimz^<{)6w0`VzuM4bCIemy}#a~wg0J(h_pLKpyP zVeLq(98Ct2&?}hGE|F#@Lq*I(`eFy?4jWOhRT=Z(7LjO3J3nL+e;x$j)QW^@vPD)> zjTiRu4o@P7Xgss^_oDI%kC$&O`V`GQSy2w!a()|Sozgln2D1rmhzy(afw#tRO#Bj~ zl1tgyK!g)!*6U`S4W)xU{!H$o5BK6+oJZt`vrQC2hBb&sUtzu&elDN?SiL zqX@=B2&_-2~SF9hC5S&8P5=Jl)X20mq3?AVN610ejT1>An+T7@{ z5$zE1xRIfThN&^u48|_PP61$_GHg7O!r>}!^p52Wy4a}~H4y^yblO|@O1zs9p;&o| zBqlN3vw2aqw+sRz*nIF$voAUSY$SpJI{Spjf`VB@e<-e91o;aj8u2_LnSR0=YTd+Y zqmwW4Vtj&%IHk0OE#owUY99QMN(H64lh%ze7&be`Az65|s%!w-HFd;2R|;j)Az8@! zkx=k6ELt43*o=hVcLsd0Fm!2*!zYT`x@ZUs72s{8GI9@hdgOtG1 zg>s8$ah*hfJ)G|Ns}n9Q7>pzV>P4P7`_e%mH7~JiqlyRlpI}i4Fu+VjbZ;;Oe9KVj zuW-%&lWc53FeI5T(#b%?8EKKJr*U&M$_fJYX4S&*D1fvm5_kJ439u$}Voe;0E`k>w zX|FK|KakXrzuBaj7Q3WA>|J?I6@h=js01(Ah?^Y-d&~e)b#vi>*bR?jPlJ_+Hr5{) zSUkumIsz3nt)o%2D`AWt8UgU8%!%S^6LV3#H$-ooC-GpX%n_v_3vUQ2nPTdsx$gil zp{ptL!sI5lnEjDdke`?E$$1Ofe7;G@Pk^>zZuR#Aw?cM1+uZ$lN?puDX@2`y2YKN+kwqN+{)Ie6lfQ;xk9h=>mxxHPXU-BIqs zn#A$y6cKIhLMzJY%VtP*O(Vw;NtjvR@OuTBIysFhnoF&Sm1r}*IY~IFo=8z8DI}Qi z!&wef==UA&#is*oOO)`h4-rHu`U8l5bY2;6R?Z_cqM%H(axOSt$lX7T#euvS2^dbO6P;Evk>KxmNA1iLhwP1HQCBz8MQ|LGfH2A_WSVuTSCw;in4FWA zi)_N&Fxzo4gp{dUoKU0Rk?_-4m00V->#{Jp`J~L)`FPGYQaQl{h?mrNk>;&#teIIZ z`{)_yYd|yMg(xCM;elyP7Pp&XVI|?}Z}{?c()QwTB7lBHLg$1D->9$H^8N{|mIMiY z-ap*Qj0~|H4(~=m=#kXUX}yS85TgzHu#`tlWr0wS4a)~MNpx!D$nvBO-LLXW31+>O zw1yp!$((BpI=NITW9=v*4nV-=e!xXU81Dfjnp*IZ>=l;mJ~GkagD?#LPrnOk_H!5* zzXUSbY=Jiyb|NR(_nlG*?%U+;wx@^a1-8UquV3*>8$w2z4|?9y3z76H0# zC1~t6Rwfw@41wah0&H5zu*v!M{k@1){MIcyW};{0ZTD<%KWFvw_i zHbwb#3hvc#t{*0KLo8m|^P=!pqbRd#PJuZeuTCQ1qj6ThpMYlXUvpF&EJPqp^@kdFp(n87FS3e4SoJtaO ziKAAG3*1*Nlp3o*Wtx~ z`mE4Z*$4w0I3U!TQ?&pvMCn+na>=B6iPr0s^rOyEnwBj>l*m(8!?u@(iQ2@GB#?#t zA;SbFY5pDGT1E<_2w8HLXtfy>tY8a<)9yJ{Bl{+NNH5*B#bldqAmT|9{t1hK-aPmE z17(=wphlSR{~3Xx^3f0(Jv5o~Tlyce{Hyq2B{72{*$IW`Z2fdww&X(Mnk!Ko*_EH| z5s--xqSDw2$T(HQxpXq=vE+q`jEoTiXTYan!51IM zJ5^Xomb+NTs0oRNh$4+oHU-FPob|RFI{LN<27~cCWyuSjsHUVOI3*ruvEX2*sJ(^+ z{?(m|q@m=0W~ED2|G$2h*ykeWrA5?V;4b*d9&b@*rt&LyMi~7ch+}?3PW|w$cKmlq z)&@7q93#K3bw^fW>~55?G4m12oN1m4(F&Jl-Valor*H5m+DerzPOV#yRum{4hN~zt zWUMwN0u!-FiwOj|n78#Y%yc=`%u+4Wk6 zMVAjaI4GLD3VdQZJJefPZ7Rw4raOCd8CY3)bg6?tajKKds&#brk?(@Y{iWDA*L#)P zBUtV2Y1B0Q2Z|y;md9amCiQeC6(Tx~@LX@fbYYU%yxOZhtyHT<@U~6Q;Z3H-7*Mp+ zsY!J*o?k7<*@6fJ*a14O&qt`-r#aGmxJs-(NmrwKXRsh9SO4AA@Xs_ArF-j;JSFvB zjeO+FL#Nc>sWi6snPS18)HKb64}tU75x1}(p}d&iuX)3}pO!x~xJW0mdqG3>jCEAx0MJ|G;VhLr1F0RAfDB=9*|IxM2xBGbga zE|+7{>!SN>-DX*=mK(PN76c+<&l^zFBQp}h~%PU z+@+g!Ff`Binp8H;@P9!jm-jBcSSW*Q=;=LQ9Gl!|tu4oCo(UdWx0w(7>r6 zhY$oLu9u~#()B9-lQdgbflt#Gx7Ojs1Cj=AmYU43P$3=~i+fW1s`TwRIih+h&t}F3n35wr?VBpgCFQC1aWtb3JewYl-Ag=GvnkWWcZ$aU2$D1nq&7!7Ykug@Gg&C}? z(<*`cID4nDIoAO4%y(lI(0(dhR9PJy*w!Ej5dqKyO2yLC`HaEgrmktDi|UYyJyibg7F_RMic*~N`M`k9ddHGVMZ$}mSZtTmMSc)}=DXxnWtI&!G({0Ign#Lwh0#|g7#o33D$xyN} zS_v)5qWyC+{Ay9Oo}`9#Ao&lY5f4?xAWtub(aP7xtSvHwYg^sKe;>AZfO=PCztP<* zoGR?CP2cWBHrOXG0GrNe#CZBP+3@rAb|V&NmJtQtX_$I zSxPt@ZQuI*5F(-2XSaEM);*nIJ?9^}DQC z+&v>0zJw%1Cy}J|*M0%Ssi05w04|3oR}D3!8k(Jn2%cmxuB;4+0S$0LmIif=Nq_^S z?;)2-goI+wA{k)76?nO0xeXGb2}E-qmZdYb92S4d9=CL^a8g*;MAa_QwBobZFM{}n z<5)u^jslms9UDT)Dv=7co&sfdU``96hSw}(pUMz+C&Mx;1}Orx6hMXzFUg1DXJ9+Z z(AUrk>{ET^(k6`)6DUb43Dc2>RC(3hIol9-I8-jN!Le=qm7o$RaN|zCu&p9fnqgXC z`oo)tiHnYLmAd;oACMObCtgQnjwLTP4Cgl19(`fGo2t)Yipa?Z? z@pFNg-!-g+2+<J@@bD-+)C+o@IiU>(-S68d~ zGNl<32qGi_01qUUevN5|m7x@$k-GJ{hCur0ddHwW;qGIjHn_94ZdE)nxR~rSS0#W2 zvmyeQ9*lE|kccUE@Z9-TQC#>0RyWD z5gov5ynCEKEX|key7Iz`OAwR|%cL7ZK`vH@6pXx&^g*Qzlg3+O_Jc+X{Y0j{&|Bjm zrX&p^IC_&1ASWOa!;o|ak0*zZ*h?E%_KX=^O}C6?Wr%HUNGuN}L&d?u+V&K-;XN_7 zh61D)!!!fy=(Z6cd69-7tcC?X#yk3D>GmdE7;ML<$B_@t%8$z>po7^Y0U|Id^(=2J zhIhsPtINjD>{k-Ikk(|7c9HRm2ujUm`#MQy2+1@*RpxFZG2>;N(F~fODu{e{nL$dJ zWU;UXso?U$>0zh03Dw{(vJo6RJvh7X&BsZH#S>16-8MAJ70CjOqUA_I>>eWDg#zQ& zSLC&!zbg7n?U8D7_X&X4PN0x7@%qw^bd%pvR(s(9akAZbxjC{+3DgbMq~&5zk!}m% z+CTh4cP|2-!$*kE#A$}@G2$9IUXzRKM3CnO2O|6AARopcMC5%Nh|BAAtNU@emED!< zaH7-EP;Kj(o^;qV*+#g(v9jG!EpM)ZFiCm!>o;@jj3R}c023t~vOfCi5DvqV5AkhG_;RFHu-`oEmLaPfW|{ifYj z)>awFBAQfVrIg?w+IY2j!>Be7kIbRBG{MMC(EQ`Osrxbl$|o5Ua>om2O1<`(JPsZI zd~aWny+nONQLi1)77Z|h7wobsfGXWMDc1p7K?jZT9>e5NHP_WaadcU46rPi;K^Yrz zuJBFgj+IO)g*3w9)FTa}-6=-Apm@v9Bpm7@t|ho!jh_EC=ts_mm)EMnL(;QK#GzRC zbC1X0t&?Dq2+O0zt5s3ehgBI6C&wYLr?NDnPg~dI2VT)%!BiMr;7N}Q9KRJUGJo}n z0XLf+46T!uji-m?&XIO?ATk#eL>PMs9t8t>v?LuI4XgH$vi&u}b6em2f^irCl3RbhxR{pkjK#O-9EtX>~~~W7d*+3e_r=0)Gd|*wA7&a9DWn zP}sX%&Nb$aA4VX{5uo~cJbKX^xL9OpHf{P_{0G3%^dUzTL$~0LcbG;CsOZ=!{uxhunNIQDp9bN0zdDT#Ojg4T>4pF z783{V5N!z6VVx-4Ex#r#-G!QcYNDdsH3PllRl|UVQm2t-lpXdNc0DT9!e2Mbi%P_v zBZuh*&WG*y%ssEa5$e58<}FnM2Q?aPsL;)4Wg@6U=Mea8I75m7hylpt+@p|EU|yPm zb7C4)Hihg+Ep!s{wxSwHQXX4b={uBv{<3a0XrbXTgh=$~T8Ru}@~6I+&}bZRFzv>Z z!ri(gz!TTOgCb9arPoV_NaTz^zY~gt;K`*)x?m^k>5_*E-$LOSf%S+Y2PCi_XdvY! z6n&SOsT>CW1c)@c+3y*Og)(XF=g-0MY$4oJdcGO>8)6ONhpuoCRy++9<3m~)@0A%W6m_erWg5NOzHK7Kv9+&_&d4dLhE#Sri z+|}=zJm?Hm15Ef&m%N5KQomHr<_g5y(qLixAJF-j9@tMxZp0b~2>4s=R&zwmoE;gNqWV;Wob^NoRAL*$6k$G~0en}J}XFrKC#ovcK zN2VNXmzINksv%RGF#R1mXt4)n+jEL*pXS;Y{S&njm0>xwhzr?$M3Lu9iCl@25Ghpb z%j0umN>v3sE^)7nNWyN8W)n$|hWy^gw z_(`bUZFv-gZyK#NzFqmB)CrW&<_c)3it&wAAW#lQL!H+?P)a(UT!)F{U7`;GSLapZ2uqzw^spjHbC zA(hVBvcdMzE`YGGq#^H98E}X@0ncdXUUH5)Ia|BAgTH-+2hm0?X<)WQ9krO((?$_z z%9hSm8|YdTPEWPpHhpgAxt(KdIY?`WCfiSC#e(%-u!4}S!CT>C$SlG72dj)(Z7?U9 zSGjO@e7~CBiXMn!U-B`Lsu1dFd(T?C9NqQ3Mna_pUfU2|g*d zx1NA9emL#+cLLd9`NtFUL@cd3==-gdQYrWF2>=q*`3x3i%U8&! z9k>vLI8Vl1u|)vj44-0>GC?zJrR3)Nn3=iqnzd+q+il>2)Jx6o(QzUbMMl~15(cr* z?g^+R?4a+EkDhCoK9nfp-q^6aib9D~UeyxKVMK%1oDqK#;K6b6yaM})ReLZcW|0_A ze>ybUAKjmaQ0~GHa$NpCFk>mGNs#;p;=@7nWj%|IUDiJ(t;H!Zr3}P<%^RL(cD|S} zG0u;D&bn_NgnORh0|026Y9Ck5k|XZhPfh?`EsEW(>@h=+Z7415>l@qp%1zeG*NNoG zkejz`w{*-dL!Vt&v!M-Lp0D$2mfo8l7M$gg;i&p!gKv)^{=F~IeN^9tZI8-}XP961 z-jKv zvO&oCEgF7}sJzl_O<3nA0WM!bZ?)V9{0E#-J3E!d%E?JCQc2Nbc0UtS)o zcyi*<@k!sywt``5-tk2&J<(58IDW~)@k>PME5k)v^;GQ06x@fe9+qco)#-bD6}xYG zye(~9^}dDT{v4VC4*7*oIc`>2eD=Dv9OjA7s_`8qD(vTnSyZ`?F1( zRppqu$I$mun2RQ1fcjsfr&jKN+mLqd7QQpK)|3CP_}tj9jCylMRGuRYeSWL!-}3a{ z2vHbOr^$M?j8ljr*wiId0i7{j65yQ!m!gL-b^E4Ule#G}5fI!;jqF+h|a z&*FWW%V#A&oF(CO&!m>?F8mCH0L65Gydv7#M}MG4U8zYp%@3Nd#xd~S^H}P8+-6dx z=emEMT6RCoYsHE&zWQj+JI-uq!jKNZZFV?sJy{xR-|l7aj1|3!eIlhBx=r8D_Tp9T zcrT}>3*E0EK4kulxn5Dj0WMT($TaD_7cP;B!jNe|DzpPO$?7E}Hf^YU%- zqLz&`AMagjt(j-wL|Sc^+tpfUm(9?MpdR-!l&aecO%vgH7jId*o%U{J{B~V*cWjtX5a?ZY<@@(>quh%@`15%Yp&q}l zkRF^@TrbfoVYXF?zXjdety<@1Hvrjpqy0sRZ?3R=US(TE`KrSzwxg%o;@K6U7ke+% z-lY9FoA@e=d*lIEDV+WFHO8q{i8k=FG>CBf*ztXzdA^@@Pgi_Y=pv$xRCwI_6Tk3(i~Mc)caZ4L z3v7~rY%URnTpmb^005#2lF1dl?Uc%SA15K?Av2-w{i`K^8eIo7*YN#z-igJ8$Lm>d ze`Y~C<3_fv#}FnUbfw=h#R_MvHTM?@cr*H4{v>qPkl-YNM+60yS_Gy6i>Hnrkh`w3 z95%^*{CvAF{C3gQ`FhqFc1hy6xAnoIF~W3eiGSC5l!zbZ*&y(GsQ(2gMh898Y6Jllbhdc{PW%2JK2; z^=z>1-bppL*-um9{P4Qodb<46;(EDW%A-i%_56NQOan2FQQngNr-`Z8*e)GJ@^8EK43k(dXj^(wdBTbmAo66a>%=oNQFqA)1 zXz9|N-bZyMv7Qpf|APjR$~ahHrImC2!>iO~BFoudKP$#7e#w6-vZXTrC-PEwm%$u-}vZn?}uA>lpeNSzxE## z$ktWK<3B##ul8*5gSnj2h2H-f9_KmF@LA^jy;{=MGY zB(VAL{`+&p=Ddxu?_`j{(C?fBfHx7N`E|MLJ=-(cQ>Y1Pbs8a6cv3HRvea3!#`LLj z#wrrtS1w*pCo`Ams6@6-j{zONV4YOJqJ_Ea%7B8H|H~Zs5~jC6QXTtd*jHL=e#2a+FN9q=RIC5^8#j15F2 z$j@sj9t$unG*S~Ea_~2bMz0pP_L=~M5goebX;Y$FudAso|G|`Cs;vt$MJ*4L;4A^? zN$}F2IH2Q`1{7RZ7M47w{8R`TGJcUD_eryg=w;UY(ZYidS8eRUbfC^vL>YIV{Uar` zfE8VgK`vvHv#MHMvCsAF-{O~q{OXA)W6@2t!4h6B(1vN@h+taeosaWmSXA^apdloz zH2~VOS#Yc9I}&s05NG1vcdwWy5}vxME*Hz=My4?ZomJPpGvY%60jyeqI-ecq-pk-` z3?#2_p6 zw6PpYU_t>nRj@F0KgnrLq?9-@5vv}S&z;l)@>EI)?B^@Q!1h*_@5c;XPQ6{Quamc6 zNlDd)mO?;rX0kqk8ia(E9SsdlsU8O}RMH8JOk7;Yxh};y(ecb_hh61UL{D zssO*yd$9Z&^z!8deVULq!gan)mw33oVYs_CNRa6Dy?HFY!DjpO>n?==H%`Wqu3TI}C z-_LkFY))}ZbKnJw_38LQtuX;JT9{1EC)E zpoV=Vz#vaa2lU@H2)|3CdC?@lla31UkJp!Qu!^SGMX%&ka-_tY&>{hfOl%r_O4GVJ~APPzMLDfID!i7&)lnE5!yY!N3G6 zh0B8PYINO+oDGu(&QP|0Ye-2_p=n!(ir9}UO;K%VrRt~nBvVPDi^r!Ph1J=_ESvB8 z;j9uJ9GB)0{v&^VrzJxaRB7#wSu4yzt>fSy@^1pz*D(YxxPCB*7y@<`xk+F#eFdO^!a-IQTd+>gM-BM*Oe!uNkn9WzFibn>pJ>ZWhwE042E=s(=nD) z{FXD|v#um3EIM{jCGFIT=#9IChE#Fh1jC@6Qv~Y%Nc$a+@SU28X>1?}-U+V?i-j?C zoPB!XgpGt>?#29}hd6>9c)xIt6QbFxBD}h3a|VRXO}!c*t2`{&*ZVftp$N{!2 z10~yY^Bws-{BEe(;CD0wC}44MH@W+0z=3klsvsCO2%C-$58*nve1Fpn@O>EVINeB$ zR*G4diN5?#tZ?{b!G5uMF{ZLpfjcPcB1)irKfEL@5V@$zv}fnv&9rn-3VP5`xKkM& zb}@=Gm?3K6upr3-wsgrfaV!Xcd0+eumSVyFV2F?Lqy3a2>xMdFsf?cty7L$eik7-a z5}TKzZ#WGvLJf~qoqMva6VV*#Ed=$6hTI|PPtp@9n*mD_!|!VaLVQT8&Qv=qs%?eD zq4DlA(~ujKFN!{ud$13+b}kqJ)d~e*oSp z(W?HgjpR@*TGaUzX`dCc<=I%u9$vpu_9RZQ$k*9)){5=WnCl@i)lfjZt3@K`mZL9^zRw z$h~$=6F~|91&$yR2sasH$oYv%{|9X&lk#=aNvFdjSPjewoNT&COKYOX(Fl?hp-{}> z*aZ7;L${pB@Azdn@e(P5IPG`MWz3aYDpFk0cCMg#^15vVHT*#v_#lU2^DP6NeL|di z=dQtyh3_mAwJJT;0{uV}tRpmra1<@mqXc|JBVJ3^S!bOO!DL6cWJ}AHShF81G0_+i zjUf@<$-h9?!S#!S4&5D-cdrO{CJ4iwP)VBb2s;nB0_pj_&*Igbwb?# znXtI#Tz<>fz*=BXg9dVnjHIxE#sE4|5rB3g+K)=wHMA5@bhUX+FqF*pVzC(=f4l5s@*ix=l$S)f1z4tbQ3zb&Ix6eh#oq zq*l_hvB9U%PZbvh`Z=416s6z<;u=emBbm3=)+b=FzuLo$qIPzn8P zH%zIwXY~N*TKYj<`hwNcLGGo4T}ubM7Y}gE8|0YVw_=l_q?X>;ETeazekm>mq6Jet zL0Z|NSJ0cfk;@oiVog3yWVpB}i(9gpu^jIDuo&PxKkOL(|b&Ott|G)Re znU8KC==-+UwF`!NHuiO{>E&M4!@J}-@8Z7hg##SR1{SX$Sd9Eteca1*)>-F6a$o0) z{*JYM9qW&CuYxrVC|Nt8WKCb!vcB%cy(i4;U%YUbYk8V`dAf6cKgahyCU5RKaWhJy zK!4}5Ut-(ewRmvpf&rd+)IIO2-rgnsy^D<#*NnMg-SmGE2*44eUzHMm+8_XgSMnbR z9im7SaE6xP3hoeMnjq|Q3)d`M2jQ(M`HkRz8YWOyaZ zz^3Y9acpP^ZRGNWtot9|f~z@AODNnHdWAId(E)%!y{d*plOp^P(G*gG^j_3qP)k8a z<;QUN1#y)>ViDt)%H@45{?Y`JLHe=ZAl>2P)n%P^*7eSmxoCmS`YZHIo<#JuWy+XCpeMwLr#=AfDb5kaQ^8&{F=8v-~)ya z1|5(CmL(5!`(ym0M}NA{zvk^>GsZ4CVKR;MJ|jQbj|_gXNWLCH--=O!ES`QifZhf8 z_J|YOmMo7-9VX5Qos^&M^RIae-fx)NY>_z$CCIUB3YN^(wOUB?gKzY# zzdSX~rKy-Sw_jvSE#N=*T4Sx((&R);+6?R(1wOgEnlV*jDyL$Eg&g8uDyc`k>)C~Pr@J3 zk+@|dO=?WJGM!KY>p@c7Wk}+LDhPk$Q&d)w(qz3~YD@pIPwar1!(P2`{*K}xA zDG*;?+FuJ`3jX4(QuL)UVDne9rT?_f-2+G-{pmjcnzsih97y8C*d@zsB(&6z%vIv}T>a@j z{5xB4a^GlQc1C_xLPCM;k}Q2_Y8mJN()gEP0@(6;HF$q5Bu`di?go1QD`8E82XyiP zj_X&lR)twpE8#jA@)BFgM8B%>wv-Q|A32%i`K5D>lP=G`oCcT@a@;MTguZ^j2V@W( z>H3V11$&9DWIoKC$O0oHc{fq!pe)NLn){D4gda%Ak~1N3)oB^xfLaPVw2+Q=u;mqX zbWD1HvPrGggvP+XE<%T(O73^FS|#t_*XBVbMiMW8zp|bb%B^Hs;BctLpo8Wm+{k{&_L3>lyez{7NQ1wIEm7ixffJ{Y zPaYSON2Coz_#p{-!RKSm1+>vgmN~Kr^H25R*S$S(M9CxzB*reM!2xA{niAEMwi3ul z)p15ow9dr&hy6TKw!|2wWT`jFG6zRBy@2V_I%tEw92m!6?TGe=%KU&S`=|TxZ*93V zvOm~m;sXheG0WjJm-$I*>6*@d?a`REw6si36X+|?BvLL8{>liQN`!>6x7r|}GGy^( zoIcROpHSiv{W$1wn#K!eX-76;bn$T|Mif7@8poBD;FeNyMcT$&Nw7Sc$T%8^M#4sM zz|7IqpbZ)7Wy49#z2stXmXj^9w2UIZD4|O-lERixjqFhJ7*M1+E9KXB>7gkq z{}ZkM>bF0bPV_%%*kBX{bG|kiT0~N*32B;!WwU%tLQivn1A2HQZR5ki#K836pGsk` zK|XMo%yD9E$cePS9_WrDi6tHJf*MU@u)H+#q5u3AO#kI6I)M4vU@&(n3iu1tC$s|S zsT|2qP>Vqa4Mk(50of;Xje3?uGJk)T1NiT6p&*6J>O;y7BS;t66_Czv&;^!J(h(!>@aLASV-cQAp+|rh#_s@QJ0wqOvM!7&}qTNhIxQ4J4R0 zKi1n{`<6z8KhP7V2f+oC%sf4xcm)qoJs(s*wnN%bV5D2LNhu=3Ytu$v*$8x1=MQ81#$S z(k}+?kYf3mHlyUUlG7}aNi3l!q45N3GG&=WTff9sYZ121uUs^#^sP{^KPCc-2nC}d z91rrBC&2s@;fJP{ujw$MOPGapvmverFsn=|7pB-qZ>(V}Z5X}(HEd-fk)|`Mim;*v zF%NJi(Rq1*iX_G*hX&UEPzq(V*ea%mqtPf7qM3?h96utr_#Z!UbP~xa#F2y^pdgy< zum$A)98#m9CjNO9NFr?~3r{dIB@@Zi!FziIY~`#Vdx1Yk{*D%5(P5NfmVcAS9w!OK zyucXXZ#O{o#4P+rTKo@hCDRDt#WY5RpSdwCnqd9%U^ocJBHsJMpq7FTu6Io$s&Fi+ zHAAiPM=X*W#e9;WjxEZ?5Bv(Y5xQEVOVF1RrC%gP4<%zB(9$yWhk=lFF(<}FwdEf= z8EQn)Y!XMw-Q(GW^FX*GOCFJ1OmPfFx^K_{ibFlL=pf}E&4 z&A^aB4873`5#_5<`hh#9c#FTp7Js>8asgX1oi#cRgTWM#eIyj%K^=-(4muboF$Gj` z6kxm1X#;aTZ~66D`kFHG$qwT=zXq0_tYfa_T}*%KB)oj>tV5fm&?KfDO_TT|O^!SQ z)F8yc6iG;~jWuiFNaP=$H4H~G{AuLlbmOFx2IzW=YY(Dn>>MsZe@#kE>bw!Uijhwx zRhKv~V7V*XP4w+ZWb_|XLXHKy@){;*4(Uy5lIIpSjK2rWJ+S5sVv5RBldQMa(T{BC zfD=SHaK9J{nyBqNs&;5c$o3u>>4&oSt2BhO**0WJQ=S)PT&X_99OyIc6fq391zD1Zq) zWb=_>#3ATsfDQ=;+F{aszCqmn(&qE8f489c*}RgMb4uRGDtX)PcsHvA{B}+;ZL=J2 z*qyIoD-(9-8#y>s@@AF;nKB>gH|@M-mL-XifK16UpK=_p<(9kwjvsn6&NxZ}IgNHT zX;jAXDr!-qCGY1rKeHA8%U=9eZpo`79M7LO?cF|EsobST_2~pW~RAjgVUW~fis;m!Rb!Q!J*;UI==!V zhci)_j-sTjg#yFfBtaHPcTxea_!U@|iC6rBnQ{{ONmX!2CbWE#%)LSmngDY?b&_+w zpmv>e(j9Zt9p8Y{oZva=ywUlorR2TSZk&1Z%ey|>MAsM$oILxuDmWRRZ8DSckptDy zwHh-LW&_xIdzF~>N@VPf-YSV}%K7tP2hnPv1)L)5fXi|Y$8>CG`4oEQ-jtU4;m zOx?yIE)XAxmf6fSG*%sHPo5E$DK)cyVLHkQYI^@1N^^Os(q!H*ll!AF^k#Fse&&rI z-}3SfOcJR#OdCy0ayrQwMH}b}Q%?GiynF#~l5K655Ff4-n5gGp_wJ|?*xIYvMeo>) z{*~+eM4Fgp8f*w;1PU@48xIl8v3O`McHr1lRybCR0v=-MJRwrpHxA@JxVj44a z!QchNd9|?UH8ABDqX3$IyI{h*dBty1i;mawir&vH`ViO$v5=oz@>;Irgg?Oy zskExIx3-(Rwuft957*uF-MtSbyLt9?_U`RaTGgR!Hxk|5dr|9H&(3b%?I_d1 zR|`fyv?m>EflfkdH)n93tM0DqVbAyZE+u@$N?XV_o~u1e)&TgIH<^ zO@NWv!&%?MiJYqTZQAD3^6y+}Fo>Wt|}xJ0*y!~9KORGIuwb%g}M0&?t05 zYVqu&ag}aG0i>k@sWUVp^cG#J@8$}DySN+CH&TUXH@b%bq9n?r&s5P(EJp$5bn?}< zFRkz3!%-S+PbV~A1kt!I4M2cIAv9oaMp4MSgR}@T3LHN(GA}1U6D3f*&u>hi3v0+-a zhg(tcQf<0paYo5fYw?@eCI7(GB{LcSZZ@VgUtbv@U<>cU7GPFct{3u($w1g@fEO?X z6q6Q2sAPA&K#WVfL%TeaCE~*Dd@;-UA`r*wc-P{36V}SrVSunZGHR>qHM8q|i{k^J z5B!XRlBZ57e%O!G9$%R{9BLWpU^<0j^s(rxe!tk{n{D)dKkaq#!Dg{a)toWu@+I6b znUFcy%D4v3VZyJLTUjfyi^4cJD2xPhP#8X*6osQm%WuC+#}8YuEQ6z9DPOiI%O@D+ z6HS28#Hahj!s3dhz^jw&kB zVE)ZUN_TJ()6t5sp%R_vUs*#f$Y+`86^^z?_uSz&-cZM~>R!Gj*ZyhKcD|oMN}?rF z#9DxuB+wySBG3t`VM6Dqxblge$GKK^cQrti>T7FbIlm$TwL+8_`F)1*a>@)Ea$Vd0(msq3Q#~!erX_y`7c@KBt*$# zQiwEIl#$YK2x(+W+XN#A-Yc#)bkZ4j4u@I>IW!S4dgU0IACXW?%m1o@+k@(>up!Ll$)LfzO(A&D|bpbE-hD{~UNvKDfJ zDsgfZSxa&aA417J5sI_{pn$NMJH@HDEXgeT_{OKUU^ui&7g1n1VPFpwnOG|&rP7>$ zGlYu2eR=n=33G9|ZtGAmtJ+t+XW|2+>@Wj9nNQ<;V#w%Y-zm z0~oO}U>+0b5EwOs4!{L=NJ3;=%w#jb5rQ+Vb+Rb=6VxaGSg8ngaI3I7X(})(2|Cic zxC4wwS`U*XIHTPsiWIL%aW~;Q-`DZ|jjuFfGRW^`GXBWrL~VUkuJ|Biz-17+y8YF< z0Y%^8;@`;=O7xAyCNZ_nKVO?#8X}aDYUGlv6Ci9O*>D_rwWH7>8MefF4a5m~2|FY- z1I4h_T5Ri$wDpD1gf>8kLZhT`z&D*H)(j8?GEqjJI4;AiX@jp2k|q2#cQu)*pMefj zsSG9wrV1v^?JwEzc!G$qC)}E7>ePDv`O?KAT`O@$C~6D$=Kx_ z9N>rOz`W1-=&+1qc@>SUzMtfL9RA$r-0x{^={ zgNYK8(KDUPkG6{Zvad47fB61p+6@VM-ihy8@nE!y)CcqgqkVs^Fga)Sb8hP4Q`-CZ zcURp?8?Pd*mk@z2hCEX->DhB3;2`*5q@aXkX)tlyri)}4CP5c=x}s{CB#jDd-iK_0 z^Lf%U!vF|Gn8`8GEP;P^RvHFCr##TX6Yk`uAHzpJih)TQyF94Qrm`RCpdt#lbH`F0 zF$}Y9ndn@hAcz?3Ui{WtI^V3!IOvc%HKIrVM65a@KHDHnMPK%IZtY&Gz~-qxNlXJI zEMVVC^AyNgz#;BGF=?YLV5n#?Q~-A{3O>Z6Bkd6q?FTv%c{R|1-f#+NP%2t)?+p{^ zz!OXW3ZW7t;6%iSEHyx)WJL)~NR!^6D}avVX6TXqksX#>$v(y42|;fiy`raA8Q|Dt zam>Qx!4%>7oMsA+TWsq=JW} zmVpiw;rx3r%{%Ybm#g3r0QtfSnxtRI;I05rfH)x@9g358&1)iwp_0-#C&D+~X%HIX zNFgd$M?!lNK@&t56sQJ^FUA>F-u zz0cE?kWUe-nbpO1K@S^4VaSEGOnNrhzhq-KSHMuDNcl8;h8u{*7Hu)mgnekHzU5mc1qDx#jfQD%N zWW8vSI;oI*f!@)m5lHb9->RaLA_$Y@s}iIjnwf+R&=LK150wNr(O|%8m?}22EH6;|``<;T;qqAbJ3 z;?NWCKVJaiFvLwKGrG~STwr<_iqy{Nwo`QWG>-o5R$2_T=a?p+ZxP-41~>r5rS+GMyJp_475f>FPcg*T!!qC zug@fb%22y#fNho;GI7CXzlnr!MTmto5~IdKLDi2T1f%eCX#zy)St2A3K`jQIA+C9S zioS9E3q08S8)pH4UqFivh2VvuV^-=d|M5E?>3 zD0MW>v=1iGIo7$9Yy)$*T(l_@?J)1JXz0Q|0y`A!(Gb(@#1zMcx3fcZDiIwVqP>fz zBfA)|c3R^^8A1>bxf|NWob8QRnmvUEa&1zIrOUp&m}@!Mvi(ShMS~S)m<{j?EK!L7 zMXtr-C>p8^874*ym9#6Zl+lfRCA5gT+`0hJ7_M$WY=x1wFBd7UP&-ekU(sSr2~D$L z=!P^Y=L0Fq-_*EG6+=r`85|*li(8}>85#&QK*G6ulqdu00jX&@Mw-2BmlD$EOKBm7 z;w;VVwP8vjlC`u{NEtanD8OanXCxlRa*J|xnGl4rEDo|#LLv>Z@#W!W`H8Jeu-G_L z_ozjd3B)m6*#M=rh2BuoNyF*k;5kMU6uN?U_IKsnNIAr@Q7e4S=z3p-5Q zD2oh6`O?8nY_tJrnLqd_26xh6^+& zz=?{oESLd<39W!>3RBpI7!nCtNJ_vTZ2293j2YOimDgBS=WH-!@^5l6=&*KiImU^k z-iyetm>A+&GsL@b7pg+ORA53HZLov(33QHeuQ5y|(1G=)U^00`mohRWZ7TEpmh%#s zxU_c0CC(u_moV-)$^L0AvphfsUqL8hoEzpXfuT-52g^5gV_glQ8F=C zfeUalcolhwXUh=x224v#S4>ejDwwXAw8%ikAcZyz5WKHd2UB?vQqVsF5-?1I4M184 z5i zTFM#VSk=$97LY0{kp$TarR0VH3^7Fy?^-f-UKZi&Tm1U$ingm{BQFsh-J+dCv~{u{ z4$%#ESQ6_<=HWL~0*pwSyl0#OFe+8rRYVP* zkii!-00=6u8|e(o_eKo_UW&o1wj&c#4eoGCS&aNI;2oS7*qA$FaD_Wmh<3hM2VbzJ9WfXKiSjfVfC$cLXW%AG!Xr9i*U^;f4Rt7wv@fG|P_`nrC`K`K9umMq94iTQ zw2P;vXFjKKONd1)fEh!^+u4_25D!w4SL=jq0@9ABMi#9xbUf^tY2MCEUBOS5s9&xOfaEC5&n1uk5idb8& z0=NNpM2@qOAf`0f24Lh69i5^hT_>9izD9#53Om6R??_I8lIjh@RN7R=$aDd7lVb)~ z-LW2j`)l`fs8muaB5k}%DyqO+A%7&+Zlb)jDrgaQ-X1st$*xEnPpmU6!4d9=GQL>* zN?32OV_D-d6^db8sI7zS7Nba+DB8k)Ce)_5n>tU78NBRyG42qSQ7}j=vX~5*60An( zlhjVk>ZM#dK`KD!SPy|t+tMicaeV!U>jB(>1mF&dg`HDxqv$h60c1?|D6%=S{L&Z! z3fu(5CJtaIWg5H+&^EO)%D58*)>8n8V$J}#Bhn6rD)hFDkcbQ(N1=prh3;W{f(9ov zAlfnZb%ej^Zlq;$G~puErItkv&JZA@(?nog3`hjTA+c_BMosZX+jv85d_iJQAjKWP zaByvaM+33s&XiHyt@%yznnVE_V{WC|!?zMsh$fkw!#uHgD$=ZDrbp!aIoI`ftYV*t zzy(T18E||K1KjCy-VneAT3)>&0#3i8ZE3kTriRHX0Xp=_n`i_;1d56JSactiN0CT4 z8lxXdN285u2-b!KPG>lR3$vmCT&M!@D->$uK!hRk~r`yP6EskQweUk!CZdemi%xtv5m* z4PWF_CK2egg$cR+9U-AKYQS9g#OTruPo%W5e|c@+(tQTUK0|pF9!&>aQ90IYkG4t_ zLs5W$!xu122HXJ11g^jUBiL1H1sf!=%%gPiHXP?(+pTDMpBrN-6)Jf>GV-b*{Aynw zYwrzpM80%(G~A(e5SVd4H~GBKHWWpmuPKUEj16lWbA~*fQuebv5}@H_P^^TIlh&jl z6a9oLkZ=UMlq;R+LG2oYCyvG$-Y zxJAKslVXOFAo`GkOnH_|732f5;qL&);U$qYc#9Y*G>l6KbcojDAs7&c?`Ad{DnmVe zOX#j2rfPgbf*5hYemU#N)?6zwA%Q;Rn1~MJOkw7F;FC`!!h!%>$U(&Ak1Ue)NhKB%x(h7V5ZV_d6^V%-?1ZA-A?U4qBKO_Ql zn>;EOFWCIY*S@S~^(4xpRcZl}0aASK0XjIlz1+(HI&>96Njmq0TvU>qCc;)#;T!k$ zF2FUm7aRd-M;ChH_IKhE4N`ZhQWGJq0?+bJ)52G0Q?eJf`BE=Jd?RBkeyy$P@ z;nlFHdN}js={OZ~95B&KqQI9Y7aCAw5jwPyt~?$?d{;K?d%S;arjd`aF;m1L}Z7$#R16aG$oQc385B( zsZa-~(G`Xh1XZ`A@v5Y7gr5|v1`IB67`Q_|BQ6_&7-ytCKjue`;uKe^Z7LK1VhWrl zL{bmIe$JfnL4^eAkaJuyRiF#<@Ppw61^_|J1+CSj!Ee7|9{CC&mu(VbIS3 zonBsANLI9kD8Q%0M|4;Xv+h6`*q%l)`GJ4smb_-1@J^xgopWyZ@YQwngtgSgL(hI) zH1V$(2Ji;{WKcAP;P2591%4dmDiDhZ6VRpv!;R4ZTpJ!JHvst|dZ&i~28skUKv_UE zFvoHJCgBf=Ftqj2jJ4O?@xmr(pTa%#lR$((hjfIqj)tU66`*sRdsSce+8UC}ZIG%N z#pTSvmQOYG(A&ER{tG59t&e!w2w}{UaRmmTlw(FBoY{HmGm(D@@tqJW;!l^)jfk;# zigqRY$P8S;V-YcxG$IP1*@@~1vL=btl1R@=(X~RwoKBTjS90uWfhN@(YF8fW;@f`f zO!0nLw5!-_s38BSOGT`WGuREjfHwjOh`$Uzirr{Yvj`?fYaA4Vlu%efF$H|9qEPRW z&3{=a-mHdwZh{MdP|Gl3ADI?~X=Gzv%S2b0BHykifS_mO!u&K{815cB|AC0`hY5Nl zKsO@}7`i&nvjSEJM+|mID_^uM!eOa2V19BBeIuNm8ZP{Q_TB<8uIox4cQ~=baiB>G z`)mK(cDvhdo2F?SFk1`;S&TDcnVFg6IB}eqnVH!#Gt07NOR_ABS)*Z|`~S|lZ^p9I zCUv$+ zmu`cjMBP-88wC>*BZ9Nw@UviGk{Qf@1X&X8m22nNpl1oqR& zT&1O@L^7-th$oDuz`hkdS3#nZVQHOunfOMGx;t^QXhTGKoy8^~gzzd}Q|Ch0h^r7t zh&avgj4}uu4~wSBXo0h^dA}hrb^V{Bm%kUgGH~ej4P_!vh?@@Kub#Si$0g`0%117w z#15ufI92>E95@GzV%V^IL5n&zxKSqM!WuN%C5#3j6t!XZ;oE;snR}L(HKFiS6e$R~ ze$*Ih=r_{?gU+k!!qzEy&`)}t09Z&i3VNh>(#3PSOpm5mEEZI6aEi>SXG3O`?y!jL zCh=LecrRn)m@S1RyfU9_6??COzs|(lX8bBwmj|DB%YsTUw+$p6U%7yWD4f zkg>L3r8PbmU;JuD)f*}0ZzPt!oKX2P9E4;zVx&UPsI@;y zu6P}@ePZde8BHxxjF@|$OK*B5rLwiE^zB~tPpZnFS6?5UEq3a}b4eGTO)q^px#;&cIR+Msudu4j@QWTeowGZ-lhI(+ldt0`C6 z6~#mcyApE+@rk%ZtdlB1Tzw_w3KGNnAVZ976TvqDTG?cP4$~@6i+EnR>2G*1)IXGynSkIa1`skBvk!(*Acr?ZSNBv!wgSp9rlU8{t~mT8Tx z(u)G-Hk}Y6bh7w=iH*;y8e1e(yxgmyRYK7#v3K4|)3r*aHLoYqtj}lYpN}bcHQ~mq z>Vg+k#V@35AB(GdA>H^~a@|w$g|B5+zmQn-lBxlt(>ndmv#J}wzSeNfVl6FGG_6vq zTPBvil2-Lfdiiszf>ud+FQyc|g#DE2#}jIvO|t^=A5qhV1)3)SXW$qi6oC${oy#?> zG$(`y8pMVnoA4}bQhOE9v6CcY{%fti0bwIPk`sV*^iPK*iulFMY=FR@y(0V~)-BE! zSFH5h;^1}Vzwfo+xP$f&7K%IUY8ag~GiY1{XH8I7R+DM2GmL#a3FG-&re`UgArD7Ez`Zb9agU%ZgTB zA(YXw>j)g#e_IS#Q8Rp_a5iH3aj|?kiF;PvIVE99Hd0#_N(-K#;l`a;URmI zh4{NIR}5HCyY{eHdPKAzyXP{${)0>-5E(ec9{1&Q6Z=^-%rB(mKc8Bt%q`S68V&+{ z*;DEpm~SryJf-Fl%J8*k%&2r-mM>#HqH@5bXMX|E<9u3O7C5i!G?ZaV%`XzJ{vZ+J5$ z@5!v{R=vtPO{eQHnx{FQ`G4tyDi(=hX5i+jm$7#jSrPV*4 zSo$BM8pj_I>+{8@`^9^yxo^c+zmU}Qr26)o1FnxcD%Rc+WA?fJ&_Cz(sVjd{6+e z6V@rqD~lfeD8FFlE2-yNWEfyxk(9Xi%$;eU~SR(`mI-0=S6a^HwQ zAFxWOH;A6go0c6H>(7aZ>83YhuDzU8^rPh5-mC0uZ;CI^i_lLhewKbFag}Y!C3-q( zRkr9iSG*Q~>Ghu1)LUJPi^PHpB4lFGEAja+BsabgR~-1MbI~QS=$yz}+caRW2>#6W ztBjjTD@5vA$B;c@&K2=tpNe0{T<*W#xwKGxdQo)ytorBC<^L8{5xY$E-sa3)Qn%*1 zn0HqAk2u+G@X;wp#ry)1xkda(|H@|~ZakaR0FN6c(qmEpU>s2gc|iweSCV*~oz|CA z^3YTZO<=SZBSnk-6wI>_NK)`Jx&6$6ovD7R!9BjH$YsWAFcW&#&?ETguE9(wdiIr!aXEapH`m^GE zmDqYo4E!>G{sApwpyo*5WEUrM#n1(16F1deH&6^rgsq3G|B$}!INWJ8O3p3_PP&LB zhx@w$9aS+v2RkHV02g)vQ6D(S*R#1+cDBqq(SOppw1pQgvDX8R)>%Y&&)xI(6~iYS zu(i@>$X3LcREWTo<53f8qd(5?*l$zD%mY9u*eO$%oNt@DHfh%F=&85cq^vtsphLIw z8b#!g&7J%1&X`x#uJ^$n!*-VQ6AW#7@A+fTQy=v{IDU0?qf^XWod2O}WBlaX@dFDw zBpzrpaxXv!78VeSnkVgl1|7n43UtK{pz~sK0YC?QM~@&7{0N(g3{tR@;FU&Of(~81 zg3dq>l{3Dv~$DM>y4Eo46pvv2t;=jNG(AJH@}J z9-p+g1}5}*yV!O|oUA8vI&!}FQS$XaPj1>P#Nj5f|Bkq96o+fY`~4eXH+}eV%|0Ra z>Ba6EaYl%38u6d~>i$1f!TKvAyG;Bv>PYemao#CrofWU87Cn)oMeiO-6;G%{OTKB4 z7FGy!+&4WZi?T@%OaMXnHuiv<9y>kQ*bi#THtyUN5tt2i&j z$X()>k$actifclga*53qB4~8uW-#9>*5r%*O*9tiv&8SC@)lhdSA@u}7YA#^Nxiu0 z5@)nxM~T?kK+K$cT>LV#;JNt9=QGHtA<$7f$jqS*y2S$^4qq=73~3HJif6^3Lz*L3 zIcZ`e(7DAEJPaZdK{GwS!;8u|qUW^e!6yLK;iIBU#P%&`hy$2hp%K_Y##?own`-ff zOQoppY>f!+wa&Nij?^#ie3W_Uy_EF}uT;YnYTy6JN9m^{N1jifcBOsq9X;or1I(4W z#E==6{8ak~FW1J*$bT1c=1;wM9^2ud5o-E@{=aYYsrZ!6N3as_Qgl8*0R%f{E008Hf}% zxp>J_b*pu90S`0yNC}j)*d>nQ2a-YV)f?)ockj@l9rs?`8qLt@$iG4X)t{;BwVzsdzALcL!6Tk_stCalT6CH7T{R_SN|JfFa2=rYs4 zsd8RZU7wLJR+z+3NAKGy#N1QjFL7Ibm9*jGbK*$7_-pK*FZSxLI7IL#O>ZV$`uDyk z);Ead`Qn}A{mXBN{W|f%pwgelUHQwXqHQ{{I9L2v+<_H0#38Hr^T6UaV=uis?&?OP zn42r!Rh?XOMjR=IVVHNtC1zg`Z>w&!Os;LAHawNZ%M&ryR&Wq_Ee4bJqiGge+fKGT zqax5D_sY#94=0&lq)FfzM&xz%6*g@MwiKXY>jsB_Auy04aSAHhU-Q8tQD+h(hF<-3 z!ikxA;-pr5kaekb>c#h`RY4C&%qx0l7a*qs|H#FtmaTd{|FtjGt5 zhmY0%ChFEZQ!SrViSD0Re;2p+cd8}(8^p?M;=iMg>?;(fn#BK8o&QnFr9X^04`?2` zUHmrg*xD=Nj7j{yfB9>wsy|J%&$%PIep3F+q_zKF%EH}xvFrlsI=%Ut$kvEo^}YF` z`gG{BykkPlIV*k{ee|v5L!TCkY=ih|WcG_G4Rn`~T&+i^m~YJ`ghHwl!UGXHCUv|nofsUbg(E88j-Fzo}MW-RBhi@{WFVF?BtJEmk$1Y!Z z)d1{{|DrH#~akzu=fU@8MKZSO^8o++kN|NZog{PlB=*X&^oJ0R2W3)zym|KTFZVl@bW~gfmwKOjEurd}6z#7^)wKPxBxv2u zY$4_!7c+N@5y!>UE8>P-#1GE-a;NUNPP`U(<9WDjy)F#DAkJFFe|KG&YY|H>ix<1+ zv`*H&n0D>sd~u*ryq~!Kl0huKD1IDY@RF*bRr0CnMPhe@_(Rl|E!V`k26_YL=Ii43 zX_sG*Eo-ULx9Z8)-IH9jq#9?ID#VMv1UmGPlv=!*Sj4!vSR>aA&L-4$zdgllAIhXJ`i>* zE&rN~w7vfVnDj)5?oA z(5d%F=6rF13gKXqT8MyWu&Yq4J<_!Bi0z|^CBdIm>+E9p{@Qm^w;wS} z&_NEZi)MD<9yia^i?5{z2OafQI=pa5MxYrE9(@T5zE;1f zAA_!1MNr26kN4jOtn}Y0+V(wyrlYyQu)%ZAbxmFCo4R()AuZ;s1;<3U^zA?#_%;9+ zSWb{#;L!&|FU&r{9R}A8V)L$=sNtIdVeN-spMRR-jV`hBnD{7pX(6vP+f8Eo?h4<* zo4{Ov4jC&HBuSX4&n5Zd$XXFGH!P2%m8 znkQ9_Po`h$cUm0Ph_+E{u4~0-hs0~DidGqpr_u^XUKA$`;@$3Za`j@$ZtbfH*Pl&m zc&^ut{^!LJr}$m`n&mgla6ocg;+#Q5j@SMovg*|Y+tZ2stdNRsu6r_z*N^$#4g?nL zERdU^E@7*XtesU`99`F~ad)@I-CY_9?!lel4MBo;(BSUw);I(R?(XgccXuaf$mV^n z?ZkN=tH0G1o&M`$`W&BQ?#}lt9L83#w@@N5H|1um z<0K!>PBZ8yllJdN&tQs9f<0ay1>w9(1S~;qzBqVFFtGwxiM=PV<=MLLqIqumsxdM_ zc<`#=@v4LVPfC=o`JM6U{QYVCy60!}Je>()HZd`_KgWYp+&4#0lV{UWKEHQ=@6RzT z6nE!%;6r#EN}uA=NgaQ3OivKL+74D1sESgo`8)d|bZNtExIJl+Nc^P6cd;s9Sh&C< zM+R0(y354#cfj6Q%(Onci-+Bg$rD{&*HAuVITlrhaT^TgP@Cpmhb76P79(^_( zBm8={Me51t=9@E0U5BaDz2z#rPaNSXH3fkK*rJojRJ|d*5I|hfp;=vfVe;3$9^Yt> zq}J_9aP5O_9{NnFXCj{7eqgvtAK{V4BIoT-wtfcH&{Zuw$BaW)^4iMe=PLK&Wa;_n zyy+gE<`~rei9Sy4IPhY#48C!x()rj=iV;;i9()$0n{01ncxpZTWKNd?0w{>hC(zd>U^q&_N7FWO*MrX2@b}D zM2+YC7*g=BgfsSo2nVACcSwAy*lLnvm?~%goF{uDt%m~gVMaLeZW{JWTGFvqy&U)8 zRf(W~O6O7TQ;h9Zb)oyEpj6Y)c)53>`%L2JI5S;el8nc3u>I4wS??@sfo7tnIe+-y zei5tJ6-7DSY7`y}f1XUt-Bj0BJo=c8W4e}sjr%E;JfPWy@K18~!bTiAUvM1|BMYr zE4UijZ~<&Mqi6ZV!Xddv@k>p!Ca3h!VII$<;$cvk>nz&r$roH8kW#!TMiPMiCed_5ET%~+v((7)9!-yNU@e%{5e*MHnoFMdqE zTW5z?TCeZfwFvb4kuI~qo%E|dLx$k+tZ)CS$q56ySwrlXEl!_5l~%raPJCUn9mqww zdA)vMU>;aK+bu2sYN9&+_c8jLo_L{q_`lfA?t{c-U3!DzBhliv4c}IH|GDo!ZYXH@ z|4}(_1|ZY|bTk%DtI}*9(BG$`^uPP%=tp7`w;R404jc$1va7Vy$7T*(C02K3t}jpz zy#=qrcle5FilmA!3FyoFuZ~T?)dpO19?OR^u_kq2GLi;k6(9u!>jgfIJ^XDFf*_)p z9AUvS*k^TKS}_^E=mc5whV%c${PTe@6o_yeT}#bwUdN-h9w?rzP*!84#QPDbQeHu5 zR1OvE$NAKAOBTvjulN1S52E%?ahfS@;Cp=CMNRB_1q>C;(eLlCb&`&_hHlBe3x3mP zJk=-h-cp}_T!{%s1w-N8J=~i@U}ZbX$GoLv;v{N(VEqd@#LeTR(H_i}tlWST;3=vX zRZ-%18*Hu1M41U8M&Gmsm-A3+A`a`D?F;e9dW7~T^C_F|_mxsW!3@)44&guI?x$$= z^AXy(v-z3TJ@x)8Euo0(j z`7+npo8MTD|5GwpwX<>7E@Z4E`~dvCu0=c?eKVgFx^Z~f`KKaO*DYPiLg0udB4)zC z&L1%lu=bCr+x*(=EOLA|D4J$I)_UgA8F9dIq20WTQScJ0emcU0E|)arb2I#dN%`OD zGCrxrl-^(2PHG+GzAimf&U)d-s3co4n<5||{J|@%?o&5Y@2+JdI^SfEw!6|PP4=5X z8Ns-;ld4f0@Gw@D+DwSCdwe*J1Viifm49rs^9TLrJ2EgiiVbi~ZoaRg)R-b(npP?|}@2^pSWw9);N zu~Pka^Y2|xmTw{c(@|zLkA^eXODz{n_yxaYN{!%YyIM7}C#hYhu_a3HJieWQS>{(Iqq5foufk&B5D|1+T zwN!J`pNIel9$bU@acI^tf#h9G>Td90t>=C1c!z|~JE?kf`0?^bGkuuLHLcW?E+<1G znYEGI5fs?}GMZd`T3f6L>=SjSr)?xvk8-i>HJUCeC^s^EwBCx3W~Zyu#8p-?MO&Wm zjMiW-SywrL^c3xugx*)nzBz5Ky=(#H&f2xs8)wN|Z(e!`S*ojkS+x&kQ4I<?BXZR{OmTg=bk&#hv!`?V9xt3J2&_Z;NAX6TzV4u#BY_hgm?8bAhzW@h zsj$(e;rU6`NA70%pfHnVvlI(~P`AV<_3VdH50;IXR5Kruhd(W@Fe4=vGvif=FOFZc&6@I07b^F!X;KXb5nH z&zYw{Wzx3!RU;U0;*NWaN5!rgnw8~(?s}Q6mrooeQHlw9yj|%(JijF9X)~6`FdW6DtnA{Snp$nEi(JE7p~Mz>|t*ydShnT`s8zk8x>iWjVjqg zxV*yHq#LnCmyMuN-60DTbeYGG<4SK&*p1R&^U}7gMQ5zc_$@>0q0l(Q#L2iw$bw*{ z(cCfNNoqd<{%CNOYtVM=e>$vp5x79wo>pF?Iiq` zzuJPqBBcXr2^o>_*uY03>4Dto-~?cR)1$&LVPYBsnbfSj_$S8n_NliJH|c+fASbuV1{L+6`N_+O z29&uDc>96KZ>ASQOov`M*1?2_1>OZUA!kuen8%E0k{qVKE0^$q1J=2%$-b<1NYc4} zemtaqQwN7FWX9q^fnQo|bM0M^-p75XmG&>`$!><=UOkhWmp@O}P0Z%!PXM*0cUQ0W zF}u+a4!X1^MIMpVB5#F_Cq<1F#QDKIdf~k2u4gR`&kEK_9-H4)yQqEwU#@sGJMgrh zWHWCvo>m!lQH`(kH-W9!)ky<>=*>+kzxraE;Zy)`EJ&q@O`%* zU;dfK&057xrdpA?IaYR;!}Q*LKa^KYnj33ln^ItxqJ0Z~sbZMtWlL(TE?wwIRC@>i z=ufgmt^Q1uE6+1u)pL6(hb+Krw3es%yR%A6PPaN7$y|hW*Cg_p6w(hJE=9QUyh*|B zIhP&RQ>2JMW=O87+nHc+FFBENr13LPXGtUneD+*v>qWw|aiiF_bMTb8I2x)upJhNUmZiP+4&BAB#ler$`FNi3T_SBdq9X#MGAa>-Ib zq+f>1-lLD}Cn6KP>(PhpTEpp;!I6tyLga&Lxx+3Zzq{hiq0)NgxB=acbmPZ7i)@M? z)SDxfcEmof4@GlJiQ^{c+OK-DMyT8JnN`}hxPBA`m*r29I^_>+Np>bmOP>hTf42#U zddyNMM7J=^p8)A2g4ZS__Luypd=iHsnv@b@4kY`p?#cD?bgt&81ZyXDFtWZFt!fOH z$9O*Zw=r<=f|c8b{aggC7%$Njn)kEq@%w>kYdZ2uXX{Y~p24 z5Y2GR_ZU1iF%l-jzR$jtFMlBYX%#aT=|bBflZVp6qt!uaOuC-i=J^b7w8(D9HVCLy zu=!P&ufXg+D|drzdSN3Mnvq@W(q4tfS4#glD6U^2rkjTlLQ~4zuCNP90z%QYAxtl5 zhwx`>Bv)uYQ;U$3kXEP!`N3)uNq);OboJKz*HWG0cgxrv6u?C7=_POS-sCGtQa1$M%ZHlb6!NWy(21hm&IbbJjjjCm}tGJ4^Yh(Hz0C`suV$bi4s z^EG2-Ol+5O<(tFt1!z3!QZSl53&Beg@r{g~*ZFGpG#I)9Gc8K9(R{37RgVedjqaYHXc+kfE zX$-0ARbS(B3mzaJMhe~z=`HU-1%kuaH;l{tW6uFiO!ov_3lEIl$+??uBkuF9!b;Pb z@euQ#R}WPo7X%9Hysdkeck=1yp*=8u!ldToslob&!HyOiw>hG)_PKW+*X zgHq#}((*;dG2-GJzD#h=8pa%ByV)|wV0T_Cdk$pN<0q?5Lq_8~8P_#4nU6?~d!el) zIORpK3QLIL&0%)}q5~u*pJYC;PCt-tq+r6S;c(DE*OVAiUzpfSzGG zQ-LrbGz6%_h)EgD=(EAZ@9<(ix*cgi0sFD8J^1@TvicgqiD&`EfMuF_34#gB5&zy| zK3oSLEvZ=yAf3BM;r(&eae%~8>8WJRIsZ9fDf}WdQ&nX;3DQC7qWp{*!YnTFI$2j- z)-yG1GcK2x$0v+i2fXkd&10&<=yOgkm@sglexK(F#gQ6J5QdDmBK=-eB1`coPA2>Z zDd_~MQLV(kGgzfF!Q+Bq^!YcQ1Vp7d*VTZUS^YUg{7vv=$U*@_K6jT-Jb^Oyz8G2q zmYV`30ux1}0Q&i33johl!h1EUBor?XI%+;uFbhdesvH+6uD`8;naPoG$H#}}avGac zE@BRMwerT9!2dDwM7oJ;bwcr}5;{0L61B^2!fJ2W>&`7xo zII0Zcsb9hq5j>Ljp>Qd2ltr{0-mf_Z{l8nL*J|EEo3I1qja|(ufLP zO4}BDEaJxm9Qq5h_K>(hDrH-!Z#RJsuxA|Ah~t6DLrxv9C(N-j+pN4J4N(+jY}1ch z%9sei^hMu9HK>^#Ih6Bjx(Imda1Fvt$;0S&=LI!j2yF3|3+gv>)aWzHDZU4W>Er()-N8(amI0G99zmUEr^Iuat`kRX&-dLfhKt|C(UE|bck1!cAB>n`B zG~j!d@u8%NGgV`Nq7qB!k<*Jc1zkM8I-459dmy|Y7@mHV2YHHcUx^elacTAn$9n_nK8@KBSx8x`zw9#+a@zHPU zFV&!(IT5aSN8*^N`5vh87IE0dusfHSaI+@n#*Y|Vm~@Hn#X>x_Cv)43e4gBZbV(7r z%YynzWyB^!mSb!0adpL@XwLA8w!{?mMy3Uo01deR?qN;@mhWAsNG%*qlF>JScHw3) zL0d$ba)ESwV=|>+QaHov4|pI3ZX*Du-=go~qO$b@V;88|CDd`0mxvLTg~whU;-ezX zWs2clY>_)^j;D7?& zyHW9fT{x8c?dGLIm%7I9C*I zO%%fsd6#aF#1gN*DJ8!nov|6JIyM87QHMG;rEh~nS=axRK1sn852jlAFe$~)!6xN+ zAJJST7(JRMb2&lT9DWK&3iw5@0gbxVI$qH?BhWTHv{R>n7eKn(D!!k^y?g0@6l|rujoN(H=cB-jH+pY;sQ>^tY)u>51qtLOy{9D$M zPKFhtg|f0Gp;u}3034#VtW=~% zH3sTOr%G{^Rf~aTATU+ZrPh$hn}E0+4w3vhb;Whe)17J=IvbCDTv?0;=2cUS3E`w# zA0$J<(7+;eNotYcga@xhCiIs~C_%RRcElw5imxqZbRDan?HBpbKegaVp3#OU8Db_n zSnE1u#%F7ewzsXw?xP?a@{2ukz+t!d-|(LvkvWP6&aTy6jan-wsRbYsz)!+&3_;q_~t@~+? z_z4ZTEJ%Co58@Gl^wT-}Y{_Gy0k6aZKD0{_15fUhEAj19`12#+>e)hN9r9W{O3UE2pGqHtb(@knELTE+?V?hZ_)6N@GN5o{~3~F5bFkxJ# zTZyeFpXsFvh>hILP<3b-LkkF4_NPJv(ke|b?q>Cggp(}{nuYzB0kD*i7zS~_iLVh+ z>Ln%^D+mlx&Cbonfr0ZSqBKVm?%uqz>bb3=iM2(_8wcp-L6Pd<^C!;53_Q`ZjywY{2|F z3k*YuTz2j&Worccol-O&(l)ugVM5y&)-RCOP{bdnaM1ECwp$jT6vCtUSjU%SIW8z! zFW%@?=|du;ZHo4eUAdpQr)>8kZ9$*q^pW5#^M+;hdcr0qcO&4?J3xv>-{upvtnhDAJWMduEbvkf8fcSc+Gt~7MRXO25t&kzh;D(1 z_@I$Stk^4X!@_yOTD+8CGPK5owz zX?JXtkmYapJ}TrK(g_4RVJsz9;wK&}a9>j@jh&2YGkuVN9UUymP*pC*u%)}GaRrSFRYsL|202s}NPPaHz#Wp+7`vwU-Z zn8N!BWFj4Sa%b2VZ;;&%HkF`)W*kdlN|pccA99-YslyzD z(&f#HxLh7z^BT}j5CBLluQ0?NGq5{uK^W!n3n;~)wyDqczYyJ9^y1d*kM9OK;NkQI zHAnSrsjtYfx1d}gQOn>mvUP}dfOhX(+Lc0Va*Mf^vikn)L24N7!pJ&!6xOfu7M%)6J0Gk{zX&-D8 zV>ql#{2U!JH6r#N=`mI0C)G{F+F+-^X$>8!h7N0S3M+`ww}^krMJAUvn^WxA=VZb@ z@`NZ6S|ZO$^TF1Hm1>!j8zJ%q0DJgd?D4!5(f-QLk!H95gNKGN zVuCVx?15`&9u;TDhGEkFEu^jGd*IFq+m$vgx5#wqGm*t`vfh ztK!2p2vl1im=LR;!8%Dh>|VX9#!Xh>q>n_w9KzU}gJ763i0c94zVJv+$Rb-3aBE+$AN2w!G5A@}n)Ll#T+kfpbMdxgM%rq9<8j4!B-w%aSAW zHI7{rL%F2}Mccq!SbFl$eDmY`^T)8-$A$aR!Dz=q&Jn_M(H4qo=KJ~r)ib{3r<2nf z;slRk{cY!hgSZ06Lll^#$d=YIp{fc~Bj=3qLQ?UQrOEsw$%xeG&Ya zZGensi!{n@vT%G!OHic-j^#d4Yhkv`{EYPbc{l4n2Z_4hP=YMwD7dVcwqAGU|M))+ zIE2KM)#Kw+pEfI`{bSqRp833p%LnuR6&I%4is&nLjZ_@dbs?JID=f0LwostbW)bDj z>|IdIad+?SKdqJSDUn5cTZ}35FBx}lWQalZ=um>li_}!w2w-apS>FOJ(<~<*``0 z_@Quw*n~#X?I_nZN+1k5bl|b;l8WAdJehFqX<9_H>6J*zPjBWy%KR`b(HJrG5ejT@ zZ(>3FiN>YlvJ^>r-nFt3R$TLZB^EwX^gijb6seQy7=AhPyXOOLpxhGIm;Zt#P9HLM z2t@J=%QIjH%QT#8O0wt*_twu`?fziXpvGiWlW&1cj8d6D9YEw{yerZCz5;=T5is?} zUz4f+@bry}yw^9lRu7PS3P0?gF%cS;9*X4oHfkUKKH_#URvh=F5jtYio-$Ne65Rib z)$}o$aEuFVaD5mq*WHrudQ#lIS<=AxXZZ3f+VVLb0aCPKWxl3u0X}^)rfrjyW2cIO z3yO^}`63+)`y}S!`CFBy-Y-@C#$2&~kNNMO4SO5n`3_oxang>Y2V9toJ&cZ2+g>gB zjAnH8>pbtLsWKmy(}8Wv?^x0kzwf;qM~S&z@jk8{KI zd=)qDL5Tz^lk+zGg6{XN@Pb|g0_FfBMh>=darBnv1Wa{ESJ^!lTKKRkbv+fcDa-)E zhsSgG!Bpng6A2a?ikAR79Of?Ke}d)z3ea#yIQ(6d{E%Zwf2tuYtML1!@wb1VSGV2C zyaB?$yj|A}3Nr`ej%5xXi#I)l=&lYH?5ayPpPXGTtA7)|^SFp|A|W6?V~ZoEhE|s% z!U3+4`Ub8_{3ko=zYI({K3RYHopn0?;Y06CcKZ`@?>b#<;z7lCG?=`uo9Oz{z`Zdt zJx&gseTw%V>c~kA)9J+XJ4qQ(ax6CT{5mjM850^a$lH)Ej-(Mhs^9^m$7N%LFak}Q z-GNu^kD&*(&Xu6Zb$!K#Et)3K_33b-}A~j zq&O+bv2gzD`1|9cX&9p#qXm)RfLKCE z&Ux|waQh9B1$=Sb&%Qc8e^O|<*O`MKfM{0zE?TW-IQppP-nVd7-efupled5)KHKCz zxS}=1umfCKWCVz!2=EHj3?bcx{!rzC8{uq!dQJR+lCJ&dVOXZgUVmn_8cgg8m2?~M zWUQ(Rr0Gf7RA)k5v6KcjdNgr6jI&{@=`Ky_hY8~2s?KlwTV!6jKv>S-%*MB8aO0u+ zQC!=m6wUbhGHpT_x1)XNM1I2+gWlb?t=M`1sD5nJiF3M-?9QI09~DieLq ze@`ZfsobfHB(8$1bxq}cpe-89R;J9IpiF_P8V0|+Dcp_r zzv@5?@DL3mXtCx!{n>$5L~S>N+%ui-?+p|(J!l$^%| zEddSzm?rRmQ{H!bEJ*?xm9tSv+*b8g#TY4>vo4mzNjbW*Sle$pgl-3@ucq*3b^-a- z;D@Z?GeiH_N&{w6fN78c6VAVFjMb4z@UX>c5cc1oWtaMLGi%CdGC0eHYgI}APshQ# zK*j_V%yPIceE0*-QB7_kw|EJJbDBXZk{J&i4|!ZESV4N4t3MbWz2B??b>X}*>$!-+ z8H+SDG#*dnc4N^LJ3uUS@x*wEawf>!(|>C*^~EtozCbWqiw8G&!jn3*<63FvXOL-! zxe{?GKtg`14os6a8|-D>EtcYKVix2I|`G1`grTO3W4wyZvfjnj=L zWlN&j7VC_P4k(Z_H+skVAsNEi())6LbH@)g@BQ469;#oWsiIDHVP=BSDokj8!}68W zom=G@3$eij1^Z(ynV_58E|Q_a8XQA_AU&#|JoSTCS`X9>W$dCA`_6f5@ zebB%bs$yFh5Q{;?=WBr3^M;r-HoPD$h`w{a_~m=*z+g53c;nz zNRX-%O2ArV40reflf$*Zd{7_;ip<6~{)D9HwwhwfKFnw;13rxB71DYOg$g8<`}H#F z$RGVNJhg0_$2@N?uzy|Pyx_>{F|aiRthy>DA~~X5-s6SVBSpMzshDvnzELXHnjr}- zJRt-XlkiIx`<_t+dgLK-4H*fU^UmEKi!mD`ZM;VYgWM9a3rf}CoT7wTr=;}8LFm)I+ z8lr&#Jc?AamIjb+OYj7EKf%0AmHnLPImUdcxP~W-|6$s61EJx1ad4@jWwZg2n-jkG z;`(z#GQK&M%P88I;DX?DFLX(so#0n|LrHP)1$JjX`#<&ofn$h?wHh#7WMCco7KRaF zVZG>x-&^{SIh)@K#%cRH&S@>R*5pbk9L{5UE9s5}j$cpK_tZ?&48^lMQGv^N}dANxj`ccP|d7XHLb1 zF#!hoWhaT!S5a~8AuI3jpi))vmd1~6NcBL1ijX4R?{eVir=Ju(TbhaMum$4*&PUH) zF9deL32uFW9raSM{3wlWc4bzUe1s+L#}7`;8;>bMR^)MzeGU(U!}NE1C4%1dlued| z*eTIFV*ZEp(Dgr@nS_EudCVBD={Y#yx?JX2x{yfk=0VU~YbmWeG8T608{&NeF3$W0 zIQ)5aTj7}#fdJWQn2n0o1urgF;c_Sa@KX<$&`&J>v0x-c8TsICp&=$(IZFO9*ks7S z4+cZH134kHHb!r0R8y%7XYio6#f0o;Rs_d`bk@=rPpbYffLXJuI>k? zDWsmoP^MvZ62v3x?Sx<~K`xX8320}Ow|~v@LwBi~n@b~MEdJ{g1J%jIaOW&W7WsW# zi5f5j9o2!ci6LXj@SI<1cLv;XLBF|2Ue>iYKli*oJv5w>o*1_1Ub-A?ZYZu--3|C< z30-(ouZV}NS9Q7*?q5bpUScTT(rVAO?EQOGtDgn!8sWSg4!igNl~bN9yc~L`D6*R9 z$ix4knCKFTai!ofEpfMTmHWOk_I{%y%6aTDs$_gS_b<2uvPZ|^dE!mS@!z8t<55(g z@oi#Sm+oy~Y+A>D@m0$I-&g)OCh`m?{Au9w-Tu#VS6yq~r2-S~R@Uw2mrI7fSBb(j z-K`%|-!yE}1h^Rv#eLj8?=HLHZd~m$3ND{8xkW$v=x9@3(erUT*MLz&C|M5A*&TD> z>qgj{0kZ0ocTtUQV%<1hOH^x?(a^P>TC#y4v|HDl@IjdTb8%jK>pH{924O?BG*j4* z)YI=*<5KkQ$qeX!1CO7&?%y^)c6hssjQETJysz|2tV-ASf0cQ9t+pE`WYuiF%_#k& z@e-fujUU=}$j2ucf{E#X4CbB8JwzC*Ld?dONFg)j%o(o$OMCT_6 zlk3PSHYrM6~KW?|+um2oJ?W9~xh1?vBTqVKV369xpADVS5?JwzYiRvnl zaFnCoDB#%N#Z%lCXt%}g{V02O2QnQ;CF{ti8FI|gCVpjA&@__9pD`(Gn=vVI&~lCu)(=W@Je37bP58)} zBN_~HF@|q)DOanM68@nQNa;aQ&C`?qJW@bgJVmvfGs4cQ1J4_y11xfXSe+1Ta20;$ zJ69=$y@1|(hF2d^?A)7Pa)B9>QBdbYPfFR!p6ChwHS68#T-1DBI(4k%On)!w0!vr$ zmws1>XGF&F4}ZRpb;Y;}O%&?_h&i>O)lQL?<^S z^uCZkuCl^h@u9e_<#-G}8|g}N!!=(U44pwubL0EHJm-bow^7db(?VsuV&g|S?Cql} zk}7n8HsN(E-)>(QRN`-od)kBHa<_}C=ROjyA3eUy5C_VD;Oa5#IDeuAkB?ZtyvedQ zT%zoNnQKe-SoqjEMnyjwwzK)depxzO5i;*O5vX+DeDTf$6&HmT8R8<(L1}{_z4DAZ z^cEq7LqoWOBAu-@tFpUIpUTXfH$@|AFcMZ7rc&-ZMwo%kN}o2qjYa<=D-b*@PZR+6 zR6CpI2H~qbiMK*TDZtdyRDpyi0i$4|XJC18ZPZG}=}Zv9+*ZFFCqgp;tO$I-vod)_ zCCbUUF8XM)*;F#{6wruu?APgHSTT5!R)I-x@OC``D>8p&ERbDT`RAySXO{Dom#N_D z3UyH96Mhb2)77>;k!CGhZi}O#)WtijkUlv^sE!d-{c^PJ{nJ?pS&a7FJfTj3J$80f8(@#%## zqWvB>Z=C$Gkk?H|+DsOPR>0}}mR1ve%b+pLGLCooE?h%ps(8X10 zU5c0}Kq3#L_h%mAI#oOC>@OI?;4I$!Cdl^jFVW8g?Ex}SWM9Lna*BM8aWZ6iojJ{d z6C!yj`su>L0$>9X75wMsZ4_l(qBEA^_Mn>3g5~8T`-s&PE)RK4-W^izaW|;eGC91-<$fRaIyKTsE6#u+_*W#i?GRicX!aSHbadJ5i&Bt8i|4omPahus=e^mf2qHqX=XX;F1N78zgxJC+K_N%HiJV`v4leh~;IQ z-}D2!&ia8Nl!82BGR-h%c}|fCZTt*k zMMw<_3M^j1^iOjbHzl43yP(P6ctp!SkCztmpl0kI35*y5Jx^{bl%n$<#JAh8_z*?@ zie7HZ)sFcz#~uF-Mt(*{njC~0bsFrmz4h47R6FkGRi9TwuX zE%>DtCq> z^o6j{>;yYWQ)rE}S)*n}t!XhxaC4M(ea?}|V`vGqjNCx!sv!*m?5fQM=TH8@4Mh0N zFA5?~5J@mx8N$~{62#Ydv8*dj{kHE4M(rnpx7J^*5b3=QcJur4js10#`=jW$v&avQ ziQCsv$#jyCb5ZkoZcqSq1$%Hk^mAVVsaBwD*&d8y5o93>f@=Bb4lw5aQf~o>Nu2rh zT3A0R&kygv=>@=E^Ol{BV9dkAQ^%i~xn3A`u+np08%WusyO;|$phLk!5s;`FIq7Y4 zDCscrlf($+!zx0tsBIs@E7k3qld_rue}|oZ2gT(Byz;AtFakJku5)@fa-p6wq7h^cuI_nwif0sJh`9F`=X##dZGo zBj4)u=XZBYO zA?st_m{ib$4bP=s2jkpyx4~D$OP^k!?rsX@vITv$ei5an9-Ob$^V4gr zLjMwhf@(8Vke1NeXg_KJc*ko0wxjf<#pNVm1y20H2;zS{jlnKth{+S7dp*WxseWBn zkW$v^^c~ziu%K5qZgQ~j~crtRPCF@51g^jO7&v2;oDkZ8_}%3x-i7_6Jl(h0wr|=37~ev)7em z;^trYQWxqt^oH9@A%$U|$a$=GpA?3tjAmN4p;vDmvsY@(>^+w5Z<5lgmp!3c3My*_ zKOdx6p1A|cW@;)zLV>))nBT;FcSLOJCW~jS2|v(g4hz@X6=}bT@8R@~>pRIDbex7bGUTAA; z*B?$9HFyYd7nH5OWO97^=P@@>OUi#0uojdHiKx-L*!P=lxzKND@jg;%js{W+=o7cK zRaNN5d=Lp2-(;FA>}E}ONxgazPBL6e8RAI!EXIO08RDn~l<{+BYb^#(7e1kEaa76cPnXxf< z{e8}EEgbqR;`}mKHCNIv$02m`(?6xd;9~=^*5=eot5uW95oXx5UK40ZCI%U;_ui^4 z!TtNtecW&iz=zwryI)d8lqlll<|)8Ora0xy?GkWzGfdK%f9S@fFV{n3#!*#?a!KO0 zea*#*XjG%;DU^+ra}USi0}!P=7Efohbo~Sl|6%us-D6_hP7(=rM3i*BWC{xRNifBT>NXEuY ze(5?yNuZ`Ja`i2HnLQ`9(f~o}@cP7+D&LGty;hSUHVO ury6{9sZ0`9bN{tvzltTuj(I&w{K-??IwbF)&~6+nd;XC#U5IqWX;?C0^a$|k??6Q8B9ugxtceB?Am zsHvHGz1ltxTa%=WI8W#1oCbet|mpqIy~H&VreEVq|YxF-AX z8Sbe6C3-TOd&zn+V3bEJ7Y7e-p+a}@ct@)3rQvLer_(^Sq+wi-f{=iWh+v7HwnRx; zBL^WgKjxgZZgXHY#t?`Yj7N}W&VF5auD5-@C6oOcn08tE(SPecFeJSU4-A}Sp3e^} zBcq~Ev)B))T^M(9j}2EB&8l$>44$n7^!n-7`yvuE_i5>+lj0=v`t2Zu;kGRboP`<@7t|I4M4HGmak5y7+fy z{G#7mgMLkhqp{fj)zZmR#vMO{QQf4N3wN2)QsS6-)Z}{m zbFCL7fcS7(#wRm1!|th*{|Bi+R=-1r)9S6wHDu_hA)`jvg;sB`5AB}Nf6!!_*x^Oi zm#DgQnLcL|N8T)pNLT85NxZ>(^0 zgdX({?ccw5&prk{nTQ9sZVmNmUsZiaXVpa}rDygVK@OPBB+Qiq`lZD58c_};uvI5? zYx~KZ#VAL|Cezdj(}(mQ3hpwKf!#>d&`@_PDOR<94zY8x9@^oaG!n z7T%%#%C+mz7+{oM)0mo;F@DN)lY=}_T}^#h*T{M6ccOgKC0@6}@4h9ABYoT5X((?J z_F;qiCq~ECnP_QDShQbE8Rr|5TF?kzRexyxvbH`U$FJnmlw>!YJ9*UCFJQy2LrA%P z>9Vw_aI>y)?WT2Y{rwJ|y+~qX6E{!p?$YVK{bzE3lxvqS5B2SI{L)o3IquaP=1%L- zU409NvaxDJW^__|-#YdvVdwVkH8v(P!(e2a47g(hAft1d##@)VhXl;sew5dq^m*qF z`uT^f*}RvSV>8v?zTVBh(-ZgyBCgAM3Gv`CP^_V$( zu3QcWn)7-Pl|c#rcJR{u^q`=Fd81NO@R z8n{W*XO2xsh=4)rUN5js7&%_ScI`>pV3o4UWBnEH(#m*hQ_RSHr+|+-g)rA zA@v#<{4`hVc`>D;=v+id+s&JIE7uoX;**)P6B3fln({AZj*X3vX*AJdA<~!E)CYA7 zS-)*Pv?McYRG)sMoC0o9Q`atu+qRr^kSuG3wRk|!*nVT?L%eRD$d2)QfB)&rn2k{a zob&OMXZ0UEhSyCkbpHi`PW6q;$J&O*<`!#&t}&y#-};Sfe7Xi#RF-Hont(2`yR%Qi zd@!3Ex<#h0-gE@zke6Yp9hRBWcgQrd3(#zv-sQ9y4Vs4Xq67Q)w(X(LZ!*~&5RHx<)+Td9 zN!7KBabZ2?Z9WXeENBj578#T~Tq`Y{1zh7|oV;8PdU0{#HG-%L}l>QUyX-v^e zzR$=m4lZ33+vzV2^*0M^Zhh1}aoLX3e5(SKvi{DsGaW-?c4wa!w#pI7-TIFDq>k)1 zw7f}}8wd97)pO)DK-l)xYcnIdE}u8cFTi)n_T2<(;F!r+aC%>;?}taP6$1X(E?ExK zsonuk8%|So{?R=jc1t*3Sk-ttC*JS<)m!$$xg$Ho>DsbkV$;H{M zP8VI$fM8g3!cv!i@n}L!Y-hjFELp z0utjB%-V_pebgN~wQuJe+|DQb{dOT80t4Fmx8JgBo6+XX>N&P|-;p+8m+R7(#E1J2|6*e?8%=2Z z%&}uf_w9onyAyDWX&-JZ98%MnGgo5bQ+zvp5E1fGdYFGmr_Kv@o&yIi9@wW2^|@W& zK(oEGVfX5JA9M=z?V)PZwqut-U*C@J`}p|uAM+Usx6mrQ$!4L|{)3Abhky9rhNkNW z&+U6BM7`&#hRhtNS(r+MqaiFheeK%qLUSXd`-h`HU0M!}M$3smn&}fpsRm611gu}M zIHuEwU3}XFg!*48t*>M53%lvcq3xl5?GEMKM4HX3)~cf->*-b*7{%pzhj#waKm6de zJN36Ns)E{_$tge@)_(i;rHj*JV|9GZ0xdypYy;^VZyr&1?YL_Dv3juDt{Ivdn=x=Y z;0#A}MZ!_Naru}2vArrWU`-`y5xz@y94d2B2_y#OZd)de8Ka6z(i>>?U2i6_r85X# zOXmUU0YL{IvbprLF}=dldX+#mz<9HL%Fr<}Aw52w{IP#<&~05!gUd8_^q4_?`dRsM z1z$53Uw$?xF*c?_TWS}U%w8iWPhE^yvy~hU%tbWnkBoKej+3DTOIx2ea$r*Gu;~!W8;1|ab!vO9{xF{D$^`WnepUngyYXX&PMR=z=JffK#(#`LzL-5`)QH}57A%ZP8AG;=&|9_T zL0yyA@4QGx7i82_+CMe2*WgJwduaRa*iipH`*xDi=g^!xeattiS6)4Iq`{;ujEPF# zu)5Z@^=sy;tuw%t)fX?cbb7RvIV$%oK1Hi3tqML4>&JOkKaQMni_~e_`tW!ls z)Y8>DNKj?*`D1OnB<{ahSafrQ@{^RNuSg{Lh>GB0rLlXMc5>RPlgFafa;~-jVq^_bA2jFhZ zh~aZSpN#^6xacE`E|+gd4InSj{G;^Xpkpoja^k?C#H=ERG-#d1@*-7eU>Dz@PX3{{ zv^os-@;7cNV|mD3YP z4S_d~NC;;^!OeDElh*G!BAV{R2Y>Y0ypUOVe z(>|Wsci;dcTr0#-1_+P=#(DOZ<*JAtUAv`bAI|~AT)VQTN4Jh?>6vp@Wa~)G8lj~< zVzO3mJVibngxFj*v`=EMVN>AUeKB!TT92+~r=4#Q)EwTw^P`YNfR5d%5supUu(%Ct zcB6Ji1=I-}3syThXgLQq^$7A!NY3mvW;R|TYTwMKybJ12To8z^vFplgQ3Fs>iHIP8(l?r?V2+$#9cvlUi<0DtY~%55}kBs98N=B_b&dEK3}M{ zitS5Qq=t2|3gfksg5cmDpUn7zN6Maae1E7<`=eKGpvKK>Hv)8YcJ#~!&RjgW^W9Ei zr*4*88*jyhd@$?FB_@_7;k0a6vLr1rt;xndCZ-I&F$zuAlpG2Vcz5T)9GntX&E^%K zb&H58ZFJ}%OklXKBr7GN_vo387ztff(R$v-P)tumPPo52KYu^ueU*bHMM!EQ9iwU^)IPt zG@7*Y7kud(8h!lib-EA5W$xXxSMPp<8_f=_oo~=3Da06BN(*zM!-L07nq1qc0eUQ1 zJil#V%$0&lSU`(Eo8sf&WncCw_y{$XMLh?P={J0W)6k%;$d8QZo|4hCzL8X5`<`uG zBZ9Bx(=tS6=D@!F2Ehw3m>auxiQl^AD5g(RZF}voe#z;B#}HzgP2+o|2Zu!;IG3X{ z=(lXy)Y(6vCvri%jD$Pz4awgDaur=o3cx@JI zRoCu`Yu6tok+YeFxqM)+ICZ~~V9~*~YhwL7?l^ELzoO#wk*z&KI(-xzTL#0>ro zyGBkNIR(j}>U6U$3WE;7FtKS}b>%5B(VaU5Z8>n3YH^vJ=DG=ENA!pYKYJ+$Jj*$A zG$y>;m`~;rOxO*djTsWsJ?eTeH#%&`>L^OBa3~9pryt?_s0KUR;zDn-JM&(FcTCpJ|CbrSiWPvAZ(-xdL)g~k^`*J?8e#PhG14DXj-G8b{r#*A}WRQPY zOmt?AmY&~3;SLjq4-M7V79Z{6|K5`IhX}rfMcY`|y}N(U-dP%r#$hq9T<~Rhx2^|H z=h9?ms!WRXU$N^bB$)t<9?LLcQaiZ+K=y${Qd$w@U5+3HlI|r>GB16V9&}B|BFvSa zPaF}h9$02(b3+)N=3-&58PRh zHLqW{rcK-S9Rov7T)0eWF=RA8_%WS0x;H8&@}mxIf`fcRLqk_@$~GgKbhzoWPrnEV z4EFK)(ATe>x@W)Q%6e*yLtj{s7Zn}r>l@msbAW$9=M9@N(^?EBW1l|#`VHuBbr`L7 zQ(Roih7EhDE-1CJWTHhhm9=pj}U6R#%KwH0HAKwlM@zH$-jLhmc$_#Ih7fb2> zR(W@sSvM*pYsj$4PzJsvtzR%}Mr5}zE%*WKa@Cvd_2J>FZCg%QY0kxLSlh2xQm>(- ziAB1mNdx+H^b6_`6w*Dk({41<{kU|GJG9AZvFXTBqe9FL!a>cb)#we{YMa%N z-gi`1|4BFpX9A5j(4zv>0)YvWpV&0pZID4CY7`nstG`Y-9KuZZh#@V?rEBwauMk%V zLAE0p^`@HIdWf&dP74K?I;rCpJ2=wNsMqL#)wDKX0J>1C5#Y({#!j3xbQ~cam5ruY z0Xi^iELxMUwyDWzqFbDC%7i9h5AKA^*`#UE)YPFRMk}3?_ZFirps3XbCiB9P#opM| zpt0y>3yBp-Lr-`Bzw8EnqTgb%(E}3>lSNyHGL1Imq|TvfTDy(fL%t5sjNC5NOl<%k z9B}V!^;LBSEh#K~PZY)Fqj?wwdv(30u8DX~L|z*lF)Gx^9bs$FqBZc-@i;|KyO5-j z1<2!UwN#SJ1pieo$B>vAV9lD0_9ksTx-x$1yr{Sgv$fIb)Y6EPC|G&9kX8(lvB^vY z8qp{SmBVJ%>lzv~^k9i>Cp=s|<}*8*2u2gjZOSDqh!lD&_d)!0nQ;Oe|a$ zr;GF#K_(-0qPHSAG0d#wB!EzOMiG7xfdGZHKmv`EZYIVl#Mmux6PQSakPwy8z4P?! zFwJT%!<B&K$E4P6j>{i;1JQRWEkm!*Ppa(|i3sjXY zaB307I|*TBrx2*AgizSW%t^?C!f5tnHlixx0NYbIR5(KS-C6DwUJvNf<vOodpdOQ>v$NcgMvy%~rdP2zn z@2~<)#3L>fMPV0hbI^#O8Pqξ*~wCKFR=orC%Sgx0%+0Sc>BYNM3M?}lk=8xjJ) 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≠^F8%*@l<2Nvhx4xn((uG8~oXtO#Czy1>~;X DMmfp2 literal 0 HcmV?d00001 diff --git a/packages/web/src/app/(payload)/media/groupchats.png b/packages/web/src/app/(payload)/media/groupchats.png new file mode 100644 index 0000000000000000000000000000000000000000..c1a4bf656f8b015da76c79f01d7c41e538521377 GIT binary patch literal 113271 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

&-jc5`pFG6?aj1qqW5(7_6XADH{fcwJyhTf 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ξ*~wCKFR=orC%Sgx0%+0Sc>BYNM3M?}lk=8xjJ) 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≠^F8%*@l<2Nvhx4xn((uG8~oXtO#Czy1>~;X DMmfp2 literal 0 HcmV?d00001 diff --git a/packages/web/src/app/(payload)/media/yesbot-buddy-project-1.webp b/packages/web/src/app/(payload)/media/yesbot-buddy-project-1.webp new file mode 100644 index 0000000000000000000000000000000000000000..6a7b2056d00c7b415d616b620fd7b58e65aec711 GIT binary patch literal 54954 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 ABme*a literal 0 HcmV?d00001 diff --git a/packages/web/src/app/(payload)/media/yesbot-buddy-project.webp b/packages/web/src/app/(payload)/media/yesbot-buddy-project.webp new file mode 100644 index 0000000000000000000000000000000000000000..6a7b2056d00c7b415d616b620fd7b58e65aec711 GIT binary patch literal 54954 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 ABme*a literal 0 HcmV?d00001 diff --git a/packages/cms/src/migrations/20231202_131425.json b/packages/web/src/app/(payload)/migrations/20231202_131425.json similarity index 100% rename from packages/cms/src/migrations/20231202_131425.json rename to packages/web/src/app/(payload)/migrations/20231202_131425.json diff --git a/packages/cms/src/migrations/20231202_131425.ts b/packages/web/src/app/(payload)/migrations/20231202_131425.ts similarity index 100% rename from packages/cms/src/migrations/20231202_131425.ts rename to packages/web/src/app/(payload)/migrations/20231202_131425.ts diff --git a/packages/cms/src/migrations/20231217_141637.json b/packages/web/src/app/(payload)/migrations/20231217_141637.json similarity index 100% rename from packages/cms/src/migrations/20231217_141637.json rename to packages/web/src/app/(payload)/migrations/20231217_141637.json diff --git a/packages/cms/src/migrations/20231217_141637.ts b/packages/web/src/app/(payload)/migrations/20231217_141637.ts similarity index 100% rename from packages/cms/src/migrations/20231217_141637.ts rename to packages/web/src/app/(payload)/migrations/20231217_141637.ts diff --git a/packages/cms/src/migrations/20231223_201544.json b/packages/web/src/app/(payload)/migrations/20231223_201544.json similarity index 100% rename from packages/cms/src/migrations/20231223_201544.json rename to packages/web/src/app/(payload)/migrations/20231223_201544.json diff --git a/packages/cms/src/migrations/20231223_201544.ts b/packages/web/src/app/(payload)/migrations/20231223_201544.ts similarity index 100% rename from packages/cms/src/migrations/20231223_201544.ts rename to packages/web/src/app/(payload)/migrations/20231223_201544.ts diff --git a/packages/cms/src/migrations/20240106_233717.json b/packages/web/src/app/(payload)/migrations/20240106_233717.json similarity index 100% rename from packages/cms/src/migrations/20240106_233717.json rename to packages/web/src/app/(payload)/migrations/20240106_233717.json diff --git a/packages/cms/src/migrations/20240106_233717.ts b/packages/web/src/app/(payload)/migrations/20240106_233717.ts similarity index 100% rename from packages/cms/src/migrations/20240106_233717.ts rename to packages/web/src/app/(payload)/migrations/20240106_233717.ts diff --git a/packages/cms/src/migrations/20240112_181047.json b/packages/web/src/app/(payload)/migrations/20240112_181047.json similarity index 100% rename from packages/cms/src/migrations/20240112_181047.json rename to packages/web/src/app/(payload)/migrations/20240112_181047.json diff --git a/packages/cms/src/migrations/20240112_181047.ts b/packages/web/src/app/(payload)/migrations/20240112_181047.ts similarity index 100% rename from packages/cms/src/migrations/20240112_181047.ts rename to packages/web/src/app/(payload)/migrations/20240112_181047.ts diff --git a/packages/cms/src/migrations/20240127_175425.json b/packages/web/src/app/(payload)/migrations/20240127_175425.json similarity index 100% rename from packages/cms/src/migrations/20240127_175425.json rename to packages/web/src/app/(payload)/migrations/20240127_175425.json diff --git a/packages/cms/src/migrations/20240127_175425.ts b/packages/web/src/app/(payload)/migrations/20240127_175425.ts similarity index 100% rename from packages/cms/src/migrations/20240127_175425.ts rename to packages/web/src/app/(payload)/migrations/20240127_175425.ts diff --git a/packages/web/src/app/(payload)/plugins/externals.ts b/packages/web/src/app/(payload)/plugins/externals.ts new file mode 100644 index 00000000..924eee3c --- /dev/null +++ b/packages/web/src/app/(payload)/plugins/externals.ts @@ -0,0 +1,40 @@ +// import path from 'path'; +// import {type Config} from 'payload/config'; +// +// const externalModules = ['autoprefixer', 'tailwindcss']; +// +// export const externals = (config: Config) => { +// const admin = (config.admin ??= {}); +// const next = admin.vite; +// +// admin.vite = (viteConfig) => { +// const existingAliases = viteConfig?.resolve?.alias ?? []; +// let aliasArray: {find: string | RegExp; replacement: string}[]; +// +// if (Array.isArray(existingAliases)) { +// aliasArray = existingAliases; +// } else { +// aliasArray = Object.values(existingAliases); +// } +// +// const replacements = externalModules.map((m) => ({ +// find: m, +// replacement: path.resolve(__dirname, './mocks/empty.js'), +// })); +// +// aliasArray.push(...replacements); +// aliasArray.push({ +// find: '../lib/auth-strategy', +// replacement: path.resolve(__dirname, './mocks/auth-strategy.js'), +// }); +// +// const merged = { +// ...viteConfig, +// resolve: {...(viteConfig.resolve ?? {}), alias: aliasArray}, +// }; +// +// return next ? next(merged) : merged; +// }; +// +// return config; +// }; diff --git a/packages/cms/src/plugins/mocks/auth-strategy.ts b/packages/web/src/app/(payload)/plugins/mocks/auth-strategy.ts similarity index 100% rename from packages/cms/src/plugins/mocks/auth-strategy.ts rename to packages/web/src/app/(payload)/plugins/mocks/auth-strategy.ts diff --git a/packages/cms/src/plugins/mocks/empty.ts b/packages/web/src/app/(payload)/plugins/mocks/empty.ts similarity index 100% rename from packages/cms/src/plugins/mocks/empty.ts rename to packages/web/src/app/(payload)/plugins/mocks/empty.ts diff --git a/packages/web/src/app/(payload)/plugins/safe-async-endpoints.ts b/packages/web/src/app/(payload)/plugins/safe-async-endpoints.ts new file mode 100644 index 00000000..82407d71 --- /dev/null +++ b/packages/web/src/app/(payload)/plugins/safe-async-endpoints.ts @@ -0,0 +1,38 @@ +// import {type Config, type Endpoint, type PayloadHandler} from 'payload/config'; +// +// const safeAsyncHandler = +// (handler: PayloadHandler): PayloadHandler => +// async (req, res, next) => { +// try { +// // Don't remove await; it's required to properly catch errors here and safely handle them! +// // PayloadHandler is typed as having a return type of void but that's not always actually the case. +// await handler(req, res, next); +// } catch (e) { +// next(e); +// } +// }; +// +// const patchEndpoint = (endpoint: Endpoint): Endpoint => { +// const handler = Array.isArray(endpoint.handler) +// ? endpoint.handler.map(safeAsyncHandler) +// : safeAsyncHandler(endpoint.handler); +// +// return {...endpoint, handler}; +// }; +// +// export const safeAsyncEndpoints = (config: Config) => { +// config.endpoints = config.endpoints?.map(patchEndpoint) ?? []; +// for (const c of config.collections ?? []) { +// if (c.endpoints) { +// c.endpoints = c.endpoints.map(patchEndpoint); +// } +// } +// +// for (const g of config.globals ?? []) { +// if (g.endpoints) { +// g.endpoints = g.endpoints.map(patchEndpoint); +// } +// } +// +// return config; +// }; diff --git a/packages/web/src/app/(payload)/plugins/tailwind.ts b/packages/web/src/app/(payload)/plugins/tailwind.ts new file mode 100644 index 00000000..3b95590f --- /dev/null +++ b/packages/web/src/app/(payload)/plugins/tailwind.ts @@ -0,0 +1,23 @@ +// import autoprefixer from 'autoprefixer'; +// import {type Config} from 'payload/config'; +// import tailwindcss from 'tailwindcss'; +// +// import '../styles/tailwind.css'; +// +// export const tailwind = (config: Config) => { +// const admin = (config.admin ??= {}); +// const next = admin.vite; +// admin.vite = (viteConfig) => { +// viteConfig.css ??= {}; +// viteConfig.css.postcss ??= {}; +// if (typeof viteConfig.css.postcss === 'object') { +// viteConfig.css.postcss.plugins ??= []; +// viteConfig.css.postcss.plugins.push(tailwindcss); +// viteConfig.css.postcss.plugins.push(autoprefixer); +// } +// +// return next ? next(viteConfig) : viteConfig; +// }; +// +// return config; +// }; diff --git a/packages/cms/src/styles/tailwind.css b/packages/web/src/app/(payload)/styles/tailwind.css similarity index 100% rename from packages/cms/src/styles/tailwind.css rename to packages/web/src/app/(payload)/styles/tailwind.css diff --git a/packages/cms/src/utils/ensure-db-exists.ts b/packages/web/src/app/(payload)/utils/ensure-db-exists.ts similarity index 93% rename from packages/cms/src/utils/ensure-db-exists.ts rename to packages/web/src/app/(payload)/utils/ensure-db-exists.ts index 0f3769cb..16376a95 100644 --- a/packages/cms/src/utils/ensure-db-exists.ts +++ b/packages/web/src/app/(payload)/utils/ensure-db-exists.ts @@ -2,7 +2,7 @@ import {Client} from 'pg'; import {parse} from 'pg-connection-string'; export const ensureDbExists = async () => { - const uri = process.env.DATABASE_URI; + const uri = process.env.DATABASE_URI ?? ''; const {database, user, password, host, port} = parse(uri); const postgresUri = `postgres://${user}:${password}@${host}:${port}/postgres`; diff --git a/packages/cms/src/utils/merge-queries.ts b/packages/web/src/app/(payload)/utils/merge-queries.ts similarity index 66% rename from packages/cms/src/utils/merge-queries.ts rename to packages/web/src/app/(payload)/utils/merge-queries.ts index ffc9aa38..ed5d2e19 100644 --- a/packages/cms/src/utils/merge-queries.ts +++ b/packages/web/src/app/(payload)/utils/merge-queries.ts @@ -1,19 +1,23 @@ -import type express from 'express'; import type * as GraphQL from 'graphql'; -import {type Payload} from 'payload'; +import {type GraphQLFieldResolver} from 'graphql'; +import {type Config} from 'payload/config'; import {type PayloadRequest} from 'payload/types'; +type GraphQLExtension = NonNullable['queries']>; +type GraphQLExtensionContext = Parameters[1]; + export type QueryFactory = ( graphql: typeof GraphQL, - payload: Payload, + context: GraphQLExtensionContext, ) => { type?: GraphQL.GraphQLType; args: Record; - resolve: ( - before: unknown, - args: TResolvedArgs, - context: {req: PayloadRequest; res: express.Response}, - ) => Promise | TResult; + resolve: GraphQLFieldResolver< + unknown, + {req: PayloadRequest}, + TResolvedArgs, + TResult | Promise + >; }; /** @@ -40,14 +44,14 @@ export type QueryFactory = ( export const mergeQueries = ( queryFactories: Record>, - ) => - (graphql: typeof GraphQL, payload: Payload) => { + ): GraphQLExtension => + (graphql, context) => { const queries: { [key: string]: ReturnType>; } = {}; for (const [name, factory] of Object.entries(queryFactories)) { - queries[name] = factory(graphql, payload); + queries[name] = factory(graphql, context); } return queries; diff --git a/packages/web/src/app/my-route/route.ts b/packages/web/src/app/my-route/route.ts new file mode 100644 index 00000000..a6422f37 --- /dev/null +++ b/packages/web/src/app/my-route/route.ts @@ -0,0 +1,14 @@ +import configPromise from '@payload-config' +import { getPayload } from 'payload' + +export const GET = async () => { + const payload = await getPayload({ + config: configPromise, + }) + + const data = await payload.find({ + collection: 'users', + }) + + return Response.json(data) +} diff --git a/packages/web/src/collections/Users.ts b/packages/web/src/collections/Users.ts new file mode 100644 index 00000000..96a8831d --- /dev/null +++ b/packages/web/src/collections/Users.ts @@ -0,0 +1,13 @@ +import type { CollectionConfig } from 'payload/types' + +export const Users: CollectionConfig = { + slug: 'users', + admin: { + useAsTitle: 'email', + }, + auth: true, + fields: [ + // Email added by default + // Add more fields as needed + ], +} diff --git a/packages/cms/src/payload-types.ts b/packages/web/src/payload-types.ts similarity index 68% rename from packages/cms/src/payload-types.ts rename to packages/web/src/payload-types.ts index 11af5e03..f2c7315d 100644 --- a/packages/cms/src/payload-types.ts +++ b/packages/web/src/payload-types.ts @@ -17,37 +17,48 @@ export interface Config { 'payload-migrations': PayloadMigration; }; globals: {}; + locale: null; + user: User & { + collection: 'users'; + }; } +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "users". + */ export interface User { id: string; - roles?: ('owner' | 'groupchats-admin' | 'groupchats')[] | null; + roles: ('owner' | 'groupchats-admin' | 'groupchats')[]; updatedAt: string; createdAt: string; enableAPIKey?: boolean | null; apiKey?: string | null; apiKeyIndex?: string | null; } +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "media". + */ export interface Media { id: number; updatedAt: string; createdAt: string; url?: string | null; + thumbnailURL?: string | null; filename?: string | null; mimeType?: string | null; filesize?: number | null; width?: number | null; height?: number | null; } +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "groupchats". + */ export interface Groupchat { id: number; name: string; - platform: - | 'discord' - | 'facebook' - | 'instagram' - | 'signal' - | 'telegram' - | 'whatsapp'; + platform: 'discord' | 'facebook' | 'instagram' | 'signal' | 'telegram' | 'whatsapp'; showUnauthenticated?: boolean | null; description?: string | null; url: string; @@ -57,12 +68,20 @@ export interface Groupchat { updatedAt: string; createdAt: string; } +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "groupchat-keywords". + */ export interface GroupchatKeyword { id: number; value?: string | null; updatedAt: string; createdAt: string; } +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "feature". + */ export interface Feature { id: number; name: string; @@ -74,6 +93,10 @@ export interface Feature { updatedAt: string; createdAt: string; } +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "payload-preferences". + */ export interface PayloadPreference { id: number; user: { @@ -93,6 +116,10 @@ export interface PayloadPreference { updatedAt: string; createdAt: string; } +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "payload-migrations". + */ export interface PayloadMigration { id: number; name?: string | null; @@ -101,6 +128,7 @@ export interface PayloadMigration { createdAt: string; } + declare module 'payload' { export interface GeneratedTypes extends Config {} -} +} \ No newline at end of file diff --git a/packages/web/src/payload.config.ts b/packages/web/src/payload.config.ts new file mode 100644 index 00000000..e290ab10 --- /dev/null +++ b/packages/web/src/payload.config.ts @@ -0,0 +1,59 @@ +import path from 'path'; +import {fileURLToPath} from 'url'; +import {postgresAdapter} from '@payloadcms/db-postgres'; +import {slateEditor} from '@payloadcms/richtext-slate'; +import {buildConfig, type Config} from 'payload/config'; +import sharp from 'sharp'; +import {Features} from './app/(payload)/collections/features'; +import {GroupchatKeywords} from './app/(payload)/collections/groupchat-keywords'; +import {Groupchats} from './app/(payload)/collections/groupchats'; +import {Media} from './app/(payload)/collections/media'; +import {Users} from './app/(payload)/collections/users'; +import {AfterLogin} from './app/(payload)/components/after-login/after-login'; +import {mimicUserOperationMutation} from './app/(payload)/graphql/mutations/mimic-user-operation'; +import {groupchatSearchTokenQuery} from './app/(payload)/graphql/queries/groupchat-search-token'; +import {mayOperateQuery} from './app/(payload)/graphql/queries/may-operate'; +import {ensureDbExists} from './app/(payload)/utils/ensure-db-exists'; +import {mergeQueries} from './app/(payload)/utils/merge-queries'; + +// TODO port init to `onInit` +const filename = fileURLToPath(import.meta.url); +const dirname = path.dirname(filename); + +const config: Config = { + admin: { + user: Users.slug, + components: { + afterLogin: [AfterLogin], + }, + }, + onInit: async () => { + await ensureDbExists(); + }, + editor: slateEditor({}), + collections: [Users, Media, Groupchats, GroupchatKeywords, Features], + db: postgresAdapter({ + migrationDir: path.resolve(dirname, 'migrations'), + pool: {connectionString: process.env.DATABASE_URI}, + }), + typescript: { + outputFile: path.resolve(dirname, 'payload-types.ts'), + }, + secret: process.env.PAYLOAD_SECRET || '', + graphQL: { + // queries: mergeQueries({ + // groupchatSearchToken: groupchatSearchTokenQuery, + // mayOperate: mayOperateQuery, + // }), + // mutations: mergeQueries({ + // mimicUserOperation: mimicUserOperationMutation, + // }), + }, + serverURL: process.env.SERVER_URL, + sharp, +}; + +// TODO check if there is any response in the Payload Discord +// TODO upgrade to next@14.3.0-canary.28 + +export default buildConfig(config); diff --git a/packages/web/tsconfig.json b/packages/web/tsconfig.json index bdd6c1b3..aad05082 100644 --- a/packages/web/tsconfig.json +++ b/packages/web/tsconfig.json @@ -10,7 +10,7 @@ "noEmit": true, "esModuleInterop": true, "module": "esnext", - "moduleResolution": "node", + "moduleResolution": "bundler", "resolveJsonModule": true, "isolatedModules": true, "jsx": "preserve", @@ -20,7 +20,10 @@ "name": "next" } ], - "baseUrl": "src" + "baseUrl": "src", + "paths": { + "@payload-config": ["./payload.config.ts"] + } }, "include": [ "next-env.d.ts", diff --git a/yarn.lock b/yarn.lock index c97c13fb..0720903d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -401,7 +401,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.12.3, @babel/core@npm:^7.14.0, @babel/core@npm:^7.18.9, @babel/core@npm:^7.22.9, @babel/core@npm:^7.23.0, @babel/core@npm:^7.23.2, @babel/core@npm:^7.23.3, @babel/core@npm:^7.23.9": +"@babel/core@npm:^7.12.3, @babel/core@npm:^7.14.0, @babel/core@npm:^7.18.9, @babel/core@npm:^7.22.9, @babel/core@npm:^7.23.0, @babel/core@npm:^7.23.2, @babel/core@npm:^7.23.9": version: 7.24.5 resolution: "@babel/core@npm:7.24.5" dependencies: @@ -1539,28 +1539,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-self@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-react-jsx-self@npm:7.23.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.22.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 882bf56bc932d015c2d83214133939ddcf342e5bcafa21f1a93b19f2e052145115e1e0351730897fd66e5f67cad7875b8a8d81ceb12b6e2a886ad0102cb4eb1f - languageName: node - linkType: hard - -"@babel/plugin-transform-react-jsx-source@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-react-jsx-source@npm:7.23.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.22.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 92287fb797e522d99bdc77eaa573ce79ff0ad9f1cf4e7df374645e28e51dce0adad129f6f075430b129b5bac8dad843f65021970e12e992d6d6671f0d65bb1e0 - languageName: node - linkType: hard - "@babel/plugin-transform-react-jsx@npm:^7.0.0, @babel/plugin-transform-react-jsx@npm:^7.22.15, @babel/plugin-transform-react-jsx@npm:^7.22.5": version: 7.22.15 resolution: "@babel/plugin-transform-react-jsx@npm:7.22.15" @@ -1913,7 +1891,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.14.5, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.19.0, @babel/runtime@npm:^7.20.6, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.24.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.24.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": version: 7.24.5 resolution: "@babel/runtime@npm:7.24.5" dependencies: @@ -2015,27 +1993,6 @@ __metadata: languageName: node linkType: hard -"@date-io/core@npm:^2.16.0": - version: 2.16.0 - resolution: "@date-io/core@npm:2.16.0" - checksum: 403619ee90a124e2123d70214e95bb9525158a7f5344d266a77adaf6db0b4c8d01d221afeba029266c84fe7162cda32405cd29263a45a0c476062061edb371b3 - languageName: node - linkType: hard - -"@date-io/date-fns@npm:2.16.0": - version: 2.16.0 - resolution: "@date-io/date-fns@npm:2.16.0" - dependencies: - "@date-io/core": "npm:^2.16.0" - peerDependencies: - date-fns: ^2.0.0 - peerDependenciesMeta: - date-fns: - optional: true - checksum: f43eb490f15abe585d59436026a092e54933b91f6177d18eafe29fde5a08fa560c7064dd1059ef3526555f26c0dbac67afaf3ca8dfd95549f3ef5114c9880768 - languageName: node - linkType: hard - "@discordjs/builders@npm:^1.7.0": version: 1.7.0 resolution: "@discordjs/builders@npm:1.7.0" @@ -2867,9 +2824,9 @@ __metadata: languageName: node linkType: hard -"@faceless-ui/modal@npm:2.0.1": - version: 2.0.1 - resolution: "@faceless-ui/modal@npm:2.0.1" +"@faceless-ui/modal@npm:2.0.2": + version: 2.0.2 + resolution: "@faceless-ui/modal@npm:2.0.2" dependencies: body-scroll-lock: "npm:^3.1.5" focus-trap: "npm:^6.9.2" @@ -2878,7 +2835,7 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 1f71bb17a5ad24cb7391e20e0e5cdb6d578e9f975641d9541cbe0ce62edf798728187d4ac6b52d35bd53f0f179f986a7e6a4e8b00ef64c13b4307b8d683c66f2 + checksum: 9f3a05d247b55bb2fc0a02a1268c22f6227ace21cf7f43d839d859bbe8b615bba92e52211ffb17458b628bf461c122bb86e8c136e311b4d835fc08dcca84e842 languageName: node linkType: hard @@ -2892,13 +2849,13 @@ __metadata: languageName: node linkType: hard -"@faceless-ui/window-info@npm:2.1.1": - version: 2.1.1 - resolution: "@faceless-ui/window-info@npm:2.1.1" +"@faceless-ui/window-info@npm:2.1.2": + version: 2.1.2 + resolution: "@faceless-ui/window-info@npm:2.1.2" peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: aaf4ffba439bc3b7e14ce056134d9f97e6b3d109d32a470d2fc3b459d884584b3a383b4b8ebd6e83383a2c4e9a5e4db73639217fd2b27cffba4161b1275f9ba3 + checksum: b8a996d52e4c2c1cf480aa79d051acaf48e874f65dced400b89fcf6c22ede4b460e8fd5c506715f39d63eda071b5f8c70b509f3755e7fac84822ec392ac4278a languageName: node linkType: hard @@ -2947,6 +2904,20 @@ __metadata: languageName: node linkType: hard +"@floating-ui/react@npm:^0.26.2": + version: 0.26.13 + resolution: "@floating-ui/react@npm:0.26.13" + dependencies: + "@floating-ui/react-dom": "npm:^2.0.0" + "@floating-ui/utils": "npm:^0.2.0" + tabbable: "npm:^6.0.0" + peerDependencies: + react: ">=16.8.0" + react-dom: ">=16.8.0" + checksum: f3314c3efd73d42e6a749f31f3d8deffc9b3738c5ea516cc215c0d77ead32b52bfddcc47f17703acad9794bfec090e5d65154111735fcb45c27ec6aca0b5e119 + languageName: node + linkType: hard + "@floating-ui/utils@npm:^0.1.3": version: 0.1.6 resolution: "@floating-ui/utils@npm:0.1.6" @@ -2954,6 +2925,13 @@ __metadata: languageName: node linkType: hard +"@floating-ui/utils@npm:^0.2.0": + version: 0.2.2 + resolution: "@floating-ui/utils@npm:0.2.2" + checksum: 28d900d2f0876b40c7090f55724700eeac608862e59110b7b14731223218cf7ce125b2091f34103edf4b0f779166151bbca21256b856236235a2be996548ed38 + languageName: node + linkType: hard + "@fontsource/roboto@npm:^5.0.13": version: 5.0.13 resolution: "@fontsource/roboto@npm:5.0.13" @@ -3816,14 +3794,14 @@ __metadata: languageName: node linkType: hard -"@hapi/hoek@npm:^9.0.0": +"@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0": version: 9.3.0 resolution: "@hapi/hoek@npm:9.3.0" checksum: ad83a223787749f3873bce42bd32a9a19673765bf3edece0a427e138859ff729469e68d5fdf9ff6bbee6fb0c8e21bab61415afa4584f527cfc40b59ea1957e70 languageName: node linkType: hard -"@hapi/topo@npm:^5.0.0": +"@hapi/topo@npm:^5.1.0": version: 5.1.0 resolution: "@hapi/topo@npm:5.1.0" dependencies: @@ -4142,7 +4120,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.9": +"@jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.25 resolution: "@jridgewell/trace-mapping@npm:0.3.25" dependencies: @@ -4188,50 +4166,60 @@ __metadata: languageName: node linkType: hard -"@libsql/client@npm:^0.3.1": - version: 0.3.6 - resolution: "@libsql/client@npm:0.3.6" +"@libsql/client@npm:^0.5.2": + version: 0.5.6 + resolution: "@libsql/client@npm:0.5.6" + dependencies: + "@libsql/core": "npm:^0.5.6" + "@libsql/hrana-client": "npm:^0.5.6" + js-base64: "npm:^3.7.5" + libsql: "npm:^0.3.10" + checksum: 8113cd888a6287a27808e803d02d0e56471f30955d7f058fd26eede7d3554890b518b6f1f2afa417f0da8453c90c44a6f67fd4cd79e806fff5bd7daa18792a49 + languageName: node + linkType: hard + +"@libsql/core@npm:^0.5.6": + version: 0.5.6 + resolution: "@libsql/core@npm:0.5.6" dependencies: - "@libsql/hrana-client": "npm:^0.5.5" js-base64: "npm:^3.7.5" - libsql: "npm:^0.1.28" - checksum: 112daacffe4f643ef323373f5ae3bfd384b9338cdae1cb8ff2af27fa2a3e9aa2838d4f6b662c7a7be0bc372cbef9d187afa04300e912be11fbea0bbab0cb3bcd + checksum: a6a19181f67bd49fd5bf1b974a6f68afd8da38e83d4b09fc588cbf22ae8018f5a3547b13a5fe1bf14d4c8015f91c7bf48f4a3403159bf975e39261406ded640a languageName: node linkType: hard -"@libsql/darwin-arm64@npm:0.1.34": - version: 0.1.34 - resolution: "@libsql/darwin-arm64@npm:0.1.34" +"@libsql/darwin-arm64@npm:0.3.18": + version: 0.3.18 + resolution: "@libsql/darwin-arm64@npm:0.3.18" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@libsql/darwin-x64@npm:0.1.34": - version: 0.1.34 - resolution: "@libsql/darwin-x64@npm:0.1.34" +"@libsql/darwin-x64@npm:0.3.18": + version: 0.3.18 + resolution: "@libsql/darwin-x64@npm:0.3.18" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@libsql/hrana-client@npm:^0.5.5": - version: 0.5.5 - resolution: "@libsql/hrana-client@npm:0.5.5" +"@libsql/hrana-client@npm:^0.5.6": + version: 0.5.6 + resolution: "@libsql/hrana-client@npm:0.5.6" dependencies: - "@libsql/isomorphic-fetch": "npm:^0.1.10" + "@libsql/isomorphic-fetch": "npm:^0.1.12" "@libsql/isomorphic-ws": "npm:^0.1.5" js-base64: "npm:^3.7.5" node-fetch: "npm:^3.3.2" - checksum: f44551f931a4f32c2df5dfe5dfafb49a9f08b47c22124a2af0dcfda784510c1689bd02dcdef3494f65e9eb7692c03b0f9629ca2ace66719f47d91440be86aa00 + checksum: 8639267648db60bc9166bfd2debe2a4dc74834cc1c0e51c5dbdf6f95b7fb8abac575a604aa1a1cd9488795c56a02370bc984fa5f50c972adf4f55092510d9d5c languageName: node linkType: hard -"@libsql/isomorphic-fetch@npm:^0.1.10": - version: 0.1.10 - resolution: "@libsql/isomorphic-fetch@npm:0.1.10" +"@libsql/isomorphic-fetch@npm:^0.1.12": + version: 0.1.12 + resolution: "@libsql/isomorphic-fetch@npm:0.1.12" dependencies: - "@types/node-fetch": "npm:^2.2.6" - node-fetch: "npm:^2.6.12" - checksum: 672a3ffbbab45b6020fe1dac5bb668c6799111f46044817668e9ccf567d69638185c85f5e22d1811cc3e7f14d869575cdf5a04995fc55bdf4f5f7ca01fcd8a42 + "@types/node-fetch": "npm:^2.6.11" + node-fetch: "npm:^2.7.0" + checksum: 83ea5c6b8b7b9519619d6bf56abc9ab0ced3257023d8a3aa6feaf5df76e705ca5b65381f33f293ea87f1543b03347c1994bb6172957e32e6ea4def03d9a5210e languageName: node linkType: hard @@ -4245,37 +4233,37 @@ __metadata: languageName: node linkType: hard -"@libsql/linux-arm64-gnu@npm:0.1.34": - version: 0.1.34 - resolution: "@libsql/linux-arm64-gnu@npm:0.1.34" +"@libsql/linux-arm64-gnu@npm:0.3.18": + version: 0.3.18 + resolution: "@libsql/linux-arm64-gnu@npm:0.3.18" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@libsql/linux-arm64-musl@npm:0.1.34": - version: 0.1.34 - resolution: "@libsql/linux-arm64-musl@npm:0.1.34" +"@libsql/linux-arm64-musl@npm:0.3.18": + version: 0.3.18 + resolution: "@libsql/linux-arm64-musl@npm:0.3.18" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@libsql/linux-x64-gnu@npm:0.1.34": - version: 0.1.34 - resolution: "@libsql/linux-x64-gnu@npm:0.1.34" +"@libsql/linux-x64-gnu@npm:0.3.18": + version: 0.3.18 + resolution: "@libsql/linux-x64-gnu@npm:0.3.18" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@libsql/linux-x64-musl@npm:0.1.34": - version: 0.1.34 - resolution: "@libsql/linux-x64-musl@npm:0.1.34" +"@libsql/linux-x64-musl@npm:0.3.18": + version: 0.3.18 + resolution: "@libsql/linux-x64-musl@npm:0.3.18" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@libsql/win32-x64-msvc@npm:0.1.34": - version: 0.1.34 - resolution: "@libsql/win32-x64-msvc@npm:0.1.34" +"@libsql/win32-x64-msvc@npm:0.3.18": + version: 0.3.18 + resolution: "@libsql/win32-x64-msvc@npm:0.3.18" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -4488,59 +4476,259 @@ __metadata: languageName: node linkType: hard -"@payloadcms/bundler-vite@npm:^0.1.7": - version: 0.1.7 - resolution: "@payloadcms/bundler-vite@npm:0.1.7" - dependencies: - "@rollup/plugin-image": "npm:^3.0.2" - "@vitejs/plugin-react": "npm:^4.0.4" - compression: "npm:1.7.4" - connect-history-api-fallback: "npm:1.6.0" - get-port: "npm:5.1.1" - path-browserify: "npm:1.0.1" - vite: "npm:^4.4.9" - vite-plugin-virtual: "npm:^0.2.0" - peerDependencies: - payload: ^2.0.0 - react-dom: ^18.0.0 - checksum: 7bc2911fd83a2bfb418172f03318a99fa1cd8bb2b4c53fa0c9fd4b0e18ffab08e1fca40e80134283c6de1ce591977cd4388889114d582f638d0154556a7af585 +"@parcel/watcher-android-arm64@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-android-arm64@npm:2.4.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-darwin-arm64@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-darwin-arm64@npm:2.4.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-darwin-x64@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-darwin-x64@npm:2.4.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher-freebsd-x64@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-freebsd-x64@npm:2.4.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm-glibc@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-linux-arm-glibc@npm:2.4.1" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm64-glibc@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.4.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm64-musl@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-linux-arm64-musl@npm:2.4.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-linux-x64-glibc@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-linux-x64-glibc@npm:2.4.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-x64-musl@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-linux-x64-musl@npm:2.4.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-win32-arm64@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-win32-arm64@npm:2.4.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-win32-ia32@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-win32-ia32@npm:2.4.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@parcel/watcher-win32-x64@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-win32-x64@npm:2.4.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher@npm:^2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher@npm:2.4.1" + dependencies: + "@parcel/watcher-android-arm64": "npm:2.4.1" + "@parcel/watcher-darwin-arm64": "npm:2.4.1" + "@parcel/watcher-darwin-x64": "npm:2.4.1" + "@parcel/watcher-freebsd-x64": "npm:2.4.1" + "@parcel/watcher-linux-arm-glibc": "npm:2.4.1" + "@parcel/watcher-linux-arm64-glibc": "npm:2.4.1" + "@parcel/watcher-linux-arm64-musl": "npm:2.4.1" + "@parcel/watcher-linux-x64-glibc": "npm:2.4.1" + "@parcel/watcher-linux-x64-musl": "npm:2.4.1" + "@parcel/watcher-win32-arm64": "npm:2.4.1" + "@parcel/watcher-win32-ia32": "npm:2.4.1" + "@parcel/watcher-win32-x64": "npm:2.4.1" + detect-libc: "npm:^1.0.3" + is-glob: "npm:^4.0.3" + micromatch: "npm:^4.0.5" + node-addon-api: "npm:^7.0.0" + node-gyp: "npm:latest" + dependenciesMeta: + "@parcel/watcher-android-arm64": + optional: true + "@parcel/watcher-darwin-arm64": + optional: true + "@parcel/watcher-darwin-x64": + optional: true + "@parcel/watcher-freebsd-x64": + optional: true + "@parcel/watcher-linux-arm-glibc": + optional: true + "@parcel/watcher-linux-arm64-glibc": + optional: true + "@parcel/watcher-linux-arm64-musl": + optional: true + "@parcel/watcher-linux-x64-glibc": + optional: true + "@parcel/watcher-linux-x64-musl": + optional: true + "@parcel/watcher-win32-arm64": + optional: true + "@parcel/watcher-win32-ia32": + optional: true + "@parcel/watcher-win32-x64": + optional: true + checksum: c163dff1828fa249c00f24931332dea5a8f2fcd1bfdd0e304ccdf7619c58bff044526fa39241fd2121d2a2141f71775ce3117450d78c4df3070d152282017644 languageName: node linkType: hard -"@payloadcms/db-postgres@npm:^0.8.2": - version: 0.8.2 - resolution: "@payloadcms/db-postgres@npm:0.8.2" +"@payloadcms/db-postgres@npm:^3.0.0-beta.25": + version: 3.0.0-beta.25 + resolution: "@payloadcms/db-postgres@npm:3.0.0-beta.25" dependencies: - "@libsql/client": "npm:^0.3.1" + "@libsql/client": "npm:^0.5.2" console-table-printer: "npm:2.11.2" drizzle-kit: "npm:0.20.14-1f2c838" - drizzle-orm: "npm:0.29.3" + drizzle-orm: "npm:0.29.4" pg: "npm:8.11.3" prompts: "npm:2.4.2" to-snake-case: "npm:1.0.0" uuid: "npm:9.0.0" peerDependencies: - payload: ^2.0.0 - checksum: c840e645361b0201059c50978d834c26b9c792758aed2ec59b28cde72d5b9f4dc66576b65dbdf511c7e25e43a9db6ee1cffd470cf20572ebfbf6b87996b84b62 + payload: 3.0.0-beta.25 + checksum: 90a74389df0c94a00d3942f6a3d592ec1c35ad253b15b89d942138c8bbc0edd85e1605d0ec3a0768beba0c64f19eb3be4b239ab35eab6c02bf3403db8f83282e languageName: node linkType: hard -"@payloadcms/richtext-slate@npm:^1.5.1": - version: 1.5.1 - resolution: "@payloadcms/richtext-slate@npm:1.5.1" +"@payloadcms/graphql@npm:3.0.0-beta.25": + version: 3.0.0-beta.25 + resolution: "@payloadcms/graphql@npm:3.0.0-beta.25" + dependencies: + graphql-scalars: "npm:1.22.2" + pluralize: "npm:8.0.0" + ts-essentials: "npm:7.0.3" + peerDependencies: + graphql: ^16.8.1 + payload: 3.0.0-beta.25 + checksum: 589236d448f25eab3ed823bc1faccce8d11ba2a141063800ab107354e3814e05d9e93a68b6dcdcfe49e7c176b83fc0acdfa007ed16d010943d93aaa3e8346039 + languageName: node + linkType: hard + +"@payloadcms/next@npm:^3.0.0-beta.25": + version: 3.0.0-beta.25 + resolution: "@payloadcms/next@npm:3.0.0-beta.25" + dependencies: + "@dnd-kit/core": "npm:6.0.8" + "@payloadcms/graphql": "npm:3.0.0-beta.25" + "@payloadcms/translations": "npm:3.0.0-beta.25" + "@payloadcms/ui": "npm:3.0.0-beta.25" + "@types/busboy": "npm:^1.5.3" + busboy: "npm:^1.6.0" + deep-equal: "npm:2.2.2" + file-type: "npm:19.0.0" + graphql-http: "npm:^1.22.0" + graphql-playground-html: "npm:1.6.30" + http-status: "npm:1.6.2" + path-to-regexp: "npm:^6.2.1" + qs: "npm:6.11.2" + react-diff-viewer-continued: "npm:3.2.6" + react-toastify: "npm:8.2.0" + sass: "npm:^1.71.1" + ws: "npm:^8.16.0" + peerDependencies: + graphql: ^16.8.1 + next: ^14.3.0-canary.7 + payload: 3.0.0-beta.25 + checksum: 16496682a8443d9b332a9de0567c78917ab717a04efe5cab6608d6c6929136cef18bdf2dde3806ad886ca51c10be9ac605db3ca78b8d0930da71a0602aa4e940 + languageName: node + linkType: hard + +"@payloadcms/richtext-slate@npm:^3.0.0-beta.25": + version: 3.0.0-beta.25 + resolution: "@payloadcms/richtext-slate@npm:3.0.0-beta.25" dependencies: - "@faceless-ui/modal": "npm:2.0.1" - i18next: "npm:22.5.1" + "@faceless-ui/modal": "npm:2.0.2" is-hotkey: "npm:0.2.0" - react-i18next: "npm:11.18.6" slate: "npm:0.91.4" slate-history: "npm:0.86.0" slate-hyperscript: "npm:0.81.3" slate-react: "npm:0.92.0" peerDependencies: - payload: ^2.3.0 + "@payloadcms/translations": 3.0.0-beta.25 + "@payloadcms/ui": 3.0.0-beta.25 + payload: 3.0.0-beta.25 react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: b5192c7dd266901207b83a8ef4a53686c9389cba1a03e0e5bcdc2ffb4fd1641660412d8a2f7b13b526c833ae0dc5f89b6a818fe228e262e3dd8d87846864f6fa + checksum: 18302f705d8f308f8989d142832f2204470bffe466ef7f5e9722fbefe66f9096abab7eeaa555f9e9332d9601dae501c2a5ee249cc5d5e910e7aad33687b485a0 + languageName: node + linkType: hard + +"@payloadcms/translations@npm:3.0.0-beta.25": + version: 3.0.0-beta.25 + resolution: "@payloadcms/translations@npm:3.0.0-beta.25" + checksum: 94add7e44c55bb56bc21761a3ec15180e0222be7c36420d27c5ce3e22cc21c381cfae739d657eb4085b9f1cf5ce71979a472e613af9653d566595ba895f14018 + languageName: node + linkType: hard + +"@payloadcms/ui@npm:3.0.0-beta.25": + version: 3.0.0-beta.25 + resolution: "@payloadcms/ui@npm:3.0.0-beta.25" + dependencies: + "@dnd-kit/core": "npm:6.0.8" + "@dnd-kit/sortable": "npm:7.0.2" + "@faceless-ui/modal": "npm:2.0.2" + "@faceless-ui/scroll-info": "npm:1.3.0" + "@faceless-ui/window-info": "npm:2.1.2" + "@monaco-editor/react": "npm:4.5.1" + "@payloadcms/translations": "npm:3.0.0-beta.25" + body-scroll-lock: "npm:4.0.0-beta.0" + bson-objectid: "npm:2.0.4" + date-fns: "npm:3.3.1" + deep-equal: "npm:2.2.2" + flatley: "npm:5.2.0" + md5: "npm:2.3.0" + object-to-formdata: "npm:4.5.1" + qs: "npm:6.11.2" + react-animate-height: "npm:2.1.2" + react-datepicker: "npm:6.2.0" + react-image-crop: "npm:10.1.8" + react-select: "npm:5.7.4" + react-toastify: "npm:10.0.4" + use-context-selector: "npm:1.4.1" + uuid: "npm:9.0.1" + peerDependencies: + next: ^14.3.0-canary.7 + payload: 3.0.0-beta.25 + react: ^18.0.0 + react-dom: ^18.0.0 + checksum: 7ed9d2696aec92a077d15759ff796fe141217b4c4b4472e4fd134a84303e2bd2082d458957bffac9ddc78b32d5329d4f1043070076277c9affa208741284adbd languageName: node linkType: hard @@ -4641,13 +4829,6 @@ __metadata: languageName: node linkType: hard -"@popperjs/core@npm:^2.11.8": - version: 2.11.8 - resolution: "@popperjs/core@npm:2.11.8" - checksum: ddd16090cde777aaf102940f05d0274602079a95ad9805bd20bc55dcc7c3a2ba1b99dd5c73e5cc2753c3d31250ca52a67d58059459d7d27debb983a9f552936c - languageName: node - linkType: hard - "@posva/prompts@npm:^2.4.4": version: 2.4.4 resolution: "@posva/prompts@npm:2.4.4" @@ -5433,37 +5614,6 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-image@npm:^3.0.2": - version: 3.0.3 - resolution: "@rollup/plugin-image@npm:3.0.3" - dependencies: - "@rollup/pluginutils": "npm:^5.0.1" - mini-svg-data-uri: "npm:^1.4.4" - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - checksum: 30363d50c3d43fc35add135ce1b9591a69f378d696829724ce229e7c78ed00bc646280c150bd4b872d9359aeee656fae7107876c802dd7374aa71e21cb0af371 - languageName: node - linkType: hard - -"@rollup/pluginutils@npm:^5.0.1": - version: 5.1.0 - resolution: "@rollup/pluginutils@npm:5.1.0" - dependencies: - "@types/estree": "npm:^1.0.0" - estree-walker: "npm:^2.0.2" - picomatch: "npm:^2.3.1" - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - checksum: abb15eaec5b36f159ec351b48578401bedcefdfa371d24a914cfdbb1e27d0ebfbf895299ec18ccc343d247e71f2502cba21202bc1362d7ef27d5ded699e5c2b2 - languageName: node - linkType: hard - "@rushstack/eslint-patch@npm:^1.3.3": version: 1.5.1 resolution: "@rushstack/eslint-patch@npm:1.5.1" @@ -5495,12 +5645,12 @@ __metadata: languageName: node linkType: hard -"@sideway/address@npm:^4.1.3": - version: 4.1.4 - resolution: "@sideway/address@npm:4.1.4" +"@sideway/address@npm:^4.1.5": + version: 4.1.5 + resolution: "@sideway/address@npm:4.1.5" dependencies: "@hapi/hoek": "npm:^9.0.0" - checksum: 48c422bd2d1d1c7bff7e834f395b870a66862125e9f2302f50c781a33e9f4b2b004b4db0003b232899e71c5f649d39f34aa6702a55947145708d7689ae323cc5 + checksum: c4c73ac0339504f34e016d3a687118e7ddf197c1c968579572123b67b230be84caa705f0f634efdfdde7f2e07a6e0224b3c70665dc420d8bc95bf400cfc4c998 languageName: node linkType: hard @@ -6415,91 +6565,111 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-darwin-arm64@npm:1.3.107" +"@swc-node/core@npm:^1.13.0": + version: 1.13.1 + resolution: "@swc-node/core@npm:1.13.1" + peerDependencies: + "@swc/core": ">= 1.4.13" + "@swc/types": ">= 0.1" + checksum: 2b5edf597b9a4b129102ffa739cbdafa22a31c16e6d050f75d209cde7d075e787252675ed15098a279b31c211963e9402c79a759d086abd6488338c01bc549c3 + languageName: node + linkType: hard + +"@swc-node/sourcemap-support@npm:^0.5.0": + version: 0.5.0 + resolution: "@swc-node/sourcemap-support@npm:0.5.0" + dependencies: + source-map-support: "npm:^0.5.21" + tslib: "npm:^2.6.2" + checksum: 4163bd5b6730ed395efa70df43a2a1ec6604a23dd70992d8a329c3bff7f8ef42fa04a090145f2c1471ae398602e8b4bf3d4d95c6d66c81cdb609a54538553d9d + languageName: node + linkType: hard + +"@swc/core-darwin-arm64@npm:1.4.17": + version: 1.4.17 + resolution: "@swc/core-darwin-arm64@npm:1.4.17" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-darwin-x64@npm:1.3.107" +"@swc/core-darwin-x64@npm:1.4.17": + version: 1.4.17 + resolution: "@swc/core-darwin-x64@npm:1.4.17" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.107" +"@swc/core-linux-arm-gnueabihf@npm:1.4.17": + version: 1.4.17 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.4.17" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-linux-arm64-gnu@npm:1.3.107" +"@swc/core-linux-arm64-gnu@npm:1.4.17": + version: 1.4.17 + resolution: "@swc/core-linux-arm64-gnu@npm:1.4.17" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-linux-arm64-musl@npm:1.3.107" +"@swc/core-linux-arm64-musl@npm:1.4.17": + version: 1.4.17 + resolution: "@swc/core-linux-arm64-musl@npm:1.4.17" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-linux-x64-gnu@npm:1.3.107" +"@swc/core-linux-x64-gnu@npm:1.4.17": + version: 1.4.17 + resolution: "@swc/core-linux-x64-gnu@npm:1.4.17" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-linux-x64-musl@npm:1.3.107" +"@swc/core-linux-x64-musl@npm:1.4.17": + version: 1.4.17 + resolution: "@swc/core-linux-x64-musl@npm:1.4.17" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-win32-arm64-msvc@npm:1.3.107" +"@swc/core-win32-arm64-msvc@npm:1.4.17": + version: 1.4.17 + resolution: "@swc/core-win32-arm64-msvc@npm:1.4.17" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-win32-ia32-msvc@npm:1.3.107" +"@swc/core-win32-ia32-msvc@npm:1.4.17": + version: 1.4.17 + resolution: "@swc/core-win32-ia32-msvc@npm:1.4.17" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core-win32-x64-msvc@npm:1.3.107" +"@swc/core-win32-x64-msvc@npm:1.4.17": + version: 1.4.17 + resolution: "@swc/core-win32-x64-msvc@npm:1.4.17" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@swc/core@npm:1.3.107": - version: 1.3.107 - resolution: "@swc/core@npm:1.3.107" +"@swc/core@npm:^1.4.17": + version: 1.4.17 + resolution: "@swc/core@npm:1.4.17" dependencies: - "@swc/core-darwin-arm64": "npm:1.3.107" - "@swc/core-darwin-x64": "npm:1.3.107" - "@swc/core-linux-arm-gnueabihf": "npm:1.3.107" - "@swc/core-linux-arm64-gnu": "npm:1.3.107" - "@swc/core-linux-arm64-musl": "npm:1.3.107" - "@swc/core-linux-x64-gnu": "npm:1.3.107" - "@swc/core-linux-x64-musl": "npm:1.3.107" - "@swc/core-win32-arm64-msvc": "npm:1.3.107" - "@swc/core-win32-ia32-msvc": "npm:1.3.107" - "@swc/core-win32-x64-msvc": "npm:1.3.107" - "@swc/counter": "npm:^0.1.1" + "@swc/core-darwin-arm64": "npm:1.4.17" + "@swc/core-darwin-x64": "npm:1.4.17" + "@swc/core-linux-arm-gnueabihf": "npm:1.4.17" + "@swc/core-linux-arm64-gnu": "npm:1.4.17" + "@swc/core-linux-arm64-musl": "npm:1.4.17" + "@swc/core-linux-x64-gnu": "npm:1.4.17" + "@swc/core-linux-x64-musl": "npm:1.4.17" + "@swc/core-win32-arm64-msvc": "npm:1.4.17" + "@swc/core-win32-ia32-msvc": "npm:1.4.17" + "@swc/core-win32-x64-msvc": "npm:1.4.17" + "@swc/counter": "npm:^0.1.2" "@swc/types": "npm:^0.1.5" peerDependencies: "@swc/helpers": ^0.5.0 @@ -6527,11 +6697,11 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: 9f679f79cd4f89f20035a8f25945942f6d39a068ccec4a1c3b72d4266dddec8c4de38b89d65affd24768609f44da7217fe28e6498d2c95449ecbc76099e61bce + checksum: 743da3648335b10901f9c2d6c7b332f90913f9ce0e09c040eb9b5cce71dde4e1c9dd6c78c05700433ffc173194f7857c5e0a6146c39ec4bf392f875397ed96d3 languageName: node linkType: hard -"@swc/counter@npm:^0.1.1, @swc/counter@npm:^0.1.3": +"@swc/counter@npm:^0.1.2, @swc/counter@npm:^0.1.3": version: 0.1.3 resolution: "@swc/counter@npm:0.1.3" checksum: df8f9cfba9904d3d60f511664c70d23bb323b3a0803ec9890f60133954173047ba9bdeabce28cd70ba89ccd3fd6c71c7b0bd58be85f611e1ffbe5d5c18616598 @@ -6548,25 +6718,12 @@ __metadata: languageName: node linkType: hard -"@swc/register@npm:0.1.10": - version: 0.1.10 - resolution: "@swc/register@npm:0.1.10" - dependencies: - lodash.clonedeep: "npm:^4.5.0" - pirates: "npm:^4.0.1" - source-map-support: "npm:^0.5.13" - peerDependencies: - "@swc/core": ^1.0.46 - bin: - swc-node: bin/swc-node - checksum: f2ed441a286135b8e12b63bee5c22170fb5f73be537223f96df62b1824789e2fdf0dc1f1a7ea545ee3830963f9bd320e3b488c8f8ce793dcbb8ab3dbef9a1881 - languageName: node - linkType: hard - "@swc/types@npm:^0.1.5": - version: 0.1.5 - resolution: "@swc/types@npm:0.1.5" - checksum: 5f4de8c60d2623bed607c7fa1e0cee4ffc682af28d5ffe88dc9ed9903a1c2088ccc39f684689d6bb314595c9fbb560beaec773d633be515fb856ffc81d738822 + version: 0.1.6 + resolution: "@swc/types@npm:0.1.6" + dependencies: + "@swc/counter": "npm:^0.1.3" + checksum: b42fbca6f1ad56d1909fa6114b62107418a665730bb9b4d8bd8fa1c86921f8758a73959928342638fb57490b5d618a46881045fa9f094763a00f939944835d36 languageName: node linkType: hard @@ -6691,7 +6848,7 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.18.0, @types/babel__core@npm:^7.20.4": +"@types/babel__core@npm:^7.18.0": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" dependencies: @@ -6742,6 +6899,15 @@ __metadata: languageName: node linkType: hard +"@types/busboy@npm:^1.5.3": + version: 1.5.3 + resolution: "@types/busboy@npm:1.5.3" + dependencies: + "@types/node": "npm:*" + checksum: 9ec0a125723e594816d06f6ddf5a4f8dda4855734719bb6e38bdc6fdaf59416f270744862ee54c755075af26e9f5467cc00db803ae1d88f45c1431f61a48ae58 + languageName: node + linkType: hard + "@types/cli-progress@npm:^3.11.5": version: 3.11.5 resolution: "@types/cli-progress@npm:3.11.5" @@ -6892,7 +7058,7 @@ __metadata: languageName: node linkType: hard -"@types/express@npm:*, @types/express@npm:^4.17.13, @types/express@npm:^4.17.21, @types/express@npm:^4.7.0": +"@types/express@npm:*, @types/express@npm:^4.17.13, @types/express@npm:^4.7.0": version: 4.17.21 resolution: "@types/express@npm:4.17.21" dependencies: @@ -7115,14 +7281,23 @@ __metadata: languageName: node linkType: hard -"@types/node-cron@npm:3.0.11, @types/node-cron@npm:^3.0.11": +"@types/needle@npm:*": + version: 3.3.0 + resolution: "@types/needle@npm:3.3.0" + dependencies: + "@types/node": "npm:*" + checksum: 4da756bec58d8fb057fecc0301268fa0ab90f8ffd9623fe02dc463e9551d87fde13656044f5e2101ed3fb7b4dc92689ceadffa7852553f5e3efa78f09d22f5bf + languageName: node + linkType: hard + +"@types/node-cron@npm:3.0.11": version: 3.0.11 resolution: "@types/node-cron@npm:3.0.11" checksum: a73f69bcca52a5f3b1671cfb00a8e4a1d150d0aef36a611564a2f94e66b6981bade577e267ceeeca6fcee241768902d55eb8cf3a81f9ef4ed767a23112fdb16d languageName: node linkType: hard -"@types/node-fetch@npm:2.6.11, @types/node-fetch@npm:^2.2.6, @types/node-fetch@npm:^2.6.1": +"@types/node-fetch@npm:2.6.11, @types/node-fetch@npm:^2.6.1, @types/node-fetch@npm:^2.6.11": version: 2.6.11 resolution: "@types/node-fetch@npm:2.6.11" dependencies: @@ -7164,23 +7339,14 @@ __metadata: languageName: node linkType: hard -"@types/passport@npm:^1.0.16": - version: 1.0.16 - resolution: "@types/passport@npm:1.0.16" - dependencies: - "@types/express": "npm:*" - checksum: 0ee7b9a46192cb60fb4e49038417b0c10b38e50204ed05b5204b3ea9a73e25da34ca8fe05205eaf42fe977610cdbd3a0d5f2228f8661fe0b303bc758fa2a158f - languageName: node - linkType: hard - -"@types/pg@npm:^8.11.5": - version: 8.11.5 - resolution: "@types/pg@npm:8.11.5" +"@types/pg@npm:^8.11.6": + version: 8.11.6 + resolution: "@types/pg@npm:8.11.6" dependencies: "@types/node": "npm:*" pg-protocol: "npm:*" pg-types: "npm:^4.0.1" - checksum: bb4c28f721ab0da9df96ecf9e2ebb34c3986b2c785e763612c899292bfd0e4e364f38ae10c0a35144d1e647d51cb9a2a80eb900a4ee1f1fdcc3e8d54d39c5abf + checksum: 4eb22d42c5363abf58b1be0104e01332a0928e9dce8571ad136ce3e256c16dd97343a17c29066e4f390ed366548cca0bda55ff48b495ee4c1d70d123cc75edf6 languageName: node linkType: hard @@ -7207,6 +7373,16 @@ __metadata: languageName: node linkType: hard +"@types/probe-image-size@npm:^7.2.4": + version: 7.2.4 + resolution: "@types/probe-image-size@npm:7.2.4" + dependencies: + "@types/needle": "npm:*" + "@types/node": "npm:*" + checksum: 6157135ee5a838b292a45cb03d8d5d25b9f6595c58275d3b79b9ed235432a61b67768d2aa7150cf55cf0e8aa8ebdab5fa01f0f6ba140b9309b1b85413f4df5d9 + languageName: node + linkType: hard + "@types/prop-types@npm:*": version: 15.7.5 resolution: "@types/prop-types@npm:15.7.5" @@ -7598,21 +7774,6 @@ __metadata: languageName: node linkType: hard -"@vitejs/plugin-react@npm:^4.0.4": - version: 4.2.0 - resolution: "@vitejs/plugin-react@npm:4.2.0" - dependencies: - "@babel/core": "npm:^7.23.3" - "@babel/plugin-transform-react-jsx-self": "npm:^7.23.3" - "@babel/plugin-transform-react-jsx-source": "npm:^7.23.3" - "@types/babel__core": "npm:^7.20.4" - react-refresh: "npm:^0.14.0" - peerDependencies: - vite: ^4.2.0 || ^5.0.0 - checksum: 989d465f92588ed16902b822e1efe5c33bb13594b25d8d9d2ec4e7b23dd54847ff232b4318c0309c08acf38e1f27c182774bccf37122a4d04d0cba41c2ef7e67 - languageName: node - linkType: hard - "@vitest/expect@npm:1.3.1": version: 1.3.1 resolution: "@vitest/expect@npm:1.3.1" @@ -7932,43 +8093,9 @@ __metadata: languageName: node linkType: hard -"@yestheory.family/cms@workspace:packages/cms": +"@yestheory.family/e2e@workspace:packages/e2e": version: 0.0.0-use.local - resolution: "@yestheory.family/cms@workspace:packages/cms" - dependencies: - "@atmina/formbuilder": "npm:^2.0.0" - "@atmina/linting": "npm:^2.2.0" - "@payloadcms/bundler-vite": "npm:^0.1.7" - "@payloadcms/db-postgres": "npm:^0.8.2" - "@payloadcms/richtext-slate": "npm:^1.5.1" - "@types/eslint": "npm:^8.56.10" - "@types/express": "npm:^4.17.21" - "@types/node-cron": "npm:^3.0.11" - "@types/passport": "npm:^1.0.16" - "@types/pg": "npm:^8.11.5" - autoprefixer: "npm:^10.4.19" - clsx: "npm:^2.1.1" - copyfiles: "npm:^2.4.1" - cross-env: "npm:^7.0.3" - dotenv: "npm:^16.4.5" - eslint: "npm:^8.56.0" - express: "npm:^4.19.2" - node-cron: "npm:^3.0.3" - payload: "npm:^2.14.2" - prettier: "npm:^3.2.5" - react: "npm:^18.3.1" - react-hook-form: "npm:^7.51.3" - tailwindcss: "npm:^3.4.3" - ts-node: "npm:10.9.2" - ts-node-dev: "npm:^2.0.0" - typescript: "npm:^5.4.5" - typesense: "npm:^1.8.2" - languageName: unknown - linkType: soft - -"@yestheory.family/e2e@workspace:packages/e2e": - version: 0.0.0-use.local - resolution: "@yestheory.family/e2e@workspace:packages/e2e" + resolution: "@yestheory.family/e2e@workspace:packages/e2e" dependencies: "@atmina/linting": "npm:^2.2.0" "@playwright/test": "npm:^1.43.1" @@ -8059,6 +8186,7 @@ __metadata: version: 0.0.0-use.local resolution: "@yestheory.family/web@workspace:packages/web" dependencies: + "@atmina/formbuilder": "npm:^2.0.0" "@atmina/linting": "npm:^2.2.0" "@atmina/only-enum-types": "npm:0.8.0" "@ebay/nice-modal-react": "npm:^1.2.13" @@ -8071,6 +8199,11 @@ __metadata: "@icons-pack/react-simple-icons": "npm:^9.4.1" "@next/bundle-analyzer": "npm:^14.2.3" "@next/eslint-plugin-next": "npm:14.2.3" + "@parcel/watcher": "npm:^2.4.1" + "@payloadcms/db-postgres": "npm:^3.0.0-beta.25" + "@payloadcms/next": "npm:^3.0.0-beta.25" + "@payloadcms/richtext-slate": "npm:^3.0.0-beta.25" + "@payloadcms/ui": "npm:3.0.0-beta.25" "@radix-ui/react-dialog": "npm:^1.0.5" "@radix-ui/react-dropdown-menu": "npm:^2.0.6" "@storybook/addon-essentials": "npm:^8.0.9" @@ -8079,13 +8212,17 @@ __metadata: "@storybook/nextjs": "npm:^8.0.9" "@storybook/react": "npm:^8.0.9" "@storybook/test": "npm:8.0.9" + "@swc/core": "npm:^1.4.17" "@types/cookie": "npm:0.6.0" "@types/eslint": "npm:^8.56.10" + "@types/pg": "npm:^8.11.6" "@types/prettier": "npm:^3.0.0" autoprefixer: "npm:^10.4.19" chromatic: "npm:^11.3.0" + concurrently: "npm:^8.2.2" cookie: "npm:0.6.0" cross-env: "npm:^7.0.3" + drizzle-orm: "npm:0.29.4" env-cmd: "npm:^10.1.0" eslint: "npm:^8.56.0" eslint-config-next: "npm:^14.2.3" @@ -8094,11 +8231,15 @@ __metadata: graphql: "npm:16.8.1" graphql-request: "npm:^6.1.0" next: "npm:14.2.3" + payload: "npm:^3.0.0-beta.25" + pg: "npm:^8.11.5" + pg-connection-string: "npm:^2.6.4" postcss: "npm:^8.4.38" prettier: "npm:^3.2.5" react: "npm:18.3.1" react-animate-height: "npm:^3.2.3" react-dom: "npm:18.3.1" + react-hook-form: "npm:^7.51.4" react-ssr-prepass: "npm:1.5.0" sharp: "npm:0.33.3" storybook: "npm:^8.0.9" @@ -8268,7 +8409,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.0.0, ajv@npm:^8.6.3, ajv@npm:^8.9.0": +"ajv@npm:^8.0.0, ajv@npm:^8.12.0, ajv@npm:^8.6.3, ajv@npm:^8.9.0": version: 8.13.0 resolution: "ajv@npm:8.13.0" dependencies: @@ -8885,49 +9026,13 @@ __metadata: languageName: node linkType: hard -"bare-events@npm:^2.0.0, bare-events@npm:^2.2.0": +"bare-events@npm:^2.2.0": version: 2.2.2 resolution: "bare-events@npm:2.2.2" checksum: 79d50a739d9f2173e881e0957f9b0ee64befde3d7b6f955b1450de06a4c131f095415beaafa9772caa23c2ddfd70c56def0a3c5841b21488b7ff2c91d9f9898a languageName: node linkType: hard -"bare-fs@npm:^2.1.1": - version: 2.3.0 - resolution: "bare-fs@npm:2.3.0" - dependencies: - bare-events: "npm:^2.0.0" - bare-path: "npm:^2.0.0" - bare-stream: "npm:^1.0.0" - checksum: 2ce1770b0274dc667fd5ac0207f26a679f7c9761e8aafd5361d16212cdf55c54ab289c85f037b4efe17391deec98adc641adddc52ab71f0bfba3d59b5675b53f - languageName: node - linkType: hard - -"bare-os@npm:^2.1.0": - version: 2.3.0 - resolution: "bare-os@npm:2.3.0" - checksum: e317105f36d41b04c0b498fe069cdf5b2cc12020e3725c6fe9d863328721a512d1ea8e6f36660ed49a35f2d5477a24a914e686e08dc2bdc19ab2a584d9a80155 - languageName: node - linkType: hard - -"bare-path@npm:^2.0.0, bare-path@npm:^2.1.0": - version: 2.1.2 - resolution: "bare-path@npm:2.1.2" - dependencies: - bare-os: "npm:^2.1.0" - checksum: 6c1cd0cf5ff5603601bde00f9661befe1310a0754b762053b8b6086223b7640d9d2d4758342171d82d7c9c1b4b736c1524a9408a87f605050af361455d29e510 - languageName: node - linkType: hard - -"bare-stream@npm:^1.0.0": - version: 1.0.0 - resolution: "bare-stream@npm:1.0.0" - dependencies: - streamx: "npm:^2.16.1" - checksum: 56f268e77b827d34be757fd1c784ace3e28061b993bbc88c8ff00ce7933844da614d44b9462f6e077d6a8998769c01ac709e84ff01bcc0ed1bef44b97f9f90f3 - languageName: node - linkType: hard - "base64-js@npm:^1.3.1": version: 1.5.1 resolution: "base64-js@npm:1.5.1" @@ -8990,26 +9095,6 @@ __metadata: languageName: node linkType: hard -"body-parser@npm:1.20.1": - version: 1.20.1 - resolution: "body-parser@npm:1.20.1" - dependencies: - bytes: "npm:3.1.2" - content-type: "npm:~1.0.4" - debug: "npm:2.6.9" - depd: "npm:2.0.0" - destroy: "npm:1.2.0" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.4.24" - on-finished: "npm:2.4.1" - qs: "npm:6.11.0" - raw-body: "npm:2.5.1" - type-is: "npm:~1.6.18" - unpipe: "npm:1.0.0" - checksum: 5f8d128022a2fb8b6e7990d30878a0182f300b70e46b3f9d358a9433ad6275f0de46add6d63206da3637c01c3b38b6111a7480f7e7ac2e9f7b989f6133fe5510 - languageName: node - linkType: hard - "body-parser@npm:1.20.2": version: 1.20.2 resolution: "body-parser@npm:1.20.2" @@ -9625,6 +9710,13 @@ __metadata: languageName: node linkType: hard +"ci-info@npm:^4.0.0": + version: 4.0.0 + resolution: "ci-info@npm:4.0.0" + checksum: c983bb7ff1b06648f4a47432201abbd58291147d8ab5043dbb5c03e1a0e3fb2347f40d29b66a3044f28ffeb5dade01ac35aa6bd4e7464a44d9a49a3d7532415a + languageName: node + linkType: hard + "cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": version: 1.0.4 resolution: "cipher-base@npm:1.0.4" @@ -9751,17 +9843,6 @@ __metadata: languageName: node linkType: hard -"cliui@npm:^7.0.2": - version: 7.0.4 - resolution: "cliui@npm:7.0.4" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.0" - wrap-ansi: "npm:^7.0.0" - checksum: db858c49af9d59a32d603987e6fddaca2ce716cd4602ba5a2bb3a5af1351eebe82aba8dff3ef3e1b331f7fa9d40ca66e67bdf8e7c327ce0ea959747ead65c0ef - languageName: node - linkType: hard - "cliui@npm:^8.0.1": version: 8.0.1 resolution: "cliui@npm:8.0.1" @@ -9798,7 +9879,7 @@ __metadata: languageName: node linkType: hard -"clsx@npm:^2.1.1": +"clsx@npm:^2.1.0": version: 2.1.1 resolution: "clsx@npm:2.1.1" checksum: cdfb57fa6c7649bbff98d9028c2f0de2f91c86f551179541cf784b1cfdc1562dcb951955f46d54d930a3879931a980e32a46b598acaea274728dbe068deca919 @@ -10003,7 +10084,7 @@ __metadata: languageName: node linkType: hard -"compression@npm:1.7.4, compression@npm:^1.7.4": +"compression@npm:^1.7.4": version: 1.7.4 resolution: "compression@npm:1.7.4" dependencies: @@ -10032,6 +10113,26 @@ __metadata: languageName: node linkType: hard +"concurrently@npm:^8.2.2": + version: 8.2.2 + resolution: "concurrently@npm:8.2.2" + dependencies: + chalk: "npm:^4.1.2" + date-fns: "npm:^2.30.0" + lodash: "npm:^4.17.21" + rxjs: "npm:^7.8.1" + shell-quote: "npm:^1.8.1" + spawn-command: "npm:0.0.2" + supports-color: "npm:^8.1.1" + tree-kill: "npm:^1.2.2" + yargs: "npm:^17.7.2" + bin: + conc: dist/bin/concurrently.js + concurrently: dist/bin/concurrently.js + checksum: dcb1aa69d9c611a7bda9d4fc0fe1e388f971d1744acec7e0d52dffa2ef55743f1266ec9292f414c5789b9f61734b3fce772bd005d4de9564a949fb121b97bae1 + languageName: node + linkType: hard + "conf@npm:10.2.0": version: 10.2.0 resolution: "conf@npm:10.2.0" @@ -10050,13 +10151,6 @@ __metadata: languageName: node linkType: hard -"connect-history-api-fallback@npm:1.6.0": - version: 1.6.0 - resolution: "connect-history-api-fallback@npm:1.6.0" - checksum: 59f013870e987f2e921218b88ad99e6b469a058ee7dd35561a360968fd4260f236b5523b7387ddec8991f9f9fbddda098f830ddc701f12c1bfb1f49d5f4b13c1 - languageName: node - linkType: hard - "consola@npm:^3.2.3": version: 3.2.3 resolution: "consola@npm:3.2.3" @@ -10142,13 +10236,6 @@ __metadata: languageName: node linkType: hard -"cookie@npm:0.5.0, cookie@npm:^0.5.0": - version: 0.5.0 - resolution: "cookie@npm:0.5.0" - checksum: aae7911ddc5f444a9025fbd979ad1b5d60191011339bce48e555cb83343d0f98b865ff5c4d71fecdfb8555a5cafdc65632f6fce172f32aaf6936830a883a0380 - languageName: node - linkType: hard - "cookie@npm:0.6.0": version: 0.6.0 resolution: "cookie@npm:0.6.0" @@ -10156,6 +10243,13 @@ __metadata: languageName: node linkType: hard +"cookie@npm:^0.5.0": + version: 0.5.0 + resolution: "cookie@npm:0.5.0" + checksum: aae7911ddc5f444a9025fbd979ad1b5d60191011339bce48e555cb83343d0f98b865ff5c4d71fecdfb8555a5cafdc65632f6fce172f32aaf6936830a883a0380 + languageName: node + linkType: hard + "cookies@npm:~0.9.0": version: 0.9.1 resolution: "cookies@npm:0.9.1" @@ -10182,24 +10276,6 @@ __metadata: languageName: node linkType: hard -"copyfiles@npm:^2.4.1": - version: 2.4.1 - resolution: "copyfiles@npm:2.4.1" - dependencies: - glob: "npm:^7.0.5" - minimatch: "npm:^3.0.3" - mkdirp: "npm:^1.0.4" - noms: "npm:0.0.0" - through2: "npm:^2.0.1" - untildify: "npm:^4.0.0" - yargs: "npm:^16.1.0" - bin: - copyfiles: copyfiles - copyup: copyfiles - checksum: 17070f88cbeaf62a9355341cb2521bacd48069e1ac8e7f95a3f69c848c53646f16ff0f94807a789e0f3eedc11407ec8d3980a13ab62e2add6ef81d0a5900fd85 - languageName: node - linkType: hard - "core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.33.1": version: 3.37.0 resolution: "core-js-compat@npm:3.37.0" @@ -10560,7 +10636,14 @@ __metadata: languageName: node linkType: hard -"date-fns@npm:2.30.0, date-fns@npm:^2.30.0": +"date-fns@npm:3.3.1": + version: 3.3.1 + resolution: "date-fns@npm:3.3.1" + checksum: 98231936765dfb6fc6897676319b500a06a39f051b2c3ecbdd541a07ce9b1344b770277b8bfb1049fb7a2f70bf365ac8e6f1e2bb452b10e1a8101d518ca7f95d + languageName: node + linkType: hard + +"date-fns@npm:^2.30.0": version: 2.30.0 resolution: "date-fns@npm:2.30.0" dependencies: @@ -10569,6 +10652,13 @@ __metadata: languageName: node linkType: hard +"date-fns@npm:^3.3.1": + version: 3.6.0 + resolution: "date-fns@npm:3.6.0" + checksum: cac35c58926a3b5d577082ff2b253612ec1c79eb6754fddef46b6a8e826501ea2cb346ecbd211205f1ba382ddd1f9d8c3f00bf433ad63cc3063454d294e3a6b8 + languageName: node + linkType: hard + "dateformat@npm:^4.6.3": version: 4.6.3 resolution: "dateformat@npm:4.6.3" @@ -10592,7 +10682,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:2, debug@npm:2.6.9": +"debug@npm:2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" dependencies: @@ -10601,15 +10691,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:3.1.0": - version: 3.1.0 - resolution: "debug@npm:3.1.0" - dependencies: - ms: "npm:2.0.0" - checksum: f5fd4b1390dd3b03a78aa30133a4b4db62acc3e6cd86af49f114bf7f7bd57c41a5c5c2eced2ad2c8190d70c60309f2dd5782feeaa0704dbaa5697890e3c5ad07 - languageName: node - linkType: hard - "debug@npm:4, debug@npm:4.3.4, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" @@ -10622,7 +10703,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.2.6, debug@npm:^3.2.7": +"debug@npm:^3.2.7": version: 3.2.7 resolution: "debug@npm:3.2.7" dependencies: @@ -10638,15 +10719,6 @@ __metadata: languageName: node linkType: hard -"decompress-response@npm:^6.0.0": - version: 6.0.0 - resolution: "decompress-response@npm:6.0.0" - dependencies: - mimic-response: "npm:^3.1.0" - checksum: d377cf47e02d805e283866c3f50d3d21578b779731e8c5072d6ce8c13cc31493db1c2f6784da9d1d5250822120cefa44f1deab112d5981015f2e17444b763812 - languageName: node - linkType: hard - "dedent@npm:^0.7.0": version: 0.7.0 resolution: "dedent@npm:0.7.0" @@ -10722,13 +10794,6 @@ __metadata: languageName: node linkType: hard -"deep-extend@npm:^0.6.0": - version: 0.6.0 - resolution: "deep-extend@npm:0.6.0" - checksum: 7be7e5a8d468d6b10e6a67c3de828f55001b6eb515d014f7aeb9066ce36bd5717161eb47d6a0f7bed8a9083935b465bc163ee2581c8b128d29bf61092fdf57a7 - languageName: node - linkType: hard - "deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" @@ -10736,7 +10801,7 @@ __metadata: languageName: node linkType: hard -"deepmerge@npm:4.3.1, deepmerge@npm:^4.0.0, deepmerge@npm:^4.2.2": +"deepmerge@npm:4.3.1, deepmerge@npm:^4.2.2": version: 4.3.1 resolution: "deepmerge@npm:4.3.1" checksum: 058d9e1b0ff1a154468bf3837aea436abcfea1ba1d165ddaaf48ca93765fdd01a30d33c36173da8fbbed951dd0a267602bc782fe288b0fc4b7e1e7091afc4529 @@ -10887,7 +10952,16 @@ __metadata: languageName: node linkType: hard -"detect-libc@npm:^2.0.0, detect-libc@npm:^2.0.2, detect-libc@npm:^2.0.3": +"detect-libc@npm:^1.0.3": + version: 1.0.3 + resolution: "detect-libc@npm:1.0.3" + bin: + detect-libc: ./bin/detect-libc.js + checksum: 3849fe7720feb153e4ac9407086956e073f1ce1704488290ef0ca8aab9430a8d48c8a9f8351889e7cdc64e5b1128589501e4fef48f3a4a49ba92cd6d112d0757 + languageName: node + linkType: hard + +"detect-libc@npm:^2.0.3": version: 2.0.3 resolution: "detect-libc@npm:2.0.3" checksum: b4ea018d623e077bd395f168a9e81db77370dde36a5b01d067f2ad7989924a81d31cb547ff764acb2aa25d50bb7fdde0b0a93bec02212b0cb430621623246d39 @@ -11232,9 +11306,9 @@ __metadata: languageName: node linkType: hard -"drizzle-orm@npm:0.29.3": - version: 0.29.3 - resolution: "drizzle-orm@npm:0.29.3" +"drizzle-orm@npm:0.29.4": + version: 0.29.4 + resolution: "drizzle-orm@npm:0.29.4" peerDependencies: "@aws-sdk/client-rds-data": ">=3" "@cloudflare/workers-types": ">=3" @@ -11303,7 +11377,7 @@ __metadata: optional: true sqlite3: optional: true - checksum: 23d4f6cc3da3af015386be53cb719136602fb5c27d76a6ae710af4a1b3e230fb8d58ae8e2592096ff0a18b696a4f24d6b2d432aa9ddf3aadbecf81c80df82a8d + checksum: 20a75905309e69989811dfc306956e3bda74b2de5039f1179b55c54d724c96d321eca41e479a3df76f6a83953efcea276b6e33627e8514246f9ea38ba322045a languageName: node linkType: hard @@ -11845,33 +11919,36 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.18.10, esbuild@npm:~0.18.20": - version: 0.18.20 - resolution: "esbuild@npm:0.18.20" +"esbuild@npm:^0.19.7": + version: 0.19.12 + resolution: "esbuild@npm:0.19.12" dependencies: - "@esbuild/android-arm": "npm:0.18.20" - "@esbuild/android-arm64": "npm:0.18.20" - "@esbuild/android-x64": "npm:0.18.20" - "@esbuild/darwin-arm64": "npm:0.18.20" - "@esbuild/darwin-x64": "npm:0.18.20" - "@esbuild/freebsd-arm64": "npm:0.18.20" - "@esbuild/freebsd-x64": "npm:0.18.20" - "@esbuild/linux-arm": "npm:0.18.20" - "@esbuild/linux-arm64": "npm:0.18.20" - "@esbuild/linux-ia32": "npm:0.18.20" - "@esbuild/linux-loong64": "npm:0.18.20" - "@esbuild/linux-mips64el": "npm:0.18.20" - "@esbuild/linux-ppc64": "npm:0.18.20" - "@esbuild/linux-riscv64": "npm:0.18.20" - "@esbuild/linux-s390x": "npm:0.18.20" - "@esbuild/linux-x64": "npm:0.18.20" - "@esbuild/netbsd-x64": "npm:0.18.20" - "@esbuild/openbsd-x64": "npm:0.18.20" - "@esbuild/sunos-x64": "npm:0.18.20" - "@esbuild/win32-arm64": "npm:0.18.20" - "@esbuild/win32-ia32": "npm:0.18.20" - "@esbuild/win32-x64": "npm:0.18.20" + "@esbuild/aix-ppc64": "npm:0.19.12" + "@esbuild/android-arm": "npm:0.19.12" + "@esbuild/android-arm64": "npm:0.19.12" + "@esbuild/android-x64": "npm:0.19.12" + "@esbuild/darwin-arm64": "npm:0.19.12" + "@esbuild/darwin-x64": "npm:0.19.12" + "@esbuild/freebsd-arm64": "npm:0.19.12" + "@esbuild/freebsd-x64": "npm:0.19.12" + "@esbuild/linux-arm": "npm:0.19.12" + "@esbuild/linux-arm64": "npm:0.19.12" + "@esbuild/linux-ia32": "npm:0.19.12" + "@esbuild/linux-loong64": "npm:0.19.12" + "@esbuild/linux-mips64el": "npm:0.19.12" + "@esbuild/linux-ppc64": "npm:0.19.12" + "@esbuild/linux-riscv64": "npm:0.19.12" + "@esbuild/linux-s390x": "npm:0.19.12" + "@esbuild/linux-x64": "npm:0.19.12" + "@esbuild/netbsd-x64": "npm:0.19.12" + "@esbuild/openbsd-x64": "npm:0.19.12" + "@esbuild/sunos-x64": "npm:0.19.12" + "@esbuild/win32-arm64": "npm:0.19.12" + "@esbuild/win32-ia32": "npm:0.19.12" + "@esbuild/win32-x64": "npm:0.19.12" dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true "@esbuild/android-arm": optional: true "@esbuild/android-arm64": @@ -11918,40 +11995,37 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 1f723ec71c3aa196473bf3298316eedc3f62d523924652dfeb60701b609792f918fc60db84b420d1d8ba9bfa7d69de2fc1d3157ba47c028bdae5d507a26a3c64 + checksum: 861fa8eb2428e8d6521a4b7c7930139e3f45e8d51a86985cc29408172a41f6b18df7b3401e7e5e2d528cdf83742da601ddfdc77043ddc4f1c715a8ddb2d8a255 languageName: node linkType: hard -"esbuild@npm:^0.19.7": - version: 0.19.12 - resolution: "esbuild@npm:0.19.12" +"esbuild@npm:~0.18.20": + version: 0.18.20 + resolution: "esbuild@npm:0.18.20" dependencies: - "@esbuild/aix-ppc64": "npm:0.19.12" - "@esbuild/android-arm": "npm:0.19.12" - "@esbuild/android-arm64": "npm:0.19.12" - "@esbuild/android-x64": "npm:0.19.12" - "@esbuild/darwin-arm64": "npm:0.19.12" - "@esbuild/darwin-x64": "npm:0.19.12" - "@esbuild/freebsd-arm64": "npm:0.19.12" - "@esbuild/freebsd-x64": "npm:0.19.12" - "@esbuild/linux-arm": "npm:0.19.12" - "@esbuild/linux-arm64": "npm:0.19.12" - "@esbuild/linux-ia32": "npm:0.19.12" - "@esbuild/linux-loong64": "npm:0.19.12" - "@esbuild/linux-mips64el": "npm:0.19.12" - "@esbuild/linux-ppc64": "npm:0.19.12" - "@esbuild/linux-riscv64": "npm:0.19.12" - "@esbuild/linux-s390x": "npm:0.19.12" - "@esbuild/linux-x64": "npm:0.19.12" - "@esbuild/netbsd-x64": "npm:0.19.12" - "@esbuild/openbsd-x64": "npm:0.19.12" - "@esbuild/sunos-x64": "npm:0.19.12" - "@esbuild/win32-arm64": "npm:0.19.12" - "@esbuild/win32-ia32": "npm:0.19.12" - "@esbuild/win32-x64": "npm:0.19.12" + "@esbuild/android-arm": "npm:0.18.20" + "@esbuild/android-arm64": "npm:0.18.20" + "@esbuild/android-x64": "npm:0.18.20" + "@esbuild/darwin-arm64": "npm:0.18.20" + "@esbuild/darwin-x64": "npm:0.18.20" + "@esbuild/freebsd-arm64": "npm:0.18.20" + "@esbuild/freebsd-x64": "npm:0.18.20" + "@esbuild/linux-arm": "npm:0.18.20" + "@esbuild/linux-arm64": "npm:0.18.20" + "@esbuild/linux-ia32": "npm:0.18.20" + "@esbuild/linux-loong64": "npm:0.18.20" + "@esbuild/linux-mips64el": "npm:0.18.20" + "@esbuild/linux-ppc64": "npm:0.18.20" + "@esbuild/linux-riscv64": "npm:0.18.20" + "@esbuild/linux-s390x": "npm:0.18.20" + "@esbuild/linux-x64": "npm:0.18.20" + "@esbuild/netbsd-x64": "npm:0.18.20" + "@esbuild/openbsd-x64": "npm:0.18.20" + "@esbuild/sunos-x64": "npm:0.18.20" + "@esbuild/win32-arm64": "npm:0.18.20" + "@esbuild/win32-ia32": "npm:0.18.20" + "@esbuild/win32-x64": "npm:0.18.20" dependenciesMeta: - "@esbuild/aix-ppc64": - optional: true "@esbuild/android-arm": optional: true "@esbuild/android-arm64": @@ -11998,7 +12072,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 861fa8eb2428e8d6521a4b7c7930139e3f45e8d51a86985cc29408172a41f6b18df7b3401e7e5e2d528cdf83742da601ddfdc77043ddc4f1c715a8ddb2d8a255 + checksum: 1f723ec71c3aa196473bf3298316eedc3f62d523924652dfeb60701b609792f918fc60db84b420d1d8ba9bfa7d69de2fc1d3157ba47c028bdae5d507a26a3c64 languageName: node linkType: hard @@ -12388,13 +12462,6 @@ __metadata: languageName: node linkType: hard -"estree-walker@npm:^2.0.2": - version: 2.0.2 - resolution: "estree-walker@npm:2.0.2" - checksum: b02109c5d46bc2ed47de4990eef770f7457b1159a229f0999a09224d2b85ffeed2d7679cffcff90aeb4448e94b0168feb5265b209cdec29aad50a3d6e93d21e2 - languageName: node - linkType: hard - "estree-walker@npm:^3.0.3": version: 3.0.3 resolution: "estree-walker@npm:3.0.3" @@ -12487,13 +12554,6 @@ __metadata: languageName: node linkType: hard -"expand-template@npm:^2.0.3": - version: 2.0.3 - resolution: "expand-template@npm:2.0.3" - checksum: 588c19847216421ed92befb521767b7018dc88f88b0576df98cb242f20961425e96a92cbece525ef28cc5becceae5d544ae0f5b9b5e2aa05acb13716ca5b3099 - languageName: node - linkType: hard - "exponential-backoff@npm:^3.1.1": version: 3.1.1 resolution: "exponential-backoff@npm:3.1.1" @@ -12501,62 +12561,7 @@ __metadata: languageName: node linkType: hard -"express-fileupload@npm:1.4.0": - version: 1.4.0 - resolution: "express-fileupload@npm:1.4.0" - dependencies: - busboy: "npm:^1.6.0" - checksum: 7d8429bebc4e69892b2e054bced5d05d37598f6ca62345c4b086e6f6b99de21616dfafd28b4f63ebeaae4d07a0a32b2f2001f592e0ec75c760c3978b93d17eb1 - languageName: node - linkType: hard - -"express-rate-limit@npm:5.5.1": - version: 5.5.1 - resolution: "express-rate-limit@npm:5.5.1" - checksum: 61ff1bbdf1cc5a3363c4f31296f32a36e208cb3b1d89dd777263aab3690d24f125fdfcb09337af85503e2090d3836cacbd14b70e5f7e0da605ef8148ac973efa - languageName: node - linkType: hard - -"express@npm:4.18.2": - version: 4.18.2 - resolution: "express@npm:4.18.2" - dependencies: - accepts: "npm:~1.3.8" - array-flatten: "npm:1.1.1" - body-parser: "npm:1.20.1" - content-disposition: "npm:0.5.4" - content-type: "npm:~1.0.4" - cookie: "npm:0.5.0" - cookie-signature: "npm:1.0.6" - debug: "npm:2.6.9" - depd: "npm:2.0.0" - encodeurl: "npm:~1.0.2" - escape-html: "npm:~1.0.3" - etag: "npm:~1.8.1" - finalhandler: "npm:1.2.0" - fresh: "npm:0.5.2" - http-errors: "npm:2.0.0" - merge-descriptors: "npm:1.0.1" - methods: "npm:~1.1.2" - on-finished: "npm:2.4.1" - parseurl: "npm:~1.3.3" - path-to-regexp: "npm:0.1.7" - proxy-addr: "npm:~2.0.7" - qs: "npm:6.11.0" - range-parser: "npm:~1.2.1" - safe-buffer: "npm:5.2.1" - send: "npm:0.18.0" - serve-static: "npm:1.15.0" - setprototypeof: "npm:1.2.0" - statuses: "npm:2.0.1" - type-is: "npm:~1.6.18" - utils-merge: "npm:1.0.1" - vary: "npm:~1.1.2" - checksum: 869ae89ed6ff4bed7b373079dc58e5dddcf2915a2669b36037ff78c99d675ae930e5fe052b35c24f56557d28a023bb1cbe3e2f2fb87eaab96a1cedd7e597809d - languageName: node - linkType: hard - -"express@npm:^4.17.1, express@npm:^4.17.3, express@npm:^4.19.2": +"express@npm:^4.17.1, express@npm:^4.17.3": version: 4.19.2 resolution: "express@npm:4.19.2" dependencies: @@ -12819,6 +12824,17 @@ __metadata: languageName: node linkType: hard +"file-type@npm:19.0.0": + version: 19.0.0 + resolution: "file-type@npm:19.0.0" + dependencies: + readable-web-to-node-stream: "npm:^3.0.2" + strtok3: "npm:^7.0.0" + token-types: "npm:^5.0.1" + checksum: 8befa58f769b19d4a72c214694906b83b584310575300e63c08c48f9f2cfa6cb57fb4e1d08325961938d9dde3ecc4f5737b1604ddedfd759f5a1e65e5b0ca577 + languageName: node + linkType: hard + "filelist@npm:^1.0.4": version: 1.0.4 resolution: "filelist@npm:1.0.4" @@ -13114,25 +13130,25 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:10.1.0, fs-extra@npm:^10.0.0": - version: 10.1.0 - resolution: "fs-extra@npm:10.1.0" +"fs-extra@npm:11.1.1": + version: 11.1.1 + resolution: "fs-extra@npm:11.1.1" dependencies: graceful-fs: "npm:^4.2.0" jsonfile: "npm:^6.0.1" universalify: "npm:^2.0.0" - checksum: 05ce2c3b59049bcb7b52001acd000e44b3c4af4ec1f8839f383ef41ec0048e3cfa7fd8a637b1bddfefad319145db89be91f4b7c1db2908205d38bf91e7d1d3b7 + checksum: c4e9fabf9762a70d1403316b7faa899f3d3303c8afa765b891c2210fdeba368461e04ae1203920b64ef6a7d066a39ab8cef2160b5ce8d1011bb4368688cd9bb7 languageName: node linkType: hard -"fs-extra@npm:11.1.1": - version: 11.1.1 - resolution: "fs-extra@npm:11.1.1" +"fs-extra@npm:^10.0.0": + version: 10.1.0 + resolution: "fs-extra@npm:10.1.0" dependencies: graceful-fs: "npm:^4.2.0" jsonfile: "npm:^6.0.1" universalify: "npm:^2.0.0" - checksum: c4e9fabf9762a70d1403316b7faa899f3d3303c8afa765b891c2210fdeba368461e04ae1203920b64ef6a7d066a39ab8cef2160b5ce8d1011bb4368688cd9bb7 + checksum: 05ce2c3b59049bcb7b52001acd000e44b3c4af4ec1f8839f383ef41ec0048e3cfa7fd8a637b1bddfefad319145db89be91f4b7c1db2908205d38bf91e7d1d3b7 languageName: node linkType: hard @@ -13300,13 +13316,6 @@ __metadata: languageName: node linkType: hard -"get-port@npm:5.1.1": - version: 5.1.1 - resolution: "get-port@npm:5.1.1" - checksum: 0162663ffe5c09e748cd79d97b74cd70e5a5c84b760a475ce5767b357fb2a57cb821cee412d646aa8a156ed39b78aab88974eddaa9e5ee926173c036c0713787 - languageName: node - linkType: hard - "get-stdin@npm:^8.0.0": version: 8.0.0 resolution: "get-stdin@npm:8.0.0" @@ -13339,16 +13348,7 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:4.6.2": - version: 4.6.2 - resolution: "get-tsconfig@npm:4.6.2" - dependencies: - resolve-pkg-maps: "npm:^1.0.0" - checksum: b2652679bde36cc174703dbc1d75cdd2ca9a660b191aef59575545183d714b1ee940771dee754c02280b9ba8aa432872cea64403b43705c316fab9cbaa705703 - languageName: node - linkType: hard - -"get-tsconfig@npm:^4.5.0, get-tsconfig@npm:^4.7.0, get-tsconfig@npm:^4.7.3": +"get-tsconfig@npm:^4.5.0, get-tsconfig@npm:^4.7.0, get-tsconfig@npm:^4.7.2, get-tsconfig@npm:^4.7.3": version: 4.7.3 resolution: "get-tsconfig@npm:4.7.3" dependencies: @@ -13375,13 +13375,6 @@ __metadata: languageName: node linkType: hard -"github-from-package@npm:0.0.0": - version: 0.0.0 - resolution: "github-from-package@npm:0.0.0" - checksum: 2a091ba07fbce22205642543b4ea8aaf068397e1433c00ae0f9de36a3607baf5bcc14da97fbb798cfca6393b3c402031fca06d8b491a44206d6efef391c58537 - languageName: node - linkType: hard - "github-slugger@npm:^2.0.0": version: 2.0.0 resolution: "github-slugger@npm:2.0.0" @@ -13455,7 +13448,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.0.5, glob@npm:^7.1.1, glob@npm:^7.1.3, glob@npm:^7.1.6": +"glob@npm:^7.1.1, glob@npm:^7.1.3, glob@npm:^7.1.6": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -13617,16 +13610,16 @@ __metadata: languageName: node linkType: hard -"graphql-http@npm:1.21.0": - version: 1.21.0 - resolution: "graphql-http@npm:1.21.0" +"graphql-http@npm:^1.22.0": + version: 1.22.1 + resolution: "graphql-http@npm:1.22.1" peerDependencies: graphql: ">=0.11 <=16" - checksum: 00daf5d98b74b01928b21216ec6011cf0497c8ee309f1b379a3fd1dd2407cbc696e610d91044bd1fc5db543d635553eb5a1ae8f84ab368cf472d10b168a0b727 + checksum: 86dfad225069aa21c5cd88525e350ef505862dbf32de03a747653fb46653a8e6a3a273bc1a2395a8381126c6952f89d32ba204ec3507c97cf897566f33c93c4f languageName: node linkType: hard -"graphql-playground-html@npm:^1.6.30": +"graphql-playground-html@npm:1.6.30": version: 1.6.30 resolution: "graphql-playground-html@npm:1.6.30" dependencies: @@ -13635,18 +13628,7 @@ __metadata: languageName: node linkType: hard -"graphql-playground-middleware-express@npm:1.7.23": - version: 1.7.23 - resolution: "graphql-playground-middleware-express@npm:1.7.23" - dependencies: - graphql-playground-html: "npm:^1.6.30" - peerDependencies: - express: ^4.16.2 - checksum: 65123c91e9e1d251d45bc9c1697cffb086925e429eedd7151334279c31fdb76eb8601c3e8ec8d56f3f253dc780932848b90d8a9d03f202dad14fd1e734de038d - languageName: node - linkType: hard - -"graphql-query-complexity@npm:0.12.0, graphql-query-complexity@npm:^0.12.0": +"graphql-query-complexity@npm:^0.12.0": version: 0.12.0 resolution: "graphql-query-complexity@npm:0.12.0" dependencies: @@ -13957,20 +13939,6 @@ __metadata: languageName: node linkType: hard -"history@npm:^4.9.0": - version: 4.10.1 - resolution: "history@npm:4.10.1" - dependencies: - "@babel/runtime": "npm:^7.1.2" - loose-envify: "npm:^1.2.0" - resolve-pathname: "npm:^3.0.0" - tiny-invariant: "npm:^1.0.2" - tiny-warning: "npm:^1.0.0" - value-equal: "npm:^1.0.1" - checksum: 042373f69dad6419a4d551b995ef40f449a8854775a1157c4e9f077ee39aea6ca7ed8f45ec3e1762ef1891357a724d17dad11f2fe7d0edeebcbcf9f48ed3e4d4 - languageName: node - linkType: hard - "hmac-drbg@npm:^1.0.1": version: 1.0.1 resolution: "hmac-drbg@npm:1.0.1" @@ -13982,7 +13950,7 @@ __metadata: languageName: node linkType: hard -"hoist-non-react-statics@npm:^3.1.0, hoist-non-react-statics@npm:^3.3.1": +"hoist-non-react-statics@npm:^3.3.1": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" dependencies: @@ -14029,15 +13997,6 @@ __metadata: languageName: node linkType: hard -"html-parse-stringify@npm:^3.0.1": - version: 3.0.1 - resolution: "html-parse-stringify@npm:3.0.1" - dependencies: - void-elements: "npm:3.1.0" - checksum: 8743b76cc50e46d1956c1ad879d18eb9613b0d2d81e24686d633f9f69bb26b84676f64a926973de793cca479997017a63219278476d617b6c42d68246d7c07fe - languageName: node - linkType: hard - "html-tags@npm:^3.1.0": version: 3.3.1 resolution: "html-tags@npm:3.3.1" @@ -14045,21 +14004,6 @@ __metadata: languageName: node linkType: hard -"html-webpack-plugin@npm:5.5.3": - version: 5.5.3 - resolution: "html-webpack-plugin@npm:5.5.3" - dependencies: - "@types/html-minifier-terser": "npm:^6.0.0" - html-minifier-terser: "npm:^6.0.2" - lodash: "npm:^4.17.21" - pretty-error: "npm:^4.0.0" - tapable: "npm:^2.0.0" - peerDependencies: - webpack: ^5.20.0 - checksum: 01d302a434e3db9f0e2db370f06300fb613de0fb8bdcafd4693e44c2528b8608621e5e7ca5d8302446db3f20c5f8875f1f675926d469b13ebab139954d241055 - languageName: node - linkType: hard - "html-webpack-plugin@npm:^5.5.0": version: 5.6.0 resolution: "html-webpack-plugin@npm:5.6.0" @@ -14204,32 +14148,7 @@ __metadata: languageName: node linkType: hard -"i18next-browser-languagedetector@npm:6.1.8": - version: 6.1.8 - resolution: "i18next-browser-languagedetector@npm:6.1.8" - dependencies: - "@babel/runtime": "npm:^7.19.0" - checksum: a55e3fb432bbc361c7b37760d3a5496bfe54429d71c65802c7358570d03c04b9788650e377ba551d97f6ed4640b925f674a14164174e17fad035b25958f17cfa - languageName: node - linkType: hard - -"i18next-http-middleware@npm:3.3.2": - version: 3.3.2 - resolution: "i18next-http-middleware@npm:3.3.2" - checksum: 95e8bb58168063ee8e3f4fcb42213ec2b77505f3e9e14d0b8b5b3a5cfaa0384bd7ebb241b7a979d22ef773b8807946451eb596275222924a6c520a8f218a04b2 - languageName: node - linkType: hard - -"i18next@npm:22.5.1": - version: 22.5.1 - resolution: "i18next@npm:22.5.1" - dependencies: - "@babel/runtime": "npm:^7.20.6" - checksum: ab1a0adee97911917fc46fb4216b8eb7c4ec0a243966609dda6a384e4b22acd25386a817dc51146328d5272ce1c6133558361788ebc4a36fbca250b8b3e90bd1 - languageName: node - linkType: hard - -"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24, iconv-lite@npm:^0.4.4": +"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" dependencies: @@ -14279,7 +14198,7 @@ __metadata: languageName: node linkType: hard -"image-size@npm:^1.0.0": +"image-size@npm:^1.0.0, image-size@npm:^1.1.1": version: 1.1.1 resolution: "image-size@npm:1.1.1" dependencies: @@ -14359,7 +14278,7 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.1, inherits@npm:~2.0.3, inherits@npm:~2.0.4": +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3, inherits@npm:~2.0.4": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: cd45e923bee15186c07fa4c89db0aace24824c482fb887b528304694b2aa6ff8a898da8657046a5dcf3e46cd6db6c61629551f9215f208d7c3f157cf9b290521 @@ -14373,13 +14292,6 @@ __metadata: languageName: node linkType: hard -"ini@npm:~1.3.0": - version: 1.3.8 - resolution: "ini@npm:1.3.8" - checksum: 314ae176e8d4deb3def56106da8002b462221c174ddb7ce0c49ee72c8cd1f9044f7b10cc555a7d8850982c3b9ca96fc212122749f5234bc2b6fb05fb942ed566 - languageName: node - linkType: hard - "inquirer@npm:^8.0.0": version: 8.2.6 resolution: "inquirer@npm:8.2.6" @@ -14929,13 +14841,6 @@ __metadata: languageName: node linkType: hard -"isarray@npm:0.0.1": - version: 0.0.1 - resolution: "isarray@npm:0.0.1" - checksum: 49191f1425681df4a18c2f0f93db3adb85573bcdd6a4482539d98eac9e705d8961317b01175627e860516a2fc45f8f9302db26e5a380a97a520e272e2a40a8d4 - languageName: node - linkType: hard - "isarray@npm:^2.0.5": version: 2.0.5 resolution: "isarray@npm:2.0.5" @@ -14971,16 +14876,6 @@ __metadata: languageName: node linkType: hard -"isomorphic-fetch@npm:3.0.0": - version: 3.0.0 - resolution: "isomorphic-fetch@npm:3.0.0" - dependencies: - node-fetch: "npm:^2.6.1" - whatwg-fetch: "npm:^3.4.1" - checksum: 568fe0307528c63405c44dd3873b7b6c96c0d19ff795cb15846e728b6823bdbc68cc8c97ac23324509661316f12f551e43dac2929bc7030b8bc4d6aa1158b857 - languageName: node - linkType: hard - "isomorphic-ws@npm:5.0.0, isomorphic-ws@npm:^5.0.0": version: 5.0.0 resolution: "isomorphic-ws@npm:5.0.0" @@ -15064,16 +14959,16 @@ __metadata: languageName: node linkType: hard -"joi@npm:17.9.2": - version: 17.9.2 - resolution: "joi@npm:17.9.2" +"joi@npm:^17.12.1": + version: 17.13.0 + resolution: "joi@npm:17.13.0" dependencies: - "@hapi/hoek": "npm:^9.0.0" - "@hapi/topo": "npm:^5.0.0" - "@sideway/address": "npm:^4.1.3" + "@hapi/hoek": "npm:^9.3.0" + "@hapi/topo": "npm:^5.1.0" + "@sideway/address": "npm:^4.1.5" "@sideway/formula": "npm:^3.0.1" "@sideway/pinpoint": "npm:^2.0.0" - checksum: c6c679643195c7c7eaada2ac51bef84032d4de8f9ebf3ead66079d07eccae6639b658f336358d5b9c70537cc7f3669ae8ac2a290ba832f944e4f85264c38d9e6 + checksum: aae196d71edeb752b76c12560728e0c5a2b813956934443ddf5294af993a0bdf81c22cffc2170e4751f2adaa56873a4eafc24d697c2ec7055709219505e3e56b languageName: node linkType: hard @@ -15329,24 +15224,6 @@ __metadata: languageName: node linkType: hard -"jsonwebtoken@npm:^9.0.0": - version: 9.0.2 - resolution: "jsonwebtoken@npm:9.0.2" - dependencies: - jws: "npm:^3.2.2" - lodash.includes: "npm:^4.3.0" - lodash.isboolean: "npm:^3.0.3" - lodash.isinteger: "npm:^4.0.4" - lodash.isnumber: "npm:^3.0.3" - lodash.isplainobject: "npm:^4.0.6" - lodash.isstring: "npm:^4.0.1" - lodash.once: "npm:^4.0.0" - ms: "npm:^2.1.1" - semver: "npm:^7.5.4" - checksum: 6e9b6d879cec2b27f2f3a88a0c0973edc7ba956a5d9356b2626c4fddfda969e34a3832deaf79c3e1c6c9a525bc2c4f2c2447fa477f8ac660f0017c31a59ae96b - languageName: node - linkType: hard - "jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.5": version: 3.3.5 resolution: "jsx-ast-utils@npm:3.3.5" @@ -15412,13 +15289,6 @@ __metadata: languageName: node linkType: hard -"jwt-decode@npm:3.1.2": - version: 3.1.2 - resolution: "jwt-decode@npm:3.1.2" - checksum: 20a4b072d44ce3479f42d0d2c8d3dabeb353081ba4982e40b83a779f2459a70be26441be6c160bfc8c3c6eadf9f6380a036fbb06ac5406b5674e35d8c4205eeb - languageName: node - linkType: hard - "keygrip@npm:~1.1.0": version: 1.1.0 resolution: "keygrip@npm:1.1.0" @@ -15613,19 +15483,20 @@ __metadata: languageName: node linkType: hard -"libsql@npm:^0.1.28": - version: 0.1.34 - resolution: "libsql@npm:0.1.34" +"libsql@npm:^0.3.10, libsql@npm:^0.3.15": + version: 0.3.18 + resolution: "libsql@npm:0.3.18" dependencies: - "@libsql/darwin-arm64": "npm:0.1.34" - "@libsql/darwin-x64": "npm:0.1.34" - "@libsql/linux-arm64-gnu": "npm:0.1.34" - "@libsql/linux-arm64-musl": "npm:0.1.34" - "@libsql/linux-x64-gnu": "npm:0.1.34" - "@libsql/linux-x64-musl": "npm:0.1.34" - "@libsql/win32-x64-msvc": "npm:0.1.34" + "@libsql/darwin-arm64": "npm:0.3.18" + "@libsql/darwin-x64": "npm:0.3.18" + "@libsql/linux-arm64-gnu": "npm:0.3.18" + "@libsql/linux-arm64-musl": "npm:0.3.18" + "@libsql/linux-x64-gnu": "npm:0.3.18" + "@libsql/linux-x64-musl": "npm:0.3.18" + "@libsql/win32-x64-msvc": "npm:0.3.18" "@neon-rs/load": "npm:^0.0.4" detect-libc: "npm:2.0.2" + libsql: "npm:^0.3.15" dependenciesMeta: "@libsql/darwin-arm64": optional: true @@ -15641,8 +15512,8 @@ __metadata: optional: true "@libsql/win32-x64-msvc": optional: true - checksum: 9f634172380d85e4c7800597edf290c32a7c1638d3c8c4b4f7186aff71b98ca3d28b911236fc3e9765f54c57b205474864f2fd156820bd3dbdbd128d5f8e3c97 - conditions: (os=darwin | os=linux | os=win32) & (cpu=x64 | cpu=arm64) + checksum: 3e952800710ac9a45bb9627fd70645c19f03d67d5cadeda0708d86c88e256882d009666bb3e466d8ce5d82e55b598ed94947777348ce5995c864659eb3f48089 + conditions: (os=darwin | os=linux | os=win32) & (cpu=x64 | cpu=arm64 | cpu=wasm32) languageName: node linkType: hard @@ -15750,13 +15621,6 @@ __metadata: languageName: node linkType: hard -"lodash.clonedeep@npm:^4.5.0": - version: 4.5.0 - resolution: "lodash.clonedeep@npm:4.5.0" - checksum: 957ed243f84ba6791d4992d5c222ffffca339a3b79dbe81d2eaf0c90504160b500641c5a0f56e27630030b18b8e971ea10b44f928a977d5ced3c8948841b555f - languageName: node - linkType: hard - "lodash.debounce@npm:^4.0.8": version: 4.0.8 resolution: "lodash.debounce@npm:4.0.8" @@ -15771,48 +15635,6 @@ __metadata: languageName: node linkType: hard -"lodash.includes@npm:^4.3.0": - version: 4.3.0 - resolution: "lodash.includes@npm:4.3.0" - checksum: 45e0a7c7838c931732cbfede6327da321b2b10482d5063ed21c020fa72b09ca3a4aa3bda4073906ab3f436cf36eb85a52ea3f08b7bab1e0baca8235b0e08fe51 - languageName: node - linkType: hard - -"lodash.isboolean@npm:^3.0.3": - version: 3.0.3 - resolution: "lodash.isboolean@npm:3.0.3" - checksum: b70068b4a8b8837912b54052557b21fc4774174e3512ed3c5b94621e5aff5eb6c68089d0a386b7e801d679cd105d2e35417978a5e99071750aa2ed90bffd0250 - languageName: node - linkType: hard - -"lodash.isinteger@npm:^4.0.4": - version: 4.0.4 - resolution: "lodash.isinteger@npm:4.0.4" - checksum: c971f5a2d67384f429892715550c67bac9f285604a0dd79275fd19fef7717aec7f2a6a33d60769686e436ceb9771fd95fe7fcb68ad030fc907d568d5a3b65f70 - languageName: node - linkType: hard - -"lodash.isnumber@npm:^3.0.3": - version: 3.0.3 - resolution: "lodash.isnumber@npm:3.0.3" - checksum: 913784275b565346255e6ae6a6e30b760a0da70abc29f3e1f409081585875105138cda4a429ff02577e1bc0a7ae2a90e0a3079a37f3a04c3d6c5aaa532f4cab2 - languageName: node - linkType: hard - -"lodash.isplainobject@npm:^4.0.6": - version: 4.0.6 - resolution: "lodash.isplainobject@npm:4.0.6" - checksum: 29c6351f281e0d9a1d58f1a4c8f4400924b4c79f18dfc4613624d7d54784df07efaff97c1ff2659f3e085ecf4fff493300adc4837553104cef2634110b0d5337 - languageName: node - linkType: hard - -"lodash.isstring@npm:^4.0.1": - version: 4.0.1 - resolution: "lodash.isstring@npm:4.0.1" - checksum: eaac87ae9636848af08021083d796e2eea3d02e80082ab8a9955309569cb3a463ce97fd281d7dc119e402b2e7d8c54a23914b15d2fc7fff56461511dc8937ba0 - languageName: node - linkType: hard - "lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" @@ -15820,13 +15642,6 @@ __metadata: languageName: node linkType: hard -"lodash.once@npm:^4.0.0": - version: 4.1.1 - resolution: "lodash.once@npm:4.1.1" - checksum: 202f2c8c3d45e401b148a96de228e50ea6951ee5a9315ca5e15733d5a07a6b1a02d9da1e7fdf6950679e17e8ca8f7190ec33cae47beb249b0c50019d753f38f3 - languageName: node - linkType: hard - "lodash.snakecase@npm:4.1.1": version: 4.1.1 resolution: "lodash.snakecase@npm:4.1.1" @@ -15905,7 +15720,7 @@ __metadata: languageName: node linkType: hard -"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.2.0, loose-envify@npm:^1.3.1, loose-envify@npm:^1.4.0": +"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" dependencies: @@ -16190,18 +16005,6 @@ __metadata: languageName: node linkType: hard -"method-override@npm:3.0.0": - version: 3.0.0 - resolution: "method-override@npm:3.0.0" - dependencies: - debug: "npm:3.1.0" - methods: "npm:~1.1.2" - parseurl: "npm:~1.3.2" - vary: "npm:~1.1.2" - checksum: 4a119f895ecde88cef148f0ae488874fcf600a6ecb66bdb574ceb346189b5b29b010d34530d4c39fc112dcbfeba1f30c55dd9558a7094be3e7d057a72afb9278 - languageName: node - linkType: hard - "methods@npm:^1.1.2, methods@npm:~1.1.2": version: 1.1.2 resolution: "methods@npm:1.1.2" @@ -16277,13 +16080,6 @@ __metadata: languageName: node linkType: hard -"mimic-response@npm:^3.1.0": - version: 3.1.0 - resolution: "mimic-response@npm:3.1.0" - checksum: 7e719047612411fe071332a7498cf0448bbe43c485c0d780046c76633a771b223ff49bd00267be122cedebb897037fdb527df72335d0d0f74724604ca70b37ad - languageName: node - linkType: hard - "min-indent@npm:^1.0.0, min-indent@npm:^1.0.1": version: 1.0.1 resolution: "min-indent@npm:1.0.1" @@ -16291,15 +16087,6 @@ __metadata: languageName: node linkType: hard -"mini-svg-data-uri@npm:^1.4.4": - version: 1.4.4 - resolution: "mini-svg-data-uri@npm:1.4.4" - bin: - mini-svg-data-uri: cli.js - checksum: 1336c2b00b6a72b0ce3cf942f7ab074faf463b941042fbe51d7a70be119c5d4223880aaa29584d5a804496ca1dda9b6fff7dd5aa284721907519b646192d8aaa - languageName: node - linkType: hard - "minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": version: 1.0.1 resolution: "minimalistic-assert@npm:1.0.1" @@ -16323,7 +16110,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.2, minimatch@npm:^3.0.3, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^3.0.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -16368,7 +16155,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:1.2.8, minimist@npm:^1.2.0, minimist@npm:^1.2.3, minimist@npm:^1.2.5, minimist@npm:^1.2.6": +"minimist@npm:1.2.8, minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 908491b6cc15a6c440ba5b22780a0ba89b9810e1aea684e253e43c4e3b8d56ec1dcdd7ea96dde119c29df59c936cde16062159eae4225c691e19c70b432b6e6f @@ -16459,7 +16246,7 @@ __metadata: languageName: node linkType: hard -"mkdirp-classic@npm:^0.5.2, mkdirp-classic@npm:^0.5.3": +"mkdirp-classic@npm:^0.5.2": version: 0.5.3 resolution: "mkdirp-classic@npm:0.5.3" checksum: 3f4e088208270bbcc148d53b73e9a5bd9eef05ad2cbf3b3d0ff8795278d50dd1d11a8ef1875ff5aea3fa888931f95bfcb2ad5b7c1061cfefd6284d199e6776ac @@ -16546,13 +16333,6 @@ __metadata: languageName: node linkType: hard -"napi-build-utils@npm:^1.0.1": - version: 1.0.2 - resolution: "napi-build-utils@npm:1.0.2" - checksum: 276feb8e30189fe18718e85b6f82e4f952822baa2e7696f771cc42571a235b789dc5907a14d9ffb6838c3e4ff4c25717c2575e5ce1cf6e02e496e204c11e57f6 - languageName: node - linkType: hard - "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -16560,19 +16340,6 @@ __metadata: languageName: node linkType: hard -"needle@npm:^2.5.2": - version: 2.9.1 - resolution: "needle@npm:2.9.1" - dependencies: - debug: "npm:^3.2.6" - iconv-lite: "npm:^0.4.4" - sax: "npm:^1.2.4" - bin: - needle: ./bin/needle - checksum: ad8df9aff519e719ae98bc3e58a2c623961bee0c5bffdd19288d7876fbb80a4ac1116ace7632026396bc0946d3c02b266acf3b9a1bffc7186055423eb7697e62 - languageName: node - linkType: hard - "negotiator@npm:0.6.3, negotiator@npm:^0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3" @@ -16669,15 +16436,6 @@ __metadata: languageName: node linkType: hard -"node-abi@npm:^3.3.0": - version: 3.62.0 - resolution: "node-abi@npm:3.62.0" - dependencies: - semver: "npm:^7.3.5" - checksum: 4cb9d4e6d3501bd9868230187f9f1638d777d1d2ca357389a2d411675889ee44375acbeae973b9c501fca723c9657d84684856787988a6327187f5f1e9ab6aee - languageName: node - linkType: hard - "node-abort-controller@npm:^3.0.1, node-abort-controller@npm:^3.1.1": version: 3.1.1 resolution: "node-abort-controller@npm:3.1.1" @@ -16685,16 +16443,16 @@ __metadata: languageName: node linkType: hard -"node-addon-api@npm:^6.1.0": - version: 6.1.0 - resolution: "node-addon-api@npm:6.1.0" +"node-addon-api@npm:^7.0.0": + version: 7.1.0 + resolution: "node-addon-api@npm:7.1.0" dependencies: node-gyp: "npm:latest" - checksum: 8eea1d4d965930a177a0508695beb0d89b4c1d80bf330646a035357a1e8fc31e0d09686e2374996e96e757b947a7ece319f98ede3146683f162597c0bcb4df90 + checksum: e20487e98c76660f4957e81e85c45dfb667140d9be0bf872a3b3dfd86b4ea19c0275939116c90efebc0da7fc6af2c7b7b060512ceebe6417b1ed145a26910453 languageName: node linkType: hard -"node-cron@npm:3.0.3, node-cron@npm:^3.0.3": +"node-cron@npm:3.0.3": version: 3.0.3 resolution: "node-cron@npm:3.0.3" dependencies: @@ -16740,7 +16498,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:2.7.0, node-fetch@npm:^2.0.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.12, node-fetch@npm:^2.6.7": +"node-fetch@npm:2.7.0, node-fetch@npm:^2.0.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.12, node-fetch@npm:^2.6.7, node-fetch@npm:^2.7.0": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -16844,23 +16602,6 @@ __metadata: languageName: node linkType: hard -"nodemailer@npm:6.9.8": - version: 6.9.8 - resolution: "nodemailer@npm:6.9.8" - checksum: 8c22b671bde4d507b6585758a323111aa2f7c97e0720fb91a645f1dee1da6661cdc4004bc42c63c95c712e7b1f7287518c623f9ac92e590f85b4d3f0f2ff7f65 - languageName: node - linkType: hard - -"noms@npm:0.0.0": - version: 0.0.0 - resolution: "noms@npm:0.0.0" - dependencies: - inherits: "npm:^2.0.1" - readable-stream: "npm:~1.0.31" - checksum: a05f056dabf764c86472b6b5aad10455f3adcb6971f366cdf36a72b559b29310a940e316bca30802f2804fdd41707941366224f4cba80c4f53071512245bf200 - languageName: node - linkType: hard - "nopt@npm:^7.0.0": version: 7.2.0 resolution: "nopt@npm:7.2.0" @@ -17450,7 +17191,7 @@ __metadata: languageName: node linkType: hard -"parseurl@npm:^1.3.2, parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": +"parseurl@npm:^1.3.2, parseurl@npm:~1.3.3": version: 1.3.3 resolution: "parseurl@npm:1.3.3" checksum: 407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 @@ -17467,63 +17208,7 @@ __metadata: languageName: node linkType: hard -"passport-anonymous@npm:1.0.1": - version: 1.0.1 - resolution: "passport-anonymous@npm:1.0.1" - dependencies: - passport-strategy: "npm:1.x.x" - checksum: 5c87aef294ffc3d9591e48495dcec0463c9664c4174041459ee44423cd3c75ba94b521b4b550acc938f22f2a2a7afc532027e48d8171149c5a22070a4741499f - languageName: node - linkType: hard - -"passport-headerapikey@npm:1.2.2": - version: 1.2.2 - resolution: "passport-headerapikey@npm:1.2.2" - dependencies: - lodash: "npm:^4.17.15" - passport-strategy: "npm:^1.0.0" - checksum: c4fa03632eeda04051be892f968b5d0b690a56a053ef6b8402ded4a5bd3de1423ff49bd1a1b06bac406e2c9cbcd96f9cd5f2702b15875dacac86f9b9aeaed2b7 - languageName: node - linkType: hard - -"passport-jwt@npm:4.0.1": - version: 4.0.1 - resolution: "passport-jwt@npm:4.0.1" - dependencies: - jsonwebtoken: "npm:^9.0.0" - passport-strategy: "npm:^1.0.0" - checksum: 030ef53632407ff7f4fcbe145b5664f30d5210d8c2834460fe626cca99ea004fd7997c76f1531a061c0f6185d18b2499c059f8933c8efdb51272103ffb6be45d - languageName: node - linkType: hard - -"passport-local@npm:1.0.0": - version: 1.0.0 - resolution: "passport-local@npm:1.0.0" - dependencies: - passport-strategy: "npm:1.x.x" - checksum: 86dc08b12f05f0ce1bb109780ccb0377eff45bbba70aa9c0d65f092b3ef476d344c0443517db2e9f3e5ec0ca849171ab25fb622164e0f69a677173af42b9bba7 - languageName: node - linkType: hard - -"passport-strategy@npm:1.x.x, passport-strategy@npm:^1.0.0": - version: 1.0.0 - resolution: "passport-strategy@npm:1.0.0" - checksum: 5086693f2508e538dffa55a338c89fe8192fb5f4478c71f80cd5890b8573419a098f4fec88b505374f60bbe9049f6f24b9f3992678612528a3370b4dc73354a2 - languageName: node - linkType: hard - -"passport@npm:0.6.0": - version: 0.6.0 - resolution: "passport@npm:0.6.0" - dependencies: - passport-strategy: "npm:1.x.x" - pause: "npm:0.0.1" - utils-merge: "npm:^1.0.1" - checksum: 5051e1d773ac0d802d4d71315f5fee566b8765b9731396b60c1d6822b7983bef31ae2f51af94d973ade94fb040efae0816e736e534b55294d0fbd10efcdf2d36 - languageName: node - linkType: hard - -"path-browserify@npm:1.0.1, path-browserify@npm:^1.0.1": +"path-browserify@npm:^1.0.1": version: 1.0.1 resolution: "path-browserify@npm:1.0.1" checksum: 7e7368a5207e7c6b9051ef045711d0dc3c2b6203e96057e408e6e74d09f383061010d2be95cb8593fe6258a767c3e9fc6b2bfc7ce8d48ae8c3d9f6994cca9ad8 @@ -17622,15 +17307,6 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:^1.7.0": - version: 1.8.0 - resolution: "path-to-regexp@npm:1.8.0" - dependencies: - isarray: "npm:0.0.1" - checksum: 45a01690f72919163cf89714e31a285937b14ad54c53734c826363fcf7beba9d9d0f2de802b4986b1264374562d6a3398a2e5289753a764e3a256494f1e52add - languageName: node - linkType: hard - "path-to-regexp@npm:^6.2.1": version: 6.2.2 resolution: "path-to-regexp@npm:6.2.2" @@ -17659,108 +17335,50 @@ __metadata: languageName: node linkType: hard -"pause@npm:0.0.1": - version: 0.0.1 - resolution: "pause@npm:0.0.1" - checksum: e96ee581b68085e6f2ba5adbcb4d4a41fe88e5b514061e76df2fe1905f0f65f4fe5a843b538e9551122c6b9184ff4be266c2ee0ea4614702f9a3d04466d9f462 - languageName: node - linkType: hard - -"payload@npm:^2.14.2": - version: 2.14.2 - resolution: "payload@npm:2.14.2" +"payload@npm:^3.0.0-beta.25": + version: 3.0.0-beta.25 + resolution: "payload@npm:3.0.0-beta.25" dependencies: - "@date-io/date-fns": "npm:2.16.0" - "@dnd-kit/core": "npm:6.0.8" - "@dnd-kit/sortable": "npm:7.0.2" - "@faceless-ui/modal": "npm:2.0.1" - "@faceless-ui/scroll-info": "npm:1.3.0" - "@faceless-ui/window-info": "npm:2.1.1" - "@monaco-editor/react": "npm:4.5.1" - "@swc/core": "npm:1.3.107" - "@swc/register": "npm:0.1.10" - body-parser: "npm:1.20.2" - body-scroll-lock: "npm:4.0.0-beta.0" + "@payloadcms/translations": "npm:3.0.0-beta.25" + "@swc-node/core": "npm:^1.13.0" + "@swc-node/sourcemap-support": "npm:^0.5.0" + "@types/probe-image-size": "npm:^7.2.4" + ajv: "npm:^8.12.0" bson-objectid: "npm:2.0.4" - compression: "npm:1.7.4" + ci-info: "npm:^4.0.0" conf: "npm:10.2.0" - connect-history-api-fallback: "npm:1.6.0" console-table-printer: "npm:2.11.2" dataloader: "npm:2.2.2" - date-fns: "npm:2.30.0" - deep-equal: "npm:2.2.2" deepmerge: "npm:4.3.1" dotenv: "npm:8.6.0" - express: "npm:4.18.2" - express-fileupload: "npm:1.4.0" - express-rate-limit: "npm:5.5.1" file-type: "npm:16.5.4" find-up: "npm:4.1.0" - flatley: "npm:5.2.0" - fs-extra: "npm:10.1.0" - get-tsconfig: "npm:4.6.2" - graphql: "npm:16.8.1" - graphql-http: "npm:1.21.0" - graphql-playground-middleware-express: "npm:1.7.23" - graphql-query-complexity: "npm:0.12.0" - graphql-scalars: "npm:1.22.2" - graphql-type-json: "npm:0.3.2" - html-webpack-plugin: "npm:5.5.3" + get-tsconfig: "npm:^4.7.2" http-status: "npm:1.6.2" - i18next: "npm:22.5.1" - i18next-browser-languagedetector: "npm:6.1.8" - i18next-http-middleware: "npm:3.3.2" - is-hotkey: "npm:0.2.0" - is-plain-object: "npm:5.0.0" - isomorphic-fetch: "npm:3.0.0" - joi: "npm:17.9.2" + image-size: "npm:^1.1.1" + joi: "npm:^17.12.1" json-schema-to-typescript: "npm:11.0.3" jsonwebtoken: "npm:9.0.1" - jwt-decode: "npm:3.1.2" - md5: "npm:2.3.0" - method-override: "npm:3.0.0" minimist: "npm:1.2.8" mkdirp: "npm:1.0.4" monaco-editor: "npm:0.38.0" - nodemailer: "npm:6.9.8" - object-to-formdata: "npm:4.5.1" - passport: "npm:0.6.0" - passport-anonymous: "npm:1.0.1" - passport-headerapikey: "npm:1.2.2" - passport-jwt: "npm:4.0.1" - passport-local: "npm:1.0.0" pino: "npm:8.15.0" pino-pretty: "npm:10.2.0" pluralize: "npm:8.0.0" - probe-image-size: "npm:6.0.0" - process: "npm:0.11.10" - qs: "npm:6.11.2" - qs-middleware: "npm:1.0.3" - react: "npm:^18.0.0" - react-animate-height: "npm:2.1.2" - react-datepicker: "npm:4.16.0" - react-diff-viewer-continued: "npm:3.2.6" - react-dom: "npm:^18.0.0" - react-helmet: "npm:6.1.0" - react-i18next: "npm:11.18.6" - react-image-crop: "npm:10.1.8" - react-router-dom: "npm:5.3.4" - react-router-navigation-prompt: "npm:1.9.6" - react-select: "npm:5.7.4" - react-toastify: "npm:8.2.0" sanitize-filename: "npm:1.6.3" - sass: "npm:1.69.4" scheduler: "npm:0.23.0" scmp: "npm:2.1.0" - sharp: "npm:0.32.6" - swc-loader: "npm:0.2.3" - terser-webpack-plugin: "npm:5.3.9" ts-essentials: "npm:7.0.3" - use-context-selector: "npm:1.4.1" - uuid: "npm:9.0.1" + uuid: "npm:^9.0.1" + peerDependencies: + "@swc/core": ^1.4.13 + graphql: ^16.8.1 + peerDependenciesMeta: + "@swc/core": + optional: true bin: payload: bin.js - checksum: 2a7c645b84cbdcbf5653855811236624b1fbd502df18136a0af90725a69bc27dd309d70ba2990aada3d0422a9c17ed25bcef3bf36c3d86097747d3a89dfb0e73 + checksum: 5140b578f59468c815b897845b410e37ccd715f783af8867f033f91781e875aa31b3ea4432bef4d37f47f7d70dc3a3c65d243ac609bb325eb42a52a3a686dc23 languageName: node linkType: hard @@ -17784,6 +17402,13 @@ __metadata: languageName: node linkType: hard +"peek-readable@npm:^5.0.0": + version: 5.0.0 + resolution: "peek-readable@npm:5.0.0" + checksum: d342f02dd0c8a6b4bd0e7519a93d545b2b19375200e79a7431f0f1ec3f91e22b2217fa3a15cde95f6ab388ce6fce8aae75794d84b9b39c5836eb7c5f55e7ee9e + languageName: node + linkType: hard + "peek-stream@npm:^1.1.0": version: 1.1.3 resolution: "peek-stream@npm:1.1.3" @@ -17802,7 +17427,7 @@ __metadata: languageName: node linkType: hard -"pg-connection-string@npm:^2.6.2": +"pg-connection-string@npm:^2.6.2, pg-connection-string@npm:^2.6.4": version: 2.6.4 resolution: "pg-connection-string@npm:2.6.4" checksum: 2c1d2ac1add1f93076f1594d217a0980f79add05dc48de6363e1c550827c78a6ee3e3b5420da9c54858f6b678cdb348aed49732ee68158b6cdb70f1d1c748cf9 @@ -17823,7 +17448,7 @@ __metadata: languageName: node linkType: hard -"pg-pool@npm:^3.6.1": +"pg-pool@npm:^3.6.1, pg-pool@npm:^3.6.2": version: 3.6.2 resolution: "pg-pool@npm:3.6.2" peerDependencies: @@ -17832,7 +17457,7 @@ __metadata: languageName: node linkType: hard -"pg-protocol@npm:*, pg-protocol@npm:^1.6.0": +"pg-protocol@npm:*, pg-protocol@npm:^1.6.0, pg-protocol@npm:^1.6.1": version: 1.6.1 resolution: "pg-protocol@npm:1.6.1" checksum: 9af672208adae8214f55f5b4597c4699ab9946205a99863d3e2bb8d024fdab16711457b539bc366cc29040218aa87508cf61294b76d288f48881b973d9117bd6 @@ -17871,12 +17496,34 @@ __metadata: version: 8.11.3 resolution: "pg@npm:8.11.3" dependencies: - buffer-writer: "npm:2.0.0" - packet-reader: "npm:1.0.0" + buffer-writer: "npm:2.0.0" + packet-reader: "npm:1.0.0" + pg-cloudflare: "npm:^1.1.1" + pg-connection-string: "npm:^2.6.2" + pg-pool: "npm:^3.6.1" + pg-protocol: "npm:^1.6.0" + pg-types: "npm:^2.1.0" + pgpass: "npm:1.x" + peerDependencies: + pg-native: ">=3.0.1" + dependenciesMeta: + pg-cloudflare: + optional: true + peerDependenciesMeta: + pg-native: + optional: true + checksum: f15f29c8e17723ee1da72abdf400cbed2c04602c58c93687f3f0068e71df2a6fb62b9a3543e13da21b10a0494f4c5b4cfc8d6cd8396617b76c4cbfd6ddab17e7 + languageName: node + linkType: hard + +"pg@npm:^8.11.5": + version: 8.11.5 + resolution: "pg@npm:8.11.5" + dependencies: pg-cloudflare: "npm:^1.1.1" - pg-connection-string: "npm:^2.6.2" - pg-pool: "npm:^3.6.1" - pg-protocol: "npm:^1.6.0" + pg-connection-string: "npm:^2.6.4" + pg-pool: "npm:^3.6.2" + pg-protocol: "npm:^1.6.1" pg-types: "npm:^2.1.0" pgpass: "npm:1.x" peerDependencies: @@ -17887,7 +17534,7 @@ __metadata: peerDependenciesMeta: pg-native: optional: true - checksum: f15f29c8e17723ee1da72abdf400cbed2c04602c58c93687f3f0068e71df2a6fb62b9a3543e13da21b10a0494f4c5b4cfc8d6cd8396617b76c4cbfd6ddab17e7 + checksum: 1510bc42943ea1749bfffac3f7ebae52ae638dc798e38786552fc67ffc0b2e4bd54456e7fd5cda7e805f30a0a59126c98e8c59afa88b6952f95411f16a16f709 languageName: node linkType: hard @@ -18256,7 +17903,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.2.14, postcss@npm:^8.4.21, postcss@npm:^8.4.23, postcss@npm:^8.4.27, postcss@npm:^8.4.33, postcss@npm:^8.4.38, postcss@npm:^8.4.4": +"postcss@npm:^8.2.14, postcss@npm:^8.4.21, postcss@npm:^8.4.23, postcss@npm:^8.4.33, postcss@npm:^8.4.38, postcss@npm:^8.4.4": version: 8.4.38 resolution: "postcss@npm:8.4.38" dependencies: @@ -18334,28 +17981,6 @@ __metadata: languageName: node linkType: hard -"prebuild-install@npm:^7.1.1": - version: 7.1.2 - resolution: "prebuild-install@npm:7.1.2" - dependencies: - detect-libc: "npm:^2.0.0" - expand-template: "npm:^2.0.3" - github-from-package: "npm:0.0.0" - minimist: "npm:^1.2.3" - mkdirp-classic: "npm:^0.5.3" - napi-build-utils: "npm:^1.0.1" - node-abi: "npm:^3.3.0" - pump: "npm:^3.0.0" - rc: "npm:^1.2.7" - simple-get: "npm:^4.0.0" - tar-fs: "npm:^2.0.0" - tunnel-agent: "npm:^0.6.0" - bin: - prebuild-install: bin.js - checksum: 32d5c026cc978dd02762b9ad3c765178aee8383aeac4303fed3cd226eff53100db038d4791b03ae1ebc7d213a7af392d26e32095579cedb8dba1d00ad08ecd46 - languageName: node - linkType: hard - "prelude-ls@npm:^1.2.1": version: 1.2.1 resolution: "prelude-ls@npm:1.2.1" @@ -18431,17 +18056,6 @@ __metadata: languageName: node linkType: hard -"probe-image-size@npm:6.0.0": - version: 6.0.0 - resolution: "probe-image-size@npm:6.0.0" - dependencies: - deepmerge: "npm:^4.0.0" - needle: "npm:^2.5.2" - stream-parser: "npm:~0.3.1" - checksum: dd1c83816f882802508065e5e7e93e0e6f20ac34358269cc8b5225afca23f702e30b9ee53cf091c82f0283d6f6f509095b3be268b4ad69913017b2d91b5b423a - languageName: node - linkType: hard - "proc-log@npm:^3.0.0": version: 3.0.0 resolution: "proc-log@npm:3.0.0" @@ -18470,7 +18084,7 @@ __metadata: languageName: node linkType: hard -"process@npm:0.11.10, process@npm:^0.11.10": +"process@npm:^0.11.10": version: 0.11.10 resolution: "process@npm:0.11.10" checksum: dbaa7e8d1d5cf375c36963ff43116772a989ef2bb47c9bdee20f38fd8fc061119cf38140631cf90c781aca4d3f0f0d2c834711952b728953f04fd7d238f59f5b @@ -18616,15 +18230,6 @@ __metadata: languageName: node linkType: hard -"qs-middleware@npm:1.0.3": - version: 1.0.3 - resolution: "qs-middleware@npm:1.0.3" - dependencies: - qs: "npm:~6.4.0" - checksum: dad1f44ef09eea76752cb2425f615cffe09c66b46c832e23eb017d39e279608f9eb2f977d151482199d444dd0c7244c34af8a3b80ba52df2c2c0b7bb373c780e - languageName: node - linkType: hard - "qs@npm:6.11.0": version: 6.11.0 resolution: "qs@npm:6.11.0" @@ -18652,13 +18257,6 @@ __metadata: languageName: node linkType: hard -"qs@npm:~6.4.0": - version: 6.4.1 - resolution: "qs@npm:6.4.1" - checksum: 6cd53497137ec160076590d58bd9142650b3b4f19678b7c3d53995731fcdc4e7cc863b6889a99a59b37b6b3aac4b9f1a33cb4f8ff761a9684696d1e8363db7f2 - languageName: node - linkType: hard - "querystring-es3@npm:^0.2.1": version: 0.2.1 resolution: "querystring-es3@npm:0.2.1" @@ -18729,18 +18327,6 @@ __metadata: languageName: node linkType: hard -"raw-body@npm:2.5.1": - version: 2.5.1 - resolution: "raw-body@npm:2.5.1" - dependencies: - bytes: "npm:3.1.2" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.4.24" - unpipe: "npm:1.0.0" - checksum: 280bedc12db3490ecd06f740bdcf66093a07535374b51331242382c0e130bb273ebb611b7bc4cba1b4b4e016cc7b1f4b05a6df885a6af39c2bc3b94c02291c84 - languageName: node - linkType: hard - "raw-body@npm:2.5.2, raw-body@npm:^2.3.3": version: 2.5.2 resolution: "raw-body@npm:2.5.2" @@ -18753,20 +18339,6 @@ __metadata: languageName: node linkType: hard -"rc@npm:^1.2.7": - version: 1.2.8 - resolution: "rc@npm:1.2.8" - dependencies: - deep-extend: "npm:^0.6.0" - ini: "npm:~1.3.0" - minimist: "npm:^1.2.0" - strip-json-comments: "npm:~2.0.1" - bin: - rc: ./cli.js - checksum: 5c4d72ae7eec44357171585938c85ce066da8ca79146b5635baf3d55d74584c92575fa4e2c9eac03efbed3b46a0b2e7c30634c012b4b4fa40d654353d3c163eb - languageName: node - linkType: hard - "react-animate-height@npm:2.1.2": version: 2.1.2 resolution: "react-animate-height@npm:2.1.2" @@ -18800,20 +18372,19 @@ __metadata: languageName: node linkType: hard -"react-datepicker@npm:4.16.0": - version: 4.16.0 - resolution: "react-datepicker@npm:4.16.0" +"react-datepicker@npm:6.2.0": + version: 6.2.0 + resolution: "react-datepicker@npm:6.2.0" dependencies: - "@popperjs/core": "npm:^2.11.8" + "@floating-ui/react": "npm:^0.26.2" classnames: "npm:^2.2.6" - date-fns: "npm:^2.30.0" + date-fns: "npm:^3.3.1" prop-types: "npm:^15.7.2" - react-onclickoutside: "npm:^6.12.2" - react-popper: "npm:^2.3.0" + react-onclickoutside: "npm:^6.13.0" peerDependencies: react: ^16.9.0 || ^17 || ^18 react-dom: ^16.9.0 || ^17 || ^18 - checksum: e8236bb0f0df8defe7f9764931300ac1470088c966b78e554fef9343fcb23b96a4ef5554c6f9ebd92a0a827a4de1d8431ab304115ee269782d3af337008b9e50 + checksum: aab42dc2ef153499353196e3da32774979e25ae6366b7c1d116166052243c53776d3a15fff45ed05e33411b131bfbba1d9e4fa32e7e576246639b096d0ec119b languageName: node linkType: hard @@ -18860,7 +18431,7 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:18.3.1, react-dom@npm:^16.8.0 || ^17.0.0 || ^18.0.0, react-dom@npm:^18.0.0": +"react-dom@npm:18.3.1, react-dom@npm:^16.8.0 || ^17.0.0 || ^18.0.0": version: 18.3.1 resolution: "react-dom@npm:18.3.1" dependencies: @@ -18886,51 +18457,12 @@ __metadata: languageName: node linkType: hard -"react-fast-compare@npm:^3.0.1, react-fast-compare@npm:^3.1.1": - version: 3.2.2 - resolution: "react-fast-compare@npm:3.2.2" - checksum: a6826180ba75cefba1c8d3ac539735f9b627ca05d3d307fe155487f5d0228d376dac6c9708d04a283a7b9f9aee599b637446635b79c8c8753d0b4eece56c125c - languageName: node - linkType: hard - -"react-helmet@npm:6.1.0": - version: 6.1.0 - resolution: "react-helmet@npm:6.1.0" - dependencies: - object-assign: "npm:^4.1.1" - prop-types: "npm:^15.7.2" - react-fast-compare: "npm:^3.1.1" - react-side-effect: "npm:^2.1.0" - peerDependencies: - react: ">=16.3.0" - checksum: eff25231384bb0a229870a0552839953a59af17f0ff5e8bca1b8c8fdf19a329e4c00c7fa2fcedc8be5d73f5c7bebb30cf9a32ea58efc7c8f726a10dba51f48a2 - languageName: node - linkType: hard - -"react-hook-form@npm:^7.51.3": - version: 7.51.3 - resolution: "react-hook-form@npm:7.51.3" +"react-hook-form@npm:^7.51.4": + version: 7.51.4 + resolution: "react-hook-form@npm:7.51.4" peerDependencies: react: ^16.8.0 || ^17 || ^18 - checksum: 37f5d681b0f9d6a64b56e38c6ea98941c78d2634e175e7722e66a6bd72b4b22a73a5b912ada8cc010b5ec9e1019b8e2d4a6b0f38e87280600f8e921dee96aaca - languageName: node - linkType: hard - -"react-i18next@npm:11.18.6": - version: 11.18.6 - resolution: "react-i18next@npm:11.18.6" - dependencies: - "@babel/runtime": "npm:^7.14.5" - html-parse-stringify: "npm:^3.0.1" - peerDependencies: - i18next: ">= 19.0.0" - react: ">= 16.8.0" - peerDependenciesMeta: - react-dom: - optional: true - react-native: - optional: true - checksum: d3e784f96c368f53eb4883f1ea51b439b92dd12435196b9a9b07b2be34a44f3358f6f5cf1696c6c6ad070eead38341769c214c204a338ecacfe447dba48ef5de + checksum: 1edb032284c127756ad4b99be5da55407dac311afa05f534ad882971088efef6c1debd339f2d9783a572fe17f97d206dbeb9b5b0cdd4e7599cd86a3485e45ad0 languageName: node linkType: hard @@ -18950,7 +18482,7 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^16.13.1, react-is@npm:^16.6.0, react-is@npm:^16.7.0": +"react-is@npm:^16.13.1, react-is@npm:^16.7.0": version: 16.13.1 resolution: "react-is@npm:16.13.1" checksum: 5aa564a1cde7d391ac980bedee21202fc90bdea3b399952117f54fb71a932af1e5902020144fb354b4690b2414a0c7aafe798eb617b76a3d441d956db7726fdf @@ -18971,7 +18503,7 @@ __metadata: languageName: node linkType: hard -"react-onclickoutside@npm:^6.12.2": +"react-onclickoutside@npm:^6.13.0": version: 6.13.0 resolution: "react-onclickoutside@npm:6.13.0" peerDependencies: @@ -18981,20 +18513,6 @@ __metadata: languageName: node linkType: hard -"react-popper@npm:^2.3.0": - version: 2.3.0 - resolution: "react-popper@npm:2.3.0" - dependencies: - react-fast-compare: "npm:^3.0.1" - warning: "npm:^4.0.2" - peerDependencies: - "@popperjs/core": ^2.0.0 - react: ^16.8.0 || ^17 || ^18 - react-dom: ^16.8.0 || ^17 || ^18 - checksum: 2afc495479ae4b9e67f9a1642debd7121947fe71a00c5b326301adb8288a18dca53ebd836fe9c3b7a4e2feb838df0abe8e044eb278e89b1c5d50978b0b93d0ac - languageName: node - linkType: hard - "react-refresh@npm:^0.14.0": version: 0.14.2 resolution: "react-refresh@npm:0.14.2" @@ -19037,52 +18555,6 @@ __metadata: languageName: node linkType: hard -"react-router-dom@npm:5.3.4": - version: 5.3.4 - resolution: "react-router-dom@npm:5.3.4" - dependencies: - "@babel/runtime": "npm:^7.12.13" - history: "npm:^4.9.0" - loose-envify: "npm:^1.3.1" - prop-types: "npm:^15.6.2" - react-router: "npm:5.3.4" - tiny-invariant: "npm:^1.0.2" - tiny-warning: "npm:^1.0.0" - peerDependencies: - react: ">=15" - checksum: 5e0696ae2d86f466ff700944758a227e1dcd79b48797d567776506e4e3b4a08b81336155feb86a33be9f38c17c4d3d94212b5c60c8ee9a086022e4fd3961db29 - languageName: node - linkType: hard - -"react-router-navigation-prompt@npm:1.9.6": - version: 1.9.6 - resolution: "react-router-navigation-prompt@npm:1.9.6" - peerDependencies: - react: ">=15" - react-router-dom: ">=4.x" - checksum: 85b2ccb4ac8ca8184f40fd2b3f47728b99a0dfc1164f95b17ca73085d4b041f3eadc3eb359fc7d18cc70ca9221815f93b37e65e91fae976c2c898ce3b003b8ed - languageName: node - linkType: hard - -"react-router@npm:5.3.4": - version: 5.3.4 - resolution: "react-router@npm:5.3.4" - dependencies: - "@babel/runtime": "npm:^7.12.13" - history: "npm:^4.9.0" - hoist-non-react-statics: "npm:^3.1.0" - loose-envify: "npm:^1.3.1" - path-to-regexp: "npm:^1.7.0" - prop-types: "npm:^15.6.2" - react-is: "npm:^16.6.0" - tiny-invariant: "npm:^1.0.2" - tiny-warning: "npm:^1.0.0" - peerDependencies: - react: ">=15" - checksum: 99d54a99af6bc6d7cad2e5ea7eee9485b62a8b8e16a1182b18daa7fad7dafa5e526850eaeebff629848b297ae055a9cb5b4aba8760e81af8b903efc049d48f5c - languageName: node - linkType: hard - "react-select@npm:5.7.4": version: 5.7.4 resolution: "react-select@npm:5.7.4" @@ -19103,15 +18575,6 @@ __metadata: languageName: node linkType: hard -"react-side-effect@npm:^2.1.0": - version: 2.1.2 - resolution: "react-side-effect@npm:2.1.2" - peerDependencies: - react: ^16.3.0 || ^17.0.0 || ^18.0.0 - checksum: 8c31aaec5b383d942ff1775b12c45022239d1250d1a00a238bac3c07e0fe266c71991e2814ae16a5d9b855bcd96ba95817d48ab3f34738f0bb32036ebb1abb1a - languageName: node - linkType: hard - "react-ssr-prepass@npm:1.5.0": version: 1.5.0 resolution: "react-ssr-prepass@npm:1.5.0" @@ -19138,6 +18601,18 @@ __metadata: languageName: node linkType: hard +"react-toastify@npm:10.0.4": + version: 10.0.4 + resolution: "react-toastify@npm:10.0.4" + dependencies: + clsx: "npm:^2.1.0" + peerDependencies: + react: ">=16" + react-dom: ">=16" + checksum: 57f4d0032bf328381bdfeb78ab5efa988d425627a61ffa43b0caa184633a0ea44253a349d6b967247fa3d480ad82a2bbaa9063ce3f89be9550eb9b30398a6837 + languageName: node + linkType: hard + "react-toastify@npm:8.2.0": version: 8.2.0 resolution: "react-toastify@npm:8.2.0" @@ -19165,7 +18640,7 @@ __metadata: languageName: node linkType: hard -"react@npm:18.3.1, react@npm:^16.8.0 || ^17.0.0 || ^18.0.0, react@npm:^18.0.0, react@npm:^18.3.1": +"react@npm:18.3.1, react@npm:^16.8.0 || ^17.0.0 || ^18.0.0": version: 18.3.1 resolution: "react@npm:18.3.1" dependencies: @@ -19245,19 +18720,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:~1.0.31": - version: 1.0.34 - resolution: "readable-stream@npm:1.0.34" - dependencies: - core-util-is: "npm:~1.0.0" - inherits: "npm:~2.0.1" - isarray: "npm:0.0.1" - string_decoder: "npm:~0.10.x" - checksum: 20537fca5a8ffd4af0f483be1cce0e981ed8cbb1087e0c762e2e92ae77f1005627272cebed8422f28047b465056aa1961fefd24baf532ca6a3616afea6811ae0 - languageName: node - linkType: hard - -"readable-web-to-node-stream@npm:^3.0.0": +"readable-web-to-node-stream@npm:^3.0.0, readable-web-to-node-stream@npm:^3.0.2": version: 3.0.2 resolution: "readable-web-to-node-stream@npm:3.0.2" dependencies: @@ -19558,13 +19021,6 @@ __metadata: languageName: node linkType: hard -"resolve-pathname@npm:^3.0.0": - version: 3.0.0 - resolution: "resolve-pathname@npm:3.0.0" - checksum: 6147241ba42c423dbe83cb067a2b4af4f60908c3af57e1ea567729cc71416c089737fe2a73e9e79e7a60f00f66c91e4b45ad0d37cd4be2d43fec44963ef14368 - languageName: node - linkType: hard - "resolve-pkg-maps@npm:^1.0.0": version: 1.0.0 resolution: "resolve-pkg-maps@npm:1.0.0" @@ -19744,20 +19200,6 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^3.27.1": - version: 3.29.4 - resolution: "rollup@npm:3.29.4" - dependencies: - fsevents: "npm:~2.3.2" - dependenciesMeta: - fsevents: - optional: true - bin: - rollup: dist/bin/rollup - checksum: 9e39d54e23731a4c4067e9c02910cdf7479a0f9a7584796e2dc6efaa34bb1e5e015c062c87d1e64d96038baca76cefd47681ff22604fae5827147f54123dc6d0 - languageName: node - linkType: hard - "run-async@npm:^2.4.0": version: 2.4.1 resolution: "run-async@npm:2.4.1" @@ -19774,7 +19216,7 @@ __metadata: languageName: node linkType: hard -"rxjs@npm:^7.5.5": +"rxjs@npm:^7.5.5, rxjs@npm:^7.8.1": version: 7.8.1 resolution: "rxjs@npm:7.8.1" dependencies: @@ -19868,23 +19310,16 @@ __metadata: languageName: node linkType: hard -"sass@npm:1.69.4": - version: 1.69.4 - resolution: "sass@npm:1.69.4" +"sass@npm:^1.71.1": + version: 1.76.0 + resolution: "sass@npm:1.76.0" dependencies: chokidar: "npm:>=3.0.0 <4.0.0" immutable: "npm:^4.0.0" source-map-js: "npm:>=0.6.2 <2.0.0" bin: sass: sass.js - checksum: d0f77e5b3817b878233c17aa604dfbef50d8f51936b46560f63d500de72aea27c041ffe5d92e7aec089830f2a141fa011e49334a3c3cedd99e94a2bf4fb2c976 - languageName: node - linkType: hard - -"sax@npm:^1.2.4": - version: 1.3.0 - resolution: "sax@npm:1.3.0" - checksum: bb571b31d30ecb0353c2ff5f87b117a03e5fb9eb4c1519141854c1a8fbee0a77ddbe8045f413259e711833aa03da210887df8527d19cdc55f299822dbf4b34de + checksum: f30e057617813b1253001b44f231c0a7667b624b06188f480fbb2c1ad073a5c302de3539078cb8af112e0d1fca7fbfd292d5e0dd816e9bfa493d3bce89ca8522 languageName: node linkType: hard @@ -20109,23 +19544,6 @@ __metadata: languageName: node linkType: hard -"sharp@npm:0.32.6": - version: 0.32.6 - resolution: "sharp@npm:0.32.6" - dependencies: - color: "npm:^4.2.3" - detect-libc: "npm:^2.0.2" - node-addon-api: "npm:^6.1.0" - node-gyp: "npm:latest" - prebuild-install: "npm:^7.1.1" - semver: "npm:^7.5.4" - simple-get: "npm:^4.0.1" - tar-fs: "npm:^3.0.4" - tunnel-agent: "npm:^0.6.0" - checksum: f0e4a86881e590f86b05ea463229f62cd29afc2dca08b3f597889f872f118c2c456f382bf2c3e90e934b7a1d30f109cf5ed584cf5a23e79d6b6403a8dc0ebe32 - languageName: node - linkType: hard - "sharp@npm:0.33.3, sharp@npm:^0.33.3": version: 0.33.3 resolution: "sharp@npm:0.33.3" @@ -20211,7 +19629,7 @@ __metadata: languageName: node linkType: hard -"shell-quote@npm:^1.7.3": +"shell-quote@npm:^1.7.3, shell-quote@npm:^1.8.1": version: 1.8.1 resolution: "shell-quote@npm:1.8.1" checksum: af19ab5a1ec30cb4b2f91fd6df49a7442d5c4825a2e269b3712eded10eedd7f9efeaab96d57829880733fc55bcdd8e9b1d8589b4befb06667c731d08145e274d @@ -20251,24 +19669,6 @@ __metadata: languageName: node linkType: hard -"simple-concat@npm:^1.0.0": - version: 1.0.1 - resolution: "simple-concat@npm:1.0.1" - checksum: 4d211042cc3d73a718c21ac6c4e7d7a0363e184be6a5ad25c8a1502e49df6d0a0253979e3d50dbdd3f60ef6c6c58d756b5d66ac1e05cda9cacd2e9fc59e3876a - languageName: node - linkType: hard - -"simple-get@npm:^4.0.0, simple-get@npm:^4.0.1": - version: 4.0.1 - resolution: "simple-get@npm:4.0.1" - dependencies: - decompress-response: "npm:^6.0.0" - once: "npm:^1.3.1" - simple-concat: "npm:^1.0.0" - checksum: 93f1b32319782f78f2f2234e9ce34891b7ab6b990d19d8afefaa44423f5235ce2676aae42d6743fecac6c8dfff4b808d4c24fe5265be813d04769917a9a44f36 - languageName: node - linkType: hard - "simple-swizzle@npm:^0.2.2": version: 0.2.2 resolution: "simple-swizzle@npm:0.2.2" @@ -20440,7 +19840,7 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:^0.5.12, source-map-support@npm:^0.5.13, source-map-support@npm:^0.5.16, source-map-support@npm:^0.5.21, source-map-support@npm:~0.5.20": +"source-map-support@npm:^0.5.12, source-map-support@npm:^0.5.16, source-map-support@npm:^0.5.21, source-map-support@npm:~0.5.20": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" dependencies: @@ -20478,6 +19878,13 @@ __metadata: languageName: node linkType: hard +"spawn-command@npm:0.0.2": + version: 0.0.2 + resolution: "spawn-command@npm:0.0.2" + checksum: f13e8c3c63abd4a0b52fb567eba5f7940d480c5ed3ec61781d38a1850f179b1196c39e6efa2bbd301f82c1bf1cd7807abc8fbd8fc8e44bcaa3975a124c0d1657 + languageName: node + linkType: hard + "spdx-correct@npm:^3.0.0": version: 3.2.0 resolution: "spdx-correct@npm:3.2.0" @@ -20629,15 +20036,6 @@ __metadata: languageName: node linkType: hard -"stream-parser@npm:~0.3.1": - version: 0.3.1 - resolution: "stream-parser@npm:0.3.1" - dependencies: - debug: "npm:2" - checksum: 1ea2bbbb4e3ac39875048b8305c273d03864965275b4b2624418a9622747f7a891817782b31facc3e57c4b083c5dd704739a4b1685d55b34fe75809a03788344 - languageName: node - linkType: hard - "stream-shift@npm:^1.0.0": version: 1.0.3 resolution: "stream-shift@npm:1.0.3" @@ -20652,7 +20050,7 @@ __metadata: languageName: node linkType: hard -"streamx@npm:^2.15.0, streamx@npm:^2.16.1": +"streamx@npm:^2.15.0": version: 2.16.1 resolution: "streamx@npm:2.16.1" dependencies: @@ -20758,13 +20156,6 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:~0.10.x": - version: 0.10.31 - resolution: "string_decoder@npm:0.10.31" - checksum: cc43e6b1340d4c7843da0e37d4c87a4084c2342fc99dcf6563c3ec273bb082f0cbd4ebf25d5da19b04fb16400d393885fda830be5128e1c416c73b5a6165f175 - languageName: node - linkType: hard - "string_decoder@npm:~1.1.1": version: 1.1.1 resolution: "string_decoder@npm:1.1.1" @@ -20831,7 +20222,7 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:^2.0.0, strip-json-comments@npm:~2.0.1": +"strip-json-comments@npm:^2.0.0": version: 2.0.1 resolution: "strip-json-comments@npm:2.0.1" checksum: 1074ccb63270d32ca28edfb0a281c96b94dc679077828135141f27d52a5a398ef5e78bcf22809d23cadc2b81dfbe345eb5fd8699b385c8b1128907dec4a7d1e1 @@ -20855,6 +20246,16 @@ __metadata: languageName: node linkType: hard +"strtok3@npm:^7.0.0": + version: 7.0.0 + resolution: "strtok3@npm:7.0.0" + dependencies: + "@tokenizer/token": "npm:^0.3.0" + peek-readable: "npm:^5.0.0" + checksum: 4f2269679fcfce1e9fe0600eff361ea4c687ae0a0e8d9dab6703811071cd92545cbcb32d4ace3d3aa591f777cec1a3e8aeecd5efd71ae216fd2962a7a238b4ab + languageName: node + linkType: hard + "style-loader@npm:^3.3.1": version: 3.3.4 resolution: "style-loader@npm:3.3.4" @@ -20932,7 +20333,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^8.0.0": +"supports-color@npm:^8.0.0, supports-color@npm:^8.1.1": version: 8.1.1 resolution: "supports-color@npm:8.1.1" dependencies: @@ -20967,16 +20368,6 @@ __metadata: languageName: node linkType: hard -"swc-loader@npm:0.2.3": - version: 0.2.3 - resolution: "swc-loader@npm:0.2.3" - peerDependencies: - "@swc/core": ^1.2.147 - webpack: ">=2" - checksum: 010d84d399525c0185d36d62c86c55ae017e7a90046bc8a39be4b7e07526924037868049f6037bc966da98151cb2600934b96a66279b742d3c413a718b427251 - languageName: node - linkType: hard - "tabbable@npm:^5.3.3": version: 5.3.3 resolution: "tabbable@npm:5.3.3" @@ -20984,6 +20375,13 @@ __metadata: languageName: node linkType: hard +"tabbable@npm:^6.0.0": + version: 6.2.0 + resolution: "tabbable@npm:6.2.0" + checksum: 980fa73476026e99dcacfc0d6e000d41d42c8e670faf4682496d30c625495e412c4369694f2a15cf1e5252d22de3c396f2b62edbe8d60b5dadc40d09e3f2dde3 + languageName: node + linkType: hard + "tailwind-merge@npm:^2.3.0": version: 2.3.0 resolution: "tailwind-merge@npm:2.3.0" @@ -21033,7 +20431,7 @@ __metadata: languageName: node linkType: hard -"tar-fs@npm:^2.0.0, tar-fs@npm:^2.1.1": +"tar-fs@npm:^2.1.1": version: 2.1.1 resolution: "tar-fs@npm:2.1.1" dependencies: @@ -21045,23 +20443,6 @@ __metadata: languageName: node linkType: hard -"tar-fs@npm:^3.0.4": - version: 3.0.6 - resolution: "tar-fs@npm:3.0.6" - dependencies: - bare-fs: "npm:^2.1.1" - bare-path: "npm:^2.1.0" - pump: "npm:^3.0.0" - tar-stream: "npm:^3.1.5" - dependenciesMeta: - bare-fs: - optional: true - bare-path: - optional: true - checksum: 277f9ba707928ed7396f582b7f9648617f7683a84ac7a97d66404b0811c9c9e55136a6b88e3ba72515c2761b50aebfd428598d2770ea6ba95fda3e06e75380c7 - languageName: node - linkType: hard - "tar-stream@npm:^2.1.4": version: 2.2.0 resolution: "tar-stream@npm:2.2.0" @@ -21075,7 +20456,7 @@ __metadata: languageName: node linkType: hard -"tar-stream@npm:^3.0.0, tar-stream@npm:^3.1.5": +"tar-stream@npm:^3.0.0": version: 3.1.7 resolution: "tar-stream@npm:3.1.7" dependencies: @@ -21148,28 +20529,6 @@ __metadata: languageName: node linkType: hard -"terser-webpack-plugin@npm:5.3.9": - version: 5.3.9 - resolution: "terser-webpack-plugin@npm:5.3.9" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.17" - jest-worker: "npm:^27.4.5" - schema-utils: "npm:^3.1.1" - serialize-javascript: "npm:^6.0.1" - terser: "npm:^5.16.8" - peerDependencies: - webpack: ^5.1.0 - peerDependenciesMeta: - "@swc/core": - optional: true - esbuild: - optional: true - uglify-js: - optional: true - checksum: 339737a407e034b7a9d4a66e31d84d81c10433e41b8eae2ca776f0e47c2048879be482a9aa08e8c27565a2a949bc68f6e07f451bf4d9aa347dd61b3d000f5353 - languageName: node - linkType: hard - "terser-webpack-plugin@npm:^5.3.1, terser-webpack-plugin@npm:^5.3.10": version: 5.3.10 resolution: "terser-webpack-plugin@npm:5.3.10" @@ -21192,7 +20551,7 @@ __metadata: languageName: node linkType: hard -"terser@npm:^5.10.0, terser@npm:^5.16.8, terser@npm:^5.26.0": +"terser@npm:^5.10.0, terser@npm:^5.26.0": version: 5.31.0 resolution: "terser@npm:5.31.0" dependencies: @@ -21247,7 +20606,7 @@ __metadata: languageName: node linkType: hard -"through2@npm:^2.0.1, through2@npm:^2.0.3": +"through2@npm:^2.0.3": version: 2.0.5 resolution: "through2@npm:2.0.5" dependencies: @@ -21290,14 +20649,14 @@ __metadata: languageName: node linkType: hard -"tiny-invariant@npm:^1.0.2, tiny-invariant@npm:^1.3.1, tiny-invariant@npm:^1.3.3": +"tiny-invariant@npm:^1.3.1, tiny-invariant@npm:^1.3.3": version: 1.3.3 resolution: "tiny-invariant@npm:1.3.3" checksum: 5e185c8cc2266967984ce3b352a4e57cb89dad5a8abb0dea21468a6ecaa67cd5bb47a3b7a85d08041008644af4f667fb8b6575ba38ba5fb00b3b5068306e59fe languageName: node linkType: hard -"tiny-warning@npm:^1.0.0, tiny-warning@npm:^1.0.3": +"tiny-warning@npm:^1.0.3": version: 1.0.3 resolution: "tiny-warning@npm:1.0.3" checksum: da62c4acac565902f0624b123eed6dd3509bc9a8d30c06e017104bedcf5d35810da8ff72864400ad19c5c7806fc0a8323c68baf3e326af7cb7d969f846100d71 @@ -21403,6 +20762,16 @@ __metadata: languageName: node linkType: hard +"token-types@npm:^5.0.1": + version: 5.0.1 + resolution: "token-types@npm:5.0.1" + dependencies: + "@tokenizer/token": "npm:^0.3.0" + ieee754: "npm:^1.2.1" + checksum: 0985369bbea9f53a5ccd79bb9899717b41401a813deb2c7fb1add5d0baf2f702aaf6da78f6e0ccf346d5a9f7acaa7cb5efed7d092d89d8c1e6962959e9509bc0 + languageName: node + linkType: hard + "totalist@npm:^3.0.0": version: 3.0.1 resolution: "totalist@npm:3.0.1" @@ -21498,7 +20867,7 @@ __metadata: languageName: node linkType: hard -"ts-node-dev@npm:2.0.0, ts-node-dev@npm:^2.0.0": +"ts-node-dev@npm:2.0.0": version: 2.0.0 resolution: "ts-node-dev@npm:2.0.0" dependencies: @@ -21688,15 +21057,6 @@ __metadata: languageName: node linkType: hard -"tunnel-agent@npm:^0.6.0": - version: 0.6.0 - resolution: "tunnel-agent@npm:0.6.0" - dependencies: - safe-buffer: "npm:^5.0.1" - checksum: 7f0d9ed5c22404072b2ae8edc45c071772affd2ed14a74f03b4e71b4dd1a14c3714d85aed64abcaaee5fec2efc79002ba81155c708f4df65821b444abb0cfade - languageName: node - linkType: hard - "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -22256,7 +21616,7 @@ __metadata: languageName: node linkType: hard -"utils-merge@npm:1.0.1, utils-merge@npm:^1.0.1": +"utils-merge@npm:1.0.1": version: 1.0.1 resolution: "utils-merge@npm:1.0.1" checksum: 5d6949693d58cb2e636a84f3ee1c6e7b2f9c16cb1d42d0ecb386d8c025c69e327205aa1c69e2868cc06a01e5e20681fbba55a4e0ed0cce913d60334024eae798 @@ -22281,7 +21641,7 @@ __metadata: languageName: node linkType: hard -"uuid@npm:9.0.1, uuid@npm:^9.0.0": +"uuid@npm:9.0.1, uuid@npm:^9.0.0, uuid@npm:^9.0.1": version: 9.0.1 resolution: "uuid@npm:9.0.1" bin: @@ -22314,13 +21674,6 @@ __metadata: languageName: node linkType: hard -"value-equal@npm:^1.0.1": - version: 1.0.1 - resolution: "value-equal@npm:1.0.1" - checksum: bb7ae1facc76b5cf8071aeb6c13d284d023fdb370478d10a5d64508e0e6e53bb459c4bbe34258df29d82e6f561f874f0105eba38de0e61fe9edd0bdce07a77a2 - languageName: node - linkType: hard - "value-or-promise@npm:^1.0.11, value-or-promise@npm:^1.0.12": version: 1.0.12 resolution: "value-or-promise@npm:1.0.12" @@ -22335,55 +21688,6 @@ __metadata: languageName: node linkType: hard -"vite-plugin-virtual@npm:^0.2.0": - version: 0.2.0 - resolution: "vite-plugin-virtual@npm:0.2.0" - peerDependencies: - vite: ^2.0.0 || ^3.0.0 || ^4.0.0 - checksum: e1be46e7842cd8f7aa60fd2f0225186cad2050598348d128ac2733fa82e2a740b3528a4bbbc438f244db92944898eb2c58c8299cb50b7c4ee50746ba41095a13 - languageName: node - linkType: hard - -"vite@npm:^4.4.9": - version: 4.5.3 - resolution: "vite@npm:4.5.3" - dependencies: - esbuild: "npm:^0.18.10" - fsevents: "npm:~2.3.2" - postcss: "npm:^8.4.27" - rollup: "npm:^3.27.1" - peerDependencies: - "@types/node": ">= 14" - less: "*" - lightningcss: ^1.21.0 - sass: "*" - stylus: "*" - sugarss: "*" - terser: ^5.4.0 - dependenciesMeta: - fsevents: - optional: true - peerDependenciesMeta: - "@types/node": - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - bin: - vite: bin/vite.js - checksum: 82efe1bc6d6848f8c97b71f1dc5b2fba2c3f30b2207ef2451c8df1a0ed5903c55714d7cd8ecb75879b488661d97f6e01a4ad758b5ef6a50a14338f916233bfa4 - languageName: node - linkType: hard - "vm-browserify@npm:^1.1.2": version: 1.1.2 resolution: "vm-browserify@npm:1.1.2" @@ -22391,22 +21695,6 @@ __metadata: languageName: node linkType: hard -"void-elements@npm:3.1.0": - version: 3.1.0 - resolution: "void-elements@npm:3.1.0" - checksum: 0390f818107fa8fce55bb0a5c3f661056001c1d5a2a48c28d582d4d847347c2ab5b7f8272314cac58acf62345126b6b09bea623a185935f6b1c3bbce0dfd7f7f - languageName: node - linkType: hard - -"warning@npm:^4.0.2": - version: 4.0.3 - resolution: "warning@npm:4.0.3" - dependencies: - loose-envify: "npm:^1.0.0" - checksum: e7842aff036e2e07ce7a6cc3225e707775b969fe3d0577ad64bd24660e3a9ce3017f0b8c22a136566dcd3a151f37b8ed1ccee103b3bd82bd8a571bf80b247bc4 - languageName: node - linkType: hard - "watchpack@npm:^2.2.0, watchpack@npm:^2.4.1": version: 2.4.1 resolution: "watchpack@npm:2.4.1" @@ -22563,13 +21851,6 @@ __metadata: languageName: node linkType: hard -"whatwg-fetch@npm:^3.4.1": - version: 3.6.20 - resolution: "whatwg-fetch@npm:3.6.20" - checksum: 2b4ed92acd6a7ad4f626a6cb18b14ec982bbcaf1093e6fe903b131a9c6decd14d7f9c9ca3532663c2759d1bdf01d004c77a0adfb2716a5105465c20755a8c57c - languageName: node - linkType: hard - "whatwg-mimetype@npm:^3.0.0": version: 3.0.0 resolution: "whatwg-mimetype@npm:3.0.0" @@ -22799,7 +22080,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.12.0, ws@npm:^8.13.0, ws@npm:^8.14.2, ws@npm:^8.2.3": +"ws@npm:^8.12.0, ws@npm:^8.13.0, ws@npm:^8.14.2, ws@npm:^8.16.0, ws@npm:^8.2.3": version: 8.17.0 resolution: "ws@npm:8.17.0" peerDependencies: @@ -22894,13 +22175,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^20.2.2": - version: 20.2.9 - resolution: "yargs-parser@npm:20.2.9" - checksum: 0188f430a0f496551d09df6719a9132a3469e47fe2747208b1dd0ab2bb0c512a95d0b081628bbca5400fb20dbf2fabe63d22badb346cecadffdd948b049f3fcc - languageName: node - linkType: hard - "yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" @@ -22927,22 +22201,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^16.1.0": - version: 16.2.0 - resolution: "yargs@npm:16.2.0" - dependencies: - cliui: "npm:^7.0.2" - escalade: "npm:^3.1.1" - get-caller-file: "npm:^2.0.5" - require-directory: "npm:^2.1.1" - string-width: "npm:^4.2.0" - y18n: "npm:^5.0.5" - yargs-parser: "npm:^20.2.2" - checksum: 807fa21211d2117135d557f95fcd3c3d390530cda2eca0c840f1d95f0f40209dcfeb5ec18c785a1f3425896e623e3b2681e8bb7b6600060eda1c3f4804e7957e - languageName: node - linkType: hard - -"yargs@npm:^17.0.0": +"yargs@npm:^17.0.0, yargs@npm:^17.7.2": version: 17.7.2 resolution: "yargs@npm:17.7.2" dependencies: