From 5e86d7ab9c5200d794c3adb2b422d20a2aefd2ce Mon Sep 17 00:00:00 2001 From: Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> Date: Sat, 13 Aug 2022 02:00:50 +0200 Subject: [PATCH] restructure to single project --- api/.dockerignore => .dockerignore | 0 .gitignore | 2 + api/.env.example | 8 - api/.gitignore | 115 - api/.npmignore | 1 - api/.prettierrc | 6 - api/.vscode/api-snippets.code-snippets | 25 - api/.vscode/launch.json | 28 - api/Dockerfile | 12 - api/README.md | 67 - api/babel.config.js | 6 - api/jest/getRouteDescriptions.js | 66 - api/jest/globalSetup.js | 20 - api/jest/setup.js | 2 - api/package-lock.json | Bin 556574 -> 0 bytes api/package.json | 91 - api/tsconfig.json | 75 - {api/assets => assets}/checkLocale.js | 0 {api/client_test => assets}/developers.html | 0 .../dff87c953f43b561d71fbcfe8a93a79a.png | 0 {api/assets => assets}/endpoints.json | 0 {api/assets => assets}/features.json | 0 {api/assets => assets}/fosscord-login.css | 0 {api/assets => assets}/fosscord.css | 0 {api/client_test => assets}/index.html | 2 +- .../inline-plugins/autoRegister.js | 0 .../inline-plugins/fosscord-login.js | 0 {api => assets}/locales/af/auth.json | 0 {api => assets}/locales/af/common.json | 0 {api => assets}/locales/ar/auth.json | 0 {api => assets}/locales/ar/common.json | 0 {api => assets}/locales/arn/auth.json | 0 {api => assets}/locales/arn/common.json | 0 {api => assets}/locales/az/auth.json | 0 {api => assets}/locales/az/common.json | 0 {api => assets}/locales/be/auth.json | 0 {api => assets}/locales/be/common.json | 0 {api => assets}/locales/ber/auth.json | 0 {api => assets}/locales/ber/common.json | 0 {api => assets}/locales/bg/auth.json | 0 {api => assets}/locales/bg/common.json | 0 {api => assets}/locales/bo/auth.json | 0 {api => assets}/locales/bo/common.json | 0 {api => assets}/locales/ca/auth.json | 0 {api => assets}/locales/ca/common.json | 0 {api => assets}/locales/cs/auth.json | 0 {api => assets}/locales/cs/common.json | 0 {api => assets}/locales/da/auth.json | 0 {api => assets}/locales/da/common.json | 0 {api => assets}/locales/de/auth.json | 0 {api => assets}/locales/de/common.json | 0 {api => assets}/locales/el/auth.json | 0 {api => assets}/locales/el/common.json | 0 {api => assets}/locales/en/auth.json | 0 {api => assets}/locales/en/common.json | 0 {api => assets}/locales/eo/auth.json | 0 {api => assets}/locales/eo/common.json | 0 {api => assets}/locales/es/auth.json | 0 {api => assets}/locales/es/common.json | 0 {api => assets}/locales/eu/auth.json | 0 {api => assets}/locales/eu/common.json | 0 {api => assets}/locales/fa/auth.json | 0 {api => assets}/locales/fa/common.json | 0 {api => assets}/locales/fi/auth.json | 0 {api => assets}/locales/fi/common.json | 0 {api => assets}/locales/fr/auth.json | 0 {api => assets}/locales/fr/common.json | 0 {api => assets}/locales/gn/auth.json | 0 {api => assets}/locales/gn/common.json | 0 {api => assets}/locales/ha/auth.json | 0 {api => assets}/locales/ha/common.json | 0 {api => assets}/locales/he/auth.json | 0 {api => assets}/locales/he/common.json | 0 {api => assets}/locales/hi/auth.json | 0 {api => assets}/locales/hi/common.json | 0 {api => assets}/locales/hr/auth.json | 0 {api => assets}/locales/hr/common.json | 0 {api => assets}/locales/hu/auth.json | 0 {api => assets}/locales/hu/common.json | 0 {api => assets}/locales/id/auth.json | 0 {api => assets}/locales/id/common.json | 0 {api => assets}/locales/it/auth.json | 0 {api => assets}/locales/it/common.json | 0 {api => assets}/locales/ja/auth.json | 0 {api => assets}/locales/ja/common.json | 0 {api => assets}/locales/jv/auth.json | 0 {api => assets}/locales/jv/common.json | 0 {api => assets}/locales/kk/auth.json | 0 {api => assets}/locales/kk/common.json | 0 {api => assets}/locales/ko/auth.json | 0 {api => assets}/locales/ko/common.json | 0 {api => assets}/locales/ku/auth.json | 0 {api => assets}/locales/ku/common.json | 0 {api => assets}/locales/la/auth.json | 0 {api => assets}/locales/la/common.json | 0 {api => assets}/locales/lt/auth.json | 0 {api => assets}/locales/lt/common.json | 0 {api => assets}/locales/mi/auth.json | 0 {api => assets}/locales/mi/common.json | 0 {api => assets}/locales/mn/auth.json | 0 {api => assets}/locales/mn/common.json | 0 {api => assets}/locales/mr/auth.json | 0 {api => assets}/locales/mr/common.json | 0 {api => assets}/locales/nl/auth.json | 0 {api => assets}/locales/nl/common.json | 0 {api => assets}/locales/nn/auth.json | 0 {api => assets}/locales/nn/common.json | 0 {api => assets}/locales/no/auth.json | 0 {api => assets}/locales/no/common.json | 0 {api => assets}/locales/pa/auth.json | 0 {api => assets}/locales/pa/common.json | 0 {api => assets}/locales/pl/auth.json | 0 {api => assets}/locales/pl/common.json | 0 {api => assets}/locales/pt/auth.json | 0 {api => assets}/locales/pt/common.json | 0 {api => assets}/locales/qu/auth.json | 0 {api => assets}/locales/qu/common.json | 0 {api => assets}/locales/ro/auth.json | 0 {api => assets}/locales/ro/common.json | 0 {api => assets}/locales/ru/auth.json | 0 {api => assets}/locales/ru/common.json | 0 {api => assets}/locales/sh/auth.json | 0 {api => assets}/locales/sh/common.json | 0 {api => assets}/locales/si/auth.json | 0 {api => assets}/locales/si/common.json | 0 {api => assets}/locales/sk/auth.json | 0 {api => assets}/locales/sk/common.json | 0 {api => assets}/locales/sr/auth.json | 0 {api => assets}/locales/sr/common.json | 0 {api => assets}/locales/sv/auth.json | 0 {api => assets}/locales/sv/common.json | 0 {api => assets}/locales/sw/auth.json | 0 {api => assets}/locales/sw/common.json | 0 {api => assets}/locales/ta/auth.json | 0 {api => assets}/locales/ta/common.json | 0 {api => assets}/locales/te/auth.json | 0 {api => assets}/locales/te/common.json | 0 {api => assets}/locales/tl/auth.json | 0 {api => assets}/locales/tl/common.json | 0 {api => assets}/locales/tr/auth.json | 0 {api => assets}/locales/tr/common.json | 0 {api => assets}/locales/ug/auth.json | 0 {api => assets}/locales/ug/common.json | 0 {api => assets}/locales/uk/auth.json | 0 {api => assets}/locales/uk/common.json | 0 {api => assets}/locales/ur/auth.json | 0 {api => assets}/locales/ur/common.json | 0 {api => assets}/locales/vec/auth.json | 0 {api => assets}/locales/vec/common.json | 0 {api => assets}/locales/vi/auth.json | 0 {api => assets}/locales/vi/common.json | 0 {api => assets}/locales/zh/auth.json | 0 {api => assets}/locales/zh/common.json | 0 {api/assets => assets}/openapi.json | Bin {api/assets => assets}/plugins/.gitkeep | 0 .../preload-plugins/.gitkeep | 0 {api/assets => assets}/schemas.json | Bin 63992 -> 40574 bytes {api/assets => assets}/user.css | 0 {api/assets => assets}/widget/banner1.png | Bin {api/assets => assets}/widget/banner2.png | Bin {api/assets => assets}/widget/banner3.png | Bin {api/assets => assets}/widget/banner4.png | Bin {api/assets => assets}/widget/shield.png | Bin bundle/.prettierrc | 4 - bundle/.vscode/launch.json | 35 - bundle/package-lock.json | Bin 702083 -> 0 bytes bundle/package.json | 103 - bundle/src/stats.ts | 43 - bundle/tsnode.tsconfig.json | 15 - cdn/.env.example | 3 - cdn/.gitignore | 7 - cdn/.swcrc | 17 - cdn/Dockerfile | 7 - cdn/README.md | 112 - cdn/jest/setup.js | 2 - cdn/package-lock.json | Bin 500189 -> 0 bytes cdn/package.json | 54 - cdn/tsconfig.json | 81 - dashboard/README.md | 12 - dashboard/package-lock.json | Bin 88 -> 0 bytes dashboard/package.json | 23 - dashboard/src/index.ts | 0 gateway/.env.example | 4 - gateway/.gitignore | 107 - gateway/.swcrc | 16 - gateway/.vscode/launch.json | 17 - gateway/Dockerfile | 14 - gateway/README.md | 42 - gateway/package-lock.json | Bin 540153 -> 0 bytes gateway/package.json | 35 - gateway/tsconfig.json | 84 - package-lock.json | Bin 794026 -> 838348 bytes package.json | 94 +- {api/patches => patches}/ajv+8.6.2.patch | 0 .../typescript-json-schema+0.54.0.patch | 0 rtc/.gitignore | 145 - rtc/.npmignore | 1 - rtc/.prettierrc | 5 - rtc/CMakeLists.txt | 16 - rtc/README.md | 18 - rtc/config.json | 1 - rtc/src/main.cpp | 47 - rtc/src/mongoStub.cpp | 84 - rtc/src/mongoStub.hpp | 41 - rtc/src/rtcPeerHandler.cpp | 83 - rtc/src/rtcPeerHandler.hpp | 32 - rtc/src/rtcServer.hpp | 0 {util/scripts => scripts}/benchmark.js | 0 .../benchmark/connections.js | 0 .../scripts => scripts}/benchmark/index.js | 0 .../scripts => scripts}/benchmark/users.js | 0 {bundle/scripts => scripts}/build.js | 11 +- {bundle/scripts => scripts}/db_migrations.sh | 0 {bundle/scripts => scripts}/depcheck.js | 0 {bundle/scripts => scripts}/depclean.js | 0 {api/scripts => scripts}/droptables.sql | 0 {bundle/scripts => scripts}/gen_index.js | 0 {api/scripts => scripts}/generate_openapi.js | 0 {api/scripts => scripts}/generate_schema.js | 2 +- {bundle/scripts => scripts}/install.js | 0 .../scripts => scripts}/migrate_db_engine.js | 0 {bundle/scripts => scripts}/rights.js | 0 .../scripts => scripts}/stresstest/.gitignore | 0 .../stresstest/accounts.json.example | 0 .../stresstest/config.json.example | 0 {api/scripts => scripts}/stresstest/index.js | 0 .../stresstest/package-lock.json | Bin .../stresstest/package.json | 0 .../stresstest/src/login/index.js | 2 +- .../stresstest/src/message/send.js | 0 .../stresstest/src/register/index.js | 0 {bundle/scripts => scripts}/update_schemas.js | 0 {bundle/scripts => scripts}/utils.js | 0 {bundle/src => src}/Server.ts | 4 +- {api/src => src/api}/Server.ts | 0 {api/src => src/api}/global.d.ts | 0 {api/src => src/api}/index.ts | 0 .../api}/middlewares/Authentication.ts | 0 .../src => src/api}/middlewares/BodyParser.ts | 0 {api/src => src/api}/middlewares/CORS.ts | 0 .../api}/middlewares/ErrorHandler.ts | 0 {api/src => src/api}/middlewares/RateLimit.ts | 0 .../src => src/api}/middlewares/TestClient.ts | 16 +- .../api}/middlewares/Translation.ts | 6 +- {api/src => src/api}/middlewares/index.ts | 0 {api/src => src/api}/routes/-/healthz.ts | 0 {api/src => src/api}/routes/-/readyz.ts | 0 .../routes/applications/#id/entitlements.ts | 0 .../api}/routes/applications/detectable.ts | 0 .../api}/routes/applications/index.ts | 0 .../api}/routes/auth/location-metadata.ts | 0 {api/src => src/api}/routes/auth/login.ts | 0 {api/src => src/api}/routes/auth/mfa/totp.ts | 0 {api/src => src/api}/routes/auth/register.ts | 0 .../routes/channels/#channel_id/followers.ts | 0 .../api}/routes/channels/#channel_id/index.ts | 0 .../routes/channels/#channel_id/invites.ts | 0 .../#channel_id/messages/#message_id/ack.ts | 0 .../messages/#message_id/crosspost.ts | 0 .../#channel_id/messages/#message_id/index.ts | 0 .../messages/#message_id/reactions.ts | 0 .../#channel_id/messages/bulk-delete.ts | 2 +- .../channels/#channel_id/messages/index.ts | 0 .../channels/#channel_id/permissions.ts | 0 .../api}/routes/channels/#channel_id/pins.ts | 0 .../api}/routes/channels/#channel_id/purge.ts | 0 .../routes/channels/#channel_id/recipients.ts | 0 .../routes/channels/#channel_id/typing.ts | 0 .../routes/channels/#channel_id/webhooks.ts | 0 .../api}/routes/discoverable-guilds.ts | 0 {api/src => src/api}/routes/discovery.ts | 0 {api/src => src/api}/routes/downloads.ts | 0 {api/src => src/api}/routes/experiments.ts | 0 {api/src => src/api}/routes/gateway/bot.ts | 0 {api/src => src/api}/routes/gateway/index.ts | 0 {api/src => src/api}/routes/gifs/search.ts | 0 .../api}/routes/gifs/trending-gifs.ts | 0 {api/src => src/api}/routes/gifs/trending.ts | 0 .../api}/routes/guild-recommendations.ts | 0 .../routes/guilds/#guild_id/audit-logs.ts | 0 .../api}/routes/guilds/#guild_id/bans.ts | 0 .../api}/routes/guilds/#guild_id/channels.ts | 0 .../api}/routes/guilds/#guild_id/delete.ts | 0 .../#guild_id/discovery-requirements.ts | 0 .../api}/routes/guilds/#guild_id/emojis.ts | 0 .../api}/routes/guilds/#guild_id/index.ts | 0 .../routes/guilds/#guild_id/integrations.ts | 0 .../api}/routes/guilds/#guild_id/invites.ts | 0 .../#guild_id/members/#member_id/index.ts | 0 .../#guild_id/members/#member_id/nick.ts | 0 .../#member_id/roles/#role_id/index.ts | 0 .../routes/guilds/#guild_id/members/index.ts | 0 .../api}/routes/guilds/#guild_id/premium.ts | 0 .../api}/routes/guilds/#guild_id/prune.ts | 0 .../api}/routes/guilds/#guild_id/regions.ts | 0 .../guilds/#guild_id/roles/#role_id/index.ts | 0 .../routes/guilds/#guild_id/roles/index.ts | 0 .../api}/routes/guilds/#guild_id/stickers.ts | 0 .../api}/routes/guilds/#guild_id/templates.ts | 0 .../routes/guilds/#guild_id/vanity-url.ts | 0 .../#guild_id/voice-states/#user_id/index.ts | 0 .../api}/routes/guilds/#guild_id/webhooks.ts | 0 .../routes/guilds/#guild_id/welcome_screen.ts | 0 .../routes/guilds/#guild_id/widget.json.ts | 0 .../routes/guilds/#guild_id/widget.png.ts | 2 +- .../api}/routes/guilds/#guild_id/widget.ts | 0 {api/src => src/api}/routes/guilds/index.ts | 0 .../api}/routes/guilds/templates/index.ts | 0 {api/src => src/api}/routes/invites/index.ts | 0 {api/src => src/api}/routes/oauth2/tokens.ts | 0 .../api}/routes/outbound-promotions.ts | 0 .../routes/partners/#guild_id/requirements.ts | 0 {api/src => src/api}/routes/ping.ts | 0 .../api}/routes/policies/instance/domains.ts | 0 .../api}/routes/policies/instance/index.ts | 0 .../api}/routes/policies/instance/limits.ts | 0 .../scheduled-maintenances/upcoming_json.ts | 0 {api/src => src/api}/routes/science.ts | 0 .../src => src/api}/routes/stage-instances.ts | 0 .../api}/routes/sticker-packs/index.ts | 0 .../api}/routes/stickers/#sticker_id/index.ts | 0 {api/src => src/api}/routes/stop.ts | 0 .../store/published-listings/applications.ts | 0 .../applications/#id/subscription-plans.ts | 0 .../routes/store/published-listings/skus.ts | 0 .../skus/#sku_id/subscription-plans.ts | 0 {api/src => src/api}/routes/teams.ts | 0 .../api}/routes/template.ts.disabled | 0 {api/src => src/api}/routes/track.ts | 0 {api/src => src/api}/routes/updates.ts | 0 .../src => src/api}/routes/users/#id/index.ts | 0 .../api}/routes/users/#id/profile.ts | 0 .../api}/routes/users/#id/relationships.ts | 0 .../@me/activities/statistics/applications.ts | 0 .../routes/users/@me/affinities/guilds.ts | 0 .../api}/routes/users/@me/affinities/users.ts | 0 .../@me/applications/#app_id/entitlements.ts | 0 .../routes/users/@me/billing/country-code.ts | 0 .../users/@me/billing/payment-sources.ts | 0 .../routes/users/@me/billing/subscriptions.ts | 0 .../api}/routes/users/@me/channels.ts | 0 .../api}/routes/users/@me/connections.ts | 0 .../api}/routes/users/@me/delete.ts | 0 .../api}/routes/users/@me/devices.ts | 0 .../api}/routes/users/@me/disable.ts | 0 .../api}/routes/users/@me/email-settings.ts | 0 .../api}/routes/users/@me/entitlements.ts | 0 .../api}/routes/users/@me/guilds.ts | 0 .../@me/guilds/premium/subscription-slots.ts | 0 .../src => src/api}/routes/users/@me/index.ts | 0 .../api}/routes/users/@me/library.ts | 0 .../api}/routes/users/@me/mfa/codes.ts | 0 .../api}/routes/users/@me/mfa/totp/disable.ts | 0 .../api}/routes/users/@me/mfa/totp/enable.ts | 0 .../src => src/api}/routes/users/@me/notes.ts | 0 .../api}/routes/users/@me/relationships.ts | 0 .../api}/routes/users/@me/settings.ts | 0 {api/src => src/api}/routes/voice/regions.ts | 0 {api/src => src/api}/start.ts | 2 +- .../api}/util/entities/AssetCacheItem.ts | 0 .../util/entities/blockedEmailDomains.txt | 0 .../util/entities/trustedEmailDomains.txt | 0 .../src => src/api}/util/handlers/Instance.ts | 0 {api/src => src/api}/util/handlers/Message.ts | 0 {api/src => src/api}/util/handlers/Voice.ts | 0 {api/src => src/api}/util/handlers/route.ts | 2 +- {api/src => src/api}/util/index.ts | 0 {api/src => src/api}/util/utility/Base64.ts | 0 .../api}/util/utility/RandomInviteID.ts | 0 {api/src => src/api}/util/utility/String.ts | 0 .../src => src/api}/util/utility/ipAddress.ts | 0 .../api}/util/utility/passwordStrength.ts | 0 {cdn/src => src/cdn}/Server.ts | 0 {cdn/src => src/cdn}/index.ts | 0 {cdn/src => src/cdn}/routes/attachments.ts | 0 {cdn/src => src/cdn}/routes/avatars.ts | 0 {cdn/src => src/cdn}/routes/external.ts | 0 {cdn/src => src/cdn}/routes/ping.ts | 0 {cdn/src => src/cdn}/routes/role-icons.ts | 0 {cdn/src => src/cdn}/start.ts | 0 {cdn/src => src/cdn}/util/FileStorage.ts | 0 {cdn/src => src/cdn}/util/S3Storage.ts | 0 {cdn/src => src/cdn}/util/Storage.ts | 0 {cdn/src => src/cdn}/util/index.ts | 0 {cdn/src => src/cdn}/util/multer.ts | 0 {gateway/src => src/gateway}/Server.ts | 0 {gateway/src => src/gateway}/events/Close.ts | 0 .../src => src/gateway}/events/Connection.ts | 0 .../src => src/gateway}/events/Message.ts | 3 +- {gateway/src => src/gateway}/index.ts | 0 .../src => src/gateway}/listener/listener.ts | 0 .../src => src/gateway}/opcodes/Heartbeat.ts | 0 src/gateway/opcodes/Identify.ts | 298 + .../gateway}/opcodes/LazyRequest.ts | 2 +- .../gateway}/opcodes/PresenceUpdate.ts | 0 .../gateway}/opcodes/RequestGuildMembers.ts | 0 .../src => src/gateway}/opcodes/Resume.ts | 0 .../gateway}/opcodes/VoiceStateUpdate.ts | 2 +- .../gateway}/opcodes/experiments.json | 0 {gateway/src => src/gateway}/opcodes/index.ts | 0 .../src => src/gateway}/opcodes/instanceOf.ts | 0 {gateway/src => src/gateway}/start.ts | 0 .../src => src/gateway}/util/Constants.ts | 0 .../src => src/gateway}/util/Heartbeat.ts | 0 {gateway/src => src/gateway}/util/Send.ts | 0 .../src => src/gateway}/util/SessionUtils.ts | 0 .../src => src/gateway}/util/WebSocket.ts | 4 +- {gateway/src => src/gateway}/util/index.ts | 0 {bundle/src => src}/start.ts | 0 src/stats.ts | 24 + {util/src => src/util}/config/Config.ts | 2 +- {util/src => src/util}/config/index.ts | 0 .../util}/config/types/ApiConfiguration.ts | 0 .../util}/config/types/ClientConfiguration.ts | 0 .../config/types/DefaultsConfiguration.ts | 0 .../config/types/EndpointConfiguration.ts | 0 .../config/types/GeneralConfiguration.ts | 0 .../util}/config/types/GifConfiguration.ts | 0 .../util}/config/types/GuildConfiguration.ts | 0 .../util}/config/types/KafkaConfiguration.ts | 0 .../util}/config/types/LimitConfigurations.ts | 0 .../util}/config/types/LoginConfiguration.ts | 0 .../config/types/MetricsConfiguration.ts | 0 .../config/types/RabbitMQConfiguration.ts | 0 .../util}/config/types/RegionConfiguration.ts | 0 .../config/types/RegisterConfiguration.ts | 0 .../config/types/SecurityConfiguration.ts | 0 .../util}/config/types/SentryConfiguration.ts | 0 .../config/types/TemplateConfiguration.ts | 0 {util/src => src/util}/config/types/index.ts | 0 .../client/ClientReleaseConfiguration.ts | 0 .../types/subconfigurations/client/index.ts | 0 .../defaults/GuildDefaults.ts | 0 .../defaults/UserDefaults.ts | 0 .../types/subconfigurations/defaults/index.ts | 0 .../types/subconfigurations/guild/AutoJoin.ts | 0 .../subconfigurations/guild/Discovery.ts | 0 .../types/subconfigurations/guild/index.ts | 0 .../config/types/subconfigurations/index.ts | 0 .../subconfigurations/kafka/KafkaBroker.ts | 0 .../types/subconfigurations/kafka/index.ts | 0 .../subconfigurations/limits/ChannelLimits.ts | 0 .../subconfigurations/limits/GuildLimits.ts | 0 .../subconfigurations/limits/MessageLimits.ts | 0 .../subconfigurations/limits/RateLimits.ts | 0 .../subconfigurations/limits/UserLimits.ts | 0 .../types/subconfigurations/limits/index.ts | 0 .../limits/ratelimits/Auth.ts | 0 .../limits/ratelimits/RateLimitOptions.ts | 0 .../limits/ratelimits/Route.ts | 2 +- .../limits/ratelimits/index.ts | 0 .../types/subconfigurations/region/Region.ts | 0 .../types/subconfigurations/region/index.ts | 0 .../subconfigurations/register/DateOfBirth.ts | 0 .../types/subconfigurations/register/Email.ts | 0 .../subconfigurations/register/Password.ts | 0 .../types/subconfigurations/register/index.ts | 0 .../subconfigurations/security/Captcha.ts | 0 .../subconfigurations/security/TwoFactor.ts | 0 .../types/subconfigurations/security/index.ts | 0 {util/src => src/util}/dtos/DmChannelDTO.ts | 0 {util/src => src/util}/dtos/UserDTO.ts | 0 {util/src => src/util}/dtos/index.ts | 0 .../src => src/util}/entities/Application.ts | 0 {util/src => src/util}/entities/Attachment.ts | 0 {util/src => src/util}/entities/AuditLog.ts | 0 .../src => src/util}/entities/BackupCodes.ts | 0 {util/src => src/util}/entities/Ban.ts | 0 {util/src => src/util}/entities/BaseClass.ts | 0 {util/src => src/util}/entities/Categories.ts | 0 {util/src => src/util}/entities/Channel.ts | 0 .../util}/entities/ClientRelease.ts | 0 {util/src => src/util}/entities/Config.ts | 0 .../util}/entities/ConnectedAccount.ts | 0 {util/src => src/util}/entities/Emoji.ts | 0 {util/src => src/util}/entities/Encryption.ts | 0 {util/src => src/util}/entities/Group.ts | 0 {util/src => src/util}/entities/Guild.ts | 0 {util/src => src/util}/entities/Invite.ts | 0 {util/src => src/util}/entities/Member.ts | 0 {util/src => src/util}/entities/Message.ts | 0 {util/src => src/util}/entities/Migration.ts | 0 {util/src => src/util}/entities/Note.ts | 0 {util/src => src/util}/entities/RateLimit.ts | 0 {util/src => src/util}/entities/ReadState.ts | 0 {util/src => src/util}/entities/Recipient.ts | 0 .../src => src/util}/entities/Relationship.ts | 0 {util/src => src/util}/entities/Role.ts | 0 {util/src => src/util}/entities/Session.ts | 0 {util/src => src/util}/entities/Sticker.ts | 0 .../src => src/util}/entities/StickerPack.ts | 0 {util/src => src/util}/entities/Team.ts | 0 {util/src => src/util}/entities/TeamMember.ts | 0 {util/src => src/util}/entities/Template.ts | 0 {util/src => src/util}/entities/User.ts | 0 {util/src => src/util}/entities/UserGroup.ts | 0 .../src => src/util}/entities/UserSettings.ts | 0 {util/src => src/util}/entities/VoiceState.ts | 0 {util/src => src/util}/entities/Webhook.ts | 0 {util/src => src/util}/entities/index.ts | 0 {util/src => src/util}/index.ts | 1 + {util/src => src/util}/interfaces/Activity.ts | 0 {util/src => src/util}/interfaces/Event.ts | 0 .../util}/interfaces/Interaction.ts | 0 {util/src => src/util}/interfaces/Presence.ts | 0 {util/src => src/util}/interfaces/Status.ts | 0 {util/src => src/util}/interfaces/index.ts | 0 .../mariadb/1659901151025-initial.ts | 0 .../1659921859145-premium_since_as_date.ts | 0 .../mariadb/1660258393551-CodeCleanup3.ts | 0 .../mariadb/1660260587556-CodeCleanup4.ts | 0 .../mariadb/1660265930624-CodeCleanup5.ts | 0 .../postgres/1659899687168-initial.ts | 0 .../1659921826567-premium_since_as_date.ts | 0 .../postgres/1660257815436-CodeCleanup2.ts | 0 .../postgres/1660258372154-CodeCleanup3.ts | 0 .../postgres/1660260565996-CodeCleanup4.ts | 0 .../postgres/1660265907544-CodeCleanup5.ts | 0 .../sqlite/1659899662635-initial.ts | 0 .../1659921722863-premium_since_as_date.ts | 0 .../sqlite/1660257576211-CodeCleanup1.ts | 0 .../sqlite/1660257795259-CodeCleanup2.ts | 0 .../sqlite/1660258351379-CodeCleanup3.ts | 0 .../sqlite/1660260672914-CodeCleanup4.ts | 0 .../util}/schemas/ActivitySchema.ts | 0 .../util}/schemas/BanCreateSchema.ts | 0 .../util}/schemas/BanModeratorSchema.ts | 0 .../util}/schemas/BanRegistrySchema.ts | 0 .../util}/schemas/BulkDeleteSchema.ts | 0 .../util}/schemas/ChannelModifySchema.ts | 0 .../ChannelPermissionOverwriteSchema.ts | 0 .../util}/schemas/ChannelReorderSchema.ts | 0 .../util}/schemas/DmChannelCreateSchema.ts | 0 .../util}/schemas/EmojiCreateSchema.ts | 0 .../util}/schemas/EmojiModifySchema.ts | 0 .../util}/schemas/GuildCreateSchema.ts | 0 .../schemas/GuildTemplateCreateSchema.ts | 0 .../util}/schemas/GuildUpdateSchema.ts | 0 .../schemas/GuildUpdateWelcomeScreenSchema.ts | 0 .../util}/schemas/IdentifySchema.ts | 8 +- .../util}/schemas/InviteCreateSchema.ts | 0 .../util}/schemas/LazyRequestSchema.ts | 0 {util/src => src/util}/schemas/LoginSchema.ts | 0 .../util}/schemas/MemberChangeSchema.ts | 0 .../util}/schemas/MemberNickChangeSchema.ts | 0 .../util}/schemas/MessageAcknowledgeSchema.ts | 0 .../util}/schemas/MessageCreateSchema.ts | 0 .../util}/schemas/MfaCodesSchema.ts | 0 .../util}/schemas/ModifyGuildStickerSchema.ts | 0 {util/src => src/util}/schemas/PruneSchema.ts | 0 {util/src => src/util}/schemas/PurgeSchema.ts | 0 .../util}/schemas/RegisterSchema.ts | 0 .../util}/schemas/RelationshipPostSchema.ts | 0 .../util}/schemas/RelationshipPutSchema.ts | 0 .../util}/schemas/RoleModifySchema.ts | 0 .../util}/schemas/RolePositionUpdateSchema.ts | 0 .../util}/schemas/TemplateCreateSchema.ts | 0 .../util}/schemas/TemplateModifySchema.ts | 0 .../util}/schemas/TotpDisableSchema.ts | 0 .../util}/schemas/TotpEnableSchema.ts | 0 {util/src => src/util}/schemas/TotpSchema.ts | 0 .../util}/schemas/UserModifySchema.ts | 0 .../util}/schemas/UserSettingsSchema.ts | 0 .../util}/schemas/VanityUrlSchema.ts | 0 .../util}/schemas/VoiceStateUpdateSchema.ts | 0 .../util}/schemas/WebhookCreateSchema.ts | 0 .../util}/schemas/WidgetModifySchema.ts | 0 {util/src => src/util}/schemas/index.ts | 0 {util/src => src/util}/util/ApiError.ts | 0 {util/src => src/util}/util/Array.ts | 0 {util/src => src/util}/util/AutoUpdate.ts | 0 {util/src => src/util}/util/BitField.ts | 0 {util/src => src/util}/util/Categories.ts | 0 {util/src => src/util}/util/Config.ts | 0 {util/src => src/util}/util/Constants.ts | 0 {util/src => src/util}/util/Database.ts | 0 {util/src => src/util}/util/Email.ts | 0 {util/src => src/util}/util/Event.ts | 0 {util/src => src/util}/util/FieldError.ts | 0 {util/src => src/util}/util/Intents.ts | 0 .../util}/util/InvisibleCharacters.ts | 0 {util/src => src/util}/util/MFA.ts | 0 {util/src => src/util}/util/MessageFlags.ts | 0 {util/src => src/util}/util/Permissions.ts | 0 {util/src => src/util}/util/RabbitMQ.ts | 0 {util/src => src/util}/util/Regex.ts | 0 {util/src => src/util}/util/Rights.ts | 0 {util/src => src/util}/util/Snowflake.ts | 0 {util/src => src/util}/util/String.ts | 0 {util/src => src/util}/util/Token.ts | 0 .../util}/util/TraverseDirectory.ts | 0 {util/src => src/util}/util/cdn.ts | 0 {util/src => src/util}/util/imports/Checks.ts | 0 .../util}/util/imports/HTTPError.ts | 0 .../src => src/util}/util/imports/OrmUtils.ts | 0 {util/src => src/util}/util/imports/index.ts | 0 {util/src => src/util}/util/index.ts | 0 {util/tests => tests}/User.test.js | 0 {cdn/tests => tests}/antman.jpg | Bin {cdn/tests => tests}/cdn_endpoints.test.js | 0 {cdn/tests => tests}/filestorage.test.js | 0 {api/tests => tests}/routes.test.ts | 0 .../tests => tests}/routes/auth/login.test.js | 0 .../routes/auth/register.test.js | 0 {api/tests => tests}/routes/ping.test.js | 0 {util/tests => tests}/setupJest.js | 0 bundle/tsconfig.json => tsconfig.json | 14 +- util/.gitignore | 110 - util/.npmignore | 1 - util/.prettierrc | 5 - util/.vscode/launch.json | 27 - util/README.md | 29 - util/package-lock.json | Bin 460763 -> 0 bytes util/package.json | 59 - util/tsconfig.json | 73 - webrtc/.DS_Store | Bin 6148 -> 0 bytes webrtc/.gitignore | 104 - webrtc/README.md | 3 - webrtc/package-lock.json | Bin 25101 -> 0 bytes webrtc/package.json | 24 - webrtc/src/Server.ts | 46 - webrtc/src/index.ts | 0 webrtc/src/start.ts | 3 - webrtc/src/test.ts | 8 - webrtc/tsconfig.json | 72 - yarn.lock | 6802 +++++++++++++++++ 626 files changed, 7256 insertions(+), 2449 deletions(-) rename api/.dockerignore => .dockerignore (100%) delete mode 100644 api/.env.example delete mode 100644 api/.gitignore delete mode 100644 api/.npmignore delete mode 100644 api/.prettierrc delete mode 100644 api/.vscode/api-snippets.code-snippets delete mode 100644 api/.vscode/launch.json delete mode 100644 api/Dockerfile delete mode 100644 api/README.md delete mode 100644 api/babel.config.js delete mode 100644 api/jest/getRouteDescriptions.js delete mode 100644 api/jest/globalSetup.js delete mode 100644 api/jest/setup.js delete mode 100644 api/package-lock.json delete mode 100644 api/package.json delete mode 100644 api/tsconfig.json rename {api/assets => assets}/checkLocale.js (100%) rename {api/client_test => assets}/developers.html (100%) rename {api/assets => assets}/dff87c953f43b561d71fbcfe8a93a79a.png (100%) rename {api/assets => assets}/endpoints.json (100%) rename {api/assets => assets}/features.json (100%) rename {api/assets => assets}/fosscord-login.css (100%) rename {api/assets => assets}/fosscord.css (100%) rename {api/client_test => assets}/index.html (98%) rename {api/assets => assets}/inline-plugins/autoRegister.js (100%) rename {api/assets => assets}/inline-plugins/fosscord-login.js (100%) rename {api => assets}/locales/af/auth.json (100%) rename {api => assets}/locales/af/common.json (100%) rename {api => assets}/locales/ar/auth.json (100%) rename {api => assets}/locales/ar/common.json (100%) rename {api => assets}/locales/arn/auth.json (100%) rename {api => assets}/locales/arn/common.json (100%) rename {api => assets}/locales/az/auth.json (100%) rename {api => assets}/locales/az/common.json (100%) rename {api => assets}/locales/be/auth.json (100%) rename {api => assets}/locales/be/common.json (100%) rename {api => assets}/locales/ber/auth.json (100%) rename {api => assets}/locales/ber/common.json (100%) rename {api => assets}/locales/bg/auth.json (100%) rename {api => assets}/locales/bg/common.json (100%) rename {api => assets}/locales/bo/auth.json (100%) rename {api => assets}/locales/bo/common.json (100%) rename {api => assets}/locales/ca/auth.json (100%) rename {api => assets}/locales/ca/common.json (100%) rename {api => assets}/locales/cs/auth.json (100%) rename {api => assets}/locales/cs/common.json (100%) rename {api => assets}/locales/da/auth.json (100%) rename {api => assets}/locales/da/common.json (100%) rename {api => assets}/locales/de/auth.json (100%) rename {api => assets}/locales/de/common.json (100%) rename {api => assets}/locales/el/auth.json (100%) rename {api => assets}/locales/el/common.json (100%) rename {api => assets}/locales/en/auth.json (100%) rename {api => assets}/locales/en/common.json (100%) rename {api => assets}/locales/eo/auth.json (100%) rename {api => assets}/locales/eo/common.json (100%) rename {api => assets}/locales/es/auth.json (100%) rename {api => assets}/locales/es/common.json (100%) rename {api => assets}/locales/eu/auth.json (100%) rename {api => assets}/locales/eu/common.json (100%) rename {api => assets}/locales/fa/auth.json (100%) rename {api => assets}/locales/fa/common.json (100%) rename {api => assets}/locales/fi/auth.json (100%) rename {api => assets}/locales/fi/common.json (100%) rename {api => assets}/locales/fr/auth.json (100%) rename {api => assets}/locales/fr/common.json (100%) rename {api => assets}/locales/gn/auth.json (100%) rename {api => assets}/locales/gn/common.json (100%) rename {api => assets}/locales/ha/auth.json (100%) rename {api => assets}/locales/ha/common.json (100%) rename {api => assets}/locales/he/auth.json (100%) rename {api => assets}/locales/he/common.json (100%) rename {api => assets}/locales/hi/auth.json (100%) rename {api => assets}/locales/hi/common.json (100%) rename {api => assets}/locales/hr/auth.json (100%) rename {api => assets}/locales/hr/common.json (100%) rename {api => assets}/locales/hu/auth.json (100%) rename {api => assets}/locales/hu/common.json (100%) rename {api => assets}/locales/id/auth.json (100%) rename {api => assets}/locales/id/common.json (100%) rename {api => assets}/locales/it/auth.json (100%) rename {api => assets}/locales/it/common.json (100%) rename {api => assets}/locales/ja/auth.json (100%) rename {api => assets}/locales/ja/common.json (100%) rename {api => assets}/locales/jv/auth.json (100%) rename {api => assets}/locales/jv/common.json (100%) rename {api => assets}/locales/kk/auth.json (100%) rename {api => assets}/locales/kk/common.json (100%) rename {api => assets}/locales/ko/auth.json (100%) rename {api => assets}/locales/ko/common.json (100%) rename {api => assets}/locales/ku/auth.json (100%) rename {api => assets}/locales/ku/common.json (100%) rename {api => assets}/locales/la/auth.json (100%) rename {api => assets}/locales/la/common.json (100%) rename {api => assets}/locales/lt/auth.json (100%) rename {api => assets}/locales/lt/common.json (100%) rename {api => assets}/locales/mi/auth.json (100%) rename {api => assets}/locales/mi/common.json (100%) rename {api => assets}/locales/mn/auth.json (100%) rename {api => assets}/locales/mn/common.json (100%) rename {api => assets}/locales/mr/auth.json (100%) rename {api => assets}/locales/mr/common.json (100%) rename {api => assets}/locales/nl/auth.json (100%) rename {api => assets}/locales/nl/common.json (100%) rename {api => assets}/locales/nn/auth.json (100%) rename {api => assets}/locales/nn/common.json (100%) rename {api => assets}/locales/no/auth.json (100%) rename {api => assets}/locales/no/common.json (100%) rename {api => assets}/locales/pa/auth.json (100%) rename {api => assets}/locales/pa/common.json (100%) rename {api => assets}/locales/pl/auth.json (100%) rename {api => assets}/locales/pl/common.json (100%) rename {api => assets}/locales/pt/auth.json (100%) rename {api => assets}/locales/pt/common.json (100%) rename {api => assets}/locales/qu/auth.json (100%) rename {api => assets}/locales/qu/common.json (100%) rename {api => assets}/locales/ro/auth.json (100%) rename {api => assets}/locales/ro/common.json (100%) rename {api => assets}/locales/ru/auth.json (100%) rename {api => assets}/locales/ru/common.json (100%) rename {api => assets}/locales/sh/auth.json (100%) rename {api => assets}/locales/sh/common.json (100%) rename {api => assets}/locales/si/auth.json (100%) rename {api => assets}/locales/si/common.json (100%) rename {api => assets}/locales/sk/auth.json (100%) rename {api => assets}/locales/sk/common.json (100%) rename {api => assets}/locales/sr/auth.json (100%) rename {api => assets}/locales/sr/common.json (100%) rename {api => assets}/locales/sv/auth.json (100%) rename {api => assets}/locales/sv/common.json (100%) rename {api => assets}/locales/sw/auth.json (100%) rename {api => assets}/locales/sw/common.json (100%) rename {api => assets}/locales/ta/auth.json (100%) rename {api => assets}/locales/ta/common.json (100%) rename {api => assets}/locales/te/auth.json (100%) rename {api => assets}/locales/te/common.json (100%) rename {api => assets}/locales/tl/auth.json (100%) rename {api => assets}/locales/tl/common.json (100%) rename {api => assets}/locales/tr/auth.json (100%) rename {api => assets}/locales/tr/common.json (100%) rename {api => assets}/locales/ug/auth.json (100%) rename {api => assets}/locales/ug/common.json (100%) rename {api => assets}/locales/uk/auth.json (100%) rename {api => assets}/locales/uk/common.json (100%) rename {api => assets}/locales/ur/auth.json (100%) rename {api => assets}/locales/ur/common.json (100%) rename {api => assets}/locales/vec/auth.json (100%) rename {api => assets}/locales/vec/common.json (100%) rename {api => assets}/locales/vi/auth.json (100%) rename {api => assets}/locales/vi/common.json (100%) rename {api => assets}/locales/zh/auth.json (100%) rename {api => assets}/locales/zh/common.json (100%) rename {api/assets => assets}/openapi.json (100%) rename {api/assets => assets}/plugins/.gitkeep (100%) rename {api/assets => assets}/preload-plugins/.gitkeep (100%) rename {api/assets => assets}/schemas.json (63%) rename {api/assets => assets}/user.css (100%) rename {api/assets => assets}/widget/banner1.png (100%) rename {api/assets => assets}/widget/banner2.png (100%) rename {api/assets => assets}/widget/banner3.png (100%) rename {api/assets => assets}/widget/banner4.png (100%) rename {api/assets => assets}/widget/shield.png (100%) delete mode 100644 bundle/.prettierrc delete mode 100644 bundle/.vscode/launch.json delete mode 100644 bundle/package-lock.json delete mode 100644 bundle/package.json delete mode 100644 bundle/src/stats.ts delete mode 100644 bundle/tsnode.tsconfig.json delete mode 100644 cdn/.env.example delete mode 100644 cdn/.gitignore delete mode 100644 cdn/.swcrc delete mode 100644 cdn/Dockerfile delete mode 100644 cdn/README.md delete mode 100644 cdn/jest/setup.js delete mode 100644 cdn/package-lock.json delete mode 100644 cdn/package.json delete mode 100644 cdn/tsconfig.json delete mode 100644 dashboard/README.md delete mode 100644 dashboard/package-lock.json delete mode 100644 dashboard/package.json delete mode 100644 dashboard/src/index.ts delete mode 100644 gateway/.env.example delete mode 100644 gateway/.gitignore delete mode 100644 gateway/.swcrc delete mode 100644 gateway/.vscode/launch.json delete mode 100644 gateway/Dockerfile delete mode 100644 gateway/README.md delete mode 100644 gateway/package-lock.json delete mode 100644 gateway/package.json delete mode 100644 gateway/tsconfig.json rename {api/patches => patches}/ajv+8.6.2.patch (100%) rename {api/patches => patches}/typescript-json-schema+0.54.0.patch (100%) delete mode 100644 rtc/.gitignore delete mode 100644 rtc/.npmignore delete mode 100644 rtc/.prettierrc delete mode 100644 rtc/CMakeLists.txt delete mode 100644 rtc/README.md delete mode 100644 rtc/config.json delete mode 100644 rtc/src/main.cpp delete mode 100644 rtc/src/mongoStub.cpp delete mode 100644 rtc/src/mongoStub.hpp delete mode 100644 rtc/src/rtcPeerHandler.cpp delete mode 100644 rtc/src/rtcPeerHandler.hpp delete mode 100644 rtc/src/rtcServer.hpp rename {util/scripts => scripts}/benchmark.js (100%) rename {bundle/scripts => scripts}/benchmark/connections.js (100%) rename {bundle/scripts => scripts}/benchmark/index.js (100%) rename {bundle/scripts => scripts}/benchmark/users.js (100%) rename {bundle/scripts => scripts}/build.js (77%) rename {bundle/scripts => scripts}/db_migrations.sh (100%) rename {bundle/scripts => scripts}/depcheck.js (100%) rename {bundle/scripts => scripts}/depclean.js (100%) rename {api/scripts => scripts}/droptables.sql (100%) rename {bundle/scripts => scripts}/gen_index.js (100%) rename {api/scripts => scripts}/generate_openapi.js (100%) rename {api/scripts => scripts}/generate_schema.js (96%) rename {bundle/scripts => scripts}/install.js (100%) rename {util/scripts => scripts}/migrate_db_engine.js (100%) rename {bundle/scripts => scripts}/rights.js (100%) rename {api/scripts => scripts}/stresstest/.gitignore (100%) rename {api/scripts => scripts}/stresstest/accounts.json.example (100%) rename {api/scripts => scripts}/stresstest/config.json.example (100%) rename {api/scripts => scripts}/stresstest/index.js (100%) rename {api/scripts => scripts}/stresstest/package-lock.json (100%) rename {api/scripts => scripts}/stresstest/package.json (100%) rename {api/scripts => scripts}/stresstest/src/login/index.js (91%) rename {api/scripts => scripts}/stresstest/src/message/send.js (100%) rename {api/scripts => scripts}/stresstest/src/register/index.js (100%) rename {bundle/scripts => scripts}/update_schemas.js (100%) rename {bundle/scripts => scripts}/utils.js (100%) rename {bundle/src => src}/Server.ts (97%) rename {api/src => src/api}/Server.ts (100%) rename {api/src => src/api}/global.d.ts (100%) rename {api/src => src/api}/index.ts (100%) rename {api/src => src/api}/middlewares/Authentication.ts (100%) rename {api/src => src/api}/middlewares/BodyParser.ts (100%) rename {api/src => src/api}/middlewares/CORS.ts (100%) rename {api/src => src/api}/middlewares/ErrorHandler.ts (100%) rename {api/src => src/api}/middlewares/RateLimit.ts (100%) rename {api/src => src/api}/middlewares/TestClient.ts (89%) rename {api/src => src/api}/middlewares/Translation.ts (84%) rename {api/src => src/api}/middlewares/index.ts (100%) rename {api/src => src/api}/routes/-/healthz.ts (100%) rename {api/src => src/api}/routes/-/readyz.ts (100%) rename {api/src => src/api}/routes/applications/#id/entitlements.ts (100%) rename {api/src => src/api}/routes/applications/detectable.ts (100%) rename {api/src => src/api}/routes/applications/index.ts (100%) rename {api/src => src/api}/routes/auth/location-metadata.ts (100%) rename {api/src => src/api}/routes/auth/login.ts (100%) rename {api/src => src/api}/routes/auth/mfa/totp.ts (100%) rename {api/src => src/api}/routes/auth/register.ts (100%) rename {api/src => src/api}/routes/channels/#channel_id/followers.ts (100%) rename {api/src => src/api}/routes/channels/#channel_id/index.ts (100%) rename {api/src => src/api}/routes/channels/#channel_id/invites.ts (100%) rename {api/src => src/api}/routes/channels/#channel_id/messages/#message_id/ack.ts (100%) rename {api/src => src/api}/routes/channels/#channel_id/messages/#message_id/crosspost.ts (100%) rename {api/src => src/api}/routes/channels/#channel_id/messages/#message_id/index.ts (100%) rename {api/src => src/api}/routes/channels/#channel_id/messages/#message_id/reactions.ts (100%) rename {api/src => src/api}/routes/channels/#channel_id/messages/bulk-delete.ts (95%) rename {api/src => src/api}/routes/channels/#channel_id/messages/index.ts (100%) rename {api/src => src/api}/routes/channels/#channel_id/permissions.ts (100%) rename {api/src => src/api}/routes/channels/#channel_id/pins.ts (100%) rename {api/src => src/api}/routes/channels/#channel_id/purge.ts (100%) rename {api/src => src/api}/routes/channels/#channel_id/recipients.ts (100%) rename {api/src => src/api}/routes/channels/#channel_id/typing.ts (100%) rename {api/src => src/api}/routes/channels/#channel_id/webhooks.ts (100%) rename {api/src => src/api}/routes/discoverable-guilds.ts (100%) rename {api/src => src/api}/routes/discovery.ts (100%) rename {api/src => src/api}/routes/downloads.ts (100%) rename {api/src => src/api}/routes/experiments.ts (100%) rename {api/src => src/api}/routes/gateway/bot.ts (100%) rename {api/src => src/api}/routes/gateway/index.ts (100%) rename {api/src => src/api}/routes/gifs/search.ts (100%) rename {api/src => src/api}/routes/gifs/trending-gifs.ts (100%) rename {api/src => src/api}/routes/gifs/trending.ts (100%) rename {api/src => src/api}/routes/guild-recommendations.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/audit-logs.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/bans.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/channels.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/delete.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/discovery-requirements.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/emojis.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/index.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/integrations.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/invites.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/members/#member_id/index.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/members/#member_id/nick.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/members/index.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/premium.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/prune.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/regions.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/roles/#role_id/index.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/roles/index.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/stickers.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/templates.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/vanity-url.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/voice-states/#user_id/index.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/webhooks.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/welcome_screen.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/widget.json.ts (100%) rename {api/src => src/api}/routes/guilds/#guild_id/widget.png.ts (97%) rename {api/src => src/api}/routes/guilds/#guild_id/widget.ts (100%) rename {api/src => src/api}/routes/guilds/index.ts (100%) rename {api/src => src/api}/routes/guilds/templates/index.ts (100%) rename {api/src => src/api}/routes/invites/index.ts (100%) rename {api/src => src/api}/routes/oauth2/tokens.ts (100%) rename {api/src => src/api}/routes/outbound-promotions.ts (100%) rename {api/src => src/api}/routes/partners/#guild_id/requirements.ts (100%) rename {api/src => src/api}/routes/ping.ts (100%) rename {api/src => src/api}/routes/policies/instance/domains.ts (100%) rename {api/src => src/api}/routes/policies/instance/index.ts (100%) rename {api/src => src/api}/routes/policies/instance/limits.ts (100%) rename {api/src => src/api}/routes/scheduled-maintenances/upcoming_json.ts (100%) rename {api/src => src/api}/routes/science.ts (100%) rename {api/src => src/api}/routes/stage-instances.ts (100%) rename {api/src => src/api}/routes/sticker-packs/index.ts (100%) rename {api/src => src/api}/routes/stickers/#sticker_id/index.ts (100%) rename {api/src => src/api}/routes/stop.ts (100%) rename {api/src => src/api}/routes/store/published-listings/applications.ts (100%) rename {api/src => src/api}/routes/store/published-listings/applications/#id/subscription-plans.ts (100%) rename {api/src => src/api}/routes/store/published-listings/skus.ts (100%) rename {api/src => src/api}/routes/store/published-listings/skus/#sku_id/subscription-plans.ts (100%) rename {api/src => src/api}/routes/teams.ts (100%) rename {api/src => src/api}/routes/template.ts.disabled (100%) rename {api/src => src/api}/routes/track.ts (100%) rename {api/src => src/api}/routes/updates.ts (100%) rename {api/src => src/api}/routes/users/#id/index.ts (100%) rename {api/src => src/api}/routes/users/#id/profile.ts (100%) rename {api/src => src/api}/routes/users/#id/relationships.ts (100%) rename {api/src => src/api}/routes/users/@me/activities/statistics/applications.ts (100%) rename {api/src => src/api}/routes/users/@me/affinities/guilds.ts (100%) rename {api/src => src/api}/routes/users/@me/affinities/users.ts (100%) rename {api/src => src/api}/routes/users/@me/applications/#app_id/entitlements.ts (100%) rename {api/src => src/api}/routes/users/@me/billing/country-code.ts (100%) rename {api/src => src/api}/routes/users/@me/billing/payment-sources.ts (100%) rename {api/src => src/api}/routes/users/@me/billing/subscriptions.ts (100%) rename {api/src => src/api}/routes/users/@me/channels.ts (100%) rename {api/src => src/api}/routes/users/@me/connections.ts (100%) rename {api/src => src/api}/routes/users/@me/delete.ts (100%) rename {api/src => src/api}/routes/users/@me/devices.ts (100%) rename {api/src => src/api}/routes/users/@me/disable.ts (100%) rename {api/src => src/api}/routes/users/@me/email-settings.ts (100%) rename {api/src => src/api}/routes/users/@me/entitlements.ts (100%) rename {api/src => src/api}/routes/users/@me/guilds.ts (100%) rename {api/src => src/api}/routes/users/@me/guilds/premium/subscription-slots.ts (100%) rename {api/src => src/api}/routes/users/@me/index.ts (100%) rename {api/src => src/api}/routes/users/@me/library.ts (100%) rename {api/src => src/api}/routes/users/@me/mfa/codes.ts (100%) rename {api/src => src/api}/routes/users/@me/mfa/totp/disable.ts (100%) rename {api/src => src/api}/routes/users/@me/mfa/totp/enable.ts (100%) rename {api/src => src/api}/routes/users/@me/notes.ts (100%) rename {api/src => src/api}/routes/users/@me/relationships.ts (100%) rename {api/src => src/api}/routes/users/@me/settings.ts (100%) rename {api/src => src/api}/routes/voice/regions.ts (100%) rename {api/src => src/api}/start.ts (92%) rename {api/src => src/api}/util/entities/AssetCacheItem.ts (100%) rename {api/src => src/api}/util/entities/blockedEmailDomains.txt (100%) rename {api/src => src/api}/util/entities/trustedEmailDomains.txt (100%) rename {api/src => src/api}/util/handlers/Instance.ts (100%) rename {api/src => src/api}/util/handlers/Message.ts (100%) rename {api/src => src/api}/util/handlers/Voice.ts (100%) rename {api/src => src/api}/util/handlers/route.ts (97%) rename {api/src => src/api}/util/index.ts (100%) rename {api/src => src/api}/util/utility/Base64.ts (100%) rename {api/src => src/api}/util/utility/RandomInviteID.ts (100%) rename {api/src => src/api}/util/utility/String.ts (100%) rename {api/src => src/api}/util/utility/ipAddress.ts (100%) rename {api/src => src/api}/util/utility/passwordStrength.ts (100%) rename {cdn/src => src/cdn}/Server.ts (100%) rename {cdn/src => src/cdn}/index.ts (100%) rename {cdn/src => src/cdn}/routes/attachments.ts (100%) rename {cdn/src => src/cdn}/routes/avatars.ts (100%) rename {cdn/src => src/cdn}/routes/external.ts (100%) rename {cdn/src => src/cdn}/routes/ping.ts (100%) rename {cdn/src => src/cdn}/routes/role-icons.ts (100%) rename {cdn/src => src/cdn}/start.ts (100%) rename {cdn/src => src/cdn}/util/FileStorage.ts (100%) rename {cdn/src => src/cdn}/util/S3Storage.ts (100%) rename {cdn/src => src/cdn}/util/Storage.ts (100%) rename {cdn/src => src/cdn}/util/index.ts (100%) rename {cdn/src => src/cdn}/util/multer.ts (100%) rename {gateway/src => src/gateway}/Server.ts (100%) rename {gateway/src => src/gateway}/events/Close.ts (100%) rename {gateway/src => src/gateway}/events/Connection.ts (100%) rename {gateway/src => src/gateway}/events/Message.ts (94%) rename {gateway/src => src/gateway}/index.ts (100%) rename {gateway/src => src/gateway}/listener/listener.ts (100%) rename {gateway/src => src/gateway}/opcodes/Heartbeat.ts (100%) create mode 100644 src/gateway/opcodes/Identify.ts rename {gateway/src => src/gateway}/opcodes/LazyRequest.ts (98%) rename {gateway/src => src/gateway}/opcodes/PresenceUpdate.ts (100%) rename {gateway/src => src/gateway}/opcodes/RequestGuildMembers.ts (100%) rename {gateway/src => src/gateway}/opcodes/Resume.ts (100%) rename {gateway/src => src/gateway}/opcodes/VoiceStateUpdate.ts (98%) rename {gateway/src => src/gateway}/opcodes/experiments.json (100%) rename {gateway/src => src/gateway}/opcodes/index.ts (100%) rename {gateway/src => src/gateway}/opcodes/instanceOf.ts (100%) rename {gateway/src => src/gateway}/start.ts (100%) rename {gateway/src => src/gateway}/util/Constants.ts (100%) rename {gateway/src => src/gateway}/util/Heartbeat.ts (100%) rename {gateway/src => src/gateway}/util/Send.ts (100%) rename {gateway/src => src/gateway}/util/SessionUtils.ts (100%) rename {gateway/src => src/gateway}/util/WebSocket.ts (92%) rename {gateway/src => src/gateway}/util/index.ts (100%) rename {bundle/src => src}/start.ts (100%) create mode 100644 src/stats.ts rename {util/src => src/util}/config/Config.ts (95%) rename {util/src => src/util}/config/index.ts (100%) rename {util/src => src/util}/config/types/ApiConfiguration.ts (100%) rename {util/src => src/util}/config/types/ClientConfiguration.ts (100%) rename {util/src => src/util}/config/types/DefaultsConfiguration.ts (100%) rename {util/src => src/util}/config/types/EndpointConfiguration.ts (100%) rename {util/src => src/util}/config/types/GeneralConfiguration.ts (100%) rename {util/src => src/util}/config/types/GifConfiguration.ts (100%) rename {util/src => src/util}/config/types/GuildConfiguration.ts (100%) rename {util/src => src/util}/config/types/KafkaConfiguration.ts (100%) rename {util/src => src/util}/config/types/LimitConfigurations.ts (100%) rename {util/src => src/util}/config/types/LoginConfiguration.ts (100%) rename {util/src => src/util}/config/types/MetricsConfiguration.ts (100%) rename {util/src => src/util}/config/types/RabbitMQConfiguration.ts (100%) rename {util/src => src/util}/config/types/RegionConfiguration.ts (100%) rename {util/src => src/util}/config/types/RegisterConfiguration.ts (100%) rename {util/src => src/util}/config/types/SecurityConfiguration.ts (100%) rename {util/src => src/util}/config/types/SentryConfiguration.ts (100%) rename {util/src => src/util}/config/types/TemplateConfiguration.ts (100%) rename {util/src => src/util}/config/types/index.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/client/ClientReleaseConfiguration.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/client/index.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/defaults/GuildDefaults.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/defaults/UserDefaults.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/defaults/index.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/guild/AutoJoin.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/guild/Discovery.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/guild/index.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/index.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/kafka/KafkaBroker.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/kafka/index.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/limits/ChannelLimits.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/limits/GuildLimits.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/limits/MessageLimits.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/limits/RateLimits.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/limits/UserLimits.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/limits/index.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/limits/ratelimits/Auth.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/limits/ratelimits/RateLimitOptions.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/limits/ratelimits/Route.ts (90%) rename {util/src => src/util}/config/types/subconfigurations/limits/ratelimits/index.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/region/Region.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/region/index.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/register/DateOfBirth.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/register/Email.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/register/Password.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/register/index.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/security/Captcha.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/security/TwoFactor.ts (100%) rename {util/src => src/util}/config/types/subconfigurations/security/index.ts (100%) rename {util/src => src/util}/dtos/DmChannelDTO.ts (100%) rename {util/src => src/util}/dtos/UserDTO.ts (100%) rename {util/src => src/util}/dtos/index.ts (100%) rename {util/src => src/util}/entities/Application.ts (100%) rename {util/src => src/util}/entities/Attachment.ts (100%) rename {util/src => src/util}/entities/AuditLog.ts (100%) rename {util/src => src/util}/entities/BackupCodes.ts (100%) rename {util/src => src/util}/entities/Ban.ts (100%) rename {util/src => src/util}/entities/BaseClass.ts (100%) rename {util/src => src/util}/entities/Categories.ts (100%) rename {util/src => src/util}/entities/Channel.ts (100%) rename {util/src => src/util}/entities/ClientRelease.ts (100%) rename {util/src => src/util}/entities/Config.ts (100%) rename {util/src => src/util}/entities/ConnectedAccount.ts (100%) rename {util/src => src/util}/entities/Emoji.ts (100%) rename {util/src => src/util}/entities/Encryption.ts (100%) rename {util/src => src/util}/entities/Group.ts (100%) rename {util/src => src/util}/entities/Guild.ts (100%) rename {util/src => src/util}/entities/Invite.ts (100%) rename {util/src => src/util}/entities/Member.ts (100%) rename {util/src => src/util}/entities/Message.ts (100%) rename {util/src => src/util}/entities/Migration.ts (100%) rename {util/src => src/util}/entities/Note.ts (100%) rename {util/src => src/util}/entities/RateLimit.ts (100%) rename {util/src => src/util}/entities/ReadState.ts (100%) rename {util/src => src/util}/entities/Recipient.ts (100%) rename {util/src => src/util}/entities/Relationship.ts (100%) rename {util/src => src/util}/entities/Role.ts (100%) rename {util/src => src/util}/entities/Session.ts (100%) rename {util/src => src/util}/entities/Sticker.ts (100%) rename {util/src => src/util}/entities/StickerPack.ts (100%) rename {util/src => src/util}/entities/Team.ts (100%) rename {util/src => src/util}/entities/TeamMember.ts (100%) rename {util/src => src/util}/entities/Template.ts (100%) rename {util/src => src/util}/entities/User.ts (100%) rename {util/src => src/util}/entities/UserGroup.ts (100%) rename {util/src => src/util}/entities/UserSettings.ts (100%) rename {util/src => src/util}/entities/VoiceState.ts (100%) rename {util/src => src/util}/entities/Webhook.ts (100%) rename {util/src => src/util}/entities/index.ts (100%) rename {util/src => src/util}/index.ts (76%) rename {util/src => src/util}/interfaces/Activity.ts (100%) rename {util/src => src/util}/interfaces/Event.ts (100%) rename {util/src => src/util}/interfaces/Interaction.ts (100%) rename {util/src => src/util}/interfaces/Presence.ts (100%) rename {util/src => src/util}/interfaces/Status.ts (100%) rename {util/src => src/util}/interfaces/index.ts (100%) rename {util/src => src/util}/migrations/mariadb/1659901151025-initial.ts (100%) rename {util/src => src/util}/migrations/mariadb/1659921859145-premium_since_as_date.ts (100%) rename {util/src => src/util}/migrations/mariadb/1660258393551-CodeCleanup3.ts (100%) rename {util/src => src/util}/migrations/mariadb/1660260587556-CodeCleanup4.ts (100%) rename {util/src => src/util}/migrations/mariadb/1660265930624-CodeCleanup5.ts (100%) rename {util/src => src/util}/migrations/postgres/1659899687168-initial.ts (100%) rename {util/src => src/util}/migrations/postgres/1659921826567-premium_since_as_date.ts (100%) rename {util/src => src/util}/migrations/postgres/1660257815436-CodeCleanup2.ts (100%) rename {util/src => src/util}/migrations/postgres/1660258372154-CodeCleanup3.ts (100%) rename {util/src => src/util}/migrations/postgres/1660260565996-CodeCleanup4.ts (100%) rename {util/src => src/util}/migrations/postgres/1660265907544-CodeCleanup5.ts (100%) rename {util/src => src/util}/migrations/sqlite/1659899662635-initial.ts (100%) rename {util/src => src/util}/migrations/sqlite/1659921722863-premium_since_as_date.ts (100%) rename {util/src => src/util}/migrations/sqlite/1660257576211-CodeCleanup1.ts (100%) rename {util/src => src/util}/migrations/sqlite/1660257795259-CodeCleanup2.ts (100%) rename {util/src => src/util}/migrations/sqlite/1660258351379-CodeCleanup3.ts (100%) rename {util/src => src/util}/migrations/sqlite/1660260672914-CodeCleanup4.ts (100%) rename {util/src => src/util}/schemas/ActivitySchema.ts (100%) rename {util/src => src/util}/schemas/BanCreateSchema.ts (100%) rename {util/src => src/util}/schemas/BanModeratorSchema.ts (100%) rename {util/src => src/util}/schemas/BanRegistrySchema.ts (100%) rename {util/src => src/util}/schemas/BulkDeleteSchema.ts (100%) rename {util/src => src/util}/schemas/ChannelModifySchema.ts (100%) rename {util/src => src/util}/schemas/ChannelPermissionOverwriteSchema.ts (100%) rename {util/src => src/util}/schemas/ChannelReorderSchema.ts (100%) rename {util/src => src/util}/schemas/DmChannelCreateSchema.ts (100%) rename {util/src => src/util}/schemas/EmojiCreateSchema.ts (100%) rename {util/src => src/util}/schemas/EmojiModifySchema.ts (100%) rename {util/src => src/util}/schemas/GuildCreateSchema.ts (100%) rename {util/src => src/util}/schemas/GuildTemplateCreateSchema.ts (100%) rename {util/src => src/util}/schemas/GuildUpdateSchema.ts (100%) rename {util/src => src/util}/schemas/GuildUpdateWelcomeScreenSchema.ts (100%) rename {util/src => src/util}/schemas/IdentifySchema.ts (93%) rename {util/src => src/util}/schemas/InviteCreateSchema.ts (100%) rename {util/src => src/util}/schemas/LazyRequestSchema.ts (100%) rename {util/src => src/util}/schemas/LoginSchema.ts (100%) rename {util/src => src/util}/schemas/MemberChangeSchema.ts (100%) rename {util/src => src/util}/schemas/MemberNickChangeSchema.ts (100%) rename {util/src => src/util}/schemas/MessageAcknowledgeSchema.ts (100%) rename {util/src => src/util}/schemas/MessageCreateSchema.ts (100%) rename {util/src => src/util}/schemas/MfaCodesSchema.ts (100%) rename {util/src => src/util}/schemas/ModifyGuildStickerSchema.ts (100%) rename {util/src => src/util}/schemas/PruneSchema.ts (100%) rename {util/src => src/util}/schemas/PurgeSchema.ts (100%) rename {util/src => src/util}/schemas/RegisterSchema.ts (100%) rename {util/src => src/util}/schemas/RelationshipPostSchema.ts (100%) rename {util/src => src/util}/schemas/RelationshipPutSchema.ts (100%) rename {util/src => src/util}/schemas/RoleModifySchema.ts (100%) rename {util/src => src/util}/schemas/RolePositionUpdateSchema.ts (100%) rename {util/src => src/util}/schemas/TemplateCreateSchema.ts (100%) rename {util/src => src/util}/schemas/TemplateModifySchema.ts (100%) rename {util/src => src/util}/schemas/TotpDisableSchema.ts (100%) rename {util/src => src/util}/schemas/TotpEnableSchema.ts (100%) rename {util/src => src/util}/schemas/TotpSchema.ts (100%) rename {util/src => src/util}/schemas/UserModifySchema.ts (100%) rename {util/src => src/util}/schemas/UserSettingsSchema.ts (100%) rename {util/src => src/util}/schemas/VanityUrlSchema.ts (100%) rename {util/src => src/util}/schemas/VoiceStateUpdateSchema.ts (100%) rename {util/src => src/util}/schemas/WebhookCreateSchema.ts (100%) rename {util/src => src/util}/schemas/WidgetModifySchema.ts (100%) rename {util/src => src/util}/schemas/index.ts (100%) rename {util/src => src/util}/util/ApiError.ts (100%) rename {util/src => src/util}/util/Array.ts (100%) rename {util/src => src/util}/util/AutoUpdate.ts (100%) rename {util/src => src/util}/util/BitField.ts (100%) rename {util/src => src/util}/util/Categories.ts (100%) rename {util/src => src/util}/util/Config.ts (100%) rename {util/src => src/util}/util/Constants.ts (100%) rename {util/src => src/util}/util/Database.ts (100%) rename {util/src => src/util}/util/Email.ts (100%) rename {util/src => src/util}/util/Event.ts (100%) rename {util/src => src/util}/util/FieldError.ts (100%) rename {util/src => src/util}/util/Intents.ts (100%) rename {util/src => src/util}/util/InvisibleCharacters.ts (100%) rename {util/src => src/util}/util/MFA.ts (100%) rename {util/src => src/util}/util/MessageFlags.ts (100%) rename {util/src => src/util}/util/Permissions.ts (100%) rename {util/src => src/util}/util/RabbitMQ.ts (100%) rename {util/src => src/util}/util/Regex.ts (100%) rename {util/src => src/util}/util/Rights.ts (100%) rename {util/src => src/util}/util/Snowflake.ts (100%) rename {util/src => src/util}/util/String.ts (100%) rename {util/src => src/util}/util/Token.ts (100%) rename {util/src => src/util}/util/TraverseDirectory.ts (100%) rename {util/src => src/util}/util/cdn.ts (100%) rename {util/src => src/util}/util/imports/Checks.ts (100%) rename {util/src => src/util}/util/imports/HTTPError.ts (100%) rename {util/src => src/util}/util/imports/OrmUtils.ts (100%) rename {util/src => src/util}/util/imports/index.ts (100%) rename {util/src => src/util}/util/index.ts (100%) rename {util/tests => tests}/User.test.js (100%) rename {cdn/tests => tests}/antman.jpg (100%) rename {cdn/tests => tests}/cdn_endpoints.test.js (100%) rename {cdn/tests => tests}/filestorage.test.js (100%) rename {api/tests => tests}/routes.test.ts (100%) rename {api/tests => tests}/routes/auth/login.test.js (100%) rename {api/tests => tests}/routes/auth/register.test.js (100%) rename {api/tests => tests}/routes/ping.test.js (100%) rename {util/tests => tests}/setupJest.js (100%) rename bundle/tsconfig.json => tsconfig.json (92%) delete mode 100644 util/.gitignore delete mode 100644 util/.npmignore delete mode 100644 util/.prettierrc delete mode 100644 util/.vscode/launch.json delete mode 100644 util/README.md delete mode 100644 util/package-lock.json delete mode 100644 util/package.json delete mode 100644 util/tsconfig.json delete mode 100644 webrtc/.DS_Store delete mode 100644 webrtc/.gitignore delete mode 100644 webrtc/README.md delete mode 100644 webrtc/package-lock.json delete mode 100644 webrtc/package.json delete mode 100644 webrtc/src/Server.ts delete mode 100644 webrtc/src/index.ts delete mode 100644 webrtc/src/start.ts delete mode 100644 webrtc/src/test.ts delete mode 100644 webrtc/tsconfig.json create mode 100644 yarn.lock diff --git a/api/.dockerignore b/.dockerignore similarity index 100% rename from api/.dockerignore rename to .dockerignore diff --git a/.gitignore b/.gitignore index 98adcd003..e9f3f39c9 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,5 @@ api/assets/plugins/*.js bundle/depclean.* *.tmp tmp/ + +assets/cache/ \ No newline at end of file diff --git a/api/.env.example b/api/.env.example deleted file mode 100644 index 5974f6286..000000000 --- a/api/.env.example +++ /dev/null @@ -1,8 +0,0 @@ -MONGO_URL=mongodb://localhost/fosscord -PORT=3001 -PRODUCTION=TRUE -THREADS=# automatically use all available cores, only available if production = true -#LOG_REQUESTS= -# only log 200 and 204: LOG_REQUESTS=200 204 -# log everything except 200 and 204: LOG_REQUESTS=-200 204 -# log all requests: LOG_REQUESTS=- \ No newline at end of file diff --git a/api/.gitignore b/api/.gitignore deleted file mode 100644 index 662816b93..000000000 --- a/api/.gitignore +++ /dev/null @@ -1,115 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-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/ - -# TypeScript v1 declaration files -typings/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# 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 variables file -.env -.env.test - -# parcel-bundler cache (https://parceljs.org/) -.cache - -# Next.js build output -.next - -# 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 - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -.DS_STORE -src/ready.json - -# Docker -.docker/config/* -!.docker/config/.keep - -# fosscord -*.db \ No newline at end of file diff --git a/api/.npmignore b/api/.npmignore deleted file mode 100644 index 05a9d0cf2..000000000 --- a/api/.npmignore +++ /dev/null @@ -1 +0,0 @@ -!dist/ \ No newline at end of file diff --git a/api/.prettierrc b/api/.prettierrc deleted file mode 100644 index 8a2c607fc..000000000 --- a/api/.prettierrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "tabWidth": 4, - "useTabs": true, - "printWidth": 140, - "trailingComma": "none" -} diff --git a/api/.vscode/api-snippets.code-snippets b/api/.vscode/api-snippets.code-snippets deleted file mode 100644 index ef4b6386a..000000000 --- a/api/.vscode/api-snippets.code-snippets +++ /dev/null @@ -1,25 +0,0 @@ -{ - "API Router": { - "scope": "javascript,typescript", - "prefix": "router", - "body": [ - "import { Router, Response, Request } from \"express\";", - "import { route } from \"@fosscord/api\";", - "", - "const router = Router();", - "", - "router.get(\"/\", route({}), (req: Request, res: Response) => {", - "\tres.json({});", - "});", - "", - "export default router;" - ], - "description": "A basic API router setup for a blank route." - }, - "Route": { - "scope": "typescript", - "prefix": "route", - "body": ["router.get(\"$1\", route({}), (req: Request, res: Response) => {", "\t$2", "});"], - "description": "An API endpoint" - } -} diff --git a/api/.vscode/launch.json b/api/.vscode/launch.json deleted file mode 100644 index 221931ee8..000000000 --- a/api/.vscode/launch.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "sourceMaps": true, - "type": "node", - "request": "launch", - "name": "Launch Server", - "program": "${workspaceFolder}/dist/start.js", - "preLaunchTask": "tsc: build - tsconfig.json", - "outFiles": ["${workspaceFolder}/dist/**/*.js"], - "envFile": "${workspaceFolder}/.env" - }, - { - "name": "Debug current file", - "program": "${file}", - "request": "launch", - "skipFiles": ["/**"], - "runtimeArgs": ["--nolazy", "-r", "ts-node/register/transpile-only"], - "preLaunchTask": "tsc: build - tsconfig.json", - "type": "node", - "resolveSourceMapLocations": ["${workspaceFolder}/**", "!**/node_modules/**"] - } - ] -} diff --git a/api/Dockerfile b/api/Dockerfile deleted file mode 100644 index 08d15f72a..000000000 --- a/api/Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ -FROM node:lts-alpine -# needed for native packages (bcrypt, canvas) -RUN apk add --no-cache make gcc g++ python cairo-dev jpeg-dev pango-dev giflib-dev -WORKDIR /usr/src/fosscord-server -COPY package.json . -COPY package-lock.json . -RUN npm rebuild bcrypt --build-from-source && npm install canvas --build-from-source -RUN npm install -COPY . . -EXPOSE 3001 -RUN npm run build-docker -CMD ["node", "dist/start.js"] diff --git a/api/README.md b/api/README.md deleted file mode 100644 index 62349972b..000000000 --- a/api/README.md +++ /dev/null @@ -1,67 +0,0 @@ -

- -

-

Fosscord HTTP API Server

- -

- - - - - - - - -

- -## [About](https://github.com/fosscord/fosscord-server/wiki) - -This repository contains the Fosscord HTTP API Server - -## Bug Tracker - -[Project Board](https://fosscord.notion.site/2c7fe9e73f9842d3bab3a4912dedd091) - -## API - -We use [express](https://expressjs.com/) for the HTTP Server and -[lambert-server](https://www.npmjs.com/package/lambert-server) for route handling and body validation (customized). - -## Contribution - -You should be familiar with: - -- [Git](https://git-scm.com/) -- [NodeJS](https://nodejs.org/) -- [TypeScript](https://www.typescriptlang.org/) -- [MongoDB/mongoose](http://mongoosejs.com/) - -and the other technologies we use - -### Getting Started - -Clone the Repository: - -```bash -git clone https://github.com/fosscord/fosscord-server -cd fosscord-server -``` - -#### Install (dev)dependencies: - -```bash -npm install -npm install --only=dev -``` - -#### Starting: - -``` -npm start -``` - -#### Debugging: - -**Vscode:** -The Launch file configuration is in `./vscode/launch.json`, -so you can just debug the server by pressing `F5` or the `> Launch Server` button diff --git a/api/babel.config.js b/api/babel.config.js deleted file mode 100644 index 45ab8ad8b..000000000 --- a/api/babel.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - presets: [ - ["@babel/preset-env", { targets: { node: "current" } }], - ["@babel/preset-typescript", { allowDeclareFields: true }] - ] -}; diff --git a/api/jest/getRouteDescriptions.js b/api/jest/getRouteDescriptions.js deleted file mode 100644 index 4f8d2e75e..000000000 --- a/api/jest/getRouteDescriptions.js +++ /dev/null @@ -1,66 +0,0 @@ -const { traverseDirectory } = require("lambert-server"); -const path = require("path"); -const express = require("express"); -const RouteUtility = require("../dist/util/route"); -const Router = express.Router; - -/** - * Some documentation. - * - * @type {Map} - */ -const routes = new Map(); -let currentPath = ""; -let currentFile = ""; -const methods = ["get", "post", "put", "delete", "patch"]; - -function registerPath(file, method, prefix, path, ...args) { - const urlPath = prefix + path; - const sourceFile = file.replace("/dist/", "/src/").replace(".js", ".ts"); - const opts = args.find((x) => typeof x === "object"); - if (opts) { - routes.set(urlPath + "|" + method, opts); // @ts-ignore - opts.file = sourceFile; - // console.log(method, urlPath, opts); - } else { - console.log(`${sourceFile}\nrouter.${method}("${path}") is missing the "route()" description middleware\n`); - } -} - -function routeOptions(opts) { - return opts; -} - -// @ts-ignore -RouteUtility.route = routeOptions; - -express.Router = (opts) => { - const path = currentPath; - const file = currentFile; - const router = Router(opts); - - for (const method of methods) { - router[method] = registerPath.bind(null, file, method, path); - } - - return router; -}; - -module.exports = function getRouteDescriptions() { - const root = path.join(__dirname, "..", "dist", "routes", "/"); - traverseDirectory({ dirname: root, recursive: true }, (file) => { - currentFile = file; - let path = file.replace(root.slice(0, -1), ""); - path = path.split(".").slice(0, -1).join("."); // trancate .js/.ts file extension of path - path = path.replaceAll("#", ":").replaceAll("\\", "/"); // replace # with : for path parameters and windows paths with slashes - if (path.endsWith("/index")) path = path.slice(0, "/index".length * -1); // delete index from path - currentPath = path; - - try { - require(file); - } catch (error) { - console.error("error loading file " + file, error); - } - }); - return routes; -}; diff --git a/api/jest/globalSetup.js b/api/jest/globalSetup.js deleted file mode 100644 index 520aa0e2e..000000000 --- a/api/jest/globalSetup.js +++ /dev/null @@ -1,20 +0,0 @@ -const { Config, initDatabase } = require("@fosscord/util"); -const fs = require("fs"); -const path = require("path"); -const { FosscordServer } = require("../dist/Server"); -const Server = new FosscordServer({ port: 3001 }); -global.server = Server; -module.exports = async () => { - try { - fs.unlinkSync(path.join(process.cwd(), "database.db")); - } catch {} - - await initDatabase(); - await Config.init(); - Config.get().limits.rate.disabled = true; - return await Server.start(); -}; - -// afterAll(async () => { -// return await Server.stop(); -// }); diff --git a/api/jest/setup.js b/api/jest/setup.js deleted file mode 100644 index abc485ae3..000000000 --- a/api/jest/setup.js +++ /dev/null @@ -1,2 +0,0 @@ -jest.spyOn(global.console, "log").mockImplementation(() => jest.fn()); -jest.spyOn(global.console, "info").mockImplementation(() => jest.fn()); diff --git a/api/package-lock.json b/api/package-lock.json deleted file mode 100644 index bb7f725f90e4ca61cb3f7ff15ed1c020e95a3651..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 556574 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

&fayLqFtD%<)%BIBbST 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 diff --git a/api/package.json b/api/package.json deleted file mode 100644 index 1fa85884b..000000000 --- a/api/package.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "name": "@fosscord/api", - "version": "1.0.0", - "description": "This repository contains the HTTP API Server", - "main": "dist/index.js", - "types": "src/index.ts", - "scripts": { - "test:only": "npx jest --coverage --verbose --forceExit ./tests", - "test:routes": "npx jest --coverage --verbose --forceExit ./routes.test.ts", - "test": "npm run build && npm run test:only", - "test:watch": "npx jest --watch", - "start": "npm run build && node dist/start", - "build": "npx tsc -p .", - "dev": "npx tsnd --respawn src/start.ts", - "patch": "npx ts-patch install -s && npx patch-package", - "postinstall": "npm run patch", - "generate:docs": "node scripts/generate_openapi", - "generate:schema": "node scripts/generate_schema" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/fosscord/fosscord-server.git" - }, - "keywords": [ - "discord", - "fosscord", - "fosscord-server", - "fosscord-api", - "discord open source", - "discord-open-source" - ], - "author": "Fosscord", - "license": "AGPL-3.0-only", - "bugs": { - "url": "https://github.com/fosscord/fosscord-server/issues" - }, - "homepage": "https://fosscord.com", - "devDependencies": { - "@babel/core": "^7.18.9", - "@babel/preset-env": "^7.18.9", - "@babel/preset-typescript": "^7.15.0", - "@types/bcrypt": "^5.0.0", - "@types/express": "^4.17.9", - "@types/i18next-node-fs-backend": "^2.1.0", - "@types/morgan": "^1.9.3", - "@types/multer": "^1.4.5", - "@types/node": "^18.0.6", - "jest": "^28.1.3", - "jest-expect-message": "^1.0.2", - "ts-node-dev": "^2.0.0", - "typescript": "^4.4.2", - "typescript-json-schema": "^0.54.0" - }, - "dependencies": { - "@babel/preset-typescript": "^7.15.0", - "@fosscord/util": "file:../util", - "ajv": "8.6.2", - "ajv-formats": "^2.1.1", - "bcrypt": "^5.0.1", - "body-parser": "^1.19.0", - "canvas": "^2.9.3", - "cheerio": "^1.0.0-rc.10", - "dotenv": "^16.0.1", - "express": "^4.17.1", - "i18next": "^21.8.14", - "i18next-http-middleware": "^3.1.3", - "i18next-node-fs-backend": "^2.1.3", - "image-size": "^1.0.0", - "lambert-server": "^1.2.12", - "missing-native-js-functions": "^1.2.18", - "morgan": "^1.10.0", - "multer": "^1.4.5-lts.1", - "node-2fa": "^2.0.3", - "node-fetch": "^2.6.7", - "patch-package": "^6.4.7", - "picocolors": "^1.0.0", - "proxy-agent": "^5.0.0", - "supertest": "^6.1.6", - "typeorm": "^0.3.7" - }, - "jest": { - "setupFiles": [ - "/jest/setup.js" - ], - "setupFilesAfterEnv": [ - "jest-expect-message" - ], - "globalSetup": "/jest/globalSetup.js", - "verbose": true - } -} diff --git a/api/tsconfig.json b/api/tsconfig.json deleted file mode 100644 index 80fca16df..000000000 --- a/api/tsconfig.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "exclude": ["node_modules"], - "include": ["src/**/*.ts"], - "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ - - /* Basic Options */ - "incremental": false /* Enable incremental compilation */, - "target": "ESNext" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, - "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, - "lib": ["ES2021"] /* Specify library files to be included in the compilation. */, - "allowJs": true /* Allow javascript files to be compiled. */, - "checkJs": true /* Report errors in .js files. */, - // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ - "declaration": true /* Generates corresponding '.d.ts' file. */, - "declarationMap": false /* Generates a sourcemap for each corresponding '.d.ts' file. */, - "sourceMap": true /* Generates corresponding '.map' file. */, - // "outFile": "./", /* Concatenate and emit output to single file. */ - "outDir": "./dist/" /* Redirect output structure to the directory. */, - "rootDir": "./src/" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, - // "composite": true, /* Enable project compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - // "removeComments": true, /* Do not emit comments to output. */ - // "noEmit": true, /* Do not emit outputs. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ - - /* Strict Type-Checking Options */ - "strict": true /* Enable all strict type-checking options. */, - "noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */, - "strictNullChecks": true /* Enable strict null checks. */, - // "strictFunctionTypes": true, /* Enable strict checking of function types. */ - // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ - "strictPropertyInitialization": false /* Enable strict checking of property initialization in classes. */, - // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - "alwaysStrict": true /* Parse in strict mode and emit "use strict" for each source file. */, - - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - - /* Module Resolution Options */ - // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - // "typeRoots": [], /* List of folders to include type definitions from. */ - "types": ["node"] /* Type declaration files to be included in compilation. */, - // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - - /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - - /* Experimental Options */ - // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - - /* Advanced Options */ - "skipLibCheck": true /* Skip type checking of declaration files. */, - "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */, - "baseUrl": ".", - "paths": { - "@fosscord/api": ["src/index"] - }, - "plugins": [{ "transform": "@ovos-media/ts-transform-paths" }], - "experimentalDecorators": true - } -} diff --git a/api/assets/checkLocale.js b/assets/checkLocale.js similarity index 100% rename from api/assets/checkLocale.js rename to assets/checkLocale.js diff --git a/api/client_test/developers.html b/assets/developers.html similarity index 100% rename from api/client_test/developers.html rename to assets/developers.html diff --git a/api/assets/dff87c953f43b561d71fbcfe8a93a79a.png b/assets/dff87c953f43b561d71fbcfe8a93a79a.png similarity index 100% rename from api/assets/dff87c953f43b561d71fbcfe8a93a79a.png rename to assets/dff87c953f43b561d71fbcfe8a93a79a.png diff --git a/api/assets/endpoints.json b/assets/endpoints.json similarity index 100% rename from api/assets/endpoints.json rename to assets/endpoints.json diff --git a/api/assets/features.json b/assets/features.json similarity index 100% rename from api/assets/features.json rename to assets/features.json diff --git a/api/assets/fosscord-login.css b/assets/fosscord-login.css similarity index 100% rename from api/assets/fosscord-login.css rename to assets/fosscord-login.css diff --git a/api/assets/fosscord.css b/assets/fosscord.css similarity index 100% rename from api/assets/fosscord.css rename to assets/fosscord.css diff --git a/api/client_test/index.html b/assets/index.html similarity index 98% rename from api/client_test/index.html rename to assets/index.html index c35c14d2b..64a2bdbff 100644 --- a/api/client_test/index.html +++ b/assets/index.html @@ -20,7 +20,7 @@ window.GLOBAL_ENV = { API_ENDPOINT: "/api", API_VERSION: 9, - GATEWAY_ENDPOINT: `${location.protocol === "https:" ? "wss://" : "ws://"}${location.hostname}:3002`, + GATEWAY_ENDPOINT: `${location.protocol === "https:" ? "wss://" : "ws://"}${location.host}`, WEBAPP_ENDPOINT: "", CDN_HOST: `${location.hostname}:3003`, ASSET_ENDPOINT: "", diff --git a/api/assets/inline-plugins/autoRegister.js b/assets/inline-plugins/autoRegister.js similarity index 100% rename from api/assets/inline-plugins/autoRegister.js rename to assets/inline-plugins/autoRegister.js diff --git a/api/assets/inline-plugins/fosscord-login.js b/assets/inline-plugins/fosscord-login.js similarity index 100% rename from api/assets/inline-plugins/fosscord-login.js rename to assets/inline-plugins/fosscord-login.js diff --git a/api/locales/af/auth.json b/assets/locales/af/auth.json similarity index 100% rename from api/locales/af/auth.json rename to assets/locales/af/auth.json diff --git a/api/locales/af/common.json b/assets/locales/af/common.json similarity index 100% rename from api/locales/af/common.json rename to assets/locales/af/common.json diff --git a/api/locales/ar/auth.json b/assets/locales/ar/auth.json similarity index 100% rename from api/locales/ar/auth.json rename to assets/locales/ar/auth.json diff --git a/api/locales/ar/common.json b/assets/locales/ar/common.json similarity index 100% rename from api/locales/ar/common.json rename to assets/locales/ar/common.json diff --git a/api/locales/arn/auth.json b/assets/locales/arn/auth.json similarity index 100% rename from api/locales/arn/auth.json rename to assets/locales/arn/auth.json diff --git a/api/locales/arn/common.json b/assets/locales/arn/common.json similarity index 100% rename from api/locales/arn/common.json rename to assets/locales/arn/common.json diff --git a/api/locales/az/auth.json b/assets/locales/az/auth.json similarity index 100% rename from api/locales/az/auth.json rename to assets/locales/az/auth.json diff --git a/api/locales/az/common.json b/assets/locales/az/common.json similarity index 100% rename from api/locales/az/common.json rename to assets/locales/az/common.json diff --git a/api/locales/be/auth.json b/assets/locales/be/auth.json similarity index 100% rename from api/locales/be/auth.json rename to assets/locales/be/auth.json diff --git a/api/locales/be/common.json b/assets/locales/be/common.json similarity index 100% rename from api/locales/be/common.json rename to assets/locales/be/common.json diff --git a/api/locales/ber/auth.json b/assets/locales/ber/auth.json similarity index 100% rename from api/locales/ber/auth.json rename to assets/locales/ber/auth.json diff --git a/api/locales/ber/common.json b/assets/locales/ber/common.json similarity index 100% rename from api/locales/ber/common.json rename to assets/locales/ber/common.json diff --git a/api/locales/bg/auth.json b/assets/locales/bg/auth.json similarity index 100% rename from api/locales/bg/auth.json rename to assets/locales/bg/auth.json diff --git a/api/locales/bg/common.json b/assets/locales/bg/common.json similarity index 100% rename from api/locales/bg/common.json rename to assets/locales/bg/common.json diff --git a/api/locales/bo/auth.json b/assets/locales/bo/auth.json similarity index 100% rename from api/locales/bo/auth.json rename to assets/locales/bo/auth.json diff --git a/api/locales/bo/common.json b/assets/locales/bo/common.json similarity index 100% rename from api/locales/bo/common.json rename to assets/locales/bo/common.json diff --git a/api/locales/ca/auth.json b/assets/locales/ca/auth.json similarity index 100% rename from api/locales/ca/auth.json rename to assets/locales/ca/auth.json diff --git a/api/locales/ca/common.json b/assets/locales/ca/common.json similarity index 100% rename from api/locales/ca/common.json rename to assets/locales/ca/common.json diff --git a/api/locales/cs/auth.json b/assets/locales/cs/auth.json similarity index 100% rename from api/locales/cs/auth.json rename to assets/locales/cs/auth.json diff --git a/api/locales/cs/common.json b/assets/locales/cs/common.json similarity index 100% rename from api/locales/cs/common.json rename to assets/locales/cs/common.json diff --git a/api/locales/da/auth.json b/assets/locales/da/auth.json similarity index 100% rename from api/locales/da/auth.json rename to assets/locales/da/auth.json diff --git a/api/locales/da/common.json b/assets/locales/da/common.json similarity index 100% rename from api/locales/da/common.json rename to assets/locales/da/common.json diff --git a/api/locales/de/auth.json b/assets/locales/de/auth.json similarity index 100% rename from api/locales/de/auth.json rename to assets/locales/de/auth.json diff --git a/api/locales/de/common.json b/assets/locales/de/common.json similarity index 100% rename from api/locales/de/common.json rename to assets/locales/de/common.json diff --git a/api/locales/el/auth.json b/assets/locales/el/auth.json similarity index 100% rename from api/locales/el/auth.json rename to assets/locales/el/auth.json diff --git a/api/locales/el/common.json b/assets/locales/el/common.json similarity index 100% rename from api/locales/el/common.json rename to assets/locales/el/common.json diff --git a/api/locales/en/auth.json b/assets/locales/en/auth.json similarity index 100% rename from api/locales/en/auth.json rename to assets/locales/en/auth.json diff --git a/api/locales/en/common.json b/assets/locales/en/common.json similarity index 100% rename from api/locales/en/common.json rename to assets/locales/en/common.json diff --git a/api/locales/eo/auth.json b/assets/locales/eo/auth.json similarity index 100% rename from api/locales/eo/auth.json rename to assets/locales/eo/auth.json diff --git a/api/locales/eo/common.json b/assets/locales/eo/common.json similarity index 100% rename from api/locales/eo/common.json rename to assets/locales/eo/common.json diff --git a/api/locales/es/auth.json b/assets/locales/es/auth.json similarity index 100% rename from api/locales/es/auth.json rename to assets/locales/es/auth.json diff --git a/api/locales/es/common.json b/assets/locales/es/common.json similarity index 100% rename from api/locales/es/common.json rename to assets/locales/es/common.json diff --git a/api/locales/eu/auth.json b/assets/locales/eu/auth.json similarity index 100% rename from api/locales/eu/auth.json rename to assets/locales/eu/auth.json diff --git a/api/locales/eu/common.json b/assets/locales/eu/common.json similarity index 100% rename from api/locales/eu/common.json rename to assets/locales/eu/common.json diff --git a/api/locales/fa/auth.json b/assets/locales/fa/auth.json similarity index 100% rename from api/locales/fa/auth.json rename to assets/locales/fa/auth.json diff --git a/api/locales/fa/common.json b/assets/locales/fa/common.json similarity index 100% rename from api/locales/fa/common.json rename to assets/locales/fa/common.json diff --git a/api/locales/fi/auth.json b/assets/locales/fi/auth.json similarity index 100% rename from api/locales/fi/auth.json rename to assets/locales/fi/auth.json diff --git a/api/locales/fi/common.json b/assets/locales/fi/common.json similarity index 100% rename from api/locales/fi/common.json rename to assets/locales/fi/common.json diff --git a/api/locales/fr/auth.json b/assets/locales/fr/auth.json similarity index 100% rename from api/locales/fr/auth.json rename to assets/locales/fr/auth.json diff --git a/api/locales/fr/common.json b/assets/locales/fr/common.json similarity index 100% rename from api/locales/fr/common.json rename to assets/locales/fr/common.json diff --git a/api/locales/gn/auth.json b/assets/locales/gn/auth.json similarity index 100% rename from api/locales/gn/auth.json rename to assets/locales/gn/auth.json diff --git a/api/locales/gn/common.json b/assets/locales/gn/common.json similarity index 100% rename from api/locales/gn/common.json rename to assets/locales/gn/common.json diff --git a/api/locales/ha/auth.json b/assets/locales/ha/auth.json similarity index 100% rename from api/locales/ha/auth.json rename to assets/locales/ha/auth.json diff --git a/api/locales/ha/common.json b/assets/locales/ha/common.json similarity index 100% rename from api/locales/ha/common.json rename to assets/locales/ha/common.json diff --git a/api/locales/he/auth.json b/assets/locales/he/auth.json similarity index 100% rename from api/locales/he/auth.json rename to assets/locales/he/auth.json diff --git a/api/locales/he/common.json b/assets/locales/he/common.json similarity index 100% rename from api/locales/he/common.json rename to assets/locales/he/common.json diff --git a/api/locales/hi/auth.json b/assets/locales/hi/auth.json similarity index 100% rename from api/locales/hi/auth.json rename to assets/locales/hi/auth.json diff --git a/api/locales/hi/common.json b/assets/locales/hi/common.json similarity index 100% rename from api/locales/hi/common.json rename to assets/locales/hi/common.json diff --git a/api/locales/hr/auth.json b/assets/locales/hr/auth.json similarity index 100% rename from api/locales/hr/auth.json rename to assets/locales/hr/auth.json diff --git a/api/locales/hr/common.json b/assets/locales/hr/common.json similarity index 100% rename from api/locales/hr/common.json rename to assets/locales/hr/common.json diff --git a/api/locales/hu/auth.json b/assets/locales/hu/auth.json similarity index 100% rename from api/locales/hu/auth.json rename to assets/locales/hu/auth.json diff --git a/api/locales/hu/common.json b/assets/locales/hu/common.json similarity index 100% rename from api/locales/hu/common.json rename to assets/locales/hu/common.json diff --git a/api/locales/id/auth.json b/assets/locales/id/auth.json similarity index 100% rename from api/locales/id/auth.json rename to assets/locales/id/auth.json diff --git a/api/locales/id/common.json b/assets/locales/id/common.json similarity index 100% rename from api/locales/id/common.json rename to assets/locales/id/common.json diff --git a/api/locales/it/auth.json b/assets/locales/it/auth.json similarity index 100% rename from api/locales/it/auth.json rename to assets/locales/it/auth.json diff --git a/api/locales/it/common.json b/assets/locales/it/common.json similarity index 100% rename from api/locales/it/common.json rename to assets/locales/it/common.json diff --git a/api/locales/ja/auth.json b/assets/locales/ja/auth.json similarity index 100% rename from api/locales/ja/auth.json rename to assets/locales/ja/auth.json diff --git a/api/locales/ja/common.json b/assets/locales/ja/common.json similarity index 100% rename from api/locales/ja/common.json rename to assets/locales/ja/common.json diff --git a/api/locales/jv/auth.json b/assets/locales/jv/auth.json similarity index 100% rename from api/locales/jv/auth.json rename to assets/locales/jv/auth.json diff --git a/api/locales/jv/common.json b/assets/locales/jv/common.json similarity index 100% rename from api/locales/jv/common.json rename to assets/locales/jv/common.json diff --git a/api/locales/kk/auth.json b/assets/locales/kk/auth.json similarity index 100% rename from api/locales/kk/auth.json rename to assets/locales/kk/auth.json diff --git a/api/locales/kk/common.json b/assets/locales/kk/common.json similarity index 100% rename from api/locales/kk/common.json rename to assets/locales/kk/common.json diff --git a/api/locales/ko/auth.json b/assets/locales/ko/auth.json similarity index 100% rename from api/locales/ko/auth.json rename to assets/locales/ko/auth.json diff --git a/api/locales/ko/common.json b/assets/locales/ko/common.json similarity index 100% rename from api/locales/ko/common.json rename to assets/locales/ko/common.json diff --git a/api/locales/ku/auth.json b/assets/locales/ku/auth.json similarity index 100% rename from api/locales/ku/auth.json rename to assets/locales/ku/auth.json diff --git a/api/locales/ku/common.json b/assets/locales/ku/common.json similarity index 100% rename from api/locales/ku/common.json rename to assets/locales/ku/common.json diff --git a/api/locales/la/auth.json b/assets/locales/la/auth.json similarity index 100% rename from api/locales/la/auth.json rename to assets/locales/la/auth.json diff --git a/api/locales/la/common.json b/assets/locales/la/common.json similarity index 100% rename from api/locales/la/common.json rename to assets/locales/la/common.json diff --git a/api/locales/lt/auth.json b/assets/locales/lt/auth.json similarity index 100% rename from api/locales/lt/auth.json rename to assets/locales/lt/auth.json diff --git a/api/locales/lt/common.json b/assets/locales/lt/common.json similarity index 100% rename from api/locales/lt/common.json rename to assets/locales/lt/common.json diff --git a/api/locales/mi/auth.json b/assets/locales/mi/auth.json similarity index 100% rename from api/locales/mi/auth.json rename to assets/locales/mi/auth.json diff --git a/api/locales/mi/common.json b/assets/locales/mi/common.json similarity index 100% rename from api/locales/mi/common.json rename to assets/locales/mi/common.json diff --git a/api/locales/mn/auth.json b/assets/locales/mn/auth.json similarity index 100% rename from api/locales/mn/auth.json rename to assets/locales/mn/auth.json diff --git a/api/locales/mn/common.json b/assets/locales/mn/common.json similarity index 100% rename from api/locales/mn/common.json rename to assets/locales/mn/common.json diff --git a/api/locales/mr/auth.json b/assets/locales/mr/auth.json similarity index 100% rename from api/locales/mr/auth.json rename to assets/locales/mr/auth.json diff --git a/api/locales/mr/common.json b/assets/locales/mr/common.json similarity index 100% rename from api/locales/mr/common.json rename to assets/locales/mr/common.json diff --git a/api/locales/nl/auth.json b/assets/locales/nl/auth.json similarity index 100% rename from api/locales/nl/auth.json rename to assets/locales/nl/auth.json diff --git a/api/locales/nl/common.json b/assets/locales/nl/common.json similarity index 100% rename from api/locales/nl/common.json rename to assets/locales/nl/common.json diff --git a/api/locales/nn/auth.json b/assets/locales/nn/auth.json similarity index 100% rename from api/locales/nn/auth.json rename to assets/locales/nn/auth.json diff --git a/api/locales/nn/common.json b/assets/locales/nn/common.json similarity index 100% rename from api/locales/nn/common.json rename to assets/locales/nn/common.json diff --git a/api/locales/no/auth.json b/assets/locales/no/auth.json similarity index 100% rename from api/locales/no/auth.json rename to assets/locales/no/auth.json diff --git a/api/locales/no/common.json b/assets/locales/no/common.json similarity index 100% rename from api/locales/no/common.json rename to assets/locales/no/common.json diff --git a/api/locales/pa/auth.json b/assets/locales/pa/auth.json similarity index 100% rename from api/locales/pa/auth.json rename to assets/locales/pa/auth.json diff --git a/api/locales/pa/common.json b/assets/locales/pa/common.json similarity index 100% rename from api/locales/pa/common.json rename to assets/locales/pa/common.json diff --git a/api/locales/pl/auth.json b/assets/locales/pl/auth.json similarity index 100% rename from api/locales/pl/auth.json rename to assets/locales/pl/auth.json diff --git a/api/locales/pl/common.json b/assets/locales/pl/common.json similarity index 100% rename from api/locales/pl/common.json rename to assets/locales/pl/common.json diff --git a/api/locales/pt/auth.json b/assets/locales/pt/auth.json similarity index 100% rename from api/locales/pt/auth.json rename to assets/locales/pt/auth.json diff --git a/api/locales/pt/common.json b/assets/locales/pt/common.json similarity index 100% rename from api/locales/pt/common.json rename to assets/locales/pt/common.json diff --git a/api/locales/qu/auth.json b/assets/locales/qu/auth.json similarity index 100% rename from api/locales/qu/auth.json rename to assets/locales/qu/auth.json diff --git a/api/locales/qu/common.json b/assets/locales/qu/common.json similarity index 100% rename from api/locales/qu/common.json rename to assets/locales/qu/common.json diff --git a/api/locales/ro/auth.json b/assets/locales/ro/auth.json similarity index 100% rename from api/locales/ro/auth.json rename to assets/locales/ro/auth.json diff --git a/api/locales/ro/common.json b/assets/locales/ro/common.json similarity index 100% rename from api/locales/ro/common.json rename to assets/locales/ro/common.json diff --git a/api/locales/ru/auth.json b/assets/locales/ru/auth.json similarity index 100% rename from api/locales/ru/auth.json rename to assets/locales/ru/auth.json diff --git a/api/locales/ru/common.json b/assets/locales/ru/common.json similarity index 100% rename from api/locales/ru/common.json rename to assets/locales/ru/common.json diff --git a/api/locales/sh/auth.json b/assets/locales/sh/auth.json similarity index 100% rename from api/locales/sh/auth.json rename to assets/locales/sh/auth.json diff --git a/api/locales/sh/common.json b/assets/locales/sh/common.json similarity index 100% rename from api/locales/sh/common.json rename to assets/locales/sh/common.json diff --git a/api/locales/si/auth.json b/assets/locales/si/auth.json similarity index 100% rename from api/locales/si/auth.json rename to assets/locales/si/auth.json diff --git a/api/locales/si/common.json b/assets/locales/si/common.json similarity index 100% rename from api/locales/si/common.json rename to assets/locales/si/common.json diff --git a/api/locales/sk/auth.json b/assets/locales/sk/auth.json similarity index 100% rename from api/locales/sk/auth.json rename to assets/locales/sk/auth.json diff --git a/api/locales/sk/common.json b/assets/locales/sk/common.json similarity index 100% rename from api/locales/sk/common.json rename to assets/locales/sk/common.json diff --git a/api/locales/sr/auth.json b/assets/locales/sr/auth.json similarity index 100% rename from api/locales/sr/auth.json rename to assets/locales/sr/auth.json diff --git a/api/locales/sr/common.json b/assets/locales/sr/common.json similarity index 100% rename from api/locales/sr/common.json rename to assets/locales/sr/common.json diff --git a/api/locales/sv/auth.json b/assets/locales/sv/auth.json similarity index 100% rename from api/locales/sv/auth.json rename to assets/locales/sv/auth.json diff --git a/api/locales/sv/common.json b/assets/locales/sv/common.json similarity index 100% rename from api/locales/sv/common.json rename to assets/locales/sv/common.json diff --git a/api/locales/sw/auth.json b/assets/locales/sw/auth.json similarity index 100% rename from api/locales/sw/auth.json rename to assets/locales/sw/auth.json diff --git a/api/locales/sw/common.json b/assets/locales/sw/common.json similarity index 100% rename from api/locales/sw/common.json rename to assets/locales/sw/common.json diff --git a/api/locales/ta/auth.json b/assets/locales/ta/auth.json similarity index 100% rename from api/locales/ta/auth.json rename to assets/locales/ta/auth.json diff --git a/api/locales/ta/common.json b/assets/locales/ta/common.json similarity index 100% rename from api/locales/ta/common.json rename to assets/locales/ta/common.json diff --git a/api/locales/te/auth.json b/assets/locales/te/auth.json similarity index 100% rename from api/locales/te/auth.json rename to assets/locales/te/auth.json diff --git a/api/locales/te/common.json b/assets/locales/te/common.json similarity index 100% rename from api/locales/te/common.json rename to assets/locales/te/common.json diff --git a/api/locales/tl/auth.json b/assets/locales/tl/auth.json similarity index 100% rename from api/locales/tl/auth.json rename to assets/locales/tl/auth.json diff --git a/api/locales/tl/common.json b/assets/locales/tl/common.json similarity index 100% rename from api/locales/tl/common.json rename to assets/locales/tl/common.json diff --git a/api/locales/tr/auth.json b/assets/locales/tr/auth.json similarity index 100% rename from api/locales/tr/auth.json rename to assets/locales/tr/auth.json diff --git a/api/locales/tr/common.json b/assets/locales/tr/common.json similarity index 100% rename from api/locales/tr/common.json rename to assets/locales/tr/common.json diff --git a/api/locales/ug/auth.json b/assets/locales/ug/auth.json similarity index 100% rename from api/locales/ug/auth.json rename to assets/locales/ug/auth.json diff --git a/api/locales/ug/common.json b/assets/locales/ug/common.json similarity index 100% rename from api/locales/ug/common.json rename to assets/locales/ug/common.json diff --git a/api/locales/uk/auth.json b/assets/locales/uk/auth.json similarity index 100% rename from api/locales/uk/auth.json rename to assets/locales/uk/auth.json diff --git a/api/locales/uk/common.json b/assets/locales/uk/common.json similarity index 100% rename from api/locales/uk/common.json rename to assets/locales/uk/common.json diff --git a/api/locales/ur/auth.json b/assets/locales/ur/auth.json similarity index 100% rename from api/locales/ur/auth.json rename to assets/locales/ur/auth.json diff --git a/api/locales/ur/common.json b/assets/locales/ur/common.json similarity index 100% rename from api/locales/ur/common.json rename to assets/locales/ur/common.json diff --git a/api/locales/vec/auth.json b/assets/locales/vec/auth.json similarity index 100% rename from api/locales/vec/auth.json rename to assets/locales/vec/auth.json diff --git a/api/locales/vec/common.json b/assets/locales/vec/common.json similarity index 100% rename from api/locales/vec/common.json rename to assets/locales/vec/common.json diff --git a/api/locales/vi/auth.json b/assets/locales/vi/auth.json similarity index 100% rename from api/locales/vi/auth.json rename to assets/locales/vi/auth.json diff --git a/api/locales/vi/common.json b/assets/locales/vi/common.json similarity index 100% rename from api/locales/vi/common.json rename to assets/locales/vi/common.json diff --git a/api/locales/zh/auth.json b/assets/locales/zh/auth.json similarity index 100% rename from api/locales/zh/auth.json rename to assets/locales/zh/auth.json diff --git a/api/locales/zh/common.json b/assets/locales/zh/common.json similarity index 100% rename from api/locales/zh/common.json rename to assets/locales/zh/common.json diff --git a/api/assets/openapi.json b/assets/openapi.json similarity index 100% rename from api/assets/openapi.json rename to assets/openapi.json diff --git a/api/assets/plugins/.gitkeep b/assets/plugins/.gitkeep similarity index 100% rename from api/assets/plugins/.gitkeep rename to assets/plugins/.gitkeep diff --git a/api/assets/preload-plugins/.gitkeep b/assets/preload-plugins/.gitkeep similarity index 100% rename from api/assets/preload-plugins/.gitkeep rename to assets/preload-plugins/.gitkeep diff --git a/api/assets/schemas.json b/assets/schemas.json similarity index 63% rename from api/assets/schemas.json rename to assets/schemas.json index 9286b8046125efc39a921add6ee7f867c11ba1bb..0fe3dfa122a0f1ba5315ee66660ce2b4ab18fa29 100644 GIT binary patch delta 222 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 Y*uJ`o6QG{`)(zMH5ppSLQl< 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%0A~ejJ>e<=Br=oI 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

fdRp(w9jWMiYANgxF5Mk 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

HUx$=|4A3;Yoj-cL1OoX7lTH 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 { - // const [cpuUsed, memory, network] = await Promise.all([ - // osu.cpu.usage(), - // osu.mem.info(), - // osu.netstat.inOut(), - // ]); - // let networkUsage = ""; - // if (typeof network === "object") { - // networkUsage = `| [Network]: in ${network.total.inputMb}mb | out ${network.total.outputMb}mb`; - // } - - // console.log( - // `[CPU] ${cpuUsed.toPrecision(3)}% | [Memory] ${Math.round( - // process.memoryUsage().rss / 1024 / 1024 - // )}mb/${memory.totalMemMb.toFixed(0)}mb ${networkUsage}` - // ); - // }, 1000 * 60 * 5); -} diff --git a/bundle/tsnode.tsconfig.json b/bundle/tsnode.tsconfig.json deleted file mode 100644 index 422d336c6..000000000 --- a/bundle/tsnode.tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "extends": "./tsconfig.json", - "ts-node": { - "transpileOnly": true, - "preferTsExts": true, - "require": ["tsconfig-paths/register"], - "compiler": "typescript-cached-transpile", - }, - "compilerOptions": { - "rootDir": "../", - "baseUrl": "../", - "sourceRoot": "../", - "sourceMap": true, - } -} \ No newline at end of file diff --git a/cdn/.env.example b/cdn/.env.example deleted file mode 100644 index b5e011f17..000000000 --- a/cdn/.env.example +++ /dev/null @@ -1,3 +0,0 @@ -STORAGE_LOCATION=files/ -STORAGE_PROVIDER=file -PORT=3003 \ No newline at end of file diff --git a/cdn/.gitignore b/cdn/.gitignore deleted file mode 100644 index 14dd53b59..000000000 --- a/cdn/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -.vscode/ -node_modules/ -.DS_Store -.env -dist/ -files/ -coverage/ \ No newline at end of file diff --git a/cdn/.swcrc b/cdn/.swcrc deleted file mode 100644 index ab5311941..000000000 --- a/cdn/.swcrc +++ /dev/null @@ -1,17 +0,0 @@ -{ - "module": { - "type": "commonjs" - }, - "jsc": { - "parser": { - "syntax": "typescript", - "decorators": true - }, - "target": "es2021", - "baseUrl": ".", - "paths": { - "@fosscord/cdn/": ["src/index"], - "@fosscord/cdn/*": ["src/*"] - } - } -} diff --git a/cdn/Dockerfile b/cdn/Dockerfile deleted file mode 100644 index d9ad78f49..000000000 --- a/cdn/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM node:lts-alpine -WORKDIR /usr/src/fosscord-cdn -COPY package.json . -RUN npm install -COPY . . -EXPOSE 3003 -CMD ["node", "dist/"] \ No newline at end of file diff --git a/cdn/README.md b/cdn/README.md deleted file mode 100644 index 7d8e99b05..000000000 --- a/cdn/README.md +++ /dev/null @@ -1,112 +0,0 @@ -# Fosscord-CDN - -CDN for Fosscord - -## Run localy: - -``` -npm i -node dist/ -``` - -## Endpoints: - -### POST `/attachments/` - -``` -Content-Type: form-data - -attachment: File (binary-data) -``` - -##### Returns: - -``` -{ - "success": boolean, // true - "message": string, // "attachment uploaded" - "id": snowflake, // "794183329158135808" - "filename": string // "lakdoiauej.png" -} -``` - -### GET `/attachments//` - -``` -requests image from database with given and -``` - -##### Returns: - -``` -Content-Type: image/ -Image -``` - -### DELETE `/attachments//` - -``` -deletes database entry -``` - -##### Returns: - -``` -Content-Type: application/json - -{ - "success": true, - "message": "attachment deleted" -} -``` - -


- -_(endpoints for crawler):_ - -### POST `/external` - -``` -requests crawling of `og:`metadata and the download of the `og:image` property --------- -Content-Type: application/json - -body: -{"url": URL} // "https://discord.com" -``` - -##### Returns: - -``` -Content-Type: application/json - -{ - "id": string, // "aHR0cHM6Ly9kaXNjb3JkLmNvbQ==" - "ogTitle": string, // "Discord | Your Place to Talk and Hang Out" - "ogDescription": string, // "Discord is the easiest way to talk over voice, video, and text. Talk, chat, hang out, and stay close with your friends and communities." - "cachedImage": string, // "/external/aHR0cHM6Ly9kaXNjb3JkLmNvbQ==/discord.png" - "ogUrl": string, // "https://discord.com/" - "ogType": string // "website" -} -``` - -### GET `/external//` - -- requests cached crawled image - -``` -url-params: - :id // aHR0cHM6Ly9kaXNjb3JkLmNvbQ== - :filename // discord.png -``` - -``` -/external/aHR0cHM6Ly9kaXNjb3JkLmNvbQ==/discord.png -``` - -##### Returns: - -``` -Content-Type: image/ -Image -``` diff --git a/cdn/jest/setup.js b/cdn/jest/setup.js deleted file mode 100644 index abc485ae3..000000000 --- a/cdn/jest/setup.js +++ /dev/null @@ -1,2 +0,0 @@ -jest.spyOn(global.console, "log").mockImplementation(() => jest.fn()); -jest.spyOn(global.console, "info").mockImplementation(() => jest.fn()); diff --git a/cdn/package-lock.json b/cdn/package-lock.json deleted file mode 100644 index 08d49abfbd3f17649e393d1e0e985eda082ba7f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 500189 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

i%fU^zXZ_fjiFODX1-5})d^b+;&`8 z9u_UUVh>IhSDRAN%5N|A!NOWv|CiC#pROb16q);U^D{ca8R(f_&hOvT5qzy-6?CyW zUpY9|(MA|P#v|*1d*x1pg8I4<*Ib^~JGa_ijEw4bR3;As*Ck7i?v+_ircS$Tdq zxT8i?b_p+Rb~~+$Hu&f8B~%&1aQP&i^FCrz8|fqED}#E*Z1zEd+E>{O*3iKCsw2x& zuT~$GakA4>b}P0dlH<+6v|36>=KOiFJD2yZ#_`}RjB1zAmC7_MFa^%0T81&5oamOh zt!)o0s)dau2fLv5fx#b(c4UFx71;5G;%#sUAIs!OGN6yRe$MM4%=$ReP@89Hxg&9Wj zu%nj8GOa9Hm?oM-RXfz%)oHX}Y#F{0xZPUKAjkbir#Hi;a?i0>%&0|g)+-MJYV%2> z)$2I3Q>7{Gt1I8Daj#sVsrw5iN<*r>4W^0^qPBlr ze$YSjfF9)m{o`|bbcxfx64Ut7nfMQJ0$o8qv*y)@34gw7Fl^|hQP|yVb^SDL4ObmW zsTiHpLO$9>3J>^^#IFm5-INPNTdLFEVL=v*!juq{<(Rh^&ppxYRYxVurJ}T!q6R}9 zip$G->Qv?nr{~b??kn%62=limx~}3n+mhx^t7h7I6(6L<2L0@GZXpluF%XVP*&F1G;*uOg>ZR9tx6F z5BMlk^zWkzKJjFx&XPZn0Kxl`5gxpLkKm@A&NP6Le1WEwOGB3#N!D(Jm1W0gHLhl? z`Xz=54v;kOiV9?$nVZd+B_jS56#E_hu$`S$rFzuIv&C2n2F1|WLc^oYdp?C12F*FN zb2aty&#^si(?&X~27VrZeImXt`+Fa?KjWN9VP5bW z(?NpNSB@E&ZV0p90{T>x7xHp3E;O+E$XV=11y6HmXuI81YR!TYSqohpL7vidRS5i1 zU9Ss=!D`-Uu4;oO43b!@Y*WS-8$(@;x7(KoC!*Jf78Er4J=YLk0rfrF7xF3ar>vAsOb}eNoL

a{!2 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

- -

-

Fosscord WebSocket Gateway Server

- -

- - - - -

- -## [About](https://github.com/fosscord/fosscord-gateway/wiki) - -Fosscord is **f**ree **o**pen **s**ource **s**oftware compatible to dis**cord**. It is a selfhostable Chat, Voice and Video platform similar to Slack, Rocket.chat and Discord-compatible. - -- Discord-compatible -- Selfhostable -- Open Source -- Configurable -- Secure -- Decentralized -- Extendable -- Themeable - -logo by [@nwlandas](https://twitter.com/nwlandas) - -## Installation - -_it is in development and not yet finished_ - -## Support - -https://discord.gg/ZrnGQP6p3d - -if we are finished we'll host our own support server. - -## Contribute - -This project is only possible by volunteers like you and me, your contribution is very much appreciated 🥺. - -If you want to make this project reality and and you would like to contribute then [read the wiki](https://github.com/fosscord/fosscord-gateway/wiki) first. diff --git a/gateway/package-lock.json b/gateway/package-lock.json deleted file mode 100644 index cbad96dc2f057faa4bb38657fbe9b4dd994bc00b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 540153 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

W$fp-WP$RM~)uStCAjpHFzulj$-Ea;K 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 delta 15447 zcmdseXLy!X((rZnn%;Y%7n9IIT4*BDf+9*MbR;AZ5EMn?u2`tSM>C>=;8GPN7-a-S zf-9^AAru9q1yMjs2uK&mJLlX_3(LCx`mXPNx%lzir_7l%GiQ2sywT+S&oUC9HI3BV z>2K`IT&L2nX`Ogs}b3H%DWKSM7HT#)VHZj=snf@RgxFaUGszRE(lFL=sTBVlD z4yskM*;ph?1Oaw`BUC|}s(dWdS2_$^BG!ZQLvjJLN#oq4GD>j`!ongn&gsofU%kcI!H4cWg6N8n7IgvE1t^1^#m7HV!}0J6wTZzFXw+J+j;C;I2O;heHOa<-uMGc#f=21>d>VDdB_5sNwzcQN*{=M-|`L&KqhS zJpZ}6*S9t18&&iXCb6VEOcGpeheo{iqvgun7g|y)qWh=Bzz8U`1g+$q?*|BOUa3M| zSGQfix^9n*L~V_BM}R}?g~rgUN)3U`8;V}CXir~(W+Pmgrz4>KI<2Q`%WUE?+jo19 zQS#NkD8V&&aKuMHexvYZ$>lm+_*4vm=lkg~CCP_Jm=3>aM?F`;1=W>xD#119QooX{ zQ%{I&Cjr)6dAn0x88=74yI*QSCC{Bv1cofl*Lv( z0~M|Ha4g=gsT@mozks3>T0+T%%3d?ga^uu}%wdW!~%u#WnR<*PAm!T!m*k!n&Gzv}^I5)o#3VaMwO9#Z7n5 z1!2olA&l*KUFZS-6olo~v2YE(77TMgk~l#62msu#t>IX~{71K=3jErxZg!f$Wrasc)< zgk24oL_k(&VF4a&CJ>F;PWA}}r!*D57^nvng$m&-bLe5R8)A7&VY=agp91+02v0(y zt=pK~NwAzHwEZV9z|Aie!|}p{Lbz{<17+SSAp&7PQ`Cqf$tKBg%Sx$~bArofB@Jrt7?^!o$|o+>ne zq_4HQP<)P9QW;F2J?9DUK>quJiSbE#2jQL|XgV0bOV*RQytTn4Lxjx(7>cB!b)2

4VnI|PVV4jA$G#CRGHbZiI~EDSns}61 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 J>Hl=|e*o`pKc@fy diff --git a/package.json b/package.json index 8488ff28b..95dbb6597 100644 --- a/package.json +++ b/package.json @@ -1,17 +1,101 @@ { - "name": "fosscord-server", + "name": "@fosscord/server", "version": "1.0.0", - "description": "A Fosscord server written in Node.js", - "workspaces": ["api", "cdn", "gateway"], - "scripts": {}, + "description": "", + "main": "src/start.js", + "scripts": { + "setup": "npm install --omit optional && ts-patch install -s && patch-package && npm run build", + "depclean": "node scripts/depclean.js", + "depcheck": "node scripts/depcheck.js", + "syncdeps": "node scripts/install.js", + "build": "node scripts/build.js", + "postinstall": "patch-package", + "genschemas": "node scripts/generate_schemas.js", + "start": "node scripts/build.js && node --enable-source-maps dist/start.js", + "start:bundle": "node --enable-source-maps dist/start.js", + "start:bundle:dbg": "node --enable-source-maps --inspect dist/start.js", + "start:bundle:vscode-dbg": "npm run build clean logerrors pretty-errors && node --enable-source-maps --inspect dist/start.js", + "migrate": "cd ../util/ && npm i && node --require ts-node/register node_modules/typeorm/cli.js -f ../util/ormconfig.json migration:run", + "tsnode": "npx ts-node --transpile-only -P tsnode.tsconfig.json src/start.ts" + }, "repository": { "type": "git", "url": "git+https://github.com/fosscord/fosscord-server.git" }, + "keywords": [], "author": "Fosscord", "license": "AGPL-3.0-only", "bugs": { "url": "https://github.com/fosscord/fosscord-server/issues" }, - "homepage": "https://fosscord.com" + "homepage": "https://fosscord.com", + "devDependencies": { + "@babel/core": "^7.18.9", + "@babel/preset-env": "^7.18.9", + "@babel/preset-typescript": "^7.15.0", + "@types/amqplib": "^0.8.1", + "@types/bcrypt": "^5.0.0", + "@types/body-parser": "^1.19.0", + "@types/dotenv": "^8.2.0", + "@types/express": "^4.17.12", + "@types/i18next-node-fs-backend": "^2.1.0", + "@types/jsonwebtoken": "^8.5.8", + "@types/morgan": "^1.9.3", + "@types/multer": "^1.4.7", + "@types/node": "^18.0.6", + "@types/node-os-utils": "^1.3.0", + "@types/ws": "^8.5.3", + "jest": "^28.1.3", + "jest-expect-message": "^1.0.2", + "supertest": "^6.1.6", + "ts-node": "^10.2.1", + "ts-node-dev": "^2.0.0", + "ts-patch": "^2.0.2", + "typescript": "^4.2.3", + "typescript-json-schema": "^0.54.0" + }, + "dependencies": { + "@aws-sdk/client-s3": "^3.137.0", + "@babel/preset-typescript": "^7.15.0", + "@ovos-media/ts-transform-paths": "^1.7.18-1", + "@sentry/node": "^7.7.0", + "@sentry/tracing": "^7.7.0", + "@types/node-fetch": "^2.6.2", + "ajv": "^8.11.0", + "ajv-formats": "^2.1.1", + "amqplib": "^0.10.1", + "bcrypt": "^5.0.1", + "body-parser": "^1.19.0", + "canvas": "^2.9.3", + "cheerio": "^1.0.0-rc.10", + "dotenv": "^16.0.1", + "exif-be-gone": "^1.3.0", + "express": "^4.17.1", + "file-type": "16.5", + "form-data": "^4.0.0", + "i18next": "^21.8.14", + "i18next-http-middleware": "^3.1.3", + "i18next-node-fs-backend": "^2.1.3", + "image-size": "^1.0.0", + "jest": "^28.1.3", + "jsonwebtoken": "^8.5.1", + "lambert-server": "^1.2.12", + "missing-native-js-functions": "^1.2.18", + "morgan": "^1.10.0", + "multer": "^1.4.5-lts.1", + "node-2fa": "^2.0.3", + "node-fetch": "^2.6.7", + "patch-package": "^6.4.7", + "picocolors": "^1.0.0", + "proxy-agent": "^5.0.0", + "reflect-metadata": "^0.1.13", + "typeorm": "^0.3.7", + "typescript": "^4.1.2", + "ws": "^8.8.1" + }, + "optionalDependencies": { + "mysql2": "^2.3.3", + "pg": "^8.7.3", + "sqlite3": "^5.0.11" + } } diff --git a/api/patches/ajv+8.6.2.patch b/patches/ajv+8.6.2.patch similarity index 100% rename from api/patches/ajv+8.6.2.patch rename to patches/ajv+8.6.2.patch diff --git a/api/patches/typescript-json-schema+0.54.0.patch b/patches/typescript-json-schema+0.54.0.patch similarity index 100% rename from api/patches/typescript-json-schema+0.54.0.patch rename to patches/typescript-json-schema+0.54.0.patch diff --git a/rtc/.gitignore b/rtc/.gitignore deleted file mode 100644 index f14b45488..000000000 --- a/rtc/.gitignore +++ /dev/null @@ -1,145 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-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/ - -# TypeScript v1 declaration files -typings/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# 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 variables file -.env -.env.test - -# parcel-bundler cache (https://parceljs.org/) -.cache - -# Next.js build output -.next - -# Nuxt.js build / generate output -.nuxt - -# 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 - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port -.DS_Store - -# Compiled TypeScript code -dist/ -# Prerequisites -*.d - -# Compiled Object files -*.slo -*.lo -*.o -*.obj - -# Precompiled Headers -*.gch -*.pch - -# Compiled Dynamic libraries -*.so -*.dylib -*.dll - -# Fortran module files -*.mod -*.smod - -# Compiled Static libraries -*.lai -*.la -*.a -*.lib - -# Executables -*.o - -# Protobuffer builds -*.pb.cc -*.pb.h - -# Directories -build/ -.vscode/ diff --git a/rtc/.npmignore b/rtc/.npmignore deleted file mode 100644 index 05a9d0cf2..000000000 --- a/rtc/.npmignore +++ /dev/null @@ -1 +0,0 @@ -!dist/ \ No newline at end of file diff --git a/rtc/.prettierrc b/rtc/.prettierrc deleted file mode 100644 index d569c548e..000000000 --- a/rtc/.prettierrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "tabWidth": 4, - "useTabs": true, - "printWidth": 120 -} diff --git a/rtc/CMakeLists.txt b/rtc/CMakeLists.txt deleted file mode 100644 index 2cf5c0a6d..000000000 --- a/rtc/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ -cmake_minimum_required(VERSION 3.2) -project(fosscord-media) - -set(CMAKE_CXX_STANDARD 17) - -find_package(Threads REQUIRED) - -find_package(mongocxx REQUIRED) -find_package(Boost REQUIRED) - - -file(GLOB SourceFiles ${PROJECT_SOURCE_DIR}/src/*.cpp) -#include_directories("bsoncxx/v_noabi/bsoncxx/") -add_executable(${CMAKE_PROJECT_NAME} ${SourceFiles}) - -target_link_libraries(${CMAKE_PROJECT_NAME} datachannel mongo::mongocxx_shared Boost::boost) \ No newline at end of file diff --git a/rtc/README.md b/rtc/README.md deleted file mode 100644 index ee452adf3..000000000 --- a/rtc/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# Fosscord-media - -A Fosscord media (voice and video) server - -## Installation - -### Prerequisites - -- Install the [libdatachannel](https://github.com/paullouisageneau/libdatachannel) library -- Install the [libmongocxx](http://mongocxx.org/mongocxx-v3/installation/) driver and its requirements - -### Building - -```bash -$ cmake -$ cd build -$ make -``` diff --git a/rtc/config.json b/rtc/config.json deleted file mode 100644 index 0967ef424..000000000 --- a/rtc/config.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/rtc/src/main.cpp b/rtc/src/main.cpp deleted file mode 100644 index 372eaa008..000000000 --- a/rtc/src/main.cpp +++ /dev/null @@ -1,47 +0,0 @@ -// $$$$$$\ $$\ -// $$ __$$\ $$ | -// $$ / \__|$$$$$$\ $$$$$$$\ $$$$$$$\ $$$$$$$\ $$$$$$\ $$$$$$\ $$$$$$$ | -// $$$$\ $$ __$$\ $$ _____|$$ _____|$$ _____|$$ __$$\ $$ __$$\ $$ __$$ | -// $$ _| $$ / $$ |\$$$$$$\ \$$$$$$\ $$ / $$ / $$ |$$ | \__|$$ / $$ | -// $$ | $$ | $$ | \____$$\ \____$$\ $$ | $$ | $$ |$$ | $$ | $$ | -// $$ | \$$$$$$ |$$$$$$$ |$$$$$$$ |\$$$$$$$\ \$$$$$$ |$$ | \$$$$$$$ | -// \__| \______/ \_______/ \_______/ \_______| \______/ \__| \_______| -// -// -// -// $$\ $$$$$$\ -// \__| $$ __$$\ -// $$\ $$\ $$$$$$\ $$\ $$$$$$$\ $$$$$$\ $$ / \__| $$$$$$\ $$$$$$\ $$\ $$\ $$$$$$\ $$$$$$\ -// \$$\ $$ |$$ __$$\ $$ |$$ _____|$$ __$$\ \$$$$$$\ $$ __$$\ $$ __$$\\$$\ $$ |$$ __$$\ $$ __$$\ -// \$$\$$ / $$ / $$ |$$ |$$ / $$$$$$$$ | \____$$\ $$$$$$$$ |$$ | \__|\$$\$$ / $$$$$$$$ |$$ | \__| -// \$$$ / $$ | $$ |$$ |$$ | $$ ____|$$\ $$ |$$ ____|$$ | \$$$ / $$ ____|$$ | -// \$ / \$$$$$$ |$$ |\$$$$$$$\ \$$$$$$$\ \$$$$$$ |\$$$$$$$\ $$ | \$ / \$$$$$$$\ $$ | -// \_/ \______/ \__| \_______| \_______| \______/ \_______|\__| \_/ \_______|\__| -// -// -// - -#include "rtcPeerHandler.hpp" //Handle peer connection requests -#include "mongoStub.hpp" //Handle communication with the MongoDB server - -int main(int argc, char **argv){ - - auto commsHandler = std::make_shared(); - auto mongoHandler = std::make_unique(); - - mongocxx::options::change_stream options; - //voiceEvents collection watcher - mongocxx::change_stream colCs = mongoHandler->getCol().watch(options); - - std::cout << "Server created and listening for events" << std::endl; - - //Check for new messages in the collection - for (;;){ - std::vector t = mongoHandler->getNewMessages(&colCs); - for(auto &i : t){ - std::cout << "[" << i.eventName << "] " << std::endl; - } - } - - return 0; -} \ No newline at end of file diff --git a/rtc/src/mongoStub.cpp b/rtc/src/mongoStub.cpp deleted file mode 100644 index ccd2abda3..000000000 --- a/rtc/src/mongoStub.cpp +++ /dev/null @@ -1,84 +0,0 @@ -#include "mongoStub.hpp" - -mongoStub::mongoStub() { - if (this->client) { - this->db = client["fosscord"]; - - if (this->db) { - this->col = db["events"]; - - } else { - std::cout << "db not found"; - exit(-1); - } - } else { - std::cout << "Client couldn't be initialized"; - exit(-1); - } -} - -// Too slow for my liking -std::vector mongoStub::getNewMessages( - mongocxx::change_stream* colCs) { - std::vector retVec; - - for (auto&& event : *colCs) { - mongoStub::mongoMessage returnValue; - - std::cout << bsoncxx::to_json(event) << std::endl; - - // Only listen to insert events (to avoid "precondition failed: data" - // exception) - if (event["operationType"].get_utf8().value.to_string() != "insert") { - continue; - } - - std::string evName = event["fullDocument"]["event"].get_utf8().value.to_string(); - - if(evName.substr(0, 7)=="VSERVER"){ continue; } //Ignore the event if it's been emited by a voice server - - if (evName == "UDP_CONNECTION") { - handleUdpRequest( - event["fullDocument"]["data"]["d"]["address"].get_utf8().value.to_string(), - event["fullDocument"]["data"]["d"]["port"].get_int32().value, - event["fullDocument"]["data"]["d"]["mode"].get_utf8().value.to_string() - ); - - } else if (evName == "VOICE_REQUEST") { - //TODO - continue; - } - - returnValue.eventName = evName; - retVec.push_back(returnValue); - } - - return retVec; -} - - -void mongoStub::handleUdpRequest(std::string address, int port, std::string mode) { - using bsoncxx::builder::basic::kvp; - using bsoncxx::builder::basic::sub_array; - using bsoncxx::builder::basic::sub_document; - - auto builder = bsoncxx::builder::basic::document{}; - - //Handle UDP socket stuff (later tho) - - builder.append(kvp("event", "VSERVER_UDP_RESPONSE")); - builder.append(kvp("op", "4")); - builder.append(kvp("d", [](sub_document subdoc) { - subdoc.append(kvp("mode", "CRYPT_MODE")), - subdoc.append(kvp("secret_key", [](sub_array subarr) { - subarr.append(1, 2, 3, 5); // HOW DO I GEN A SKEY? - })); - })); - - - bsoncxx::stdx::optional r= col.insert_one(builder.view()); -} - -void mongoStub::handleVoiceRequest() { - //Is this really needed? idk -} \ No newline at end of file diff --git a/rtc/src/mongoStub.hpp b/rtc/src/mongoStub.hpp deleted file mode 100644 index 2809142f7..000000000 --- a/rtc/src/mongoStub.hpp +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef MONGOSTUB_HPP -#define MONGOSTUB_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -class mongoStub{ - public: - mongoStub(); - - struct mongoMessage{ - std::string eventName; - std::vector data; - }; - - std::vector getNewMessages(mongocxx::change_stream* colCs); - - mongocxx::collection getCol() const { return col; } - - - - private: - mongocxx::instance instance; - mongocxx::client client{mongocxx::uri{}}; - mongocxx::database db; - mongocxx::collection col; - mongocxx::change_stream* colCs = nullptr; - - void handleUdpRequest(std::string address, int port, std::string mode); - void handleVoiceRequest(); -}; - -#endif diff --git a/rtc/src/rtcPeerHandler.cpp b/rtc/src/rtcPeerHandler.cpp deleted file mode 100644 index 9bfc64665..000000000 --- a/rtc/src/rtcPeerHandler.cpp +++ /dev/null @@ -1,83 +0,0 @@ -#include "rtcPeerHandler.hpp" - -rtcPeerHandler::rtcPeerHandler() { - rtc::InitLogger(rtc::LogLevel::Verbose, NULL); -} - -void rtcPeerHandler::initiateConnection(std::string peerIP, int peerPort) { - // Socket connection between client and server - SOCKET sock = socket(AF_INET, SOCK_DGRAM, 0); - sockaddr_in addr; - addr.sin_addr.s_addr = inet_addr(peerIP.c_str()); - addr.sin_port = htons(peerPort); - addr.sin_family = AF_INET; - - rtc::Configuration conf; - conf.enableIceTcp = false; - conf.disableAutoNegotiation = false; - - auto pc = std::make_shared(conf); - - rtc::Description::Audio media("audio", - rtc::Description::Direction::SendRecv); - media.addOpusCodec(96); - media.setBitrate(64); - - auto track = pc->addTrack(media); - - // auto session = std::make_shared(); - - // track->setMediaHandler(session); - - rtc::Reliability rtcRel; - rtcRel.unordered = true; - rtcRel.type = rtc::Reliability::Type::Timed; - rtcRel.rexmit = 500; - - rtc::DataChannelInit rtcConf; - rtcConf.reliability = rtcRel; - rtcConf.negotiated = false; - - pc->onStateChange([](rtc::PeerConnection::State state) { - std::cout << "State: " << state << std::endl; - if (state == rtc::PeerConnection::State::Disconnected || - state == rtc::PeerConnection::State::Failed || - state == rtc::PeerConnection::State::Closed) { - // remove disconnected client - } - }); - - pc->onGatheringStateChange([](rtc::PeerConnection::GatheringState state) { - std::cout << "Gathering State: " << state << std::endl; - }); - - /*std::tuple addAudio( - - const std::shared_ptr pc, - const uint8_t payloadType, const uint32_t ssrc, const std::string cname, - const std::string msid, const std::function onOpen) { - auto audio = Description::Audio(cname); - audio.addOpusCodec(payloadType); - audio.addSSRC(ssrc, cname, msid, cname); - auto track = pc->addTrack(audio); - // create RTP configuration - auto rtpConfig = make_shared( - ssrc, cname, payloadType, OpusRtpPacketizer::defaultClockRate); - // create packetizer - auto packetizer = make_shared(rtpConfig); - // create opus handler - auto opusHandler = make_shared(packetizer); - - // add RTCP SR handler - auto srReporter = make_shared(rtpConfig); - opusHandler->addToChain(srReporter); - - // set handler - track->setMediaHandler(opusHandler); - track->onOpen(onOpen); - auto trackData = make_shared(track, srReporter); - return trackData; - }*/ - - pc->createDataChannel("Fosscord voice connection", rtcConf); -} diff --git a/rtc/src/rtcPeerHandler.hpp b/rtc/src/rtcPeerHandler.hpp deleted file mode 100644 index 3ba32a832..000000000 --- a/rtc/src/rtcPeerHandler.hpp +++ /dev/null @@ -1,32 +0,0 @@ -#include "libdatachannel/rtc.hpp" -#include -#include -#include "nlohmann/json.hpp" -#include - -#ifdef _WIN32 -#include -#else -#include -typedef int SOCKET; -#endif - -using json = nlohmann::json; - -#ifndef RTCPEERHANDLER -#define RTCPEERHANDLER -class rtcPeerHandler{ -public: - rtcPeerHandler(); - void initiateConnection(std::string peerIP, int peerPort); - - struct client - { - std::shared_ptr pc; - std::shared_ptr dc; - }; - -private: - std::map clients; -}; -#endif \ No newline at end of file diff --git a/rtc/src/rtcServer.hpp b/rtc/src/rtcServer.hpp deleted file mode 100644 index e69de29bb..000000000 diff --git a/util/scripts/benchmark.js b/scripts/benchmark.js similarity index 100% rename from util/scripts/benchmark.js rename to scripts/benchmark.js diff --git a/bundle/scripts/benchmark/connections.js b/scripts/benchmark/connections.js similarity index 100% rename from bundle/scripts/benchmark/connections.js rename to scripts/benchmark/connections.js diff --git a/bundle/scripts/benchmark/index.js b/scripts/benchmark/index.js similarity index 100% rename from bundle/scripts/benchmark/index.js rename to scripts/benchmark/index.js diff --git a/bundle/scripts/benchmark/users.js b/scripts/benchmark/users.js similarity index 100% rename from bundle/scripts/benchmark/users.js rename to scripts/benchmark/users.js diff --git a/bundle/scripts/build.js b/scripts/build.js similarity index 77% rename from bundle/scripts/build.js rename to scripts/build.js index f53a22233..49353c877 100644 --- a/bundle/scripts/build.js +++ b/scripts/build.js @@ -1,9 +1,8 @@ const { execSync } = require("child_process"); const path = require("path"); const fs = require("fs"); -const { getSystemErrorMap } = require("util"); const { argv, stdout, exit } = require("process"); -const { copyRecursiveSync, execIn, parts } = require('./utils'); +const { execIn, parts } = require('./utils'); if(argv.includes("help")) { console.log(`Fosscord build script help: @@ -44,14 +43,6 @@ console.log(`[${++i}/${steps}] Checking if dependencies were installed correctly if(!fs.existsSync(path.join(__dirname, "..", "node_modules", "exif-be-gone", "index.js"))) execIn("npm run build", path.join(__dirname, "..", "node_modules", "exif-be-gone")); -console.log(`[${++i}/${steps}] Copying src files...`); -copyRecursiveSync(path.join(__dirname, "..", "..", "api", "assets"), path.join(__dirname, "..", "dist", "api", "assets")); -copyRecursiveSync(path.join(__dirname, "..", "..", "api", "client_test"), path.join(__dirname, "..", "dist", "api", "client_test")); -copyRecursiveSync(path.join(__dirname, "..", "..", "api", "locales"), path.join(__dirname, "..", "dist", "api", "locales")); -parts.forEach((a) => { - copyRecursiveSync("../" + a + "/src", "dist/" + a + "/src"); - if (verbose) console.log(`Copied ${"../" + a + "/dist"} -> ${"dist/" + a + "/src"}!`); -}); if (!argv.includes("copyonly")) { console.log(`[${++i}/${steps}] Compiling src files ...`); diff --git a/bundle/scripts/db_migrations.sh b/scripts/db_migrations.sh similarity index 100% rename from bundle/scripts/db_migrations.sh rename to scripts/db_migrations.sh diff --git a/bundle/scripts/depcheck.js b/scripts/depcheck.js similarity index 100% rename from bundle/scripts/depcheck.js rename to scripts/depcheck.js diff --git a/bundle/scripts/depclean.js b/scripts/depclean.js similarity index 100% rename from bundle/scripts/depclean.js rename to scripts/depclean.js diff --git a/api/scripts/droptables.sql b/scripts/droptables.sql similarity index 100% rename from api/scripts/droptables.sql rename to scripts/droptables.sql diff --git a/bundle/scripts/gen_index.js b/scripts/gen_index.js similarity index 100% rename from bundle/scripts/gen_index.js rename to scripts/gen_index.js diff --git a/api/scripts/generate_openapi.js b/scripts/generate_openapi.js similarity index 100% rename from api/scripts/generate_openapi.js rename to scripts/generate_openapi.js diff --git a/api/scripts/generate_schema.js b/scripts/generate_schema.js similarity index 96% rename from api/scripts/generate_schema.js rename to scripts/generate_schema.js index 1badfd326..6925df5d2 100644 --- a/api/scripts/generate_schema.js +++ b/scripts/generate_schema.js @@ -49,7 +49,7 @@ function modify(obj) { function main() { const files = [ - ...walk(path.join(__dirname, "..", "..", "util", "src", "schemas")), + ...walk(path.join(__dirname, "..", "src", "util", "schemas")), ]; const program = TJS.getProgramFromFiles( files, diff --git a/bundle/scripts/install.js b/scripts/install.js similarity index 100% rename from bundle/scripts/install.js rename to scripts/install.js diff --git a/util/scripts/migrate_db_engine.js b/scripts/migrate_db_engine.js similarity index 100% rename from util/scripts/migrate_db_engine.js rename to scripts/migrate_db_engine.js diff --git a/bundle/scripts/rights.js b/scripts/rights.js similarity index 100% rename from bundle/scripts/rights.js rename to scripts/rights.js diff --git a/api/scripts/stresstest/.gitignore b/scripts/stresstest/.gitignore similarity index 100% rename from api/scripts/stresstest/.gitignore rename to scripts/stresstest/.gitignore diff --git a/api/scripts/stresstest/accounts.json.example b/scripts/stresstest/accounts.json.example similarity index 100% rename from api/scripts/stresstest/accounts.json.example rename to scripts/stresstest/accounts.json.example diff --git a/api/scripts/stresstest/config.json.example b/scripts/stresstest/config.json.example similarity index 100% rename from api/scripts/stresstest/config.json.example rename to scripts/stresstest/config.json.example diff --git a/api/scripts/stresstest/index.js b/scripts/stresstest/index.js similarity index 100% rename from api/scripts/stresstest/index.js rename to scripts/stresstest/index.js diff --git a/api/scripts/stresstest/package-lock.json b/scripts/stresstest/package-lock.json similarity index 100% rename from api/scripts/stresstest/package-lock.json rename to scripts/stresstest/package-lock.json diff --git a/api/scripts/stresstest/package.json b/scripts/stresstest/package.json similarity index 100% rename from api/scripts/stresstest/package.json rename to scripts/stresstest/package.json diff --git a/api/scripts/stresstest/src/login/index.js b/scripts/stresstest/src/login/index.js similarity index 91% rename from api/scripts/stresstest/src/login/index.js rename to scripts/stresstest/src/login/index.js index ab6c9719e..b153550e8 100644 --- a/api/scripts/stresstest/src/login/index.js +++ b/scripts/stresstest/src/login/index.js @@ -1,6 +1,6 @@ const fetch = require("node-fetch"); const fs = require("fs"); -let config = require("./../../config.json"); +let config = require("../../config.json"); module.exports = login; async function login(account) { let body = { diff --git a/api/scripts/stresstest/src/message/send.js b/scripts/stresstest/src/message/send.js similarity index 100% rename from api/scripts/stresstest/src/message/send.js rename to scripts/stresstest/src/message/send.js diff --git a/api/scripts/stresstest/src/register/index.js b/scripts/stresstest/src/register/index.js similarity index 100% rename from api/scripts/stresstest/src/register/index.js rename to scripts/stresstest/src/register/index.js diff --git a/bundle/scripts/update_schemas.js b/scripts/update_schemas.js similarity index 100% rename from bundle/scripts/update_schemas.js rename to scripts/update_schemas.js diff --git a/bundle/scripts/utils.js b/scripts/utils.js similarity index 100% rename from bundle/scripts/utils.js rename to scripts/utils.js diff --git a/bundle/src/Server.ts b/src/Server.ts similarity index 97% rename from bundle/src/Server.ts rename to src/Server.ts index 165ab1212..4d5d64229 100644 --- a/bundle/src/Server.ts +++ b/src/Server.ts @@ -10,7 +10,7 @@ import { green, bold, yellow } from "picocolors"; import { Config, getOrInitialiseDatabase } from "@fosscord/util"; import * as Sentry from "@sentry/node"; import * as Tracing from "@sentry/tracing"; -import { PluginLoader } from "@fosscord/util"; +// import { PluginLoader } from "@fosscord/util"; const app = express(); const server = http.createServer(); @@ -95,7 +95,7 @@ async function main() { }); } console.log(`[Server] ${green(`listening on port ${bold(port)}`)}`); - PluginLoader.loadPlugins(); + // PluginLoader.loadPlugins(); } main().catch(console.error); diff --git a/api/src/Server.ts b/src/api/Server.ts similarity index 100% rename from api/src/Server.ts rename to src/api/Server.ts diff --git a/api/src/global.d.ts b/src/api/global.d.ts similarity index 100% rename from api/src/global.d.ts rename to src/api/global.d.ts diff --git a/api/src/index.ts b/src/api/index.ts similarity index 100% rename from api/src/index.ts rename to src/api/index.ts diff --git a/api/src/middlewares/Authentication.ts b/src/api/middlewares/Authentication.ts similarity index 100% rename from api/src/middlewares/Authentication.ts rename to src/api/middlewares/Authentication.ts diff --git a/api/src/middlewares/BodyParser.ts b/src/api/middlewares/BodyParser.ts similarity index 100% rename from api/src/middlewares/BodyParser.ts rename to src/api/middlewares/BodyParser.ts diff --git a/api/src/middlewares/CORS.ts b/src/api/middlewares/CORS.ts similarity index 100% rename from api/src/middlewares/CORS.ts rename to src/api/middlewares/CORS.ts diff --git a/api/src/middlewares/ErrorHandler.ts b/src/api/middlewares/ErrorHandler.ts similarity index 100% rename from api/src/middlewares/ErrorHandler.ts rename to src/api/middlewares/ErrorHandler.ts diff --git a/api/src/middlewares/RateLimit.ts b/src/api/middlewares/RateLimit.ts similarity index 100% rename from api/src/middlewares/RateLimit.ts rename to src/api/middlewares/RateLimit.ts diff --git a/api/src/middlewares/TestClient.ts b/src/api/middlewares/TestClient.ts similarity index 89% rename from api/src/middlewares/TestClient.ts rename to src/api/middlewares/TestClient.ts index 4fe631cb5..a47ff396e 100644 --- a/api/src/middlewares/TestClient.ts +++ b/src/api/middlewares/TestClient.ts @@ -7,11 +7,13 @@ import { Config } from "@fosscord/util"; import { AssetCacheItem } from "../util/entities/AssetCacheItem" import { green } from "picocolors"; +const AssetsPath = path.join(__dirname, "..", "..", "..", "assets") + export default function TestClient(app: Application) { const agent = new ProxyAgent(); //build client page - let html = fs.readFileSync(path.join(__dirname, "..", "..", "client_test", "index.html"), { encoding: "utf8" }); + let html = fs.readFileSync(path.join(AssetsPath, "index.html"), { encoding: "utf8" }); html = applyEnv(html); html = applyInlinePlugins(html); html = applyPlugins(html); @@ -19,7 +21,7 @@ export default function TestClient(app: Application) { //load asset cache let newAssetCache: Map = new Map(); - let assetCacheDir = path.join(__dirname, "..", "..", "assets", "cache"); + let assetCacheDir = path.join(AssetsPath, "cache"); if(process.env.ASSET_CACHE_DIR) assetCacheDir = process.env.ASSET_CACHE_DIR @@ -32,7 +34,7 @@ export default function TestClient(app: Application) { newAssetCache = new Map(Object.entries(JSON.parse(rawdata.toString()))); } - app.use("/assets", express.static(path.join(__dirname, "..", "..", "assets"))); + app.use("/assets", express.static(path.join(AssetsPath))); app.get("/assets/:file", async (req: Request, res: Response) => { delete req.headers.host; let response: FetchResponse; @@ -113,7 +115,7 @@ function applyEnv(html: string): string { function applyPlugins(html: string): string { // plugins - let files = fs.readdirSync(path.join(__dirname, "..", "..", "assets", "plugins")); + let files = fs.readdirSync(path.join(AssetsPath, "plugins")); let plugins = ""; files.forEach(x =>{if(x.endsWith(".js")) plugins += `\n`; }); return html.replaceAll("", plugins); @@ -121,7 +123,7 @@ function applyPlugins(html: string): string { function applyInlinePlugins(html: string): string{ // inline plugins - let files = fs.readdirSync(path.join(__dirname, "..", "..", "assets", "inline-plugins")); + let files = fs.readdirSync(path.join(AssetsPath, "inline-plugins")); let plugins = ""; files.forEach(x =>{if(x.endsWith(".js")) plugins += `\n\n`; }); return html.replaceAll("", plugins); @@ -129,9 +131,9 @@ function applyInlinePlugins(html: string): string{ function applyPreloadPlugins(html: string): string{ //preload plugins - let files = fs.readdirSync(path.join(__dirname, "..", "..", "assets", "preload-plugins")); + let files = fs.readdirSync(path.join(AssetsPath, "preload-plugins")); let plugins = ""; - files.forEach(x =>{if(x.endsWith(".js")) plugins += `\n`; }); + files.forEach(x =>{if(x.endsWith(".js")) plugins += `\n`; }); return html.replaceAll("", plugins); } diff --git a/api/src/middlewares/Translation.ts b/src/api/middlewares/Translation.ts similarity index 84% rename from api/src/middlewares/Translation.ts rename to src/api/middlewares/Translation.ts index baabf2210..64b03bf86 100644 --- a/api/src/middlewares/Translation.ts +++ b/src/api/middlewares/Translation.ts @@ -6,8 +6,8 @@ import i18nextBackend from "i18next-node-fs-backend"; import { Router } from "express"; export async function initTranslation(router: Router) { - const languages = fs.readdirSync(path.join(__dirname, "..", "..", "locales")); - const namespaces = fs.readdirSync(path.join(__dirname, "..", "..", "locales", "en")); + const languages = fs.readdirSync(path.join(__dirname, "..", "..", "..", "assets", "locales")); + const namespaces = fs.readdirSync(path.join(__dirname, "..", "..", "..", "assets", "locales", "en")); const ns = namespaces.filter((x) => x.endsWith(".json")).map((x) => x.slice(0, x.length - 5)); await i18next @@ -19,7 +19,7 @@ export async function initTranslation(router: Router) { fallbackLng: "en", ns, backend: { - loadPath: __dirname + "/../../locales/{{lng}}/{{ns}}.json" + loadPath: __dirname + "/../../../assets/locales/{{lng}}/{{ns}}.json" }, load: "all" }); diff --git a/api/src/middlewares/index.ts b/src/api/middlewares/index.ts similarity index 100% rename from api/src/middlewares/index.ts rename to src/api/middlewares/index.ts diff --git a/api/src/routes/-/healthz.ts b/src/api/routes/-/healthz.ts similarity index 100% rename from api/src/routes/-/healthz.ts rename to src/api/routes/-/healthz.ts diff --git a/api/src/routes/-/readyz.ts b/src/api/routes/-/readyz.ts similarity index 100% rename from api/src/routes/-/readyz.ts rename to src/api/routes/-/readyz.ts diff --git a/api/src/routes/applications/#id/entitlements.ts b/src/api/routes/applications/#id/entitlements.ts similarity index 100% rename from api/src/routes/applications/#id/entitlements.ts rename to src/api/routes/applications/#id/entitlements.ts diff --git a/api/src/routes/applications/detectable.ts b/src/api/routes/applications/detectable.ts similarity index 100% rename from api/src/routes/applications/detectable.ts rename to src/api/routes/applications/detectable.ts diff --git a/api/src/routes/applications/index.ts b/src/api/routes/applications/index.ts similarity index 100% rename from api/src/routes/applications/index.ts rename to src/api/routes/applications/index.ts diff --git a/api/src/routes/auth/location-metadata.ts b/src/api/routes/auth/location-metadata.ts similarity index 100% rename from api/src/routes/auth/location-metadata.ts rename to src/api/routes/auth/location-metadata.ts diff --git a/api/src/routes/auth/login.ts b/src/api/routes/auth/login.ts similarity index 100% rename from api/src/routes/auth/login.ts rename to src/api/routes/auth/login.ts diff --git a/api/src/routes/auth/mfa/totp.ts b/src/api/routes/auth/mfa/totp.ts similarity index 100% rename from api/src/routes/auth/mfa/totp.ts rename to src/api/routes/auth/mfa/totp.ts diff --git a/api/src/routes/auth/register.ts b/src/api/routes/auth/register.ts similarity index 100% rename from api/src/routes/auth/register.ts rename to src/api/routes/auth/register.ts diff --git a/api/src/routes/channels/#channel_id/followers.ts b/src/api/routes/channels/#channel_id/followers.ts similarity index 100% rename from api/src/routes/channels/#channel_id/followers.ts rename to src/api/routes/channels/#channel_id/followers.ts diff --git a/api/src/routes/channels/#channel_id/index.ts b/src/api/routes/channels/#channel_id/index.ts similarity index 100% rename from api/src/routes/channels/#channel_id/index.ts rename to src/api/routes/channels/#channel_id/index.ts diff --git a/api/src/routes/channels/#channel_id/invites.ts b/src/api/routes/channels/#channel_id/invites.ts similarity index 100% rename from api/src/routes/channels/#channel_id/invites.ts rename to src/api/routes/channels/#channel_id/invites.ts diff --git a/api/src/routes/channels/#channel_id/messages/#message_id/ack.ts b/src/api/routes/channels/#channel_id/messages/#message_id/ack.ts similarity index 100% rename from api/src/routes/channels/#channel_id/messages/#message_id/ack.ts rename to src/api/routes/channels/#channel_id/messages/#message_id/ack.ts diff --git a/api/src/routes/channels/#channel_id/messages/#message_id/crosspost.ts b/src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts similarity index 100% rename from api/src/routes/channels/#channel_id/messages/#message_id/crosspost.ts rename to src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts diff --git a/api/src/routes/channels/#channel_id/messages/#message_id/index.ts b/src/api/routes/channels/#channel_id/messages/#message_id/index.ts similarity index 100% rename from api/src/routes/channels/#channel_id/messages/#message_id/index.ts rename to src/api/routes/channels/#channel_id/messages/#message_id/index.ts diff --git a/api/src/routes/channels/#channel_id/messages/#message_id/reactions.ts b/src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts similarity index 100% rename from api/src/routes/channels/#channel_id/messages/#message_id/reactions.ts rename to src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts diff --git a/api/src/routes/channels/#channel_id/messages/bulk-delete.ts b/src/api/routes/channels/#channel_id/messages/bulk-delete.ts similarity index 95% rename from api/src/routes/channels/#channel_id/messages/bulk-delete.ts rename to src/api/routes/channels/#channel_id/messages/bulk-delete.ts index 24a33d2d9..af44b5228 100644 --- a/api/src/routes/channels/#channel_id/messages/bulk-delete.ts +++ b/src/api/routes/channels/#channel_id/messages/bulk-delete.ts @@ -13,7 +13,7 @@ export default router; // https://discord.com/developers/docs/resources/channel#bulk-delete-messages router.post("/", route({ body: "BulkDeleteSchema" }), async (req: Request, res: Response) => { const { channel_id } = req.params; - const channel = await Channel.findOneByOrFail({ id: channel_id }); + const channel = await Channel.findOneOrFail({where:{ id: channel_id} }); if (!channel.guild_id) throw new HTTPError("Can't bulk delete dm channel messages", 400); const rights = await getRights(req.user_id); diff --git a/api/src/routes/channels/#channel_id/messages/index.ts b/src/api/routes/channels/#channel_id/messages/index.ts similarity index 100% rename from api/src/routes/channels/#channel_id/messages/index.ts rename to src/api/routes/channels/#channel_id/messages/index.ts diff --git a/api/src/routes/channels/#channel_id/permissions.ts b/src/api/routes/channels/#channel_id/permissions.ts similarity index 100% rename from api/src/routes/channels/#channel_id/permissions.ts rename to src/api/routes/channels/#channel_id/permissions.ts diff --git a/api/src/routes/channels/#channel_id/pins.ts b/src/api/routes/channels/#channel_id/pins.ts similarity index 100% rename from api/src/routes/channels/#channel_id/pins.ts rename to src/api/routes/channels/#channel_id/pins.ts diff --git a/api/src/routes/channels/#channel_id/purge.ts b/src/api/routes/channels/#channel_id/purge.ts similarity index 100% rename from api/src/routes/channels/#channel_id/purge.ts rename to src/api/routes/channels/#channel_id/purge.ts diff --git a/api/src/routes/channels/#channel_id/recipients.ts b/src/api/routes/channels/#channel_id/recipients.ts similarity index 100% rename from api/src/routes/channels/#channel_id/recipients.ts rename to src/api/routes/channels/#channel_id/recipients.ts diff --git a/api/src/routes/channels/#channel_id/typing.ts b/src/api/routes/channels/#channel_id/typing.ts similarity index 100% rename from api/src/routes/channels/#channel_id/typing.ts rename to src/api/routes/channels/#channel_id/typing.ts diff --git a/api/src/routes/channels/#channel_id/webhooks.ts b/src/api/routes/channels/#channel_id/webhooks.ts similarity index 100% rename from api/src/routes/channels/#channel_id/webhooks.ts rename to src/api/routes/channels/#channel_id/webhooks.ts diff --git a/api/src/routes/discoverable-guilds.ts b/src/api/routes/discoverable-guilds.ts similarity index 100% rename from api/src/routes/discoverable-guilds.ts rename to src/api/routes/discoverable-guilds.ts diff --git a/api/src/routes/discovery.ts b/src/api/routes/discovery.ts similarity index 100% rename from api/src/routes/discovery.ts rename to src/api/routes/discovery.ts diff --git a/api/src/routes/downloads.ts b/src/api/routes/downloads.ts similarity index 100% rename from api/src/routes/downloads.ts rename to src/api/routes/downloads.ts diff --git a/api/src/routes/experiments.ts b/src/api/routes/experiments.ts similarity index 100% rename from api/src/routes/experiments.ts rename to src/api/routes/experiments.ts diff --git a/api/src/routes/gateway/bot.ts b/src/api/routes/gateway/bot.ts similarity index 100% rename from api/src/routes/gateway/bot.ts rename to src/api/routes/gateway/bot.ts diff --git a/api/src/routes/gateway/index.ts b/src/api/routes/gateway/index.ts similarity index 100% rename from api/src/routes/gateway/index.ts rename to src/api/routes/gateway/index.ts diff --git a/api/src/routes/gifs/search.ts b/src/api/routes/gifs/search.ts similarity index 100% rename from api/src/routes/gifs/search.ts rename to src/api/routes/gifs/search.ts diff --git a/api/src/routes/gifs/trending-gifs.ts b/src/api/routes/gifs/trending-gifs.ts similarity index 100% rename from api/src/routes/gifs/trending-gifs.ts rename to src/api/routes/gifs/trending-gifs.ts diff --git a/api/src/routes/gifs/trending.ts b/src/api/routes/gifs/trending.ts similarity index 100% rename from api/src/routes/gifs/trending.ts rename to src/api/routes/gifs/trending.ts diff --git a/api/src/routes/guild-recommendations.ts b/src/api/routes/guild-recommendations.ts similarity index 100% rename from api/src/routes/guild-recommendations.ts rename to src/api/routes/guild-recommendations.ts diff --git a/api/src/routes/guilds/#guild_id/audit-logs.ts b/src/api/routes/guilds/#guild_id/audit-logs.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/audit-logs.ts rename to src/api/routes/guilds/#guild_id/audit-logs.ts diff --git a/api/src/routes/guilds/#guild_id/bans.ts b/src/api/routes/guilds/#guild_id/bans.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/bans.ts rename to src/api/routes/guilds/#guild_id/bans.ts diff --git a/api/src/routes/guilds/#guild_id/channels.ts b/src/api/routes/guilds/#guild_id/channels.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/channels.ts rename to src/api/routes/guilds/#guild_id/channels.ts diff --git a/api/src/routes/guilds/#guild_id/delete.ts b/src/api/routes/guilds/#guild_id/delete.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/delete.ts rename to src/api/routes/guilds/#guild_id/delete.ts diff --git a/api/src/routes/guilds/#guild_id/discovery-requirements.ts b/src/api/routes/guilds/#guild_id/discovery-requirements.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/discovery-requirements.ts rename to src/api/routes/guilds/#guild_id/discovery-requirements.ts diff --git a/api/src/routes/guilds/#guild_id/emojis.ts b/src/api/routes/guilds/#guild_id/emojis.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/emojis.ts rename to src/api/routes/guilds/#guild_id/emojis.ts diff --git a/api/src/routes/guilds/#guild_id/index.ts b/src/api/routes/guilds/#guild_id/index.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/index.ts rename to src/api/routes/guilds/#guild_id/index.ts diff --git a/api/src/routes/guilds/#guild_id/integrations.ts b/src/api/routes/guilds/#guild_id/integrations.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/integrations.ts rename to src/api/routes/guilds/#guild_id/integrations.ts diff --git a/api/src/routes/guilds/#guild_id/invites.ts b/src/api/routes/guilds/#guild_id/invites.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/invites.ts rename to src/api/routes/guilds/#guild_id/invites.ts diff --git a/api/src/routes/guilds/#guild_id/members/#member_id/index.ts b/src/api/routes/guilds/#guild_id/members/#member_id/index.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/members/#member_id/index.ts rename to src/api/routes/guilds/#guild_id/members/#member_id/index.ts diff --git a/api/src/routes/guilds/#guild_id/members/#member_id/nick.ts b/src/api/routes/guilds/#guild_id/members/#member_id/nick.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/members/#member_id/nick.ts rename to src/api/routes/guilds/#guild_id/members/#member_id/nick.ts diff --git a/api/src/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts b/src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts rename to src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts diff --git a/api/src/routes/guilds/#guild_id/members/index.ts b/src/api/routes/guilds/#guild_id/members/index.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/members/index.ts rename to src/api/routes/guilds/#guild_id/members/index.ts diff --git a/api/src/routes/guilds/#guild_id/premium.ts b/src/api/routes/guilds/#guild_id/premium.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/premium.ts rename to src/api/routes/guilds/#guild_id/premium.ts diff --git a/api/src/routes/guilds/#guild_id/prune.ts b/src/api/routes/guilds/#guild_id/prune.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/prune.ts rename to src/api/routes/guilds/#guild_id/prune.ts diff --git a/api/src/routes/guilds/#guild_id/regions.ts b/src/api/routes/guilds/#guild_id/regions.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/regions.ts rename to src/api/routes/guilds/#guild_id/regions.ts diff --git a/api/src/routes/guilds/#guild_id/roles/#role_id/index.ts b/src/api/routes/guilds/#guild_id/roles/#role_id/index.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/roles/#role_id/index.ts rename to src/api/routes/guilds/#guild_id/roles/#role_id/index.ts diff --git a/api/src/routes/guilds/#guild_id/roles/index.ts b/src/api/routes/guilds/#guild_id/roles/index.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/roles/index.ts rename to src/api/routes/guilds/#guild_id/roles/index.ts diff --git a/api/src/routes/guilds/#guild_id/stickers.ts b/src/api/routes/guilds/#guild_id/stickers.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/stickers.ts rename to src/api/routes/guilds/#guild_id/stickers.ts diff --git a/api/src/routes/guilds/#guild_id/templates.ts b/src/api/routes/guilds/#guild_id/templates.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/templates.ts rename to src/api/routes/guilds/#guild_id/templates.ts diff --git a/api/src/routes/guilds/#guild_id/vanity-url.ts b/src/api/routes/guilds/#guild_id/vanity-url.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/vanity-url.ts rename to src/api/routes/guilds/#guild_id/vanity-url.ts diff --git a/api/src/routes/guilds/#guild_id/voice-states/#user_id/index.ts b/src/api/routes/guilds/#guild_id/voice-states/#user_id/index.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/voice-states/#user_id/index.ts rename to src/api/routes/guilds/#guild_id/voice-states/#user_id/index.ts diff --git a/api/src/routes/guilds/#guild_id/webhooks.ts b/src/api/routes/guilds/#guild_id/webhooks.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/webhooks.ts rename to src/api/routes/guilds/#guild_id/webhooks.ts diff --git a/api/src/routes/guilds/#guild_id/welcome_screen.ts b/src/api/routes/guilds/#guild_id/welcome_screen.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/welcome_screen.ts rename to src/api/routes/guilds/#guild_id/welcome_screen.ts diff --git a/api/src/routes/guilds/#guild_id/widget.json.ts b/src/api/routes/guilds/#guild_id/widget.json.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/widget.json.ts rename to src/api/routes/guilds/#guild_id/widget.json.ts diff --git a/api/src/routes/guilds/#guild_id/widget.png.ts b/src/api/routes/guilds/#guild_id/widget.png.ts similarity index 97% rename from api/src/routes/guilds/#guild_id/widget.png.ts rename to src/api/routes/guilds/#guild_id/widget.png.ts index ec0ac85cc..a61d938d8 100644 --- a/api/src/routes/guilds/#guild_id/widget.png.ts +++ b/src/api/routes/guilds/#guild_id/widget.png.ts @@ -34,7 +34,7 @@ router.get("/", route({}), async (req: Request, res: Response) => { const sizeOf = require("image-size"); // TODO: Widget style templates need Fosscord branding - const source = path.join(__dirname, "..", "..", "..", "..", "assets", "widget", `${style}.png`); + const source = path.join(__dirname, "..", "..", "..", "..", "..", "assets", "widget", `${style}.png`); if (!fs.existsSync(source)) { throw new HTTPError("Widget template does not exist.", 400); } diff --git a/api/src/routes/guilds/#guild_id/widget.ts b/src/api/routes/guilds/#guild_id/widget.ts similarity index 100% rename from api/src/routes/guilds/#guild_id/widget.ts rename to src/api/routes/guilds/#guild_id/widget.ts diff --git a/api/src/routes/guilds/index.ts b/src/api/routes/guilds/index.ts similarity index 100% rename from api/src/routes/guilds/index.ts rename to src/api/routes/guilds/index.ts diff --git a/api/src/routes/guilds/templates/index.ts b/src/api/routes/guilds/templates/index.ts similarity index 100% rename from api/src/routes/guilds/templates/index.ts rename to src/api/routes/guilds/templates/index.ts diff --git a/api/src/routes/invites/index.ts b/src/api/routes/invites/index.ts similarity index 100% rename from api/src/routes/invites/index.ts rename to src/api/routes/invites/index.ts diff --git a/api/src/routes/oauth2/tokens.ts b/src/api/routes/oauth2/tokens.ts similarity index 100% rename from api/src/routes/oauth2/tokens.ts rename to src/api/routes/oauth2/tokens.ts diff --git a/api/src/routes/outbound-promotions.ts b/src/api/routes/outbound-promotions.ts similarity index 100% rename from api/src/routes/outbound-promotions.ts rename to src/api/routes/outbound-promotions.ts diff --git a/api/src/routes/partners/#guild_id/requirements.ts b/src/api/routes/partners/#guild_id/requirements.ts similarity index 100% rename from api/src/routes/partners/#guild_id/requirements.ts rename to src/api/routes/partners/#guild_id/requirements.ts diff --git a/api/src/routes/ping.ts b/src/api/routes/ping.ts similarity index 100% rename from api/src/routes/ping.ts rename to src/api/routes/ping.ts diff --git a/api/src/routes/policies/instance/domains.ts b/src/api/routes/policies/instance/domains.ts similarity index 100% rename from api/src/routes/policies/instance/domains.ts rename to src/api/routes/policies/instance/domains.ts diff --git a/api/src/routes/policies/instance/index.ts b/src/api/routes/policies/instance/index.ts similarity index 100% rename from api/src/routes/policies/instance/index.ts rename to src/api/routes/policies/instance/index.ts diff --git a/api/src/routes/policies/instance/limits.ts b/src/api/routes/policies/instance/limits.ts similarity index 100% rename from api/src/routes/policies/instance/limits.ts rename to src/api/routes/policies/instance/limits.ts diff --git a/api/src/routes/scheduled-maintenances/upcoming_json.ts b/src/api/routes/scheduled-maintenances/upcoming_json.ts similarity index 100% rename from api/src/routes/scheduled-maintenances/upcoming_json.ts rename to src/api/routes/scheduled-maintenances/upcoming_json.ts diff --git a/api/src/routes/science.ts b/src/api/routes/science.ts similarity index 100% rename from api/src/routes/science.ts rename to src/api/routes/science.ts diff --git a/api/src/routes/stage-instances.ts b/src/api/routes/stage-instances.ts similarity index 100% rename from api/src/routes/stage-instances.ts rename to src/api/routes/stage-instances.ts diff --git a/api/src/routes/sticker-packs/index.ts b/src/api/routes/sticker-packs/index.ts similarity index 100% rename from api/src/routes/sticker-packs/index.ts rename to src/api/routes/sticker-packs/index.ts diff --git a/api/src/routes/stickers/#sticker_id/index.ts b/src/api/routes/stickers/#sticker_id/index.ts similarity index 100% rename from api/src/routes/stickers/#sticker_id/index.ts rename to src/api/routes/stickers/#sticker_id/index.ts diff --git a/api/src/routes/stop.ts b/src/api/routes/stop.ts similarity index 100% rename from api/src/routes/stop.ts rename to src/api/routes/stop.ts diff --git a/api/src/routes/store/published-listings/applications.ts b/src/api/routes/store/published-listings/applications.ts similarity index 100% rename from api/src/routes/store/published-listings/applications.ts rename to src/api/routes/store/published-listings/applications.ts diff --git a/api/src/routes/store/published-listings/applications/#id/subscription-plans.ts b/src/api/routes/store/published-listings/applications/#id/subscription-plans.ts similarity index 100% rename from api/src/routes/store/published-listings/applications/#id/subscription-plans.ts rename to src/api/routes/store/published-listings/applications/#id/subscription-plans.ts diff --git a/api/src/routes/store/published-listings/skus.ts b/src/api/routes/store/published-listings/skus.ts similarity index 100% rename from api/src/routes/store/published-listings/skus.ts rename to src/api/routes/store/published-listings/skus.ts diff --git a/api/src/routes/store/published-listings/skus/#sku_id/subscription-plans.ts b/src/api/routes/store/published-listings/skus/#sku_id/subscription-plans.ts similarity index 100% rename from api/src/routes/store/published-listings/skus/#sku_id/subscription-plans.ts rename to src/api/routes/store/published-listings/skus/#sku_id/subscription-plans.ts diff --git a/api/src/routes/teams.ts b/src/api/routes/teams.ts similarity index 100% rename from api/src/routes/teams.ts rename to src/api/routes/teams.ts diff --git a/api/src/routes/template.ts.disabled b/src/api/routes/template.ts.disabled similarity index 100% rename from api/src/routes/template.ts.disabled rename to src/api/routes/template.ts.disabled diff --git a/api/src/routes/track.ts b/src/api/routes/track.ts similarity index 100% rename from api/src/routes/track.ts rename to src/api/routes/track.ts diff --git a/api/src/routes/updates.ts b/src/api/routes/updates.ts similarity index 100% rename from api/src/routes/updates.ts rename to src/api/routes/updates.ts diff --git a/api/src/routes/users/#id/index.ts b/src/api/routes/users/#id/index.ts similarity index 100% rename from api/src/routes/users/#id/index.ts rename to src/api/routes/users/#id/index.ts diff --git a/api/src/routes/users/#id/profile.ts b/src/api/routes/users/#id/profile.ts similarity index 100% rename from api/src/routes/users/#id/profile.ts rename to src/api/routes/users/#id/profile.ts diff --git a/api/src/routes/users/#id/relationships.ts b/src/api/routes/users/#id/relationships.ts similarity index 100% rename from api/src/routes/users/#id/relationships.ts rename to src/api/routes/users/#id/relationships.ts diff --git a/api/src/routes/users/@me/activities/statistics/applications.ts b/src/api/routes/users/@me/activities/statistics/applications.ts similarity index 100% rename from api/src/routes/users/@me/activities/statistics/applications.ts rename to src/api/routes/users/@me/activities/statistics/applications.ts diff --git a/api/src/routes/users/@me/affinities/guilds.ts b/src/api/routes/users/@me/affinities/guilds.ts similarity index 100% rename from api/src/routes/users/@me/affinities/guilds.ts rename to src/api/routes/users/@me/affinities/guilds.ts diff --git a/api/src/routes/users/@me/affinities/users.ts b/src/api/routes/users/@me/affinities/users.ts similarity index 100% rename from api/src/routes/users/@me/affinities/users.ts rename to src/api/routes/users/@me/affinities/users.ts diff --git a/api/src/routes/users/@me/applications/#app_id/entitlements.ts b/src/api/routes/users/@me/applications/#app_id/entitlements.ts similarity index 100% rename from api/src/routes/users/@me/applications/#app_id/entitlements.ts rename to src/api/routes/users/@me/applications/#app_id/entitlements.ts diff --git a/api/src/routes/users/@me/billing/country-code.ts b/src/api/routes/users/@me/billing/country-code.ts similarity index 100% rename from api/src/routes/users/@me/billing/country-code.ts rename to src/api/routes/users/@me/billing/country-code.ts diff --git a/api/src/routes/users/@me/billing/payment-sources.ts b/src/api/routes/users/@me/billing/payment-sources.ts similarity index 100% rename from api/src/routes/users/@me/billing/payment-sources.ts rename to src/api/routes/users/@me/billing/payment-sources.ts diff --git a/api/src/routes/users/@me/billing/subscriptions.ts b/src/api/routes/users/@me/billing/subscriptions.ts similarity index 100% rename from api/src/routes/users/@me/billing/subscriptions.ts rename to src/api/routes/users/@me/billing/subscriptions.ts diff --git a/api/src/routes/users/@me/channels.ts b/src/api/routes/users/@me/channels.ts similarity index 100% rename from api/src/routes/users/@me/channels.ts rename to src/api/routes/users/@me/channels.ts diff --git a/api/src/routes/users/@me/connections.ts b/src/api/routes/users/@me/connections.ts similarity index 100% rename from api/src/routes/users/@me/connections.ts rename to src/api/routes/users/@me/connections.ts diff --git a/api/src/routes/users/@me/delete.ts b/src/api/routes/users/@me/delete.ts similarity index 100% rename from api/src/routes/users/@me/delete.ts rename to src/api/routes/users/@me/delete.ts diff --git a/api/src/routes/users/@me/devices.ts b/src/api/routes/users/@me/devices.ts similarity index 100% rename from api/src/routes/users/@me/devices.ts rename to src/api/routes/users/@me/devices.ts diff --git a/api/src/routes/users/@me/disable.ts b/src/api/routes/users/@me/disable.ts similarity index 100% rename from api/src/routes/users/@me/disable.ts rename to src/api/routes/users/@me/disable.ts diff --git a/api/src/routes/users/@me/email-settings.ts b/src/api/routes/users/@me/email-settings.ts similarity index 100% rename from api/src/routes/users/@me/email-settings.ts rename to src/api/routes/users/@me/email-settings.ts diff --git a/api/src/routes/users/@me/entitlements.ts b/src/api/routes/users/@me/entitlements.ts similarity index 100% rename from api/src/routes/users/@me/entitlements.ts rename to src/api/routes/users/@me/entitlements.ts diff --git a/api/src/routes/users/@me/guilds.ts b/src/api/routes/users/@me/guilds.ts similarity index 100% rename from api/src/routes/users/@me/guilds.ts rename to src/api/routes/users/@me/guilds.ts diff --git a/api/src/routes/users/@me/guilds/premium/subscription-slots.ts b/src/api/routes/users/@me/guilds/premium/subscription-slots.ts similarity index 100% rename from api/src/routes/users/@me/guilds/premium/subscription-slots.ts rename to src/api/routes/users/@me/guilds/premium/subscription-slots.ts diff --git a/api/src/routes/users/@me/index.ts b/src/api/routes/users/@me/index.ts similarity index 100% rename from api/src/routes/users/@me/index.ts rename to src/api/routes/users/@me/index.ts diff --git a/api/src/routes/users/@me/library.ts b/src/api/routes/users/@me/library.ts similarity index 100% rename from api/src/routes/users/@me/library.ts rename to src/api/routes/users/@me/library.ts diff --git a/api/src/routes/users/@me/mfa/codes.ts b/src/api/routes/users/@me/mfa/codes.ts similarity index 100% rename from api/src/routes/users/@me/mfa/codes.ts rename to src/api/routes/users/@me/mfa/codes.ts diff --git a/api/src/routes/users/@me/mfa/totp/disable.ts b/src/api/routes/users/@me/mfa/totp/disable.ts similarity index 100% rename from api/src/routes/users/@me/mfa/totp/disable.ts rename to src/api/routes/users/@me/mfa/totp/disable.ts diff --git a/api/src/routes/users/@me/mfa/totp/enable.ts b/src/api/routes/users/@me/mfa/totp/enable.ts similarity index 100% rename from api/src/routes/users/@me/mfa/totp/enable.ts rename to src/api/routes/users/@me/mfa/totp/enable.ts diff --git a/api/src/routes/users/@me/notes.ts b/src/api/routes/users/@me/notes.ts similarity index 100% rename from api/src/routes/users/@me/notes.ts rename to src/api/routes/users/@me/notes.ts diff --git a/api/src/routes/users/@me/relationships.ts b/src/api/routes/users/@me/relationships.ts similarity index 100% rename from api/src/routes/users/@me/relationships.ts rename to src/api/routes/users/@me/relationships.ts diff --git a/api/src/routes/users/@me/settings.ts b/src/api/routes/users/@me/settings.ts similarity index 100% rename from api/src/routes/users/@me/settings.ts rename to src/api/routes/users/@me/settings.ts diff --git a/api/src/routes/voice/regions.ts b/src/api/routes/voice/regions.ts similarity index 100% rename from api/src/routes/voice/regions.ts rename to src/api/routes/voice/regions.ts diff --git a/api/src/start.ts b/src/api/start.ts similarity index 92% rename from api/src/start.ts rename to src/api/start.ts index 98beb1fa8..9ba198e72 100644 --- a/api/src/start.ts +++ b/src/api/start.ts @@ -13,7 +13,7 @@ try { console.log("[API] Failed to get thread count! Using 1...") } -if (cluster.isPrimary && process.env.NODE_ENV == "production") { +if (cluster.isMaster && process.env.NODE_ENV == "production") { console.log(`Primary ${process.pid} is running`); // Fork workers. diff --git a/api/src/util/entities/AssetCacheItem.ts b/src/api/util/entities/AssetCacheItem.ts similarity index 100% rename from api/src/util/entities/AssetCacheItem.ts rename to src/api/util/entities/AssetCacheItem.ts diff --git a/api/src/util/entities/blockedEmailDomains.txt b/src/api/util/entities/blockedEmailDomains.txt similarity index 100% rename from api/src/util/entities/blockedEmailDomains.txt rename to src/api/util/entities/blockedEmailDomains.txt diff --git a/api/src/util/entities/trustedEmailDomains.txt b/src/api/util/entities/trustedEmailDomains.txt similarity index 100% rename from api/src/util/entities/trustedEmailDomains.txt rename to src/api/util/entities/trustedEmailDomains.txt diff --git a/api/src/util/handlers/Instance.ts b/src/api/util/handlers/Instance.ts similarity index 100% rename from api/src/util/handlers/Instance.ts rename to src/api/util/handlers/Instance.ts diff --git a/api/src/util/handlers/Message.ts b/src/api/util/handlers/Message.ts similarity index 100% rename from api/src/util/handlers/Message.ts rename to src/api/util/handlers/Message.ts diff --git a/api/src/util/handlers/Voice.ts b/src/api/util/handlers/Voice.ts similarity index 100% rename from api/src/util/handlers/Voice.ts rename to src/api/util/handlers/Voice.ts diff --git a/api/src/util/handlers/route.ts b/src/api/util/handlers/route.ts similarity index 97% rename from api/src/util/handlers/route.ts rename to src/api/util/handlers/route.ts index f8130f3cb..71e149555 100644 --- a/api/src/util/handlers/route.ts +++ b/src/api/util/handlers/route.ts @@ -19,7 +19,7 @@ import Ajv from "ajv"; import { AnyValidateFunction } from "ajv/dist/core"; import addFormats from "ajv-formats"; -const SchemaPath = path.join(__dirname, "..", "..", "..", "assets", "schemas.json"); +const SchemaPath = path.join(__dirname, "..", "..", "..","..", "assets", "schemas.json"); const schemas = JSON.parse(fs.readFileSync(SchemaPath, { encoding: "utf8" })); export const ajv = new Ajv({ diff --git a/api/src/util/index.ts b/src/api/util/index.ts similarity index 100% rename from api/src/util/index.ts rename to src/api/util/index.ts diff --git a/api/src/util/utility/Base64.ts b/src/api/util/utility/Base64.ts similarity index 100% rename from api/src/util/utility/Base64.ts rename to src/api/util/utility/Base64.ts diff --git a/api/src/util/utility/RandomInviteID.ts b/src/api/util/utility/RandomInviteID.ts similarity index 100% rename from api/src/util/utility/RandomInviteID.ts rename to src/api/util/utility/RandomInviteID.ts diff --git a/api/src/util/utility/String.ts b/src/api/util/utility/String.ts similarity index 100% rename from api/src/util/utility/String.ts rename to src/api/util/utility/String.ts diff --git a/api/src/util/utility/ipAddress.ts b/src/api/util/utility/ipAddress.ts similarity index 100% rename from api/src/util/utility/ipAddress.ts rename to src/api/util/utility/ipAddress.ts diff --git a/api/src/util/utility/passwordStrength.ts b/src/api/util/utility/passwordStrength.ts similarity index 100% rename from api/src/util/utility/passwordStrength.ts rename to src/api/util/utility/passwordStrength.ts diff --git a/cdn/src/Server.ts b/src/cdn/Server.ts similarity index 100% rename from cdn/src/Server.ts rename to src/cdn/Server.ts diff --git a/cdn/src/index.ts b/src/cdn/index.ts similarity index 100% rename from cdn/src/index.ts rename to src/cdn/index.ts diff --git a/cdn/src/routes/attachments.ts b/src/cdn/routes/attachments.ts similarity index 100% rename from cdn/src/routes/attachments.ts rename to src/cdn/routes/attachments.ts diff --git a/cdn/src/routes/avatars.ts b/src/cdn/routes/avatars.ts similarity index 100% rename from cdn/src/routes/avatars.ts rename to src/cdn/routes/avatars.ts diff --git a/cdn/src/routes/external.ts b/src/cdn/routes/external.ts similarity index 100% rename from cdn/src/routes/external.ts rename to src/cdn/routes/external.ts diff --git a/cdn/src/routes/ping.ts b/src/cdn/routes/ping.ts similarity index 100% rename from cdn/src/routes/ping.ts rename to src/cdn/routes/ping.ts diff --git a/cdn/src/routes/role-icons.ts b/src/cdn/routes/role-icons.ts similarity index 100% rename from cdn/src/routes/role-icons.ts rename to src/cdn/routes/role-icons.ts diff --git a/cdn/src/start.ts b/src/cdn/start.ts similarity index 100% rename from cdn/src/start.ts rename to src/cdn/start.ts diff --git a/cdn/src/util/FileStorage.ts b/src/cdn/util/FileStorage.ts similarity index 100% rename from cdn/src/util/FileStorage.ts rename to src/cdn/util/FileStorage.ts diff --git a/cdn/src/util/S3Storage.ts b/src/cdn/util/S3Storage.ts similarity index 100% rename from cdn/src/util/S3Storage.ts rename to src/cdn/util/S3Storage.ts diff --git a/cdn/src/util/Storage.ts b/src/cdn/util/Storage.ts similarity index 100% rename from cdn/src/util/Storage.ts rename to src/cdn/util/Storage.ts diff --git a/cdn/src/util/index.ts b/src/cdn/util/index.ts similarity index 100% rename from cdn/src/util/index.ts rename to src/cdn/util/index.ts diff --git a/cdn/src/util/multer.ts b/src/cdn/util/multer.ts similarity index 100% rename from cdn/src/util/multer.ts rename to src/cdn/util/multer.ts diff --git a/gateway/src/Server.ts b/src/gateway/Server.ts similarity index 100% rename from gateway/src/Server.ts rename to src/gateway/Server.ts diff --git a/gateway/src/events/Close.ts b/src/gateway/events/Close.ts similarity index 100% rename from gateway/src/events/Close.ts rename to src/gateway/events/Close.ts diff --git a/gateway/src/events/Connection.ts b/src/gateway/events/Connection.ts similarity index 100% rename from gateway/src/events/Connection.ts rename to src/gateway/events/Connection.ts diff --git a/gateway/src/events/Message.ts b/src/gateway/events/Message.ts similarity index 94% rename from gateway/src/events/Message.ts rename to src/gateway/events/Message.ts index 7ed1dd067..569f5fc70 100644 --- a/gateway/src/events/Message.ts +++ b/src/gateway/events/Message.ts @@ -6,7 +6,6 @@ try { } catch (error) {} import OPCodeHandlers from "../opcodes"; import { check } from "../opcodes/instanceOf"; -import WS from "ws"; const PayloadSchema = { op: Number, @@ -15,7 +14,7 @@ const PayloadSchema = { $t: String, }; -export async function Message(this: WebSocket, buffer: WS.RawData) { +export async function Message(this: WebSocket, buffer: Buffer) { // TODO: compression let data: Payload; diff --git a/gateway/src/index.ts b/src/gateway/index.ts similarity index 100% rename from gateway/src/index.ts rename to src/gateway/index.ts diff --git a/gateway/src/listener/listener.ts b/src/gateway/listener/listener.ts similarity index 100% rename from gateway/src/listener/listener.ts rename to src/gateway/listener/listener.ts diff --git a/gateway/src/opcodes/Heartbeat.ts b/src/gateway/opcodes/Heartbeat.ts similarity index 100% rename from gateway/src/opcodes/Heartbeat.ts rename to src/gateway/opcodes/Heartbeat.ts diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts new file mode 100644 index 000000000..4f17ab706 --- /dev/null +++ b/src/gateway/opcodes/Identify.ts @@ -0,0 +1,298 @@ +import { WebSocket, Payload } from "@fosscord/gateway"; +import { + checkToken, + Intents, + Member, + ReadyEventData, + User, + Session, + EVENTEnum, + Config, + PublicMember, + PublicUser, + PrivateUserProjection, + ReadState, + Application, + emitEvent, + SessionsReplace, + PrivateSessionProjection, + MemberPrivateProjection, + PresenceUpdateEvent, + UserSettings, + IdentifySchema, +} from "@fosscord/util"; +import { Send } from "../util/Send"; +import { CLOSECODES, OPCODES } from "../util/Constants"; +import { genSessionId } from "../util/SessionUtils"; +import { setupListener } from "../listener/listener"; +// import experiments from "./experiments.json"; +const experiments: any = []; +import { check } from "./instanceOf"; +import { Recipient } from "@fosscord/util"; +import { OrmUtils } from "@fosscord/util"; + +// TODO: user sharding +// TODO: check privileged intents, if defined in the config +// TODO: check if already identified + +export async function onIdentify(this: WebSocket, data: Payload) { + clearTimeout(this.readyTimeout); + check.call(this, IdentifySchema, data.d); + + const identify: IdentifySchema = data.d; + + try { + const { jwtSecret } = Config.get().security; + var { decoded } = await checkToken(identify.token, jwtSecret); // will throw an error if invalid + } catch (error) { + console.error("invalid token", error); + return this.close(CLOSECODES.Authentication_failed); + } + this.user_id = decoded.id; + + const session_id = genSessionId(); + this.session_id = session_id; //Set the session of the WebSocket object + + const [user, read_states, members, recipients, session, application] = + await Promise.all([ + User.findOneOrFail({ + where: { id: this.user_id }, + relations: ["relationships", "relationships.to", "settings"], + select: [...PrivateUserProjection, "relationships"], + }), + ReadState.find({ where: { user_id: this.user_id } }), + Member.find({ + where: { id: this.user_id }, + select: MemberPrivateProjection, + relations: [ + "guild", + "guild.channels", + "guild.emojis", + "guild.emojis.user", + "guild.roles", + "guild.stickers", + "user", + "roles", + ], + }), + Recipient.find({ + where: { user_id: this.user_id, closed: false }, + relations: [ + "channel", + "channel.recipients", + "channel.recipients.user", + ], + // TODO: public user selection + }), + // save the session and delete it when the websocket is closed + await OrmUtils.mergeDeep(new Session(), { + user_id: this.user_id, + session_id: session_id, + // TODO: check if status is only one of: online, dnd, offline, idle + status: identify.presence?.status || "offline", //does the session always start as online? + client_info: { + //TODO read from identity + client: "desktop", + os: identify.properties?.os, + version: 0, + }, + activities: [], + }).save(), + Application.findOne({ where: { id: this.user_id } }), + ]); + + if (!user) return this.close(CLOSECODES.Authentication_failed); + if (!user.settings) { //settings may not exist after updating... + user.settings = new UserSettings(); + user.settings.id = user.id; + await user.settings.save(); + } + + if (!identify.intents) identify.intents = "0x6ffffffff" + this.intents = new Intents(identify.intents); + if (identify.shard) { + this.shard_id = identify.shard[0]; + this.shard_count = identify.shard[1]; + if ( + this.shard_count == null || + this.shard_id == null || + this.shard_id >= this.shard_count || + this.shard_id < 0 || + this.shard_count <= 0 + ) { + console.log(identify.shard); + return this.close(CLOSECODES.Invalid_shard); + } + } + let users: PublicUser[] = []; + + const merged_members = members.map((x: Member) => { + return [ + { + ...x, + roles: x.roles.map((x) => x.id), + settings: undefined, + guild: undefined, + }, + ]; + }) as PublicMember[][]; + let guilds = members.map((x) => ({ ...x.guild, joined_at: x.joined_at })); + + // @ts-ignore + guilds = guilds.map((guild) => { + if (user.bot) { + setTimeout(() => { + Send(this, { + op: OPCODES.Dispatch, + t: EVENTEnum.GuildCreate, + s: this.sequence++, + d: guild, + }); + }, 500); + return { id: guild.id, unavailable: true }; + } + + return guild; + }); + + const user_guild_settings_entries = members.map((x) => x.settings); + + const channels = recipients.map((x) => { + // @ts-ignore + x.channel.recipients = x.channel.recipients?.map((x) => x.user); + //TODO is this needed? check if users in group dm that are not friends are sent in the READY event + users = users.concat(x.channel.recipients as unknown as User[]); + if (x.channel.isDm()) { + x.channel.recipients = x.channel.recipients!.filter( + (x) => x.id !== this.user_id + ); + } + return x.channel; + }); + + for (let relation of user.relationships) { + const related_user = relation.to; + const public_related_user = { + username: related_user.username, + discriminator: related_user.discriminator, + id: related_user.id, + public_flags: related_user.public_flags, + avatar: related_user.avatar, + bot: related_user.bot, + bio: related_user.bio, + premium_since: user.premium_since + }; + users.push(public_related_user); + } + + setImmediate(async () => { + // run in seperate "promise context" because ready payload is not dependent on those events + emitEvent({ + event: "SESSIONS_REPLACE", + user_id: this.user_id, + data: await Session.find({ + where: { user_id: this.user_id }, + select: PrivateSessionProjection, + }), + } as SessionsReplace); + emitEvent({ + event: "PRESENCE_UPDATE", + user_id: this.user_id, + data: { + user: await User.getPublicUser(this.user_id), + activities: session.activities, + client_status: session?.client_info, + status: session.status, + }, + } as PresenceUpdateEvent); + }); + + read_states.forEach((s: any) => { + s.id = s.channel_id; + delete s.user_id; + delete s.channel_id; + }); + + const privateUser = { + avatar: user.avatar, + mobile: user.mobile, + desktop: user.desktop, + discriminator: user.discriminator, + email: user.email, + flags: user.flags, + id: user.id, + mfa_enabled: user.mfa_enabled, + nsfw_allowed: user.nsfw_allowed, + phone: user.phone, + premium: user.premium, + premium_type: user.premium_type, + public_flags: user.public_flags, + username: user.username, + verified: user.verified, + bot: user.bot, + accent_color: user.accent_color || 0, + banner: user.banner, + bio: user.bio, + premium_since: user.premium_since + }; + + const d: ReadyEventData = { + v: 8, + application: {id: application?.id??'', flags: application?.flags??''}, //TODO: check this code! + user: privateUser, + user_settings: user.settings, + // @ts-ignore + guilds: guilds.map((x) => { + // @ts-ignore + x.guild_hashes = {}; // @ts-ignore + x.guild_scheduled_events = []; // @ts-ignore + x.threads = []; + return x; + }), + guild_experiments: [], // TODO + geo_ordered_rtc_regions: [], // TODO + relationships: user.relationships.map((x) => x.toPublicRelationship()), + read_state: { + entries: read_states, + partial: false, + version: 304128, + }, + user_guild_settings: { + entries: user_guild_settings_entries, + partial: false, // TODO partial + version: 642, + }, + private_channels: channels, + session_id: session_id, + analytics_token: "", // TODO + connected_accounts: [], // TODO + consents: { + personalization: { + consented: false, // TODO + }, + }, + country_code: user.settings.locale, + friend_suggestion_count: 0, // TODO + // @ts-ignore + experiments: experiments, // TODO + guild_join_requests: [], // TODO what is this? + users: users.filter((x) => x).unique(), + merged_members: merged_members, + // shard // TODO: only for user sharding + }; + + // TODO: send real proper data structure + await Send(this, { + op: OPCODES.Dispatch, + t: EVENTEnum.Ready, + s: this.sequence++, + d, + }); + + //TODO send READY_SUPPLEMENTAL + //TODO send GUILD_MEMBER_LIST_UPDATE + //TODO send SESSIONS_REPLACE + //TODO send VOICE_STATE_UPDATE to let the client know if another device is already connected to a voice channel + + await setupListener.call(this); +} diff --git a/gateway/src/opcodes/LazyRequest.ts b/src/gateway/opcodes/LazyRequest.ts similarity index 98% rename from gateway/src/opcodes/LazyRequest.ts rename to src/gateway/opcodes/LazyRequest.ts index cd0586de2..74996f5b8 100644 --- a/gateway/src/opcodes/LazyRequest.ts +++ b/src/gateway/opcodes/LazyRequest.ts @@ -16,7 +16,7 @@ async function getMembers(guild_id: string, range: [number, number]) { // TODO: wait for typeorm to implement ordering for .find queries https://github.com/typeorm/typeorm/issues/2620 // TODO: rewrite this, released in 0.3.0 - let members = await (await getOrInitialiseDatabase()).getRepository(Member) + let members: Member[] = await (await getOrInitialiseDatabase()).getRepository(Member) .createQueryBuilder("member") .where("member.guild_id = :guild_id", { guild_id }) .leftJoinAndSelect("member.roles", "role") diff --git a/gateway/src/opcodes/PresenceUpdate.ts b/src/gateway/opcodes/PresenceUpdate.ts similarity index 100% rename from gateway/src/opcodes/PresenceUpdate.ts rename to src/gateway/opcodes/PresenceUpdate.ts diff --git a/gateway/src/opcodes/RequestGuildMembers.ts b/src/gateway/opcodes/RequestGuildMembers.ts similarity index 100% rename from gateway/src/opcodes/RequestGuildMembers.ts rename to src/gateway/opcodes/RequestGuildMembers.ts diff --git a/gateway/src/opcodes/Resume.ts b/src/gateway/opcodes/Resume.ts similarity index 100% rename from gateway/src/opcodes/Resume.ts rename to src/gateway/opcodes/Resume.ts diff --git a/gateway/src/opcodes/VoiceStateUpdate.ts b/src/gateway/opcodes/VoiceStateUpdate.ts similarity index 98% rename from gateway/src/opcodes/VoiceStateUpdate.ts rename to src/gateway/opcodes/VoiceStateUpdate.ts index 73f73565c..c4297a68f 100644 --- a/gateway/src/opcodes/VoiceStateUpdate.ts +++ b/src/gateway/opcodes/VoiceStateUpdate.ts @@ -12,7 +12,7 @@ import { VoiceStateUpdateSchema, } from "@fosscord/util"; import { OrmUtils } from "@fosscord/util"; -import { Region } from "@fosscord/util/src/config"; +import { Region } from "@fosscord/util"; // TODO: check if a voice server is setup // Notice: Bot users respect the voice channel's user limit, if set. When the voice channel is full, you will not receive the Voice State Update or Voice Server Update events in response to your own Voice State Update. Having MANAGE_CHANNELS permission bypasses this limit and allows you to join regardless of the channel being full or not. diff --git a/gateway/src/opcodes/experiments.json b/src/gateway/opcodes/experiments.json similarity index 100% rename from gateway/src/opcodes/experiments.json rename to src/gateway/opcodes/experiments.json diff --git a/gateway/src/opcodes/index.ts b/src/gateway/opcodes/index.ts similarity index 100% rename from gateway/src/opcodes/index.ts rename to src/gateway/opcodes/index.ts diff --git a/gateway/src/opcodes/instanceOf.ts b/src/gateway/opcodes/instanceOf.ts similarity index 100% rename from gateway/src/opcodes/instanceOf.ts rename to src/gateway/opcodes/instanceOf.ts diff --git a/gateway/src/start.ts b/src/gateway/start.ts similarity index 100% rename from gateway/src/start.ts rename to src/gateway/start.ts diff --git a/gateway/src/util/Constants.ts b/src/gateway/util/Constants.ts similarity index 100% rename from gateway/src/util/Constants.ts rename to src/gateway/util/Constants.ts diff --git a/gateway/src/util/Heartbeat.ts b/src/gateway/util/Heartbeat.ts similarity index 100% rename from gateway/src/util/Heartbeat.ts rename to src/gateway/util/Heartbeat.ts diff --git a/gateway/src/util/Send.ts b/src/gateway/util/Send.ts similarity index 100% rename from gateway/src/util/Send.ts rename to src/gateway/util/Send.ts diff --git a/gateway/src/util/SessionUtils.ts b/src/gateway/util/SessionUtils.ts similarity index 100% rename from gateway/src/util/SessionUtils.ts rename to src/gateway/util/SessionUtils.ts diff --git a/gateway/src/util/WebSocket.ts b/src/gateway/util/WebSocket.ts similarity index 92% rename from gateway/src/util/WebSocket.ts rename to src/gateway/util/WebSocket.ts index e3313f406..9496da856 100644 --- a/gateway/src/util/WebSocket.ts +++ b/src/gateway/util/WebSocket.ts @@ -8,8 +8,8 @@ export interface WebSocket extends WS { session_id: string; encoding: "etf" | "json"; compress?: "zlib-stream"; - shard_count?: bigint; - shard_id?: bigint; + shard_count?: number; + shard_id?: number; deflate?: Deflate; heartbeatTimeout: NodeJS.Timeout; readyTimeout: NodeJS.Timeout; diff --git a/gateway/src/util/index.ts b/src/gateway/util/index.ts similarity index 100% rename from gateway/src/util/index.ts rename to src/gateway/util/index.ts diff --git a/bundle/src/start.ts b/src/start.ts similarity index 100% rename from bundle/src/start.ts rename to src/start.ts diff --git a/src/stats.ts b/src/stats.ts new file mode 100644 index 000000000..654e0a4f1 --- /dev/null +++ b/src/stats.ts @@ -0,0 +1,24 @@ +import os from "os"; +import { red } from "picocolors"; + +export function initStats() { + + console.log(`[Path] running in ${__dirname}`); + try { + console.log(`[CPU] ${os.cpus()[0].model} Cores x${os.cpus().length}`); + } + catch { + console.log('[CPU] Failed to get cpu model!') + } + + console.log(`[System] ${os.platform()} ${os.arch()}`); + console.log(`[Process] running with PID: ${process.pid}`); + if (process.getuid && process.getuid() === 0) { + console.warn( + red( + `[Process] Warning fosscord is running as root, this highly discouraged and might expose your system vulnerable to attackers. Please run fosscord as a user without root privileges.` + ) + ); + } + +} diff --git a/util/src/config/Config.ts b/src/util/config/Config.ts similarity index 95% rename from util/src/config/Config.ts rename to src/util/config/Config.ts index b703040f7..7aee17753 100644 --- a/util/src/config/Config.ts +++ b/src/util/config/Config.ts @@ -1,4 +1,4 @@ -import { ApiConfiguration, ClientConfiguration, DefaultsConfiguration, EndpointConfiguration, GeneralConfiguration, GifConfiguration, GuildConfiguration, KafkaConfiguration, LimitsConfiguration, LoginConfiguration, MetricsConfiguration, RabbitMQConfiguration, RegionConfiguration, RegisterConfiguration, SecurityConfiguration, SentryConfiguration, TemplateConfiguration } from "../config"; +import { ApiConfiguration, ClientConfiguration, DefaultsConfiguration, EndpointConfiguration, GeneralConfiguration, GifConfiguration, GuildConfiguration, KafkaConfiguration, LimitsConfiguration, LoginConfiguration, MetricsConfiguration, RabbitMQConfiguration, RegionConfiguration, RegisterConfiguration, SecurityConfiguration, SentryConfiguration, TemplateConfiguration } from "."; export class ConfigValue { gateway: EndpointConfiguration = new EndpointConfiguration(); diff --git a/util/src/config/index.ts b/src/util/config/index.ts similarity index 100% rename from util/src/config/index.ts rename to src/util/config/index.ts diff --git a/util/src/config/types/ApiConfiguration.ts b/src/util/config/types/ApiConfiguration.ts similarity index 100% rename from util/src/config/types/ApiConfiguration.ts rename to src/util/config/types/ApiConfiguration.ts diff --git a/util/src/config/types/ClientConfiguration.ts b/src/util/config/types/ClientConfiguration.ts similarity index 100% rename from util/src/config/types/ClientConfiguration.ts rename to src/util/config/types/ClientConfiguration.ts diff --git a/util/src/config/types/DefaultsConfiguration.ts b/src/util/config/types/DefaultsConfiguration.ts similarity index 100% rename from util/src/config/types/DefaultsConfiguration.ts rename to src/util/config/types/DefaultsConfiguration.ts diff --git a/util/src/config/types/EndpointConfiguration.ts b/src/util/config/types/EndpointConfiguration.ts similarity index 100% rename from util/src/config/types/EndpointConfiguration.ts rename to src/util/config/types/EndpointConfiguration.ts diff --git a/util/src/config/types/GeneralConfiguration.ts b/src/util/config/types/GeneralConfiguration.ts similarity index 100% rename from util/src/config/types/GeneralConfiguration.ts rename to src/util/config/types/GeneralConfiguration.ts diff --git a/util/src/config/types/GifConfiguration.ts b/src/util/config/types/GifConfiguration.ts similarity index 100% rename from util/src/config/types/GifConfiguration.ts rename to src/util/config/types/GifConfiguration.ts diff --git a/util/src/config/types/GuildConfiguration.ts b/src/util/config/types/GuildConfiguration.ts similarity index 100% rename from util/src/config/types/GuildConfiguration.ts rename to src/util/config/types/GuildConfiguration.ts diff --git a/util/src/config/types/KafkaConfiguration.ts b/src/util/config/types/KafkaConfiguration.ts similarity index 100% rename from util/src/config/types/KafkaConfiguration.ts rename to src/util/config/types/KafkaConfiguration.ts diff --git a/util/src/config/types/LimitConfigurations.ts b/src/util/config/types/LimitConfigurations.ts similarity index 100% rename from util/src/config/types/LimitConfigurations.ts rename to src/util/config/types/LimitConfigurations.ts diff --git a/util/src/config/types/LoginConfiguration.ts b/src/util/config/types/LoginConfiguration.ts similarity index 100% rename from util/src/config/types/LoginConfiguration.ts rename to src/util/config/types/LoginConfiguration.ts diff --git a/util/src/config/types/MetricsConfiguration.ts b/src/util/config/types/MetricsConfiguration.ts similarity index 100% rename from util/src/config/types/MetricsConfiguration.ts rename to src/util/config/types/MetricsConfiguration.ts diff --git a/util/src/config/types/RabbitMQConfiguration.ts b/src/util/config/types/RabbitMQConfiguration.ts similarity index 100% rename from util/src/config/types/RabbitMQConfiguration.ts rename to src/util/config/types/RabbitMQConfiguration.ts diff --git a/util/src/config/types/RegionConfiguration.ts b/src/util/config/types/RegionConfiguration.ts similarity index 100% rename from util/src/config/types/RegionConfiguration.ts rename to src/util/config/types/RegionConfiguration.ts diff --git a/util/src/config/types/RegisterConfiguration.ts b/src/util/config/types/RegisterConfiguration.ts similarity index 100% rename from util/src/config/types/RegisterConfiguration.ts rename to src/util/config/types/RegisterConfiguration.ts diff --git a/util/src/config/types/SecurityConfiguration.ts b/src/util/config/types/SecurityConfiguration.ts similarity index 100% rename from util/src/config/types/SecurityConfiguration.ts rename to src/util/config/types/SecurityConfiguration.ts diff --git a/util/src/config/types/SentryConfiguration.ts b/src/util/config/types/SentryConfiguration.ts similarity index 100% rename from util/src/config/types/SentryConfiguration.ts rename to src/util/config/types/SentryConfiguration.ts diff --git a/util/src/config/types/TemplateConfiguration.ts b/src/util/config/types/TemplateConfiguration.ts similarity index 100% rename from util/src/config/types/TemplateConfiguration.ts rename to src/util/config/types/TemplateConfiguration.ts diff --git a/util/src/config/types/index.ts b/src/util/config/types/index.ts similarity index 100% rename from util/src/config/types/index.ts rename to src/util/config/types/index.ts diff --git a/util/src/config/types/subconfigurations/client/ClientReleaseConfiguration.ts b/src/util/config/types/subconfigurations/client/ClientReleaseConfiguration.ts similarity index 100% rename from util/src/config/types/subconfigurations/client/ClientReleaseConfiguration.ts rename to src/util/config/types/subconfigurations/client/ClientReleaseConfiguration.ts diff --git a/util/src/config/types/subconfigurations/client/index.ts b/src/util/config/types/subconfigurations/client/index.ts similarity index 100% rename from util/src/config/types/subconfigurations/client/index.ts rename to src/util/config/types/subconfigurations/client/index.ts diff --git a/util/src/config/types/subconfigurations/defaults/GuildDefaults.ts b/src/util/config/types/subconfigurations/defaults/GuildDefaults.ts similarity index 100% rename from util/src/config/types/subconfigurations/defaults/GuildDefaults.ts rename to src/util/config/types/subconfigurations/defaults/GuildDefaults.ts diff --git a/util/src/config/types/subconfigurations/defaults/UserDefaults.ts b/src/util/config/types/subconfigurations/defaults/UserDefaults.ts similarity index 100% rename from util/src/config/types/subconfigurations/defaults/UserDefaults.ts rename to src/util/config/types/subconfigurations/defaults/UserDefaults.ts diff --git a/util/src/config/types/subconfigurations/defaults/index.ts b/src/util/config/types/subconfigurations/defaults/index.ts similarity index 100% rename from util/src/config/types/subconfigurations/defaults/index.ts rename to src/util/config/types/subconfigurations/defaults/index.ts diff --git a/util/src/config/types/subconfigurations/guild/AutoJoin.ts b/src/util/config/types/subconfigurations/guild/AutoJoin.ts similarity index 100% rename from util/src/config/types/subconfigurations/guild/AutoJoin.ts rename to src/util/config/types/subconfigurations/guild/AutoJoin.ts diff --git a/util/src/config/types/subconfigurations/guild/Discovery.ts b/src/util/config/types/subconfigurations/guild/Discovery.ts similarity index 100% rename from util/src/config/types/subconfigurations/guild/Discovery.ts rename to src/util/config/types/subconfigurations/guild/Discovery.ts diff --git a/util/src/config/types/subconfigurations/guild/index.ts b/src/util/config/types/subconfigurations/guild/index.ts similarity index 100% rename from util/src/config/types/subconfigurations/guild/index.ts rename to src/util/config/types/subconfigurations/guild/index.ts diff --git a/util/src/config/types/subconfigurations/index.ts b/src/util/config/types/subconfigurations/index.ts similarity index 100% rename from util/src/config/types/subconfigurations/index.ts rename to src/util/config/types/subconfigurations/index.ts diff --git a/util/src/config/types/subconfigurations/kafka/KafkaBroker.ts b/src/util/config/types/subconfigurations/kafka/KafkaBroker.ts similarity index 100% rename from util/src/config/types/subconfigurations/kafka/KafkaBroker.ts rename to src/util/config/types/subconfigurations/kafka/KafkaBroker.ts diff --git a/util/src/config/types/subconfigurations/kafka/index.ts b/src/util/config/types/subconfigurations/kafka/index.ts similarity index 100% rename from util/src/config/types/subconfigurations/kafka/index.ts rename to src/util/config/types/subconfigurations/kafka/index.ts diff --git a/util/src/config/types/subconfigurations/limits/ChannelLimits.ts b/src/util/config/types/subconfigurations/limits/ChannelLimits.ts similarity index 100% rename from util/src/config/types/subconfigurations/limits/ChannelLimits.ts rename to src/util/config/types/subconfigurations/limits/ChannelLimits.ts diff --git a/util/src/config/types/subconfigurations/limits/GuildLimits.ts b/src/util/config/types/subconfigurations/limits/GuildLimits.ts similarity index 100% rename from util/src/config/types/subconfigurations/limits/GuildLimits.ts rename to src/util/config/types/subconfigurations/limits/GuildLimits.ts diff --git a/util/src/config/types/subconfigurations/limits/MessageLimits.ts b/src/util/config/types/subconfigurations/limits/MessageLimits.ts similarity index 100% rename from util/src/config/types/subconfigurations/limits/MessageLimits.ts rename to src/util/config/types/subconfigurations/limits/MessageLimits.ts diff --git a/util/src/config/types/subconfigurations/limits/RateLimits.ts b/src/util/config/types/subconfigurations/limits/RateLimits.ts similarity index 100% rename from util/src/config/types/subconfigurations/limits/RateLimits.ts rename to src/util/config/types/subconfigurations/limits/RateLimits.ts diff --git a/util/src/config/types/subconfigurations/limits/UserLimits.ts b/src/util/config/types/subconfigurations/limits/UserLimits.ts similarity index 100% rename from util/src/config/types/subconfigurations/limits/UserLimits.ts rename to src/util/config/types/subconfigurations/limits/UserLimits.ts diff --git a/util/src/config/types/subconfigurations/limits/index.ts b/src/util/config/types/subconfigurations/limits/index.ts similarity index 100% rename from util/src/config/types/subconfigurations/limits/index.ts rename to src/util/config/types/subconfigurations/limits/index.ts diff --git a/util/src/config/types/subconfigurations/limits/ratelimits/Auth.ts b/src/util/config/types/subconfigurations/limits/ratelimits/Auth.ts similarity index 100% rename from util/src/config/types/subconfigurations/limits/ratelimits/Auth.ts rename to src/util/config/types/subconfigurations/limits/ratelimits/Auth.ts diff --git a/util/src/config/types/subconfigurations/limits/ratelimits/RateLimitOptions.ts b/src/util/config/types/subconfigurations/limits/ratelimits/RateLimitOptions.ts similarity index 100% rename from util/src/config/types/subconfigurations/limits/ratelimits/RateLimitOptions.ts rename to src/util/config/types/subconfigurations/limits/ratelimits/RateLimitOptions.ts diff --git a/util/src/config/types/subconfigurations/limits/ratelimits/Route.ts b/src/util/config/types/subconfigurations/limits/ratelimits/Route.ts similarity index 90% rename from util/src/config/types/subconfigurations/limits/ratelimits/Route.ts rename to src/util/config/types/subconfigurations/limits/ratelimits/Route.ts index 3012a8a8d..844b1b9a9 100644 --- a/util/src/config/types/subconfigurations/limits/ratelimits/Route.ts +++ b/src/util/config/types/subconfigurations/limits/ratelimits/Route.ts @@ -1,4 +1,4 @@ -import { AuthRateLimit } from "."; +import { AuthRateLimit } from "./Auth"; import { RateLimitOptions } from "./RateLimitOptions"; export class RouteRateLimit { diff --git a/util/src/config/types/subconfigurations/limits/ratelimits/index.ts b/src/util/config/types/subconfigurations/limits/ratelimits/index.ts similarity index 100% rename from util/src/config/types/subconfigurations/limits/ratelimits/index.ts rename to src/util/config/types/subconfigurations/limits/ratelimits/index.ts diff --git a/util/src/config/types/subconfigurations/region/Region.ts b/src/util/config/types/subconfigurations/region/Region.ts similarity index 100% rename from util/src/config/types/subconfigurations/region/Region.ts rename to src/util/config/types/subconfigurations/region/Region.ts diff --git a/util/src/config/types/subconfigurations/region/index.ts b/src/util/config/types/subconfigurations/region/index.ts similarity index 100% rename from util/src/config/types/subconfigurations/region/index.ts rename to src/util/config/types/subconfigurations/region/index.ts diff --git a/util/src/config/types/subconfigurations/register/DateOfBirth.ts b/src/util/config/types/subconfigurations/register/DateOfBirth.ts similarity index 100% rename from util/src/config/types/subconfigurations/register/DateOfBirth.ts rename to src/util/config/types/subconfigurations/register/DateOfBirth.ts diff --git a/util/src/config/types/subconfigurations/register/Email.ts b/src/util/config/types/subconfigurations/register/Email.ts similarity index 100% rename from util/src/config/types/subconfigurations/register/Email.ts rename to src/util/config/types/subconfigurations/register/Email.ts diff --git a/util/src/config/types/subconfigurations/register/Password.ts b/src/util/config/types/subconfigurations/register/Password.ts similarity index 100% rename from util/src/config/types/subconfigurations/register/Password.ts rename to src/util/config/types/subconfigurations/register/Password.ts diff --git a/util/src/config/types/subconfigurations/register/index.ts b/src/util/config/types/subconfigurations/register/index.ts similarity index 100% rename from util/src/config/types/subconfigurations/register/index.ts rename to src/util/config/types/subconfigurations/register/index.ts diff --git a/util/src/config/types/subconfigurations/security/Captcha.ts b/src/util/config/types/subconfigurations/security/Captcha.ts similarity index 100% rename from util/src/config/types/subconfigurations/security/Captcha.ts rename to src/util/config/types/subconfigurations/security/Captcha.ts diff --git a/util/src/config/types/subconfigurations/security/TwoFactor.ts b/src/util/config/types/subconfigurations/security/TwoFactor.ts similarity index 100% rename from util/src/config/types/subconfigurations/security/TwoFactor.ts rename to src/util/config/types/subconfigurations/security/TwoFactor.ts diff --git a/util/src/config/types/subconfigurations/security/index.ts b/src/util/config/types/subconfigurations/security/index.ts similarity index 100% rename from util/src/config/types/subconfigurations/security/index.ts rename to src/util/config/types/subconfigurations/security/index.ts diff --git a/util/src/dtos/DmChannelDTO.ts b/src/util/dtos/DmChannelDTO.ts similarity index 100% rename from util/src/dtos/DmChannelDTO.ts rename to src/util/dtos/DmChannelDTO.ts diff --git a/util/src/dtos/UserDTO.ts b/src/util/dtos/UserDTO.ts similarity index 100% rename from util/src/dtos/UserDTO.ts rename to src/util/dtos/UserDTO.ts diff --git a/util/src/dtos/index.ts b/src/util/dtos/index.ts similarity index 100% rename from util/src/dtos/index.ts rename to src/util/dtos/index.ts diff --git a/util/src/entities/Application.ts b/src/util/entities/Application.ts similarity index 100% rename from util/src/entities/Application.ts rename to src/util/entities/Application.ts diff --git a/util/src/entities/Attachment.ts b/src/util/entities/Attachment.ts similarity index 100% rename from util/src/entities/Attachment.ts rename to src/util/entities/Attachment.ts diff --git a/util/src/entities/AuditLog.ts b/src/util/entities/AuditLog.ts similarity index 100% rename from util/src/entities/AuditLog.ts rename to src/util/entities/AuditLog.ts diff --git a/util/src/entities/BackupCodes.ts b/src/util/entities/BackupCodes.ts similarity index 100% rename from util/src/entities/BackupCodes.ts rename to src/util/entities/BackupCodes.ts diff --git a/util/src/entities/Ban.ts b/src/util/entities/Ban.ts similarity index 100% rename from util/src/entities/Ban.ts rename to src/util/entities/Ban.ts diff --git a/util/src/entities/BaseClass.ts b/src/util/entities/BaseClass.ts similarity index 100% rename from util/src/entities/BaseClass.ts rename to src/util/entities/BaseClass.ts diff --git a/util/src/entities/Categories.ts b/src/util/entities/Categories.ts similarity index 100% rename from util/src/entities/Categories.ts rename to src/util/entities/Categories.ts diff --git a/util/src/entities/Channel.ts b/src/util/entities/Channel.ts similarity index 100% rename from util/src/entities/Channel.ts rename to src/util/entities/Channel.ts diff --git a/util/src/entities/ClientRelease.ts b/src/util/entities/ClientRelease.ts similarity index 100% rename from util/src/entities/ClientRelease.ts rename to src/util/entities/ClientRelease.ts diff --git a/util/src/entities/Config.ts b/src/util/entities/Config.ts similarity index 100% rename from util/src/entities/Config.ts rename to src/util/entities/Config.ts diff --git a/util/src/entities/ConnectedAccount.ts b/src/util/entities/ConnectedAccount.ts similarity index 100% rename from util/src/entities/ConnectedAccount.ts rename to src/util/entities/ConnectedAccount.ts diff --git a/util/src/entities/Emoji.ts b/src/util/entities/Emoji.ts similarity index 100% rename from util/src/entities/Emoji.ts rename to src/util/entities/Emoji.ts diff --git a/util/src/entities/Encryption.ts b/src/util/entities/Encryption.ts similarity index 100% rename from util/src/entities/Encryption.ts rename to src/util/entities/Encryption.ts diff --git a/util/src/entities/Group.ts b/src/util/entities/Group.ts similarity index 100% rename from util/src/entities/Group.ts rename to src/util/entities/Group.ts diff --git a/util/src/entities/Guild.ts b/src/util/entities/Guild.ts similarity index 100% rename from util/src/entities/Guild.ts rename to src/util/entities/Guild.ts diff --git a/util/src/entities/Invite.ts b/src/util/entities/Invite.ts similarity index 100% rename from util/src/entities/Invite.ts rename to src/util/entities/Invite.ts diff --git a/util/src/entities/Member.ts b/src/util/entities/Member.ts similarity index 100% rename from util/src/entities/Member.ts rename to src/util/entities/Member.ts diff --git a/util/src/entities/Message.ts b/src/util/entities/Message.ts similarity index 100% rename from util/src/entities/Message.ts rename to src/util/entities/Message.ts diff --git a/util/src/entities/Migration.ts b/src/util/entities/Migration.ts similarity index 100% rename from util/src/entities/Migration.ts rename to src/util/entities/Migration.ts diff --git a/util/src/entities/Note.ts b/src/util/entities/Note.ts similarity index 100% rename from util/src/entities/Note.ts rename to src/util/entities/Note.ts diff --git a/util/src/entities/RateLimit.ts b/src/util/entities/RateLimit.ts similarity index 100% rename from util/src/entities/RateLimit.ts rename to src/util/entities/RateLimit.ts diff --git a/util/src/entities/ReadState.ts b/src/util/entities/ReadState.ts similarity index 100% rename from util/src/entities/ReadState.ts rename to src/util/entities/ReadState.ts diff --git a/util/src/entities/Recipient.ts b/src/util/entities/Recipient.ts similarity index 100% rename from util/src/entities/Recipient.ts rename to src/util/entities/Recipient.ts diff --git a/util/src/entities/Relationship.ts b/src/util/entities/Relationship.ts similarity index 100% rename from util/src/entities/Relationship.ts rename to src/util/entities/Relationship.ts diff --git a/util/src/entities/Role.ts b/src/util/entities/Role.ts similarity index 100% rename from util/src/entities/Role.ts rename to src/util/entities/Role.ts diff --git a/util/src/entities/Session.ts b/src/util/entities/Session.ts similarity index 100% rename from util/src/entities/Session.ts rename to src/util/entities/Session.ts diff --git a/util/src/entities/Sticker.ts b/src/util/entities/Sticker.ts similarity index 100% rename from util/src/entities/Sticker.ts rename to src/util/entities/Sticker.ts diff --git a/util/src/entities/StickerPack.ts b/src/util/entities/StickerPack.ts similarity index 100% rename from util/src/entities/StickerPack.ts rename to src/util/entities/StickerPack.ts diff --git a/util/src/entities/Team.ts b/src/util/entities/Team.ts similarity index 100% rename from util/src/entities/Team.ts rename to src/util/entities/Team.ts diff --git a/util/src/entities/TeamMember.ts b/src/util/entities/TeamMember.ts similarity index 100% rename from util/src/entities/TeamMember.ts rename to src/util/entities/TeamMember.ts diff --git a/util/src/entities/Template.ts b/src/util/entities/Template.ts similarity index 100% rename from util/src/entities/Template.ts rename to src/util/entities/Template.ts diff --git a/util/src/entities/User.ts b/src/util/entities/User.ts similarity index 100% rename from util/src/entities/User.ts rename to src/util/entities/User.ts diff --git a/util/src/entities/UserGroup.ts b/src/util/entities/UserGroup.ts similarity index 100% rename from util/src/entities/UserGroup.ts rename to src/util/entities/UserGroup.ts diff --git a/util/src/entities/UserSettings.ts b/src/util/entities/UserSettings.ts similarity index 100% rename from util/src/entities/UserSettings.ts rename to src/util/entities/UserSettings.ts diff --git a/util/src/entities/VoiceState.ts b/src/util/entities/VoiceState.ts similarity index 100% rename from util/src/entities/VoiceState.ts rename to src/util/entities/VoiceState.ts diff --git a/util/src/entities/Webhook.ts b/src/util/entities/Webhook.ts similarity index 100% rename from util/src/entities/Webhook.ts rename to src/util/entities/Webhook.ts diff --git a/util/src/entities/index.ts b/src/util/entities/index.ts similarity index 100% rename from util/src/entities/index.ts rename to src/util/entities/index.ts diff --git a/util/src/index.ts b/src/util/index.ts similarity index 76% rename from util/src/index.ts rename to src/util/index.ts index daeffd698..d944dc49f 100644 --- a/util/src/index.ts +++ b/src/util/index.ts @@ -1,6 +1,7 @@ import "reflect-metadata"; export * from "./util/index"; +export * from "./config/index"; export * from "./interfaces/index"; export * from "./entities/index"; export * from "./dtos/index"; diff --git a/util/src/interfaces/Activity.ts b/src/util/interfaces/Activity.ts similarity index 100% rename from util/src/interfaces/Activity.ts rename to src/util/interfaces/Activity.ts diff --git a/util/src/interfaces/Event.ts b/src/util/interfaces/Event.ts similarity index 100% rename from util/src/interfaces/Event.ts rename to src/util/interfaces/Event.ts diff --git a/util/src/interfaces/Interaction.ts b/src/util/interfaces/Interaction.ts similarity index 100% rename from util/src/interfaces/Interaction.ts rename to src/util/interfaces/Interaction.ts diff --git a/util/src/interfaces/Presence.ts b/src/util/interfaces/Presence.ts similarity index 100% rename from util/src/interfaces/Presence.ts rename to src/util/interfaces/Presence.ts diff --git a/util/src/interfaces/Status.ts b/src/util/interfaces/Status.ts similarity index 100% rename from util/src/interfaces/Status.ts rename to src/util/interfaces/Status.ts diff --git a/util/src/interfaces/index.ts b/src/util/interfaces/index.ts similarity index 100% rename from util/src/interfaces/index.ts rename to src/util/interfaces/index.ts diff --git a/util/src/migrations/mariadb/1659901151025-initial.ts b/src/util/migrations/mariadb/1659901151025-initial.ts similarity index 100% rename from util/src/migrations/mariadb/1659901151025-initial.ts rename to src/util/migrations/mariadb/1659901151025-initial.ts diff --git a/util/src/migrations/mariadb/1659921859145-premium_since_as_date.ts b/src/util/migrations/mariadb/1659921859145-premium_since_as_date.ts similarity index 100% rename from util/src/migrations/mariadb/1659921859145-premium_since_as_date.ts rename to src/util/migrations/mariadb/1659921859145-premium_since_as_date.ts diff --git a/util/src/migrations/mariadb/1660258393551-CodeCleanup3.ts b/src/util/migrations/mariadb/1660258393551-CodeCleanup3.ts similarity index 100% rename from util/src/migrations/mariadb/1660258393551-CodeCleanup3.ts rename to src/util/migrations/mariadb/1660258393551-CodeCleanup3.ts diff --git a/util/src/migrations/mariadb/1660260587556-CodeCleanup4.ts b/src/util/migrations/mariadb/1660260587556-CodeCleanup4.ts similarity index 100% rename from util/src/migrations/mariadb/1660260587556-CodeCleanup4.ts rename to src/util/migrations/mariadb/1660260587556-CodeCleanup4.ts diff --git a/util/src/migrations/mariadb/1660265930624-CodeCleanup5.ts b/src/util/migrations/mariadb/1660265930624-CodeCleanup5.ts similarity index 100% rename from util/src/migrations/mariadb/1660265930624-CodeCleanup5.ts rename to src/util/migrations/mariadb/1660265930624-CodeCleanup5.ts diff --git a/util/src/migrations/postgres/1659899687168-initial.ts b/src/util/migrations/postgres/1659899687168-initial.ts similarity index 100% rename from util/src/migrations/postgres/1659899687168-initial.ts rename to src/util/migrations/postgres/1659899687168-initial.ts diff --git a/util/src/migrations/postgres/1659921826567-premium_since_as_date.ts b/src/util/migrations/postgres/1659921826567-premium_since_as_date.ts similarity index 100% rename from util/src/migrations/postgres/1659921826567-premium_since_as_date.ts rename to src/util/migrations/postgres/1659921826567-premium_since_as_date.ts diff --git a/util/src/migrations/postgres/1660257815436-CodeCleanup2.ts b/src/util/migrations/postgres/1660257815436-CodeCleanup2.ts similarity index 100% rename from util/src/migrations/postgres/1660257815436-CodeCleanup2.ts rename to src/util/migrations/postgres/1660257815436-CodeCleanup2.ts diff --git a/util/src/migrations/postgres/1660258372154-CodeCleanup3.ts b/src/util/migrations/postgres/1660258372154-CodeCleanup3.ts similarity index 100% rename from util/src/migrations/postgres/1660258372154-CodeCleanup3.ts rename to src/util/migrations/postgres/1660258372154-CodeCleanup3.ts diff --git a/util/src/migrations/postgres/1660260565996-CodeCleanup4.ts b/src/util/migrations/postgres/1660260565996-CodeCleanup4.ts similarity index 100% rename from util/src/migrations/postgres/1660260565996-CodeCleanup4.ts rename to src/util/migrations/postgres/1660260565996-CodeCleanup4.ts diff --git a/util/src/migrations/postgres/1660265907544-CodeCleanup5.ts b/src/util/migrations/postgres/1660265907544-CodeCleanup5.ts similarity index 100% rename from util/src/migrations/postgres/1660265907544-CodeCleanup5.ts rename to src/util/migrations/postgres/1660265907544-CodeCleanup5.ts diff --git a/util/src/migrations/sqlite/1659899662635-initial.ts b/src/util/migrations/sqlite/1659899662635-initial.ts similarity index 100% rename from util/src/migrations/sqlite/1659899662635-initial.ts rename to src/util/migrations/sqlite/1659899662635-initial.ts diff --git a/util/src/migrations/sqlite/1659921722863-premium_since_as_date.ts b/src/util/migrations/sqlite/1659921722863-premium_since_as_date.ts similarity index 100% rename from util/src/migrations/sqlite/1659921722863-premium_since_as_date.ts rename to src/util/migrations/sqlite/1659921722863-premium_since_as_date.ts diff --git a/util/src/migrations/sqlite/1660257576211-CodeCleanup1.ts b/src/util/migrations/sqlite/1660257576211-CodeCleanup1.ts similarity index 100% rename from util/src/migrations/sqlite/1660257576211-CodeCleanup1.ts rename to src/util/migrations/sqlite/1660257576211-CodeCleanup1.ts diff --git a/util/src/migrations/sqlite/1660257795259-CodeCleanup2.ts b/src/util/migrations/sqlite/1660257795259-CodeCleanup2.ts similarity index 100% rename from util/src/migrations/sqlite/1660257795259-CodeCleanup2.ts rename to src/util/migrations/sqlite/1660257795259-CodeCleanup2.ts diff --git a/util/src/migrations/sqlite/1660258351379-CodeCleanup3.ts b/src/util/migrations/sqlite/1660258351379-CodeCleanup3.ts similarity index 100% rename from util/src/migrations/sqlite/1660258351379-CodeCleanup3.ts rename to src/util/migrations/sqlite/1660258351379-CodeCleanup3.ts diff --git a/util/src/migrations/sqlite/1660260672914-CodeCleanup4.ts b/src/util/migrations/sqlite/1660260672914-CodeCleanup4.ts similarity index 100% rename from util/src/migrations/sqlite/1660260672914-CodeCleanup4.ts rename to src/util/migrations/sqlite/1660260672914-CodeCleanup4.ts diff --git a/util/src/schemas/ActivitySchema.ts b/src/util/schemas/ActivitySchema.ts similarity index 100% rename from util/src/schemas/ActivitySchema.ts rename to src/util/schemas/ActivitySchema.ts diff --git a/util/src/schemas/BanCreateSchema.ts b/src/util/schemas/BanCreateSchema.ts similarity index 100% rename from util/src/schemas/BanCreateSchema.ts rename to src/util/schemas/BanCreateSchema.ts diff --git a/util/src/schemas/BanModeratorSchema.ts b/src/util/schemas/BanModeratorSchema.ts similarity index 100% rename from util/src/schemas/BanModeratorSchema.ts rename to src/util/schemas/BanModeratorSchema.ts diff --git a/util/src/schemas/BanRegistrySchema.ts b/src/util/schemas/BanRegistrySchema.ts similarity index 100% rename from util/src/schemas/BanRegistrySchema.ts rename to src/util/schemas/BanRegistrySchema.ts diff --git a/util/src/schemas/BulkDeleteSchema.ts b/src/util/schemas/BulkDeleteSchema.ts similarity index 100% rename from util/src/schemas/BulkDeleteSchema.ts rename to src/util/schemas/BulkDeleteSchema.ts diff --git a/util/src/schemas/ChannelModifySchema.ts b/src/util/schemas/ChannelModifySchema.ts similarity index 100% rename from util/src/schemas/ChannelModifySchema.ts rename to src/util/schemas/ChannelModifySchema.ts diff --git a/util/src/schemas/ChannelPermissionOverwriteSchema.ts b/src/util/schemas/ChannelPermissionOverwriteSchema.ts similarity index 100% rename from util/src/schemas/ChannelPermissionOverwriteSchema.ts rename to src/util/schemas/ChannelPermissionOverwriteSchema.ts diff --git a/util/src/schemas/ChannelReorderSchema.ts b/src/util/schemas/ChannelReorderSchema.ts similarity index 100% rename from util/src/schemas/ChannelReorderSchema.ts rename to src/util/schemas/ChannelReorderSchema.ts diff --git a/util/src/schemas/DmChannelCreateSchema.ts b/src/util/schemas/DmChannelCreateSchema.ts similarity index 100% rename from util/src/schemas/DmChannelCreateSchema.ts rename to src/util/schemas/DmChannelCreateSchema.ts diff --git a/util/src/schemas/EmojiCreateSchema.ts b/src/util/schemas/EmojiCreateSchema.ts similarity index 100% rename from util/src/schemas/EmojiCreateSchema.ts rename to src/util/schemas/EmojiCreateSchema.ts diff --git a/util/src/schemas/EmojiModifySchema.ts b/src/util/schemas/EmojiModifySchema.ts similarity index 100% rename from util/src/schemas/EmojiModifySchema.ts rename to src/util/schemas/EmojiModifySchema.ts diff --git a/util/src/schemas/GuildCreateSchema.ts b/src/util/schemas/GuildCreateSchema.ts similarity index 100% rename from util/src/schemas/GuildCreateSchema.ts rename to src/util/schemas/GuildCreateSchema.ts diff --git a/util/src/schemas/GuildTemplateCreateSchema.ts b/src/util/schemas/GuildTemplateCreateSchema.ts similarity index 100% rename from util/src/schemas/GuildTemplateCreateSchema.ts rename to src/util/schemas/GuildTemplateCreateSchema.ts diff --git a/util/src/schemas/GuildUpdateSchema.ts b/src/util/schemas/GuildUpdateSchema.ts similarity index 100% rename from util/src/schemas/GuildUpdateSchema.ts rename to src/util/schemas/GuildUpdateSchema.ts diff --git a/util/src/schemas/GuildUpdateWelcomeScreenSchema.ts b/src/util/schemas/GuildUpdateWelcomeScreenSchema.ts similarity index 100% rename from util/src/schemas/GuildUpdateWelcomeScreenSchema.ts rename to src/util/schemas/GuildUpdateWelcomeScreenSchema.ts diff --git a/util/src/schemas/IdentifySchema.ts b/src/util/schemas/IdentifySchema.ts similarity index 93% rename from util/src/schemas/IdentifySchema.ts rename to src/util/schemas/IdentifySchema.ts index 8f95c6a0c..f3d60fb35 100644 --- a/util/src/schemas/IdentifySchema.ts +++ b/src/util/schemas/IdentifySchema.ts @@ -2,7 +2,7 @@ import { ActivitySchema } from "./ActivitySchema"; export const IdentifySchema = { token: String, - $intents: BigInt, // discord uses a Integer for bitfields we use bigints tho. | instanceOf will automatically convert the Number to a BigInt + $intents: String, // discord uses a Integer for bitfields we use bigints tho. | instanceOf will automatically convert the Number to a BigInt $properties: Object, // { // // discord uses $ in the property key for bots, so we need to double prefix it, because instanceOf treats $ (prefix) as a optional key @@ -33,7 +33,7 @@ export const IdentifySchema = { $presence: ActivitySchema, $compress: Boolean, $large_threshold: Number, - $shard: [BigInt, BigInt], + $shard: [Number, Number], $guild_subscriptions: Boolean, $capabilities: Number, $client_state: { @@ -71,11 +71,11 @@ export interface IdentifySchema { client_version?: string; system_locale?: string; }; - intents?: bigint; // discord uses a Integer for bitfields we use bigints tho. | instanceOf will automatically convert the Number to a BigInt + intents?: string; // discord uses a Integer for bitfields we use bigints tho. | instanceOf will automatically convert the Number to a BigInt presence?: ActivitySchema; compress?: boolean; large_threshold?: number; - shard?: [bigint, bigint]; + shard?: [number, number]; guild_subscriptions?: boolean; capabilities?: number; client_state?: { diff --git a/util/src/schemas/InviteCreateSchema.ts b/src/util/schemas/InviteCreateSchema.ts similarity index 100% rename from util/src/schemas/InviteCreateSchema.ts rename to src/util/schemas/InviteCreateSchema.ts diff --git a/util/src/schemas/LazyRequestSchema.ts b/src/util/schemas/LazyRequestSchema.ts similarity index 100% rename from util/src/schemas/LazyRequestSchema.ts rename to src/util/schemas/LazyRequestSchema.ts diff --git a/util/src/schemas/LoginSchema.ts b/src/util/schemas/LoginSchema.ts similarity index 100% rename from util/src/schemas/LoginSchema.ts rename to src/util/schemas/LoginSchema.ts diff --git a/util/src/schemas/MemberChangeSchema.ts b/src/util/schemas/MemberChangeSchema.ts similarity index 100% rename from util/src/schemas/MemberChangeSchema.ts rename to src/util/schemas/MemberChangeSchema.ts diff --git a/util/src/schemas/MemberNickChangeSchema.ts b/src/util/schemas/MemberNickChangeSchema.ts similarity index 100% rename from util/src/schemas/MemberNickChangeSchema.ts rename to src/util/schemas/MemberNickChangeSchema.ts diff --git a/util/src/schemas/MessageAcknowledgeSchema.ts b/src/util/schemas/MessageAcknowledgeSchema.ts similarity index 100% rename from util/src/schemas/MessageAcknowledgeSchema.ts rename to src/util/schemas/MessageAcknowledgeSchema.ts diff --git a/util/src/schemas/MessageCreateSchema.ts b/src/util/schemas/MessageCreateSchema.ts similarity index 100% rename from util/src/schemas/MessageCreateSchema.ts rename to src/util/schemas/MessageCreateSchema.ts diff --git a/util/src/schemas/MfaCodesSchema.ts b/src/util/schemas/MfaCodesSchema.ts similarity index 100% rename from util/src/schemas/MfaCodesSchema.ts rename to src/util/schemas/MfaCodesSchema.ts diff --git a/util/src/schemas/ModifyGuildStickerSchema.ts b/src/util/schemas/ModifyGuildStickerSchema.ts similarity index 100% rename from util/src/schemas/ModifyGuildStickerSchema.ts rename to src/util/schemas/ModifyGuildStickerSchema.ts diff --git a/util/src/schemas/PruneSchema.ts b/src/util/schemas/PruneSchema.ts similarity index 100% rename from util/src/schemas/PruneSchema.ts rename to src/util/schemas/PruneSchema.ts diff --git a/util/src/schemas/PurgeSchema.ts b/src/util/schemas/PurgeSchema.ts similarity index 100% rename from util/src/schemas/PurgeSchema.ts rename to src/util/schemas/PurgeSchema.ts diff --git a/util/src/schemas/RegisterSchema.ts b/src/util/schemas/RegisterSchema.ts similarity index 100% rename from util/src/schemas/RegisterSchema.ts rename to src/util/schemas/RegisterSchema.ts diff --git a/util/src/schemas/RelationshipPostSchema.ts b/src/util/schemas/RelationshipPostSchema.ts similarity index 100% rename from util/src/schemas/RelationshipPostSchema.ts rename to src/util/schemas/RelationshipPostSchema.ts diff --git a/util/src/schemas/RelationshipPutSchema.ts b/src/util/schemas/RelationshipPutSchema.ts similarity index 100% rename from util/src/schemas/RelationshipPutSchema.ts rename to src/util/schemas/RelationshipPutSchema.ts diff --git a/util/src/schemas/RoleModifySchema.ts b/src/util/schemas/RoleModifySchema.ts similarity index 100% rename from util/src/schemas/RoleModifySchema.ts rename to src/util/schemas/RoleModifySchema.ts diff --git a/util/src/schemas/RolePositionUpdateSchema.ts b/src/util/schemas/RolePositionUpdateSchema.ts similarity index 100% rename from util/src/schemas/RolePositionUpdateSchema.ts rename to src/util/schemas/RolePositionUpdateSchema.ts diff --git a/util/src/schemas/TemplateCreateSchema.ts b/src/util/schemas/TemplateCreateSchema.ts similarity index 100% rename from util/src/schemas/TemplateCreateSchema.ts rename to src/util/schemas/TemplateCreateSchema.ts diff --git a/util/src/schemas/TemplateModifySchema.ts b/src/util/schemas/TemplateModifySchema.ts similarity index 100% rename from util/src/schemas/TemplateModifySchema.ts rename to src/util/schemas/TemplateModifySchema.ts diff --git a/util/src/schemas/TotpDisableSchema.ts b/src/util/schemas/TotpDisableSchema.ts similarity index 100% rename from util/src/schemas/TotpDisableSchema.ts rename to src/util/schemas/TotpDisableSchema.ts diff --git a/util/src/schemas/TotpEnableSchema.ts b/src/util/schemas/TotpEnableSchema.ts similarity index 100% rename from util/src/schemas/TotpEnableSchema.ts rename to src/util/schemas/TotpEnableSchema.ts diff --git a/util/src/schemas/TotpSchema.ts b/src/util/schemas/TotpSchema.ts similarity index 100% rename from util/src/schemas/TotpSchema.ts rename to src/util/schemas/TotpSchema.ts diff --git a/util/src/schemas/UserModifySchema.ts b/src/util/schemas/UserModifySchema.ts similarity index 100% rename from util/src/schemas/UserModifySchema.ts rename to src/util/schemas/UserModifySchema.ts diff --git a/util/src/schemas/UserSettingsSchema.ts b/src/util/schemas/UserSettingsSchema.ts similarity index 100% rename from util/src/schemas/UserSettingsSchema.ts rename to src/util/schemas/UserSettingsSchema.ts diff --git a/util/src/schemas/VanityUrlSchema.ts b/src/util/schemas/VanityUrlSchema.ts similarity index 100% rename from util/src/schemas/VanityUrlSchema.ts rename to src/util/schemas/VanityUrlSchema.ts diff --git a/util/src/schemas/VoiceStateUpdateSchema.ts b/src/util/schemas/VoiceStateUpdateSchema.ts similarity index 100% rename from util/src/schemas/VoiceStateUpdateSchema.ts rename to src/util/schemas/VoiceStateUpdateSchema.ts diff --git a/util/src/schemas/WebhookCreateSchema.ts b/src/util/schemas/WebhookCreateSchema.ts similarity index 100% rename from util/src/schemas/WebhookCreateSchema.ts rename to src/util/schemas/WebhookCreateSchema.ts diff --git a/util/src/schemas/WidgetModifySchema.ts b/src/util/schemas/WidgetModifySchema.ts similarity index 100% rename from util/src/schemas/WidgetModifySchema.ts rename to src/util/schemas/WidgetModifySchema.ts diff --git a/util/src/schemas/index.ts b/src/util/schemas/index.ts similarity index 100% rename from util/src/schemas/index.ts rename to src/util/schemas/index.ts diff --git a/util/src/util/ApiError.ts b/src/util/util/ApiError.ts similarity index 100% rename from util/src/util/ApiError.ts rename to src/util/util/ApiError.ts diff --git a/util/src/util/Array.ts b/src/util/util/Array.ts similarity index 100% rename from util/src/util/Array.ts rename to src/util/util/Array.ts diff --git a/util/src/util/AutoUpdate.ts b/src/util/util/AutoUpdate.ts similarity index 100% rename from util/src/util/AutoUpdate.ts rename to src/util/util/AutoUpdate.ts diff --git a/util/src/util/BitField.ts b/src/util/util/BitField.ts similarity index 100% rename from util/src/util/BitField.ts rename to src/util/util/BitField.ts diff --git a/util/src/util/Categories.ts b/src/util/util/Categories.ts similarity index 100% rename from util/src/util/Categories.ts rename to src/util/util/Categories.ts diff --git a/util/src/util/Config.ts b/src/util/util/Config.ts similarity index 100% rename from util/src/util/Config.ts rename to src/util/util/Config.ts diff --git a/util/src/util/Constants.ts b/src/util/util/Constants.ts similarity index 100% rename from util/src/util/Constants.ts rename to src/util/util/Constants.ts diff --git a/util/src/util/Database.ts b/src/util/util/Database.ts similarity index 100% rename from util/src/util/Database.ts rename to src/util/util/Database.ts diff --git a/util/src/util/Email.ts b/src/util/util/Email.ts similarity index 100% rename from util/src/util/Email.ts rename to src/util/util/Email.ts diff --git a/util/src/util/Event.ts b/src/util/util/Event.ts similarity index 100% rename from util/src/util/Event.ts rename to src/util/util/Event.ts diff --git a/util/src/util/FieldError.ts b/src/util/util/FieldError.ts similarity index 100% rename from util/src/util/FieldError.ts rename to src/util/util/FieldError.ts diff --git a/util/src/util/Intents.ts b/src/util/util/Intents.ts similarity index 100% rename from util/src/util/Intents.ts rename to src/util/util/Intents.ts diff --git a/util/src/util/InvisibleCharacters.ts b/src/util/util/InvisibleCharacters.ts similarity index 100% rename from util/src/util/InvisibleCharacters.ts rename to src/util/util/InvisibleCharacters.ts diff --git a/util/src/util/MFA.ts b/src/util/util/MFA.ts similarity index 100% rename from util/src/util/MFA.ts rename to src/util/util/MFA.ts diff --git a/util/src/util/MessageFlags.ts b/src/util/util/MessageFlags.ts similarity index 100% rename from util/src/util/MessageFlags.ts rename to src/util/util/MessageFlags.ts diff --git a/util/src/util/Permissions.ts b/src/util/util/Permissions.ts similarity index 100% rename from util/src/util/Permissions.ts rename to src/util/util/Permissions.ts diff --git a/util/src/util/RabbitMQ.ts b/src/util/util/RabbitMQ.ts similarity index 100% rename from util/src/util/RabbitMQ.ts rename to src/util/util/RabbitMQ.ts diff --git a/util/src/util/Regex.ts b/src/util/util/Regex.ts similarity index 100% rename from util/src/util/Regex.ts rename to src/util/util/Regex.ts diff --git a/util/src/util/Rights.ts b/src/util/util/Rights.ts similarity index 100% rename from util/src/util/Rights.ts rename to src/util/util/Rights.ts diff --git a/util/src/util/Snowflake.ts b/src/util/util/Snowflake.ts similarity index 100% rename from util/src/util/Snowflake.ts rename to src/util/util/Snowflake.ts diff --git a/util/src/util/String.ts b/src/util/util/String.ts similarity index 100% rename from util/src/util/String.ts rename to src/util/util/String.ts diff --git a/util/src/util/Token.ts b/src/util/util/Token.ts similarity index 100% rename from util/src/util/Token.ts rename to src/util/util/Token.ts diff --git a/util/src/util/TraverseDirectory.ts b/src/util/util/TraverseDirectory.ts similarity index 100% rename from util/src/util/TraverseDirectory.ts rename to src/util/util/TraverseDirectory.ts diff --git a/util/src/util/cdn.ts b/src/util/util/cdn.ts similarity index 100% rename from util/src/util/cdn.ts rename to src/util/util/cdn.ts diff --git a/util/src/util/imports/Checks.ts b/src/util/util/imports/Checks.ts similarity index 100% rename from util/src/util/imports/Checks.ts rename to src/util/util/imports/Checks.ts diff --git a/util/src/util/imports/HTTPError.ts b/src/util/util/imports/HTTPError.ts similarity index 100% rename from util/src/util/imports/HTTPError.ts rename to src/util/util/imports/HTTPError.ts diff --git a/util/src/util/imports/OrmUtils.ts b/src/util/util/imports/OrmUtils.ts similarity index 100% rename from util/src/util/imports/OrmUtils.ts rename to src/util/util/imports/OrmUtils.ts diff --git a/util/src/util/imports/index.ts b/src/util/util/imports/index.ts similarity index 100% rename from util/src/util/imports/index.ts rename to src/util/util/imports/index.ts diff --git a/util/src/util/index.ts b/src/util/util/index.ts similarity index 100% rename from util/src/util/index.ts rename to src/util/util/index.ts diff --git a/util/tests/User.test.js b/tests/User.test.js similarity index 100% rename from util/tests/User.test.js rename to tests/User.test.js diff --git a/cdn/tests/antman.jpg b/tests/antman.jpg similarity index 100% rename from cdn/tests/antman.jpg rename to tests/antman.jpg diff --git a/cdn/tests/cdn_endpoints.test.js b/tests/cdn_endpoints.test.js similarity index 100% rename from cdn/tests/cdn_endpoints.test.js rename to tests/cdn_endpoints.test.js diff --git a/cdn/tests/filestorage.test.js b/tests/filestorage.test.js similarity index 100% rename from cdn/tests/filestorage.test.js rename to tests/filestorage.test.js diff --git a/api/tests/routes.test.ts b/tests/routes.test.ts similarity index 100% rename from api/tests/routes.test.ts rename to tests/routes.test.ts diff --git a/api/tests/routes/auth/login.test.js b/tests/routes/auth/login.test.js similarity index 100% rename from api/tests/routes/auth/login.test.js rename to tests/routes/auth/login.test.js diff --git a/api/tests/routes/auth/register.test.js b/tests/routes/auth/register.test.js similarity index 100% rename from api/tests/routes/auth/register.test.js rename to tests/routes/auth/register.test.js diff --git a/api/tests/routes/ping.test.js b/tests/routes/ping.test.js similarity index 100% rename from api/tests/routes/ping.test.js rename to tests/routes/ping.test.js diff --git a/util/tests/setupJest.js b/tests/setupJest.js similarity index 100% rename from util/tests/setupJest.js rename to tests/setupJest.js diff --git a/bundle/tsconfig.json b/tsconfig.json similarity index 92% rename from bundle/tsconfig.json rename to tsconfig.json index 87f6578ac..b9e17f299 100644 --- a/bundle/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,5 @@ { - "include": ["dist/**/*.ts"], + "include": ["src/**/*.ts"], "exclude": [], "compilerOptions": { @@ -18,7 +18,7 @@ "sourceMap": true /* Generates corresponding '.map' file. */, // "outFile": "./", /* Concatenate and emit output to single file. */ "outDir": "./dist/" /* Redirect output structure to the directory. */, - "rootDir": "./dist/" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, + "rootDir": "./src/" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, // "composite": true, /* Enable project compilation */ // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ // "removeComments": true, /* Do not emit comments to output. */ @@ -71,12 +71,12 @@ "emitDecoratorMetadata": true, "experimentalDecorators": true, "resolveJsonModule": true, - "baseUrl": "./dist/", + "baseUrl": "./src/", "paths": { - "@fosscord/api": ["api/src/index"], - "@fosscord/gateway": ["gateway/src/index"], - "@fosscord/cdn": ["cdn/src/index"], - "@fosscord/util": ["util/src/index"] + "@fosscord/api": ["./api/index"], + "@fosscord/gateway": ["./gateway/index"], + "@fosscord/cdn": ["./cdn/index"], + "@fosscord/util": ["./util/index"] }, "plugins": [{ "transform": "@ovos-media/ts-transform-paths" }], "noEmitHelpers": true, diff --git a/util/.gitignore b/util/.gitignore deleted file mode 100644 index 768a04259..000000000 --- a/util/.gitignore +++ /dev/null @@ -1,110 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-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 - -yarn.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/ - -# TypeScript v1 declaration files -typings/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# 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 variables file -.env -.env.test - -# parcel-bundler cache (https://parceljs.org/) -.cache - -# Next.js build output -.next - -# Nuxt.js build / generate output -.nuxt - -# 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 - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port -.DS_Store - -# Compiled TypeScript code -dist/ -database.db \ No newline at end of file diff --git a/util/.npmignore b/util/.npmignore deleted file mode 100644 index 05a9d0cf2..000000000 --- a/util/.npmignore +++ /dev/null @@ -1 +0,0 @@ -!dist/ \ No newline at end of file diff --git a/util/.prettierrc b/util/.prettierrc deleted file mode 100644 index d569c548e..000000000 --- a/util/.prettierrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "tabWidth": 4, - "useTabs": true, - "printWidth": 120 -} diff --git a/util/.vscode/launch.json b/util/.vscode/launch.json deleted file mode 100644 index 524622d13..000000000 --- a/util/.vscode/launch.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "sourceMaps": true, - "type": "node", - "request": "launch", - "name": "Launch Util", - "program": "${workspaceFolder}/dist/index.js", - "preLaunchTask": "tsc: build - tsconfig.json", - "outFiles": ["${workspaceFolder}/dist/**/*.js"] - }, - { - "name": "Debug Jest Tests", - "type": "node", - "request": "launch", - "runtimeArgs": ["--inspect-brk", "${workspaceRoot}/node_modules/jest/bin/jest.js", "--runInBand"], - "preLaunchTask": "tsc: build - tsconfig.json", - "console": "integratedTerminal", - "internalConsoleOptions": "neverOpen", - "port": 9229 - } - ] -} diff --git a/util/README.md b/util/README.md deleted file mode 100644 index 1934df2a7..000000000 --- a/util/README.md +++ /dev/null @@ -1,29 +0,0 @@ -

- -

-

Fosscord server util

- -

- - - - - - - - -

- -## [About](https://fosscord.com) - -Fosscord is a free open source selfhostable chat, voice and video discord-compatible platform. - -Fosscord server util contains all necessary logic that is shared between the [api](https://github.com/fosscord/fosscord-server/tree/master/api), [gateway](https://github.com/fosscord/fosscord-server/tree/master/gateway) and [cdn](https://github.com/fosscord/fosscord-server/tree/master/cdn). - -It contains all mongoose database models and utility functions. - -## Installation - -```bash -npm install @fosscord/server-util -``` diff --git a/util/package-lock.json b/util/package-lock.json deleted file mode 100644 index 04b2857b792f34bf4fd4e060c1603cbc4aa21385..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 460763 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

H=+_-1@OInQ~GFPQT37|fN$8TJZFLi7tB;s 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 j7y4@4xr%c08u1_7S`^KbtbZh+9D diff --git a/util/package.json b/util/package.json deleted file mode 100644 index 01c3d9f20..000000000 --- a/util/package.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "name": "@fosscord/util", - "version": "1.0.0", - "description": "Utility functions for the all server repositories", - "main": "dist/index.js", - "types": "src/index.ts", - "scripts": { - "start": "npm run build && node dist/", - "test": "npm run build && npx jest", - "postinstall": "npm run build", - "build": "npx tsc -p .", - "typeorm": "node --require ts-node/register ./node_modules/typeorm/cli.js" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/fosscord/fosscord-server.git" - }, - "keywords": [ - "discord", - "fosscord", - "fosscord-server", - "discord open source", - "discord-open-source" - ], - "author": "Fosscord", - "license": "AGPL-3.0-only", - "bugs": { - "url": "https://github.com/fosscord/fosscord-server/issues" - }, - "homepage": "https://docs.fosscord.com/", - "devDependencies": { - "@types/amqplib": "^0.8.1", - "@types/jsonwebtoken": "^8.5.8", - "@types/multer": "^1.4.7", - "@types/node": "^18.0.6", - "jest": "^28.1.3", - "ts-node": "^10.2.1" - }, - "dependencies": { - "@types/node-fetch": "^2.6.2", - "amqplib": "^0.10.0", - "form-data": "^4.0.0", - "jsonwebtoken": "^8.5.1", - "lambert-server": "^1.2.12", - "missing-native-js-functions": "^1.2.18", - "multer": "^1.4.5-lts.1", - "node-fetch": "^2.6.7", - "picocolors": "^1.0.0", - "proxy-agent": "^5.0.0", - "reflect-metadata": "^0.1.13", - "typeorm": "^0.3.7", - "typescript": "^4.7.4" - }, - "jest": { - "setupFilesAfterEnv": [ - "./tests/setupJest.js" - ] - } -} diff --git a/util/tsconfig.json b/util/tsconfig.json deleted file mode 100644 index a5d5ae05f..000000000 --- a/util/tsconfig.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "include": ["src/**/*.ts"], - "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ - - /* Basic Options */ - "incremental": false /* Enable incremental compilation */, - "target": "ES6" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, - "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, - "lib": ["ES2021"] /* Specify library files to be included in the compilation. */, - "allowJs": true /* Allow javascript files to be compiled. */, - "checkJs": true /* Report errors in .js files. */, - // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ - "declaration": true /* Generates corresponding '.d.ts' file. */, - "declarationMap": false /* Generates a sourcemap for each corresponding '.d.ts' file. */, - "sourceMap": true /* Generates corresponding '.map' file. */, - // "outFile": "./", /* Concatenate and emit output to single file. */ - "outDir": "./dist/" /* Redirect output structure to the directory. */, - "rootDir": "./src/" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, - // "composite": true, /* Enable project compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - // "removeComments": true, /* Do not emit comments to output. */ - // "noEmit": true, /* Do not emit outputs. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ - - /* Strict Type-Checking Options */ - "strict": true /* Enable all strict type-checking options. */, - "noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */, - "strictNullChecks": true /* Enable strict null checks. */, - // "strictFunctionTypes": true, /* Enable strict checking of function types. */ - // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ - "strictPropertyInitialization": false /* Enable strict checking of property initialization in classes. */, - // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - "alwaysStrict": true /* Parse in strict mode and emit "use strict" for each source file. */, - - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - - /* Module Resolution Options */ - // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ - // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ - // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - // "typeRoots": [], /* List of folders to include type definitions from. */ - "types": ["node"] /* Type declaration files to be included in compilation. */, - // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - - /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - - /* Experimental Options */ - // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - - /* Advanced Options */ - "skipLibCheck": true /* Skip type checking of declaration files. */, - "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */, - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "resolveJsonModule": true - } -} diff --git a/webrtc/.DS_Store b/webrtc/.DS_Store deleted file mode 100644 index bfb0a4165ee92c5850a98ab16b2c02a383ec7a7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKJ5Iwu5S<||EYYN-px6^2asv~Y6XXKOiGU)JBM`kiI1IPo2AqgDAHb1CN(y)* z%|7qUyj}Sf9*>CV@@caWnTtpbHeE23 zRDcRlfiDH@`%vJ9P2v#fpAIZO0s!qd-VM(_O8|=nfKB2MhzLxB3Jj{|h@nA8ykuRI zI0Ob=)NjT)d9&t(qJBH##mhyTK(17P3LGjhi|yR{|26!F`Tvl_9TlJge@X$Z+Eu&6 zD`jt;yqxvg0>6QO8fv{9i??E+w_ZG%D~L3VZ+r CMmVVi6$34h~<3Hb6of+CZ9_{_V~bk`N^oOZVL9 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 { - socket.on("message", (message) => { - socket.emit( - JSON.stringify({ - op: 2, - d: { - ssrc: 1, - ip: "127.0.0.1", - port: 3004, - modes: [ - "xsalsa20_poly1305", - "xsalsa20_poly1305_suffix", - "xsalsa20_poly1305_lite", - ], - heartbeat_interval: 1, - }, - }) - ); - }); - }); - } - - async listen(): Promise { - // @ts-ignore - await (db as Promise); - await Config.init(); - console.log("[DB] connected"); - console.log(`[WebRTC] online on 0.0.0.0:${port}`); - } -} diff --git a/webrtc/src/index.ts b/webrtc/src/index.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/webrtc/src/start.ts b/webrtc/src/start.ts deleted file mode 100644 index 68867a2cf..000000000 --- a/webrtc/src/start.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Server } from "./Server"; - -const server = new Server(); diff --git a/webrtc/src/test.ts b/webrtc/src/test.ts deleted file mode 100644 index df407b56a..000000000 --- a/webrtc/src/test.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { getSupportedRtpCapabilities } from "mediasoup"; - -async function test() { - console.log(getSupportedRtpCapabilities()); -} -setTimeout(() => {}, 1000000); - -test(); diff --git a/webrtc/tsconfig.json b/webrtc/tsconfig.json deleted file mode 100644 index 77353db0d..000000000 --- a/webrtc/tsconfig.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "include": ["src/**/*.ts"], - "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ - - /* Basic Options */ - // "incremental": true, /* Enable incremental compilation */ - "target": "ESNext" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, - "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, - "lib": [ - "ES2021" - ] /* Specify library files to be included in the compilation. */, - "allowJs": true /* Allow javascript files to be compiled. */, - "checkJs": true /* Report errors in .js files. */, - // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ - "declaration": true /* Generates corresponding '.d.ts' file. */, - "declarationMap": false /* Generates a sourcemap for each corresponding '.d.ts' file. */, - "sourceMap": true /* Generates corresponding '.map' file. */, - // "outFile": "./", /* Concatenate and emit output to single file. */ - "outDir": "./dist/" /* Redirect output structure to the directory. */, - "rootDir": "./src/" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, - // "composite": true, /* Enable project compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - // "removeComments": true, /* Do not emit comments to output. */ - // "noEmit": true, /* Do not emit outputs. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ - - /* Strict Type-Checking Options */ - "strict": true /* Enable all strict type-checking options. */, - "noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */, - "strictNullChecks": true /* Enable strict null checks. */, - // "strictFunctionTypes": true, /* Enable strict checking of function types. */ - // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ - "strictPropertyInitialization": false /* Enable strict checking of property initialization in classes. */, - // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - "alwaysStrict": true /* Parse in strict mode and emit "use strict" for each source file. */, - - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - - /* Module Resolution Options */ - // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - // "typeRoots": [], /* List of folders to include type definitions from. */ - "types": [ - "node" - ] /* Type declaration files to be included in compilation. */, - // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - - /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - - /* Experimental Options */ - // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - - /* Advanced Options */ - "skipLibCheck": true /* Skip type checking of declaration files. */, - "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ - } -} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 000000000..3173ddfa8 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,6802 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.1.0": + version "2.2.0" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + dependencies: + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@aws-crypto/crc32@2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-2.0.0.tgz" + integrity sha512-TvE1r2CUueyXOuHdEigYjIZVesInd9KN+K/TFFNfkkxRThiNxO6i4ZqqAVMoEjAamZZ1AA8WXJkjCz7YShHPQA== + dependencies: + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + tslib "^1.11.1" + +"@aws-crypto/crc32c@2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-2.0.0.tgz" + integrity sha512-vF0eMdMHx3O3MoOXUfBZry8Y4ZDtcuskjjKgJz8YfIDjLStxTZrYXk+kZqtl6A0uCmmiN/Eb/JbC/CndTV1MHg== + dependencies: + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + tslib "^1.11.1" + +"@aws-crypto/ie11-detection@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.0.tgz" + integrity sha512-pkVXf/dq6PITJ0jzYZ69VhL8VFOFoPZLZqtU/12SGnzYuJOOGNfF41q9GxdI1yqC8R13Rq3jOLKDFpUJFT5eTA== + dependencies: + tslib "^1.11.1" + +"@aws-crypto/sha1-browser@2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-2.0.0.tgz" + integrity sha512-3fIVRjPFY8EG5HWXR+ZJZMdWNRpwbxGzJ9IH9q93FpbgCH8u8GHRi46mZXp3cYD7gealmyqpm3ThZwLKJjWJhA== + dependencies: + "@aws-crypto/ie11-detection" "^2.0.0" + "@aws-crypto/supports-web-crypto" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-crypto/sha256-browser@2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz" + integrity sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A== + dependencies: + "@aws-crypto/ie11-detection" "^2.0.0" + "@aws-crypto/sha256-js" "^2.0.0" + "@aws-crypto/supports-web-crypto" "^2.0.0" + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-crypto/sha256-js@2.0.0", "@aws-crypto/sha256-js@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz" + integrity sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig== + dependencies: + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + tslib "^1.11.1" + +"@aws-crypto/supports-web-crypto@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.0.tgz" + integrity sha512-Ge7WQ3E0OC7FHYprsZV3h0QIcpdyJLvIeg+uTuHqRYm8D6qCFJoiC+edSzSyFiHtZf+NOQDJ1q46qxjtzIY2nA== + dependencies: + tslib "^1.11.1" + +"@aws-crypto/util@^2.0.0": + version "2.0.1" + resolved "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.1.tgz" + integrity sha512-JJmFFwvbm08lULw4Nm5QOLg8+lAQeC8aCXK5xrtxntYzYXCGfHwUJ4Is3770Q7HmICsXthGQ+ZsDL7C2uH3yBQ== + dependencies: + "@aws-sdk/types" "^3.1.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-sdk/abort-controller@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.127.0.tgz" + integrity sha512-G77FLYcl9egUoD3ZmR6TX94NMqBMeT53hBGrEE3uVUJV1CwfGKfaF007mPpRZnIB3avnJBQGEK6MrwlCfv2qAw== + dependencies: + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/chunked-blob-reader-native@3.109.0": + version "3.109.0" + resolved "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.109.0.tgz" + integrity sha512-Ybn3vDZ3CqGyprL2qdF6QZqoqlx8lA3qOJepobjuKKDRw+KgGxjUY4NvWe0R2MdRoduyaDj6uvhIay0S1MOSJQ== + dependencies: + "@aws-sdk/util-base64-browser" "3.109.0" + tslib "^2.3.1" + +"@aws-sdk/chunked-blob-reader@3.55.0": + version "3.55.0" + resolved "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.55.0.tgz" + integrity sha512-o/xjMCq81opAjSBjt7YdHJwIJcGVG5XIV9+C2KXcY5QwVimkOKPybWTv0mXPvSwSilSx+EhpLNhkcJuXdzhw4w== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/client-s3@^3.137.0": + version "3.137.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.137.0.tgz" + integrity sha512-WFOBywwV7ECAOkSOLecpPOGbgmYV5NxHzXHTJEio6xR6s2KzoLegJa0/mq5ljh0Zl5t2h5bsKT1CxYRC0sfwWw== + dependencies: + "@aws-crypto/sha1-browser" "2.0.0" + "@aws-crypto/sha256-browser" "2.0.0" + "@aws-crypto/sha256-js" "2.0.0" + "@aws-sdk/client-sts" "3.137.0" + "@aws-sdk/config-resolver" "3.130.0" + "@aws-sdk/credential-provider-node" "3.137.0" + "@aws-sdk/eventstream-serde-browser" "3.127.0" + "@aws-sdk/eventstream-serde-config-resolver" "3.127.0" + "@aws-sdk/eventstream-serde-node" "3.127.0" + "@aws-sdk/fetch-http-handler" "3.131.0" + "@aws-sdk/hash-blob-browser" "3.127.0" + "@aws-sdk/hash-node" "3.127.0" + "@aws-sdk/hash-stream-node" "3.127.0" + "@aws-sdk/invalid-dependency" "3.127.0" + "@aws-sdk/md5-js" "3.127.0" + "@aws-sdk/middleware-bucket-endpoint" "3.127.0" + "@aws-sdk/middleware-content-length" "3.127.0" + "@aws-sdk/middleware-expect-continue" "3.127.0" + "@aws-sdk/middleware-flexible-checksums" "3.127.0" + "@aws-sdk/middleware-host-header" "3.127.0" + "@aws-sdk/middleware-location-constraint" "3.127.0" + "@aws-sdk/middleware-logger" "3.127.0" + "@aws-sdk/middleware-recursion-detection" "3.127.0" + "@aws-sdk/middleware-retry" "3.127.0" + "@aws-sdk/middleware-sdk-s3" "3.127.0" + "@aws-sdk/middleware-serde" "3.127.0" + "@aws-sdk/middleware-signing" "3.130.0" + "@aws-sdk/middleware-ssec" "3.127.0" + "@aws-sdk/middleware-stack" "3.127.0" + "@aws-sdk/middleware-user-agent" "3.127.0" + "@aws-sdk/node-config-provider" "3.127.0" + "@aws-sdk/node-http-handler" "3.127.0" + "@aws-sdk/protocol-http" "3.127.0" + "@aws-sdk/signature-v4-multi-region" "3.130.0" + "@aws-sdk/smithy-client" "3.137.0" + "@aws-sdk/types" "3.127.0" + "@aws-sdk/url-parser" "3.127.0" + "@aws-sdk/util-base64-browser" "3.109.0" + "@aws-sdk/util-base64-node" "3.55.0" + "@aws-sdk/util-body-length-browser" "3.55.0" + "@aws-sdk/util-body-length-node" "3.55.0" + "@aws-sdk/util-defaults-mode-browser" "3.137.0" + "@aws-sdk/util-defaults-mode-node" "3.137.0" + "@aws-sdk/util-stream-browser" "3.131.0" + "@aws-sdk/util-stream-node" "3.129.0" + "@aws-sdk/util-user-agent-browser" "3.127.0" + "@aws-sdk/util-user-agent-node" "3.127.0" + "@aws-sdk/util-utf8-browser" "3.109.0" + "@aws-sdk/util-utf8-node" "3.109.0" + "@aws-sdk/util-waiter" "3.127.0" + "@aws-sdk/xml-builder" "3.109.0" + entities "2.2.0" + fast-xml-parser "3.19.0" + tslib "^2.3.1" + +"@aws-sdk/client-sso@3.137.0": + version "3.137.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.137.0.tgz" + integrity sha512-l9y9usMuXGI+o1c/VO2qMccN0Bm0T5bFmmbRljB6kIzbJYXD/wVqR8GMZwSnFnz52cnURQ4pgqM1ETg54FlBYQ== + dependencies: + "@aws-crypto/sha256-browser" "2.0.0" + "@aws-crypto/sha256-js" "2.0.0" + "@aws-sdk/config-resolver" "3.130.0" + "@aws-sdk/fetch-http-handler" "3.131.0" + "@aws-sdk/hash-node" "3.127.0" + "@aws-sdk/invalid-dependency" "3.127.0" + "@aws-sdk/middleware-content-length" "3.127.0" + "@aws-sdk/middleware-host-header" "3.127.0" + "@aws-sdk/middleware-logger" "3.127.0" + "@aws-sdk/middleware-recursion-detection" "3.127.0" + "@aws-sdk/middleware-retry" "3.127.0" + "@aws-sdk/middleware-serde" "3.127.0" + "@aws-sdk/middleware-stack" "3.127.0" + "@aws-sdk/middleware-user-agent" "3.127.0" + "@aws-sdk/node-config-provider" "3.127.0" + "@aws-sdk/node-http-handler" "3.127.0" + "@aws-sdk/protocol-http" "3.127.0" + "@aws-sdk/smithy-client" "3.137.0" + "@aws-sdk/types" "3.127.0" + "@aws-sdk/url-parser" "3.127.0" + "@aws-sdk/util-base64-browser" "3.109.0" + "@aws-sdk/util-base64-node" "3.55.0" + "@aws-sdk/util-body-length-browser" "3.55.0" + "@aws-sdk/util-body-length-node" "3.55.0" + "@aws-sdk/util-defaults-mode-browser" "3.137.0" + "@aws-sdk/util-defaults-mode-node" "3.137.0" + "@aws-sdk/util-user-agent-browser" "3.127.0" + "@aws-sdk/util-user-agent-node" "3.127.0" + "@aws-sdk/util-utf8-browser" "3.109.0" + "@aws-sdk/util-utf8-node" "3.109.0" + tslib "^2.3.1" + +"@aws-sdk/client-sts@3.137.0": + version "3.137.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.137.0.tgz" + integrity sha512-yJqfkEq0DG9Ds+oif/sc02PX6vfSNcyRe3YcaW5P6ouMyhJRljSIVCnA6iPwJaTsmK9BE9PDgFD2v/GYM/XgOA== + dependencies: + "@aws-crypto/sha256-browser" "2.0.0" + "@aws-crypto/sha256-js" "2.0.0" + "@aws-sdk/config-resolver" "3.130.0" + "@aws-sdk/credential-provider-node" "3.137.0" + "@aws-sdk/fetch-http-handler" "3.131.0" + "@aws-sdk/hash-node" "3.127.0" + "@aws-sdk/invalid-dependency" "3.127.0" + "@aws-sdk/middleware-content-length" "3.127.0" + "@aws-sdk/middleware-host-header" "3.127.0" + "@aws-sdk/middleware-logger" "3.127.0" + "@aws-sdk/middleware-recursion-detection" "3.127.0" + "@aws-sdk/middleware-retry" "3.127.0" + "@aws-sdk/middleware-sdk-sts" "3.130.0" + "@aws-sdk/middleware-serde" "3.127.0" + "@aws-sdk/middleware-signing" "3.130.0" + "@aws-sdk/middleware-stack" "3.127.0" + "@aws-sdk/middleware-user-agent" "3.127.0" + "@aws-sdk/node-config-provider" "3.127.0" + "@aws-sdk/node-http-handler" "3.127.0" + "@aws-sdk/protocol-http" "3.127.0" + "@aws-sdk/smithy-client" "3.137.0" + "@aws-sdk/types" "3.127.0" + "@aws-sdk/url-parser" "3.127.0" + "@aws-sdk/util-base64-browser" "3.109.0" + "@aws-sdk/util-base64-node" "3.55.0" + "@aws-sdk/util-body-length-browser" "3.55.0" + "@aws-sdk/util-body-length-node" "3.55.0" + "@aws-sdk/util-defaults-mode-browser" "3.137.0" + "@aws-sdk/util-defaults-mode-node" "3.137.0" + "@aws-sdk/util-user-agent-browser" "3.127.0" + "@aws-sdk/util-user-agent-node" "3.127.0" + "@aws-sdk/util-utf8-browser" "3.109.0" + "@aws-sdk/util-utf8-node" "3.109.0" + entities "2.2.0" + fast-xml-parser "3.19.0" + tslib "^2.3.1" + +"@aws-sdk/config-resolver@3.130.0": + version "3.130.0" + resolved "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.130.0.tgz" + integrity sha512-7dkCHHI9kRcHW6YNr9/2Ub6XkvU9Fu6H/BnlKbaKlDR8jq7QpaFhPhctOVi5D/NDpxJgALifexFne0dvo3piTw== + dependencies: + "@aws-sdk/signature-v4" "3.130.0" + "@aws-sdk/types" "3.127.0" + "@aws-sdk/util-config-provider" "3.109.0" + "@aws-sdk/util-middleware" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-env@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.127.0.tgz" + integrity sha512-Ig7XhUikRBlnRTYT5JBGzWfYZp68X5vkFVIFCmsHHt/qVy0Nz9raZpmDHicdS1u67yxDkWgCPn/bNevWnM0GFg== + dependencies: + "@aws-sdk/property-provider" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-imds@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.127.0.tgz" + integrity sha512-I6KlIBBzmJn/U1KikiC50PK3SspT9G5lkVLBaW5a6YfOcijqVTXfAN3kYzqhfeS0j4IgfJEwKVsjsZfmprJO5A== + dependencies: + "@aws-sdk/node-config-provider" "3.127.0" + "@aws-sdk/property-provider" "3.127.0" + "@aws-sdk/types" "3.127.0" + "@aws-sdk/url-parser" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-ini@3.137.0": + version "3.137.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.137.0.tgz" + integrity sha512-FNSYjHaW83b4sQac+EWh/C6p1taBdvPOXFAVml1mPH49Nlkv9/E4bbjaWwgxvlxjqjNCbkDMKzhb19DN3gVulA== + dependencies: + "@aws-sdk/credential-provider-env" "3.127.0" + "@aws-sdk/credential-provider-imds" "3.127.0" + "@aws-sdk/credential-provider-sso" "3.137.0" + "@aws-sdk/credential-provider-web-identity" "3.127.0" + "@aws-sdk/property-provider" "3.127.0" + "@aws-sdk/shared-ini-file-loader" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-node@3.137.0": + version "3.137.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.137.0.tgz" + integrity sha512-if4CzNSyPS3ZERLtDocNNC+l5ejK93d2hoOzNHP2qCmTppThEPWF2TH506ez0v0lbUzeI7qWgpYe9m4+BFLEwQ== + dependencies: + "@aws-sdk/credential-provider-env" "3.127.0" + "@aws-sdk/credential-provider-imds" "3.127.0" + "@aws-sdk/credential-provider-ini" "3.137.0" + "@aws-sdk/credential-provider-process" "3.127.0" + "@aws-sdk/credential-provider-sso" "3.137.0" + "@aws-sdk/credential-provider-web-identity" "3.127.0" + "@aws-sdk/property-provider" "3.127.0" + "@aws-sdk/shared-ini-file-loader" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-process@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.127.0.tgz" + integrity sha512-6v0m2lqkO9J5fNlTl+HjriQNIdfg8mjVST544+5y9EnC/FVmTnIz64vfHveWdNkP/fehFx7wTimNENtoSqCn3A== + dependencies: + "@aws-sdk/property-provider" "3.127.0" + "@aws-sdk/shared-ini-file-loader" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-sso@3.137.0": + version "3.137.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.137.0.tgz" + integrity sha512-Up2Q3tWSo6Mv2icXMrHa8dGtnC9yQAeUnftrIlvLXi3P9RjxlOPZCSg1NF8FOS90RdEgORlj/7LPlIniHgGUmg== + dependencies: + "@aws-sdk/client-sso" "3.137.0" + "@aws-sdk/property-provider" "3.127.0" + "@aws-sdk/shared-ini-file-loader" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-web-identity@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.127.0.tgz" + integrity sha512-85ahDZnLYB3dqkW+cQ0bWt+NVqOoxomTrJoq3IC2q6muebeFrJ0pyf0JEW/RNRzBiUvvsZujzGdWifzWyQKfVg== + dependencies: + "@aws-sdk/property-provider" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/eventstream-codec@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.127.0.tgz" + integrity sha512-+Tlujx3VkB4DK8tYzG0rwxIE0ee6hWItQgSEREEmi5CwHQFw7VpRLYAShYabEx9wIJmRFObWzhlKxWNRi+TfaA== + dependencies: + "@aws-crypto/crc32" "2.0.0" + "@aws-sdk/types" "3.127.0" + "@aws-sdk/util-hex-encoding" "3.109.0" + tslib "^2.3.1" + +"@aws-sdk/eventstream-serde-browser@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.127.0.tgz" + integrity sha512-d1rTK4ljEp3Y/BQ78/AJ7eqgGyI6TE0bxNosCmXWcUBv00Tr5cerPqPe7Zvw8XwIMPX5y8cjtd1/cOtB2ePaBw== + dependencies: + "@aws-sdk/eventstream-serde-universal" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/eventstream-serde-config-resolver@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.127.0.tgz" + integrity sha512-dYvLfQYcKLOFtZVgwLwKDCykAxNkDyDLQRWytJK9DHCyjRig66IKi1codts9vOy4j0CeYwnXWs5WDavrUaE05g== + dependencies: + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/eventstream-serde-node@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.127.0.tgz" + integrity sha512-Ie59jZYAIw3Kt6GePvEilp1k3JoYEQpY3WIyVZltm3dkVf0GmzhCZrPROH9vgF3qApzu1aGOWDV2wX91poXF8A== + dependencies: + "@aws-sdk/eventstream-serde-universal" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/eventstream-serde-universal@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.127.0.tgz" + integrity sha512-cJLSTtYDGTevknMTykzHpcDNRbD6yGve8FBUKSAczuNVjXZOedj0GbHJqkASuLj0ZnojbKBdCx4uu1XGyvubng== + dependencies: + "@aws-sdk/eventstream-codec" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/fetch-http-handler@3.131.0": + version "3.131.0" + resolved "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.131.0.tgz" + integrity sha512-eNxmPZQX2IUeBGWHNC7eNTekWn9VIPLYEMKJbKYUBJryxuTJ7TtLeyEK5oakUjMwP1AUvWT+CV7C+8L7uG1omQ== + dependencies: + "@aws-sdk/protocol-http" "3.127.0" + "@aws-sdk/querystring-builder" "3.127.0" + "@aws-sdk/types" "3.127.0" + "@aws-sdk/util-base64-browser" "3.109.0" + tslib "^2.3.1" + +"@aws-sdk/hash-blob-browser@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.127.0.tgz" + integrity sha512-XH9s2w6GXCtDI+3/y+sDAzMWJRTvhRXJJtI1fVDsCiyq96SYUTNKLLaUSuR01uawEBiRDBqGDDPMT8qJPDXc/w== + dependencies: + "@aws-sdk/chunked-blob-reader" "3.55.0" + "@aws-sdk/chunked-blob-reader-native" "3.109.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/hash-node@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.127.0.tgz" + integrity sha512-wx7DKlXdKebH4JcMsOevdsm2oDNMVm36kuMm0XWRIrFWQ/oq7OquDpEMJzWvGqWF/IfFUpb7FhAWZZpALwlcwA== + dependencies: + "@aws-sdk/types" "3.127.0" + "@aws-sdk/util-buffer-from" "3.55.0" + tslib "^2.3.1" + +"@aws-sdk/hash-stream-node@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.127.0.tgz" + integrity sha512-ZCNqi+FJViYFCo8JfSx+YK0Hd/SC555gHqBe24GVBMCDqJ8UFIled7tF+GOQ8wTcKjxuwp/0EXDTXoaAb0K89g== + dependencies: + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/invalid-dependency@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.127.0.tgz" + integrity sha512-bxvmtmJ6gIRfOHvh1jAPZBH2mzppEblPjEOFo4mOzXz4U3qPIxeuukCjboMnGK9QEpV2wObWcYYld0vxoRrfiA== + dependencies: + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/is-array-buffer@3.55.0": + version "3.55.0" + resolved "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.55.0.tgz" + integrity sha512-NbiPHVYuPxdqdFd6FxzzN3H1BQn/iWA3ri3Ry7AyLeP/tGs1yzEWMwf8BN8TSMALI0GXT6Sh0GDWy3Ok5xB6DA== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/md5-js@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.127.0.tgz" + integrity sha512-9FzD++p2bvfZ56hbDxvGcLlA9JIMt9uZB/m4NEvbuvrpx1qnUpFv6HqthhGaVuhctkK25hONT5ZpOYHSisATrA== + dependencies: + "@aws-sdk/types" "3.127.0" + "@aws-sdk/util-utf8-browser" "3.109.0" + "@aws-sdk/util-utf8-node" "3.109.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-bucket-endpoint@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.127.0.tgz" + integrity sha512-wJpXxWceBDhWktoxrRb4s6tMx0dWsEGYIaV0KkQPGhTPk2KMUgwa4xApfCXXVfYcE3THk486OKwHhPrR5jpe+g== + dependencies: + "@aws-sdk/protocol-http" "3.127.0" + "@aws-sdk/types" "3.127.0" + "@aws-sdk/util-arn-parser" "3.55.0" + "@aws-sdk/util-config-provider" "3.109.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-content-length@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.127.0.tgz" + integrity sha512-AFmMaIEW3Rzg0TaKB9l/RENLowd7ZEEOpm0trYw1CgUUORWW/ydCsDT7pekPlC25CPbhUmWXCSA4xPFSYOVnDw== + dependencies: + "@aws-sdk/protocol-http" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-expect-continue@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.127.0.tgz" + integrity sha512-+X7mdgFqt9UqUDeGuMt+afR8CBX9nMecTxEIilAKdVOLx+fuXzHnC2mpddKMtiE9IGKMU4BI1Ahf7t32Odhs1Q== + dependencies: + "@aws-sdk/protocol-http" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-flexible-checksums@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.127.0.tgz" + integrity sha512-sXkAwhE9dikO72sEJ7DrUCo5mawauAxICCqipCCSGp0geSkptvtZHhySgJNMVSbUJQmu5bcS+zsFpFVwuJvGxg== + dependencies: + "@aws-crypto/crc32" "2.0.0" + "@aws-crypto/crc32c" "2.0.0" + "@aws-sdk/is-array-buffer" "3.55.0" + "@aws-sdk/protocol-http" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-host-header@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.127.0.tgz" + integrity sha512-e2gTLJb5lYP9lRV7hN3rKY2l4jv8OygOoHElZJ3Z8KPZskjHelYPcQ8XbdfhSXXxC3vc/0QqN0ResFt3W3Pplg== + dependencies: + "@aws-sdk/protocol-http" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-location-constraint@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.127.0.tgz" + integrity sha512-UtPmbOKEVu+Ue7CwICFSOOOSePV8Piydco/v2IpdRkMO0e4bqQ3Tn0XprBlWWfSW4QCtAPzydrArLsUdk636GA== + dependencies: + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-logger@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.127.0.tgz" + integrity sha512-jMNLcZB/ECA7OfkNBLNeAlrLRehyfnUeNQJHW3kcxs9h1+6VxaF6wY+WKozszLI7/3OBzQrFHBQCfRZV7ykSLg== + dependencies: + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-recursion-detection@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.127.0.tgz" + integrity sha512-tB6WX+Z1kUKTnn5h38XFrTCzoqPKjUZLUjN4Wb27/cbeSiTSKGAZcCXHOJm36Ukorl5arlybQTqGe689EU00Hw== + dependencies: + "@aws-sdk/protocol-http" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-retry@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.127.0.tgz" + integrity sha512-ZSvg/AyGUacWnf3i8ZbyImtiCH+NyafF8uV7bITP7JkwPrG+VdNocJZOr88GRM0c1A0jfkOf7+oq+fInPwwiNA== + dependencies: + "@aws-sdk/protocol-http" "3.127.0" + "@aws-sdk/service-error-classification" "3.127.0" + "@aws-sdk/types" "3.127.0" + "@aws-sdk/util-middleware" "3.127.0" + tslib "^2.3.1" + uuid "^8.3.2" + +"@aws-sdk/middleware-sdk-s3@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.127.0.tgz" + integrity sha512-q1mkEN7kYYdQ3LOHIhaT56omYe8DCubyiCKOXuEo5ZiIkE5iq06K/BxWxj3f8bFZxSX80Ma1m8XA5jcOEMphSA== + dependencies: + "@aws-sdk/middleware-bucket-endpoint" "3.127.0" + "@aws-sdk/protocol-http" "3.127.0" + "@aws-sdk/types" "3.127.0" + "@aws-sdk/util-arn-parser" "3.55.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-sdk-sts@3.130.0": + version "3.130.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.130.0.tgz" + integrity sha512-FDfs7+ohbhEK3eH3Dshr6JDiL8P72bp3ffeNpPBXuURFqwt4pCmjHuX3SqQR0JIJ2cl3aIdxc17rKaZJfOjtPw== + dependencies: + "@aws-sdk/middleware-signing" "3.130.0" + "@aws-sdk/property-provider" "3.127.0" + "@aws-sdk/protocol-http" "3.127.0" + "@aws-sdk/signature-v4" "3.130.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-serde@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.127.0.tgz" + integrity sha512-xmWMYV/t9M+b9yHjqaD1noDNJJViI2QwOH7TQZ9VbbrvdVtDrFuS9Sf9He80TBCJqeHShwQN9783W1I3Pu/8kw== + dependencies: + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-signing@3.130.0": + version "3.130.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.130.0.tgz" + integrity sha512-JePq5XLR9TfRN3RQ0d7Za/bEW5D3xgtD1FNAwHeenWALeozMuQgRPjM5RroCnL/5jY3wuvCZI7cSXeqhawWqmA== + dependencies: + "@aws-sdk/property-provider" "3.127.0" + "@aws-sdk/protocol-http" "3.127.0" + "@aws-sdk/signature-v4" "3.130.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-ssec@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.127.0.tgz" + integrity sha512-R5A13EvdYPdYD2Tq9eW5jqIdscyZlQykQXFEolBD2oi4pew7TZpc/5aazZC0zo9YKJ29qiUR1P4NvjcFJ7zFBg== + dependencies: + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-stack@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.127.0.tgz" + integrity sha512-S1IoUE5o1vCmjsF5nIE8zlItNOM1UE+lhmZeigF7knXJ9+a6ewMB6POAj/s4eoi0wcn0eSnAGsqJCWMSUjOPLA== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/middleware-user-agent@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.127.0.tgz" + integrity sha512-CHxgswoOzdkOEoIq7Oyob3Sx/4FYUv6BhUesAX7MNshaDDsTQPbSWjw5bqZDiL/gO+X/34fvqCVVpVD2GvxW/g== + dependencies: + "@aws-sdk/protocol-http" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/node-config-provider@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.127.0.tgz" + integrity sha512-bAHkASMhLZHT1yv2TX6OJGFV9Lc3t1gKfTMEKdXM2O2YhGfSx9A/qLeJm79oDfnILWQtSS2NicxlRDI2lYGf4g== + dependencies: + "@aws-sdk/property-provider" "3.127.0" + "@aws-sdk/shared-ini-file-loader" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/node-http-handler@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.127.0.tgz" + integrity sha512-pyMKvheK8eDwWLgYIRsWy8wiyhsbYYcqkZQs3Eh6upI4E8iCY7eMmhWvHYCibvsO+UjsOwa4cAMOfwnv/Z9s8A== + dependencies: + "@aws-sdk/abort-controller" "3.127.0" + "@aws-sdk/protocol-http" "3.127.0" + "@aws-sdk/querystring-builder" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/property-provider@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.127.0.tgz" + integrity sha512-JxenxlTEkWfLrtJqIjaXaJzAVQbbscoCb5bNjmdud07ESLVfWRKJx2nAJdecHKYp2M5NQyqBuFhQ1ELSFYQKCA== + dependencies: + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/protocol-http@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.127.0.tgz" + integrity sha512-UG83PVuKX40wilG2uRU0Fvz4OY8Bt+bSPOG776DFjwIXYzK7BwpJm9H2XI2HLhS5WxrJHhwrLBRgW6UiykMnFw== + dependencies: + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/querystring-builder@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.127.0.tgz" + integrity sha512-tsoyp4lLPsASPDYWsezGAHD8VJsZbjUNATNAzTCFdH6p+4SKBK83Q5kfXCzxt13M+l3oKbxxIWLvS0kVQFyltQ== + dependencies: + "@aws-sdk/types" "3.127.0" + "@aws-sdk/util-uri-escape" "3.55.0" + tslib "^2.3.1" + +"@aws-sdk/querystring-parser@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.127.0.tgz" + integrity sha512-Vn/Dv+PqUSepp/DzLqq0LJJD8HdPefJCnLbO5WcHCARHSGlyGlZUFEM45k/oEHpTvgMXj/ORaP3A+tLwLu0AmA== + dependencies: + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/service-error-classification@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.127.0.tgz" + integrity sha512-wjZY9rnlA8SPrICUumTYicEKtK4/yKB62iadUk66hxe8MrH8JhuHH2NqIad0Pt/bK/YtNVhd3yb4pRapOeY5qQ== + +"@aws-sdk/shared-ini-file-loader@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.127.0.tgz" + integrity sha512-S3Nn4KRTqoJsB/TbRZSWBBUrkckNMR0Juqz7bOB+wupVvddKP6IcpspSC/GX9zgJjVMV8iGisZ6AUsYsC5r+cA== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/signature-v4-multi-region@3.130.0": + version "3.130.0" + resolved "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.130.0.tgz" + integrity sha512-ZRRoPRoCVdkGDtjuog81pqHsSLfnXK6ELrWm4Dq8xdcHQGbEDNdYmeXARXG9yPAO42x9yIJXHNutMz5Y/P64cw== + dependencies: + "@aws-sdk/protocol-http" "3.127.0" + "@aws-sdk/signature-v4" "3.130.0" + "@aws-sdk/types" "3.127.0" + "@aws-sdk/util-arn-parser" "3.55.0" + tslib "^2.3.1" + +"@aws-sdk/signature-v4@3.130.0": + version "3.130.0" + resolved "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.130.0.tgz" + integrity sha512-g5G1a1NHL2uOoFfC2zQdZcj+wbjgBQPkx6xGdtqNKf9v2kS0n6ap5JUGEaqWE02lUlmWHsoMsS73hXtzwXaBRQ== + dependencies: + "@aws-sdk/is-array-buffer" "3.55.0" + "@aws-sdk/types" "3.127.0" + "@aws-sdk/util-hex-encoding" "3.109.0" + "@aws-sdk/util-middleware" "3.127.0" + "@aws-sdk/util-uri-escape" "3.55.0" + tslib "^2.3.1" + +"@aws-sdk/smithy-client@3.137.0": + version "3.137.0" + resolved "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.137.0.tgz" + integrity sha512-YAuWiSzHJGV9jQCjmcBWxbWRoq/3INEpdtfAdpR+X+sEZaRJESDGPt4or7WbQ9Tmbd/uZ0uQLYIed/NDSyJLLQ== + dependencies: + "@aws-sdk/middleware-stack" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/types@3.127.0", "@aws-sdk/types@^3.1.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/types/-/types-3.127.0.tgz" + integrity sha512-e0wtx2IkOl7rwfKfLH5pPTzQ+d45V7b1WrjeL0WDI8kOu6w+sXmhNxI6uM2kf0k4NiTLN84lW290AEWupey9Og== + +"@aws-sdk/url-parser@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.127.0.tgz" + integrity sha512-njZ7zn41JHRpNfr3BCesVXCLZE0zcWSfEdtRV0ICw0cU1FgYcKELSuY9+gLUB4ci6uc7gq7mPE8+w30FcM4QeA== + dependencies: + "@aws-sdk/querystring-parser" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/util-arn-parser@3.55.0": + version "3.55.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.55.0.tgz" + integrity sha512-76KJxp4MRWufHYWys7DFl64znr5yeJ3AIQNAPCKKw1sP0hzO7p6Kx0PaJnw9x+CPSzOrT4NbuApL6/srYhKDGg== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-base64-browser@3.109.0": + version "3.109.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.109.0.tgz" + integrity sha512-lAZ6fyDGiRLaIsKT9qh7P9FGuNyZ4gAbr1YOSQk/5mHtaTuUvxlPptZuInNM/0MPQm6lpcot00D8IWTucn4PbA== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-base64-node@3.55.0": + version "3.55.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.55.0.tgz" + integrity sha512-UQ/ZuNoAc8CFMpSiRYmevaTsuRKzLwulZTnM8LNlIt9Wx1tpNvqp80cfvVj7yySKROtEi20wq29h31dZf1eYNQ== + dependencies: + "@aws-sdk/util-buffer-from" "3.55.0" + tslib "^2.3.1" + +"@aws-sdk/util-body-length-browser@3.55.0": + version "3.55.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.55.0.tgz" + integrity sha512-Ei2OCzXQw5N6ZkTMZbamUzc1z+z1R1Ja5tMEagz5BxuX4vWdBObT+uGlSzL8yvTbjoPjnxWA2aXyEqaUP3JS8Q== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-body-length-node@3.55.0": + version "3.55.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.55.0.tgz" + integrity sha512-lU1d4I+9wJwydduXs0SxSfd+mHKjxeyd39VwOv6i2KSwWkPbji9UQqpflKLKw+r45jL7+xU/zfeTUg5Tt/3Gew== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-buffer-from@3.55.0": + version "3.55.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.55.0.tgz" + integrity sha512-uVzKG1UgvnV7XX2FPTylBujYMKBPBaq/qFBxfl0LVNfrty7YjpfieQxAe6yRLD+T0Kir/WDQwGvYC+tOYG3IGA== + dependencies: + "@aws-sdk/is-array-buffer" "3.55.0" + tslib "^2.3.1" + +"@aws-sdk/util-config-provider@3.109.0": + version "3.109.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.109.0.tgz" + integrity sha512-GrAZl/aBv0A28LkyNyq8SPJ5fmViCwz80fWLMeWx/6q5AbivuILogjlWwEZSvZ9zrlHOcFC0+AnCa5pQrjaslw== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-defaults-mode-browser@3.137.0": + version "3.137.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.137.0.tgz" + integrity sha512-9f5045wqPAcGLKIAXzZKHE2n42ilGo/g4rLSS09OXx9CoFT4lVdqZPqBqh/prDUMrqXge9FK3EH2VId7L5GpEQ== + dependencies: + "@aws-sdk/property-provider" "3.127.0" + "@aws-sdk/types" "3.127.0" + bowser "^2.11.0" + tslib "^2.3.1" + +"@aws-sdk/util-defaults-mode-node@3.137.0": + version "3.137.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.137.0.tgz" + integrity sha512-CvMpemcsOkoMEz0iALamyQBt1rHx98NvF/cay019F8m+umD03I8CclDugy/13DqESWfsVxn91lZY/DOnO+si7A== + dependencies: + "@aws-sdk/config-resolver" "3.130.0" + "@aws-sdk/credential-provider-imds" "3.127.0" + "@aws-sdk/node-config-provider" "3.127.0" + "@aws-sdk/property-provider" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/util-hex-encoding@3.109.0": + version "3.109.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.109.0.tgz" + integrity sha512-s8CgTNrn3cLkrdiohfxLuOYPCanzvHn/aH5RW6DaMoeQiG5Hl9QUiP/WtdQ9QQx3xvpQFpmvxIaSBwSgFNLQxA== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-locate-window@^3.0.0": + version "3.55.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.55.0.tgz" + integrity sha512-0sPmK2JaJE2BbTcnvybzob/VrFKCXKfN4CUKcvn0yGg/me7Bz+vtzQRB3Xp+YSx+7OtWxzv63wsvHoAnXvgxgg== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-middleware@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.127.0.tgz" + integrity sha512-EwAPPed9TNqh+Wov2VStLn2NuJ/Wyt7IkZCbCsBuSNp3BFZ1V4gfwTjqtKCtB2LQgQ48MTgWgNCvrH0zjCSPGg== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-stream-browser@3.131.0": + version "3.131.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.131.0.tgz" + integrity sha512-1YFbBPDu+elIgp8z1woUfT7zM+2PAvgJiw6ljDBuAlJzsP5xMhwk0X9e+8aQ+Qe4XftA0e7y/PH0gqvjNgCx2A== + dependencies: + "@aws-sdk/fetch-http-handler" "3.131.0" + "@aws-sdk/types" "3.127.0" + "@aws-sdk/util-base64-browser" "3.109.0" + "@aws-sdk/util-hex-encoding" "3.109.0" + "@aws-sdk/util-utf8-browser" "3.109.0" + tslib "^2.3.1" + +"@aws-sdk/util-stream-node@3.129.0": + version "3.129.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.129.0.tgz" + integrity sha512-1iWqsWvVXyP4JLPPPs8tBZKyzs7D5e7KctXuCtIjI+cnGOCeVLL+X4L/7KDZfV7sI2D6vONtIoTnUjMl5V/kEg== + dependencies: + "@aws-sdk/node-http-handler" "3.127.0" + "@aws-sdk/types" "3.127.0" + "@aws-sdk/util-buffer-from" "3.55.0" + tslib "^2.3.1" + +"@aws-sdk/util-uri-escape@3.55.0": + version "3.55.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.55.0.tgz" + integrity sha512-mmdDLUpFCN2nkfwlLdOM54lTD528GiGSPN1qb8XtGLgZsJUmg3uJSFIN2lPeSbEwJB3NFjVas/rnQC48i7mV8w== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-user-agent-browser@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.127.0.tgz" + integrity sha512-uO2oHmJswuYKJS+GiMdYI8izhpC9M7/jFFvnAmLlTEVwpEi1VX9KePAOF+u5AaBC2kzITo/7dg141XfRHZloIQ== + dependencies: + "@aws-sdk/types" "3.127.0" + bowser "^2.11.0" + tslib "^2.3.1" + +"@aws-sdk/util-user-agent-node@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.127.0.tgz" + integrity sha512-3P/M4ZDD2qMeeoCk7TE/Mw7cG5IjB87F6BP8nI8/oHuaz7j6fsI7D49SNpyjl8JApRynZ122Ad6hwQwRj3isYw== + dependencies: + "@aws-sdk/node-config-provider" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/util-utf8-browser@3.109.0", "@aws-sdk/util-utf8-browser@^3.0.0": + version "3.109.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.109.0.tgz" + integrity sha512-FmcGSz0v7Bqpl1SE8G1Gc0CtDpug+rvqNCG/szn86JApD/f5x8oByjbEiAyTU2ZH2VevUntx6EW68ulHyH+x+w== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-utf8-node@3.109.0": + version "3.109.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.109.0.tgz" + integrity sha512-Ti/ZBdvz2eSTElsucjzNmzpyg2MwfD1rXmxD0hZuIF8bPON/0+sZYnWd5CbDw9kgmhy28dmKue086tbZ1G0iLQ== + dependencies: + "@aws-sdk/util-buffer-from" "3.55.0" + tslib "^2.3.1" + +"@aws-sdk/util-waiter@3.127.0": + version "3.127.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.127.0.tgz" + integrity sha512-E5qrRpBJS8dmClqSDW1pWVMKzCG/mxabG6jVUtlW/WLHnl/znxGaOQc6tnnwKik0nEq/4DpT9fEfPUz9JiLrkw== + dependencies: + "@aws-sdk/abort-controller" "3.127.0" + "@aws-sdk/types" "3.127.0" + tslib "^2.3.1" + +"@aws-sdk/xml-builder@3.109.0": + version "3.109.0" + resolved "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.109.0.tgz" + integrity sha512-+aAXynnrqya1Eukz4Gxch4xIXCZolIMWGD4Ll/Q5yXT5uAjGh2HQWd9J0LWE+gYChpWetZbAVYZ3cEJ6F+SpZA== + dependencies: + tslib "^2.3.1" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.18.8": + version "7.18.8" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz" + integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== + +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.18.9.tgz" + integrity sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.18.9" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-module-transforms" "^7.18.9" + "@babel/helpers" "^7.18.9" + "@babel/parser" "^7.18.9" + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/generator@^7.18.9", "@babel/generator@^7.7.2": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz" + integrity sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug== + dependencies: + "@babel/types" "^7.18.9" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" + integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.6.tgz" + integrity sha512-KT10c1oWEpmrIRYnthbzHgoOf6B+Xd6a5yhdbNtdhtG7aO1or5HViuf1TQR36xY/QprXA5nvxO6nAjhJ4y38jw== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.18.6" + "@babel/types" "^7.18.6" + +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz" + integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg== + dependencies: + "@babel/compat-data" "^7.18.8" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.20.2" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.6.tgz" + integrity sha512-YfDzdnoxHGV8CzqHGyCbFvXg5QESPFkXlHtvdCkesLjjVMT2Adxe4FGUR5ChIb3DxSaXO12iIOCWoXdsUVwnqw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.6" + "@babel/helper-function-name" "^7.18.6" + "@babel/helper-member-expression-to-functions" "^7.18.6" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + +"@babel/helper-create-regexp-features-plugin@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz" + integrity sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + regexpu-core "^5.1.0" + +"@babel/helper-define-polyfill-provider@^0.3.1": + version "0.3.1" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz" + integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== + dependencies: + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/traverse" "^7.13.0" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-environment-visitor@^7.18.6", "@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + +"@babel/helper-explode-assignable-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz" + integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-function-name@^7.18.6", "@babel/helper-function-name@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz" + integrity sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A== + dependencies: + "@babel/template" "^7.18.6" + "@babel/types" "^7.18.9" + +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-member-expression-to-functions@^7.18.6", "@babel/helper-member-expression-to-functions@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz" + integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg== + dependencies: + "@babel/types" "^7.18.9" + +"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz" + integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.18.6" + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" + +"@babel/helper-optimise-call-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz" + integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz" + integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w== + +"@babel/helper-remap-async-to-generator@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.6.tgz" + integrity sha512-z5wbmV55TveUPZlCLZvxWHtrjuJd+8inFhk7DG0WW87/oJuGDcjDiu7HIvGcpf5464L6xKCg3vNkmlVVz9hwyQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.6" + "@babel/helper-wrap-function" "^7.18.6" + "@babel/types" "^7.18.6" + +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz" + integrity sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.18.9" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" + +"@babel/helper-simple-access@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz" + integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-skip-transparent-expression-wrappers@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz" + integrity sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw== + dependencies: + "@babel/types" "^7.18.9" + +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-validator-identifier@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz" + integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== + +"@babel/helper-validator-option@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" + integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== + +"@babel/helper-wrap-function@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.6.tgz" + integrity sha512-I5/LZfozwMNbwr/b1vhhuYD+J/mU+gfGAj5td7l5Rv9WYmH6i3Om69WGKNmlIpsVW/mF6O5bvTKbvDQZVgjqOw== + dependencies: + "@babel/helper-function-name" "^7.18.6" + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.6" + "@babel/types" "^7.18.6" + +"@babel/helpers@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz" + integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ== + dependencies: + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" + +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.6", "@babel/parser@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz" + integrity sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz" + integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz" + integrity sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" + +"@babel/plugin-proposal-async-generator-functions@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz" + integrity sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w== + dependencies: + "@babel/helper-environment-visitor" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-remap-async-to-generator" "^7.18.6" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-class-static-block@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz" + integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-proposal-dynamic-import@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz" + integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz" + integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz" + integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz" + integrity sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" + integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz" + integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz" + integrity sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q== + dependencies: + "@babel/compat-data" "^7.18.8" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.18.8" + +"@babel/plugin-proposal-optional-catch-binding@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz" + integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz" + integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz" + integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-private-property-in-object@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz" + integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" + integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-assertions@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz" + integrity sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.18.6", "@babel/plugin-syntax-typescript@^7.7.2": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz" + integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz" + integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-async-to-generator@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz" + integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag== + dependencies: + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-remap-async-to-generator" "^7.18.6" + +"@babel/plugin-transform-block-scoped-functions@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz" + integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-block-scoping@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz" + integrity sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-classes@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz" + integrity sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-replace-supers" "^7.18.9" + "@babel/helper-split-export-declaration" "^7.18.6" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz" + integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-destructuring@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz" + integrity sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz" + integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-duplicate-keys@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz" + integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-exponentiation-operator@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz" + integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-for-of@^7.18.8": + version "7.18.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz" + integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-function-name@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz" + integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== + dependencies: + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-literals@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz" + integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-member-expression-literals@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz" + integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-modules-amd@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz" + integrity sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg== + dependencies: + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz" + integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== + dependencies: + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-simple-access" "^7.18.6" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz" + integrity sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A== + dependencies: + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-module-transforms" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-validator-identifier" "^7.18.6" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz" + integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== + dependencies: + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz" + integrity sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-new-target@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz" + integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-object-super@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz" + integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.6" + +"@babel/plugin-transform-parameters@^7.18.8": + version "7.18.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz" + integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-property-literals@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz" + integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-regenerator@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz" + integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + regenerator-transform "^0.15.0" + +"@babel/plugin-transform-reserved-words@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz" + integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-shorthand-properties@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz" + integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-spread@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz" + integrity sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + +"@babel/plugin-transform-sticky-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz" + integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-template-literals@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz" + integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-typeof-symbol@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz" + integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-typescript@^7.18.6": + version "7.18.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.8.tgz" + integrity sha512-p2xM8HI83UObjsZGofMV/EdYjamsDm6MoN3hXPYIT0+gxIoopE+B7rPYKAxfrz9K9PK7JafTTjqYC6qipLExYA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-typescript" "^7.18.6" + +"@babel/plugin-transform-unicode-escapes@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz" + integrity sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-unicode-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz" + integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/preset-env@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.9.tgz" + integrity sha512-75pt/q95cMIHWssYtyfjVlvI+QEZQThQbKvR9xH+F/Agtw/s4Wfc2V9Bwd/P39VtixB7oWxGdH4GteTTwYJWMg== + dependencies: + "@babel/compat-data" "^7.18.8" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-async-generator-functions" "^7.18.6" + "@babel/plugin-proposal-class-properties" "^7.18.6" + "@babel/plugin-proposal-class-static-block" "^7.18.6" + "@babel/plugin-proposal-dynamic-import" "^7.18.6" + "@babel/plugin-proposal-export-namespace-from" "^7.18.9" + "@babel/plugin-proposal-json-strings" "^7.18.6" + "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" + "@babel/plugin-proposal-numeric-separator" "^7.18.6" + "@babel/plugin-proposal-object-rest-spread" "^7.18.9" + "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-private-methods" "^7.18.6" + "@babel/plugin-proposal-private-property-in-object" "^7.18.6" + "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.18.6" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-transform-arrow-functions" "^7.18.6" + "@babel/plugin-transform-async-to-generator" "^7.18.6" + "@babel/plugin-transform-block-scoped-functions" "^7.18.6" + "@babel/plugin-transform-block-scoping" "^7.18.9" + "@babel/plugin-transform-classes" "^7.18.9" + "@babel/plugin-transform-computed-properties" "^7.18.9" + "@babel/plugin-transform-destructuring" "^7.18.9" + "@babel/plugin-transform-dotall-regex" "^7.18.6" + "@babel/plugin-transform-duplicate-keys" "^7.18.9" + "@babel/plugin-transform-exponentiation-operator" "^7.18.6" + "@babel/plugin-transform-for-of" "^7.18.8" + "@babel/plugin-transform-function-name" "^7.18.9" + "@babel/plugin-transform-literals" "^7.18.9" + "@babel/plugin-transform-member-expression-literals" "^7.18.6" + "@babel/plugin-transform-modules-amd" "^7.18.6" + "@babel/plugin-transform-modules-commonjs" "^7.18.6" + "@babel/plugin-transform-modules-systemjs" "^7.18.9" + "@babel/plugin-transform-modules-umd" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.18.6" + "@babel/plugin-transform-new-target" "^7.18.6" + "@babel/plugin-transform-object-super" "^7.18.6" + "@babel/plugin-transform-parameters" "^7.18.8" + "@babel/plugin-transform-property-literals" "^7.18.6" + "@babel/plugin-transform-regenerator" "^7.18.6" + "@babel/plugin-transform-reserved-words" "^7.18.6" + "@babel/plugin-transform-shorthand-properties" "^7.18.6" + "@babel/plugin-transform-spread" "^7.18.9" + "@babel/plugin-transform-sticky-regex" "^7.18.6" + "@babel/plugin-transform-template-literals" "^7.18.9" + "@babel/plugin-transform-typeof-symbol" "^7.18.9" + "@babel/plugin-transform-unicode-escapes" "^7.18.6" + "@babel/plugin-transform-unicode-regex" "^7.18.6" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.18.9" + babel-plugin-polyfill-corejs2 "^0.3.1" + babel-plugin-polyfill-corejs3 "^0.5.2" + babel-plugin-polyfill-regenerator "^0.3.1" + core-js-compat "^3.22.1" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.5": + version "0.1.5" + resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" + integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-typescript@^7.15.0": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz" + integrity sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-transform-typescript" "^7.18.6" + +"@babel/runtime@^7.17.2", "@babel/runtime@^7.8.4": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz" + integrity sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.18.6", "@babel/template@^7.3.3": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz" + integrity sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.18.6" + "@babel/types" "^7.18.6" + +"@babel/traverse@^7.13.0", "@babel/traverse@^7.18.6", "@babel/traverse@^7.18.9", "@babel/traverse@^7.7.2": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz" + integrity sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.18.9" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.18.9" + "@babel/types" "^7.18.9" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz" + integrity sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@gar/promisify@^1.0.1": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" + integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^28.1.3": + version "28.1.3" + resolved "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz" + integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw== + dependencies: + "@jest/types" "^28.1.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^28.1.3" + jest-util "^28.1.3" + slash "^3.0.0" + +"@jest/core@^28.1.3": + version "28.1.3" + resolved "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz" + integrity sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA== + dependencies: + "@jest/console" "^28.1.3" + "@jest/reporters" "^28.1.3" + "@jest/test-result" "^28.1.3" + "@jest/transform" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + ci-info "^3.2.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^28.1.3" + jest-config "^28.1.3" + jest-haste-map "^28.1.3" + jest-message-util "^28.1.3" + jest-regex-util "^28.0.2" + jest-resolve "^28.1.3" + jest-resolve-dependencies "^28.1.3" + jest-runner "^28.1.3" + jest-runtime "^28.1.3" + jest-snapshot "^28.1.3" + jest-util "^28.1.3" + jest-validate "^28.1.3" + jest-watcher "^28.1.3" + micromatch "^4.0.4" + pretty-format "^28.1.3" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^28.1.3": + version "28.1.3" + resolved "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz" + integrity sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA== + dependencies: + "@jest/fake-timers" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/node" "*" + jest-mock "^28.1.3" + +"@jest/expect-utils@^28.1.3": + version "28.1.3" + resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz" + integrity sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA== + dependencies: + jest-get-type "^28.0.2" + +"@jest/expect@^28.1.3": + version "28.1.3" + resolved "https://registry.npmjs.org/@jest/expect/-/expect-28.1.3.tgz" + integrity sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw== + dependencies: + expect "^28.1.3" + jest-snapshot "^28.1.3" + +"@jest/fake-timers@^28.1.3": + version "28.1.3" + resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz" + integrity sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw== + dependencies: + "@jest/types" "^28.1.3" + "@sinonjs/fake-timers" "^9.1.2" + "@types/node" "*" + jest-message-util "^28.1.3" + jest-mock "^28.1.3" + jest-util "^28.1.3" + +"@jest/globals@^28.1.3": + version "28.1.3" + resolved "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz" + integrity sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA== + dependencies: + "@jest/environment" "^28.1.3" + "@jest/expect" "^28.1.3" + "@jest/types" "^28.1.3" + +"@jest/reporters@^28.1.3": + version "28.1.3" + resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.3.tgz" + integrity sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^28.1.3" + "@jest/test-result" "^28.1.3" + "@jest/transform" "^28.1.3" + "@jest/types" "^28.1.3" + "@jridgewell/trace-mapping" "^0.3.13" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^5.1.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^28.1.3" + jest-util "^28.1.3" + jest-worker "^28.1.3" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + terminal-link "^2.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^28.1.3": + version "28.1.3" + resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz" + integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== + dependencies: + "@sinclair/typebox" "^0.24.1" + +"@jest/source-map@^28.1.2": + version "28.1.2" + resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz" + integrity sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww== + dependencies: + "@jridgewell/trace-mapping" "^0.3.13" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^28.1.3": + version "28.1.3" + resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz" + integrity sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg== + dependencies: + "@jest/console" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^28.1.3": + version "28.1.3" + resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz" + integrity sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw== + dependencies: + "@jest/test-result" "^28.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^28.1.3" + slash "^3.0.0" + +"@jest/transform@^28.1.3": + version "28.1.3" + resolved "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz" + integrity sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^28.1.3" + "@jridgewell/trace-mapping" "^0.3.13" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^28.1.3" + jest-regex-util "^28.0.2" + jest-util "^28.1.3" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.1" + +"@jest/types@^28.1.3": + version "28.1.3" + resolved "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz" + integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ== + dependencies: + "@jest/schemas" "^28.1.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.2" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.0.3": + version "3.1.0" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.14" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.13", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.14" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz" + integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@mapbox/node-pre-gyp@^1.0.0": + version "1.0.9" + resolved "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz" + integrity sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw== + dependencies: + detect-libc "^2.0.0" + https-proxy-agent "^5.0.0" + make-dir "^3.1.0" + node-fetch "^2.6.7" + nopt "^5.0.0" + npmlog "^5.0.1" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.11" + +"@npmcli/fs@^1.0.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257" + integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== + dependencies: + "@gar/promisify" "^1.0.1" + semver "^7.3.5" + +"@npmcli/move-file@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" + integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@ovos-media/ts-transform-paths@^1.7.18-1": + version "1.7.18-1" + resolved "https://registry.npmjs.org/@ovos-media/ts-transform-paths/-/ts-transform-paths-1.7.18-1.tgz" + integrity sha512-5uYtraYSWg1klaMYus3ouCOUUNzcI40pS0NCaw0PhoaPTimVfT3MV061ZLYR/4F14THqyofMjmCNcHgFrBX3AA== + dependencies: + "@zerollup/ts-helpers" "^1.7.18" + +"@sentry/core@7.10.0": + version "7.10.0" + resolved "https://registry.npmjs.org/@sentry/core/-/core-7.10.0.tgz" + integrity sha512-uq6oUXPH+6cjsEL5/j/xSW91mVrJo7knTqax7E5MDiA5j98BPK4budGiBiPO7GEB856QhA7N+pOO0lccii5QYQ== + dependencies: + "@sentry/hub" "7.10.0" + "@sentry/types" "7.10.0" + "@sentry/utils" "7.10.0" + tslib "^1.9.3" + +"@sentry/hub@7.10.0": + version "7.10.0" + resolved "https://registry.npmjs.org/@sentry/hub/-/hub-7.10.0.tgz" + integrity sha512-9Appy7J87EU7Xu2BDY1cLK79nsuE72geeYmG71lgdttTD3XOMcQBOxET4/2sAI+d/ansurXnURx+DAQ9FOKT+w== + dependencies: + "@sentry/types" "7.10.0" + "@sentry/utils" "7.10.0" + tslib "^1.9.3" + +"@sentry/node@^7.7.0": + version "7.10.0" + resolved "https://registry.npmjs.org/@sentry/node/-/node-7.10.0.tgz" + integrity sha512-L/DSEJ7Biy8ovvlCyfu5MpCYG108FIGVbJ1h0NBGr5+uLxTNg2WJWojJoiQNiRcWl4s0dcIXrRdi0HR2Sx+DUw== + dependencies: + "@sentry/core" "7.10.0" + "@sentry/hub" "7.10.0" + "@sentry/types" "7.10.0" + "@sentry/utils" "7.10.0" + cookie "^0.4.1" + https-proxy-agent "^5.0.0" + lru_map "^0.3.3" + tslib "^1.9.3" + +"@sentry/tracing@^7.7.0": + version "7.10.0" + resolved "https://registry.npmjs.org/@sentry/tracing/-/tracing-7.10.0.tgz" + integrity sha512-ojuBYS1bL/IGWKt/ItY4HmC8NElJrYtTUvm73VbhylhIO4zcn5ICHmgMFj1lqL9gQ1nCnAlifKiWIjL9qUatTA== + dependencies: + "@sentry/hub" "7.10.0" + "@sentry/types" "7.10.0" + "@sentry/utils" "7.10.0" + tslib "^1.9.3" + +"@sentry/types@7.10.0": + version "7.10.0" + resolved "https://registry.npmjs.org/@sentry/types/-/types-7.10.0.tgz" + integrity sha512-1UBwdbS0xXzANzp63g4eNQly/qKIXp0swP5OTKWoADvKBtL4anroLUA/l8ADMtuwFZYtVANc8WRGxM2+YmaXtg== + +"@sentry/utils@7.10.0": + version "7.10.0" + resolved "https://registry.npmjs.org/@sentry/utils/-/utils-7.10.0.tgz" + integrity sha512-/aD2DnfyOhV0Wdbb6VF78vu4fQIZJyuReDpBI7MV/EqcEB6FxUKq2YjinfKZF/exHEPig6Ag/Yt+CRFgvtVFuw== + dependencies: + "@sentry/types" "7.10.0" + tslib "^1.9.3" + +"@sinclair/typebox@^0.24.1": + version "0.24.20" + resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.20.tgz" + integrity sha512-kVaO5aEFZb33nPMTZBxiPEkY+slxiPtqC7QX8f9B3eGOMBvEfuMfxp9DSTTCsRJPumPKjrge4yagyssO4q6qzQ== + +"@sinonjs/commons@^1.7.0": + version "1.8.3" + resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^9.1.2": + version "9.1.2" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz" + integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@sqltools/formatter@^1.2.2": + version "1.2.3" + resolved "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.3.tgz" + integrity sha512-O3uyB/JbkAEMZaP3YqyHH7TMnex7tWyCbCI4EfJdOCoN6HIhqdJBWTM6aCCiWQ/5f5wxjgU735QAIpJbjDvmzg== + +"@tokenizer/token@^0.3.0": + version "0.3.0" + resolved "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz" + integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A== + +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.3" + resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz" + integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== + +"@types/amqplib@^0.8.1": + version "0.8.2" + resolved "https://registry.npmjs.org/@types/amqplib/-/amqplib-0.8.2.tgz" + integrity sha512-p+TFLzo52f8UanB+Nq6gyUi65yecAcRY3nYowU6MPGFtaJvEDxcnFWrxssSTkF+ts1W3zyQDvgVICLQem5WxRA== + dependencies: + "@types/bluebird" "*" + "@types/node" "*" + +"@types/babel__core@^7.1.14": + version "7.1.19" + resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz" + integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.4" + resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.17.1" + resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz" + integrity sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA== + dependencies: + "@babel/types" "^7.3.0" + +"@types/bcrypt@^5.0.0": + version "5.0.0" + resolved "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-5.0.0.tgz" + integrity sha512-agtcFKaruL8TmcvqbndlqHPSJgsolhf/qPWchFlgnW1gECTN/nKbFcoFnvKAQRFfKbh+BO6A3SWdJu9t+xF3Lw== + dependencies: + "@types/node" "*" + +"@types/bluebird@*": + version "3.5.36" + resolved "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.36.tgz" + integrity sha512-HBNx4lhkxN7bx6P0++W8E289foSu8kO8GCk2unhuVggO+cE7rh9DhZUyPhUxNRG9m+5B5BTKxZQ5ZP92x/mx9Q== + +"@types/body-parser@*", "@types/body-parser@^1.19.0": + version "1.19.2" + resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz" + integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.35" + resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" + +"@types/dotenv@^8.2.0": + version "8.2.0" + resolved "https://registry.npmjs.org/@types/dotenv/-/dotenv-8.2.0.tgz" + integrity sha512-ylSC9GhfRH7m1EUXBXofhgx4lUWmFeQDINW5oLuS+gxWdfUeW4zJdeVTYVkexEW+e2VUvlZR2kGnGGipAWR7kw== + dependencies: + dotenv "*" + +"@types/express-serve-static-core@^4.17.18": + version "4.17.29" + resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz" + integrity sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express@*", "@types/express@^4.17.12": + version "4.17.13" + resolved "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz" + integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.18" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/graceful-fs@^4.1.3": + version "4.1.5" + resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + dependencies: + "@types/node" "*" + +"@types/i18next-node-fs-backend@^2.1.0": + version "2.1.1" + resolved "https://registry.npmjs.org/@types/i18next-node-fs-backend/-/i18next-node-fs-backend-2.1.1.tgz" + integrity sha512-ESvH90OICQkKU3yuuRzF6YfHt5KACE55FOiUM59mMGnC+h03lHGdEYo3z3THbwS5FdMskLyIs2O7f6Oaz8P9sw== + dependencies: + i18next ">=17.0.11" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.4" + resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/json-schema@^7.0.9": + version "7.0.11" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + +"@types/jsonwebtoken@^8.5.8": + version "8.5.8" + resolved "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz" + integrity sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A== + dependencies: + "@types/node" "*" + +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz" + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== + +"@types/morgan@^1.9.3": + version "1.9.3" + resolved "https://registry.npmjs.org/@types/morgan/-/morgan-1.9.3.tgz" + integrity sha512-BiLcfVqGBZCyNCnCH3F4o2GmDLrpy0HeBVnNlyZG4fo88ZiE9SoiBe3C+2ezuwbjlEyT+PDZ17//TAlRxAn75Q== + dependencies: + "@types/node" "*" + +"@types/multer@^1.4.7": + version "1.4.7" + resolved "https://registry.npmjs.org/@types/multer/-/multer-1.4.7.tgz" + integrity sha512-/SNsDidUFCvqqcWDwxv2feww/yqhNeTRL5CVoL3jU4Goc4kKEL10T7Eye65ZqPNi4HRx8sAEX59pV1aEH7drNA== + dependencies: + "@types/express" "*" + +"@types/node-fetch@^2.6.2": + version "2.6.2" + resolved "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz" + integrity sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A== + dependencies: + "@types/node" "*" + form-data "^3.0.0" + +"@types/node-os-utils@^1.3.0": + version "1.3.0" + resolved "https://registry.npmjs.org/@types/node-os-utils/-/node-os-utils-1.3.0.tgz" + integrity sha512-XwVteWQx/XkfRPyaGkw8dEbrCAkoRZ73pI3XznUYIpzbCfpQB3UnDlR5TnmdhetlT889tUJGF8QWo9xrgTpsiA== + +"@types/node@*", "@types/node@^18.0.6": + version "18.6.3" + resolved "https://registry.npmjs.org/@types/node/-/node-18.6.3.tgz" + integrity sha512-6qKpDtoaYLM+5+AFChLhHermMQxc3TOEFIDzrZLPRGHPrLEwqFkkT5Kx3ju05g6X7uDPazz3jHbKPX0KzCjntg== + +"@types/node@^16.9.2": + version "16.11.45" + resolved "https://registry.npmjs.org/@types/node/-/node-16.11.45.tgz" + integrity sha512-3rKg/L5x0rofKuuUt5zlXzOnKyIHXmIu5R8A0TuNDMF2062/AOIDBciFIjToLEJ/9F9DzkHNot+BpNsMI1OLdQ== + +"@types/notp@^2.0.0": + version "2.0.2" + resolved "https://registry.npmjs.org/@types/notp/-/notp-2.0.2.tgz" + integrity sha512-JUcVYN9Tmw0AjoAfvjslS4hbv39fPBbZdftBK3b50g5z/DmhLsu6cd0UOEBiQuMwy2FirshF2Gk9gAvfWjshMw== + dependencies: + "@types/node" "*" + +"@types/prettier@^2.1.5": + version "2.6.3" + resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz" + integrity sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg== + +"@types/qs@*": + version "6.9.7" + resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + +"@types/range-parser@*": + version "1.2.4" + resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + +"@types/serve-static@*": + version "1.13.10" + resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz" + integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + +"@types/stream-buffers@^3.0.3": + version "3.0.4" + resolved "https://registry.npmjs.org/@types/stream-buffers/-/stream-buffers-3.0.4.tgz" + integrity sha512-qU/K1tb2yUdhXkLIATzsIPwbtX6BpZk0l3dPW6xqWyhfzzM1ECaQ/8faEnu3CNraLiQ9LHyQQPBGp7N9Fbs25w== + dependencies: + "@types/node" "*" + +"@types/strip-bom@^3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz" + integrity sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ== + +"@types/strip-json-comments@0.0.30": + version "0.0.30" + resolved "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz" + integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ== + +"@types/ws@^8.5.3": + version "8.5.3" + resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz" + integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== + dependencies: + "@types/node" "*" + +"@types/yargs-parser@*": + version "21.0.0" + resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + +"@types/yargs@^17.0.8": + version "17.0.10" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz" + integrity sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA== + dependencies: + "@types/yargs-parser" "*" + +"@yarnpkg/lockfile@^1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz" + integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== + +"@zerollup/ts-helpers@^1.7.18": + version "1.7.18" + resolved "https://registry.npmjs.org/@zerollup/ts-helpers/-/ts-helpers-1.7.18.tgz" + integrity sha512-S9zN+y+i5yN/evfWquzSO3lubqPXIsPQf6p9OiPMpRxDx/0totPLF39XoRw48Dav5dSvbIE8D2eAPpXXJxvKwg== + dependencies: + resolve "^1.12.0" + +abbrev@1: + version "1.1.1" + resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-walk@^8.1.1, acorn-walk@^8.2.0: + version "8.2.0" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^8.4.1, acorn@^8.7.0: + version "8.7.1" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz" + integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== + +agent-base@6, agent-base@^6.0.0, agent-base@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +agentkeepalive@^4.1.3: + version "4.2.1" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717" + integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA== + dependencies: + debug "^4.1.0" + depd "^1.1.2" + humanize-ms "^1.2.1" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv@^8.0.0, ajv@^8.11.0: + version "8.11.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz" + integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +amqplib@^0.10.1: + version "0.10.1" + resolved "https://registry.npmjs.org/amqplib/-/amqplib-0.10.1.tgz" + integrity sha512-Hs33MdtFmJ2WKQT9SBtrlet3aUNzMzZA/FF6p3NGGo7Fp/BVD4X3Po7bQxAA7uE0MmXPZ8EschLMbN+CjGx4dg== + dependencies: + bitsyntax "~0.1.0" + buffer-more-ints "~1.0.0" + readable-stream "1.x >=1.1.9" + url-parse "~1.5.10" + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== + +anymatch@^3.0.3, anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +app-root-path@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz" + integrity sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw== + +append-field@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz" + integrity sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw== + +"aproba@^1.0.3 || ^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz" + integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== + +are-we-there-yet@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz" + integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + +are-we-there-yet@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" + integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +asap@^2.0.0: + version "2.0.6" + resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + +ast-types@^0.13.2: + version "0.13.4" + resolved "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz" + integrity sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w== + dependencies: + tslib "^2.0.1" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +babel-jest@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.3.tgz" + integrity sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q== + dependencies: + "@jest/transform" "^28.1.3" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^28.1.3" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz" + integrity sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-polyfill-corejs2@^0.3.1: + version "0.3.1" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz" + integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w== + dependencies: + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.3.1" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.5.2: + version "0.5.2" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz" + integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.1" + core-js-compat "^3.21.0" + +babel-plugin-polyfill-regenerator@^0.3.1: + version "0.3.1" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz" + integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.1" + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + +babel-preset-jest@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz" + integrity sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A== + dependencies: + babel-plugin-jest-hoist "^28.1.3" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +basic-auth@~2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz" + integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== + dependencies: + safe-buffer "5.1.2" + +bcrypt@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/bcrypt/-/bcrypt-5.0.1.tgz" + integrity sha512-9BTgmrhZM2t1bNuDtrtIMVSmmxZBrJ71n8Wg+YgdjHuIWYF7SjjmCPZFB+/5i/o/PIeRpwVJR3P+NrpIItUjqw== + dependencies: + "@mapbox/node-pre-gyp" "^1.0.0" + node-addon-api "^3.1.0" + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bitsyntax@~0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.1.0.tgz" + integrity sha512-ikAdCnrloKmFOugAfxWws89/fPc+nw0OOG1IzIE72uSOg/A3cYptKCjSUhDTuj7fhsJtzkzlv7l3b8PzRHLN0Q== + dependencies: + buffer-more-ints "~1.0.0" + debug "~2.6.9" + safe-buffer "~5.1.2" + +body-parser@1.20.0, body-parser@^1.19.0: + version "1.20.0" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz" + integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.10.3" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +bowser@^2.11.0: + version "2.11.0" + resolved "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz" + integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.20.2, browserslist@^4.21.1: + version "4.21.2" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz" + integrity sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA== + dependencies: + caniuse-lite "^1.0.30001366" + electron-to-chromium "^1.4.188" + node-releases "^2.0.6" + update-browserslist-db "^1.0.4" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz" + integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-more-ints@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-1.0.0.tgz" + integrity sha512-EMetuGFz5SLsT0QTnXzINh4Ksr+oo4i+UGTXEshiGCQWnsgSs7ZhJ8fzlwQ+OzEMs0MpDAMr1hxnblp5a4vcHg== + +buffer-writer@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz#ce7eb81a38f7829db09c873f2fbb792c0c98ec04" + integrity sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw== + +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +busboy@^1.0.0: + version "1.6.0" + resolved "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz" + integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== + dependencies: + streamsearch "^1.1.0" + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cacache@^15.2.0: + version "15.3.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" + integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== + dependencies: + "@npmcli/fs" "^1.0.0" + "@npmcli/move-file" "^1.0.1" + chownr "^2.0.0" + fs-minipass "^2.0.0" + glob "^7.1.4" + infer-owner "^1.0.4" + lru-cache "^6.0.0" + minipass "^3.1.1" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^1.0.3" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.0.2" + unique-filename "^1.1.1" + +call-bind@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001366: + version "1.0.30001367" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001367.tgz" + integrity sha512-XDgbeOHfifWV3GEES2B8rtsrADx4Jf+juKX2SICJcaUhjYBO3bR96kvEIHa15VU6ohtOhBZuPGGYGbXMRn0NCw== + +canvas@^2.9.3: + version "2.9.3" + resolved "https://registry.npmjs.org/canvas/-/canvas-2.9.3.tgz" + integrity sha512-WOUM7ghii5TV2rbhaZkh1youv/vW1/Canev6Yx6BG2W+1S07w8jKZqKkPnbiPpQEDsnJdN8ouDd7OvQEGXDcUw== + dependencies: + "@mapbox/node-pre-gyp" "^1.0.0" + nan "^2.15.0" + simple-get "^3.0.3" + +chalk@^2.0.0, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +cheerio-select@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz" + integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== + dependencies: + boolbase "^1.0.0" + css-select "^5.1.0" + css-what "^6.1.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + domutils "^3.0.1" + +cheerio@^1.0.0-rc.10: + version "1.0.0-rc.12" + resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz" + integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== + dependencies: + cheerio-select "^2.1.0" + dom-serializer "^2.0.0" + domhandler "^5.0.3" + domutils "^3.0.1" + htmlparser2 "^8.0.1" + parse5 "^7.0.0" + parse5-htmlparser2-tree-adapter "^7.0.0" + +chokidar@^3.5.1: + version "3.5.3" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +ci-info@^3.2.0: + version "3.3.2" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz" + integrity sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg== + +cjs-module-lexer@^1.0.0: + version "1.2.2" + resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz" + integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-highlight@^2.1.11: + version "2.1.11" + resolved "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz" + integrity sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg== + dependencies: + chalk "^4.0.0" + highlight.js "^10.7.1" + mz "^2.4.0" + parse5 "^5.1.1" + parse5-htmlparser2-tree-adapter "^6.0.0" + yargs "^16.0.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-support@^1.1.2, color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +component-emitter@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +concat-stream@^1.5.2: + version "1.6.2" + resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +console-control-strings@^1.0.0, console-control-strings@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" + integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +cookie@^0.4.1: + version "0.4.2" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz" + integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== + +cookiejar@^2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz" + integrity sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ== + +core-js-compat@^3.21.0, core-js-compat@^3.22.1: + version "3.23.4" + resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.23.4.tgz" + integrity sha512-RkSRPe+JYEoflcsuxJWaiMPhnZoFS51FcIxm53k4KzhISCBTmaGlto9dTIrYuk0hnJc3G6pKufAKepHnBq6B6Q== + dependencies: + browserslist "^4.21.1" + semver "7.0.0" + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-what@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +data-uri-to-buffer@3: + version "3.0.1" + resolved "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz" + integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== + +date-fns@^2.28.0: + version "2.28.0" + resolved "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz" + integrity sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw== + +debug@2.6.9, debug@~2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.3, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decompress-response@^4.2.0: + version "4.2.1" + resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz" + integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw== + dependencies: + mimic-response "^2.0.0" + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" + integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== + +deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +define-properties@^1.1.3: + version "1.1.4" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +degenerator@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/degenerator/-/degenerator-3.0.2.tgz" + integrity sha512-c0mef3SNQo56t6urUU6tdQAs+ThoD0o9B9MJ8HEt7NQcGEILCRFqQb7ZbP9JAv+QF1Ky5plydhMR/IrqWDm+TQ== + dependencies: + ast-types "^0.13.2" + escodegen "^1.8.1" + esprima "^4.0.0" + vm2 "^3.9.8" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" + integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== + +denque@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/denque/-/denque-2.1.0.tgz#e93e1a6569fb5e66f16a3c2a2964617d349d6ab1" + integrity sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw== + +depd@2.0.0, depd@~2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-libc@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz" + integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w== + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +dezalgo@1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz" + integrity sha512-K7i4zNfT2kgQz3GylDw40ot9GAE47sFZ9EXHFSPP6zONLgH6kWXE0KWJchkbQJLBkRazq4APwZ4OwiFFlT95OQ== + dependencies: + asap "^2.0.0" + wrappy "1" + +diff-sequences@^28.1.1: + version "28.1.1" + resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz" + integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^5.0.1, domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz" + integrity sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.1" + +dotenv@*, dotenv@^16.0.0, dotenv@^16.0.1: + version "16.0.1" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz" + integrity sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ== + +dynamic-dedupe@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz" + integrity sha512-ssuANeD+z97meYOqd50e04Ze5qp4bPqo8cCkI4TRjZkzAUgIDTrXV1R8QCdINpiI+hw14+rYazvTRdQrz0/rFQ== + dependencies: + xtend "^4.0.0" + +ecdsa-sig-formatter@1.0.11: + version "1.0.11" + resolved "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + dependencies: + safe-buffer "^5.0.1" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.4.188: + version "1.4.192" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.192.tgz" + integrity sha512-8nCXyIQY9An88NXAp+PuPy5h3/w5ZY7Iu2lag65Q0XREprcat5F8gKhoHsBUnQcFuCRnmevpR8yEBYRU3d2HDw== + +emittery@^0.10.2: + version "0.10.2" + resolved "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz" + integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +encoding@^0.1.12: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +entities@2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +entities@^4.2.0, entities@^4.3.0: + version "4.3.1" + resolved "https://registry.npmjs.org/entities/-/entities-4.3.1.tgz" + integrity sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg== + +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escodegen@^1.8.1: + version "1.14.3" + resolved "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +exif-be-gone@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/exif-be-gone/-/exif-be-gone-1.3.0.tgz" + integrity sha512-6s/SnuWviwtP6TB3Gc2Nc2GIWYCIs3N9V4Md773EWIfC4uOR+O3thZXO4ElbJJOvjtDNR4FVoMVNKgZWRKiQNQ== + dependencies: + "@types/stream-buffers" "^3.0.3" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz" + integrity sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g== + dependencies: + "@jest/expect-utils" "^28.1.3" + jest-get-type "^28.0.2" + jest-matcher-utils "^28.1.3" + jest-message-util "^28.1.3" + jest-util "^28.1.3" + +express-async-errors@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/express-async-errors/-/express-async-errors-3.1.1.tgz" + integrity sha512-h6aK1da4tpqWSbyCa3FxB/V6Ehd4EEB15zyQq9qe75OZBp0krinNKuH4rAY+S/U/2I36vdLAUFSjQJ+TFmODng== + +express@^4.17.1: + version "4.18.1" + resolved "https://registry.npmjs.org/express/-/express-4.18.1.tgz" + integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.0" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.10.3" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-safe-stringify@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz" + integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== + +fast-xml-parser@3.19.0: + version "3.19.0" + resolved "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz" + integrity sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg== + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +file-type@16.5: + version "16.5.4" + resolved "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz" + integrity sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw== + dependencies: + readable-web-to-node-stream "^3.0.0" + strtok3 "^6.2.4" + token-types "^4.1.1" + +file-uri-to-path@2: + version "2.0.0" + resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz" + integrity sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg== + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-yarn-workspace-root@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz" + integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== + dependencies: + micromatch "^4.0.2" + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +formidable@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/formidable/-/formidable-2.0.1.tgz" + integrity sha512-rjTMNbp2BpfQShhFbR3Ruk3qk2y9jKpvMW78nJgx8QKtxjDVrwbZG+wvDOmVbifHyOUOQJXxqEy6r0faRrPzTQ== + dependencies: + dezalgo "1.0.3" + hexoid "1.0.0" + once "1.4.0" + qs "6.9.3" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs-extra@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^2.3.2, fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +ftp@^0.3.10: + version "0.3.10" + resolved "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz" + integrity sha512-faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ== + dependencies: + readable-stream "1.1.x" + xregexp "2.0.0" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gauge@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz" + integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.2" + console-control-strings "^1.0.0" + has-unicode "^2.0.1" + object-assign "^4.1.1" + signal-exit "^3.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.2" + +gauge@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" + integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.3" + console-control-strings "^1.1.0" + has-unicode "^2.0.1" + signal-exit "^3.0.7" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.5" + +generate-function@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f" + integrity sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ== + dependencies: + is-property "^1.0.2" + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: + version "1.1.2" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz" + integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-uri@3: + version "3.0.2" + resolved "https://registry.npmjs.org/get-uri/-/get-uri-3.0.2.tgz" + integrity sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg== + dependencies: + "@tootallnate/once" "1" + data-uri-to-buffer "3" + debug "4" + file-uri-to-path "2" + fs-extra "^8.1.0" + ftp "^0.3.10" + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.7, glob@^7.2.0: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e" + integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.10" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-symbols@^1.0.1, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-unicode@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +helmet@^4.4.1: + version "4.6.0" + resolved "https://registry.npmjs.org/helmet/-/helmet-4.6.0.tgz" + integrity sha512-HVqALKZlR95ROkrnesdhbbZJFi/rIVSoNq6f3jA/9u6MIbTsPh3xZwihjeI5+DO/2sOV6HMHooXcEOuwskHpTg== + +hexoid@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz" + integrity sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g== + +highlight.js@^10.7.1: + version "10.7.3" + resolved "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz" + integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +htmlparser2@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz" + integrity sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + domutils "^3.0.1" + entities "^4.3.0" + +http-cache-semantics@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-proxy-agent@^4.0.0, http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + +https-proxy-agent@5, https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== + dependencies: + ms "^2.0.0" + +i18next-http-middleware@^3.1.3: + version "3.2.1" + resolved "https://registry.npmjs.org/i18next-http-middleware/-/i18next-http-middleware-3.2.1.tgz" + integrity sha512-zBwXxDChT0YLoTXIR6jRuqnUUhXW0Iw7egoTnNXyaDRtTbfWNXwU0a53ThyuRPQ+k+tXu3ZMNKRzfLuononaRw== + +i18next-node-fs-backend@^2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/i18next-node-fs-backend/-/i18next-node-fs-backend-2.1.3.tgz" + integrity sha512-CreMFiVl3ChlMc5ys/e0QfuLFOZyFcL40Jj6jaKD6DxZ/GCUMxPI9BpU43QMWUgC7r+PClpxg2cGXAl0CjG04g== + dependencies: + js-yaml "3.13.1" + json5 "2.0.0" + +i18next@>=17.0.11, i18next@^21.8.14: + version "21.8.14" + resolved "https://registry.npmjs.org/i18next/-/i18next-21.8.14.tgz" + integrity sha512-4Yi+DtexvMm/Yw3Q9fllzY12SgLk+Mcmar+rCAccsOPul/2UmnBzoHbTGn/L48IPkFcmrNaH7xTLboBWIbH6pw== + dependencies: + "@babel/runtime" "^7.17.2" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.6.2, iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +image-size@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz" + integrity sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg== + dependencies: + queue "6.0.2" + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@^1.3.5: + version "1.3.8" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +ip@^1.1.5: + version "1.1.8" + resolved "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz" + integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== + +ip@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" + integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-core-module@^2.9.0: + version "2.9.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz" + integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== + dependencies: + has "^1.0.3" + +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-lambda@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" + integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-property@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + integrity sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-wsl@^2.1.1: + version "2.2.0" + resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: + version "5.2.0" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz" + integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.5" + resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz" + integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.1.3.tgz" + integrity sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA== + dependencies: + execa "^5.0.0" + p-limit "^3.1.0" + +jest-circus@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz" + integrity sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow== + dependencies: + "@jest/environment" "^28.1.3" + "@jest/expect" "^28.1.3" + "@jest/test-result" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + is-generator-fn "^2.0.0" + jest-each "^28.1.3" + jest-matcher-utils "^28.1.3" + jest-message-util "^28.1.3" + jest-runtime "^28.1.3" + jest-snapshot "^28.1.3" + jest-util "^28.1.3" + p-limit "^3.1.0" + pretty-format "^28.1.3" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz" + integrity sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ== + dependencies: + "@jest/core" "^28.1.3" + "@jest/test-result" "^28.1.3" + "@jest/types" "^28.1.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + import-local "^3.0.2" + jest-config "^28.1.3" + jest-util "^28.1.3" + jest-validate "^28.1.3" + prompts "^2.0.1" + yargs "^17.3.1" + +jest-config@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz" + integrity sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^28.1.3" + "@jest/types" "^28.1.3" + babel-jest "^28.1.3" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^28.1.3" + jest-environment-node "^28.1.3" + jest-get-type "^28.0.2" + jest-regex-util "^28.0.2" + jest-resolve "^28.1.3" + jest-runner "^28.1.3" + jest-util "^28.1.3" + jest-validate "^28.1.3" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^28.1.3" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz" + integrity sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw== + dependencies: + chalk "^4.0.0" + diff-sequences "^28.1.1" + jest-get-type "^28.0.2" + pretty-format "^28.1.3" + +jest-docblock@^28.1.1: + version "28.1.1" + resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz" + integrity sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA== + dependencies: + detect-newline "^3.0.0" + +jest-each@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz" + integrity sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g== + dependencies: + "@jest/types" "^28.1.3" + chalk "^4.0.0" + jest-get-type "^28.0.2" + jest-util "^28.1.3" + pretty-format "^28.1.3" + +jest-environment-node@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz" + integrity sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A== + dependencies: + "@jest/environment" "^28.1.3" + "@jest/fake-timers" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/node" "*" + jest-mock "^28.1.3" + jest-util "^28.1.3" + +jest-expect-message@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/jest-expect-message/-/jest-expect-message-1.0.2.tgz" + integrity sha512-WFiXMgwS2lOqQZt1iJMI/hOXpUm32X+ApsuzYcQpW5m16Pv6/Gd9kgC+Q+Q1YVNU04kYcAOv9NXMnjg6kKUy6Q== + +jest-get-type@^28.0.2: + version "28.0.2" + resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz" + integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== + +jest-haste-map@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz" + integrity sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA== + dependencies: + "@jest/types" "^28.1.3" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^28.0.2" + jest-util "^28.1.3" + jest-worker "^28.1.3" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + +jest-leak-detector@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz" + integrity sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA== + dependencies: + jest-get-type "^28.0.2" + pretty-format "^28.1.3" + +jest-matcher-utils@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz" + integrity sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw== + dependencies: + chalk "^4.0.0" + jest-diff "^28.1.3" + jest-get-type "^28.0.2" + pretty-format "^28.1.3" + +jest-message-util@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz" + integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^28.1.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^28.1.3" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz" + integrity sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA== + dependencies: + "@jest/types" "^28.1.3" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^28.0.2: + version "28.0.2" + resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz" + integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== + +jest-resolve-dependencies@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz" + integrity sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA== + dependencies: + jest-regex-util "^28.0.2" + jest-snapshot "^28.1.3" + +jest-resolve@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz" + integrity sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^28.1.3" + jest-pnp-resolver "^1.2.2" + jest-util "^28.1.3" + jest-validate "^28.1.3" + resolve "^1.20.0" + resolve.exports "^1.1.0" + slash "^3.0.0" + +jest-runner@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz" + integrity sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA== + dependencies: + "@jest/console" "^28.1.3" + "@jest/environment" "^28.1.3" + "@jest/test-result" "^28.1.3" + "@jest/transform" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.10.2" + graceful-fs "^4.2.9" + jest-docblock "^28.1.1" + jest-environment-node "^28.1.3" + jest-haste-map "^28.1.3" + jest-leak-detector "^28.1.3" + jest-message-util "^28.1.3" + jest-resolve "^28.1.3" + jest-runtime "^28.1.3" + jest-util "^28.1.3" + jest-watcher "^28.1.3" + jest-worker "^28.1.3" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz" + integrity sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw== + dependencies: + "@jest/environment" "^28.1.3" + "@jest/fake-timers" "^28.1.3" + "@jest/globals" "^28.1.3" + "@jest/source-map" "^28.1.2" + "@jest/test-result" "^28.1.3" + "@jest/transform" "^28.1.3" + "@jest/types" "^28.1.3" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + execa "^5.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^28.1.3" + jest-message-util "^28.1.3" + jest-mock "^28.1.3" + jest-regex-util "^28.0.2" + jest-resolve "^28.1.3" + jest-snapshot "^28.1.3" + jest-util "^28.1.3" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-snapshot@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz" + integrity sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/traverse" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^28.1.3" + "@jest/transform" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/babel__traverse" "^7.0.6" + "@types/prettier" "^2.1.5" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^28.1.3" + graceful-fs "^4.2.9" + jest-diff "^28.1.3" + jest-get-type "^28.0.2" + jest-haste-map "^28.1.3" + jest-matcher-utils "^28.1.3" + jest-message-util "^28.1.3" + jest-util "^28.1.3" + natural-compare "^1.4.0" + pretty-format "^28.1.3" + semver "^7.3.5" + +jest-util@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz" + integrity sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ== + dependencies: + "@jest/types" "^28.1.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz" + integrity sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA== + dependencies: + "@jest/types" "^28.1.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^28.0.2" + leven "^3.1.0" + pretty-format "^28.1.3" + +jest-watcher@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz" + integrity sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g== + dependencies: + "@jest/test-result" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.10.2" + jest-util "^28.1.3" + string-length "^4.0.1" + +jest-worker@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz" + integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz" + integrity sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA== + dependencies: + "@jest/core" "^28.1.3" + "@jest/types" "^28.1.3" + import-local "^3.0.2" + jest-cli "^28.1.3" + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@3.13.1, js-yaml@^3.13.1: + version "3.13.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz" + integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json5@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/json5/-/json5-2.0.0.tgz" + integrity sha512-0EdQvHuLm7yJ7lyG5dp7Q3X2ku++BG5ZHaJ5FTnaXpKqDrw4pMxel5Bt3oAYMthnrthFBdnZ1FcsXTPyrQlV0w== + dependencies: + minimist "^1.2.0" + +json5@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +jsonwebtoken@^8.5.1: + version "8.5.1" + resolved "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz" + integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== + dependencies: + jws "^3.2.2" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^5.6.0" + +jwa@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz" + integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jws@^3.2.2: + version "3.2.2" + resolved "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz" + integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + dependencies: + jwa "^1.4.1" + safe-buffer "^5.0.1" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +klaw-sync@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz" + integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== + dependencies: + graceful-fs "^4.1.11" + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +lambert-server@^1.2.12: + version "1.2.12" + resolved "https://registry.npmjs.org/lambert-server/-/lambert-server-1.2.12.tgz" + integrity sha512-TY6k60KLVfBpPrl9lcrN54RJdTBg9f8JqJPoHg5d/FMLnnwwQtT4budpoQjyLDwBLhS+zpXo0aBCwnnGgTVGaw== + dependencies: + body-parser "^1.19.0" + chalk "^4.1.1" + express "^4.17.1" + express-async-errors "^3.1.1" + helmet "^4.4.1" + missing-native-js-functions "^1.2.11" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz" + integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz" + integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== + +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz" + integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== + +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz" + integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz" + integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== + +lodash.once@^4.0.0: + version "4.1.1" + resolved "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz" + integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== + +long@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" + integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== + +lru-cache@^4.1.3: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +lru_map@^0.3.3: + version "0.3.3" + resolved "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz" + integrity sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ== + +make-dir@^3.0.0, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +make-fetch-happen@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" + integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== + dependencies: + agentkeepalive "^4.1.3" + cacache "^15.2.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^6.0.0" + minipass "^3.1.3" + minipass-collect "^1.0.2" + minipass-fetch "^1.3.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.2" + promise-retry "^2.0.1" + socks-proxy-agent "^6.0.0" + ssri "^8.0.0" + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +methods@^1.1.2, methods@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@2.6.0: + version "2.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz" + integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA== + +minimatch@^3.0.4, minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" + integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.0, minimist@^1.2.6: + version "1.2.6" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-fetch@^1.3.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6" + integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== + dependencies: + minipass "^3.1.0" + minipass-sized "^1.0.3" + minizlib "^2.0.0" + optionalDependencies: + encoding "^0.1.12" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + dependencies: + minipass "^3.0.0" + +minipass-sized@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" + integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== + dependencies: + minipass "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: + version "3.3.4" + resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz" + integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw== + dependencies: + yallist "^4.0.0" + +minizlib@^2.0.0, minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +missing-native-js-functions@^1.2.11, missing-native-js-functions@^1.2.18: + version "1.2.18" + resolved "https://registry.npmjs.org/missing-native-js-functions/-/missing-native-js-functions-1.2.18.tgz" + integrity sha512-TZr1muzDE4kfu0LHDzg63O7m2qW3Gpyc875ki8+YlSRj+4ibZRv0ySQ0cSB06GoBL9ejeehLmkQnybLpp9jYcg== + +mkdirp@^0.5.4: + version "0.5.6" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mkdirp@^1.0.3, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +morgan@^1.10.0: + version "1.10.0" + resolved "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz" + integrity sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ== + dependencies: + basic-auth "~2.0.1" + debug "2.6.9" + depd "~2.0.0" + on-finished "~2.3.0" + on-headers "~1.0.2" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2, ms@^2.1.1: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3, ms@^2.0.0: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multer@^1.4.5-lts.1: + version "1.4.5-lts.1" + resolved "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.1.tgz" + integrity sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ== + dependencies: + append-field "^1.0.0" + busboy "^1.0.0" + concat-stream "^1.5.2" + mkdirp "^0.5.4" + object-assign "^4.1.1" + type-is "^1.6.4" + xtend "^4.0.0" + +mysql2@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-2.3.3.tgz#944f3deca4b16629052ff8614fbf89d5552545a0" + integrity sha512-wxJUev6LgMSgACDkb/InIFxDprRa6T95+VEoR+xPvtngtccNH2dGjEB/fVZ8yg1gWv1510c9CvXuJHi5zUm0ZA== + dependencies: + denque "^2.0.1" + generate-function "^2.3.1" + iconv-lite "^0.6.3" + long "^4.0.0" + lru-cache "^6.0.0" + named-placeholders "^1.1.2" + seq-queue "^0.0.5" + sqlstring "^2.3.2" + +mz@^2.4.0: + version "2.7.0" + resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +named-placeholders@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/named-placeholders/-/named-placeholders-1.1.2.tgz#ceb1fbff50b6b33492b5cf214ccf5e39cef3d0e8" + integrity sha512-wiFWqxoLL3PGVReSZpjLVxyJ1bRqe+KKJVbr4hGs1KWfTZTQyezHFBbuKj9hsizHyGV2ne7EMjHdxEGAybD5SA== + dependencies: + lru-cache "^4.1.3" + +nan@^2.15.0: + version "2.16.0" + resolved "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz" + integrity sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +negotiator@0.6.3, negotiator@^0.6.2: + version "0.6.3" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +netmask@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz" + integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-2fa@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/node-2fa/-/node-2fa-2.0.3.tgz" + integrity sha512-PQldrOhjuoZyoydMvMSctllPN1ZPZ1/NwkEcgYwY9faVqE/OymxR+3awPpbWZxm6acLKqvmNqQmdqTsqYyflFw== + dependencies: + "@types/notp" "^2.0.0" + notp "^2.0.3" + thirty-two "1.0.2" + tslib "^2.1.0" + +node-addon-api@^3.1.0: + version "3.2.1" + resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz" + integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== + +node-addon-api@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f" + integrity sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ== + +node-fetch@^2.6.7: + version "2.6.7" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + +node-gyp@8.x: + version "8.4.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.1.tgz#3d49308fc31f768180957d6b5746845fbd429937" + integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.6" + make-fetch-happen "^9.1.0" + nopt "^5.0.0" + npmlog "^6.0.0" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.2" + which "^2.0.2" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-releases@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz" + integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== + +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +notp@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/notp/-/notp-2.0.3.tgz" + integrity sha512-oBig/2uqkjQ5AkBuw4QJYwkEWa/q+zHxI5/I5z6IeP2NT0alpJFsP/trrfCC+9xOAgQSZXssNi962kp5KBmypQ== + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +npmlog@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz" + integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== + dependencies: + are-we-there-yet "^2.0.0" + console-control-strings "^1.1.0" + gauge "^3.0.0" + set-blocking "^2.0.0" + +npmlog@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" + integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== + dependencies: + are-we-there-yet "^3.0.0" + console-control-strings "^1.1.0" + gauge "^4.0.3" + set-blocking "^2.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +object-assign@^4.0.1, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.9.0: + version "1.12.2" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz" + integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.0: + version "4.1.2" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" + integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@1.4.0, once@^1.3.0, once@^1.3.1: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^7.4.2: + version "7.4.2" + resolved "https://registry.npmjs.org/open/-/open-7.4.2.tgz" + integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== + dependencies: + is-docker "^2.0.0" + is-wsl "^2.1.1" + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +pac-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz" + integrity sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + get-uri "3" + http-proxy-agent "^4.0.1" + https-proxy-agent "5" + pac-resolver "^5.0.0" + raw-body "^2.2.0" + socks-proxy-agent "5" + +pac-resolver@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.1.tgz" + integrity sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q== + dependencies: + degenerator "^3.0.2" + ip "^1.1.5" + netmask "^2.0.2" + +packet-reader@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/packet-reader/-/packet-reader-1.0.0.tgz#9238e5480dedabacfe1fe3f2771063f164157d74" + integrity sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ== + +parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse5-htmlparser2-tree-adapter@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz" + integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== + dependencies: + parse5 "^6.0.1" + +parse5-htmlparser2-tree-adapter@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz" + integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== + dependencies: + domhandler "^5.0.2" + parse5 "^7.0.0" + +parse5@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + +parse5@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +parse5@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/parse5/-/parse5-7.0.0.tgz" + integrity sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g== + dependencies: + entities "^4.3.0" + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +patch-package@^6.4.7: + version "6.4.7" + resolved "https://registry.npmjs.org/patch-package/-/patch-package-6.4.7.tgz" + integrity sha512-S0vh/ZEafZ17hbhgqdnpunKDfzHQibQizx9g8yEf5dcVk3KOflOfdufRXQX8CSEkyOQwuM/bNz1GwKvFj54kaQ== + dependencies: + "@yarnpkg/lockfile" "^1.1.0" + chalk "^2.4.2" + cross-spawn "^6.0.5" + find-yarn-workspace-root "^2.0.0" + fs-extra "^7.0.1" + is-ci "^2.0.0" + klaw-sync "^6.0.0" + minimist "^1.2.0" + open "^7.4.2" + rimraf "^2.6.3" + semver "^5.6.0" + slash "^2.0.0" + tmp "^0.0.33" + +path-equal@^1.1.2: + version "1.2.2" + resolved "https://registry.npmjs.org/path-equal/-/path-equal-1.2.2.tgz" + integrity sha512-AUJvbcle1Zgb1TgtftHYknlrgrSYyI1ytrYgSbKUHSybwqUDnbD2cw9PIWivuMvsN+GTXmr/DRN4VBXpHG6aGg== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +peek-readable@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz" + integrity sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg== + +pg-connection-string@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.5.0.tgz#538cadd0f7e603fc09a12590f3b8a452c2c0cf34" + integrity sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ== + +pg-int8@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c" + integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== + +pg-pool@^3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.5.1.tgz#f499ce76f9bf5097488b3b83b19861f28e4ed905" + integrity sha512-6iCR0wVrro6OOHFsyavV+i6KYL4lVNyYAB9RD18w66xSzN+d8b66HiwuP30Gp1SH5O9T82fckkzsRjlrhD0ioQ== + +pg-protocol@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.5.0.tgz#b5dd452257314565e2d54ab3c132adc46565a6a0" + integrity sha512-muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ== + +pg-types@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-2.2.0.tgz#2d0250d636454f7cfa3b6ae0382fdfa8063254a3" + integrity sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== + dependencies: + pg-int8 "1.0.1" + postgres-array "~2.0.0" + postgres-bytea "~1.0.0" + postgres-date "~1.0.4" + postgres-interval "^1.1.0" + +pg@^8.7.3: + version "8.7.3" + resolved "https://registry.yarnpkg.com/pg/-/pg-8.7.3.tgz#8a5bdd664ca4fda4db7997ec634c6e5455b27c44" + integrity sha512-HPmH4GH4H3AOprDJOazoIcpI49XFsHCe8xlrjHkWiapdbHK+HLtbm/GQzXYAZwmPju/kzKhjaSfMACG+8cgJcw== + dependencies: + buffer-writer "2.0.0" + packet-reader "1.0.0" + pg-connection-string "^2.5.0" + pg-pool "^3.5.1" + pg-protocol "^1.5.0" + pg-types "^2.1.0" + pgpass "1.x" + +pgpass@1.x: + version "1.0.5" + resolved "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.5.tgz#9b873e4a564bb10fa7a7dbd55312728d422a223d" + integrity sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug== + dependencies: + split2 "^4.1.0" + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pirates@^4.0.4: + version "4.0.5" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +postgres-array@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e" + integrity sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== + +postgres-bytea@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz#027b533c0aa890e26d172d47cf9ccecc521acd35" + integrity sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w== + +postgres-date@~1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.7.tgz#51bc086006005e5061c591cee727f2531bf641a8" + integrity sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q== + +postgres-interval@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.2.0.tgz#b460c82cb1587507788819a06aa0fffdb3544695" + integrity sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== + dependencies: + xtend "^4.0.0" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + +pretty-format@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz" + integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== + dependencies: + "@jest/schemas" "^28.1.3" + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== + +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" + integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== + dependencies: + err-code "^2.0.2" + retry "^0.12.0" + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/proxy-agent/-/proxy-agent-5.0.0.tgz" + integrity sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g== + dependencies: + agent-base "^6.0.0" + debug "4" + http-proxy-agent "^4.0.0" + https-proxy-agent "^5.0.0" + lru-cache "^5.1.1" + pac-proxy-agent "^5.0.0" + proxy-from-env "^1.0.0" + socks-proxy-agent "^5.0.0" + +proxy-from-env@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@6.10.3, qs@^6.10.3: + version "6.10.3" + resolved "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz" + integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== + dependencies: + side-channel "^1.0.4" + +qs@6.9.3: + version "6.9.3" + resolved "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz" + integrity sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw== + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + +queue@6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz" + integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== + dependencies: + inherits "~2.0.3" + +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.1, raw-body@^2.2.0: + version "2.5.1" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +readable-stream@1.1.x, "readable-stream@1.x >=1.1.9": + version "1.1.14" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" + integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@^2.2.2: + version "2.3.7" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-web-to-node-stream@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz" + integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw== + dependencies: + readable-stream "^3.6.0" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== + dependencies: + resolve "^1.1.6" + +reflect-metadata@^0.1.13: + version "0.1.13" + resolved "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz" + integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== + +regenerate-unicode-properties@^10.0.1: + version "10.0.1" + resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz" + integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.13.4: + version "0.13.9" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== + +regenerator-transform@^0.15.0: + version "0.15.0" + resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz" + integrity sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg== + dependencies: + "@babel/runtime" "^7.8.4" + +regexpu-core@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz" + integrity sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^10.0.1" + regjsgen "^0.6.0" + regjsparser "^0.8.2" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.0.0" + +regjsgen@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz" + integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA== + +regjsparser@^0.8.2: + version "0.8.4" + resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz" + integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA== + dependencies: + jsesc "~0.5.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve.exports@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz" + integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== + +resolve@^1.0.0, resolve@^1.1.6, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1: + version "1.22.1" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== + +rimraf@^2.6.1, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1, safe-buffer@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-stable-stringify@^2.2.0: + version "2.3.1" + resolved "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz" + integrity sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg== + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sax@>=0.6.0: + version "1.2.4" + resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +semver@^5.5.0, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.3.5, semver@^7.3.7: + version "7.3.7" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + dependencies: + lru-cache "^6.0.0" + +send@0.18.0: + version "0.18.0" + resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +seq-queue@^0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/seq-queue/-/seq-queue-0.0.5.tgz#d56812e1c017a6e4e7c3e3a37a1da6d78dd3c93e" + integrity sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q== + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +sha.js@^2.4.11: + version "2.4.11" + resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shelljs@^0.8.5: + version "0.8.5" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.0, signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +simple-concat@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + +simple-get@^3.0.3: + version "3.1.1" + resolved "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz" + integrity sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA== + dependencies: + decompress-response "^4.2.0" + once "^1.3.1" + simple-concat "^1.0.0" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +socks-proxy-agent@5, socks-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz" + integrity sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ== + dependencies: + agent-base "^6.0.2" + debug "4" + socks "^2.3.3" + +socks-proxy-agent@^6.0.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz#2687a31f9d7185e38d530bef1944fe1f1496d6ce" + integrity sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ== + dependencies: + agent-base "^6.0.2" + debug "^4.3.3" + socks "^2.6.2" + +socks@^2.3.3: + version "2.6.2" + resolved "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz" + integrity sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA== + dependencies: + ip "^1.1.5" + smart-buffer "^4.2.0" + +socks@^2.6.2: + version "2.7.0" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.0.tgz#f9225acdb841e874dca25f870e9130990f3913d0" + integrity sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA== + dependencies: + ip "^2.0.0" + smart-buffer "^4.2.0" + +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-support@^0.5.12: + version "0.5.21" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +split2@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/split2/-/split2-4.1.0.tgz#101907a24370f85bb782f08adaabe4e281ecf809" + integrity sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +sqlite3@^5.0.11: + version "5.0.11" + resolved "https://registry.yarnpkg.com/sqlite3/-/sqlite3-5.0.11.tgz#102c835d70be66da9d95a383fd6ea084a082ef7f" + integrity sha512-4akFOr7u9lJEeAWLJxmwiV43DJcGV7w3ab7SjQFAFaTVyknY3rZjvXTKIVtWqUoY4xwhjwoHKYs2HDW2SoHVsA== + dependencies: + "@mapbox/node-pre-gyp" "^1.0.0" + node-addon-api "^4.2.0" + tar "^6.1.11" + optionalDependencies: + node-gyp "8.x" + +sqlstring@^2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.3.3.tgz#2ddc21f03bce2c387ed60680e739922c65751d0c" + integrity sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg== + +ssri@^8.0.0, ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== + dependencies: + minipass "^3.1.1" + +stack-utils@^2.0.3: + version "2.0.5" + resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== + dependencies: + escape-string-regexp "^2.0.0" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +streamsearch@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz" + integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strtok3@^6.2.4: + version "6.3.0" + resolved "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz" + integrity sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw== + dependencies: + "@tokenizer/token" "^0.3.0" + peek-readable "^4.1.0" + +superagent@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/superagent/-/superagent-8.0.0.tgz" + integrity sha512-iudipXEel+SzlP9y29UBWGDjB+Zzag+eeA1iLosaR2YHBRr1Q1kC29iBrF2zIVD9fqVbpZnXkN/VJmwFMVyNWg== + dependencies: + component-emitter "^1.3.0" + cookiejar "^2.1.3" + debug "^4.3.4" + fast-safe-stringify "^2.1.1" + form-data "^4.0.0" + formidable "^2.0.1" + methods "^1.1.2" + mime "2.6.0" + qs "^6.10.3" + readable-stream "^3.6.0" + semver "^7.3.7" + +supertest@^6.1.6: + version "6.2.4" + resolved "https://registry.npmjs.org/supertest/-/supertest-6.2.4.tgz" + integrity sha512-M8xVnCNv+q2T2WXVzxDECvL2695Uv2uUj2O0utxsld/HRyJvOU8W9f1gvsYxSNU4wmIe0/L/ItnpU4iKq0emDA== + dependencies: + methods "^1.1.2" + superagent "^8.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-hyperlinks@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +tar@^6.0.2, tar@^6.1.11, tar@^6.1.2: + version "6.1.11" + resolved "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz" + integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^3.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + +thirty-two@1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/thirty-two/-/thirty-two-1.0.2.tgz" + integrity sha512-OEI0IWCe+Dw46019YLl6V10Us5bi574EvlJEOcAkB29IzQ/mYD1A6RyNHLjZPiHCmuodxvgF6U+vZO1L15lxVA== + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +token-types@^4.1.1: + version "4.2.1" + resolved "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz" + integrity sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ== + dependencies: + "@tokenizer/token" "^0.3.0" + ieee754 "^1.2.1" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + +ts-node-dev@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ts-node-dev/-/ts-node-dev-2.0.0.tgz" + integrity sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w== + dependencies: + chokidar "^3.5.1" + dynamic-dedupe "^0.3.0" + minimist "^1.2.6" + mkdirp "^1.0.4" + resolve "^1.0.0" + rimraf "^2.6.1" + source-map-support "^0.5.12" + tree-kill "^1.2.2" + ts-node "^10.4.0" + tsconfig "^7.0.0" + +ts-node@^10.2.1, ts-node@^10.4.0: + version "10.9.1" + resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +ts-patch@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ts-patch/-/ts-patch-2.0.2.tgz#be9dc294ced6f53d6a8912f1f6ac98af23a715cd" + integrity sha512-NbgdS/J/ylaARJVaF1w4cPw378yvw6C1026fU5NKC2GO4jCwRlkuE/G7gwknNMHwkAOhwamKjuzkuLw/u4KlBg== + dependencies: + chalk "^4.1.2" + glob "^8.0.3" + global-prefix "^3.0.0" + minimist "^1.2.6" + resolve "^1.22.1" + shelljs "^0.8.5" + strip-ansi "^6.0.1" + +tsconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz" + integrity sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw== + dependencies: + "@types/strip-bom" "^3.0.0" + "@types/strip-json-comments" "0.0.30" + strip-bom "^3.0.0" + strip-json-comments "^2.0.0" + +tslib@^1.11.1, tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.1, tslib@^2.1.0, tslib@^2.3.1: + version "2.4.0" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== + dependencies: + prelude-ls "~1.1.2" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-is@^1.6.4, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== + +typeorm@^0.3.7: + version "0.3.7" + resolved "https://registry.npmjs.org/typeorm/-/typeorm-0.3.7.tgz" + integrity sha512-MsPJeP6Zuwfe64c++l80+VRqpGEGxf0CkztIEnehQ+CMmQPSHjOnFbFxwBuZ2jiLqZTjLk2ZqQdVF0RmvxNF3Q== + dependencies: + "@sqltools/formatter" "^1.2.2" + app-root-path "^3.0.0" + buffer "^6.0.3" + chalk "^4.1.0" + cli-highlight "^2.1.11" + date-fns "^2.28.0" + debug "^4.3.3" + dotenv "^16.0.0" + glob "^7.2.0" + js-yaml "^4.1.0" + mkdirp "^1.0.4" + reflect-metadata "^0.1.13" + sha.js "^2.4.11" + tslib "^2.3.1" + uuid "^8.3.2" + xml2js "^0.4.23" + yargs "^17.3.1" + +typescript-json-schema@^0.54.0: + version "0.54.0" + resolved "https://registry.npmjs.org/typescript-json-schema/-/typescript-json-schema-0.54.0.tgz" + integrity sha512-/MNhm1pjdxXiVspjjyRCrQAA1B768cRzHU83aIqN5vQqQEW2NgyyKOfcguiRIMM64lseIZIelegnHOHEu7YDCg== + dependencies: + "@types/json-schema" "^7.0.9" + "@types/node" "^16.9.2" + glob "^7.1.7" + path-equal "^1.1.2" + safe-stable-stringify "^2.2.0" + ts-node "^10.2.1" + typescript "~4.6.0" + yargs "^17.1.1" + +typescript@^4.1.2: + version "4.7.4" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz" + integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== + +typescript@~4.6.0: + version "4.6.4" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz" + integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz" + integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz" + integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +update-browserslist-db@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz" + integrity sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url-parse@~1.5.10: + version "1.5.10" + resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +v8-to-istanbul@^9.0.1: + version "9.0.1" + resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz" + integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +vm2@^3.9.8: + version "3.9.10" + resolved "https://registry.npmjs.org/vm2/-/vm2-3.9.10.tgz" + integrity sha512-AuECTSvwu2OHLAZYhG716YzwodKCIJxB6u1zG7PgSQwIgAlEaoXH52bxdcvT8GkGjnYK7r7yWDW0m0sOsPuBjQ== + dependencies: + acorn "^8.7.0" + acorn-walk "^8.2.0" + +walker@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which@^1.2.9, which@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.2, wide-align@^1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz" + integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +ws@^8.8.1: + version "8.8.1" + resolved "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz" + integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA== + +xml2js@^0.4.23: + version "0.4.23" + resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz" + integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + +xmlbuilder@~11.0.0: + version "11.0.1" + resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz" + integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== + +xregexp@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz" + integrity sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA== + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.0.0: + version "21.0.1" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz" + integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== + +yargs@^16.0.0: + version "16.2.0" + resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^17.1.1, yargs@^17.3.1: + version "17.5.1" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz" + integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.0.0" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/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 a24k0m4(Uop(9RY4>TLWE!2W;#$NvE^T~iGJ diff --git a/cdn/package.json b/cdn/package.json deleted file mode 100644 index 22d6c8c25..000000000 --- a/cdn/package.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "name": "@fosscord/cdn", - "version": "1.0.0", - "description": "cdn for fosscord", - "main": "dist/index.js", - "types": "src/index.ts", - "scripts": { - "test": "npm run build && npx jest --coverage ./tests", - "build": "npx tsc -p .", - "start": "node dist/start.js" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/fosscord/fosscord-server.git" - }, - "keywords": [], - "author": "Fosscord", - "license": "AGPL-3.0-only", - "bugs": { - "url": "https://github.com/fosscord/fosscord-server/issues" - }, - "homepage": "https://github.com/fosscord/fosscord-server#readme", - "devDependencies": { - "@types/body-parser": "^1.19.0", - "@types/dotenv": "^8.2.0", - "@types/express": "^4.17.12", - "@types/multer": "^1.4.7", - "@types/node": "^18.6.3" - }, - "dependencies": { - "@aws-sdk/client-s3": "^3.137.0", - "@fosscord/util": "file:../util", - "@types/node-fetch": "^2.6.2", - "body-parser": "^1.19.0", - "dotenv": "^16.0.1", - "exif-be-gone": "^1.3.0", - "express": "^4.17.1", - "file-type": "16.5", - "image-size": "^1.0.0", - "jest": "^28.1.3", - "lambert-server": "^1.2.12", - "multer": "^1.4.5-lts.1", - "node-fetch": "^2.6.7", - "picocolors": "^1.0.0", - "supertest": "^6.1.6", - "typescript": "^4.1.2" - }, - "jest": { - "setupFilesAfterEnv": [ - "/jest/setup.js" - ], - "verbose": true - } -} diff --git a/cdn/tsconfig.json b/cdn/tsconfig.json deleted file mode 100644 index 85b35f557..000000000 --- a/cdn/tsconfig.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "include": ["src/**/*.ts"], - "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ - - /* Basic Options */ - "incremental": false /* Enable incremental compilation */, - "target": "ES6" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, - "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, - "lib": [ - "ES2021", - "dom" - ] /* Specify library files to be included in the compilation. */, - "allowJs": true /* Allow javascript files to be compiled. */, - "checkJs": true /* Report errors in .js files. */, - // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ - "declaration": true /* Generates corresponding '.d.ts' file. */, - "declarationMap": false /* Generates a sourcemap for each corresponding '.d.ts' file. */, - "inlineSourceMap": true /* Emit a single file with source maps instead of having a separate file. */, - "sourceMap": true /* Generates corresponding '.map' file. */, - // "outFile": "./", /* Concatenate and emit output to single file. */ - "outDir": "./dist/" /* Redirect output structure to the directory. */, - "rootDir": "./src/" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, - // "composite": true, /* Enable project compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - // "removeComments": true, /* Do not emit comments to output. */ - // "noEmit": true, /* Do not emit outputs. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ - - /* Strict Type-Checking Options */ - "strict": true /* Enable all strict type-checking options. */, - "noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */, - // "strictNullChecks": true, /* Enable strict null checks. */ - // "strictFunctionTypes": true, /* Enable strict checking of function types. */ - // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ - "strictPropertyInitialization": false /* Enable strict checking of property initialization in classes. */, - // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - "alwaysStrict": true /* Parse in strict mode and emit "use strict" for each source file. */, - - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - - /* Module Resolution Options */ - // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ - // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ - // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - // "typeRoots": [], /* List of folders to include type definitions from. */ - "types": [ - "node" - ] /* Type declaration files to be included in compilation. */, - // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - - /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - - /* Experimental Options */ - "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - - /* Advanced Options */ - "skipLibCheck": true /* Skip type checking of declaration files. */, - "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */, - "baseUrl": ".", - "paths": { - "@fosscord/cdn": ["src/index"], - "@fosscord/cdn/*": ["src/*"] - }, - "plugins": [{ "transform": "@ovos-media/ts-transform-paths" }] - } -} diff --git a/dashboard/README.md b/dashboard/README.md deleted file mode 100644 index df1157a1e..000000000 --- a/dashboard/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# Fosscord-dashboard - -A admin dashboard for fosscord-server - -## (planned) Features - -- [ ] Overview usage (registered users, concurrent connections, voice usage, reports) -- [ ] Reports -- [ ] Member managment (edit (disable, delete, premium, username, discriminator)) -- [ ] Configuration ([Config.ts](https://github.com/fosscord/fosscord-server-util/blob/master/src/util/Config.ts)) - -port = 3005 diff --git a/dashboard/package-lock.json b/dashboard/package-lock.json deleted file mode 100644 index 4d56041e1b70d383bdedc5e3a88ec0482a33819d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88 zcmb>CQczIJOUzAGvQkh=Ni5Dt%1 diff --git a/dashboard/package.json b/dashboard/package.json deleted file mode 100644 index 87bc16991..000000000 --- a/dashboard/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "@fosscord/dashboard", - "version": "1.0.0", - "description": "Dashboard for Fosscord", - "main": "dist/index.js", - "types": "src/index.ts", - "scripts": { - "test": "npm run build && npx jest --coverage ./tests", - "build": "npx tsc -p .", - "start": "node dist/start.js" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/fosscord/fosscord-server.git" - }, - "keywords": [], - "author": "Fosscord", - "license": "AGPL-3.0-only", - "bugs": { - "url": "https://github.com/fosscord/fosscord-server/issues" - }, - "homepage": "https://github.com/fosscord/fosscord-server#readme" -} diff --git a/dashboard/src/index.ts b/dashboard/src/index.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/gateway/.env.example b/gateway/.env.example deleted file mode 100644 index 0224de64a..000000000 --- a/gateway/.env.example +++ /dev/null @@ -1,4 +0,0 @@ -MONGO_URL=mongodb://localhost/fosscord -PORT=3002 -PRODUCTION=TRUE -THREADS=# automatically use all available cores, only available if production = true \ No newline at end of file diff --git a/gateway/.gitignore b/gateway/.gitignore deleted file mode 100644 index daf8591a1..000000000 --- a/gateway/.gitignore +++ /dev/null @@ -1,107 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-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/ - -# TypeScript v1 declaration files -typings/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# 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 variables file -.env -.env.test - -# parcel-bundler cache (https://parceljs.org/) -.cache - -# Next.js build output -.next - -# Nuxt.js build / generate output -.nuxt -dist - -# 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 - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port -.DS_Store - -data \ No newline at end of file diff --git a/gateway/.swcrc b/gateway/.swcrc deleted file mode 100644 index e8cbb8a13..000000000 --- a/gateway/.swcrc +++ /dev/null @@ -1,16 +0,0 @@ -{ - "module": { - "type": "commonjs" - }, - "jsc": { - "parser": { - "syntax": "typescript", - "decorators": true - }, - "target": "es5", - "baseUrl": ".", - "paths": { - "@fosscord/gateway": ["src/index"] - } - } -} diff --git a/gateway/.vscode/launch.json b/gateway/.vscode/launch.json deleted file mode 100644 index 29bdde138..000000000 --- a/gateway/.vscode/launch.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "sourceMaps": true, - "type": "node", - "request": "launch", - "name": "Launch Server", - "program": "${workspaceFolder}/dist/start.js", - "preLaunchTask": "tsc: build - tsconfig.json", - "outFiles": ["${workspaceFolder}/dist/**/*.js"] - } - ] -} diff --git a/gateway/Dockerfile b/gateway/Dockerfile deleted file mode 100644 index e07b7d8ff..000000000 --- a/gateway/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM node:lts-alpine -WORKDIR /usr/src/fosscord-gateway -COPY package.json . -COPY package-lock.json . -RUN apk --no-cache --virtual build-dependencies add \ - python \ - make \ - g++ -RUN npm install -RUN apk del build-dependencies -COPY . . -RUN npm run build -EXPOSE 3002 -CMD ["node", "dist/start.js"] diff --git a/gateway/README.md b/gateway/README.md deleted file mode 100644 index 959d0d5be..000000000 --- a/gateway/README.md +++ /dev/null @@ -1,42 +0,0 @@ -