({
+ stats: null,
+ ranked: null,
+ aliases: [],
+ legends: [],
+ weapons: [],
+ legendsAccumulativeData: defaultLegendAccumulativeData,
+ weaponLessData: defaultWeaponlessData,
+})
+
+export const usePlayerStats = () => {
+ const context = useContext(playerStatsContext)
+ if (!context) {
+ throw new Error(
+ `usePlayerStats must be used within a PlayerStatsProvider`,
+ )
+ }
+
+ const { stats, ...rest } = context
+
+ if (!stats) {
+ throw new Error(`usePlayerStats must be used with a valid player`)
+ }
+
+ return { stats, ...rest }
+}
+
+type PlayerStatsProviderProps = {
+ children: ReactNode
+ stats: PlayerStats
+ ranked: PlayerRanked
+ aliases: BHPlayerAlias[]
+}
+
+export const PlayerStatsProvider = ({
+ children,
+ stats,
+ ranked,
+ aliases,
+}: PlayerStatsProviderProps) => {
+ const legends = getFullLegends(stats.legends || [], ranked?.legends)
+ const legendsAccumulativeData = getLegendsAccumulativeData(legends)
+ const weapons = getFullWeapons(legends)
+ const weaponLessData = getWeaponlessData(legends)
+
+ return (
+
+ {children}
+
+ )
+}
diff --git a/app/app/[locale]/(stats)/player/[playerId]/PlayerStatsTabs.tsx b/app/app/[locale]/(stats)/player/[playerId]/PlayerStatsTabs.tsx
new file mode 100644
index 000000000..bddb1770b
--- /dev/null
+++ b/app/app/[locale]/(stats)/player/[playerId]/PlayerStatsTabs.tsx
@@ -0,0 +1,67 @@
+"use client"
+
+import { cn } from "@/lib/utils"
+import { css, theme } from "ui/theme"
+import { usePlayerStats } from "./PlayerStatsProvider"
+import { useSelectedLayoutSegment } from "next/navigation"
+import Link from "next/link"
+
+const tabClassName = cn(
+ "px-6 py-4 uppercase text-xs border-b-2 z-10 whitespace-nowrap",
+ css({
+ borderColor: "transparent",
+ color: theme.colors.textVar1,
+ '&[data-state="active"]': {
+ borderColor: theme.colors.accent,
+ color: theme.colors.text,
+ },
+ "&:hover": {
+ backgroundColor: theme.colors.bgVar2,
+ borderColor: theme.colors.text,
+ color: theme.colors.text,
+ },
+ })().className,
+)
+
+export const PlayerStatsTabs = () => {
+ const {
+ stats: { brawlhalla_id: playerId },
+ ranked,
+ } = usePlayerStats()
+ const segment = useSelectedLayoutSegment()
+
+ return (
+
+
+ Overview
+
+ {ranked && ranked["2v2"].length > 0 && (
+
+ 2v2
+
+ )}
+
+ Legends
+
+
+ Weapons
+
+
+ )
+}
diff --git a/app/components/stats/player/PlayerOverviewTab/ClanContent.tsx b/app/app/[locale]/(stats)/player/[playerId]/_overview/ClanContent.tsx
similarity index 71%
rename from app/components/stats/player/PlayerOverviewTab/ClanContent.tsx
rename to app/app/[locale]/(stats)/player/[playerId]/_overview/ClanContent.tsx
index 6cba49ef7..2048d9aef 100644
--- a/app/components/stats/player/PlayerOverviewTab/ClanContent.tsx
+++ b/app/app/[locale]/(stats)/player/[playerId]/_overview/ClanContent.tsx
@@ -1,19 +1,15 @@
-import { AppLink } from "ui/base/AppLink"
import { ClanIcon } from "ui/icons"
-import { CollapsibleSection } from "@components/layout/CollapsibleSection"
-import { MiscStatGroup } from "../../MiscStatGroup"
+import { CollapsibleSection } from "@/components/layout/CollapsibleSection"
+import { MiscStatGroup } from "@/components/stats/MiscStatGroup"
import { cleanString } from "common/helpers/cleanString"
-import { cn } from "common/helpers/classnames"
-import type { PlayerStats } from "bhapi/types"
+import { cn } from "@/lib/utils"
+import { usePlayerStats } from "../PlayerStatsProvider"
+import Link from "next/link"
-type PlayerOverviewClanContentProps = {
- playerStats: PlayerStats
-}
-
-export const PlayerOverviewClanContent = ({
- playerStats,
-}: PlayerOverviewClanContentProps) => {
- const { name: playerName, clan } = playerStats
+export const ClanContent = () => {
+ const {
+ stats: { name: playerName, clan },
+ } = usePlayerStats()
if (!clan) return null
@@ -27,14 +23,14 @@ export const PlayerOverviewClanContent = ({
}
>
-
{cleanString(clan.clan_name)}
-
+
#{clan.clan_id}
diff --git a/app/components/stats/player/PlayerOverviewTab/RankedContent.tsx b/app/app/[locale]/(stats)/player/[playerId]/_overview/RankedContent.tsx
similarity index 86%
rename from app/components/stats/player/PlayerOverviewTab/RankedContent.tsx
rename to app/app/[locale]/(stats)/player/[playerId]/_overview/RankedContent.tsx
index 209d2794b..965af0e08 100644
--- a/app/components/stats/player/PlayerOverviewTab/RankedContent.tsx
+++ b/app/app/[locale]/(stats)/player/[playerId]/_overview/RankedContent.tsx
@@ -1,21 +1,22 @@
-import { CollapsibleSection } from "@components/layout/CollapsibleSection"
-import { Image } from "@components/Image"
-import { MiscStatGroup } from "../../MiscStatGroup"
+"use client"
+
+import { CollapsibleSection } from "@/components/layout/CollapsibleSection"
+import { Image } from "@/components/Image"
+import { type MiscStat, MiscStatGroup } from "@/components/stats/MiscStatGroup"
import { Rankings1v1Icon } from "ui/icons"
-import { RatingDisplay } from "../../RatingDisplay"
+import { RatingDisplay } from "@/components/stats/RatingDisplay"
import { calculateWinrate } from "bhapi/helpers/calculateWinrate"
import { getGlory, getPersonalEloReset } from "bhapi/calculator"
import { getTierFromRating } from "bhapi/helpers/getTierFromRating"
-import type { MiscStat } from "../../MiscStatGroup"
-import type { PlayerRanked } from "bhapi/types"
+import { usePlayerStats } from "../PlayerStatsProvider"
-type PlayerOverviewRankedContentProps = {
- ranked: PlayerRanked
-}
+export const RankedContent = () => {
+ const { ranked } = usePlayerStats()
+
+ if (!ranked) {
+ return null
+ }
-export const PlayerOverviewRankedContent = ({
- ranked,
-}: PlayerOverviewRankedContentProps) => {
const glory = getGlory(ranked)
const eloReset = getPersonalEloReset(ranked.rating)
diff --git a/app/app/[locale]/(stats)/player/[playerId]/layout.tsx b/app/app/[locale]/(stats)/player/[playerId]/layout.tsx
new file mode 100644
index 000000000..68cb76b34
--- /dev/null
+++ b/app/app/[locale]/(stats)/player/[playerId]/layout.tsx
@@ -0,0 +1,65 @@
+import { type BHPlayerAlias } from "db/generated/client"
+import { type Metadata } from "next"
+import { PlayerStatsHeader } from "./PlayerStatsHeader"
+import { PlayerStatsProvider } from "./PlayerStatsProvider"
+import { PlayerStatsTabs } from "./PlayerStatsTabs"
+import { type ReactNode, cache } from "react"
+import { getPlayerRanked, getPlayerStats } from "bhapi"
+import { supabaseService } from "db/supabase/service"
+
+export type PlayerStatsLayoutProps = {
+ children: ReactNode
+ params: {
+ playerId: string
+ }
+}
+
+const fetchPlayerData = cache(async (playerId: string) => {
+ const [stats, ranked, aliases] = await Promise.all([
+ getPlayerStats(playerId),
+ getPlayerRanked(playerId),
+ (async () => {
+ const { data, error } = await supabaseService
+ .from("BHPlayerAlias")
+ .select("*")
+ .order("createdAt", { ascending: false })
+ .match({ playerId, public: true })
+
+ if (error) throw error
+
+ return data
+ })(),
+ ])
+
+ return {
+ stats,
+ ranked,
+ aliases,
+ }
+})
+
+export const generateMetadata = async ({
+ params: { playerId },
+}: PlayerStatsLayoutProps): Promise => {
+ const { stats } = await fetchPlayerData(playerId)
+
+ return {
+ title: `${stats.name} - Player Stats • Corehalla`,
+ description: `${stats.name} Stats - Brawlhalla Player Stats • Corehalla`,
+ }
+}
+
+export default async function PlayerStatsLayout({
+ params: { playerId },
+ children,
+}: PlayerStatsLayoutProps) {
+ const { stats, ranked, aliases } = await fetchPlayerData(playerId)
+
+ return (
+
+
+
+ {children}
+
+ )
+}
diff --git a/app/components/stats/player/PlayerLegendsTab/Legend.tsx b/app/app/[locale]/(stats)/player/[playerId]/legends/Legend.tsx
similarity index 92%
rename from app/components/stats/player/PlayerLegendsTab/Legend.tsx
rename to app/app/[locale]/(stats)/player/[playerId]/legends/Legend.tsx
index 8d4a3dcd0..105ac65db 100644
--- a/app/components/stats/player/PlayerLegendsTab/Legend.tsx
+++ b/app/app/[locale]/(stats)/player/[playerId]/legends/Legend.tsx
@@ -1,12 +1,11 @@
-import { CollapsibleContent } from "../../../layout/CollapsibleContent"
-import { GeneralStats } from "../../GeneralStats"
-import { Image } from "@components/Image"
-import { MiscStatGroup } from "../../MiscStatGroup"
+import { CollapsibleContent } from "@/components/layout/CollapsibleContent"
+import { GeneralStats } from "@/components/stats/GeneralStats"
+import { Image } from "@/components/Image"
+import { type MiscStat, MiscStatGroup } from "@/components/stats/MiscStatGroup"
import { PlayerLegendRankedContent } from "./RankedContent"
import { PlayerLegendWeaponDistribution } from "./WeaponDistribution"
import { formatTime } from "common/helpers/date"
import type { FullLegend } from "bhapi/legends"
-import type { MiscStat } from "../../MiscStatGroup"
type LegendProps = {
legend: FullLegend
diff --git a/app/components/stats/player/PlayerLegendsTab/RankedContent.tsx b/app/app/[locale]/(stats)/player/[playerId]/legends/RankedContent.tsx
similarity index 88%
rename from app/components/stats/player/PlayerLegendsTab/RankedContent.tsx
rename to app/app/[locale]/(stats)/player/[playerId]/legends/RankedContent.tsx
index fbf3754cc..cde181816 100644
--- a/app/components/stats/player/PlayerLegendsTab/RankedContent.tsx
+++ b/app/app/[locale]/(stats)/player/[playerId]/legends/RankedContent.tsx
@@ -1,12 +1,11 @@
-import { CollapsibleSection } from "@components/layout/CollapsibleSection"
-import { Image } from "@components/Image"
-import { MiscStatGroup } from "../../MiscStatGroup"
-import { RatingDisplay } from "../../RatingDisplay"
+import { CollapsibleSection } from "@/components/layout/CollapsibleSection"
+import { Image } from "@/components/Image"
+import { type MiscStat, MiscStatGroup } from "@/components/stats/MiscStatGroup"
+import { RatingDisplay } from "@/components/stats/RatingDisplay"
import { calculateWinrate } from "bhapi/helpers/calculateWinrate"
import { getLegendEloReset } from "bhapi/calculator"
import { getTierFromRating } from "bhapi/helpers/getTierFromRating"
import type { FullLegend } from "bhapi/legends"
-import type { MiscStat } from "../../MiscStatGroup"
type PlayerLegendRankedContentProps = {
ranked: FullLegend["ranked"]
diff --git a/app/components/stats/player/PlayerLegendsTab/WeaponDistribution.tsx b/app/app/[locale]/(stats)/player/[playerId]/legends/WeaponDistribution.tsx
similarity index 98%
rename from app/components/stats/player/PlayerLegendsTab/WeaponDistribution.tsx
rename to app/app/[locale]/(stats)/player/[playerId]/legends/WeaponDistribution.tsx
index f61b2b773..e979ee641 100644
--- a/app/components/stats/player/PlayerLegendsTab/WeaponDistribution.tsx
+++ b/app/app/[locale]/(stats)/player/[playerId]/legends/WeaponDistribution.tsx
@@ -1,7 +1,7 @@
import { Card } from "ui/base/Card"
-import { CollapsibleSection } from "@components/layout/CollapsibleSection"
-import { Image } from "@components/Image"
-import { MiscStatGroup } from "@components/stats/MiscStatGroup"
+import { CollapsibleSection } from "@/components/layout/CollapsibleSection"
+import { Image } from "@/components/Image"
+import { MiscStatGroup } from "@/components/stats/MiscStatGroup"
import { formatTime } from "common/helpers/date"
import type { FullLegend } from "bhapi/legends"
diff --git a/app/app/[locale]/(stats)/player/[playerId]/legends/loading.tsx b/app/app/[locale]/(stats)/player/[playerId]/legends/loading.tsx
new file mode 100644
index 000000000..ec9797730
--- /dev/null
+++ b/app/app/[locale]/(stats)/player/[playerId]/legends/loading.tsx
@@ -0,0 +1,5 @@
+import { TabContentLoader } from "@/app/[locale]/(stats)/TabContentLoader"
+
+export default function Loading() {
+ return
+}
diff --git a/app/components/stats/player/PlayerLegendsTab/PlayerLegendsTab.tsx b/app/app/[locale]/(stats)/player/[playerId]/legends/page.tsx
similarity index 96%
rename from app/components/stats/player/PlayerLegendsTab/PlayerLegendsTab.tsx
rename to app/app/[locale]/(stats)/player/[playerId]/legends/page.tsx
index 9236b731d..6599238cc 100644
--- a/app/components/stats/player/PlayerLegendsTab/PlayerLegendsTab.tsx
+++ b/app/app/[locale]/(stats)/player/[playerId]/legends/page.tsx
@@ -1,22 +1,18 @@
+"use client"
+
import { Legend } from "./Legend"
-import { MiscStatGroup } from "../../MiscStatGroup"
+import { type MiscStat, MiscStatGroup } from "@/components/stats/MiscStatGroup"
import { Select } from "ui/base/Select"
import { SortAscendingIcon, SortDescendingIcon } from "ui/icons"
import { SortDirection, useSortBy } from "common/hooks/useSortBy"
import { calculateWinrate } from "bhapi/helpers/calculateWinrate"
import { formatTime } from "common/helpers/date"
import { useMemo, useState } from "react"
+import { usePlayerStats } from "../PlayerStatsProvider"
import { weapons } from "bhapi/constants"
import type { FullLegend } from "bhapi/legends"
-import type { MiscStat } from "../../MiscStatGroup"
import type { Weapon } from "bhapi/constants"
-type PlayerLegendsTabProps = {
- legends: FullLegend[]
- matchtime: number
- games: number
-}
-
type LegendSortOption =
| "name"
| "xp"
@@ -28,11 +24,13 @@ type LegendSortOption =
| "peak_rating"
| "matchtime"
-export const PlayerLegendsTab = ({
- legends,
- matchtime,
- games,
-}: PlayerLegendsTabProps) => {
+export default function PlayerLegendsTab() {
+ const {
+ legends,
+ stats: { games },
+ legendsAccumulativeData: { matchtime },
+ } = usePlayerStats()
+
const [weaponFilter, setWeaponFilter] = useState("")
const {
sortedArray: sortedLegends,
diff --git a/app/app/[locale]/(stats)/player/[playerId]/loading.tsx b/app/app/[locale]/(stats)/player/[playerId]/loading.tsx
new file mode 100644
index 000000000..ec9797730
--- /dev/null
+++ b/app/app/[locale]/(stats)/player/[playerId]/loading.tsx
@@ -0,0 +1,5 @@
+import { TabContentLoader } from "@/app/[locale]/(stats)/TabContentLoader"
+
+export default function Loading() {
+ return
+}
diff --git a/app/components/stats/player/PlayerOverviewTab/PlayerOverviewTab.tsx b/app/app/[locale]/(stats)/player/[playerId]/page.tsx
similarity index 72%
rename from app/components/stats/player/PlayerOverviewTab/PlayerOverviewTab.tsx
rename to app/app/[locale]/(stats)/player/[playerId]/page.tsx
index af5427bbf..6e640a379 100644
--- a/app/components/stats/player/PlayerOverviewTab/PlayerOverviewTab.tsx
+++ b/app/app/[locale]/(stats)/player/[playerId]/page.tsx
@@ -1,43 +1,35 @@
-import { CollapsibleSection } from "@components/layout/CollapsibleSection"
-import { FiTarget } from "react-icons/fi"
-import { GeneralStats } from "../../GeneralStats"
-import { HiChartBar, HiFire, HiHand } from "react-icons/hi"
-import { MiscStatGroup } from "../../MiscStatGroup"
-import { PlayerOverviewClanContent } from "./ClanContent"
-import { PlayerOverviewRankedContent } from "./RankedContent"
-import { formatTime } from "common/helpers/date"
-import { getWeaponlessData } from "bhapi/legends"
-import type { FullLegend } from "bhapi/legends"
-import type { MiscStat } from "../../MiscStatGroup"
-import type { PlayerRanked, PlayerStats } from "bhapi/types"
+"use client"
-type PlayerOverviewTabProps = {
- stats: PlayerStats
- ranked?: PlayerRanked
- legends: FullLegend[]
- kos: number
- falls: number
- suicides: number
- teamkos: number
- damageDealt: number
- damageTaken: number
- matchtime: number
-}
+import { ClanContent } from "./_overview/ClanContent"
+import { CollapsibleSection } from "@/components/layout/CollapsibleSection"
+import {
+ GadgetsIcon,
+ GeneralStatsIcon,
+ UnarmedIcon,
+ WeaponThrowsIcon,
+} from "ui/icons"
+import { GeneralStats } from "@/components/stats/GeneralStats"
+import { type MiscStat, MiscStatGroup } from "@/components/stats/MiscStatGroup"
+import { RankedContent } from "./_overview/RankedContent"
+import { formatTime } from "common/helpers/date"
+import { usePlayerStats } from "./PlayerStatsProvider"
-export const PlayerOverviewTab = ({
- stats,
- ranked,
- legends,
- kos,
- falls,
- suicides,
- teamkos,
- damageDealt,
- damageTaken,
- matchtime,
-}: PlayerOverviewTabProps) => {
+export default function PlayerStatsPage() {
+ const {
+ stats,
+ ranked,
+ legendsAccumulativeData: {
+ matchtime,
+ kos,
+ falls,
+ suicides,
+ teamkos,
+ damageDealt,
+ damageTaken,
+ },
+ weaponLessData: { unarmed, gadgets, throws },
+ } = usePlayerStats()
const { clan } = stats
- const { unarmed, gadgets, throws } = getWeaponlessData(legends)
const generalStats: MiscStat[] = [
{
@@ -127,12 +119,15 @@ export const PlayerOverviewTab = ({
return (
<>
- {ranked && }
- {clan && }
+ {ranked && }
+ {clan && }
-
+
General Stats
>
}
@@ -153,7 +148,7 @@ export const PlayerOverviewTab = ({
-
+
Unarmed
>
}
@@ -163,7 +158,10 @@ export const PlayerOverviewTab = ({
-
+
Weapon Throws
>
}
@@ -173,7 +171,7 @@ export const PlayerOverviewTab = ({
-
+
Gadgets
>
}
diff --git a/app/components/stats/player/PlayerWeaponsTab/RankedContent.tsx b/app/app/[locale]/(stats)/player/[playerId]/weapons/RankedContent.tsx
similarity index 96%
rename from app/components/stats/player/PlayerWeaponsTab/RankedContent.tsx
rename to app/app/[locale]/(stats)/player/[playerId]/weapons/RankedContent.tsx
index af04a7c7c..2675876ec 100644
--- a/app/components/stats/player/PlayerWeaponsTab/RankedContent.tsx
+++ b/app/app/[locale]/(stats)/player/[playerId]/weapons/RankedContent.tsx
@@ -1,10 +1,9 @@
-import { Image } from "@components/Image"
-import { MiscStatGroup } from "../../MiscStatGroup"
-import { SectionTitle } from "../../../layout/SectionTitle"
+import { Image } from "@/components/Image"
+import { type MiscStat, MiscStatGroup } from "@/components/stats/MiscStatGroup"
+import { SectionTitle } from "@/components/layout/SectionTitle"
import { calculateWinrate } from "bhapi/helpers/calculateWinrate"
import { memo } from "react"
import type { FullLegend, FullWeapon } from "bhapi/legends"
-import type { MiscStat } from "../../MiscStatGroup"
type PlayerWeaponRankedContentProps = {
weapon: FullWeapon
diff --git a/app/components/stats/player/PlayerWeaponsTab/Weapon.tsx b/app/app/[locale]/(stats)/player/[playerId]/weapons/Weapon.tsx
similarity index 94%
rename from app/components/stats/player/PlayerWeaponsTab/Weapon.tsx
rename to app/app/[locale]/(stats)/player/[playerId]/weapons/Weapon.tsx
index f32446f0b..13f5dacbc 100644
--- a/app/components/stats/player/PlayerWeaponsTab/Weapon.tsx
+++ b/app/app/[locale]/(stats)/player/[playerId]/weapons/Weapon.tsx
@@ -1,12 +1,11 @@
import { Card } from "ui/base/Card"
-import { CollapsibleContent } from "../../../layout/CollapsibleContent"
-import { GamesDisplay } from "../../GamesDisplay"
-import { Image } from "@components/Image"
-import { MiscStatGroup } from "../../MiscStatGroup"
+import { CollapsibleContent } from "@/components/layout/CollapsibleContent"
+import { GamesDisplay } from "@/components/stats/GamesDisplay"
+import { Image } from "@/components/Image"
+import { type MiscStat, MiscStatGroup } from "@/components/stats/MiscStatGroup"
import { PlayerWeaponRankedContent } from "./RankedContent"
import { formatTime } from "common/helpers/date"
import type { FullWeapon } from "bhapi/legends"
-import type { MiscStat } from "../../MiscStatGroup"
type Weapon = FullWeapon & {
games: number
diff --git a/app/app/[locale]/(stats)/player/[playerId]/weapons/loading.tsx b/app/app/[locale]/(stats)/player/[playerId]/weapons/loading.tsx
new file mode 100644
index 000000000..ec9797730
--- /dev/null
+++ b/app/app/[locale]/(stats)/player/[playerId]/weapons/loading.tsx
@@ -0,0 +1,5 @@
+import { TabContentLoader } from "@/app/[locale]/(stats)/TabContentLoader"
+
+export default function Loading() {
+ return
+}
diff --git a/app/components/stats/player/PlayerWeaponsTab/PlayerWeaponsTab.tsx b/app/app/[locale]/(stats)/player/[playerId]/weapons/page.tsx
similarity index 93%
rename from app/components/stats/player/PlayerWeaponsTab/PlayerWeaponsTab.tsx
rename to app/app/[locale]/(stats)/player/[playerId]/weapons/page.tsx
index 692765287..f73b978e1 100644
--- a/app/components/stats/player/PlayerWeaponsTab/PlayerWeaponsTab.tsx
+++ b/app/app/[locale]/(stats)/player/[playerId]/weapons/page.tsx
@@ -1,3 +1,5 @@
+"use client"
+
import { Select } from "ui/base/Select"
import { SortAscendingIcon, SortDescendingIcon } from "ui/icons"
import { SortDirection, useSortBy } from "common/hooks/useSortBy"
@@ -6,13 +8,7 @@ import { calculateWinrate } from "bhapi/helpers/calculateWinrate"
import { formatTime } from "common/helpers/date"
import { getWeaponsAccumulativeData } from "bhapi/legends"
import { useMemo } from "react"
-import type { FullWeapon } from "bhapi/legends"
-
-type PlayerWeaponsTabProps = {
- weapons: FullWeapon[]
- matchtime: number
- games: number
-}
+import { usePlayerStats } from "../PlayerStatsProvider"
type WeaponSortOption =
| "name"
@@ -23,11 +19,12 @@ type WeaponSortOption =
| "winrate"
| "matchtime"
-export const PlayerWeaponsTab = ({
- weapons,
- matchtime,
- games,
-}: PlayerWeaponsTabProps) => {
+export default function PlayerWeaponsTab() {
+ const {
+ weapons,
+ stats: { games },
+ legendsAccumulativeData: { matchtime },
+ } = usePlayerStats()
const weaponsStats = useMemo(
() => getWeaponsAccumulativeData(weapons),
[weapons],
@@ -41,7 +38,7 @@ export const PlayerWeaponsTab = ({
changeSortDirection: changeWeaponSortDirection,
sortDirection: weaponSortDirection,
displaySortFn: displayWeaponSortFn,
- } = useSortBy(
+ } = useSortBy<(typeof weaponsStats)[number], WeaponSortOption>(
weaponsStats,
{
name: {
diff --git a/app/components/DiscordCard.tsx b/app/app/[locale]/_landing/DiscordCard.tsx
similarity index 78%
rename from app/components/DiscordCard.tsx
rename to app/app/[locale]/_landing/DiscordCard.tsx
index 7ea2620f6..77f82925c 100644
--- a/app/components/DiscordCard.tsx
+++ b/app/app/[locale]/_landing/DiscordCard.tsx
@@ -1,9 +1,15 @@
+"use client"
+
import { ArrowSmRightIcon, DiscordIcon, KofiIcon } from "ui/icons"
import { Button } from "ui/base/Button"
-import { Image } from "@components/Image"
+import { COREHALLA_DISCORD_URL, COREHALLA_KOFI_URL } from "@/socials"
+import { Image } from "@/components/Image"
+import { Trans } from "@lingui/macro"
import { clamp } from "common/helpers/math"
import { useEffect, useRef } from "react"
+const DISCORD_MEMBERS = "4.5k+"
+
export const DiscordCard = () => {
const containerRef = useRef(null)
const cardRef = useRef(null)
@@ -68,40 +74,50 @@ export const DiscordCard = () => {
containerClassName="w-20 h-20 rounded-3xl -mt-10 ml-6 border-8 border-bgVar2 overflow-hidden"
/>
- 3k+ discord members, and growing!
+
+ {DISCORD_MEMBERS} discord members, and growing!
+
- Question of the day
+ Question of the day
- Which weapon(s) do you enjoy playing the most? and
- which one(s) you dislike playing?
+
+ Which weapon(s) do you enjoy playing the most ?
+ and which one(s) you dislike playing ?
+
- Share your thoughts
+ Share your thoughts
-
- Join
+
+ {" "}
+ Join
- Donate
+ {" "}
+ Donate
diff --git a/app/components/layout/LandingBackground.tsx b/app/app/[locale]/_landing/LandingBackground.tsx
similarity index 99%
rename from app/components/layout/LandingBackground.tsx
rename to app/app/[locale]/_landing/LandingBackground.tsx
index 0520c7dfa..a4c3cfaf4 100644
--- a/app/components/layout/LandingBackground.tsx
+++ b/app/app/[locale]/_landing/LandingBackground.tsx
@@ -1,4 +1,4 @@
-import { cn } from "common/helpers/classnames"
+import { cn } from "@/lib/utils"
type LandingBackgroundProps = {
className?: string
@@ -17,8 +17,10 @@ export const LandingBackground = ({ className }: LandingBackgroundProps) => {
fill="#212531"
d="M96.97 446.437c0 2.2 52.911-69.446 94.8-37.479L89.254 590.84s-5.512 25.353 14.33 30.865c19.842 5.512 37.479-13.228 37.479-13.228s97-176.37 98.106-177.472c44.093 8.818 18.739 98.106 19.842 98.106 77.162 12.125 233.69-76.06 170.858-288.806 1.1 2.2-34.172 54.013-90.39 46.3 0 0 11.023-41.888-16.535-57.32-27.558-15.432-51.808 16.535-51.808 16.535s-38.581-38.581-5.512-110.231c0-1.106-259.044 45.191-168.654 310.848Zm1627.62 21.971c.66.333-12.59-26.169 3.21-33.757l38.43 57.85s6.68 5.463 11.31.414c4.63-5.048 1.74-13.105 1.74-13.105s-37.63-55.387-37.79-55.879c9.28-11.737 31.91 9.262 32.08 8.935 15.24-21.038 12.75-80.748-59.8-94.255.82.005 10.85 18.285.07 33.782 0 0-10.75-9.593-19.48-3.756-8.74 5.837-2.93 17.852-2.93 17.852s-17.26 5.609-33.5-15.014c-.33-.164-25.72 83.604 66.66 96.933ZM354.176 611.626c-1.124.375 32.233-1.5 16.116 68.963 1.124.75 3 22.113 28.485 11.619 0-.375-12.743-35.231 24.737-34.856.75.375 6.746-31.108 43.477-34.856 36.731-3.748 2.249-65.59 2.249-65.59s-105.319 25.111-115.064 54.72Zm514.198-177.868c.599.479-12.167-16.95 31.719-33.03.01-.874 10.935-9.415-3.733-19.539-.203.132-14.616 19.32-27.615-1.136-.06-.538-19.245 7.3-34.215-11.298-14.971-18.598-36.359 21.885-36.359 21.885s50.714 48.263 70.203 43.118ZM83.733 1092.2c-.114.76 8.595-19 44.443 10.96.761-.43 13.614 4.76 15.048-12.99-.215-.11-24.028-3-12.814-24.48.436-.32-15.935-13.01-7.315-35.26 8.62-22.25-37.111-20.54-37.111-20.54s-16.442 68.01-2.25 82.31ZM1646.44 67.407l43.43-27.36-2.63 54.664-15.3-8.506-45.52 106.311 11.66 35.691-13.53 30.019-17.06-41.759-37.73 3.021 16.92-30.104 27.08-5.957 45-106.195-12.32-9.825Z"
/>
+
+
{
+ const { isLoggedIn, signIn } = useAuth()
+ const { favorites } = useFavorites()
+ return (
+
+ {favorites.length > 0 ? (
+
+ ) : (
+
+ {isLoggedIn ? (
+ <>
+
+ You don't have any favorites yet, you can a
+ player or a clan as favorite when visiting their
+ profile page.
+
+
+ View rankings
+
+ >
+ ) : (
+ <>
+
+
+ Here you'll be able to see your
+ favorite players and clans
+
+
+
+
+ Sign in
+
+ >
+ )}
+
+ )}
+
+ )
+}
diff --git a/app/components/WeeklyRotation.tsx b/app/app/[locale]/_landing/WeeklyRotation.tsx
similarity index 82%
rename from app/components/WeeklyRotation.tsx
rename to app/app/[locale]/_landing/WeeklyRotation.tsx
index 7c78d0a7f..5551cf132 100644
--- a/app/components/WeeklyRotation.tsx
+++ b/app/app/[locale]/_landing/WeeklyRotation.tsx
@@ -1,10 +1,13 @@
-import { Image } from "@components/Image"
+import { Image } from "@/components/Image"
import { Tooltip } from "ui/base/Tooltip"
+import { Trans } from "@lingui/macro"
import { UnknownIcon } from "ui/icons"
-import { useWeeklyRotation } from "@hooks/useWeeklyRotation"
+import { getWeeklyRotation } from "web-parser/common"
-export const WeeklyRotation = () => {
- const { weeklyRotation } = useWeeklyRotation()
+export const WeeklyRotation = async () => {
+ const weeklyRotation = await getWeeklyRotation()
+
+ if (weeklyRotation.length === 0) return null
return (
@@ -33,7 +36,7 @@ export const WeeklyRotation = () => {
))}
- Free Legends Rotation
+ Free Legends Rotation
)
diff --git a/app/components/layout/AlertBar.tsx b/app/app/[locale]/_layout/AlertBar.tsx
similarity index 92%
rename from app/components/layout/AlertBar.tsx
rename to app/app/[locale]/_layout/AlertBar.tsx
index 3987f06bf..c333558fa 100644
--- a/app/components/layout/AlertBar.tsx
+++ b/app/app/[locale]/_layout/AlertBar.tsx
@@ -1,5 +1,5 @@
import { InfoIcon } from "ui/icons"
-import { alerts } from "@util/alerts"
+import { alerts } from "@/util/alerts"
const CURRENT_ALERT = process.env.NEXT_PUBLIC_ALERT as
| keyof typeof alerts
diff --git a/app/components/layout/ErrorPageContent.tsx b/app/app/[locale]/_layout/ErrorDisplay.tsx
similarity index 50%
rename from app/components/layout/ErrorPageContent.tsx
rename to app/app/[locale]/_layout/ErrorDisplay.tsx
index 5cc3dd4de..1323dffe0 100644
--- a/app/components/layout/ErrorPageContent.tsx
+++ b/app/app/[locale]/_layout/ErrorDisplay.tsx
@@ -1,41 +1,46 @@
import { Button } from "ui/base/Button"
+import { COREHALLA_DISCORD_URL, COREHALLA_GITHUB_URL } from "@/socials"
import { DiscordIcon, GithubIcon } from "ui/icons"
-import { Image } from "@components/Image"
-import { SectionTitle } from "./SectionTitle"
-import { useRouter } from "next/router"
+import { SectionTitle } from "@/components/layout/SectionTitle"
+import { Trans } from "@lingui/macro"
+import { useEffect } from "react"
-type ErrorPageContentProps = {
+type ErrorDisplayProps = {
title?: string
- statusCode?: number
+ reset: () => void
+ error: Error & { digest?: string }
}
-export const ErrorPageContent = ({
+export const ErrorDisplay = ({
title = "Oops, something went wrong",
- statusCode,
-}: ErrorPageContentProps) => {
- const router = useRouter()
+ reset,
+ error,
+}: ErrorDisplayProps) => {
+ useEffect(() => {
+ // eslint-disable-next-line no-console
+ console.log("error", error)
+ // TODO: Log the error to an error reporting service
+ }, [error])
return (
{title}
- {statusCode && (
-
- )}
-
router.push("/")}>
- Bring me home
-
+ {!!reset && (
+
+ Try Again
+
+ )}
{
window
- ?.open("/discord", "_blank", "noreferrer")
+ ?.open(
+ COREHALLA_DISCORD_URL,
+ "_blank",
+ "noreferrer",
+ )
?.focus()
}}
className="flex items-center gap-2"
@@ -46,7 +51,11 @@ export const ErrorPageContent = ({
buttonStyle="outline"
onClick={() => {
window
- ?.open("/github", "_blank", "noreferrer")
+ ?.open(
+ COREHALLA_GITHUB_URL,
+ "_blank",
+ "noreferrer",
+ )
?.focus()
}}
className="flex items-center gap-2"
diff --git a/app/components/layout/Footer.tsx b/app/app/[locale]/_layout/Footer.tsx
similarity index 68%
rename from app/components/layout/Footer.tsx
rename to app/app/[locale]/_layout/Footer.tsx
index 5ee0140af..539e5eff9 100644
--- a/app/components/layout/Footer.tsx
+++ b/app/app/[locale]/_layout/Footer.tsx
@@ -1,20 +1,26 @@
-import { AppLink } from "ui/base/AppLink"
+import {
+ COREHALLA_DISCORD_URL,
+ COREHALLA_GITHUB_URL,
+ COREHALLA_TWITTER_URL,
+} from "@/socials"
import { DiscordIcon, GithubIcon, TwitterIcon } from "ui/icons"
import { Tooltip } from "ui/base/Tooltip"
+import { Trans } from "@lingui/macro"
+import Link from "next/link"
const socialLinks = [
{
- href: "/discord",
+ href: COREHALLA_DISCORD_URL,
Icon: DiscordIcon,
name: "Discord",
},
{
- href: "/twitter",
+ href: COREHALLA_TWITTER_URL,
Icon: TwitterIcon,
name: "Twitter",
},
{
- href: "/github",
+ href: COREHALLA_GITHUB_URL,
Icon: GithubIcon,
name: "Github",
},
@@ -32,29 +38,31 @@ export const Footer = ({ className }: FooterProps) => {
Visual assets courtesy of{" "}
-
Blue Mammoth Games
- {" "}
+ {" "}
&{" "}
-
Freepik - Flaticon
-
+
.
- Corehalla is neither associated nor endorsed by Blue Mammoth
- Games and doesn't reflect the views or opinions of Blue
- Mammoth Games or anyone officially involved in developing
- Brawlhalla.
-
- Brawlhalla and Blue Mammoth Games are trademarks of{" "}
+
+ Corehalla is neither associated nor endorsed by Blue
+ Mammoth Games and doesn't reflect the views or
+ opinions of Blue Mammoth Games or anyone officially
+ involved in developing Brawlhalla.
+
+ Brawlhalla and Blue Mammoth Games are trademarks of{" "}
+
Blue Mammoth Games
@@ -62,17 +70,19 @@ export const Footer = ({ className }: FooterProps) => {
-
Join the community:
+
+ Join our community :
+
{socialLinks.map(({ Icon, href, name }) => (
-
-
+
))}
diff --git a/app/components/layout/Header.tsx b/app/app/[locale]/_layout/Header.tsx
similarity index 76%
rename from app/components/layout/Header.tsx
rename to app/app/[locale]/_layout/Header.tsx
index dd7120b69..379b2249c 100644
--- a/app/components/layout/Header.tsx
+++ b/app/app/[locale]/_layout/Header.tsx
@@ -1,14 +1,25 @@
+"use client"
+
import { AlertBar } from "./AlertBar"
-import { AppLink } from "ui/base/AppLink"
import { Button } from "ui/base/Button"
+import {
+ COREHALLA_DISCORD_URL,
+ COREHALLA_GITHUB_URL,
+ COREHALLA_TWITTER_URL,
+} from "@/socials"
import { DiscordIcon, GithubIcon, TwitterIcon } from "ui/icons"
import { HamburgerMenuIcon } from "ui/icons"
-import { Image } from "@components/Image"
-import { SearchButton, SearchButtonIcon } from "../search/SearchButton"
-import { cn } from "common/helpers/classnames"
-import { useAuth } from "@ctx/auth/AuthProvider"
-import { useRouter } from "next/router"
-import { useSideNav } from "@ctx/SideNavProvider"
+import { Image } from "@/components/Image"
+import {
+ SearchButton,
+ SearchButtonIcon,
+} from "@/components/search/SearchButton"
+import { Trans } from "@lingui/macro"
+import { cn } from "@/lib/utils"
+import { useAuth } from "@/providers/auth/AuthProvider"
+import { usePathname } from "next/navigation"
+import { useSideNav } from "@/providers/SideNavProvider"
+import Link from "next/link"
type HeaderProps = {
className?: string
@@ -16,11 +27,11 @@ type HeaderProps = {
export const Header = ({ className }: HeaderProps) => {
const { isLoggedIn, signIn, signOut, userProfile } = useAuth()
- const router = useRouter()
+ const pathname = usePathname()
const { openSideNav } = useSideNav()
- const isLandingPage = router.pathname === "/"
+ const isLandingPage = pathname === "/"
return (
<>
@@ -42,7 +53,7 @@ export const Header = ({ className }: HeaderProps) => {
>
-
@@ -52,7 +63,7 @@ export const Header = ({ className }: HeaderProps) => {
className="object-contain object-center"
Container={null}
/>
-
+
{
>
)}
- Sign out
+
+ Sign out
+
>
) : (
- Sign in
+ Sign in
)}
{
size={22}
/>
diff --git a/app/components/layout/Layout.tsx b/app/app/[locale]/_layout/LayoutContent.tsx
similarity index 82%
rename from app/components/layout/Layout.tsx
rename to app/app/[locale]/_layout/LayoutContent.tsx
index 5138b81f9..6568b4c91 100644
--- a/app/components/layout/Layout.tsx
+++ b/app/app/[locale]/_layout/LayoutContent.tsx
@@ -1,13 +1,13 @@
-import { FirstTimePopup } from "@components/FirstTimePopup"
+import { FirstTimePopup } from "@/components/FirstTimePopup"
import { Footer } from "./Footer"
import { Header } from "./Header"
-import { LandingBackground } from "./LandingBackground"
+import { LandingBackground } from "../_landing/LandingBackground"
import { SideNav } from "./SideNav"
import { bgVar1 } from "ui/theme/theme"
import { styled } from "ui/theme"
import type { ReactNode } from "react"
-export type LayoutProps = {
+type LayoutContentProps = {
children: ReactNode
}
@@ -17,7 +17,7 @@ const BackgroundContainer = styled("div", {
},
})
-export const Layout = ({ children }: LayoutProps) => {
+export const LayoutContent = ({ children }: LayoutContentProps) => {
return (
<>
diff --git a/app/components/layout/SideNav.tsx b/app/app/[locale]/_layout/SideNav.tsx
similarity index 73%
rename from app/components/layout/SideNav.tsx
rename to app/app/[locale]/_layout/SideNav.tsx
index b6079f116..2c2eddb5d 100644
--- a/app/components/layout/SideNav.tsx
+++ b/app/app/[locale]/_layout/SideNav.tsx
@@ -1,24 +1,27 @@
-import { AppLink } from "ui/base/AppLink"
-import { DiscordIcon } from "ui/icons"
+"use client"
+
import {
- HiBookOpen,
- HiChevronDoubleUp,
- HiHeart,
- HiHome,
- HiLightningBolt,
- HiUserGroup,
- HiUsers,
- HiX,
-} from "react-icons/hi"
-import { Image } from "@components/Image"
+ DiscordIcon,
+ Rankings1v1Icon,
+ Rankings2v2Icon,
+ RankingsPowerIcon,
+} from "ui/icons"
+import { HiBookOpen, HiHeart, HiHome, HiUserGroup, HiX } from "react-icons/hi"
+// TODO: replace react-icons with lucide
+import { BRAWLHALLA_WIKI_URL, COREHALLA_DISCORD_URL } from "@/socials"
+import { Image } from "@/components/Image"
+import { type MessageDescriptor } from "@lingui/core"
import { Tooltip } from "ui/base/Tooltip"
import { cleanString } from "common/helpers/cleanString"
-import { cn } from "common/helpers/classnames"
+import { cn } from "@/lib/utils"
import { css } from "ui/theme"
import { legendsMap } from "bhapi/legends"
-import { useFavorites } from "@ctx/auth/AuthProvider"
-import { useRouter } from "next/router"
-import { useSideNav } from "@ctx/SideNavProvider"
+import { msg } from "@lingui/macro"
+import { useFavorites } from "@/providers/auth/AuthProvider"
+import { useLingui } from "@lingui/react"
+import { useParams, usePathname } from "next/navigation"
+import { useSideNav } from "@/providers/SideNavProvider"
+import Link from "next/link"
import type { ReactNode } from "react"
type SideNavIconProps = {
@@ -39,7 +42,7 @@ const sideNavIconClassName = css({
top: "-0.375rem",
right: "-0.375rem",
},
-})()
+})().className
const SideNavIcon = ({
className,
@@ -58,7 +61,7 @@ const SideNavIcon = ({
return (
-
-
+
{onRemove && (
,
- href: "/",
- exact: true,
- },
- {
- name: "1v1 Rankings",
- icon:
,
- href: "/rankings/1v1",
- exact: false,
- },
- {
- name: "2v2 Rankings",
- icon:
,
- href: "/rankings/2v2",
- exact: false,
- },
- {
- name: "Power Rankings",
- href: "/rankings/power",
- icon:
,
- },
- {
- name: "Clans",
- href: "/rankings/clans",
- icon:
,
- },
- {
- name: "Discord Server",
- href: "/discord",
- icon:
,
- external: true,
- },
- {
- name: "Wiki",
- href: "/wiki",
- icon:
,
- external: true,
- },
-]
-
type SideNavProps = {
className?: string
}
export const SideNav = ({ className }: SideNavProps) => {
const { favorites, removeFavorite } = useFavorites()
- const router = useRouter()
-
const { isSideNavOpen, closeSideNav } = useSideNav()
+ const pathname = usePathname()
+ const { playerId, clanId } = useParams()
+ const { _ } = useLingui()
- const { pathname } = router
- const { playerId, clanId } = router.query
-
- const nav = defaultNav.concat(
- favorites.length > 0
- ? [
- {
- name: "Favorites",
- icon:
,
- href: "/@me/favorites",
- exact: false,
- },
- ]
- : [],
- )
+ const nav: {
+ id: string
+ name: MessageDescriptor
+ icon: ReactNode
+ href: string
+ exact?: boolean
+ external?: boolean
+ }[] = [
+ {
+ id: "home",
+ name: msg`Home`,
+ icon:
,
+ href: "/",
+ exact: true,
+ },
+ {
+ id: "rankings-1v1",
+ name: msg`1v1 Rankings`,
+ icon:
,
+ href: "/ranked/1v1",
+ exact: false,
+ },
+ {
+ id: "rankings-2v2",
+ name: msg`2v2 Rankings`,
+ icon:
,
+ href: "/ranked/2v2",
+ exact: false,
+ },
+ {
+ id: "power-rankings",
+ name: msg`Power Rankings`,
+ href: "/power-rankings",
+ icon:
,
+ },
+ {
+ id: "clans",
+ name: msg`Clans`,
+ href: "/clans",
+ icon:
,
+ },
+ {
+ id: "discord",
+ name: msg`Discord Server`,
+ href: COREHALLA_DISCORD_URL,
+ icon:
,
+ external: true,
+ },
+ {
+ id: "wiki",
+ name: msg`Wiki`,
+ href: BRAWLHALLA_WIKI_URL,
+ icon:
,
+ external: true,
+ },
+ {
+ id: "favorites",
+ name: msg`Favorites`,
+ icon:
,
+ href: "/me/favorites",
+ exact: false,
+ },
+ ]
return (
@@ -209,8 +212,8 @@ export const SideNav = ({ className }: SideNavProps) => {
{nav.map((nav) => (
{
active={
pathname ===
"/stats/player/[playerId]" &&
- playerId === favorite.id.toString()
+ playerId === favorite.id
}
onRemove={() => {
removeFavorite(favorite)
@@ -260,7 +263,7 @@ export const SideNav = ({ className }: SideNavProps) => {
active={
pathname ===
"/stats/clan/[clanId]" &&
- clanId === favorite.id.toString()
+ clanId === favorite.id
}
onRemove={() => {
removeFavorite(favorite)
diff --git a/app/pages/calc.tsx b/app/app/[locale]/calculator/page.tsx
similarity index 58%
rename from app/pages/calc.tsx
rename to app/app/[locale]/calculator/page.tsx
index 3afb91e52..64dfcced0 100644
--- a/app/pages/calc.tsx
+++ b/app/app/[locale]/calculator/page.tsx
@@ -1,5 +1,9 @@
+"use client"
+
import { Card } from "ui/base/Card"
-import { SectionTitle } from "@components/layout/SectionTitle"
+import { SectionTitle } from "@/components/layout/SectionTitle"
+import { Trans } from "@lingui/macro"
+import { create } from "zustand"
import {
getGloryFromBestRating,
getGloryFromWins,
@@ -7,34 +11,70 @@ import {
getPersonalEloReset,
} from "bhapi/calculator"
import { getTierFromRating } from "bhapi/helpers/getTierFromRating"
-import { useState } from "react"
-import type { NextPage } from "next"
const inputClassName =
"w-full px-4 py-2 border bg-bgVar2 border-bg rounded-lg block mb-4"
const resultClassName = "text-xl font-semibold block text-center"
-const CalcPage: NextPage = () => {
- const [hasPlayed10Games, setHasPlayed10Games] = useState(false)
- const [wins, setWins] = useState("0")
- const [rating, setRating] = useState("0")
- const [personalRating, setPersonalRating] = useState("0")
- const [heroRating, setHeroRating] = useState("0")
+type CalculatorState = {
+ hasPlayed10Games: boolean
+ wins: number
+ rating: number
+ personalRating: number
+ heroRating: number
+}
+
+type CalculatorActions = {
+ setHasPlayed10Games: (hasPlayed10Games: boolean) => void
+ setWins: (wins: number) => void
+ setRating: (rating: number) => void
+ setPersonalRating: (personalRating: number) => void
+ setHeroRating: (heroRating: number) => void
+}
- const gloryWins = getGloryFromWins(parseInt(wins || "0"))
- const gloryRating = getGloryFromBestRating(parseInt(rating || "200"))
+const useCalculator = create((set) => ({
+ hasPlayed10Games: false,
+ wins: 0,
+ rating: 0,
+ personalRating: 0,
+ heroRating: 0,
+ setHasPlayed10Games: (hasPlayed10Games) => set({ hasPlayed10Games }),
+ setWins: (wins) => set({ wins }),
+ setRating: (rating) => set({ rating }),
+ setPersonalRating: (personalRating) => set({ personalRating }),
+ setHeroRating: (heroRating) => set({ heroRating }),
+}))
- const squashPersonal = getPersonalEloReset(parseInt(personalRating || "0"))
- const squashHero = getLegendEloReset(parseInt(heroRating || "0"))
+export default function CalculatorPage() {
+ const {
+ hasPlayed10Games,
+ setHasPlayed10Games,
+ wins,
+ setWins,
+ rating,
+ setRating,
+ personalRating,
+ setPersonalRating,
+ heroRating,
+ setHeroRating,
+ } = useCalculator()
+
+ const gloryWins = getGloryFromWins(wins || 0)
+ const gloryRating = getGloryFromBestRating(rating || 200)
+
+ const squashPersonal = getPersonalEloReset(personalRating || 0)
+ const squashHero = getLegendEloReset(heroRating || 0)
return (
<>
- New Season Glory / ELO Reset Calculator
+ New Season Glory / ELO Reset Calculator
- Glory Calculator
+
+ Glory Calculator
+
{
setHasPlayed10Games(e.target.checked)
}
/>
- I have played 10 ranked games (or more).
+
+ I have played 10 ranked games (or more).
+
{hasPlayed10Games ? (
@@ -54,11 +96,13 @@ const CalcPage: NextPage = () => {
setWins(e.target.value)}
+ onChange={(e) =>
+ setWins(e.target.valueAsNumber)
+ }
min={0}
max={10000}
/>
- Glory from wins:
+ Glory from wins:
{gloryWins}
@@ -68,11 +112,13 @@ const CalcPage: NextPage = () => {
setRating(e.target.value)}
+ onChange={(e) =>
+ setRating(e.target.valueAsNumber)
+ }
min={200}
max={4000}
/>
- Glory from best rating:
+ Glory from best rating:
{gloryRating}
@@ -85,7 +131,7 @@ const CalcPage: NextPage = () => {
>
) : (
- <>You gotta play at least 10 ranked games!>
+ You gotta play at least 10 ranked games!
)}
@@ -94,11 +140,13 @@ const CalcPage: NextPage = () => {
setPersonalRating(e.target.value)}
+ onChange={(e) =>
+ setPersonalRating(e.target.valueAsNumber)
+ }
min={200}
max={4000}
/>
- Personal Rating Squash:
+
Personal Rating Squash:
{squashPersonal} (
{getTierFromRating(squashPersonal)})
@@ -108,11 +156,13 @@ const CalcPage: NextPage = () => {
setHeroRating(e.target.value)}
+ onChange={(e) =>
+ setHeroRating(e.target.valueAsNumber)
+ }
min={200}
max={4000}
/>
- Legend/Team Rating Squash:
+ Legend/Team Rating Squash:
{squashHero} ({getTierFromRating(squashHero)})
@@ -122,5 +172,3 @@ const CalcPage: NextPage = () => {
>
)
}
-
-export default CalcPage
diff --git a/app/app/[locale]/error.tsx b/app/app/[locale]/error.tsx
new file mode 100644
index 000000000..c802f461d
--- /dev/null
+++ b/app/app/[locale]/error.tsx
@@ -0,0 +1,23 @@
+"use client"
+
+import { ErrorDisplay } from "./_layout/ErrorDisplay"
+import { msg } from "@lingui/macro"
+import { useLingui } from "@lingui/react"
+
+export default function Error({
+ error,
+ reset,
+}: {
+ error: Error & { digest?: string }
+ reset: () => void
+}) {
+ const { _ } = useLingui()
+
+ return (
+
+ )
+}
diff --git a/app/app/[locale]/layout.tsx b/app/app/[locale]/layout.tsx
new file mode 100644
index 000000000..244ed56c3
--- /dev/null
+++ b/app/app/[locale]/layout.tsx
@@ -0,0 +1,118 @@
+import "../globals.css"
+
+import { AuthProvider } from "@/providers/auth/AuthProvider"
+import { BackToTopButton } from "@/components/BackToTopButton"
+import { FeatureFlagsProvider } from "@/store/useFeatures"
+import { KBarProvider } from "@/components/search/KBarProvider"
+import { LayoutContent } from "./_layout/LayoutContent"
+import { LinguiProvider } from "@/i18n/LinguiProvider"
+import { type Metadata } from "next"
+import { Montserrat } from "next/font/google"
+import { type ReactNode } from "react"
+import { SideNavProvider } from "@/providers/SideNavProvider"
+import { TRPCProvider } from "../_trpc/TRPCProvider"
+import { Toaster } from "react-hot-toast"
+import { dir } from "i18next"
+import { initServerTranslations } from "@/i18n/i18n"
+
+const montserrat = Montserrat({ subsets: ["latin"] })
+
+export const metadata: Metadata = {
+ metadataBase: new URL(
+ process.env.SITE_URL ?? `http://localhost:${process.env.PORT ?? 3000}`,
+ ),
+ alternates: {
+ canonical: "/",
+ languages: {
+ en: "/",
+ fr: "/fr",
+ },
+ },
+ title: "Track your Brawlhalla stats, view rankings, and more! • Corehalla",
+ description:
+ "Improve your Brawlhalla Game, and find your place among the Elite with our in-depth Player and Clan stats tracking and live leaderboards.",
+ applicationName: "Corehalla",
+ authors: [
+ {
+ name: "Djobbo",
+ url: "https://djobbo.com",
+ },
+ ],
+ creator: "Djobbo",
+ openGraph: {
+ type: "website",
+ url: "https://corehalla.com",
+ siteName: "Corehalla",
+ title: "Corehalla",
+ description:
+ "Improve your Brawlhalla Game, and find your place among the Elite with our in-depth Player and Clan stats tracking and live leaderboards.",
+ images: [
+ {
+ url: "/images/og/main-og.jpg",
+ width: 1200,
+ height: 630,
+ alt: "Corehalla",
+ },
+ ],
+ },
+ twitter: {
+ title: "Corehalla",
+ description:
+ "Improve your Brawlhalla Game, and find your place among the Elite with our in-depth Player and Clan stats tracking and live leaderboards.",
+ images: [
+ {
+ url: "/images/og/main-og.jpg",
+ width: 1200,
+ height: 630,
+ alt: "Corehalla",
+ },
+ ],
+ creator: "@djobbo_",
+ site: "@Corehalla",
+ },
+}
+
+type RootLayoutProps = {
+ children: ReactNode
+ params: {
+ locale: string
+ }
+}
+
+export default async function RootLayout({
+ children,
+ params,
+}: RootLayoutProps) {
+ const i18nSetupData = await initServerTranslations(params)
+
+ return (
+
+
+
+
+
+
+ {/* TODO: reactivate GAScripts Google Analytics */}
+ {/* */}
+
+ {/* TODO: change kbar for shadcn ui search */}
+
+
+
+
+ {children}
+
+ {/* */}
+
+
+
+
+
+
+
+
+
+ )
+}
+
+export const runtime = "edge"
diff --git a/app/app/[locale]/loading.tsx b/app/app/[locale]/loading.tsx
new file mode 100644
index 000000000..072ed4c76
--- /dev/null
+++ b/app/app/[locale]/loading.tsx
@@ -0,0 +1,9 @@
+import { AnimatedLogo } from "ui/base/AnimatedLogo"
+
+export default function Loading() {
+ return (
+
+ )
+}
diff --git a/app/app/[locale]/me/favorites/FavoritesContent.tsx b/app/app/[locale]/me/favorites/FavoritesContent.tsx
new file mode 100644
index 000000000..5fe0506cf
--- /dev/null
+++ b/app/app/[locale]/me/favorites/FavoritesContent.tsx
@@ -0,0 +1,18 @@
+"use client"
+
+import { FavoritesGrid } from "@/components/favorites/FavoritesGrid"
+import { SectionTitle } from "@/components/layout/SectionTitle"
+import { useFavorites } from "@/providers/auth/AuthProvider"
+
+export const FavoritesContent = () => {
+ const { playerFavorites, clanFavorites } = useFavorites()
+
+ return (
+ <>
+ Players
+
+ Clans
+
+ >
+ )
+}
diff --git a/app/app/[locale]/me/favorites/page.tsx b/app/app/[locale]/me/favorites/page.tsx
new file mode 100644
index 000000000..ea6b91137
--- /dev/null
+++ b/app/app/[locale]/me/favorites/page.tsx
@@ -0,0 +1,16 @@
+import { FavoritesContent } from "./FavoritesContent"
+import { type Metadata } from "next"
+
+export const metadata: Metadata = {
+ title: "My Favorites • Corehalla",
+ description: "View your favorite players and clans.",
+}
+
+export default function FavoritesPage() {
+ return (
+ <>
+ Favorites
+
+ >
+ )
+}
diff --git a/app/app/[locale]/page.tsx b/app/app/[locale]/page.tsx
new file mode 100644
index 000000000..15ee0c192
--- /dev/null
+++ b/app/app/[locale]/page.tsx
@@ -0,0 +1,120 @@
+import { ArrowSmRightIcon } from "ui/icons"
+import { ArticlePreviewGrid } from "@/components/articles/ArticlePreviewGrid"
+import { Button } from "ui/base/Button"
+import { COREHALLA_DISCORD_URL } from "@/socials"
+import { DiscordCard } from "./_landing/DiscordCard"
+import { LandingFavorites } from "./_landing/LandingFavorites"
+import { SearchButton } from "@/components/search/SearchButton"
+import { SectionTitle } from "@/components/layout/SectionTitle"
+import { Suspense } from "react"
+import { Trans } from "@lingui/macro"
+import { WeeklyRotation } from "./_landing/WeeklyRotation"
+import { cn } from "@/lib/utils"
+import Link from "next/link"
+
+export const metadata = {
+ title: "Corehalla - Track your Brawlhalla stats, view rankings, and more!",
+ description:
+ "Improve your Brawlhalla Game, and find your place among the Elite with our in-depth Player and Clan stats tracking and live leaderboards.",
+}
+
+export default async function Home() {
+ return (
+ <>
+
+
+
+
+ Join our community
+
+
+ Discord
+
+
+
+
+ Stay ahead of the competition
+
+
+
+ Improve your Brawlhalla Game, and find your place
+ among the Elite with our in-depth stats tracking and
+ live leaderboards.
+
+
+
+
+
+ or
+
+
+
+ View rankings
+
+
+ 2v2
+
+
+
+
+
+
+
+ corehalla.com/discord
+
+
+
+
+ Loading free legend rotation... }>
+
+
+
+ Latest News
+
+
+ Loading articles...
+
+ }
+ >
+
+
+ >
+ )
+}
diff --git a/app/app/_trpc/TRPCProvider.tsx b/app/app/_trpc/TRPCProvider.tsx
new file mode 100644
index 000000000..ab5c8a0b1
--- /dev/null
+++ b/app/app/_trpc/TRPCProvider.tsx
@@ -0,0 +1,36 @@
+"use client"
+
+import { QueryClient, QueryClientProvider } from "@tanstack/react-query"
+import { type ReactNode, useState } from "react"
+import { httpBatchLink } from "@trpc/client"
+import { trpc } from "./client"
+import SuperJSON from "superjson"
+
+type TRPCProviderProps = {
+ children: ReactNode
+}
+
+export const TRPCProvider = ({ children }: TRPCProviderProps) => {
+ const [queryClient] = useState(() => new QueryClient())
+ const [trpcClient] = useState(() => {
+ return trpc.createClient({
+ transformer: SuperJSON,
+ links: [
+ httpBatchLink({
+ url: `${
+ process.env.NEXT_PUBLIC_API_URL ||
+ "http://localhost:3000"
+ }/api/trpc`,
+ }),
+ ],
+ })
+ })
+
+ return (
+
+
+ {children}
+
+
+ )
+}
diff --git a/app/app/_trpc/client.ts b/app/app/_trpc/client.ts
new file mode 100644
index 000000000..90116704f
--- /dev/null
+++ b/app/app/_trpc/client.ts
@@ -0,0 +1,5 @@
+import { createTRPCReact } from "@trpc/react-query"
+
+import { type AppRouter } from "@/server"
+
+export const trpc = createTRPCReact({})
diff --git a/app/app/api/trpc/[trpc]/route.ts b/app/app/api/trpc/[trpc]/route.ts
new file mode 100644
index 000000000..4a472910a
--- /dev/null
+++ b/app/app/api/trpc/[trpc]/route.ts
@@ -0,0 +1,16 @@
+import { fetchRequestHandler } from "@trpc/server/adapters/fetch"
+
+import { appRouter } from "@/server"
+
+export const runtime = "edge"
+
+const handler = (req: Request) => {
+ return fetchRequestHandler({
+ endpoint: "/api/trpc",
+ router: appRouter,
+ req,
+ createContext: () => ({}),
+ })
+}
+
+export { handler as GET, handler as POST }
diff --git a/app/app/favicon.ico b/app/app/favicon.ico
new file mode 100644
index 000000000..718d6fea4
Binary files /dev/null and b/app/app/favicon.ico differ
diff --git a/app/app/globals.css b/app/app/globals.css
new file mode 100644
index 000000000..8fee109a1
--- /dev/null
+++ b/app/app/globals.css
@@ -0,0 +1,75 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
+@layer base {
+ :root {
+ --background: 234 34% 4%;
+ --foreground: 210 40% 98%;
+
+ --card: 222.2 84% 4.9%;
+ --card-foreground: 210 40% 98%;
+
+ --popover: 222.2 84% 4.9%;
+ --popover-foreground: 210 40% 98%;
+
+ --primary: 210 40% 98%;
+ --primary-foreground: 222.2 47.4% 11.2%;
+
+ --secondary: 217.2 32.6% 17.5%;
+ --secondary-foreground: 210 40% 98%;
+
+ --muted: 217.2 32.6% 17.5%;
+ --muted-foreground: 215 20.2% 65.1%;
+
+ --accent: 217.2 32.6% 17.5%;
+ --accent-foreground: 210 40% 98%;
+
+ --destructive: 0 62.8% 30.6%;
+ --destructive-foreground: 210 40% 98%;
+
+ --border: 217.2 32.6% 17.5%;
+ --input: 217.2 32.6% 17.5%;
+ --ring: 212.7 26.8% 83.9%;
+
+ --radius: 0.5rem;
+ }
+}
+
+@layer base {
+ * {
+ @apply border-border;
+ }
+ body {
+ @apply bg-background text-foreground;
+ }
+}
+
+* {
+ scroll-behavior: smooth;
+}
+
+html, body {
+ @apply bg-bgVar1 text-text;
+ font-family: "Montserrat", sans-serif;
+}
+
+::-webkit-scrollbar {
+ @apply w-0 hashover:w-2;
+}
+
+::-webkit-scrollbar-track {
+ @apply bg-transparent;
+}
+
+::-webkit-scrollbar-thumb {
+ @apply bg-bg rounded-full hover:bg-accent;
+}
+
+.p-link {
+ @apply text-accent hover:underline;
+}
+
+.text-fill-none {
+ -webkit-text-fill-color: transparent
+}
diff --git a/app/components.json b/app/components.json
new file mode 100644
index 000000000..48c34e4c4
--- /dev/null
+++ b/app/components.json
@@ -0,0 +1,16 @@
+{
+ "$schema": "https://ui.shadcn.com/schema.json",
+ "style": "default",
+ "rsc": true,
+ "tsx": true,
+ "tailwind": {
+ "config": "tailwind.config.js",
+ "css": "app/globals.css",
+ "baseColor": "slate",
+ "cssVariables": true
+ },
+ "aliases": {
+ "components": "@/components",
+ "utils": "@/lib/utils"
+ }
+}
\ No newline at end of file
diff --git a/app/components/BackToTopButton.tsx b/app/components/BackToTopButton.tsx
index 8e2b928bb..48db1ee2c 100644
--- a/app/components/BackToTopButton.tsx
+++ b/app/components/BackToTopButton.tsx
@@ -1,10 +1,19 @@
+"use client"
+
import { BackToTopIcon } from "ui/icons"
import { Tooltip } from "ui/base/Tooltip"
-import { cn } from "common/helpers/classnames"
+import { cn } from "@/lib/utils"
+import { useEffect, useState } from "react"
import { useWindowScroll } from "common/hooks/useWindowScroll"
export const BackToTopButton = () => {
const { y: scrollY } = useWindowScroll()
+ const [mounted, setMounted] = useState(false)
+ useEffect(() => {
+ setMounted(true)
+ }, [])
+
+ if (!mounted) return null
return (
{
type="button"
className="relative w-12 h-12 mx-4 mb-4 rounded-full bg-accent flex items-center justify-center shadow-md"
style={{
- transition: "0.15s opacity ease",
+ transition: "1s opacity ease",
}}
onClick={() => {
window.scrollTo({
diff --git a/app/components/FirstTimePopup.tsx b/app/components/FirstTimePopup.tsx
index 2e17ccc54..e3a836470 100644
--- a/app/components/FirstTimePopup.tsx
+++ b/app/components/FirstTimePopup.tsx
@@ -1,7 +1,14 @@
-import { AppLink } from "ui/base/AppLink"
+"use client"
+
import { Button } from "ui/base/Button"
+import {
+ COREHALLA_DISCORD_URL,
+ COREHALLA_GITHUB_URL,
+ COREHALLA_TWITTER_URL,
+} from "@/socials"
import { CloseIcon, DiscordIcon, GithubIcon, TwitterIcon } from "ui/icons"
import { useLocalStorageState } from "common/hooks/useLocalStorageState"
+import Link from "next/link"
export const FirstTimePopup = () => {
const [showPopup, setShowPopup] = useLocalStorageState(
@@ -20,27 +27,27 @@ export const FirstTimePopup = () => {
Join us:
-
-
-
+
-
-
+
-
+
{
+ const router = useRouter()
+
+ return (
+
+
router.back()}
+ />
+
+ {children}
+
+
+ )
+}
diff --git a/app/components/SEO.tsx b/app/components/SEO.tsx
deleted file mode 100644
index cfbe5bf70..000000000
--- a/app/components/SEO.tsx
+++ /dev/null
@@ -1,91 +0,0 @@
-import { cleanString } from "common/helpers/cleanString"
-import Head from "next/head"
-
-type SEOProps = {
- title: string
- description?: string
- image?: string
- url?: string
- createdAt?: Date
- updatedAt?: Date
- openGraphType?: string
- settings?: {
- meta?: {
- social?: {
- twitter?: {
- site: string
- author: string
- }
- }
- title?: string
- }
- }
-}
-
-const getSocialTags = ({
- openGraphType,
- url,
- title,
- description,
- image,
- createdAt,
- updatedAt,
- settings,
-}: SEOProps) => {
- const metaTags = [
- { name: "twitter:card", content: "summary_large_image" },
- {
- name: "twitter:site",
- content: settings?.meta?.social?.twitter?.site ?? "@Corehalla",
- },
- { name: "twitter:title", content: title },
- { name: "twitter:description", content: description },
- {
- name: "twitter:creator",
- content: settings?.meta?.social?.twitter?.author ?? "@djobbo_",
- },
- { name: "twitter:image:src", content: image },
- { name: "twitter:card", content: "summary_large_image" },
- { name: "og:title", content: title },
- { name: "og:type", content: openGraphType },
- { name: "og:url", content: url },
- { name: "og:image", content: image },
- { name: "og:description", content: description },
- {
- name: "og:site_name",
- content: settings?.meta?.title ?? title,
- },
- {
- name: "og:published_time",
- content: (createdAt ?? new Date()).toISOString(),
- },
- {
- name: "og:modified_time",
- content: (updatedAt ?? new Date()).toISOString(),
- },
- ]
-
- return metaTags
-}
-
-export const SEO = (props: SEOProps) => {
- const { title, description, image } = props
-
- const cleanTitle = cleanString(title)
- const cleanDescription = cleanString(description ?? "")
-
- return (
-
- {cleanTitle}
-
-
-
-
- {getSocialTags(props).map(({ name, content }) => {
- return content ? (
-
- ) : null
- })}
-
- )
-}
diff --git a/app/components/articles/ArticlePreview.tsx b/app/components/articles/ArticlePreview.tsx
index 9a301251a..bcf679947 100644
--- a/app/components/articles/ArticlePreview.tsx
+++ b/app/components/articles/ArticlePreview.tsx
@@ -1,5 +1,5 @@
import { type BHArticle } from "web-parser/common"
-import { Image } from "@components/Image"
+import { Image } from "@/components/Image"
type ArticlePreviewProps = {
article: BHArticle
diff --git a/app/components/articles/ArticlePreviewGrid.tsx b/app/components/articles/ArticlePreviewGrid.tsx
index 8bccf8552..fc9f8ef3b 100644
--- a/app/components/articles/ArticlePreviewGrid.tsx
+++ b/app/components/articles/ArticlePreviewGrid.tsx
@@ -1,11 +1,14 @@
import { ArticlePreview } from "./ArticlePreview"
-import { type BHArticle } from "web-parser/common"
+import {
+ type BrawlhallaArticleVariables,
+ getBrawlhallaArticles,
+} from "web-parser/common"
-type ArticlePreviewGridProps = {
- articles: BHArticle[]
-}
+export const ArticlePreviewGrid = async (
+ props: Partial,
+) => {
+ const articles = await getBrawlhallaArticles(props)
-export const ArticlePreviewGrid = ({ articles }: ArticlePreviewGridProps) => {
if (!articles || articles.length <= 0) return null
return (
diff --git a/app/components/favorites/FavoritesGrid.tsx b/app/components/favorites/FavoritesGrid.tsx
index 09f5c18ed..79c1d0cf4 100644
--- a/app/components/favorites/FavoritesGrid.tsx
+++ b/app/components/favorites/FavoritesGrid.tsx
@@ -1,12 +1,12 @@
-import { AppLink } from "ui/base/AppLink"
import { ClanIcon, CloseIcon } from "ui/icons"
-import { Image } from "@components/Image"
+import { Image } from "@/components/Image"
import { cleanString } from "common/helpers/cleanString"
-import { cn } from "common/helpers/classnames"
+import { cn } from "@/lib/utils"
import { css } from "ui/theme"
import { legendsMap } from "bhapi/legends"
-import { useFavorites } from "@ctx/auth/AuthProvider"
-import type { Favorite } from "@ctx/auth/useUserFavorites"
+import { useFavorites } from "@/providers/auth/AuthProvider"
+import Link from "next/link"
+import type { Favorite } from "@/providers/auth/useUserFavorites"
import type { ReactNode } from "react"
type FavoritesGridProps = {
@@ -19,7 +19,7 @@ const favoriteClassName = css({
top: "-0.6rem",
right: "-0.6rem",
},
-})()
+})().className
export const FavoritesGrid = ({ favorites }: FavoritesGridProps) => {
const { removeFavorite } = useFavorites()
@@ -53,7 +53,7 @@ export const FavoritesGrid = ({ favorites }: FavoritesGridProps) => {
)}
key={`${fav.type}/${fav.id}`}
>
-
@@ -66,7 +66,7 @@ export const FavoritesGrid = ({ favorites }: FavoritesGridProps) => {
{fav.type} #{fav.id}
-
+
removeFavorite(fav)}
diff --git a/app/components/layout/AppNav.tsx b/app/components/layout/AppNav.tsx
deleted file mode 100644
index da072886d..000000000
--- a/app/components/layout/AppNav.tsx
+++ /dev/null
@@ -1,58 +0,0 @@
-import {
- ClanIcon,
- Rankings1v1Icon,
- Rankings2v2Icon,
- RankingsPowerIcon,
-} from "ui/icons"
-import { cn } from "common/helpers/classnames"
-
-const subHeaderNavigation = [
- {
- title: "1v1 Rankings",
- href: "/rankings",
- icon: ,
- },
- {
- title: "2v2 Rankings",
- href: "/rankings/2v2",
- icon: ,
- },
- {
- title: "Power Rankings",
- href: "/rankings/power",
- icon: ,
- },
- {
- title: "Clans",
- href: "/clans",
- icon: ,
- },
-]
-
-type SubHeaderProps = {
- className?: string
-}
-
-export const AppNav = ({ className }: SubHeaderProps) => {
- return (
-
- )
-}
diff --git a/app/components/layout/CollapsibleContent.tsx b/app/components/layout/CollapsibleContent.tsx
index f9886b800..8c8ad36fa 100644
--- a/app/components/layout/CollapsibleContent.tsx
+++ b/app/components/layout/CollapsibleContent.tsx
@@ -1,6 +1,6 @@
import { CollapseSectionIcon, ExpandSectionIcon } from "ui/icons"
import { Content, Root, Trigger } from "@radix-ui/react-collapsible"
-import { cn } from "common/helpers/classnames"
+import { cn } from "@/lib/utils"
import { useState } from "react"
import type { ReactNode } from "react"
@@ -16,6 +16,7 @@ export type CollapsibleContentProps = {
closingArrow?: boolean
}
+// TODO: use shadcn ui for this [CollapsibleContent]
export const CollapsibleContent = ({
className,
triggerClassName,
diff --git a/app/components/layout/CollapsibleSection.tsx b/app/components/layout/CollapsibleSection.tsx
index efb30196e..36161025c 100644
--- a/app/components/layout/CollapsibleSection.tsx
+++ b/app/components/layout/CollapsibleSection.tsx
@@ -1,6 +1,6 @@
import { CollapsibleContent } from "./CollapsibleContent"
import { SectionTitle } from "./SectionTitle"
-import { cn } from "common/helpers/classnames"
+import { cn } from "@/lib/utils"
import type { CollapsibleContentProps } from "./CollapsibleContent"
import type { ReactNode } from "react"
diff --git a/app/components/layout/SectionTitle.tsx b/app/components/layout/SectionTitle.tsx
index d1ab9dddb..79c7464a1 100644
--- a/app/components/layout/SectionTitle.tsx
+++ b/app/components/layout/SectionTitle.tsx
@@ -1,4 +1,4 @@
-import { cn } from "common/helpers/classnames"
+import { cn } from "@/lib/utils"
import type { ReactNode } from "react"
type SectionTitleProps = {
diff --git a/app/components/search/KBarProvider.tsx b/app/components/search/KBarProvider.tsx
new file mode 100644
index 000000000..21767b657
--- /dev/null
+++ b/app/components/search/KBarProvider.tsx
@@ -0,0 +1,3 @@
+"use client"
+
+export { KBarProvider } from "kbar"
diff --git a/app/components/search/RankedPlayerItem.tsx b/app/components/search/RankedPlayerItem.tsx
deleted file mode 100644
index e416acb38..000000000
--- a/app/components/search/RankedPlayerItem.tsx
+++ /dev/null
@@ -1,87 +0,0 @@
-import { HiOutlineStar, HiStar } from "react-icons/hi2"
-import { Image } from "@components/Image"
-import { SearchboxItem } from "./SearchboxItem"
-import { cleanString } from "common/helpers/cleanString"
-import { legendsMap } from "bhapi/legends"
-import { useAuth, useFavorites } from "@ctx/auth/AuthProvider"
-import type { Ranking1v1 } from "bhapi/types"
-
-type RankedPlayerItemProps = {
- player: Ranking1v1
-}
-
-export const RankedPlayerItem = ({ player }: RankedPlayerItemProps) => {
- const { isLoggedIn } = useAuth()
- const { addFavorite, isFavorite, removeFavorite } = useFavorites()
-
- const legend = legendsMap[player.best_legend]
-
- const icon = legend && (
-
- )
-
- const isFav = isFavorite({
- id: player.brawlhalla_id.toString(),
- type: "player",
- })
-
- return (
-
- {player.rating} / {player.peak_rating} peak ({player.tier})
- >
- }
- rightContent={
- isLoggedIn && (
- {
- if (!isLoggedIn) return
-
- e.preventDefault()
- e.stopPropagation()
-
- if (isFav) {
- removeFavorite({
- id: player.brawlhalla_id.toString(),
- type: "player",
- name: player.name,
- })
-
- return
- }
-
- addFavorite({
- id: player.brawlhalla_id.toString(),
- name: player.name,
- type: "player",
- meta: {
- icon: {
- legend_id: legend?.legend_id,
- type: "legend",
- },
- },
- })
- }}
- >
- {isFav ? (
-
- ) : (
-
- )}
-
- )
- }
- />
- )
-}
diff --git a/app/components/search/SearchButton.tsx b/app/components/search/SearchButton.tsx
index c2caf1203..4154a8461 100644
--- a/app/components/search/SearchButton.tsx
+++ b/app/components/search/SearchButton.tsx
@@ -1,9 +1,14 @@
+"use client"
+
import { Kbd } from "ui/base/Kbd"
import { SearchIcon } from "ui/icons"
-import { cn } from "common/helpers/classnames"
+import { Trans } from "@lingui/macro"
+import { cn } from "@/lib/utils"
import { useDevice } from "common/hooks/useDevice"
import { useKBar } from "kbar"
+// TODO: replace kbar with shadcn ui search
+
type SearchButtonProps = {
className?: string
bg?: string
@@ -31,7 +36,9 @@ export const SearchButton = ({
)}
onClick={query.toggle}
>
- Search player...
+
+ Search player...
+
{["mac", "pc"].includes(device) && (
/
diff --git a/app/components/search/Searchbox.tsx b/app/components/search/Searchbox.tsx
deleted file mode 100644
index 867608241..000000000
--- a/app/components/search/Searchbox.tsx
+++ /dev/null
@@ -1,300 +0,0 @@
-import { HiArrowUp } from "react-icons/hi"
-import {
- KBarAnimator,
- KBarPortal,
- KBarPositioner,
- KBarSearch,
- useKBar,
-} from "kbar"
-import { MAX_SHOWN_ALIASES } from "@util/constants"
-import { RankedPlayerItem } from "./RankedPlayerItem"
-import { SearchboxItem } from "./SearchboxItem"
-import { Spinner } from "ui/base/Spinner"
-import { UserIcon } from "ui/icons"
-import { cleanString } from "common/helpers/cleanString"
-import { cn } from "common/helpers/classnames"
-import { css } from "@stitches/react"
-import { gaEvent } from "common/analytics/gtag"
-import { numericLiteralValidator } from "common/helpers/validators"
-import { styled, theme } from "ui/theme"
-import { trpc } from "@util/trpc"
-import { useDebouncedState } from "common/hooks/useDebouncedState"
-import { useEffect, useState } from "react"
-import { usePlayerSearch } from "@hooks/stats/usePlayerSearch"
-import type { Ranking1v1 } from "bhapi/types"
-
-const __DEV = process.env.NODE_ENV === "development"
-
-const ResultsContainer = styled("div", {
- maxHeight: "calc(100vh - 14vh - 100px)",
-})
-
-type AliasesSubtitleProps = {
- immediateSearch: string
- aliases?: string[]
-}
-
-const AliasesSubtitle = ({
- immediateSearch,
- aliases,
-}: AliasesSubtitleProps) => {
- if (!aliases || aliases.length === 0) {
- return null
- }
-
- return (
-
- {aliases.map((alias) => {
- const cleanAlias = cleanString(alias)
-
- if (cleanAlias.length < 2 || cleanAlias.endsWith("•2")) return
-
- return (
-
- {cleanAlias}
-
- )
- })}
-
- )
-}
-
-export const Searchbox = () => {
- const [rankings, setRankings] = useState([])
- const [search, setSearch, immediateSearch, isDebouncingSearch] =
- useDebouncedState("", __DEV ? 250 : 750)
-
- const { rankings1v1, aliases, isLoading } = usePlayerSearch(search)
-
- const isPotentialBrawlhallaId = !!numericLiteralValidator
- .catch("")
- .parse(search)
-
- const { data: potentialBrawlhallaIdAliases } =
- trpc.getPlayerAliases.useQuery(
- { playerId: search },
- {
- enabled: isPotentialBrawlhallaId,
- },
- )
-
- const {
- query: { toggle },
- } = useKBar()
-
- useEffect(() => {
- // open searchbox on "/"
- const onKeyDown = (e: KeyboardEvent) => {
- if (document.activeElement?.tagName === "INPUT") return
-
- if (e.key === "/") {
- e.preventDefault()
- toggle()
- }
- }
-
- document.addEventListener("keydown", onKeyDown)
- return () => document.removeEventListener("keydown", onKeyDown)
- }, [toggle])
-
- useEffect(() => {
- if (isLoading) return
-
- gaEvent({
- action: "use_searchbox",
- category: "app",
- label: `player ${search}`,
- })
-
- setRankings(rankings1v1 ?? [])
- }, [rankings1v1, isLoading, search])
-
- const filteredRankings = rankings.filter((player) =>
- player.name.toLowerCase().startsWith(immediateSearch.toLowerCase()),
- )
-
- const categoryTitleClassName =
- "text-xs font-semibold text-textVar1 px-4 py-2"
-
- return (
-
-
-
-
-
- {
- setSearch(e.target.value)
- }}
- value={search}
- />
- {immediateSearch.length > 0 &&
- (isLoading || isDebouncingSearch) && (
-
- )}
-
- {/* TODO: add tabs for searching for clans, tournaments, etc */}
-
-
- {immediateSearch &&
- (rankings.length > 0 ||
- aliases.length > 0 ||
- isPotentialBrawlhallaId) ? (
- <>
- {isPotentialBrawlhallaId && (
- <>
-
- Search by Brawlhalla ID
-
-
}
- href={`/stats/player/${search}`}
- title={`Player#${search}`}
- subtitle={
-
- }
- />
- >
- )}
- {filteredRankings.length > 0 && (
- <>
-
- Ranked players
-
- {filteredRankings.map(
- (player) => (
-
- ),
- )}
- >
- )}
- {aliases.length > 0 && (
- <>
-
- Other players with similar
- names
-
- {aliases.map(
- ({
- playerId,
- mainAlias,
- otherAliases,
- }) => (
-
- }
- href={`/stats/player/${playerId}`}
- title={cleanString(
- mainAlias,
- )}
- subtitle={
-
- }
- />
- ),
- )}
- >
- )}
- >
- ) : (
-
-
-
- {!!immediateSearch &&
- !isLoading &&
- !isDebouncingSearch && (
- <>
-
- No players found
-
- >
- )}
- Search for a player (must start with
- exact match)
-
-
- Only players that have completed
- their 10 placement matches are
- shown.
-
-
-
-
- )}
-
-
-
- If you{"'"}re having trouble finding a player by
- name, trying using their brawlhalla id instead.
-
- Join our{" "}
-
- Discord
- {" "}
- if you need help.
-
-
-
-
-
- )
-}
diff --git a/app/components/search/SearchboxItem.tsx b/app/components/search/SearchboxItem.tsx
index 306e86733..0a9c1dc6a 100644
--- a/app/components/search/SearchboxItem.tsx
+++ b/app/components/search/SearchboxItem.tsx
@@ -1,5 +1,5 @@
-import { AppLink } from "ui/base/AppLink"
import { useKBar } from "kbar"
+import Link from "next/link"
import type { ReactNode } from "react"
type SearchboxItemProps = {
@@ -22,7 +22,7 @@ export const SearchboxItem = ({
} = useKBar()
return (
- toggle()}
className="px-4 py-3 w-full flex items-center justify-between gap-8 border-b cursor-pointer border-bgVar2 hover:bg-bg/75"
@@ -39,6 +39,6 @@ export const SearchboxItem = ({
{rightContent}
-
+
)
}
diff --git a/app/components/stats/GamesDisplay.tsx b/app/components/stats/GamesDisplay.tsx
index 99beb2584..402531ae3 100644
--- a/app/components/stats/GamesDisplay.tsx
+++ b/app/components/stats/GamesDisplay.tsx
@@ -1,6 +1,6 @@
import { Progress } from "ui/base/Progress"
import { calculateWinrate } from "bhapi/helpers/calculateWinrate"
-import { cn } from "common/helpers/classnames"
+import { cn } from "@/lib/utils"
import type { ReactNode } from "react"
type GamesCardProps = {
diff --git a/app/components/stats/GeneralStats.tsx b/app/components/stats/GeneralStats.tsx
index e9ce43b3f..b9889634d 100644
--- a/app/components/stats/GeneralStats.tsx
+++ b/app/components/stats/GeneralStats.tsx
@@ -2,7 +2,7 @@ import { Card } from "ui/base/Card"
import { GamesDisplay } from "./GamesDisplay"
import { MiscStatGroup } from "./MiscStatGroup"
import { ProgressCard } from "./ProgressCard"
-import { cn } from "common/helpers/classnames"
+import { cn } from "@/lib/utils"
type GeneralStatsProps = {
className?: string
diff --git a/app/components/stats/MiscStatGroup.tsx b/app/components/stats/MiscStatGroup.tsx
index 7ea4edfdd..21350ae6a 100644
--- a/app/components/stats/MiscStatGroup.tsx
+++ b/app/components/stats/MiscStatGroup.tsx
@@ -1,5 +1,5 @@
import { Tooltip } from "ui/base/Tooltip"
-import { cn } from "common/helpers/classnames"
+import { cn } from "@/lib/utils"
import { css } from "ui/theme"
import type { ReactNode } from "react"
@@ -27,12 +27,12 @@ export const MiscStatGroup = ({
column,
}: MiscStatGroupProps) => {
const containerClassName = column
- ? ["flex flex-col"]
+ ? "flex flex-col"
: [
"grid",
css({
gridTemplateColumns: `repeat(auto-${fit}, minmax(${minItemWidth}, 1fr))`,
- })(),
+ })().className,
]
return (
diff --git a/app/components/stats/StatsHeader.tsx b/app/components/stats/StatsHeader.tsx
index 456d3404a..d00648d31 100644
--- a/app/components/stats/StatsHeader.tsx
+++ b/app/components/stats/StatsHeader.tsx
@@ -1,16 +1,16 @@
-import { AdsenseStatsHeader } from "common/analytics/Adsense"
+"use client"
+
+import { AddFavoriteIcon, DiscordIcon, RemoveFavoriteIcon } from "ui/icons"
+// import { AdsenseStatsHeader } from "common/analytics/Adsense"
import { Button } from "ui/base/Button"
-import { DiscordIcon } from "ui/icons"
-import { HiUserAdd, HiUserRemove } from "react-icons/hi"
import { MiscStatGroup } from "./MiscStatGroup"
import { ShareIcon } from "ui/icons"
import { cleanString } from "common/helpers/cleanString"
-import { cn } from "common/helpers/classnames"
-import { useAuth, useFavorites } from "@ctx/auth/AuthProvider"
+import { cn } from "@/lib/utils"
+import { useAuth, useFavorites } from "@/providers/auth/AuthProvider"
import { useCopyToClipboard } from "common/hooks/useCopyToClipboard"
-import { useFeatureFlags } from "@hooks/useFeatures"
import toast from "react-hot-toast"
-import type { Favorite } from "@ctx/auth/useUserFavorites"
+import type { Favorite } from "@/providers/auth/useUserFavorites"
import type { MiscStat } from "./MiscStatGroup"
import type { ReactNode } from "react"
@@ -23,6 +23,7 @@ type StatsHeaderProps = {
favorite?: Favorite
}
+// TODO: replcae react-hot-toast with shadcn ui toast
export const StatsHeader = ({
name,
id,
@@ -34,7 +35,7 @@ export const StatsHeader = ({
const { isLoggedIn, signIn } = useAuth()
const { isFavorite, removeFavorite, addFavorite } = useFavorites()
const copyToClipboard = useCopyToClipboard()
- const { shouldShowAds } = useFeatureFlags()
+ // const { shouldShowAds } = useFeatureFlags()
const isItemFavorite = favorite && isFavorite(favorite)
@@ -48,7 +49,8 @@ export const StatsHeader = ({
backgroundSize: "cover",
}}
>
- {shouldShowAds &&
}
+ {/* TODO: Adsense */}
+ {/* {shouldShowAds &&
} */}
{isLoggedIn ? (
@@ -64,12 +66,12 @@ export const StatsHeader = ({
{isItemFavorite ? (
<>
Remove Favorite
-
+
>
) : (
<>
Add favorite
-
+
>
)}
diff --git a/app/components/stats/player/Player2v2Tab/index.tsx b/app/components/stats/player/Player2v2Tab/index.tsx
deleted file mode 100644
index a5d6c2155..000000000
--- a/app/components/stats/player/Player2v2Tab/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export { Player2v2Tab } from "./Player2v2Tab"
diff --git a/app/components/stats/player/PlayerLegendsTab/index.ts b/app/components/stats/player/PlayerLegendsTab/index.ts
deleted file mode 100644
index 1a0c032a9..000000000
--- a/app/components/stats/player/PlayerLegendsTab/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { PlayerLegendsTab } from "./PlayerLegendsTab"
diff --git a/app/components/stats/player/PlayerOverviewTab/index.ts b/app/components/stats/player/PlayerOverviewTab/index.ts
deleted file mode 100644
index b0b13ae69..000000000
--- a/app/components/stats/player/PlayerOverviewTab/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { PlayerOverviewTab } from "./PlayerOverviewTab"
diff --git a/app/components/stats/player/PlayerWeaponsTab/index.ts b/app/components/stats/player/PlayerWeaponsTab/index.ts
deleted file mode 100644
index 57679c5c1..000000000
--- a/app/components/stats/player/PlayerWeaponsTab/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { PlayerWeaponsTab } from "./PlayerWeaponsTab"
diff --git a/app/components/stats/rankings/RankingsLayout.tsx b/app/components/stats/rankings/RankingsLayout.tsx
deleted file mode 100644
index 0e06bfd3b..000000000
--- a/app/components/stats/rankings/RankingsLayout.tsx
+++ /dev/null
@@ -1,116 +0,0 @@
-import { Pagination } from "ui/base/Pagination"
-import { Paginator } from "ui/base/Paginator"
-import { cn } from "common/helpers/classnames"
-import type { Dispatch, ReactNode, SetStateAction } from "react"
-import type { PaginatorPage } from "ui/base/Paginator"
-
-type RankingsLayoutProps = {
- children: ReactNode
- currentBracket: string
- brackets: PaginatorPage[]
- currentRegion?: string
- regions: PaginatorPage[] | null
- currentPage?: string
- hasPagination?: boolean
- hasSearch?: boolean
- search?: string
- setSearch?: Dispatch
>
- searchClassName?: string
- searchPlaceholder?: string
- searchSubtitle?: string
- defaultRegion?: string
- defaultBracket?: string
-}
-
-export const RankingsLayout = ({
- children,
- brackets,
- currentBracket,
- regions,
- currentRegion,
- currentPage,
- hasPagination = false,
- hasSearch = false,
- search,
- setSearch,
- searchClassName,
- searchPlaceholder = "Search...",
- searchSubtitle,
- defaultRegion = "all",
- defaultBracket = "1v1",
-}: RankingsLayoutProps) => {
- const region = regions
- ? regions.map(({ page }) => page).includes(currentRegion ?? "")
- ? currentRegion
- : defaultRegion
- : null
- const bracket = brackets.map(({ page }) => page).includes(currentBracket)
- ? currentBracket
- : defaultBracket
- const pagination =
- (currentPage && hasPagination && (
-
- region
- ? `/rankings/${bracket}/${region}${
- page ? `/${page}` : ""
- }`
- : `/rankings/${bracket}${page ? `/${page}` : ""}`
- }
- currentPage={parseInt(currentPage)}
- firstPage={1}
- className="mt-4 justify-end"
- />
- )) ||
- null
-
- return (
- <>
-
-
- region
- ? `/rankings/${bracket}/${region}`
- : `/rankings/${bracket}`
- }
- responsive
- />
- {regions && regions.length > 0 && (
-
- `/rankings/${bracket}/${region}`
- }
- responsive
- />
- )}
-
- {hasSearch && (
- <>
- {
- setSearch?.(e.target.value)
- }}
- className={cn(
- "w-full mt-4 px-4 py-2 border bg-bgVar2 border-bg rounded-lg",
- searchClassName,
- )}
- placeholder={searchPlaceholder}
- />
- {searchSubtitle && (
-
- {searchSubtitle}
-
- )}
- >
- )}
- {pagination}
- {children}
- {pagination}
- >
- )
-}
diff --git a/app/db/index.ts b/app/db/index.ts
new file mode 100644
index 000000000..01f5335b7
--- /dev/null
+++ b/app/db/index.ts
@@ -0,0 +1,13 @@
+import * as schema from "./schema"
+import { Pool } from "pg"
+import { drizzle } from "drizzle-orm/node-postgres"
+import { z } from "zod"
+export * from "./schema"
+
+const connectionString = z.string().parse(process.env.DATABASE_URL)
+
+const pool = new Pool({
+ connectionString,
+})
+
+export const db = drizzle(pool, { schema })
diff --git a/app/db/migrate.ts b/app/db/migrate.ts
new file mode 100644
index 000000000..7f5cad3a9
--- /dev/null
+++ b/app/db/migrate.ts
@@ -0,0 +1,9 @@
+import { migrate } from "drizzle-orm/node-postgres/migrator"
+
+import { db } from "."
+
+const main = async () => {
+ await migrate(db, { migrationsFolder: "db/migrations" })
+}
+
+main()
diff --git a/app/db/schema/index.ts b/app/db/schema/index.ts
new file mode 100644
index 000000000..056d6e567
--- /dev/null
+++ b/app/db/schema/index.ts
@@ -0,0 +1 @@
+export * from "./users"
diff --git a/app/db/schema/users.ts b/app/db/schema/users.ts
new file mode 100644
index 000000000..906d3b6bc
--- /dev/null
+++ b/app/db/schema/users.ts
@@ -0,0 +1,12 @@
+import { createInsertSchema, createSelectSchema } from "drizzle-zod"
+import { pgTable, uuid } from "drizzle-orm/pg-core"
+
+export const users = pgTable("users", {
+ id: uuid("id").defaultRandom().primaryKey(),
+})
+
+export type User = typeof users.$inferSelect
+export const insertUserSchema = createInsertSchema(users)
+
+export type NewUser = typeof users.$inferInsert
+export const selectUserSchema = createSelectSchema(users)
diff --git a/app/drizzle.config.ts b/app/drizzle.config.ts
new file mode 100644
index 000000000..e68aa82f0
--- /dev/null
+++ b/app/drizzle.config.ts
@@ -0,0 +1,11 @@
+import { z } from "zod"
+import type { Config } from "drizzle-kit"
+
+export default {
+ schema: "./db/schema/index.ts",
+ out: "./db/migrations",
+ driver: "pg",
+ dbCredentials: {
+ connectionString: z.string().parse(process.env.DATABASE_URL),
+ },
+} satisfies Config
diff --git a/app/hooks/stats/useClan.ts b/app/hooks/stats/useClan.ts
deleted file mode 100644
index 6d5c7f1c3..000000000
--- a/app/hooks/stats/useClan.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { trpc } from "@util/trpc"
-
-export const useClan = (clanId: string) => {
- const { data, ...query } = trpc.getClanStats.useQuery({ clanId })
-
- return {
- clan: data,
- ...query,
- }
-}
diff --git a/app/hooks/stats/useClansRankings.ts b/app/hooks/stats/useClansRankings.ts
deleted file mode 100644
index 492bfa6bf..000000000
--- a/app/hooks/stats/useClansRankings.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { trpc } from "@util/trpc"
-
-export const useClansRankings = (page: string, name: string) => {
- const { data, ...query } = trpc.getClansRankings.useQuery({
- name,
- page,
- })
-
- return {
- clans: data ?? [],
- ...query,
- }
-}
diff --git a/app/hooks/stats/usePlayerAliases.ts b/app/hooks/stats/usePlayerAliases.ts
deleted file mode 100644
index dd8637ad7..000000000
--- a/app/hooks/stats/usePlayerAliases.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { cleanString } from "common/helpers/cleanString"
-import { trpc } from "@util/trpc"
-
-export const usePlayerAliases = (playerId: string) => {
- const { data, ...query } = trpc.getPlayerAliases.useQuery({ playerId })
-
- return {
- playerAliases:
- data
- ?.map((alias) => cleanString(alias))
- .filter(
- (alias) => alias.length >= 2 && !alias.endsWith("•2"),
- ) ?? [],
- ...query,
- }
-}
diff --git a/app/hooks/stats/usePlayerRanked.ts b/app/hooks/stats/usePlayerRanked.ts
deleted file mode 100644
index 903d0ac6f..000000000
--- a/app/hooks/stats/usePlayerRanked.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { trpc } from "@util/trpc"
-
-export const usePlayerRanked = (playerId: string) => {
- const { data, ...query } = trpc.getPlayerRanked.useQuery({ playerId })
-
- return {
- playerRanked: data,
- ...query,
- }
-}
diff --git a/app/hooks/stats/usePlayerSearch.ts b/app/hooks/stats/usePlayerSearch.ts
deleted file mode 100644
index 151279833..000000000
--- a/app/hooks/stats/usePlayerSearch.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import { trpc } from "@util/trpc"
-import { useRankings1v1 } from "./useRankings"
-
-export const usePlayerSearch = (search: string) => {
- const { rankings1v1, isLoading } = useRankings1v1("all", "1", search, {
- enabled: !!search,
- })
- const { data: aliases } = trpc.searchPlayerAlias.useQuery(
- { alias: search, page: "1" },
- { enabled: !!search },
- )
-
- return {
- rankings1v1,
- isLoading,
- aliases: aliases ?? [],
- }
-}
diff --git a/app/hooks/stats/usePlayerStats.ts b/app/hooks/stats/usePlayerStats.ts
deleted file mode 100644
index 8d64254ed..000000000
--- a/app/hooks/stats/usePlayerStats.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { trpc } from "@util/trpc"
-
-export const usePlayerStats = (playerId: string) => {
- const { data, ...query } = trpc.getPlayerStats.useQuery({ playerId })
-
- return {
- playerStats: data,
- ...query,
- }
-}
diff --git a/app/hooks/stats/usePowerRankings.ts b/app/hooks/stats/usePowerRankings.ts
deleted file mode 100644
index 0c10c39c6..000000000
--- a/app/hooks/stats/usePowerRankings.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-// TS2742: https://github.com/microsoft/TypeScript/issues/47663
-import {} from "@tanstack/query-core"
-import { trpc } from "@util/trpc"
-import type {
- PowerRankingsBracket,
- PowerRankingsRegion,
-} from "web-parser/power-rankings/parsePowerRankingsPage"
-
-export const usePowerRankings = (
- bracket: PowerRankingsBracket,
- region: PowerRankingsRegion,
-) => {
- const { data: powerRankings, ...query } = trpc.getPowerRankings.useQuery({
- bracket,
- region,
- })
-
- return {
- powerRankings,
- ...query,
- }
-}
diff --git a/app/hooks/stats/useRankings.ts b/app/hooks/stats/useRankings.ts
deleted file mode 100644
index 5759347c1..000000000
--- a/app/hooks/stats/useRankings.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import { trpc } from "@util/trpc"
-import type { RankedRegion } from "bhapi/constants"
-
-export const useRankings1v1 = (
- region: RankedRegion,
- page: string,
- name = "",
- options: { enabled?: boolean } = {},
-) => {
- const { data, ...query } = trpc.get1v1Rankings.useQuery(
- {
- region,
- page,
- name,
- },
- options,
- )
-
- return {
- rankings1v1: data,
- ...query,
- }
-}
-
-export const useRankings2v2 = (region: RankedRegion, page: string) => {
- const { data, ...query } = trpc.get2v2Rankings.useQuery({
- region,
- page,
- })
-
- return {
- rankings2v2: data,
- ...query,
- }
-}
diff --git a/app/hooks/useBrawlhallaArticles.ts b/app/hooks/useBrawlhallaArticles.ts
deleted file mode 100644
index 75832a153..000000000
--- a/app/hooks/useBrawlhallaArticles.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { trpc } from "@util/trpc"
-import type { BrawlhallaArticleCategory } from "web-parser/common"
-
-export const useBrawlhallaArticles = (
- first?: number,
- category?: BrawlhallaArticleCategory,
-) => {
- const { data, ...query } = trpc.getBHArticles.useQuery(
- {
- category,
- first,
- },
- {
- trpc: {
- ssr: false,
- },
- },
- )
-
- return {
- articles: data ?? [],
- ...query,
- }
-}
diff --git a/app/hooks/useFeatures.ts b/app/hooks/useFeatures.ts
deleted file mode 100644
index d917cbef9..000000000
--- a/app/hooks/useFeatures.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import { getFeatureFlags } from "@util/features"
-import { useAuth } from "@ctx/auth/AuthProvider"
-
-export const useFeatureFlags = () => {
- const authContext = useAuth()
-
- return getFeatureFlags({ authContext })
-}
diff --git a/app/hooks/useWeeklyRotation.ts b/app/hooks/useWeeklyRotation.ts
deleted file mode 100644
index 6a465d67e..000000000
--- a/app/hooks/useWeeklyRotation.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { trpc } from "@util/trpc"
-
-export const useWeeklyRotation = () => {
- const { data, ...query } = trpc.getWeeklyRotation.useQuery(void 0, {
- trpc: {
- ssr: false,
- },
- })
-
- return {
- weeklyRotation: data ?? [],
- ...query,
- }
-}
diff --git a/app/i18n/LinguiProvider.tsx b/app/i18n/LinguiProvider.tsx
new file mode 100644
index 000000000..6565952fc
--- /dev/null
+++ b/app/i18n/LinguiProvider.tsx
@@ -0,0 +1,27 @@
+"use client"
+
+import { I18nProvider } from "@lingui/react"
+import { type I18nSetupData } from "./i18n"
+import { type ReactNode } from "react"
+import { setupI18n } from "@lingui/core"
+
+type LinguiProviderProps = I18nSetupData & {
+ children: ReactNode
+}
+
+export function LinguiProvider({
+ children,
+ messages,
+ locale,
+}: LinguiProviderProps) {
+ return (
+
+ {children}
+
+ )
+}
diff --git a/app/i18n/TransRSC.tsx b/app/i18n/TransRSC.tsx
new file mode 100644
index 000000000..71da3f2da
--- /dev/null
+++ b/app/i18n/TransRSC.tsx
@@ -0,0 +1,9 @@
+"use client"
+
+import React from "react"
+
+import { Trans as BaseTrans, type TransProps } from "@lingui/react"
+
+export const Trans = (props: TransProps) => {
+ return
+}
diff --git a/app/i18n/i18n.ts b/app/i18n/i18n.ts
new file mode 100644
index 000000000..0cb0ea0b9
--- /dev/null
+++ b/app/i18n/i18n.ts
@@ -0,0 +1,47 @@
+import { type I18n, setupI18n } from "@lingui/core"
+import { type Locale, localeSchema } from "./i18nConfig"
+import { cache } from "react"
+import { logError } from "logger"
+
+const getLocaleCtx = cache((): { current: I18n | undefined } => {
+ return { current: undefined }
+})
+
+export const setI18n = (locale: I18n) => {
+ getLocaleCtx().current = locale
+}
+
+export const getI18n = (): I18n | undefined => {
+ return getLocaleCtx().current
+}
+
+const loadCatalog = async (locale: string) => {
+ try {
+ const catalog = await import(`@lingui/loader!./locales/${locale}.po`)
+ return catalog.messages
+ } catch (e) {
+ logError(`No catalog for locale "${locale}"`)
+ return {}
+ }
+}
+
+export type I18nSetupData = {
+ locale: Locale
+ messages: Partial>>
+}
+
+export const initServerTranslations = async (params: { locale: string }) => {
+ const locale = localeSchema.parse(params.locale)
+ const catalog = await loadCatalog(locale)
+
+ const i18nSetupData: I18nSetupData = {
+ locale,
+ messages: { [locale]: catalog },
+ }
+
+ const i18n = setupI18n(i18nSetupData)
+
+ setI18n(i18n)
+
+ return i18nSetupData
+}
diff --git a/app/i18n/i18nConfig.ts b/app/i18n/i18nConfig.ts
new file mode 100644
index 000000000..765dcf8af
--- /dev/null
+++ b/app/i18n/i18nConfig.ts
@@ -0,0 +1,29 @@
+import { z } from "zod"
+
+const IS_DEV = process.env.NODE_ENV !== "production"
+
+const locales = ["en", "fr"] as const
+const devLocales = [...locales, "pseudo-LOCALE"] as const
+export type Locale = (typeof locales)[number] | (typeof devLocales)[number]
+
+type I18nConfig = {
+ locales: Locale[]
+ defaultLocale: Locale
+}
+
+const i18nDevConfig: I18nConfig = {
+ locales: [...devLocales],
+ defaultLocale: "en",
+}
+
+const i18nProdConfig: I18nConfig = {
+ locales: [...locales],
+ defaultLocale: "en",
+}
+
+export const i18nConfig = IS_DEV ? i18nDevConfig : i18nProdConfig
+
+export const localeSchema =
+ process.env.NODE_ENV === "production"
+ ? z.enum(locales).catch("en")
+ : z.enum(devLocales).catch("en")
diff --git a/app/i18n/locales/en.po b/app/i18n/locales/en.po
new file mode 100644
index 000000000..d03fd92ad
--- /dev/null
+++ b/app/i18n/locales/en.po
@@ -0,0 +1,193 @@
+msgid ""
+msgstr ""
+"POT-Creation-Date: 2023-10-22 00:59+0000\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: @lingui/cli\n"
+"Language: en\n"
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Plural-Forms: \n"
+
+#: app/[locale]/_landing/DiscordCard.tsx:76
+msgid "{DISCORD_MEMBERS} discord members, and growing!"
+msgstr "{DISCORD_MEMBERS} discord members, and growing!"
+
+#: app/[locale]/_layout/SideNav.tsx:138
+msgid "1v1 Rankings"
+msgstr "1v1 Rankings"
+
+#: app/[locale]/page.tsx:90
+msgid "2v2"
+msgstr "2v2"
+
+#: app/[locale]/_layout/SideNav.tsx:145
+msgid "2v2 Rankings"
+msgstr "2v2 Rankings"
+
+#: app/[locale]/(rankings)/error.tsx:19
+#: app/[locale]/error.tsx:19
+msgid "An unknown error occured :("
+msgstr "An unknown error occured :("
+
+#: app/[locale]/_layout/SideNav.tsx:158
+msgid "Clans"
+msgstr "Clans"
+
+#: app/[locale]/_layout/Footer.tsx:53
+msgid "Corehalla is neither associated nor endorsed by Blue Mammoth Games and doesn't reflect the views or opinions of Blue Mammoth Games or anyone officially involved in developing Brawlhalla.<0/>Brawlhalla and Blue Mammoth Games are trademarks of"
+msgstr "Corehalla is neither associated nor endorsed by Blue Mammoth Games and doesn't reflect the views or opinions of Blue Mammoth Games or anyone officially involved in developing Brawlhalla.<0/>Brawlhalla and Blue Mammoth Games are trademarks of"
+
+#: app/[locale]/_layout/SideNav.tsx:164
+msgid "Discord Server"
+msgstr "Discord Server"
+
+#: app/[locale]/_landing/DiscordCard.tsx:115
+msgid "Donate"
+msgstr "Donate"
+
+#: app/[locale]/(stats)/error.tsx:19
+msgid "Failed to fetch stats"
+msgstr "Failed to fetch stats"
+
+#: app/[locale]/(rankings)/clans/[[...clansRankingsOptions]]/error.tsx:19
+msgid "Failed to load the clan rankings :("
+msgstr "Failed to load the clan rankings :("
+
+#: app/[locale]/(rankings)/power-rankings/[[...rankingsOptions]]/error.tsx:19
+msgid "Failed to load the power rankings :("
+msgstr "Failed to load the power rankings :("
+
+#: app/[locale]/(rankings)/ranked/queue/error.tsx:19
+msgid "Failed to load the ranked queue :("
+msgstr "Failed to load the ranked queue :("
+
+#: app/[locale]/(rankings)/ranked/[[...rankingsOptions]]/error.tsx:19
+msgid "Failed to load the rankings :("
+msgstr "Failed to load the rankings :("
+
+#: app/[locale]/_layout/SideNav.tsx:180
+msgid "Favorites"
+msgstr "Favorites"
+
+#: app/[locale]/_landing/WeeklyRotation.tsx:39
+msgid "Free Legends Rotation"
+msgstr "Free Legends Rotation"
+
+#: app/[locale]/calculator/page.tsx:76
+msgid "Glory Calculator"
+msgstr "Glory Calculator"
+
+#: app/[locale]/calculator/page.tsx:121
+msgid "Glory from best rating:"
+msgstr "Glory from best rating:"
+
+#: app/[locale]/calculator/page.tsx:105
+msgid "Glory from wins:"
+msgstr "Glory from wins:"
+
+#: app/[locale]/_landing/LandingFavorites.tsx:32
+msgid "Here you'll be able to see your favorite players and clans"
+msgstr "Here you'll be able to see your favorite players and clans"
+
+#: app/[locale]/_layout/SideNav.tsx:131
+msgid "Home"
+msgstr "Home"
+
+#: app/[locale]/calculator/page.tsx:88
+msgid "I have played 10 ranked games (or more)."
+msgstr "I have played 10 ranked games (or more)."
+
+#: app/[locale]/page.tsx:65
+msgid "Improve your Brawlhalla Game, and find your place among the Elite with our in-depth stats tracking and live leaderboards."
+msgstr "Improve your Brawlhalla Game, and find your place among the Elite with our in-depth stats tracking and live leaderboards."
+
+#: app/[locale]/_landing/DiscordCard.tsx:106
+msgid "Join"
+msgstr "Join"
+
+#: app/[locale]/page.tsx:44
+msgid "Join our community"
+msgstr "Join our community"
+
+#: app/[locale]/_layout/Footer.tsx:69
+msgid "Join our community :"
+msgstr "Join our community :"
+
+#: app/[locale]/page.tsx:112
+msgid "Latest News"
+msgstr "Latest News"
+
+#: app/[locale]/calculator/page.tsx:165
+msgid "Legend/Team Rating Squash:"
+msgstr "Legend/Team Rating Squash:"
+
+#: app/[locale]/page.tsx:117
+msgid "Loading articles..."
+msgstr "Loading articles..."
+
+#: app/[locale]/calculator/page.tsx:71
+msgid "New Season Glory / ELO Reset Calculator"
+msgstr "New Season Glory / ELO Reset Calculator"
+
+#: app/[locale]/page.tsx:74
+msgid "or"
+msgstr "or"
+
+#: app/[locale]/calculator/page.tsx:149
+msgid "Personal Rating Squash:"
+msgstr "Personal Rating Squash:"
+
+#: app/[locale]/_layout/SideNav.tsx:152
+msgid "Power Rankings"
+msgstr "Power Rankings"
+
+#: app/[locale]/_landing/DiscordCard.tsx:84
+msgid "Question of the day"
+msgstr "Question of the day"
+
+#: components/search/SearchButton.tsx:40
+msgid "Search player..."
+msgstr "Search player..."
+
+#: app/[locale]/_landing/DiscordCard.tsx:98
+msgid "Share your thoughts"
+msgstr "Share your thoughts"
+
+#: app/[locale]/_landing/LandingFavorites.tsx:39
+#: app/[locale]/_layout/Header.tsx:88
+msgid "Sign in"
+msgstr "Sign in"
+
+#: app/[locale]/page.tsx:57
+msgid "Stay ahead of the competition"
+msgstr "Stay ahead of the competition"
+
+#: app/[locale]/_layout/ErrorDisplay.tsx:29
+msgid "Try Again"
+msgstr "Try Again"
+
+#: app/[locale]/_landing/LandingFavorites.tsx:26
+#: app/[locale]/page.tsx:82
+msgid "View rankings"
+msgstr "View rankings"
+
+#: app/[locale]/_landing/DiscordCard.tsx:87
+msgid "Which weapon(s) do you enjoy playing the most ? and which one(s) you dislike playing ?"
+msgstr "Which weapon(s) do you enjoy playing the most ? and which one(s) you dislike playing ?"
+
+#: app/[locale]/_layout/SideNav.tsx:171
+msgid "Wiki"
+msgstr "Wiki"
+
+#: app/[locale]/_landing/LandingFavorites.tsx:20
+msgid "You don't have any favorites yet, you can a player or a clan as favorite when visiting their profile page."
+msgstr "You don't have any favorites yet, you can a player or a clan as favorite when visiting their profile page."
+
+#: app/[locale]/calculator/page.tsx:134
+msgid "You gotta play at least 10 ranked games!"
+msgstr "You gotta play at least 10 ranked games!"
diff --git a/app/i18n/locales/fr.po b/app/i18n/locales/fr.po
new file mode 100644
index 000000000..872b90921
--- /dev/null
+++ b/app/i18n/locales/fr.po
@@ -0,0 +1,193 @@
+msgid ""
+msgstr ""
+"POT-Creation-Date: 2023-10-22 00:59+0000\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: @lingui/cli\n"
+"Language: fr\n"
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Plural-Forms: \n"
+
+#: app/[locale]/_landing/DiscordCard.tsx:76
+msgid "{DISCORD_MEMBERS} discord members, and growing!"
+msgstr "{DISCORD_MEMBERS} membres sur Discord, et ça continue !"
+
+#: app/[locale]/_layout/SideNav.tsx:138
+msgid "1v1 Rankings"
+msgstr "Classement 1v1"
+
+#: app/[locale]/page.tsx:90
+msgid "2v2"
+msgstr "2v2"
+
+#: app/[locale]/_layout/SideNav.tsx:145
+msgid "2v2 Rankings"
+msgstr "Classement 2v2"
+
+#: app/[locale]/(rankings)/error.tsx:19
+#: app/[locale]/error.tsx:19
+msgid "An unknown error occured :("
+msgstr "Une erreur inconnue est survenue :("
+
+#: app/[locale]/_layout/SideNav.tsx:158
+msgid "Clans"
+msgstr "Clans"
+
+#: app/[locale]/_layout/Footer.tsx:53
+msgid "Corehalla is neither associated nor endorsed by Blue Mammoth Games and doesn't reflect the views or opinions of Blue Mammoth Games or anyone officially involved in developing Brawlhalla.<0/>Brawlhalla and Blue Mammoth Games are trademarks of"
+msgstr "Corehalla n'est ni associé ni approuvé par Blue Mammoth Games et ne reflète pas les vues ou opinions de Blue Mammoth Games ou de quiconque officiellement impliqué dans le développement de Brawlhalla.<0/>Brawlhalla et Blue Mammoth Games sont des marques déposées de"
+
+#: app/[locale]/_layout/SideNav.tsx:164
+msgid "Discord Server"
+msgstr "Serveur Discord"
+
+#: app/[locale]/_landing/DiscordCard.tsx:115
+msgid "Donate"
+msgstr "Faire un don"
+
+#: app/[locale]/(stats)/error.tsx:19
+msgid "Failed to fetch stats"
+msgstr "Impossible de récupérer les statistiques"
+
+#: app/[locale]/(rankings)/clans/[[...clansRankingsOptions]]/error.tsx:19
+msgid "Failed to load the clan rankings :("
+msgstr "Impossible de charger le classement des clans :("
+
+#: app/[locale]/(rankings)/power-rankings/[[...rankingsOptions]]/error.tsx:19
+msgid "Failed to load the power rankings :("
+msgstr "Impossible de charger le classement compétitif :("
+
+#: app/[locale]/(rankings)/ranked/queue/error.tsx:19
+msgid "Failed to load the ranked queue :("
+msgstr "Impossible de charger la file d'attente compétitive :("
+
+#: app/[locale]/(rankings)/ranked/[[...rankingsOptions]]/error.tsx:19
+msgid "Failed to load the rankings :("
+msgstr "Impossible de charger le classement :("
+
+#: app/[locale]/_layout/SideNav.tsx:180
+msgid "Favorites"
+msgstr "Mes favoris"
+
+#: app/[locale]/_landing/WeeklyRotation.tsx:39
+msgid "Free Legends Rotation"
+msgstr "Légendes gratuites de la semaine"
+
+#: app/[locale]/calculator/page.tsx:76
+msgid "Glory Calculator"
+msgstr "Calculateur de Gloire"
+
+#: app/[locale]/calculator/page.tsx:121
+msgid "Glory from best rating:"
+msgstr "Gloire liée au meilleur classement:"
+
+#: app/[locale]/calculator/page.tsx:105
+msgid "Glory from wins:"
+msgstr "Gloire liée aux victoires:"
+
+#: app/[locale]/_landing/LandingFavorites.tsx:32
+msgid "Here you'll be able to see your favorite players and clans"
+msgstr "Ici, vous pourrez voir vos joueurs et clans favoris"
+
+#: app/[locale]/_layout/SideNav.tsx:131
+msgid "Home"
+msgstr "Accueil"
+
+#: app/[locale]/calculator/page.tsx:88
+msgid "I have played 10 ranked games (or more)."
+msgstr "J'ai joué 10 parties classées (ou plus)."
+
+#: app/[locale]/page.tsx:65
+msgid "Improve your Brawlhalla Game, and find your place among the Elite with our in-depth stats tracking and live leaderboards."
+msgstr "Deviens un meilleur joueur de Brawlhalla, en t'appuyant sur nos statistiques détaillées et nos classements mis à jour en temps réel."
+
+#: app/[locale]/_landing/DiscordCard.tsx:106
+msgid "Join"
+msgstr "Rejoindre"
+
+#: app/[locale]/page.tsx:44
+msgid "Join our community"
+msgstr "Rejoignez notre communauté"
+
+#: app/[locale]/_layout/Footer.tsx:69
+msgid "Join our community :"
+msgstr "Rejoignez notre communauté :"
+
+#: app/[locale]/page.tsx:112
+msgid "Latest News"
+msgstr "Dernières actus"
+
+#: app/[locale]/calculator/page.tsx:165
+msgid "Legend/Team Rating Squash:"
+msgstr "Classement Légende/Équipe pour la prochaine saison:"
+
+#: app/[locale]/page.tsx:117
+msgid "Loading articles..."
+msgstr "Chargement des articles..."
+
+#: app/[locale]/calculator/page.tsx:71
+msgid "New Season Glory / ELO Reset Calculator"
+msgstr ""
+
+#: app/[locale]/page.tsx:74
+msgid "or"
+msgstr "ou"
+
+#: app/[locale]/calculator/page.tsx:149
+msgid "Personal Rating Squash:"
+msgstr "Classement personnel pour la prochaine saison:"
+
+#: app/[locale]/_layout/SideNav.tsx:152
+msgid "Power Rankings"
+msgstr "Classement Compétitif"
+
+#: app/[locale]/_landing/DiscordCard.tsx:84
+msgid "Question of the day"
+msgstr "Question du jour"
+
+#: components/search/SearchButton.tsx:40
+msgid "Search player..."
+msgstr "Rechercher..."
+
+#: app/[locale]/_landing/DiscordCard.tsx:98
+msgid "Share your thoughts"
+msgstr "Partagez vos idées"
+
+#: app/[locale]/_landing/LandingFavorites.tsx:39
+#: app/[locale]/_layout/Header.tsx:88
+msgid "Sign in"
+msgstr "Se connecter"
+
+#: app/[locale]/page.tsx:57
+msgid "Stay ahead of the competition"
+msgstr "Devance la concurrence"
+
+#: app/[locale]/_layout/ErrorDisplay.tsx:29
+msgid "Try Again"
+msgstr "Réessayer"
+
+#: app/[locale]/_landing/LandingFavorites.tsx:26
+#: app/[locale]/page.tsx:82
+msgid "View rankings"
+msgstr "Voir le classement"
+
+#: app/[locale]/_landing/DiscordCard.tsx:87
+msgid "Which weapon(s) do you enjoy playing the most ? and which one(s) you dislike playing ?"
+msgstr "Quelle(s) arme(s) préférez-vous jouer ? Et laquelle (lesquelles) n'aimez-vous pas ?"
+
+#: app/[locale]/_layout/SideNav.tsx:171
+msgid "Wiki"
+msgstr "Wiki"
+
+#: app/[locale]/_landing/LandingFavorites.tsx:20
+msgid "You don't have any favorites yet, you can a player or a clan as favorite when visiting their profile page."
+msgstr "Vous n'avez pas encore de favoris, vous pouvez ajouter un joueur ou un clan en favori en visitant leur page de profil."
+
+#: app/[locale]/calculator/page.tsx:134
+msgid "You gotta play at least 10 ranked games!"
+msgstr "Vous devez jouer au moins 10 parties classées !"
diff --git a/app/i18n/locales/pseudo-LOCALE.po b/app/i18n/locales/pseudo-LOCALE.po
new file mode 100644
index 000000000..5e2aaaa8f
--- /dev/null
+++ b/app/i18n/locales/pseudo-LOCALE.po
@@ -0,0 +1,193 @@
+msgid ""
+msgstr ""
+"POT-Creation-Date: 2023-10-22 01:42+0000\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: @lingui/cli\n"
+"Language: pseudo-LOCALE\n"
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Plural-Forms: \n"
+
+#: app/[locale]/_landing/DiscordCard.tsx:76
+msgid "{DISCORD_MEMBERS} discord members, and growing!"
+msgstr ""
+
+#: app/[locale]/_layout/SideNav.tsx:138
+msgid "1v1 Rankings"
+msgstr ""
+
+#: app/[locale]/page.tsx:90
+msgid "2v2"
+msgstr ""
+
+#: app/[locale]/_layout/SideNav.tsx:145
+msgid "2v2 Rankings"
+msgstr ""
+
+#: app/[locale]/(rankings)/error.tsx:19
+#: app/[locale]/error.tsx:19
+msgid "An unknown error occured :("
+msgstr ""
+
+#: app/[locale]/_layout/SideNav.tsx:158
+msgid "Clans"
+msgstr ""
+
+#: app/[locale]/_layout/Footer.tsx:53
+msgid "Corehalla is neither associated nor endorsed by Blue Mammoth Games and doesn't reflect the views or opinions of Blue Mammoth Games or anyone officially involved in developing Brawlhalla.<0/>Brawlhalla and Blue Mammoth Games are trademarks of"
+msgstr ""
+
+#: app/[locale]/_layout/SideNav.tsx:164
+msgid "Discord Server"
+msgstr ""
+
+#: app/[locale]/_landing/DiscordCard.tsx:115
+msgid "Donate"
+msgstr ""
+
+#: app/[locale]/(stats)/error.tsx:19
+msgid "Failed to fetch stats"
+msgstr ""
+
+#: app/[locale]/(rankings)/clans/[[...clansRankingsOptions]]/error.tsx:19
+msgid "Failed to load the clan rankings :("
+msgstr ""
+
+#: app/[locale]/(rankings)/power-rankings/[[...rankingsOptions]]/error.tsx:19
+msgid "Failed to load the power rankings :("
+msgstr ""
+
+#: app/[locale]/(rankings)/ranked/queue/error.tsx:19
+msgid "Failed to load the ranked queue :("
+msgstr ""
+
+#: app/[locale]/(rankings)/ranked/[[...rankingsOptions]]/error.tsx:19
+msgid "Failed to load the rankings :("
+msgstr ""
+
+#: app/[locale]/_layout/SideNav.tsx:180
+msgid "Favorites"
+msgstr ""
+
+#: app/[locale]/_landing/WeeklyRotation.tsx:39
+msgid "Free Legends Rotation"
+msgstr ""
+
+#: app/[locale]/calculator/page.tsx:76
+msgid "Glory Calculator"
+msgstr ""
+
+#: app/[locale]/calculator/page.tsx:121
+msgid "Glory from best rating:"
+msgstr ""
+
+#: app/[locale]/calculator/page.tsx:105
+msgid "Glory from wins:"
+msgstr ""
+
+#: app/[locale]/_landing/LandingFavorites.tsx:32
+msgid "Here you'll be able to see your favorite players and clans"
+msgstr ""
+
+#: app/[locale]/_layout/SideNav.tsx:131
+msgid "Home"
+msgstr ""
+
+#: app/[locale]/calculator/page.tsx:88
+msgid "I have played 10 ranked games (or more)."
+msgstr ""
+
+#: app/[locale]/page.tsx:65
+msgid "Improve your Brawlhalla Game, and find your place among the Elite with our in-depth stats tracking and live leaderboards."
+msgstr ""
+
+#: app/[locale]/_landing/DiscordCard.tsx:106
+msgid "Join"
+msgstr ""
+
+#: app/[locale]/page.tsx:44
+msgid "Join our community"
+msgstr ""
+
+#: app/[locale]/_layout/Footer.tsx:69
+msgid "Join our community :"
+msgstr ""
+
+#: app/[locale]/page.tsx:112
+msgid "Latest News"
+msgstr ""
+
+#: app/[locale]/calculator/page.tsx:165
+msgid "Legend/Team Rating Squash:"
+msgstr ""
+
+#: app/[locale]/page.tsx:117
+msgid "Loading articles..."
+msgstr ""
+
+#: app/[locale]/calculator/page.tsx:71
+msgid "New Season Glory / ELO Reset Calculator"
+msgstr ""
+
+#: app/[locale]/page.tsx:74
+msgid "or"
+msgstr ""
+
+#: app/[locale]/calculator/page.tsx:149
+msgid "Personal Rating Squash:"
+msgstr ""
+
+#: app/[locale]/_layout/SideNav.tsx:152
+msgid "Power Rankings"
+msgstr ""
+
+#: app/[locale]/_landing/DiscordCard.tsx:84
+msgid "Question of the day"
+msgstr ""
+
+#: components/search/SearchButton.tsx:40
+msgid "Search player..."
+msgstr ""
+
+#: app/[locale]/_landing/DiscordCard.tsx:98
+msgid "Share your thoughts"
+msgstr ""
+
+#: app/[locale]/_landing/LandingFavorites.tsx:39
+#: app/[locale]/_layout/Header.tsx:88
+msgid "Sign in"
+msgstr ""
+
+#: app/[locale]/page.tsx:57
+msgid "Stay ahead of the competition"
+msgstr ""
+
+#: app/[locale]/_layout/ErrorDisplay.tsx:29
+msgid "Try Again"
+msgstr ""
+
+#: app/[locale]/_landing/LandingFavorites.tsx:26
+#: app/[locale]/page.tsx:82
+msgid "View rankings"
+msgstr ""
+
+#: app/[locale]/_landing/DiscordCard.tsx:87
+msgid "Which weapon(s) do you enjoy playing the most ? and which one(s) you dislike playing ?"
+msgstr ""
+
+#: app/[locale]/_layout/SideNav.tsx:171
+msgid "Wiki"
+msgstr ""
+
+#: app/[locale]/_landing/LandingFavorites.tsx:20
+msgid "You don't have any favorites yet, you can a player or a clan as favorite when visiting their profile page."
+msgstr ""
+
+#: app/[locale]/calculator/page.tsx:134
+msgid "You gotta play at least 10 ranked games!"
+msgstr ""
diff --git a/app/lib/utils.ts b/app/lib/utils.ts
new file mode 100644
index 000000000..03aaa4b68
--- /dev/null
+++ b/app/lib/utils.ts
@@ -0,0 +1,6 @@
+import { type ClassValue, clsx } from "clsx"
+import { twMerge } from "tailwind-merge"
+
+export function cn(...inputs: ClassValue[]) {
+ return twMerge(clsx(inputs))
+}
diff --git a/app/lingui.config.js b/app/lingui.config.js
new file mode 100644
index 000000000..40859e60e
--- /dev/null
+++ b/app/lingui.config.js
@@ -0,0 +1,23 @@
+/** @type {import('@lingui/conf').LinguiConfig} */
+module.exports = {
+ locales: ["en", "fr", "pseudo-LOCALE"],
+ pseudoLocale: "pseudo-LOCALE",
+ sourceLocale: "en",
+ fallbackLocales: {
+ "pseudo-LOCALE": "en",
+ },
+ catalogs: [
+ {
+ path: "/i18n/locales/{locale}",
+ include: [
+ "app/**/*",
+ "pages/**/*",
+ "components/**/*",
+ "lib/**/*",
+ "../packages/ui/theme/**/*",
+ "../packages/ui/base/**/*",
+ ],
+ },
+ ],
+ format: "po",
+}
diff --git a/app/middleware.ts b/app/middleware.ts
new file mode 100644
index 000000000..3d5b9a9e6
--- /dev/null
+++ b/app/middleware.ts
@@ -0,0 +1,11 @@
+import { type NextRequest } from "next/server"
+import { i18nConfig } from "@/i18n/i18nConfig"
+import { i18nRouter } from "next-i18n-router"
+
+export function middleware(request: NextRequest) {
+ return i18nRouter(request, i18nConfig)
+}
+
+export const config = {
+ matcher: "/((?!api|static|.*\\..*|_next).*)",
+}
diff --git a/app/next-sitemap.config.js b/app/next-sitemap.config.js
deleted file mode 100644
index 04d8051d1..000000000
--- a/app/next-sitemap.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/** @type {import('next-sitemap').IConfig} */
-module.exports = {
- siteUrl: process.env.SITE_URL ?? "https://dev.corehalla.com",
- generateRobotsTxt: true,
- priority: 1.0,
-}
diff --git a/app/next.config.js b/app/next.config.js
index d365176b8..7e9c55959 100644
--- a/app/next.config.js
+++ b/app/next.config.js
@@ -1,30 +1,86 @@
-const BRAWLHALLA_WIKI_URL = "https://brawlhalla.fandom.com/wiki/Brawlhalla_Wiki"
-const COREHALLA_DISCORD_URL = "https://discord.com/invite/eD248ez"
-const COREHALLA_GITHUB_URL = "https://github.com/djobbo/corehalla"
-const COREHALLA_TWITTER_URL = "https://twitter.com/Corehalla"
-const COREHALLA_KOFI_URL = "https://ko-fi.com/corehalla"
+const {
+ BRAWLHALLA_WIKI_URL,
+ COREHALLA_DISCORD_URL,
+ COREHALLA_GITHUB_URL,
+ COREHALLA_TWITTER_URL,
+ COREHALLA_KOFI_URL,
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
+} = require("./socials")
+
+// eslint-disable-next-line @typescript-eslint/no-var-requires
+const path = require("path")
+
+const TRANS_VIRTUAL_MODULE_NAME = "virtual-lingui-trans"
+
+class LinguiTransRscResolver {
+ apply(resolver) {
+ const target = resolver.ensureHook("resolve")
+ resolver
+ .getHook("resolve")
+ .tapAsync(
+ "LinguiTransRscResolver",
+ (request, resolveContext, callback) => {
+ if (request.request === TRANS_VIRTUAL_MODULE_NAME) {
+ const req = {
+ ...request,
+ request:
+ request.context.issuerLayer === "rsc"
+ ? // RSC Version without Context
+ path.resolve("./i18n/TransRSC.tsx")
+ : // Regular version
+ "@lingui/react",
+ }
+
+ return resolver.doResolve(
+ target,
+ req,
+ null,
+ resolveContext,
+ callback,
+ )
+ }
+
+ callback()
+ },
+ )
+ }
+}
/** @type {import('next').NextConfig} */
-module.exports = {
+const nextConfig = {
reactStrictMode: true,
- transpilePackages: [
- "bhapi",
- "ui",
- "logger",
- "common",
- "db",
- "web-parser",
- "server",
- ],
+ transpilePackages: ["bhapi", "common", "db", "ui"],
images: {
- domains: ["cdn.discordapp.com", "www.brawlhalla.com"],
+ remotePatterns: [
+ {
+ hostname: "cdn.discordapp.com",
+ },
+ {
+ hostname: "www.brawlhalla.com",
+ },
+ ],
},
- experimental: {
- logging: {
- level: "verbose",
+ logging: {
+ fetches: {
fullUrl: true,
},
},
+ experimental: {
+ swcPlugins: [
+ [
+ "@lingui/swc-plugin",
+ {
+ runtimeModules: {
+ trans: [TRANS_VIRTUAL_MODULE_NAME, "Trans"],
+ },
+ },
+ ],
+ ],
+ },
+ webpack(config) {
+ config.resolve.plugins.push(new LinguiTransRscResolver())
+ return config
+ },
async redirects() {
return [
{
@@ -63,25 +119,52 @@ module.exports = {
permanent: true,
},
{
- source: "/rankings",
- destination: "/rankings/1v1",
+ source: "/rankings/:path*",
+ destination: "/ranked/:path*",
+ permanent: true,
+ },
+ {
+ source: "/ranked",
+ destination: "/ranked/1v1",
permanent: true,
},
{
source: "/leaderboard/:path*",
- destination: "/rankings",
+ destination: "/ranked",
+ permanent: true,
+ },
+ {
+ source: "/stats/player/:path*",
+ destination: "/player/:path*",
+ permanent: true,
+ },
+ {
+ source: "/stats/clan/:path*",
+ destination: "/clan/:path*",
permanent: true,
},
{
source: "/p/:path*",
- destination: "/stats/player/:path*",
+ destination: "/player/:path*",
permanent: true,
},
{
source: "/c/:path*",
- destination: "/stats/clan/:path*",
+ destination: "/clan/:path*",
+ permanent: true,
+ },
+ {
+ source: "/calc/:path*",
+ destination: "/calculator/:path*",
+ permanent: true,
+ },
+ {
+ source: "/@me/:path*",
+ destination: "/me/:path*",
permanent: true,
},
]
},
}
+
+module.exports = nextConfig
diff --git a/app/package.json b/app/package.json
index 0d8f6ad89..833cc95b6 100644
--- a/app/package.json
+++ b/app/package.json
@@ -1,52 +1,72 @@
{
- "name": "app",
- "version": "0.0.0",
- "private": true,
- "sideEffects": false,
- "scripts": {
- "dev": "next dev",
- "dev:prod": "NEXT_PUBLIC_FORCE_PRODUCTION_WEBSITE=true next dev",
- "build": "next build && pnpm gen:sitemap",
- "start": "next start",
- "ts:check": "tsc --noEmit",
- "gen:sitemap": "next-sitemap"
- },
- "dependencies": {
- "@fontsource/montserrat": "^4.5.13",
- "@radix-ui/react-collapsible": "^1.0.1",
- "@radix-ui/react-tabs": "^1.0.1",
- "@stitches/react": "^1.2.8",
- "@tanstack/react-query": "^4.22.0",
- "@trpc/client": "10.9.0",
- "@trpc/next": "10.9.0",
- "@trpc/react-query": "10.9.0",
- "@trpc/server": "10.9.0",
- "bhapi": "workspace:*",
- "common": "workspace:*",
- "db": "workspace:*",
- "encoding": "^0.1.13",
- "kbar": "0.1.0-beta.39",
- "logger": "workspace:*",
- "next": "13.5.6",
- "next-sitemap": "^3.1.43",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
- "react-hot-toast": "^2.4.0",
- "react-icons": "^4.7.1",
- "server": "workspace:*",
- "ui": "workspace:*",
- "web-parser": "workspace:*",
- "zod": "^3.20.2"
- },
- "devDependencies": {
- "@tanstack/query-core": "^4.22.0",
- "@types/node": "^20.8.7",
- "@types/react": "^18.2.31",
- "autoprefixer": "^10.4.13",
- "next-transpile-modules": "10.0.0",
- "postcss": "^8.4.20",
- "tailwindcss": "^3.2.4",
- "tsconfig": "workspace:*",
- "typescript": "^4.9.4"
- }
+ "name": "app",
+ "version": "0.1.0",
+ "private": true,
+ "scripts": {
+ "dev": "next dev",
+ "dev:prod": "NEXT_PUBLIC_FORCE_PRODUCTION_WEBSITE=true next dev",
+ "build": "next build",
+ "build:prod": "next build",
+ "start": "next start",
+ "db:gen": "drizzle-kit generate:pg",
+ "db:studio": "drizzle-kit studio",
+ "db:push": "pnpm db:gen && tsx ./db/migrate.ts",
+ "ts:check": "tsc --noEmit",
+ "locales:extract": "lingui extract --clean",
+ "locales:compile": "lingui compile"
+ },
+ "dependencies": {
+ "@lingui/core": "^4.7.0",
+ "@lingui/macro": "^4.7.0",
+ "@lingui/react": "^4.7.0",
+ "@radix-ui/react-collapsible": "^1.0.3",
+ "@radix-ui/react-dialog": "^1.0.5",
+ "@tanstack/react-query": "^4.35.3",
+ "@trpc/client": "^10.45.0",
+ "@trpc/react-query": "^10.45.0",
+ "@trpc/server": "^10.45.0",
+ "@types/node": "20.11.10",
+ "@types/react": "18.2.48",
+ "@types/react-dom": "18.2.18",
+ "autoprefixer": "10.4.17",
+ "bhapi": "workspace:*",
+ "clsx": "^2.1.0",
+ "common": "workspace:*",
+ "db": "workspace:*",
+ "drizzle-orm": "^0.29.3",
+ "drizzle-zod": "^0.5.1",
+ "encoding": "^0.1.13",
+ "i18next": "^23.8.1",
+ "immer": "^10.0.3",
+ "kbar": "0.1.0-beta.45",
+ "logger": "workspace:*",
+ "next": "14.1.0",
+ "next-i18n-router": "^5.2.0",
+ "pg": "^8.11.3",
+ "postcss": "8.4.33",
+ "react": "18.2.0",
+ "react-dom": "18.2.0",
+ "react-hot-toast": "^2.4.1",
+ "react-icons": "^5.0.1",
+ "sharp": "^0.33.2",
+ "superjson": "^2.2.1",
+ "tailwind-merge": "^2.2.1",
+ "tailwindcss": "3.4.1",
+ "tailwindcss-animate": "^1.0.7",
+ "typescript": "5.3.3",
+ "ui": "workspace:*",
+ "web-parser": "workspace:*",
+ "zod": "^3.22.4",
+ "zustand": "^4.5.0"
+ },
+ "devDependencies": {
+ "@cloudflare/next-on-pages": "^1.8.5",
+ "@lingui/cli": "^4.7.0",
+ "@lingui/conf": "^4.7.0",
+ "@lingui/loader": "^4.7.0",
+ "@lingui/swc-plugin": "^4.0.4",
+ "@types/pg": "^8.11.0",
+ "drizzle-kit": "^0.20.13",
+ "tsx": "^4.7.0"
+ }
}
\ No newline at end of file
diff --git a/app/pages/404.tsx b/app/pages/404.tsx
deleted file mode 100644
index 8140b95c8..000000000
--- a/app/pages/404.tsx
+++ /dev/null
@@ -1,8 +0,0 @@
-import { ErrorPageContent } from "@components/layout/ErrorPageContent"
-import type { NextPage } from "next"
-
-const ErrorPage: NextPage = () => {
- return
-}
-
-export default ErrorPage
diff --git a/app/pages/500.tsx b/app/pages/500.tsx
deleted file mode 100644
index 879a244b8..000000000
--- a/app/pages/500.tsx
+++ /dev/null
@@ -1,8 +0,0 @@
-import { ErrorPageContent } from "@components/layout/ErrorPageContent"
-import type { NextPage } from "next"
-
-const ErrorPage: NextPage = () => {
- return
-}
-
-export default ErrorPage
diff --git a/app/pages/@me/favorites.tsx b/app/pages/@me/favorites.tsx
deleted file mode 100644
index ab81a1109..000000000
--- a/app/pages/@me/favorites.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import { FavoritesGrid } from "@components/favorites/FavoritesGrid"
-import { SEO } from "@components/SEO"
-import { SectionTitle } from "@components/layout/SectionTitle"
-import { useFavorites } from "@ctx/auth/AuthProvider"
-import type { NextPage } from "next"
-
-const Page: NextPage = () => {
- const { playerFavorites, clanFavorites } = useFavorites()
-
- return (
- <>
-
- Favorites
- Players
-
- Clans
-
- >
- )
-}
-
-export default Page
diff --git a/app/pages/_app.tsx b/app/pages/_app.tsx
deleted file mode 100644
index b869f0c2e..000000000
--- a/app/pages/_app.tsx
+++ /dev/null
@@ -1,71 +0,0 @@
-import "../styles/globals.css"
-import "../styles/nprogress.css"
-import "@fontsource/montserrat/400.css"
-import "@fontsource/montserrat/600.css"
-import "@fontsource/montserrat/700.css"
-
-import { AnimatedLogo } from "ui/base/AnimatedLogo"
-import { AuthProvider } from "@ctx/auth/AuthProvider"
-// dynamic breaks with next >= v13.0.7
-//Will be fixed (maybe?) by https://github.com/vercel/next.js/pull/44832
-const BackToTopButton = dynamic(
- () =>
- import("@components/BackToTopButton").then(
- (mod) => mod.BackToTopButton,
- ),
- {
- ssr: false,
- },
-)
-import { GAScripts } from "common/analytics/GAScripts"
-import { KBarProvider } from "kbar"
-import { Layout } from "@components/layout/Layout"
-import { PageLoader } from "ui/base/PageLoader"
-import { SEO } from "@components/SEO"
-import { Searchbox } from "@components/search/Searchbox"
-import { SideNavProvider } from "@ctx/SideNavProvider"
-import { Toaster } from "react-hot-toast"
-import { trpc } from "@util/trpc"
-import Head from "next/head"
-import dynamic from "next/dynamic"
-import type { AppProps } from "next/app"
-
-const App = ({
- Component,
- pageProps,
-}: AppProps<{ dehydratedState: unknown }>) => {
- return (
- <>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- >
- )
-}
-
-export default trpc.withTRPC(App)
diff --git a/app/pages/_error.tsx b/app/pages/_error.tsx
deleted file mode 100644
index c880095a4..000000000
--- a/app/pages/_error.tsx
+++ /dev/null
@@ -1,8 +0,0 @@
-import { ErrorPageContent } from "@components/layout/ErrorPageContent"
-import type { NextPage } from "next"
-
-const ErrorPage: NextPage = () => {
- return
-}
-
-export default ErrorPage
diff --git a/app/pages/api/bh-articles.ts b/app/pages/api/bh-articles.ts
deleted file mode 100644
index bf19f0d34..000000000
--- a/app/pages/api/bh-articles.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { parseBHArticlesPage } from "web-parser/bh-articles/parseBHArticlesPage"
-import type { BHArticleType } from "web-parser/bh-articles/parseBHArticlesPage"
-import type { NextApiHandler } from "next"
-
-const handler: NextApiHandler = async (req, res) => {
- const { page = "1", type = "patch-notes", max } = req.query
-
- try {
- const pageNum = parseInt(page as string)
- const articles = await parseBHArticlesPage(
- pageNum,
- type.toString() as BHArticleType,
- )
-
- res.setHeader(
- "Cache-Control",
- "public, s-maxage=3600, stale-while-revalidate=7200",
- )
-
- if (max) {
- return res.json(articles.slice(0, parseInt(max.toString())))
- }
- res.json(articles)
- } catch {
- res.status(404).json({ error: "Page not found" })
- }
-}
-
-export default handler
diff --git a/app/pages/api/rankings/clans.ts b/app/pages/api/rankings/clans.ts
deleted file mode 100644
index cda0f44ae..000000000
--- a/app/pages/api/rankings/clans.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import { CLANS_RANKINGS_PER_PAGE } from "server/helpers/constants"
-import { supabaseService } from "db/supabase/service"
-import type { BHClan } from "db/generated/client"
-import type { NextApiHandler } from "next"
-
-const handler: NextApiHandler = async (req, res) => {
- const { name = "", page = "1" } = req.query
-
- try {
- let query = supabaseService
- .from("BHClan")
- .select("*")
- .order("xp", { ascending: false })
-
- if (name) {
- query = query.match({ name })
- }
-
- const pageNum = parseInt(page as string)
-
- const { data, error } = await query.range(
- (pageNum - 1) * CLANS_RANKINGS_PER_PAGE,
- pageNum * CLANS_RANKINGS_PER_PAGE - 1,
- )
-
- if (error) throw error
-
- res.setHeader(
- "Cache-Control",
- "public, s-maxage=300, stale-while-revalidate=480",
- )
-
- res.status(200).json(data ?? [])
- } catch (error) {
- res.status(500).json({ error: "something went wrong" })
- }
-}
-
-export default handler
diff --git a/app/pages/api/rankings/index.ts b/app/pages/api/rankings/index.ts
deleted file mode 100644
index acc2c09e5..000000000
--- a/app/pages/api/rankings/index.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { getRankings } from "bhapi"
-import type { Bracket } from "bhapi/types"
-import type { NextApiHandler } from "next"
-import type { RankedRegion } from "bhapi/constants"
-
-const handler: NextApiHandler = async (req, res) => {
- res.setHeader(
- "Cache-Control",
- "public, s-maxage=300, stale-while-revalidate=480",
- )
-
- try {
- const { bracket, region, page, name } = req.query
- const data = await getRankings(
- bracket as Bracket,
- region as RankedRegion,
- page as string,
- name as string,
- )
- res.status(200).json(data)
- } catch (error) {
- res.status(500).json({ error: "something went wrong" })
- }
-}
-
-export default handler
diff --git a/app/pages/api/rankings/power.ts b/app/pages/api/rankings/power.ts
deleted file mode 100644
index e9f8707a4..000000000
--- a/app/pages/api/rankings/power.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { parsePowerRankingsPage } from "web-parser/power-rankings/parsePowerRankingsPage"
-import type { Bracket } from "bhapi/types"
-import type { NextApiHandler } from "next"
-
-const handler: NextApiHandler = async (req, res) => {
- try {
- const { bracket, region } = req.query
- const data = await parsePowerRankingsPage(
- bracket as Bracket,
- // @ts-expect-error typecheck region
- region,
- )
-
- res.setHeader(
- "Cache-Control",
- "public, s-maxage=300, stale-while-revalidate=480",
- )
-
- res.status(200).json(data)
- } catch (error) {
- res.status(500).json({ error: "something went wrong" })
- }
-}
-
-export default handler
diff --git a/app/pages/api/rankings/search/player.ts b/app/pages/api/rankings/search/player.ts
deleted file mode 100644
index 028fd2d13..000000000
--- a/app/pages/api/rankings/search/player.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import { SEARCH_PLAYERS_ALIASES_PER_PAGE } from "server/helpers/constants"
-import { supabaseService } from "db/supabase/service"
-import type { BHPlayerAlias } from "db/generated/client"
-import type { NextApiHandler } from "next"
-
-const handler: NextApiHandler = async (req, res) => {
- res.setHeader(
- "Cache-Control",
- "public, s-maxage=600, stale-while-revalidate=3600",
- )
-
- const { search, page = "1" } = req.query
-
- if (!search) {
- return res.status(403).json({ error: "Bad request" })
- }
-
- try {
- let query = supabaseService
- .from("BHPlayerAlias")
- .select("*")
- .order("alias", { ascending: true })
-
- if (search) {
- query = query.match({ alias: search })
- }
-
- const pageNum = parseInt(page as string)
-
- const { data, error } = await query.range(
- (pageNum - 1) * SEARCH_PLAYERS_ALIASES_PER_PAGE,
- pageNum * SEARCH_PLAYERS_ALIASES_PER_PAGE - 1,
- )
-
- if (error) throw error
-
- //TODO: fetch all aliases used by players
-
- res.status(200).json(data ?? [])
- } catch (error) {
- res.status(500).json({ error: "something went wrong" })
- }
-}
-
-export default handler
diff --git a/app/pages/api/stats/clan/[clanId].ts b/app/pages/api/stats/clan/[clanId].ts
deleted file mode 100644
index 8ccf2a028..000000000
--- a/app/pages/api/stats/clan/[clanId].ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import { getClan } from "bhapi"
-import type { NextApiHandler } from "next"
-
-const handler: NextApiHandler = async (req, res) => {
- try {
- const { clanId } = req.query
- const data = await getClan(parseInt(clanId as string))
-
- res.setHeader(
- "Cache-Control",
- "public, s-maxage=300, stale-while-revalidate=480",
- )
-
- res.status(200).json(data)
- } catch (error) {
- res.status(500).json({ error: "something went wrong" })
- }
-}
-
-export default handler
diff --git a/app/pages/api/stats/player/[playerId]/aliases.ts b/app/pages/api/stats/player/[playerId]/aliases.ts
deleted file mode 100644
index 93f7abc5f..000000000
--- a/app/pages/api/stats/player/[playerId]/aliases.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import { supabaseService } from "db/supabase/service"
-import type { BHPlayerAlias } from "db/generated/client"
-import type { NextApiHandler } from "next"
-
-const handler: NextApiHandler = async (req, res) => {
- res.setHeader(
- "Cache-Control",
- "public, s-maxage=300, stale-while-revalidate=480",
- )
-
- const { playerId } = req.query
-
- try {
- const { data, error } = await supabaseService
- .from("BHPlayerAlias")
- .select("*")
- .match({ playerId })
-
- if (error) throw error
-
- res.status(200).json(data.map((alias) => alias.alias))
- } catch (error) {
- res.status(500).json({ error: "something went wrong" })
- }
-}
-
-export default handler
diff --git a/app/pages/api/stats/player/[playerId]/ranked.ts b/app/pages/api/stats/player/[playerId]/ranked.ts
deleted file mode 100644
index 8300879e7..000000000
--- a/app/pages/api/stats/player/[playerId]/ranked.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import { getPlayerRanked } from "bhapi"
-import type { NextApiHandler } from "next"
-
-const handler: NextApiHandler = async (req, res) => {
- try {
- const { playerId } = req.query
- const data = await getPlayerRanked(parseInt(playerId as string))
-
- res.setHeader(
- "Cache-Control",
- "public, s-maxage=300, stale-while-revalidate=480",
- )
-
- res.status(200).json(data)
- } catch (error) {
- res.status(500).json({ error: "something went wrong" })
- }
-}
-
-export default handler
diff --git a/app/pages/api/stats/player/[playerId]/stats.ts b/app/pages/api/stats/player/[playerId]/stats.ts
deleted file mode 100644
index c4c95de4b..000000000
--- a/app/pages/api/stats/player/[playerId]/stats.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import { getPlayerStats } from "bhapi"
-import type { NextApiHandler } from "next"
-
-const handler: NextApiHandler = async (req, res) => {
- res.setHeader(
- "Cache-Control",
- "public, s-maxage=300, stale-while-revalidate=480",
- )
-
- try {
- const { playerId } = req.query
- const data = await getPlayerStats(parseInt(playerId as string))
- res.status(200).json(data)
- } catch (error) {
- res.status(500).json({ error: "something went wrong" })
- }
-}
-
-export default handler
diff --git a/app/pages/api/trpc/[trpc].ts b/app/pages/api/trpc/[trpc].ts
deleted file mode 100644
index 10f9ddf3d..000000000
--- a/app/pages/api/trpc/[trpc].ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import * as trpcNext from "@trpc/server/adapters/next"
-import { appRouter } from "server/router"
-
-export default trpcNext.createNextApiHandler({
- router: appRouter,
- createContext: () => ({}),
- batching: {
- enabled: false,
- },
- responseMeta({ paths, type, errors }) {
- // assuming you have all your public routes with the keyword `public` in them
- const allPublic =
- paths && paths.every((path) => path.includes("public"))
- // checking that no procedures errored
- const allOk = errors.length === 0
- // checking we're doing a query request
- const isQuery = type === "query"
- if (allPublic && allOk && isQuery) {
- // cache for 1 day + revalidate once every 30 seconds
- const CACHE_TIME = 60 * 60 * 24
- const REVALIDATE_TIME = 30
-
- return {
- headers: {
- "cache-control": `s-maxage=${REVALIDATE_TIME}, stale-while-revalidate=${CACHE_TIME}`,
- },
- }
- }
- return {}
- },
-})
diff --git a/app/pages/api/weekly-rotation.ts b/app/pages/api/weekly-rotation.ts
deleted file mode 100644
index b4cff67e5..000000000
--- a/app/pages/api/weekly-rotation.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import { getWeeklyRotation } from "web-parser/weekly-rotation/getWeeklyRotation"
-import type { NextApiHandler } from "next"
-
-const handler: NextApiHandler = async (req, res) => {
- try {
- const weeklyRotation = await getWeeklyRotation()
-
- res.setHeader(
- "Cache-Control",
- "public, s-maxage=3600, stale-while-revalidate=7200",
- )
-
- res.status(200).json(weeklyRotation)
- } catch (error) {
- res.status(500).json({ error: "Failed to fetch weekly rotation" })
- }
-}
-
-export default handler
diff --git a/app/pages/index.tsx b/app/pages/index.tsx
deleted file mode 100644
index 9b7e8a1ab..000000000
--- a/app/pages/index.tsx
+++ /dev/null
@@ -1,152 +0,0 @@
-import { ArrowSmRightIcon, DiscordIcon } from "ui/icons"
-import { ArticlePreviewGrid } from "@components/articles/ArticlePreviewGrid"
-import { Button } from "ui/base/Button"
-import { DiscordCard } from "@components/DiscordCard"
-import { FavoritesGrid } from "@components/favorites/FavoritesGrid"
-import { SEO } from "@components/SEO"
-import { SearchButton } from "@components/search/SearchButton"
-import { SectionTitle } from "@components/layout/SectionTitle"
-import { WeeklyRotation } from "@components/WeeklyRotation"
-import { cn } from "common/helpers/classnames"
-import { css } from "ui/theme"
-import { useAuth, useFavorites } from "@ctx/auth/AuthProvider"
-import { useBrawlhallaArticles } from "@hooks/useBrawlhallaArticles"
-
-const landingClassName = css({
- height: "60vh",
- minHeight: "400px",
-})()
-
-const Page = () => {
- const { isLoggedIn, signIn } = useAuth()
- const { favorites } = useFavorites()
- const { articles } = useBrawlhallaArticles(3)
-
- return (
- <>
-
-
-
-
-
- Join our community
-
-
- Discord
-
-
-
-
- Stay ahead of
- the competition
-
-
- Improve your Brawlhalla Game, and find your place among
- the Elite with our in-depth stats tracking and live
- leaderboards.
-
-
-
-
- or
-
-
-
- View rankings
-
-
- 2v2
-
-
-
-
-
-
-
- {favorites.length > 0 ? (
-
- ) : (
-
- {isLoggedIn ? (
- <>
- You don't have any favorites yet, you can a
- player or a clan as favorite when visiting their
- profile page.
-
- View rankings
-
- >
- ) : (
- <>
-
- Here you{"'"}ll be able to see your favorite
- players and clans
-
-
-
- Sign in
-
- >
- )}
-
- )}
-
-
- {articles.length > 0 && (
- <>
-
- Latest News
-
-
- >
- )}
- >
- )
-}
-
-export default Page
diff --git a/app/pages/rankings/1v1/[[...rankingsOptions]].tsx b/app/pages/rankings/1v1/[[...rankingsOptions]].tsx
deleted file mode 100644
index 4b8f7b5a1..000000000
--- a/app/pages/rankings/1v1/[[...rankingsOptions]].tsx
+++ /dev/null
@@ -1,145 +0,0 @@
-import { AppLink } from "ui/base/AppLink"
-import { Image } from "@components/Image"
-import { RankingsLayout } from "@components/stats/rankings/RankingsLayout"
-import { RankingsTableItem } from "@components/stats/RankingsTableItem"
-import { SEO } from "@components/SEO"
-import { Spinner } from "ui/base/Spinner"
-import { cleanString } from "common/helpers/cleanString"
-import { legendsMap } from "bhapi/legends"
-import { useDebouncedState } from "common/hooks/useDebouncedState"
-import { useEffect } from "react"
-import { useRankings1v1 } from "@hooks/stats/useRankings"
-import { useRouter } from "next/router"
-import type { NextPage } from "next"
-
-const Page: NextPage = () => {
- const router = useRouter()
-
- const { rankingsOptions, player = "" } = router.query
-
- const [search, setSearch, immediateSearch] = useDebouncedState(
- player.toString(),
- 500,
- )
-
- const [region = "all", page = "1"] = Array.isArray(rankingsOptions)
- ? rankingsOptions
- : []
-
- const { rankings1v1, isLoading, isError } = useRankings1v1(
- // @ts-expect-error TODO: Typecheck this
- region,
- page,
- search,
- )
-
- useEffect(() => {
- window.history.replaceState(
- "",
- "",
- `/rankings/1v1/${region}/${page}?player=${search}`,
- )
- }, [region, page, search])
-
- if (isError || (!isLoading && !rankings1v1)) return Error
-
- return (
-
-
-
-
Rank
-
Tier
-
Region
-
Name
-
Games
-
W/L
-
Winrate
-
Elo
-
- {isLoading && !rankings1v1 ? (
-
-
-
- ) : (
-
- {rankings1v1
- ?.filter((player) =>
- player.name
- .toLowerCase()
- .startsWith(immediateSearch),
- )
- .map((player, i) => {
- const legend = legendsMap[player.best_legend]
-
- return (
-
- {legend && (
-
- )}
- {cleanString(player.name)}
-
- }
- {...player}
- />
- )
- })}
-
- )}
-
- )
-}
-
-export default Page
diff --git a/app/pages/rankings/2v2/[[...rankingsOptions]].tsx b/app/pages/rankings/2v2/[[...rankingsOptions]].tsx
deleted file mode 100644
index dd549607e..000000000
--- a/app/pages/rankings/2v2/[[...rankingsOptions]].tsx
+++ /dev/null
@@ -1,115 +0,0 @@
-import { AppLink } from "ui/base/AppLink"
-import { RankingsLayout } from "@components/stats/rankings/RankingsLayout"
-import { RankingsTableItem } from "@components/stats/RankingsTableItem"
-import { SEO } from "@components/SEO"
-import { Spinner } from "ui/base/Spinner"
-import { cleanString } from "common/helpers/cleanString"
-import { getTeamPlayers } from "bhapi/helpers/getTeamPlayers"
-import { useRankings2v2 } from "@hooks/stats/useRankings"
-import { useRouter } from "next/router"
-import type { NextPage } from "next"
-
-const Page: NextPage = () => {
- const router = useRouter()
-
- const { rankingsOptions } = router.query
-
- const [region = "all", page = "1"] = Array.isArray(rankingsOptions)
- ? rankingsOptions
- : []
-
- const { rankings2v2, isLoading, isError } = useRankings2v2(
- // @ts-expect-error TODO: Typecheck this
- region,
- page,
- )
-
- if (isError || (!isLoading && !rankings2v2)) return Error
-
- return (
-
-
-
-
Rank
-
Tier
-
Region
-
Player 1
-
Player 2
-
Games
-
W/L
-
Winrate
-
Elo
-
- {isLoading ? (
-
-
-
- ) : (
-
- {rankings2v2?.map((team, i) => {
- const [player1, player2] = getTeamPlayers(team)
- return (
-
-
-
- {cleanString(player1.name)}
-
-
-
-
- {cleanString(player2.name)}
-
-
- >
- }
- {...team}
- />
- )
- })}
-
- )}
-
- )
-}
-
-export default Page
diff --git a/app/pages/rankings/clans/[[...clansOptions]].tsx b/app/pages/rankings/clans/[[...clansOptions]].tsx
deleted file mode 100644
index d755e89da..000000000
--- a/app/pages/rankings/clans/[[...clansOptions]].tsx
+++ /dev/null
@@ -1,126 +0,0 @@
-import { AppLink } from "ui/base/AppLink"
-import { CLANS_RANKINGS_PER_PAGE } from "server/helpers/constants"
-import { RankingsLayout } from "@components/stats/rankings/RankingsLayout"
-import { SEO } from "@components/SEO"
-import { Spinner } from "ui/base/Spinner"
-import { cleanString } from "common/helpers/cleanString"
-import { cn } from "common/helpers/classnames"
-import { formatUnixTime } from "common/helpers/date"
-import { useClansRankings } from "@hooks/stats/useClansRankings"
-import { useDebouncedState } from "common/hooks/useDebouncedState"
-import { useRouter } from "next/router"
-import { z } from "zod"
-import type { NextPage } from "next"
-
-const ClansPage: NextPage = () => {
- const router = useRouter()
-
- const { clansOptions, clan } = router.query
-
- let clanName = ""
- let page = "1"
-
- // TODO: ZOD (next version) will allow us to do this:
- // const clanName = z.string().catch("").parse(clan)
- try {
- clanName = z.string().parse(clan)
- } catch {
- // do nothing, we use the default value
- }
-
- try {
- const validClanOptions = z.array(z.string()).parse(clansOptions)
- const [pageToValidate] = validClanOptions
-
- // TODO: ZOD (next version) will allow us to do this:
- // const validPage = z.string().regex(/^\d+$/).catch("1").parse(pageToValidate)
- const validPage = z.string().regex(/^\d+$/).parse(pageToValidate)
-
- page = validPage
- } catch {
- // do nothing, we use the default value
- }
-
- const [search, setSearch, immediateSearch] = useDebouncedState(
- clanName.toString(),
- 500,
- )
-
- const { clans, isLoading, isError } = useClansRankings(page, search)
-
- if (isError || (!isLoading && !clans)) return Error
-
- const showClanRank = !search
-
- return (
-
-
-
- {showClanRank &&
Rank
}
-
Name
-
Created on
-
XP
-
- {isLoading ? (
-
-
-
- ) : (
-
- {clans.map((clan, index) => (
-
- {showClanRank && (
-
- {(parseInt(page, 10) - 1) *
- CLANS_RANKINGS_PER_PAGE +
- index +
- 1}
-
- )}
-
-
- {cleanString(clan.name)}
-
-
-
- {!!clan.created && clan.created > 0
- ? formatUnixTime(clan.created)
- : "N/A"}
-
-
{clan.xp}
-
- ))}
-
- )}
-
- )
-}
-
-export default ClansPage
diff --git a/app/pages/rankings/global/[[...rankingsOptions]].tsx b/app/pages/rankings/global/[[...rankingsOptions]].tsx
deleted file mode 100644
index 4a83a5f12..000000000
--- a/app/pages/rankings/global/[[...rankingsOptions]].tsx
+++ /dev/null
@@ -1,135 +0,0 @@
-import { AppLink } from "ui/base/AppLink"
-import { GLOBAL_PLAYER_RANKINGS_PER_PAGE } from "server/helpers/constants"
-import { Select } from "ui/base/Select"
-import { cleanString } from "common/helpers/cleanString"
-import { cn } from "common/helpers/classnames"
-import { trpc } from "@util/trpc"
-import { useState } from "react"
-import type { NextPage } from "next"
-import type { SortablePlayerProp } from "server/mutations/updateDBPlayerData"
-
-const Page: NextPage = () => {
- const page = "1"
-
- const [sortBy, setSortBy] = useState("xp")
- const { data: players } = trpc.getGlobalPlayerRankings.useQuery({
- page,
- sortBy,
- })
-
- return (
- <>
-
- className="flex-1"
- onChange={setSortBy}
- value={sortBy}
- options={[
- {
- label: "Account XP",
- value: "xp",
- },
- {
- label: "Games",
- value: "games",
- },
- {
- label: "Wins",
- value: "wins",
- },
- {
- label: "Ranked Games",
- value: "rankedGames",
- },
- {
- label: "Ranked Wins",
- value: "rankedWins",
- },
- {
- label: "Damage Dealt",
- value: "damageDealt",
- },
- {
- label: "Damage Taken",
- value: "damageTaken",
- },
- {
- label: "KOs",
- value: "kos",
- },
- {
- label: "Falls",
- value: "falls",
- },
- {
- label: "Suicides",
- value: "suicides",
- },
- {
- label: "Team KOs",
- value: "teamKos",
- },
- {
- label: "Match Time",
- value: "matchTime",
- },
- {
- label: "Damage Unarmed",
- value: "damageUnarmed",
- },
- {
- label: "KOs Unarmed",
- value: "koUnarmed",
- },
- {
- label: "Match Time Unarmed",
- value: "matchTimeUnarmed",
- },
- {
- label: "KOs Thrown Item",
- value: "koThrownItem",
- },
- {
- label: "Damage Thrown Item",
- value: "damageThrownItem",
- },
- {
- label: "KOs Gadgets",
- value: "koGadgets",
- },
- {
- label: "Damage Gadgets",
- value: "damageGadgets",
- },
- ]}
- />
-
- {players?.map((player, index) => (
-
-
- {(parseInt(page, 10) - 1) *
- GLOBAL_PLAYER_RANKINGS_PER_PAGE +
- index +
- 1}
-
-
-
- {cleanString(player.name)}
-
-
-
- {player.prop}
-
-
- ))}
-
- >
- )
-}
-
-export default Page
diff --git a/app/pages/rankings/power/[[...rankingsOptions]].tsx b/app/pages/rankings/power/[[...rankingsOptions]].tsx
deleted file mode 100644
index 373c8c942..000000000
--- a/app/pages/rankings/power/[[...rankingsOptions]].tsx
+++ /dev/null
@@ -1,268 +0,0 @@
-import { MiscStatGroup } from "@components/stats/MiscStatGroup"
-import { RankingsLayout } from "@components/stats/rankings/RankingsLayout"
-import { SEO } from "@components/SEO"
-import { Select } from "ui/base/Select"
-import { Spinner } from "ui/base/Spinner"
-import { Tooltip } from "ui/base/Tooltip"
-import { cleanString } from "common/helpers/cleanString"
-import { cn } from "common/helpers/classnames"
-import {
- powerRankingsBracketValidator,
- powerRankingsRegionValidator,
-} from "web-parser/power-rankings/parsePowerRankingsPage"
-import { useDebouncedState } from "common/hooks/useDebouncedState"
-import { usePowerRankings } from "@hooks/stats/usePowerRankings"
-import { useRouter } from "next/router"
-import { useSortBy } from "common/hooks/useSortBy"
-import { z } from "zod"
-import type { MiscStat } from "@components/stats/MiscStatGroup"
-import type { NextPage } from "next"
-import type {
- PR,
- PowerRankingsBracket,
- PowerRankingsRegion,
-} from "web-parser/power-rankings/parsePowerRankingsPage"
-
-type PRSortOption =
- | "rank"
- | "name"
- | "earnings"
- | "t1"
- | "t2"
- | "t3"
- | "t8"
- | "t32"
-
-const Page: NextPage = () => {
- const router = useRouter()
-
- const { rankingsOptions } = router.query
-
- let bracket: PowerRankingsBracket = "1v1",
- region: PowerRankingsRegion = "us-e"
-
- // TODO: ZOD (next version) will allow us to do this:
- // const bracket = powerRankingsBracketValidator.catch("1v1").parse(bracket)
- // const region = powerRankingsRegionValidator.catch("us-e").parse(region)
- try {
- const validRankingsOptions = z.array(z.string()).parse(rankingsOptions)
- const [bracketToValidate, regionToValidate] = validRankingsOptions
-
- try {
- const validBracket =
- powerRankingsBracketValidator.parse(bracketToValidate)
-
- bracket = validBracket
- } catch {
- // do nothing, we use the default value
- }
- try {
- const validRegion =
- powerRankingsRegionValidator.parse(regionToValidate)
-
- region = validRegion
- } catch {
- // do nothing, we use the default value
- }
- } catch {
- // do nothing, we use the default values
- }
-
- const { powerRankings, isLoading, isError } = usePowerRankings(
- bracket,
- region,
- )
-
- const {
- sortedArray: sortedPowerRankings,
- setSortBy,
- sortBy,
- options: sortOptions,
- } = useSortBy(
- powerRankings ?? [],
- {
- rank: { label: "PR", sortFn: (a, b) => a.rank - b.rank },
- name: {
- label: "Name",
- sortFn: (a, b) => a.name.localeCompare(b.name),
- },
- earnings: {
- label: "Earnings (Not implemented)",
- sortFn: () => 0, // TOODO: Sort by earnings
- },
- t1: { label: "T1", sortFn: (a, b) => b.t1 - a.t1 },
- t2: { label: "T2", sortFn: (a, b) => b.t2 - a.t2 },
- t3: { label: "T3", sortFn: (a, b) => b.t3 - a.t3 },
- t8: { label: "T8", sortFn: (a, b) => b.t8 - a.t8 },
- t32: { label: "T32", sortFn: (a, b) => b.t32 - a.t32 },
- },
- "rank",
- )
-
- const [search, setSearch, immediateSearch] = useDebouncedState("", 250)
-
- if (isError || (!isLoading && !powerRankings)) return Error
-
- const filteredlPowerRankings =
- sortedPowerRankings.filter(({ name }) =>
- cleanString(name).toLowerCase().startsWith(search.toLowerCase()),
- ) ?? []
-
- const goldMedalists = filteredlPowerRankings.filter(({ t1 }) => t1 > 0)
- const silverMedalists = filteredlPowerRankings.filter(({ t2 }) => t2 > 0)
- const bronzeMedalists = filteredlPowerRankings.filter(({ t3 }) => t3 > 0)
- const podiumedPlayers = filteredlPowerRankings.filter(
- ({ t1, t2, t3 }) => t1 + t2 + t3 > 0,
- )
- const t8Finalists = filteredlPowerRankings.filter(({ t8 }) => t8 > 0)
- const t32Finalists = filteredlPowerRankings.filter(({ t32 }) => t32 > 0)
-
- const globalStats: MiscStat[] = [
- {
- name: `Players ranked`,
- value: filteredlPowerRankings.length,
- desc: `${filteredlPowerRankings.length} players ${
- search !== "" ? `starting with ${search}` : ""
- } are currently power ranked`,
- },
- {
- name: `Gold medalists`,
- value: goldMedalists.length,
- desc: `${goldMedalists.length} players ${
- search !== "" ? `starting with ${search}` : ""
- } have a gold medal`,
- },
- {
- name: `Silver medalists`,
- value: silverMedalists.length,
- desc: `${silverMedalists.length} players ${
- search !== "" ? `starting with ${search}` : ""
- } have a silver medal`,
- },
- {
- name: `Bronze medalists`,
- value: bronzeMedalists.length,
- desc: `${bronzeMedalists.length} players ${
- search !== "" ? `starting with ${search}` : ""
- } have a bronze medal`,
- },
- {
- name: `Podiumed players`,
- value: podiumedPlayers.length,
- desc: `${podiumedPlayers.length} players ${
- search !== "" ? `starting with ${search}` : ""
- } have a podium`,
- },
- {
- name: `Top 8 finalists`,
- value: t8Finalists.length,
- desc: `${t8Finalists.length} players ${
- search !== "" ? `starting with ${search}` : ""
- } have a top 8 finish`,
- },
- {
- name: `Top 32 finalists`,
- value: t32Finalists.length,
- desc: `${t32Finalists.length} players ${
- search !== "" ? `starting with ${search}` : ""
- } have a top 32 finish`,
- },
- ]
-
- return (
-
-
-
- className="flex-1"
- onChange={setSortBy}
- value={sortBy}
- options={sortOptions}
- />
-
-
-
Rank
-
Name
-
Earnings
-
Gold
-
Silver
-
Bronze
-
Top 8
-
Top 32
-
- {isLoading ? (
-
-
-
- ) : filteredlPowerRankings.length > 0 ? (
-
- {filteredlPowerRankings.map((player, i) => (
-
-
{player.rank}
-
{cleanString(player.name)}
-
{player.earnings}
-
- {player.t1 ? `${player.t1} 🏆` : "-"}
-
-
- {player.t2 ? `${player.t2} 🥈` : "-"}
-
-
- {player.t3 ? `${player.t3} 🥉` : "-"}
-
-
- {player.t8 || "-"}
-
-
- {player.t32 || "-"}
-
-
- ))}
-
- ) : (
-
-
- No results found in {bracket} {region.toUpperCase()}{" "}
- Power Rankings
-
-
- )}
-
- )
-}
-
-export default Page
diff --git a/app/pages/stats/clan/[clanId].tsx b/app/pages/stats/clan/[clanId].tsx
deleted file mode 100644
index ef416e8c0..000000000
--- a/app/pages/stats/clan/[clanId].tsx
+++ /dev/null
@@ -1,91 +0,0 @@
-import { ClanMember } from "@components/stats/clan/ClanMember"
-import { SEO } from "@components/SEO"
-import { StatsHeader } from "@components/stats/StatsHeader"
-import { cleanString } from "common/helpers/cleanString"
-import { formatUnixTime } from "common/helpers/date"
-import { useClan } from "@hooks/stats/useClan"
-import { useRouter } from "next/router"
-import type { ClanRank } from "bhapi/constants"
-import type { MiscStat } from "@components/stats/MiscStatGroup"
-import type { NextPage } from "next"
-
-const clanRankWeights: Record = {
- Leader: 0,
- Officer: 1,
- Member: 2,
- Recruit: 3,
-} as const
-
-const Page: NextPage = () => {
- const router = useRouter()
- const { clanId } = router.query
-
- const { clan, isLoading, isError } = useClan(clanId as string)
-
- if (isLoading) return Loading...
-
- if (isError || !clan) return Error fetching clan stats
-
- const clanStats: MiscStat[] = [
- {
- name: "Created on",
- value: formatUnixTime(clan.clan_create_date),
- desc: `Date when ${cleanString(clan.clan_name)} was created`,
- },
- // {
- // name: "Level",
- // value: "TBA",
- // },
- {
- name: "XP",
- value: clan.clan_xp,
- desc: `XP earned by ${cleanString(
- clan.clan_name,
- )} members since creation`,
- },
- {
- name: "Members",
- value: clan.clan.length,
- desc: `Number of members in ${cleanString(clan.clan_name)}`,
- },
- ]
-
- const sortedMembers = clan.clan.sort((a, b) => {
- if (a.rank === b.rank) {
- return a.join_date - b.join_date
- }
-
- return clanRankWeights[a.rank] - clanRankWeights[b.rank]
- })
-
- return (
- <>
-
-
-
- {sortedMembers.map((member) => (
-
- ))}
-
- >
- )
-}
-
-export default Page
diff --git a/app/pages/stats/player/[playerId].tsx b/app/pages/stats/player/[playerId].tsx
deleted file mode 100644
index e6869ce84..000000000
--- a/app/pages/stats/player/[playerId].tsx
+++ /dev/null
@@ -1,235 +0,0 @@
-import { Image } from "@components/Image"
-import { MAX_SHOWN_ALIASES } from "@util/constants"
-import { Player2v2Tab } from "@components/stats/player/Player2v2Tab"
-import { PlayerLegendsTab } from "@components/stats/player/PlayerLegendsTab"
-import { PlayerOverviewTab } from "@components/stats/player/PlayerOverviewTab"
-import { PlayerWeaponsTab } from "@components/stats/player/PlayerWeaponsTab"
-import { SEO } from "@components/SEO"
-import { StatsHeader } from "@components/stats/StatsHeader"
-import {
- Root as Tabs,
- TabsContent,
- TabsList,
- TabsTrigger,
-} from "@radix-ui/react-tabs"
-import { cleanString } from "common/helpers/cleanString"
-import { cn } from "common/helpers/classnames"
-import { css, theme } from "ui/theme"
-import { formatTime } from "common/helpers/date"
-import {
- getFullLegends,
- getFullWeapons,
- getLegendsAccumulativeData,
-} from "bhapi/legends"
-import { usePlayerAliases } from "@hooks/stats/usePlayerAliases"
-import { usePlayerRanked } from "@hooks/stats/usePlayerRanked"
-import { usePlayerStats } from "@hooks/stats/usePlayerStats"
-import { useRouter } from "next/router"
-import type { MiscStat } from "@components/stats/MiscStatGroup"
-import type { NextPage } from "next"
-
-const tabClassName = cn(
- "px-6 py-4 uppercase text-xs border-b-2 z-10 whitespace-nowrap",
- css({
- borderColor: "transparent",
- color: theme.colors.textVar1,
- '&[data-state="active"]': {
- borderColor: theme.colors.accent,
- color: theme.colors.text,
- },
- "&:hover": {
- backgroundColor: theme.colors.bgVar2,
- borderColor: theme.colors.text,
- color: theme.colors.text,
- },
- })(),
-)
-
-const Page: NextPage = () => {
- const router = useRouter()
- const { playerId } = router.query
- const { playerStats, isLoading, isError } = usePlayerStats(
- playerId as string,
- )
- const { playerRanked } = usePlayerRanked(playerId as string)
- const { playerAliases } = usePlayerAliases(playerId as string)
-
- if (isLoading) return Loading...
-
- if (isError || !playerStats) return Error
-
- const fullLegends = getFullLegends(
- playerStats.legends,
- playerRanked?.legends,
- )
-
- const {
- matchtime,
- kos,
- falls,
- suicides,
- teamkos,
- damagedealt,
- damagetaken,
- } = getLegendsAccumulativeData(fullLegends)
-
- const weapons = getFullWeapons(fullLegends)
-
- const legendsSortedByLevel = fullLegends
- .slice(0)
- .sort((a, b) => (b.stats?.matchtime ?? 0) - (a.stats?.matchtime ?? 0))
-
- const accountStats: MiscStat[] = [
- {
- name: "Account level",
- value: playerStats.level,
- desc: `${playerStats.name}'s account level`,
- },
- {
- name: "Account XP",
- value: playerStats.xp,
- desc: `${playerStats.name}'s account XP`,
- },
- {
- name: "Game time",
- value: formatTime(matchtime),
- desc: `Time ${playerStats.name} spent in game`,
- },
- {
- name: "Main legends",
- value: (
-
- {legendsSortedByLevel.slice(0, 3).map((legend) => (
-
- ))}
-
- ),
- desc: `${playerStats.name}'s main legends`,
- },
- {
- name: "Main weapons",
- value: (
-
- {weapons
- .map(({ weapon, legends }) => ({
- weapon,
- matchtime: legends.reduce((acc, legend) => {
- const matchtime =
- weapon === legend.weapon_one
- ? legend.stats?.timeheldweaponone
- : legend.stats?.timeheldweapontwo
- return acc + (matchtime ?? 0)
- }, 0),
- }))
- .sort((a, b) => b.matchtime - a.matchtime)
- .slice(0, 3)
- .map((weapon) => (
-
- ))}
-
- ),
- desc: `${playerStats.name}'s main weapons`,
- },
- ]
-
- return (
- <>
-
-
- )
- }
- favorite={{
- type: "player",
- id: playerStats.brawlhalla_id.toString(),
- name: cleanString(playerStats.name),
- meta: {
- icon: {
- type: "legend",
- legend_id: legendsSortedByLevel[0].legend_id,
- },
- },
- }}
- />
-
-
-
- Overview
-
- {playerRanked && playerRanked["2v2"].length > 0 && (
-
- 2v2 Ranked
-
- )}
-
- Legends
-
-
- Weapons
-
-
-
-
-
- {playerRanked && playerRanked["2v2"].length > 0 && (
-
-
-
- )}
-
-
-
-
-
-
-
- >
- )
-}
-
-export default Page
diff --git a/app/pnpm-lock.yaml b/app/pnpm-lock.yaml
new file mode 100644
index 000000000..943e676bf
--- /dev/null
+++ b/app/pnpm-lock.yaml
@@ -0,0 +1,4048 @@
+lockfileVersion: '6.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+dependencies:
+ '@radix-ui/react-slider':
+ specifier: ^1.1.2
+ version: 1.1.2(@types/react-dom@18.2.11)(@types/react@18.2.25)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot':
+ specifier: ^1.0.2
+ version: 1.0.2(@types/react@18.2.25)(react@18.2.0)
+ '@tanstack/react-query':
+ specifier: ^4.35.7
+ version: 4.35.7(react-dom@18.2.0)(react@18.2.0)
+ '@trpc/client':
+ specifier: ^10.40.0
+ version: 10.40.0(@trpc/server@10.40.0)
+ '@trpc/react-query':
+ specifier: ^10.40.0
+ version: 10.40.0(@tanstack/react-query@4.35.7)(@trpc/client@10.40.0)(@trpc/server@10.40.0)(react-dom@18.2.0)(react@18.2.0)
+ '@trpc/server':
+ specifier: ^10.40.0
+ version: 10.40.0
+ '@types/node':
+ specifier: 20.8.3
+ version: 20.8.3
+ '@types/react':
+ specifier: 18.2.25
+ version: 18.2.25
+ '@types/react-dom':
+ specifier: 18.2.11
+ version: 18.2.11
+ autoprefixer:
+ specifier: 10.4.16
+ version: 10.4.16(postcss@8.4.31)
+ class-variance-authority:
+ specifier: ^0.7.0
+ version: 0.7.0
+ clsx:
+ specifier: ^2.0.0
+ version: 2.0.0
+ drizzle-orm:
+ specifier: ^0.28.6
+ version: 0.28.6(@types/pg@8.10.3)(pg@8.11.3)
+ drizzle-zod:
+ specifier: ^0.5.1
+ version: 0.5.1(drizzle-orm@0.28.6)(zod@3.22.4)
+ eslint:
+ specifier: 8.51.0
+ version: 8.51.0
+ eslint-config-next:
+ specifier: 13.5.4
+ version: 13.5.4(eslint@8.51.0)(typescript@5.2.2)
+ immer:
+ specifier: ^10.0.3
+ version: 10.0.3
+ lucide-react:
+ specifier: ^0.284.0
+ version: 0.284.0(react@18.2.0)
+ next:
+ specifier: 13.5.4
+ version: 13.5.4(react-dom@18.2.0)(react@18.2.0)
+ pg:
+ specifier: ^8.11.3
+ version: 8.11.3
+ postcss:
+ specifier: 8.4.31
+ version: 8.4.31
+ react:
+ specifier: 18.2.0
+ version: 18.2.0
+ react-dom:
+ specifier: 18.2.0
+ version: 18.2.0(react@18.2.0)
+ react-youtube:
+ specifier: ^10.1.0
+ version: 10.1.0(react@18.2.0)
+ superjson:
+ specifier: ^1.13.3
+ version: 1.13.3
+ tailwind-merge:
+ specifier: ^1.14.0
+ version: 1.14.0
+ tailwindcss:
+ specifier: 3.3.3
+ version: 3.3.3
+ tailwindcss-animate:
+ specifier: ^1.0.7
+ version: 1.0.7(tailwindcss@3.3.3)
+ typescript:
+ specifier: 5.2.2
+ version: 5.2.2
+ uuid:
+ specifier: ^9.0.1
+ version: 9.0.1
+ zod:
+ specifier: ^3.22.4
+ version: 3.22.4
+ zustand:
+ specifier: ^4.4.3
+ version: 4.4.3(@types/react@18.2.25)(immer@10.0.3)(react@18.2.0)
+
+devDependencies:
+ '@types/pg':
+ specifier: ^8.10.3
+ version: 8.10.3
+ '@types/uuid':
+ specifier: ^9.0.5
+ version: 9.0.5
+ '@types/youtube-player':
+ specifier: ^5.5.8
+ version: 5.5.8
+ '@typescript-eslint/eslint-plugin':
+ specifier: ^6.7.4
+ version: 6.7.4(@typescript-eslint/parser@6.7.4)(eslint@8.51.0)(typescript@5.2.2)
+ drizzle-kit:
+ specifier: ^0.19.13
+ version: 0.19.13
+ eslint-plugin-prettier:
+ specifier: ^5.0.0
+ version: 5.0.0(eslint@8.51.0)(prettier@3.0.3)
+ prettier:
+ specifier: ^3.0.3
+ version: 3.0.3
+ tsx:
+ specifier: ^3.13.0
+ version: 3.13.0
+
+packages:
+
+ /@aashutoshrathi/word-wrap@1.2.6:
+ resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
+ engines: {node: '>=0.10.0'}
+
+ /@alloc/quick-lru@5.2.0:
+ resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /@babel/runtime@7.23.1:
+ resolution: {integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ regenerator-runtime: 0.14.0
+ dev: false
+
+ /@drizzle-team/studio@0.0.5:
+ resolution: {integrity: sha512-ps5qF0tMxWRVu+V5gvCRrQNqlY92aTnIKdq27gm9LZMSdaKYZt6AVvSK1dlUMzs6Rt0Jm80b+eWct6xShBKhIw==}
+ dev: true
+
+ /@esbuild-kit/core-utils@3.3.2:
+ resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==}
+ dependencies:
+ esbuild: 0.18.20
+ source-map-support: 0.5.21
+ dev: true
+
+ /@esbuild-kit/esm-loader@2.6.5:
+ resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==}
+ dependencies:
+ '@esbuild-kit/core-utils': 3.3.2
+ get-tsconfig: 4.7.2
+ dev: true
+
+ /@esbuild/android-arm64@0.18.20:
+ resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm@0.18.20:
+ resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-x64@0.18.20:
+ resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-arm64@0.18.20:
+ resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-x64@0.18.20:
+ resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-arm64@0.18.20:
+ resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-x64@0.18.20:
+ resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm64@0.18.20:
+ resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm@0.18.20:
+ resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ia32@0.18.20:
+ resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-loong64@0.18.20:
+ resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-mips64el@0.18.20:
+ resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ppc64@0.18.20:
+ resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-riscv64@0.18.20:
+ resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-s390x@0.18.20:
+ resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-x64@0.18.20:
+ resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/netbsd-x64@0.18.20:
+ resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/openbsd-x64@0.18.20:
+ resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/sunos-x64@0.18.20:
+ resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-arm64@0.18.20:
+ resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-ia32@0.18.20:
+ resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-x64@0.18.20:
+ resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.51.0):
+ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+ dependencies:
+ eslint: 8.51.0
+ eslint-visitor-keys: 3.4.3
+
+ /@eslint-community/regexpp@4.9.1:
+ resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+
+ /@eslint/eslintrc@2.1.2:
+ resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.4
+ espree: 9.6.1
+ globals: 13.23.0
+ ignore: 5.2.4
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /@eslint/js@8.51.0:
+ resolution: {integrity: sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ /@humanwhocodes/config-array@0.11.11:
+ resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==}
+ engines: {node: '>=10.10.0'}
+ dependencies:
+ '@humanwhocodes/object-schema': 1.2.1
+ debug: 4.3.4
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ /@humanwhocodes/module-importer@1.0.1:
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
+ engines: {node: '>=12.22'}
+
+ /@humanwhocodes/object-schema@1.2.1:
+ resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
+
+ /@jridgewell/gen-mapping@0.3.3:
+ resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/set-array': 1.1.2
+ '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/trace-mapping': 0.3.19
+ dev: false
+
+ /@jridgewell/resolve-uri@3.1.1:
+ resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
+ engines: {node: '>=6.0.0'}
+ dev: false
+
+ /@jridgewell/set-array@1.1.2:
+ resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
+ engines: {node: '>=6.0.0'}
+ dev: false
+
+ /@jridgewell/sourcemap-codec@1.4.15:
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
+ dev: false
+
+ /@jridgewell/trace-mapping@0.3.19:
+ resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==}
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.1
+ '@jridgewell/sourcemap-codec': 1.4.15
+ dev: false
+
+ /@next/env@13.5.4:
+ resolution: {integrity: sha512-LGegJkMvRNw90WWphGJ3RMHMVplYcOfRWf2Be3td3sUa+1AaxmsYyANsA+znrGCBjXJNi4XAQlSoEfUxs/4kIQ==}
+ dev: false
+
+ /@next/eslint-plugin-next@13.5.4:
+ resolution: {integrity: sha512-vI94U+D7RNgX6XypSyjeFrOzxGlZyxOplU0dVE5norIfZGn/LDjJYPHdvdsR5vN1eRtl6PDAsOHmycFEOljK5A==}
+ dependencies:
+ glob: 7.1.7
+ dev: false
+
+ /@next/swc-darwin-arm64@13.5.4:
+ resolution: {integrity: sha512-Df8SHuXgF1p+aonBMcDPEsaahNo2TCwuie7VXED4FVyECvdXfRT9unapm54NssV9tF3OQFKBFOdlje4T43VO0w==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-darwin-x64@13.5.4:
+ resolution: {integrity: sha512-siPuUwO45PnNRMeZnSa8n/Lye5ZX93IJom9wQRB5DEOdFrw0JjOMu1GINB8jAEdwa7Vdyn1oJ2xGNaQpdQQ9Pw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-linux-arm64-gnu@13.5.4:
+ resolution: {integrity: sha512-l/k/fvRP/zmB2jkFMfefmFkyZbDkYW0mRM/LB+tH5u9pB98WsHXC0WvDHlGCYp3CH/jlkJPL7gN8nkTQVrQ/2w==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-linux-arm64-musl@13.5.4:
+ resolution: {integrity: sha512-YYGb7SlLkI+XqfQa8VPErljb7k9nUnhhRrVaOdfJNCaQnHBcvbT7cx/UjDQLdleJcfyg1Hkn5YSSIeVfjgmkTg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-linux-x64-gnu@13.5.4:
+ resolution: {integrity: sha512-uE61vyUSClnCH18YHjA8tE1prr/PBFlBFhxBZis4XBRJoR+txAky5d7gGNUIbQ8sZZ7LVkSVgm/5Fc7mwXmRAg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-linux-x64-musl@13.5.4:
+ resolution: {integrity: sha512-qVEKFYML/GvJSy9CfYqAdUexA6M5AklYcQCW+8JECmkQHGoPxCf04iMh7CPR7wkHyWWK+XLt4Ja7hhsPJtSnhg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-win32-arm64-msvc@13.5.4:
+ resolution: {integrity: sha512-mDSQfqxAlfpeZOLPxLymZkX0hYF3juN57W6vFHTvwKlnHfmh12Pt7hPIRLYIShk8uYRsKPtMTth/EzpwRI+u8w==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-win32-ia32-msvc@13.5.4:
+ resolution: {integrity: sha512-aoqAT2XIekIWoriwzOmGFAvTtVY5O7JjV21giozBTP5c6uZhpvTWRbmHXbmsjZqY4HnEZQRXWkSAppsIBweKqw==}
+ engines: {node: '>= 10'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@next/swc-win32-x64-msvc@13.5.4:
+ resolution: {integrity: sha512-cyRvlAxwlddlqeB9xtPSfNSCRy8BOa4wtMo0IuI9P7Y0XT2qpDrpFKRyZ7kUngZis59mPVla5k8X1oOJ8RxDYg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@nodelib/fs.scandir@2.1.5:
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ /@nodelib/fs.stat@2.0.5:
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ /@nodelib/fs.walk@1.2.8:
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.15.0
+
+ /@pkgr/utils@2.4.2:
+ resolution: {integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==}
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+ dependencies:
+ cross-spawn: 7.0.3
+ fast-glob: 3.3.1
+ is-glob: 4.0.3
+ open: 9.1.0
+ picocolors: 1.0.0
+ tslib: 2.6.2
+ dev: true
+
+ /@radix-ui/number@1.0.1:
+ resolution: {integrity: sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==}
+ dependencies:
+ '@babel/runtime': 7.23.1
+ dev: false
+
+ /@radix-ui/primitive@1.0.1:
+ resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==}
+ dependencies:
+ '@babel/runtime': 7.23.1
+ dev: false
+
+ /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.11)(@types/react@18.2.25)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.25)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.25)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.11)(@types/react@18.2.25)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.25)(react@18.2.0)
+ '@types/react': 18.2.25
+ '@types/react-dom': 18.2.11
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.25)(react@18.2.0):
+ resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@types/react': 18.2.25
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-context@1.0.1(@types/react@18.2.25)(react@18.2.0):
+ resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@types/react': 18.2.25
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-direction@1.0.1(@types/react@18.2.25)(react@18.2.0):
+ resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@types/react': 18.2.25
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.11)(@types/react@18.2.25)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.25)(react@18.2.0)
+ '@types/react': 18.2.25
+ '@types/react-dom': 18.2.11
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-slider@1.1.2(@types/react-dom@18.2.11)(@types/react@18.2.25)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-NKs15MJylfzVsCagVSWKhGGLNR1W9qWs+HtgbmjjVUB3B9+lb3PYoXxVju3kOrpf0VKyVCtZp+iTwVoqpa1Chw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@radix-ui/number': 1.0.1
+ '@radix-ui/primitive': 1.0.1
+ '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.11)(@types/react@18.2.25)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.25)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.25)(react@18.2.0)
+ '@radix-ui/react-direction': 1.0.1(@types/react@18.2.25)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.11)(@types/react@18.2.25)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.25)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.25)(react@18.2.0)
+ '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.25)(react@18.2.0)
+ '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.25)(react@18.2.0)
+ '@types/react': 18.2.25
+ '@types/react-dom': 18.2.11
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-slot@1.0.2(@types/react@18.2.25)(react@18.2.0):
+ resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.25)(react@18.2.0)
+ '@types/react': 18.2.25
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.25)(react@18.2.0):
+ resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@types/react': 18.2.25
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.25)(react@18.2.0):
+ resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.25)(react@18.2.0)
+ '@types/react': 18.2.25
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.25)(react@18.2.0):
+ resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@types/react': 18.2.25
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.25)(react@18.2.0):
+ resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@types/react': 18.2.25
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-use-size@1.0.1(@types/react@18.2.25)(react@18.2.0):
+ resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.25)(react@18.2.0)
+ '@types/react': 18.2.25
+ react: 18.2.0
+ dev: false
+
+ /@rushstack/eslint-patch@1.5.1:
+ resolution: {integrity: sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==}
+ dev: false
+
+ /@swc/helpers@0.5.2:
+ resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==}
+ dependencies:
+ tslib: 2.6.2
+ dev: false
+
+ /@tanstack/query-core@4.35.7:
+ resolution: {integrity: sha512-PgDJtX75ubFS0WCYFM7DqEoJ4QbxU3S5OH3gJSI40xr7UVVax3/J4CM3XUMOTs+EOT5YGEfssi3tfRVGte4DEw==}
+ dev: false
+
+ /@tanstack/react-query@4.35.7(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-0MankquP/6EOM2ATfEov6ViiKemey5uTbjGlFMX1xGotwNaqC76YKDMJdHumZupPbZcZPWAeoPGEHQmVKIKoOQ==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-native: '*'
+ peerDependenciesMeta:
+ react-dom:
+ optional: true
+ react-native:
+ optional: true
+ dependencies:
+ '@tanstack/query-core': 4.35.7
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ use-sync-external-store: 1.2.0(react@18.2.0)
+ dev: false
+
+ /@trpc/client@10.40.0(@trpc/server@10.40.0):
+ resolution: {integrity: sha512-bT6BcdWjj0KzGQiimE6rB2tIaRYX0Ear4Gthb5szN/c01wrP0yC1Fbz2uCcm/QTVAwu4Lve5M+YjPoEaTHG6lg==}
+ peerDependencies:
+ '@trpc/server': 10.40.0
+ dependencies:
+ '@trpc/server': 10.40.0
+ dev: false
+
+ /@trpc/react-query@10.40.0(@tanstack/react-query@4.35.7)(@trpc/client@10.40.0)(@trpc/server@10.40.0)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-DpJrV3lmYNo9xtPtcg49lfh9CUFap3ZivjhlSmfe4QPf7H6xBjAE+ml4OdJ0RmKvSTFvbLSOiNdB1k5O8zIdzQ==}
+ peerDependencies:
+ '@tanstack/react-query': ^4.18.0
+ '@trpc/client': 10.40.0
+ '@trpc/server': 10.40.0
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+ dependencies:
+ '@tanstack/react-query': 4.35.7(react-dom@18.2.0)(react@18.2.0)
+ '@trpc/client': 10.40.0(@trpc/server@10.40.0)
+ '@trpc/server': 10.40.0
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@trpc/server@10.40.0:
+ resolution: {integrity: sha512-49SUOMWzSZtu5+OdrADmJD+u+sjSE0qj1cWgYk2FY4jLkPJunLuNRuhzM7aOeBhiUjyfhg2YTfur8FN1WBmvEw==}
+ dev: false
+
+ /@types/json-schema@7.0.13:
+ resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==}
+ dev: true
+
+ /@types/json5@0.0.29:
+ resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
+ dev: false
+
+ /@types/node@20.8.3:
+ resolution: {integrity: sha512-jxiZQFpb+NlH5kjW49vXxvxTjeeqlbsnTAdBTKpzEdPs9itay7MscYXz3Fo9VYFEsfQ6LJFitHad3faerLAjCw==}
+
+ /@types/pg@8.10.3:
+ resolution: {integrity: sha512-BACzsw64lCZesclRpZGu55tnqgFAYcrCBP92xLh1KLypZLCOsvJTSTgaoFVTy3lCys/aZTQzfeDxtjwrvdzL2g==}
+ dependencies:
+ '@types/node': 20.8.3
+ pg-protocol: 1.6.0
+ pg-types: 4.0.1
+
+ /@types/prop-types@15.7.8:
+ resolution: {integrity: sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ==}
+ dev: false
+
+ /@types/react-dom@18.2.11:
+ resolution: {integrity: sha512-zq6Dy0EiCuF9pWFW6I6k6W2LdpUixLE4P6XjXU1QHLfak3GPACQfLwEuHzY5pOYa4hzj1d0GxX/P141aFjZsyg==}
+ dependencies:
+ '@types/react': 18.2.25
+ dev: false
+
+ /@types/react@18.2.25:
+ resolution: {integrity: sha512-24xqse6+VByVLIr+xWaQ9muX1B4bXJKXBbjszbld/UEDslGLY53+ZucF44HCmLbMPejTzGG9XgR+3m2/Wqu1kw==}
+ dependencies:
+ '@types/prop-types': 15.7.8
+ '@types/scheduler': 0.16.4
+ csstype: 3.1.2
+ dev: false
+
+ /@types/scheduler@0.16.4:
+ resolution: {integrity: sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ==}
+ dev: false
+
+ /@types/semver@7.5.3:
+ resolution: {integrity: sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==}
+ dev: true
+
+ /@types/uuid@9.0.5:
+ resolution: {integrity: sha512-xfHdwa1FMJ082prjSJpoEI57GZITiQz10r3vEJCHa2khEFQjKy91aWKz6+zybzssCvXUwE1LQWgWVwZ4nYUvHQ==}
+ dev: true
+
+ /@types/youtube-player@5.5.8:
+ resolution: {integrity: sha512-WU6l9UyIp1TKEK3xN8K5Y1nZpP4FTnrz4ArAPjQknReNNkN9UeLbmAuFu2F69YthLkLkOAMWi9O3a6kJCIWH5g==}
+ dev: true
+
+ /@typescript-eslint/eslint-plugin@6.7.4(@typescript-eslint/parser@6.7.4)(eslint@8.51.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-DAbgDXwtX+pDkAHwiGhqP3zWUGpW49B7eqmgpPtg+BKJXwdct79ut9+ifqOFPJGClGKSHXn2PTBatCnldJRUoA==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@eslint-community/regexpp': 4.9.1
+ '@typescript-eslint/parser': 6.7.4(eslint@8.51.0)(typescript@5.2.2)
+ '@typescript-eslint/scope-manager': 6.7.4
+ '@typescript-eslint/type-utils': 6.7.4(eslint@8.51.0)(typescript@5.2.2)
+ '@typescript-eslint/utils': 6.7.4(eslint@8.51.0)(typescript@5.2.2)
+ '@typescript-eslint/visitor-keys': 6.7.4
+ debug: 4.3.4
+ eslint: 8.51.0
+ graphemer: 1.4.0
+ ignore: 5.2.4
+ natural-compare: 1.4.0
+ semver: 7.5.4
+ ts-api-utils: 1.0.3(typescript@5.2.2)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/parser@6.7.4(eslint@8.51.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-I5zVZFY+cw4IMZUeNCU7Sh2PO5O57F7Lr0uyhgCJmhN/BuTlnc55KxPonR4+EM3GBdfiCyGZye6DgMjtubQkmA==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/scope-manager': 6.7.4
+ '@typescript-eslint/types': 6.7.4
+ '@typescript-eslint/typescript-estree': 6.7.4(typescript@5.2.2)
+ '@typescript-eslint/visitor-keys': 6.7.4
+ debug: 4.3.4
+ eslint: 8.51.0
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+
+ /@typescript-eslint/scope-manager@6.7.4:
+ resolution: {integrity: sha512-SdGqSLUPTXAXi7c3Ob7peAGVnmMoGzZ361VswK2Mqf8UOYcODiYvs8rs5ILqEdfvX1lE7wEZbLyELCW+Yrql1A==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dependencies:
+ '@typescript-eslint/types': 6.7.4
+ '@typescript-eslint/visitor-keys': 6.7.4
+
+ /@typescript-eslint/type-utils@6.7.4(eslint@8.51.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-n+g3zi1QzpcAdHFP9KQF+rEFxMb2KxtnJGID3teA/nxKHOVi3ylKovaqEzGBbVY2pBttU6z85gp0D00ufLzViQ==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/typescript-estree': 6.7.4(typescript@5.2.2)
+ '@typescript-eslint/utils': 6.7.4(eslint@8.51.0)(typescript@5.2.2)
+ debug: 4.3.4
+ eslint: 8.51.0
+ ts-api-utils: 1.0.3(typescript@5.2.2)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/types@6.7.4:
+ resolution: {integrity: sha512-o9XWK2FLW6eSS/0r/tgjAGsYasLAnOWg7hvZ/dGYSSNjCh+49k5ocPN8OmG5aZcSJ8pclSOyVKP2x03Sj+RrCA==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+
+ /@typescript-eslint/typescript-estree@6.7.4(typescript@5.2.2):
+ resolution: {integrity: sha512-ty8b5qHKatlNYd9vmpHooQz3Vki3gG+3PchmtsA4TgrZBKWHNjWfkQid7K7xQogBqqc7/BhGazxMD5vr6Ha+iQ==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 6.7.4
+ '@typescript-eslint/visitor-keys': 6.7.4
+ debug: 4.3.4
+ globby: 11.1.0
+ is-glob: 4.0.3
+ semver: 7.5.4
+ ts-api-utils: 1.0.3(typescript@5.2.2)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+
+ /@typescript-eslint/utils@6.7.4(eslint@8.51.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-PRQAs+HUn85Qdk+khAxsVV+oULy3VkbH3hQ8hxLRJXWBEd7iI+GbQxH5SEUSH7kbEoTp6oT1bOwyga24ELALTA==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0)
+ '@types/json-schema': 7.0.13
+ '@types/semver': 7.5.3
+ '@typescript-eslint/scope-manager': 6.7.4
+ '@typescript-eslint/types': 6.7.4
+ '@typescript-eslint/typescript-estree': 6.7.4(typescript@5.2.2)
+ eslint: 8.51.0
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@typescript-eslint/visitor-keys@6.7.4:
+ resolution: {integrity: sha512-pOW37DUhlTZbvph50x5zZCkFn3xzwkGtNoJHzIM3svpiSkJzwOYr/kVBaXmf+RAQiUDs1AHEZVNPg6UJCJpwRA==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dependencies:
+ '@typescript-eslint/types': 6.7.4
+ eslint-visitor-keys: 3.4.3
+
+ /acorn-jsx@5.3.2(acorn@8.10.0):
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ acorn: 8.10.0
+
+ /acorn@8.10.0:
+ resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ /ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
+
+ /ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ /ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+ dependencies:
+ color-convert: 2.0.1
+
+ /any-promise@1.3.0:
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
+ dev: false
+
+ /anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+ dev: false
+
+ /arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+ dev: false
+
+ /argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
+ /aria-query@5.3.0:
+ resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
+ dependencies:
+ dequal: 2.0.3
+ dev: false
+
+ /array-buffer-byte-length@1.0.0:
+ resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==}
+ dependencies:
+ call-bind: 1.0.2
+ is-array-buffer: 3.0.2
+ dev: false
+
+ /array-includes@3.1.7:
+ resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ get-intrinsic: 1.2.1
+ is-string: 1.0.7
+ dev: false
+
+ /array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+
+ /array.prototype.findlastindex@1.2.3:
+ resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ es-shim-unscopables: 1.0.0
+ get-intrinsic: 1.2.1
+ dev: false
+
+ /array.prototype.flat@1.3.2:
+ resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ es-shim-unscopables: 1.0.0
+ dev: false
+
+ /array.prototype.flatmap@1.3.2:
+ resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ es-shim-unscopables: 1.0.0
+ dev: false
+
+ /array.prototype.tosorted@1.1.2:
+ resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ es-shim-unscopables: 1.0.0
+ get-intrinsic: 1.2.1
+ dev: false
+
+ /arraybuffer.prototype.slice@1.0.2:
+ resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.0
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ get-intrinsic: 1.2.1
+ is-array-buffer: 3.0.2
+ is-shared-array-buffer: 1.0.2
+ dev: false
+
+ /ast-types-flow@0.0.7:
+ resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==}
+ dev: false
+
+ /asynciterator.prototype@1.0.0:
+ resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==}
+ dependencies:
+ has-symbols: 1.0.3
+ dev: false
+
+ /autoprefixer@10.4.16(postcss@8.4.31):
+ resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ browserslist: 4.22.1
+ caniuse-lite: 1.0.30001546
+ fraction.js: 4.3.6
+ normalize-range: 0.1.2
+ picocolors: 1.0.0
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /available-typed-arrays@1.0.5:
+ resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
+ engines: {node: '>= 0.4'}
+ dev: false
+
+ /axe-core@4.8.2:
+ resolution: {integrity: sha512-/dlp0fxyM3R8YW7MFzaHWXrf4zzbr0vaYb23VBFCl83R7nWNPg/yaQw2Dc8jzCMmDVLhSdzH8MjrsuIUuvX+6g==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /axobject-query@3.2.1:
+ resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
+ dependencies:
+ dequal: 2.0.3
+ dev: false
+
+ /balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ /big-integer@1.6.51:
+ resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==}
+ engines: {node: '>=0.6'}
+ dev: true
+
+ /binary-extensions@2.2.0:
+ resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /bplist-parser@0.2.0:
+ resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==}
+ engines: {node: '>= 5.10.0'}
+ dependencies:
+ big-integer: 1.6.51
+ dev: true
+
+ /brace-expansion@1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+
+ /brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ dependencies:
+ balanced-match: 1.0.2
+ dev: true
+
+ /braces@3.0.2:
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
+ engines: {node: '>=8'}
+ dependencies:
+ fill-range: 7.0.1
+
+ /browserslist@4.22.1:
+ resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001546
+ electron-to-chromium: 1.4.544
+ node-releases: 2.0.13
+ update-browserslist-db: 1.0.13(browserslist@4.22.1)
+ dev: false
+
+ /buffer-from@1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+ dev: true
+
+ /buffer-writer@2.0.0:
+ resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /bundle-name@3.0.0:
+ resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==}
+ engines: {node: '>=12'}
+ dependencies:
+ run-applescript: 5.0.0
+ dev: true
+
+ /busboy@1.6.0:
+ resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
+ engines: {node: '>=10.16.0'}
+ dependencies:
+ streamsearch: 1.1.0
+ dev: false
+
+ /call-bind@1.0.2:
+ resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
+ dependencies:
+ function-bind: 1.1.1
+ get-intrinsic: 1.2.1
+ dev: false
+
+ /callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ /camelcase-css@2.0.1:
+ resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
+ engines: {node: '>= 6'}
+ dev: false
+
+ /camelcase@7.0.1:
+ resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
+ engines: {node: '>=14.16'}
+ dev: true
+
+ /caniuse-lite@1.0.30001546:
+ resolution: {integrity: sha512-zvtSJwuQFpewSyRrI3AsftF6rM0X80mZkChIt1spBGEvRglCrjTniXvinc8JKRoqTwXAgvqTImaN9igfSMtUBw==}
+ dev: false
+
+ /chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+
+ /chalk@5.3.0:
+ resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+ dev: true
+
+ /chokidar@3.5.3:
+ resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
+ engines: {node: '>= 8.10.0'}
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.2
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: false
+
+ /class-variance-authority@0.7.0:
+ resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==}
+ dependencies:
+ clsx: 2.0.0
+ dev: false
+
+ /cli-color@2.0.3:
+ resolution: {integrity: sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==}
+ engines: {node: '>=0.10'}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ es6-iterator: 2.0.3
+ memoizee: 0.4.15
+ timers-ext: 0.1.7
+ dev: true
+
+ /client-only@0.0.1:
+ resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
+ dev: false
+
+ /clsx@2.0.0:
+ resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+ dependencies:
+ color-name: 1.1.4
+
+ /color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ /commander@4.1.1:
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
+ engines: {node: '>= 6'}
+ dev: false
+
+ /commander@9.5.0:
+ resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
+ engines: {node: ^12.20.0 || >=14}
+ dev: true
+
+ /concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+ /copy-anything@3.0.5:
+ resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==}
+ engines: {node: '>=12.13'}
+ dependencies:
+ is-what: 4.1.15
+ dev: false
+
+ /cross-spawn@7.0.3:
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ engines: {node: '>= 8'}
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+
+ /cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: false
+
+ /csstype@3.1.2:
+ resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
+ dev: false
+
+ /d@1.0.1:
+ resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==}
+ dependencies:
+ es5-ext: 0.10.62
+ type: 1.2.0
+ dev: true
+
+ /damerau-levenshtein@1.0.8:
+ resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
+ dev: false
+
+ /debug@2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.0.0
+ dev: false
+
+ /debug@3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.3
+ dev: false
+
+ /debug@4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+
+ /deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+
+ /default-browser-id@3.0.0:
+ resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==}
+ engines: {node: '>=12'}
+ dependencies:
+ bplist-parser: 0.2.0
+ untildify: 4.0.0
+ dev: true
+
+ /default-browser@4.0.0:
+ resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ bundle-name: 3.0.0
+ default-browser-id: 3.0.0
+ execa: 7.2.0
+ titleize: 3.0.0
+ dev: true
+
+ /define-data-property@1.1.0:
+ resolution: {integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.1
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.0
+ dev: false
+
+ /define-lazy-prop@3.0.0:
+ resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /define-properties@1.2.1:
+ resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.0
+ has-property-descriptors: 1.0.0
+ object-keys: 1.1.1
+ dev: false
+
+ /dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /didyoumean@1.2.2:
+ resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
+ dev: false
+
+ /difflib@0.2.4:
+ resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==}
+ dependencies:
+ heap: 0.2.7
+ dev: true
+
+ /dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-type: 4.0.0
+
+ /dlv@1.1.3:
+ resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
+ dev: false
+
+ /doctrine@2.1.0:
+ resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ esutils: 2.0.3
+ dev: false
+
+ /doctrine@3.0.0:
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ esutils: 2.0.3
+
+ /dreamopt@0.8.0:
+ resolution: {integrity: sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==}
+ engines: {node: '>=0.4.0'}
+ dependencies:
+ wordwrap: 1.0.0
+ dev: true
+
+ /drizzle-kit@0.19.13:
+ resolution: {integrity: sha512-Rba5VW1O2JfJlwVBeZ8Zwt2E2us5oZ08PQBDiVSGlug53TOc8hzXjblZFuF+dnll9/RQEHrkzBmJFgqTvn5Rxg==}
+ hasBin: true
+ dependencies:
+ '@drizzle-team/studio': 0.0.5
+ '@esbuild-kit/esm-loader': 2.6.5
+ camelcase: 7.0.1
+ chalk: 5.3.0
+ commander: 9.5.0
+ esbuild: 0.18.20
+ esbuild-register: 3.5.0(esbuild@0.18.20)
+ glob: 8.1.0
+ hanji: 0.0.5
+ json-diff: 0.9.0
+ minimatch: 7.4.6
+ zod: 3.22.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /drizzle-orm@0.28.6(@types/pg@8.10.3)(pg@8.11.3):
+ resolution: {integrity: sha512-yBe+F9htrlYER7uXgDJUQsTHFoIrI5yMm5A0bg0GiZ/kY5jNXTWoEy4KQtg35cE27sw1VbgzoMWHAgCckUUUww==}
+ peerDependencies:
+ '@aws-sdk/client-rds-data': '>=3'
+ '@cloudflare/workers-types': '>=3'
+ '@libsql/client': '*'
+ '@neondatabase/serverless': '>=0.1'
+ '@opentelemetry/api': ^1.4.1
+ '@planetscale/database': '>=1'
+ '@types/better-sqlite3': '*'
+ '@types/pg': '*'
+ '@types/sql.js': '*'
+ '@vercel/postgres': '*'
+ better-sqlite3: '>=7'
+ bun-types: '*'
+ knex: '*'
+ kysely: '*'
+ mysql2: '>=2'
+ pg: '>=8'
+ postgres: '>=3'
+ sql.js: '>=1'
+ sqlite3: '>=5'
+ peerDependenciesMeta:
+ '@aws-sdk/client-rds-data':
+ optional: true
+ '@cloudflare/workers-types':
+ optional: true
+ '@libsql/client':
+ optional: true
+ '@neondatabase/serverless':
+ optional: true
+ '@opentelemetry/api':
+ optional: true
+ '@planetscale/database':
+ optional: true
+ '@types/better-sqlite3':
+ optional: true
+ '@types/pg':
+ optional: true
+ '@types/sql.js':
+ optional: true
+ '@vercel/postgres':
+ optional: true
+ better-sqlite3:
+ optional: true
+ bun-types:
+ optional: true
+ knex:
+ optional: true
+ kysely:
+ optional: true
+ mysql2:
+ optional: true
+ pg:
+ optional: true
+ postgres:
+ optional: true
+ sql.js:
+ optional: true
+ sqlite3:
+ optional: true
+ dependencies:
+ '@types/pg': 8.10.3
+ pg: 8.11.3
+ dev: false
+
+ /drizzle-zod@0.5.1(drizzle-orm@0.28.6)(zod@3.22.4):
+ resolution: {integrity: sha512-C/8bvzUH/zSnVfwdSibOgFjLhtDtbKYmkbPbUCq46QZyZCH6kODIMSOgZ8R7rVjoI+tCj3k06MRJMDqsIeoS4A==}
+ peerDependencies:
+ drizzle-orm: '>=0.23.13'
+ zod: '*'
+ dependencies:
+ drizzle-orm: 0.28.6(@types/pg@8.10.3)(pg@8.11.3)
+ zod: 3.22.4
+ dev: false
+
+ /electron-to-chromium@1.4.544:
+ resolution: {integrity: sha512-54z7squS1FyFRSUqq/knOFSptjjogLZXbKcYk3B0qkE1KZzvqASwRZnY2KzZQJqIYLVD38XZeoiMRflYSwyO4w==}
+ dev: false
+
+ /emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ dev: false
+
+ /enhanced-resolve@5.15.0:
+ resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.2.1
+ dev: false
+
+ /es-abstract@1.22.2:
+ resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.0
+ arraybuffer.prototype.slice: 1.0.2
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.2
+ es-set-tostringtag: 2.0.1
+ es-to-primitive: 1.2.1
+ function.prototype.name: 1.1.6
+ get-intrinsic: 1.2.1
+ get-symbol-description: 1.0.0
+ globalthis: 1.0.3
+ gopd: 1.0.1
+ has: 1.0.4
+ has-property-descriptors: 1.0.0
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ internal-slot: 1.0.5
+ is-array-buffer: 3.0.2
+ is-callable: 1.2.7
+ is-negative-zero: 2.0.2
+ is-regex: 1.1.4
+ is-shared-array-buffer: 1.0.2
+ is-string: 1.0.7
+ is-typed-array: 1.1.12
+ is-weakref: 1.0.2
+ object-inspect: 1.12.3
+ object-keys: 1.1.1
+ object.assign: 4.1.4
+ regexp.prototype.flags: 1.5.1
+ safe-array-concat: 1.0.1
+ safe-regex-test: 1.0.0
+ string.prototype.trim: 1.2.8
+ string.prototype.trimend: 1.0.7
+ string.prototype.trimstart: 1.0.7
+ typed-array-buffer: 1.0.0
+ typed-array-byte-length: 1.0.0
+ typed-array-byte-offset: 1.0.0
+ typed-array-length: 1.0.4
+ unbox-primitive: 1.0.2
+ which-typed-array: 1.1.11
+ dev: false
+
+ /es-iterator-helpers@1.0.15:
+ resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==}
+ dependencies:
+ asynciterator.prototype: 1.0.0
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ es-set-tostringtag: 2.0.1
+ function-bind: 1.1.1
+ get-intrinsic: 1.2.1
+ globalthis: 1.0.3
+ has-property-descriptors: 1.0.0
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ internal-slot: 1.0.5
+ iterator.prototype: 1.1.2
+ safe-array-concat: 1.0.1
+ dev: false
+
+ /es-set-tostringtag@2.0.1:
+ resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.1
+ has: 1.0.4
+ has-tostringtag: 1.0.0
+ dev: false
+
+ /es-shim-unscopables@1.0.0:
+ resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==}
+ dependencies:
+ has: 1.0.4
+ dev: false
+
+ /es-to-primitive@1.2.1:
+ resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ is-callable: 1.2.7
+ is-date-object: 1.0.5
+ is-symbol: 1.0.4
+ dev: false
+
+ /es5-ext@0.10.62:
+ resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==}
+ engines: {node: '>=0.10'}
+ requiresBuild: true
+ dependencies:
+ es6-iterator: 2.0.3
+ es6-symbol: 3.1.3
+ next-tick: 1.1.0
+ dev: true
+
+ /es6-iterator@2.0.3:
+ resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ es6-symbol: 3.1.3
+ dev: true
+
+ /es6-symbol@3.1.3:
+ resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==}
+ dependencies:
+ d: 1.0.1
+ ext: 1.7.0
+ dev: true
+
+ /es6-weak-map@2.0.3:
+ resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ es6-iterator: 2.0.3
+ es6-symbol: 3.1.3
+ dev: true
+
+ /esbuild-register@3.5.0(esbuild@0.18.20):
+ resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==}
+ peerDependencies:
+ esbuild: '>=0.12 <1'
+ dependencies:
+ debug: 4.3.4
+ esbuild: 0.18.20
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /esbuild@0.18.20:
+ resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/android-arm': 0.18.20
+ '@esbuild/android-arm64': 0.18.20
+ '@esbuild/android-x64': 0.18.20
+ '@esbuild/darwin-arm64': 0.18.20
+ '@esbuild/darwin-x64': 0.18.20
+ '@esbuild/freebsd-arm64': 0.18.20
+ '@esbuild/freebsd-x64': 0.18.20
+ '@esbuild/linux-arm': 0.18.20
+ '@esbuild/linux-arm64': 0.18.20
+ '@esbuild/linux-ia32': 0.18.20
+ '@esbuild/linux-loong64': 0.18.20
+ '@esbuild/linux-mips64el': 0.18.20
+ '@esbuild/linux-ppc64': 0.18.20
+ '@esbuild/linux-riscv64': 0.18.20
+ '@esbuild/linux-s390x': 0.18.20
+ '@esbuild/linux-x64': 0.18.20
+ '@esbuild/netbsd-x64': 0.18.20
+ '@esbuild/openbsd-x64': 0.18.20
+ '@esbuild/sunos-x64': 0.18.20
+ '@esbuild/win32-arm64': 0.18.20
+ '@esbuild/win32-ia32': 0.18.20
+ '@esbuild/win32-x64': 0.18.20
+ dev: true
+
+ /escalade@3.1.1:
+ resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+
+ /eslint-config-next@13.5.4(eslint@8.51.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-FzQGIj4UEszRX7fcRSJK6L1LrDiVZvDFW320VVntVKh3BSU8Fb9kpaoxQx0cdFgf3MQXdeSbrCXJ/5Z/NndDkQ==}
+ peerDependencies:
+ eslint: ^7.23.0 || ^8.0.0
+ typescript: '>=3.3.1'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@next/eslint-plugin-next': 13.5.4
+ '@rushstack/eslint-patch': 1.5.1
+ '@typescript-eslint/parser': 6.7.4(eslint@8.51.0)(typescript@5.2.2)
+ eslint: 8.51.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.7.4)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.1)(eslint@8.51.0)
+ eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.7.4)(eslint-import-resolver-typescript@3.6.1)(eslint@8.51.0)
+ eslint-plugin-jsx-a11y: 6.7.1(eslint@8.51.0)
+ eslint-plugin-react: 7.33.2(eslint@8.51.0)
+ eslint-plugin-react-hooks: 4.6.0(eslint@8.51.0)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: false
+
+ /eslint-import-resolver-node@0.3.9:
+ resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
+ dependencies:
+ debug: 3.2.7
+ is-core-module: 2.13.0
+ resolve: 1.22.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.7.4)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.1)(eslint@8.51.0):
+ resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '*'
+ eslint-plugin-import: '*'
+ dependencies:
+ debug: 4.3.4
+ enhanced-resolve: 5.15.0
+ eslint: 8.51.0
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.7.4)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.51.0)
+ eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.7.4)(eslint-import-resolver-typescript@3.6.1)(eslint@8.51.0)
+ fast-glob: 3.3.1
+ get-tsconfig: 4.7.2
+ is-core-module: 2.13.0
+ is-glob: 4.0.3
+ transitivePeerDependencies:
+ - '@typescript-eslint/parser'
+ - eslint-import-resolver-node
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: false
+
+ /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.7.4)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.51.0):
+ resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: '*'
+ eslint-import-resolver-node: '*'
+ eslint-import-resolver-typescript: '*'
+ eslint-import-resolver-webpack: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ eslint:
+ optional: true
+ eslint-import-resolver-node:
+ optional: true
+ eslint-import-resolver-typescript:
+ optional: true
+ eslint-import-resolver-webpack:
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 6.7.4(eslint@8.51.0)(typescript@5.2.2)
+ debug: 3.2.7
+ eslint: 8.51.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.7.4)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.1)(eslint@8.51.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.7.4)(eslint-import-resolver-typescript@3.6.1)(eslint@8.51.0):
+ resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 6.7.4(eslint@8.51.0)(typescript@5.2.2)
+ array-includes: 3.1.7
+ array.prototype.findlastindex: 1.2.3
+ array.prototype.flat: 1.3.2
+ array.prototype.flatmap: 1.3.2
+ debug: 3.2.7
+ doctrine: 2.1.0
+ eslint: 8.51.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.7.4)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.51.0)
+ has: 1.0.4
+ is-core-module: 2.13.0
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ object.fromentries: 2.0.7
+ object.groupby: 1.0.1
+ object.values: 1.1.7
+ semver: 6.3.1
+ tsconfig-paths: 3.14.2
+ transitivePeerDependencies:
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: false
+
+ /eslint-plugin-jsx-a11y@6.7.1(eslint@8.51.0):
+ resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+ dependencies:
+ '@babel/runtime': 7.23.1
+ aria-query: 5.3.0
+ array-includes: 3.1.7
+ array.prototype.flatmap: 1.3.2
+ ast-types-flow: 0.0.7
+ axe-core: 4.8.2
+ axobject-query: 3.2.1
+ damerau-levenshtein: 1.0.8
+ emoji-regex: 9.2.2
+ eslint: 8.51.0
+ has: 1.0.4
+ jsx-ast-utils: 3.3.5
+ language-tags: 1.0.5
+ minimatch: 3.1.2
+ object.entries: 1.1.7
+ object.fromentries: 2.0.7
+ semver: 6.3.1
+ dev: false
+
+ /eslint-plugin-prettier@5.0.0(eslint@8.51.0)(prettier@3.0.3):
+ resolution: {integrity: sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ '@types/eslint': '>=8.0.0'
+ eslint: '>=8.0.0'
+ eslint-config-prettier: '*'
+ prettier: '>=3.0.0'
+ peerDependenciesMeta:
+ '@types/eslint':
+ optional: true
+ eslint-config-prettier:
+ optional: true
+ dependencies:
+ eslint: 8.51.0
+ prettier: 3.0.3
+ prettier-linter-helpers: 1.0.0
+ synckit: 0.8.5
+ dev: true
+
+ /eslint-plugin-react-hooks@4.6.0(eslint@8.51.0):
+ resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
+ dependencies:
+ eslint: 8.51.0
+ dev: false
+
+ /eslint-plugin-react@7.33.2(eslint@8.51.0):
+ resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+ dependencies:
+ array-includes: 3.1.7
+ array.prototype.flatmap: 1.3.2
+ array.prototype.tosorted: 1.1.2
+ doctrine: 2.1.0
+ es-iterator-helpers: 1.0.15
+ eslint: 8.51.0
+ estraverse: 5.3.0
+ jsx-ast-utils: 3.3.5
+ minimatch: 3.1.2
+ object.entries: 1.1.7
+ object.fromentries: 2.0.7
+ object.hasown: 1.1.3
+ object.values: 1.1.7
+ prop-types: 15.8.1
+ resolve: 2.0.0-next.4
+ semver: 6.3.1
+ string.prototype.matchall: 4.0.10
+ dev: false
+
+ /eslint-scope@7.2.2:
+ resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+
+ /eslint-visitor-keys@3.4.3:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ /eslint@8.51.0:
+ resolution: {integrity: sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ hasBin: true
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0)
+ '@eslint-community/regexpp': 4.9.1
+ '@eslint/eslintrc': 2.1.2
+ '@eslint/js': 8.51.0
+ '@humanwhocodes/config-array': 0.11.11
+ '@humanwhocodes/module-importer': 1.0.1
+ '@nodelib/fs.walk': 1.2.8
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.3
+ debug: 4.3.4
+ doctrine: 3.0.0
+ escape-string-regexp: 4.0.0
+ eslint-scope: 7.2.2
+ eslint-visitor-keys: 3.4.3
+ espree: 9.6.1
+ esquery: 1.5.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 6.0.1
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+ globals: 13.23.0
+ graphemer: 1.4.0
+ ignore: 5.2.4
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ is-path-inside: 3.0.3
+ js-yaml: 4.1.0
+ json-stable-stringify-without-jsonify: 1.0.1
+ levn: 0.4.1
+ lodash.merge: 4.6.2
+ minimatch: 3.1.2
+ natural-compare: 1.4.0
+ optionator: 0.9.3
+ strip-ansi: 6.0.1
+ text-table: 0.2.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /espree@9.6.1:
+ resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ acorn: 8.10.0
+ acorn-jsx: 5.3.2(acorn@8.10.0)
+ eslint-visitor-keys: 3.4.3
+
+ /esquery@1.5.0:
+ resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
+ engines: {node: '>=0.10'}
+ dependencies:
+ estraverse: 5.3.0
+
+ /esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+ dependencies:
+ estraverse: 5.3.0
+
+ /estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+
+ /esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+
+ /event-emitter@0.3.5:
+ resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ dev: true
+
+ /execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 2.1.0
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+ dev: true
+
+ /execa@7.2.0:
+ resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==}
+ engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 4.3.1
+ is-stream: 3.0.0
+ merge-stream: 2.0.0
+ npm-run-path: 5.1.0
+ onetime: 6.0.0
+ signal-exit: 3.0.7
+ strip-final-newline: 3.0.0
+ dev: true
+
+ /ext@1.7.0:
+ resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
+ dependencies:
+ type: 2.7.2
+ dev: true
+
+ /fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ /fast-diff@1.3.0:
+ resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
+ dev: true
+
+ /fast-glob@3.3.1:
+ resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
+ engines: {node: '>=8.6.0'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.5
+
+ /fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+
+ /fast-levenshtein@2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+
+ /fastq@1.15.0:
+ resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
+ dependencies:
+ reusify: 1.0.4
+
+ /file-entry-cache@6.0.1:
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flat-cache: 3.1.1
+
+ /fill-range@7.0.1:
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ to-regex-range: 5.0.1
+
+ /find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+ dependencies:
+ locate-path: 6.0.0
+ path-exists: 4.0.0
+
+ /flat-cache@3.1.1:
+ resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==}
+ engines: {node: '>=12.0.0'}
+ dependencies:
+ flatted: 3.2.9
+ keyv: 4.5.3
+ rimraf: 3.0.2
+
+ /flatted@3.2.9:
+ resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
+
+ /for-each@0.3.3:
+ resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
+ dependencies:
+ is-callable: 1.2.7
+ dev: false
+
+ /fraction.js@4.3.6:
+ resolution: {integrity: sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==}
+ dev: false
+
+ /fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+
+ /fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /function-bind@1.1.1:
+ resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
+ dev: false
+
+ /function.prototype.name@1.1.6:
+ resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ functions-have-names: 1.2.3
+ dev: false
+
+ /functions-have-names@1.2.3:
+ resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+ dev: false
+
+ /get-intrinsic@1.2.1:
+ resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==}
+ dependencies:
+ function-bind: 1.1.1
+ has: 1.0.4
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ dev: false
+
+ /get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /get-symbol-description@1.0.0:
+ resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.1
+ dev: false
+
+ /get-tsconfig@4.7.2:
+ resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==}
+ dependencies:
+ resolve-pkg-maps: 1.0.0
+
+ /glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+ dependencies:
+ is-glob: 4.0.3
+
+ /glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ is-glob: 4.0.3
+
+ /glob-to-regexp@0.4.1:
+ resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
+ dev: false
+
+ /glob@7.1.6:
+ resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+ dev: false
+
+ /glob@7.1.7:
+ resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+ dev: false
+
+ /glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+
+ /glob@8.1.0:
+ resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 5.1.6
+ once: 1.4.0
+ dev: true
+
+ /globals@13.23.0:
+ resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==}
+ engines: {node: '>=8'}
+ dependencies:
+ type-fest: 0.20.2
+
+ /globalthis@1.0.3:
+ resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-properties: 1.2.1
+ dev: false
+
+ /globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.3.1
+ ignore: 5.2.4
+ merge2: 1.4.1
+ slash: 3.0.0
+
+ /gopd@1.0.1:
+ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ dependencies:
+ get-intrinsic: 1.2.1
+ dev: false
+
+ /graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+ dev: false
+
+ /graphemer@1.4.0:
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+
+ /hanji@0.0.5:
+ resolution: {integrity: sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==}
+ dependencies:
+ lodash.throttle: 4.1.1
+ sisteransi: 1.0.5
+ dev: true
+
+ /has-bigints@1.0.2:
+ resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
+ dev: false
+
+ /has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+
+ /has-property-descriptors@1.0.0:
+ resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
+ dependencies:
+ get-intrinsic: 1.2.1
+ dev: false
+
+ /has-proto@1.0.1:
+ resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
+ engines: {node: '>= 0.4'}
+ dev: false
+
+ /has-symbols@1.0.3:
+ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ engines: {node: '>= 0.4'}
+ dev: false
+
+ /has-tostringtag@1.0.0:
+ resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-symbols: 1.0.3
+ dev: false
+
+ /has@1.0.4:
+ resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==}
+ engines: {node: '>= 0.4.0'}
+ dev: false
+
+ /heap@0.2.7:
+ resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==}
+ dev: true
+
+ /human-signals@2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
+ dev: true
+
+ /human-signals@4.3.1:
+ resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==}
+ engines: {node: '>=14.18.0'}
+ dev: true
+
+ /ignore@5.2.4:
+ resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
+ engines: {node: '>= 4'}
+
+ /immer@10.0.3:
+ resolution: {integrity: sha512-pwupu3eWfouuaowscykeckFmVTpqbzW+rXFCX8rQLkZzM9ftBmU/++Ra+o+L27mz03zJTlyV4UUr+fdKNffo4A==}
+ dev: false
+
+ /import-fresh@3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+
+ /imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
+
+ /inflight@1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+
+ /inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+
+ /internal-slot@1.0.5:
+ resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.1
+ has: 1.0.4
+ side-channel: 1.0.4
+ dev: false
+
+ /is-array-buffer@3.0.2:
+ resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.1
+ is-typed-array: 1.1.12
+ dev: false
+
+ /is-async-function@2.0.0:
+ resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: false
+
+ /is-bigint@1.0.4:
+ resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
+ dependencies:
+ has-bigints: 1.0.2
+ dev: false
+
+ /is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+ dependencies:
+ binary-extensions: 2.2.0
+ dev: false
+
+ /is-boolean-object@1.1.2:
+ resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ has-tostringtag: 1.0.0
+ dev: false
+
+ /is-callable@1.2.7:
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+ engines: {node: '>= 0.4'}
+ dev: false
+
+ /is-core-module@2.13.0:
+ resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==}
+ dependencies:
+ has: 1.0.4
+ dev: false
+
+ /is-date-object@1.0.5:
+ resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: false
+
+ /is-docker@2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dev: true
+
+ /is-docker@3.0.0:
+ resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ hasBin: true
+ dev: true
+
+ /is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+
+ /is-finalizationregistry@1.0.2:
+ resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
+ dependencies:
+ call-bind: 1.0.2
+ dev: false
+
+ /is-generator-function@1.0.10:
+ resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: false
+
+ /is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extglob: 2.1.1
+
+ /is-inside-container@1.0.0:
+ resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
+ engines: {node: '>=14.16'}
+ hasBin: true
+ dependencies:
+ is-docker: 3.0.0
+ dev: true
+
+ /is-map@2.0.2:
+ resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==}
+ dev: false
+
+ /is-negative-zero@2.0.2:
+ resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
+ engines: {node: '>= 0.4'}
+ dev: false
+
+ /is-number-object@1.0.7:
+ resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: false
+
+ /is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+
+ /is-path-inside@3.0.3:
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
+ engines: {node: '>=8'}
+
+ /is-promise@2.2.2:
+ resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
+ dev: true
+
+ /is-regex@1.1.4:
+ resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ has-tostringtag: 1.0.0
+ dev: false
+
+ /is-set@2.0.2:
+ resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==}
+ dev: false
+
+ /is-shared-array-buffer@1.0.2:
+ resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
+ dependencies:
+ call-bind: 1.0.2
+ dev: false
+
+ /is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-stream@3.0.0:
+ resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dev: true
+
+ /is-string@1.0.7:
+ resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: false
+
+ /is-symbol@1.0.4:
+ resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-symbols: 1.0.3
+ dev: false
+
+ /is-typed-array@1.1.12:
+ resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ which-typed-array: 1.1.11
+ dev: false
+
+ /is-weakmap@2.0.1:
+ resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==}
+ dev: false
+
+ /is-weakref@1.0.2:
+ resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+ dependencies:
+ call-bind: 1.0.2
+ dev: false
+
+ /is-weakset@2.0.2:
+ resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.1
+ dev: false
+
+ /is-what@4.1.15:
+ resolution: {integrity: sha512-uKua1wfy3Yt+YqsD6mTUEa2zSi3G1oPlqTflgaPJ7z63vUGN5pxFpnQfeSLMFnJDEsdvOtkp1rUWkYjB4YfhgA==}
+ engines: {node: '>=12.13'}
+ dev: false
+
+ /is-wsl@2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-docker: 2.2.1
+ dev: true
+
+ /isarray@2.0.5:
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+ dev: false
+
+ /isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ /iterator.prototype@1.1.2:
+ resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
+ dependencies:
+ define-properties: 1.2.1
+ get-intrinsic: 1.2.1
+ has-symbols: 1.0.3
+ reflect.getprototypeof: 1.0.4
+ set-function-name: 2.0.1
+ dev: false
+
+ /jiti@1.20.0:
+ resolution: {integrity: sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==}
+ hasBin: true
+ dev: false
+
+ /js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+ dev: false
+
+ /js-yaml@4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+ dependencies:
+ argparse: 2.0.1
+
+ /json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+
+ /json-diff@0.9.0:
+ resolution: {integrity: sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==}
+ hasBin: true
+ dependencies:
+ cli-color: 2.0.3
+ difflib: 0.2.4
+ dreamopt: 0.8.0
+ dev: true
+
+ /json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+
+ /json-stable-stringify-without-jsonify@1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+
+ /json5@1.0.2:
+ resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
+ hasBin: true
+ dependencies:
+ minimist: 1.2.8
+ dev: false
+
+ /jsx-ast-utils@3.3.5:
+ resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
+ engines: {node: '>=4.0'}
+ dependencies:
+ array-includes: 3.1.7
+ array.prototype.flat: 1.3.2
+ object.assign: 4.1.4
+ object.values: 1.1.7
+ dev: false
+
+ /keyv@4.5.3:
+ resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==}
+ dependencies:
+ json-buffer: 3.0.1
+
+ /language-subtag-registry@0.3.22:
+ resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
+ dev: false
+
+ /language-tags@1.0.5:
+ resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==}
+ dependencies:
+ language-subtag-registry: 0.3.22
+ dev: false
+
+ /levn@0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+
+ /lilconfig@2.1.0:
+ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ dev: false
+
+ /load-script@1.0.0:
+ resolution: {integrity: sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==}
+ dev: false
+
+ /locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+ dependencies:
+ p-locate: 5.0.0
+
+ /lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+
+ /lodash.throttle@4.1.1:
+ resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
+ dev: true
+
+ /loose-envify@1.4.0:
+ resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ hasBin: true
+ dependencies:
+ js-tokens: 4.0.0
+ dev: false
+
+ /lru-cache@6.0.0:
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
+ engines: {node: '>=10'}
+ dependencies:
+ yallist: 4.0.0
+
+ /lru-queue@0.1.0:
+ resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==}
+ dependencies:
+ es5-ext: 0.10.62
+ dev: true
+
+ /lucide-react@0.284.0(react@18.2.0):
+ resolution: {integrity: sha512-dVSMHYAya/TeY3+vsk+VQJEKNQN2AhIo0+Dp09B2qpzvcBuu93H98YZykFcjIAfmanFiDd8nqfXFR38L757cyQ==}
+ peerDependencies:
+ react: ^16.5.1 || ^17.0.0 || ^18.0.0
+ dependencies:
+ react: 18.2.0
+ dev: false
+
+ /memoizee@0.4.15:
+ resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ es6-weak-map: 2.0.3
+ event-emitter: 0.3.5
+ is-promise: 2.2.2
+ lru-queue: 0.1.0
+ next-tick: 1.1.0
+ timers-ext: 0.1.7
+ dev: true
+
+ /merge-stream@2.0.0:
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+ dev: true
+
+ /merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+
+ /micromatch@4.0.5:
+ resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
+ engines: {node: '>=8.6'}
+ dependencies:
+ braces: 3.0.2
+ picomatch: 2.3.1
+
+ /mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /mimic-fn@4.0.0:
+ resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ dependencies:
+ brace-expansion: 1.1.11
+
+ /minimatch@5.1.6:
+ resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
+ engines: {node: '>=10'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
+ /minimatch@7.4.6:
+ resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==}
+ engines: {node: '>=10'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
+ /minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+ dev: false
+
+ /ms@2.0.0:
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+ dev: false
+
+ /ms@2.1.2:
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+
+ /ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+ dev: false
+
+ /mz@2.7.0:
+ resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+ dependencies:
+ any-promise: 1.3.0
+ object-assign: 4.1.1
+ thenify-all: 1.6.0
+ dev: false
+
+ /nanoid@3.3.6:
+ resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+ dev: false
+
+ /natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+
+ /next-tick@1.1.0:
+ resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
+ dev: true
+
+ /next@13.5.4(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-+93un5S779gho8y9ASQhb/bTkQF17FNQOtXLKAj3lsNgltEcF0C5PMLLncDmH+8X1EnJH1kbqAERa29nRXqhjA==}
+ engines: {node: '>=16.14.0'}
+ hasBin: true
+ peerDependencies:
+ '@opentelemetry/api': ^1.1.0
+ react: ^18.2.0
+ react-dom: ^18.2.0
+ sass: ^1.3.0
+ peerDependenciesMeta:
+ '@opentelemetry/api':
+ optional: true
+ sass:
+ optional: true
+ dependencies:
+ '@next/env': 13.5.4
+ '@swc/helpers': 0.5.2
+ busboy: 1.6.0
+ caniuse-lite: 1.0.30001546
+ postcss: 8.4.31
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ styled-jsx: 5.1.1(react@18.2.0)
+ watchpack: 2.4.0
+ optionalDependencies:
+ '@next/swc-darwin-arm64': 13.5.4
+ '@next/swc-darwin-x64': 13.5.4
+ '@next/swc-linux-arm64-gnu': 13.5.4
+ '@next/swc-linux-arm64-musl': 13.5.4
+ '@next/swc-linux-x64-gnu': 13.5.4
+ '@next/swc-linux-x64-musl': 13.5.4
+ '@next/swc-win32-arm64-msvc': 13.5.4
+ '@next/swc-win32-ia32-msvc': 13.5.4
+ '@next/swc-win32-x64-msvc': 13.5.4
+ transitivePeerDependencies:
+ - '@babel/core'
+ - babel-plugin-macros
+ dev: false
+
+ /node-releases@2.0.13:
+ resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
+ dev: false
+
+ /normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /normalize-range@0.1.2:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-key: 3.1.1
+ dev: true
+
+ /npm-run-path@5.1.0:
+ resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ path-key: 4.0.0
+ dev: true
+
+ /object-assign@4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /object-hash@3.0.0:
+ resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
+ engines: {node: '>= 6'}
+ dev: false
+
+ /object-inspect@1.12.3:
+ resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==}
+ dev: false
+
+ /object-keys@1.1.1:
+ resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+ engines: {node: '>= 0.4'}
+ dev: false
+
+ /object.assign@4.1.4:
+ resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ has-symbols: 1.0.3
+ object-keys: 1.1.1
+ dev: false
+
+ /object.entries@1.1.7:
+ resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ dev: false
+
+ /object.fromentries@2.0.7:
+ resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ dev: false
+
+ /object.groupby@1.0.1:
+ resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ get-intrinsic: 1.2.1
+ dev: false
+
+ /object.hasown@1.1.3:
+ resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==}
+ dependencies:
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ dev: false
+
+ /object.values@1.1.7:
+ resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ dev: false
+
+ /obuf@1.1.2:
+ resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
+
+ /once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+ dependencies:
+ wrappy: 1.0.2
+
+ /onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
+ dependencies:
+ mimic-fn: 2.1.0
+ dev: true
+
+ /onetime@6.0.0:
+ resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ mimic-fn: 4.0.0
+ dev: true
+
+ /open@9.1.0:
+ resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ default-browser: 4.0.0
+ define-lazy-prop: 3.0.0
+ is-inside-container: 1.0.0
+ is-wsl: 2.2.0
+ dev: true
+
+ /optionator@0.9.3:
+ resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ '@aashutoshrathi/word-wrap': 1.2.6
+ deep-is: 0.1.4
+ fast-levenshtein: 2.0.6
+ levn: 0.4.1
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+
+ /p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ yocto-queue: 0.1.0
+
+ /p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+ dependencies:
+ p-limit: 3.1.0
+
+ /packet-reader@1.0.0:
+ resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==}
+ dev: false
+
+ /parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+ dependencies:
+ callsites: 3.1.0
+
+ /path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+
+ /path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
+
+ /path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+
+ /path-key@4.0.0:
+ resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+ dev: false
+
+ /path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
+ /pg-cloudflare@1.1.1:
+ resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /pg-connection-string@2.6.2:
+ resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==}
+ dev: false
+
+ /pg-int8@1.0.1:
+ resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==}
+ engines: {node: '>=4.0.0'}
+
+ /pg-numeric@1.0.2:
+ resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==}
+ engines: {node: '>=4'}
+
+ /pg-pool@3.6.1(pg@8.11.3):
+ resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==}
+ peerDependencies:
+ pg: '>=8.0'
+ dependencies:
+ pg: 8.11.3
+ dev: false
+
+ /pg-protocol@1.6.0:
+ resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==}
+
+ /pg-types@2.2.0:
+ resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==}
+ engines: {node: '>=4'}
+ dependencies:
+ pg-int8: 1.0.1
+ postgres-array: 2.0.0
+ postgres-bytea: 1.0.0
+ postgres-date: 1.0.7
+ postgres-interval: 1.2.0
+ dev: false
+
+ /pg-types@4.0.1:
+ resolution: {integrity: sha512-hRCSDuLII9/LE3smys1hRHcu5QGcLs9ggT7I/TCs0IE+2Eesxi9+9RWAAwZ0yaGjxoWICF/YHLOEjydGujoJ+g==}
+ engines: {node: '>=10'}
+ dependencies:
+ pg-int8: 1.0.1
+ pg-numeric: 1.0.2
+ postgres-array: 3.0.2
+ postgres-bytea: 3.0.0
+ postgres-date: 2.0.1
+ postgres-interval: 3.0.0
+ postgres-range: 1.1.3
+
+ /pg@8.11.3:
+ resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==}
+ engines: {node: '>= 8.0.0'}
+ peerDependencies:
+ pg-native: '>=3.0.1'
+ peerDependenciesMeta:
+ pg-native:
+ optional: true
+ dependencies:
+ buffer-writer: 2.0.0
+ packet-reader: 1.0.0
+ pg-connection-string: 2.6.2
+ pg-pool: 3.6.1(pg@8.11.3)
+ pg-protocol: 1.6.0
+ pg-types: 2.2.0
+ pgpass: 1.0.5
+ optionalDependencies:
+ pg-cloudflare: 1.1.1
+ dev: false
+
+ /pgpass@1.0.5:
+ resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==}
+ dependencies:
+ split2: 4.2.0
+ dev: false
+
+ /picocolors@1.0.0:
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+
+ /picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ /pify@2.3.0:
+ resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /pirates@4.0.6:
+ resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
+ engines: {node: '>= 6'}
+ dev: false
+
+ /postcss-import@15.1.0(postcss@8.4.31):
+ resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ postcss: ^8.0.0
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+ resolve: 1.22.6
+ dev: false
+
+ /postcss-js@4.0.1(postcss@8.4.31):
+ resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
+ engines: {node: ^12 || ^14 || >= 16}
+ peerDependencies:
+ postcss: ^8.4.21
+ dependencies:
+ camelcase-css: 2.0.1
+ postcss: 8.4.31
+ dev: false
+
+ /postcss-load-config@4.0.1(postcss@8.4.31):
+ resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==}
+ engines: {node: '>= 14'}
+ peerDependencies:
+ postcss: '>=8.0.9'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ ts-node:
+ optional: true
+ dependencies:
+ lilconfig: 2.1.0
+ postcss: 8.4.31
+ yaml: 2.3.2
+ dev: false
+
+ /postcss-nested@6.0.1(postcss@8.4.31):
+ resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
+ dependencies:
+ postcss: 8.4.31
+ postcss-selector-parser: 6.0.13
+ dev: false
+
+ /postcss-selector-parser@6.0.13:
+ resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+ dev: false
+
+ /postcss-value-parser@4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+ dev: false
+
+ /postcss@8.4.31:
+ resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.6
+ picocolors: 1.0.0
+ source-map-js: 1.0.2
+ dev: false
+
+ /postgres-array@2.0.0:
+ resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /postgres-array@3.0.2:
+ resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==}
+ engines: {node: '>=12'}
+
+ /postgres-bytea@1.0.0:
+ resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /postgres-bytea@3.0.0:
+ resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==}
+ engines: {node: '>= 6'}
+ dependencies:
+ obuf: 1.1.2
+
+ /postgres-date@1.0.7:
+ resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /postgres-date@2.0.1:
+ resolution: {integrity: sha512-YtMKdsDt5Ojv1wQRvUhnyDJNSr2dGIC96mQVKz7xufp07nfuFONzdaowrMHjlAzY6GDLd4f+LUHHAAM1h4MdUw==}
+ engines: {node: '>=12'}
+
+ /postgres-interval@1.2.0:
+ resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ xtend: 4.0.2
+ dev: false
+
+ /postgres-interval@3.0.0:
+ resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==}
+ engines: {node: '>=12'}
+
+ /postgres-range@1.1.3:
+ resolution: {integrity: sha512-VdlZoocy5lCP0c/t66xAfclglEapXPCIVhqqJRncYpvbCgImF0w67aPKfbqUMr72tO2k5q0TdTZwCLjPTI6C9g==}
+
+ /prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+ engines: {node: '>= 0.8.0'}
+
+ /prettier-linter-helpers@1.0.0:
+ resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ fast-diff: 1.3.0
+ dev: true
+
+ /prettier@3.0.3:
+ resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==}
+ engines: {node: '>=14'}
+ hasBin: true
+ dev: true
+
+ /prop-types@15.8.1:
+ resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+ dependencies:
+ loose-envify: 1.4.0
+ object-assign: 4.1.1
+ react-is: 16.13.1
+ dev: false
+
+ /punycode@2.3.0:
+ resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
+ engines: {node: '>=6'}
+
+ /queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+ /react-dom@18.2.0(react@18.2.0):
+ resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
+ peerDependencies:
+ react: ^18.2.0
+ dependencies:
+ loose-envify: 1.4.0
+ react: 18.2.0
+ scheduler: 0.23.0
+ dev: false
+
+ /react-is@16.13.1:
+ resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+ dev: false
+
+ /react-youtube@10.1.0(react@18.2.0):
+ resolution: {integrity: sha512-ZfGtcVpk0SSZtWCSTYOQKhfx5/1cfyEW1JN/mugGNfAxT3rmVJeMbGpA9+e78yG21ls5nc/5uZJETE3cm3knBg==}
+ engines: {node: '>= 14.x'}
+ peerDependencies:
+ react: '>=0.14.1'
+ dependencies:
+ fast-deep-equal: 3.1.3
+ prop-types: 15.8.1
+ react: 18.2.0
+ youtube-player: 5.5.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /react@18.2.0:
+ resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: false
+
+ /read-cache@1.0.0:
+ resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
+ dependencies:
+ pify: 2.3.0
+ dev: false
+
+ /readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+ dependencies:
+ picomatch: 2.3.1
+ dev: false
+
+ /reflect.getprototypeof@1.0.4:
+ resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ get-intrinsic: 1.2.1
+ globalthis: 1.0.3
+ which-builtin-type: 1.1.3
+ dev: false
+
+ /regenerator-runtime@0.14.0:
+ resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==}
+ dev: false
+
+ /regexp.prototype.flags@1.5.1:
+ resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ set-function-name: 2.0.1
+ dev: false
+
+ /resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+
+ /resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+
+ /resolve@1.22.6:
+ resolution: {integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.13.0
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ dev: false
+
+ /resolve@2.0.0-next.4:
+ resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.13.0
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ dev: false
+
+ /reusify@1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ /rimraf@3.0.2:
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+
+ /run-applescript@5.0.0:
+ resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==}
+ engines: {node: '>=12'}
+ dependencies:
+ execa: 5.1.1
+ dev: true
+
+ /run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ dependencies:
+ queue-microtask: 1.2.3
+
+ /safe-array-concat@1.0.1:
+ resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==}
+ engines: {node: '>=0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.1
+ has-symbols: 1.0.3
+ isarray: 2.0.5
+ dev: false
+
+ /safe-regex-test@1.0.0:
+ resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.1
+ is-regex: 1.1.4
+ dev: false
+
+ /scheduler@0.23.0:
+ resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: false
+
+ /semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+ dev: false
+
+ /semver@7.5.4:
+ resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
+
+ /set-function-name@2.0.1:
+ resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.0
+ functions-have-names: 1.2.3
+ has-property-descriptors: 1.0.0
+ dev: false
+
+ /shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+ dependencies:
+ shebang-regex: 3.0.0
+
+ /shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+
+ /side-channel@1.0.4:
+ resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.1
+ object-inspect: 1.12.3
+ dev: false
+
+ /signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+ dev: true
+
+ /sister@3.0.2:
+ resolution: {integrity: sha512-p19rtTs+NksBRKW9qn0UhZ8/TUI9BPw9lmtHny+Y3TinWlOa9jWh9xB0AtPSdmOy49NJJJSSe0Ey4C7h0TrcYA==}
+ dev: false
+
+ /sisteransi@1.0.5:
+ resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+ dev: true
+
+ /slash@3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+
+ /source-map-js@1.0.2:
+ resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /source-map-support@0.5.21:
+ resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
+ dependencies:
+ buffer-from: 1.1.2
+ source-map: 0.6.1
+ dev: true
+
+ /source-map@0.6.1:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /split2@4.2.0:
+ resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
+ engines: {node: '>= 10.x'}
+ dev: false
+
+ /streamsearch@1.1.0:
+ resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
+ engines: {node: '>=10.0.0'}
+ dev: false
+
+ /string.prototype.matchall@4.0.10:
+ resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ get-intrinsic: 1.2.1
+ has-symbols: 1.0.3
+ internal-slot: 1.0.5
+ regexp.prototype.flags: 1.5.1
+ set-function-name: 2.0.1
+ side-channel: 1.0.4
+ dev: false
+
+ /string.prototype.trim@1.2.8:
+ resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ dev: false
+
+ /string.prototype.trimend@1.0.7:
+ resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ dev: false
+
+ /string.prototype.trimstart@1.0.7:
+ resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ dev: false
+
+ /strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-regex: 5.0.1
+
+ /strip-bom@3.0.0:
+ resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /strip-final-newline@2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /strip-final-newline@3.0.0:
+ resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+
+ /styled-jsx@5.1.1(react@18.2.0):
+ resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
+ engines: {node: '>= 12.0.0'}
+ peerDependencies:
+ '@babel/core': '*'
+ babel-plugin-macros: '*'
+ react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ babel-plugin-macros:
+ optional: true
+ dependencies:
+ client-only: 0.0.1
+ react: 18.2.0
+ dev: false
+
+ /sucrase@3.34.0:
+ resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.3
+ commander: 4.1.1
+ glob: 7.1.6
+ lines-and-columns: 1.2.4
+ mz: 2.7.0
+ pirates: 4.0.6
+ ts-interface-checker: 0.1.13
+ dev: false
+
+ /superjson@1.13.3:
+ resolution: {integrity: sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==}
+ engines: {node: '>=10'}
+ dependencies:
+ copy-anything: 3.0.5
+ dev: false
+
+ /supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+ dependencies:
+ has-flag: 4.0.0
+
+ /supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+ dev: false
+
+ /synckit@0.8.5:
+ resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ dependencies:
+ '@pkgr/utils': 2.4.2
+ tslib: 2.6.2
+ dev: true
+
+ /tailwind-merge@1.14.0:
+ resolution: {integrity: sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==}
+ dev: false
+
+ /tailwindcss-animate@1.0.7(tailwindcss@3.3.3):
+ resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==}
+ peerDependencies:
+ tailwindcss: '>=3.0.0 || insiders'
+ dependencies:
+ tailwindcss: 3.3.3
+ dev: false
+
+ /tailwindcss@3.3.3:
+ resolution: {integrity: sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+ dependencies:
+ '@alloc/quick-lru': 5.2.0
+ arg: 5.0.2
+ chokidar: 3.5.3
+ didyoumean: 1.2.2
+ dlv: 1.1.3
+ fast-glob: 3.3.1
+ glob-parent: 6.0.2
+ is-glob: 4.0.3
+ jiti: 1.20.0
+ lilconfig: 2.1.0
+ micromatch: 4.0.5
+ normalize-path: 3.0.0
+ object-hash: 3.0.0
+ picocolors: 1.0.0
+ postcss: 8.4.31
+ postcss-import: 15.1.0(postcss@8.4.31)
+ postcss-js: 4.0.1(postcss@8.4.31)
+ postcss-load-config: 4.0.1(postcss@8.4.31)
+ postcss-nested: 6.0.1(postcss@8.4.31)
+ postcss-selector-parser: 6.0.13
+ resolve: 1.22.6
+ sucrase: 3.34.0
+ transitivePeerDependencies:
+ - ts-node
+ dev: false
+
+ /tapable@2.2.1:
+ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /text-table@0.2.0:
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+
+ /thenify-all@1.6.0:
+ resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
+ engines: {node: '>=0.8'}
+ dependencies:
+ thenify: 3.3.1
+ dev: false
+
+ /thenify@3.3.1:
+ resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+ dependencies:
+ any-promise: 1.3.0
+ dev: false
+
+ /timers-ext@0.1.7:
+ resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==}
+ dependencies:
+ es5-ext: 0.10.62
+ next-tick: 1.1.0
+ dev: true
+
+ /titleize@3.0.0:
+ resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+ dependencies:
+ is-number: 7.0.0
+
+ /ts-api-utils@1.0.3(typescript@5.2.2):
+ resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==}
+ engines: {node: '>=16.13.0'}
+ peerDependencies:
+ typescript: '>=4.2.0'
+ dependencies:
+ typescript: 5.2.2
+
+ /ts-interface-checker@0.1.13:
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+ dev: false
+
+ /tsconfig-paths@3.14.2:
+ resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==}
+ dependencies:
+ '@types/json5': 0.0.29
+ json5: 1.0.2
+ minimist: 1.2.8
+ strip-bom: 3.0.0
+ dev: false
+
+ /tslib@2.6.2:
+ resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
+
+ /tsx@3.13.0:
+ resolution: {integrity: sha512-rjmRpTu3as/5fjNq/kOkOtihgLxuIz6pbKdj9xwP4J5jOLkBxw/rjN5ANw+KyrrOXV5uB7HC8+SrrSJxT65y+A==}
+ hasBin: true
+ dependencies:
+ esbuild: 0.18.20
+ get-tsconfig: 4.7.2
+ source-map-support: 0.5.21
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /type-check@0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.2.1
+
+ /type-fest@0.20.2:
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
+ engines: {node: '>=10'}
+
+ /type@1.2.0:
+ resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==}
+ dev: true
+
+ /type@2.7.2:
+ resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
+ dev: true
+
+ /typed-array-buffer@1.0.0:
+ resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.1
+ is-typed-array: 1.1.12
+ dev: false
+
+ /typed-array-byte-length@1.0.0:
+ resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ for-each: 0.3.3
+ has-proto: 1.0.1
+ is-typed-array: 1.1.12
+ dev: false
+
+ /typed-array-byte-offset@1.0.0:
+ resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.2
+ for-each: 0.3.3
+ has-proto: 1.0.1
+ is-typed-array: 1.1.12
+ dev: false
+
+ /typed-array-length@1.0.4:
+ resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
+ dependencies:
+ call-bind: 1.0.2
+ for-each: 0.3.3
+ is-typed-array: 1.1.12
+ dev: false
+
+ /typescript@5.2.2:
+ resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ /unbox-primitive@1.0.2:
+ resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
+ dependencies:
+ call-bind: 1.0.2
+ has-bigints: 1.0.2
+ has-symbols: 1.0.3
+ which-boxed-primitive: 1.0.2
+ dev: false
+
+ /untildify@4.0.0:
+ resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /update-browserslist-db@1.0.13(browserslist@4.22.1):
+ resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+ dependencies:
+ browserslist: 4.22.1
+ escalade: 3.1.1
+ picocolors: 1.0.0
+ dev: false
+
+ /uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ dependencies:
+ punycode: 2.3.0
+
+ /use-sync-external-store@1.2.0(react@18.2.0):
+ resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ react: 18.2.0
+ dev: false
+
+ /util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+ dev: false
+
+ /uuid@9.0.1:
+ resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
+ hasBin: true
+ dev: false
+
+ /watchpack@2.4.0:
+ resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+ dev: false
+
+ /which-boxed-primitive@1.0.2:
+ resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+ dependencies:
+ is-bigint: 1.0.4
+ is-boolean-object: 1.1.2
+ is-number-object: 1.0.7
+ is-string: 1.0.7
+ is-symbol: 1.0.4
+ dev: false
+
+ /which-builtin-type@1.1.3:
+ resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ function.prototype.name: 1.1.6
+ has-tostringtag: 1.0.0
+ is-async-function: 2.0.0
+ is-date-object: 1.0.5
+ is-finalizationregistry: 1.0.2
+ is-generator-function: 1.0.10
+ is-regex: 1.1.4
+ is-weakref: 1.0.2
+ isarray: 2.0.5
+ which-boxed-primitive: 1.0.2
+ which-collection: 1.0.1
+ which-typed-array: 1.1.11
+ dev: false
+
+ /which-collection@1.0.1:
+ resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==}
+ dependencies:
+ is-map: 2.0.2
+ is-set: 2.0.2
+ is-weakmap: 2.0.1
+ is-weakset: 2.0.2
+ dev: false
+
+ /which-typed-array@1.1.11:
+ resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.2
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-tostringtag: 1.0.0
+ dev: false
+
+ /which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+
+ /wordwrap@1.0.0:
+ resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
+ dev: true
+
+ /wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+
+ /xtend@4.0.2:
+ resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
+ engines: {node: '>=0.4'}
+ dev: false
+
+ /yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+
+ /yaml@2.3.2:
+ resolution: {integrity: sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==}
+ engines: {node: '>= 14'}
+ dev: false
+
+ /yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+
+ /youtube-player@5.5.2:
+ resolution: {integrity: sha512-ZGtsemSpXnDky2AUYWgxjaopgB+shFHgXVpiJFeNB5nWEugpW1KWYDaHKuLqh2b67r24GtP6HoSW5swvf0fFIQ==}
+ dependencies:
+ debug: 2.6.9
+ load-script: 1.0.0
+ sister: 3.0.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /zod@3.22.4:
+ resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==}
+
+ /zustand@4.4.3(@types/react@18.2.25)(immer@10.0.3)(react@18.2.0):
+ resolution: {integrity: sha512-oRy+X3ZazZvLfmv6viIaQmtLOMeij1noakIsK/Y47PWYhT8glfXzQ4j0YcP5i0P0qI1A4rIB//SGROGyZhx91A==}
+ engines: {node: '>=12.7.0'}
+ peerDependencies:
+ '@types/react': '>=16.8'
+ immer: '>=9.0'
+ react: '>=16.8'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ immer:
+ optional: true
+ react:
+ optional: true
+ dependencies:
+ '@types/react': 18.2.25
+ immer: 10.0.3
+ react: 18.2.0
+ use-sync-external-store: 1.2.0(react@18.2.0)
+ dev: false
diff --git a/app/providers/SideNavProvider.tsx b/app/providers/SideNavProvider.tsx
index bc93e608e..5092928db 100644
--- a/app/providers/SideNavProvider.tsx
+++ b/app/providers/SideNavProvider.tsx
@@ -1,3 +1,5 @@
+"use client"
+
import { createContext, useContext, useState } from "react"
import type { ReactNode } from "react"
diff --git a/app/providers/auth/AuthProvider.tsx b/app/providers/auth/AuthProvider.tsx
index 6a2ecbec4..db55338f3 100644
--- a/app/providers/auth/AuthProvider.tsx
+++ b/app/providers/auth/AuthProvider.tsx
@@ -1,3 +1,5 @@
+"use client"
+
import { createContext, useContext, useEffect, useState } from "react"
import { signIn, signOut } from "db/supabase/auth"
import { supabase } from "db/supabase/client"
@@ -38,7 +40,13 @@ const authContext = createContext({
},
})
-export const useAuth = (): AuthContext => useContext(authContext)
+export const useAuth = (): AuthContext => {
+ const context = useContext(authContext)
+ if (!context) {
+ throw new Error(`useAuth must be used within a AuthProvider`)
+ }
+ return context
+}
export const useFavorites = () => useAuth().userFavorites
interface Props {
diff --git a/app/providers/auth/useUserFavorites.ts b/app/providers/auth/useUserFavorites.ts
index 96b9db9d0..9ade73547 100644
--- a/app/providers/auth/useUserFavorites.ts
+++ b/app/providers/auth/useUserFavorites.ts
@@ -1,7 +1,7 @@
import { supabase } from "db/supabase/client"
import { toast } from "react-hot-toast"
import { useCallback, useEffect, useMemo, useState } from "react"
-import { useFeatureFlags } from "@hooks/useFeatures"
+import { useFeatureFlags } from "@/store/useFeatures"
import type { Prisma, UserFavorite } from "db/generated/client"
import type { Session } from "db/supabase/client"
diff --git a/app/public/images/icons/roster/crossovers/Devil Jin.png b/app/public/images/icons/roster/crossovers/Devil Jin.png
new file mode 100644
index 000000000..220d27547
Binary files /dev/null and b/app/public/images/icons/roster/crossovers/Devil Jin.png differ
diff --git a/app/public/images/icons/roster/crossovers/Nina Williams.png b/app/public/images/icons/roster/crossovers/Nina Williams.png
new file mode 100644
index 000000000..e6ee57a7c
Binary files /dev/null and b/app/public/images/icons/roster/crossovers/Nina Williams.png differ
diff --git a/app/public/images/icons/roster/crossovers/The Arbiter.png b/app/public/images/icons/roster/crossovers/The Arbiter.png
new file mode 100644
index 000000000..4fed23934
Binary files /dev/null and b/app/public/images/icons/roster/crossovers/The Arbiter.png differ
diff --git a/app/public/images/icons/roster/crossovers/The Master Chief.png b/app/public/images/icons/roster/crossovers/The Master Chief.png
new file mode 100644
index 000000000..c3294fb0b
Binary files /dev/null and b/app/public/images/icons/roster/crossovers/The Master Chief.png differ
diff --git a/app/public/images/icons/roster/crossovers/Yoshimitsu.png b/app/public/images/icons/roster/crossovers/Yoshimitsu.png
new file mode 100644
index 000000000..906fb5279
Binary files /dev/null and b/app/public/images/icons/roster/crossovers/Yoshimitsu.png differ
diff --git a/app/public/robots.txt b/app/public/robots.txt
index 3a723854d..1774b814d 100644
--- a/app/public/robots.txt
+++ b/app/public/robots.txt
@@ -3,7 +3,7 @@ User-agent: *
Allow: /
# Host
-Host: http://localhost:3000
+Host: https://corehalla.com
# Sitemaps
-Sitemap: http://localhost:3000/sitemap.xml
+Sitemap: https://corehalla.com/sitemap.xml
diff --git a/app/public/sitemap-0.xml b/app/public/sitemap-0.xml
deleted file mode 100644
index d83eb8d55..000000000
--- a/app/public/sitemap-0.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-http://localhost:3000 2023-10-21T13:29:31.400Z daily 1
-http://localhost:3000/@me/favorites 2023-10-21T13:29:31.400Z daily 1
-http://localhost:3000/calc 2023-10-21T13:29:31.400Z daily 1
-
\ No newline at end of file
diff --git a/app/public/sitemap.xml b/app/public/sitemap.xml
deleted file mode 100644
index b934614c7..000000000
--- a/app/public/sitemap.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-http://localhost:3000/sitemap-0.xml
-
\ No newline at end of file
diff --git a/app/server/index.ts b/app/server/index.ts
new file mode 100644
index 000000000..c098a683d
--- /dev/null
+++ b/app/server/index.ts
@@ -0,0 +1 @@
+export * from "./router"
diff --git a/app/server/router/index.ts b/app/server/router/index.ts
new file mode 100644
index 000000000..026661386
--- /dev/null
+++ b/app/server/router/index.ts
@@ -0,0 +1,5 @@
+import { router } from "../trpc"
+
+export const appRouter = router({})
+
+export type AppRouter = typeof appRouter
diff --git a/app/server/trpc.ts b/app/server/trpc.ts
new file mode 100644
index 000000000..7e2d092f2
--- /dev/null
+++ b/app/server/trpc.ts
@@ -0,0 +1,9 @@
+import { initTRPC } from "@trpc/server"
+import SuperJSON from "superjson"
+
+const t = initTRPC.create({
+ transformer: SuperJSON,
+})
+
+export const router = t.router
+export const publicProcedure = t.procedure
diff --git a/app/socials.js b/app/socials.js
new file mode 100644
index 000000000..c41b0f51a
--- /dev/null
+++ b/app/socials.js
@@ -0,0 +1,7 @@
+module.exports = {
+ BRAWLHALLA_WIKI_URL: "https://brawlhalla.fandom.com/wiki/Brawlhalla_Wiki",
+ COREHALLA_DISCORD_URL: "https://discord.com/invite/eD248ez",
+ COREHALLA_GITHUB_URL: "https://github.com/djobbo/corehalla",
+ COREHALLA_TWITTER_URL: "https://twitter.com/Corehalla",
+ COREHALLA_KOFI_URL: "https://ko-fi.com/corehalla",
+}
diff --git a/app/store/useFeatures.tsx b/app/store/useFeatures.tsx
new file mode 100644
index 000000000..2e7a3c1d3
--- /dev/null
+++ b/app/store/useFeatures.tsx
@@ -0,0 +1,55 @@
+"use client"
+
+import { type AuthContext } from "@/providers/auth/AuthProvider"
+import { type ReactNode, createContext, useContext } from "react"
+
+const __DEV = process.env.NODE_ENV === "development"
+
+import { createStore, useStore } from "zustand"
+
+interface FeatureFlagsStoreProps {
+ authContext?: AuthContext
+}
+
+type FeatureFlagsStore = ReturnType
+
+type FeatureFlagsState = {
+ // shouldUseVercelImageOptimization: boolean
+ shouldShowDummyFavorites: boolean
+ shouldShowInfoTooltips: boolean
+ shouldShowAds: boolean
+}
+
+const createFeatureFlagsStore = ({ authContext }: FeatureFlagsStoreProps) => {
+ return createStore()(() => ({
+ shouldShowDummyFavorites: false && __DEV && !authContext?.isLoggedIn,
+ shouldShowInfoTooltips: true, // TODO: Add setting to toggle this
+ shouldShowAds: true, // TODO: premium??
+ }))
+}
+
+const featureFlagsContext = createContext(null)
+
+export function useFeatureFlags() {
+ const store = useContext(featureFlagsContext)
+ if (!store)
+ throw new Error("Missing featureFlagsContext.Provider in the tree")
+ return useStore(store, (state) => state)
+}
+
+type FeatureFlagsProviderProps = FeatureFlagsStoreProps & {
+ children: ReactNode
+}
+
+export const FeatureFlagsProvider = ({
+ children,
+ authContext,
+}: FeatureFlagsProviderProps) => {
+ const store = createFeatureFlagsStore({ authContext })
+
+ return (
+
+ {children}
+
+ )
+}
diff --git a/app/styles/globals.css b/app/styles/globals.css
deleted file mode 100644
index 4916b9a99..000000000
--- a/app/styles/globals.css
+++ /dev/null
@@ -1,32 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-* {
- scroll-behavior: smooth;
-}
-
-html, body {
- @apply bg-bgVar1 text-text;
- font-family: "Montserrat", sans-serif;
-}
-
-::-webkit-scrollbar {
- @apply w-0 hashover:w-2;
-}
-
-::-webkit-scrollbar-track {
- @apply bg-transparent;
-}
-
-::-webkit-scrollbar-thumb {
- @apply bg-bg rounded-full hover:bg-accent;
-}
-
-.p-link {
- @apply text-accent hover:underline;
-}
-
-.text-fill-none {
- -webkit-text-fill-color: transparent
-}
diff --git a/app/styles/nprogress.css b/app/styles/nprogress.css
deleted file mode 100644
index 9c2f2b11a..000000000
--- a/app/styles/nprogress.css
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Make clicks pass-through */
-#nprogress {
- pointer-events: none;
-}
-
-#nprogress .bar {
- background: #ffffffaa;
-
- position: fixed;
- z-index: 5000;
- top: 0;
- left: 0;
-
- width: 100%;
- height: 2px;
-}
-
-.nprogress-custom-parent {
- overflow: hidden;
- position: relative;
-}
-
-.nprogress-custom-parent #nprogress .bar {
- position: absolute;
-}
\ No newline at end of file
diff --git a/app/tailwind.config.js b/app/tailwind.config.js
deleted file mode 100644
index 38aa16f47..000000000
--- a/app/tailwind.config.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// eslint-disable-next-line @typescript-eslint/no-var-requires
-const colors = require("ui/theme/theme")
-
-module.exports = {
- content: [
- "./pages/**/*.{js,ts,jsx,tsx}",
- "./components/**/*.{js,ts,jsx,tsx}",
- "../packages/ui/theme/**/*.{js,ts,jsx,tsx}",
- "../packages/ui/base/**/*.{js,ts,jsx,tsx}",
- ],
- theme: {
- extend: {
- colors,
- screens: {
- hashover: { raw: "(hover: hover)" },
- },
- },
- },
- plugins: [],
-}
diff --git a/app/tailwind.config.ts b/app/tailwind.config.ts
new file mode 100644
index 000000000..5fbbd725b
--- /dev/null
+++ b/app/tailwind.config.ts
@@ -0,0 +1,86 @@
+import colors from "ui/theme/theme"
+import type { Config } from "tailwindcss"
+
+const config: Config = {
+ darkMode: ["class"],
+ content: [
+ "./pages/**/*.{ts,tsx}",
+ "./components/**/*.{ts,tsx}",
+ "./app/**/*.{ts,tsx}",
+ "./src/**/*.{ts,tsx}",
+ "../packages/ui/theme/**/*.{js,ts,jsx,tsx}",
+ "../packages/ui/base/**/*.{js,ts,jsx,tsx}",
+ ],
+ theme: {
+ container: {
+ center: true,
+ padding: "2rem",
+ screens: {
+ "2xl": "1400px",
+ },
+ },
+ extend: {
+ colors: {
+ ...colors,
+ border: "hsl(var(--border))",
+ input: "hsl(var(--input))",
+ ring: "hsl(var(--ring))",
+ background: "hsl(var(--background))",
+ foreground: "hsl(var(--foreground))",
+ primary: {
+ DEFAULT: "hsl(var(--primary))",
+ foreground: "hsl(var(--primary-foreground))",
+ },
+ secondary: {
+ DEFAULT: "hsl(var(--secondary))",
+ foreground: "hsl(var(--secondary-foreground))",
+ },
+ destructive: {
+ DEFAULT: "hsl(var(--destructive))",
+ foreground: "hsl(var(--destructive-foreground))",
+ },
+ muted: {
+ DEFAULT: "hsl(var(--muted))",
+ foreground: "hsl(var(--muted-foreground))",
+ },
+ // accent: {
+ // DEFAULT: "hsl(var(--accent))",
+ // foreground: "hsl(var(--accent-foreground))",
+ // },
+ popover: {
+ DEFAULT: "hsl(var(--popover))",
+ foreground: "hsl(var(--popover-foreground))",
+ },
+ card: {
+ DEFAULT: "hsl(var(--card))",
+ foreground: "hsl(var(--card-foreground))",
+ },
+ },
+ screens: {
+ hashover: { raw: "(hover: hover)" },
+ },
+ borderRadius: {
+ lg: "var(--radius)",
+ md: "calc(var(--radius) - 2px)",
+ sm: "calc(var(--radius) - 4px)",
+ },
+ keyframes: {
+ "accordion-down": {
+ from: { height: "0" },
+ to: { height: "var(--radix-accordion-content-height)" },
+ },
+ "accordion-up": {
+ from: { height: "var(--radix-accordion-content-height)" },
+ to: { height: "0" },
+ },
+ },
+ animation: {
+ "accordion-down": "accordion-down 0.2s ease-out",
+ "accordion-up": "accordion-up 0.2s ease-out",
+ },
+ },
+ },
+ plugins: [require("tailwindcss-animate")],
+}
+
+export default config
diff --git a/app/tsconfig.json b/app/tsconfig.json
index 6bf9d4e97..9fe39aceb 100644
--- a/app/tsconfig.json
+++ b/app/tsconfig.json
@@ -1,28 +1,40 @@
{
- "extends": "tsconfig/nextjs.json",
+ "compilerOptions": {
+ "target": "esnext",
+ "lib": [
+ "dom",
+ "dom.iterable",
+ "esnext"
+ ],
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "noEmit": true,
+ "esModuleInterop": true,
+ "module": "esnext",
+ "moduleResolution": "bundler",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "jsx": "preserve",
+ "incremental": true,
+ "plugins": [
+ {
+ "name": "next"
+ }
+ ],
+ "paths": {
+ "@/*": [
+ "./*"
+ ]
+ }
+ },
"include": [
"next-env.d.ts",
"**/*.ts",
- "**/*.tsx"
+ "**/*.tsx",
+ ".next/types/**/*.ts"
],
"exclude": [
"node_modules"
- ],
- "compilerOptions": {
- "baseUrl": ".",
- "paths": {
- "@hooks/*": [
- "hooks/*"
- ],
- "@components/*": [
- "components/*"
- ],
- "@ctx/*": [
- "providers/*"
- ],
- "@util/*": [
- "util/*"
- ]
- }
- }
-}
+ ]
+}
\ No newline at end of file
diff --git a/app/util/alerts.tsx b/app/util/alerts.tsx
index 02a23ed96..d0230699a 100644
--- a/app/util/alerts.tsx
+++ b/app/util/alerts.tsx
@@ -1,16 +1,17 @@
-import { AppLink } from "ui/base/AppLink"
+import { COREHALLA_DISCORD_URL } from "@/socials"
+import Link from "next/link"
export const alerts = {
BH_MAINTENANCE: (
Brawlhalla maintenance ongoing. More info{" "}
-
here
- {" "}
+ {" "}
!
),
@@ -18,13 +19,13 @@ export const alerts = {
Known issues with fetching stats from Brawlhalla{"'"}s servers, don
{"'"}t panic. Updates{" "}
-
here
- {" "}
+ {" "}
!
),
@@ -32,13 +33,13 @@ export const alerts = {
Authentication server is down, and so favorites aren{"'"}t
accessible, sorry for the inconvenience. Updates{" "}
-
here
- {" "}
+ {" "}
!
),
@@ -46,13 +47,13 @@ export const alerts = {
Authentication server is back online, you can reconnect! Don{"'"}t
forget to join our{" "}
-
Discord
- {" "}
+ {" "}
!
),
diff --git a/app/util/features.ts b/app/util/features.ts
deleted file mode 100644
index 2a1f7a8a7..000000000
--- a/app/util/features.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import type { AuthContext } from "@ctx/auth/AuthProvider"
-
-export type FeatureFlags = keyof ReturnType
-
-const __DEV = process.env.NODE_ENV === "development"
-
-export const getFeatureFlags = ({
- authContext,
-}: {
- authContext?: AuthContext
-}) => {
- // const isSSR = typeof window === "undefined"
- // const isProductionWebsite =
- // process.env.NEXT_PUBLIC_FORCE_PRODUCTION_WEBSITE ||
- // (!isSSR && window.location.hostname === "corehalla.com")
-
- return {
- // shouldUseVercelImageOptimization: false,
- shouldShowDummyFavorites: false && __DEV && !authContext?.isLoggedIn,
- shouldShowInfoTooltips: true, // TODO: Add setting to toggle this
- shouldShowAds: true, // TODO: premium??
- } as const
-}
diff --git a/app/util/trpc.ts b/app/util/trpc.ts
deleted file mode 100644
index f5ff2247d..000000000
--- a/app/util/trpc.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-import { createTRPCNext } from "@trpc/next"
-import { httpLink } from "@trpc/client"
-import type { AppRouter } from "server/router"
-// TS2742: https://github.com/microsoft/TypeScript/issues/47663
-import type {} from "@trpc/react-query"
-
-const getBaseUrl = () => {
- if (typeof window !== "undefined")
- // browser should use relative path
- return ""
-
- if (process.env.VERCEL_URL)
- // reference for vercel.com
- return `https://${process.env.VERCEL_URL}`
-
- // fallback to localhost
- return `http://localhost:${process.env.PORT ?? 3000}`
-}
-
-export const trpc = createTRPCNext({
- config() {
- return {
- links: [
- httpLink({
- /**
- * If you want to use SSR, you need to use the server's full URL
- * @link https://trpc.io/docs/ssr
- **/
- url: `${getBaseUrl()}/api/trpc`,
- }),
- ],
- /**
- * @link https://tanstack.com/query/v4/docs/reference/QueryClient
- **/
- queryClientConfig: {
- defaultOptions: {
- queries: {
- staleTime: 60,
- refetchOnWindowFocus: false,
- refetchOnMount: false,
- retry: 3,
- retryDelay: (attemptIndex) =>
- Math.min(1000 * 2 ** attemptIndex, 30000),
- },
- },
- },
- }
- },
- /**
- * @link https://trpc.io/docs/ssr
- **/
- ssr: true,
- responseMeta({ clientErrors }) {
- if (clientErrors.length) {
- // propagate first http error from API calls
- return {
- status: clientErrors[0].data?.httpStatus ?? 500,
- }
- }
-
- // cache full page for 1 day + revalidate once every 30 seconds
- const CACHE_TIME = 60 * 60 * 24
- const REVALIDATE_TIME = 30
- return {
- "Cache-Control": `s-maxage=${REVALIDATE_TIME}, stale-while-revalidate=${CACHE_TIME}`,
- }
- },
-})
diff --git a/app/vercel.json b/app/vercel.json
deleted file mode 100644
index c141be88a..000000000
--- a/app/vercel.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "functions": {
- "pages/**/*.ts": {
- "memory": 1024,
- "maxDuration": 4
- },
- "pages/**/*.tsx": {
- "memory": 1024,
- "maxDuration": 4
- }
- }
-}
\ No newline at end of file
diff --git a/docs/Corehalla.md b/docs/Corehalla.md
new file mode 100644
index 000000000..da2870804
--- /dev/null
+++ b/docs/Corehalla.md
@@ -0,0 +1,20 @@
+## Workspace
+Corehalla is using a [[monorepo folder structure]], using [Turborepo](https://turbo.build/) for caching and script dependencies management.
+### Monorepo structure
+- `app` -> [[app/README]]
+ Code for the main website
+- `packages` -> [[packages/README]]
+ Common packages used by the different apps
+- `worker` -> [[worker/README]]
+ Leaderboard crawler, keeps db fresh with updated leaderboard data for queues/global rankings
+- `docs` -> [[Corehalla]]
+ [[Obsidian]] docs
+### Tech stack
+- Monorepo
+ - [Turborepo](https://turbo.build/): Script dependency management
+ - [Eslint](https://eslint.org/): JS/TS Linting
+ - [Prettier](https://prettier.io/): Prettify (integrated with eslint)
+
+Corehalla is open source. View [[LICENSE]]
+
+#readme #doc
diff --git a/knip.ts b/knip.ts
new file mode 100644
index 000000000..a1649da58
--- /dev/null
+++ b/knip.ts
@@ -0,0 +1,22 @@
+import type { KnipConfig } from "knip"
+
+const config: KnipConfig = {
+ ignore: [
+ "**/.next/**",
+ "packages/db/generated/**",
+ "**/reaccord.config.js",
+ // TODO: remove this
+ "packages/server/**",
+ ".obsidian/**",
+ "**/TransRSC.tsx",
+ ],
+ ignoreDependencies: [
+ "encoding",
+ "sharp",
+ "@lingui/conf",
+ "@lingui/loader",
+ "@lingui/swc-plugin",
+ ],
+}
+
+export default config
diff --git a/package.json b/package.json
index d9686cedb..6a720daf9 100644
--- a/package.json
+++ b/package.json
@@ -5,31 +5,31 @@
"repository": "https://github.com/djobbo/corehalla.git",
"author": "Djobbo Maïga ",
"scripts": {
- "build": "turbo run build",
"lint": "eslint --fix --ext .js,.jsx,.ts,.tsx .",
"format": "prettier --write \"**/*.{ts,tsx,md}\" && turbo run format",
"ts:check": "turbo run ts:check",
"ci:install": "pnpm install --frozen-lockfile",
"ci:lint": "eslint --ext .js,.jsx,.ts,.tsx .",
- "ci:deadcode": "turbo run ci:deadcode",
"dl-roster": "turbo run dl-roster",
"db:migrate": "turbo run db:migrate",
"db:migrate:prod": "turbo run db:migrate:prod --scope=db --include-dependencies --no-deps",
- "build:prod": "pnpm db:migrate:prod && turbo run build --scope=app --include-dependencies --no-deps",
+ "build:prod": "pnpm db:migrate:prod && turbo run build:prod --scope=app --include-dependencies --no-deps",
"dev": "turbo run dev --parallel",
- "setup:env": "zx setup.zx.mjs"
+ "setup:env": "zx setup.zx.mjs",
+ "deadcode": "knip --no-gitignore --reporter compact"
},
"devDependencies": {
- "@typescript-eslint/eslint-plugin": "^5.48.0",
- "@typescript-eslint/parser": "^5.48.0",
- "eslint": "^8.31.0",
- "eslint-config-next": "^13.1.1",
- "eslint-plugin-jsx-a11y": "^6.6.1",
- "eslint-plugin-prettier": "^4.2.1",
+ "@typescript-eslint/eslint-plugin": "^6.20.0",
+ "@typescript-eslint/parser": "^6.20.0",
+ "eslint": "^8.56.0",
+ "eslint-config-next": "^14.1.0",
+ "eslint-plugin-jsx-a11y": "^6.8.0",
+ "eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-sort-imports-es6-autofix": "^0.6.0",
- "prettier": "^2.8.1",
- "turbo": "^1.9.4",
- "typescript": "^4.9.4",
+ "knip": "^4.2.3",
+ "prettier": "^3.2.4",
+ "turbo": "^1.11.3",
+ "typescript": "^5.3.3",
"zx": "^7.2.3"
},
"engines": {
diff --git a/packages/README.md b/packages/README.md
new file mode 100644
index 000000000..d992c6c6d
--- /dev/null
+++ b/packages/README.md
@@ -0,0 +1 @@
+#readme
\ No newline at end of file
diff --git a/packages/bhapi/constants.ts b/packages/bhapi/constants.ts
index 32b5a6634..7a617a286 100644
--- a/packages/bhapi/constants.ts
+++ b/packages/bhapi/constants.ts
@@ -2,18 +2,6 @@ import { z } from "zod"
export type BrawlhallaID = string | number
-export const rankedTierNames = [
- "Unranked",
- "Tin",
- "Bronze",
- "Silver",
- "Gold",
- "Platinum",
- "Diamond",
-]
-
-export type RankedTierName = typeof rankedTierNames[number]
-
export const rankedTiers = [
["Diamond", 2000],
["Platinum 5", 1936],
@@ -44,11 +32,11 @@ export const rankedTiers = [
["Tin 0", 200],
] as const
-export const rankedTiersComplete = rankedTiers.map(([tier]) => tier)
+const rankedTiersComplete = rankedTiers.map(([tier]) => tier)
-export type RankedTier = typeof rankedTiersComplete[number] | "Valhallan"
+export type RankedTier = (typeof rankedTiersComplete)[number] | "Valhallan"
-const rankedRegionsValidators = [
+const rankedRegionsSchemas = [
z.literal("all"),
z.literal("us-e"),
z.literal("eu"),
@@ -61,13 +49,29 @@ const rankedRegionsValidators = [
z.literal("me"),
] as const
-export const rankedRegionValidator = z.union(rankedRegionsValidators)
+export const rankedRegionSchema = z.union(rankedRegionsSchemas).catch("all")
+
+export const rankedRegions = rankedRegionsSchemas.map(
+ (validator) => validator.value,
+)
+
+const powerRankedRegionsSchemas = [
+ z.literal("na"),
+ z.literal("eu"),
+ z.literal("sa"),
+ z.literal("sea"),
+ z.literal("aus"),
+] as const
+
+export const powerRankedRegionSchema = z
+ .union(powerRankedRegionsSchemas)
+ .catch("na")
-export const rankedRegions = rankedRegionsValidators.map(
+export const powerRankedRegions = powerRankedRegionsSchemas.map(
(validator) => validator.value,
)
-export type RankedRegion = z.infer
+export type RankedRegion = z.infer
export const weapons = [
"Grapple Hammer",
@@ -86,8 +90,8 @@ export const weapons = [
"Battle Boots",
] as const
-export type Weapon = typeof weapons[number]
+export type Weapon = (typeof weapons)[number]
-export const clanRanks = ["Leader", "Officer", "Member", "Recruit"] as const
+const clanRanks = ["Leader", "Officer", "Member", "Recruit"] as const
-export type ClanRank = typeof clanRanks[number]
+export type ClanRank = (typeof clanRanks)[number]
diff --git a/packages/bhapi/helpers/getTierFromRating.ts b/packages/bhapi/helpers/getTierFromRating.ts
index 12f723b3d..84a66f580 100644
--- a/packages/bhapi/helpers/getTierFromRating.ts
+++ b/packages/bhapi/helpers/getTierFromRating.ts
@@ -3,8 +3,3 @@ import { rankedTiers } from "../constants"
export const getTierFromRating = (rating: number) =>
(rankedTiers.find((r) => rating >= r[1]) ||
rankedTiers[rankedTiers.length - 1])[0]
-
-export const getMiniTierFromRating = (rating: number) => {
- const tier = getTierFromRating(rating)
- return tier[0] + (tier.split(" ")[1] ?? "")
-}
diff --git a/packages/bhapi/index.ts b/packages/bhapi/index.ts
index 10a5aeca1..cec2c8071 100644
--- a/packages/bhapi/index.ts
+++ b/packages/bhapi/index.ts
@@ -3,30 +3,33 @@ import { playerRankedMock } from "./mocks/playerRanked"
import { playerStatsMock } from "./mocks/playerStats"
import { rankings1v1Mock } from "./mocks/rankings1v1"
import { rankings2v2Mock } from "./mocks/rankings2v2"
-import axios from "axios"
+import type { BrawlhallaID, RankedRegion } from "./constants"
import type {
- Bracket,
Clan,
PlayerRanked,
PlayerStats,
Ranking1v1,
Ranking2v2,
} from "./types"
-import type { RankedRegion } from "./constants"
const __DEV = process.env.NODE_ENV === "development"
+const __ERROR_TEST_ALL = process.env.ERROR_TEST === "all"
const BH_API_BASE = "https://api.brawlhalla.com"
+// TODO: Validate responses with zod
+
const getBhApi = async (
path: string,
params: Record = {},
) => {
- return (
- await axios.get(`${BH_API_BASE}${path}`, {
- params: { ...params, api_key: process.env.BRAWLHALLA_API_KEY },
- })
- ).data
+ const url = new URL(path, BH_API_BASE)
+ url.searchParams.append("api_key", process.env.BRAWLHALLA_API_KEY || "")
+ Object.entries(params).forEach(([key, value]) => {
+ if (value) url.searchParams.append(key, value)
+ })
+ const response = await fetch(url)
+ return response.json() as Promise
}
export const getIdBySteamId = (steamId: string) =>
@@ -35,45 +38,93 @@ export const getIdBySteamId = (steamId: string) =>
name: string
}>("/search", { steamid: steamId })
-export const getRankings = async <
- BracketType extends Bracket,
- RankingType extends BracketType extends "1v1" ? Ranking1v1 : Ranking2v2,
->(
- bracket: BracketType,
+export const get1v1Rankings = async (
+ region: RankedRegion,
+ page: number,
+ name = "",
+) => {
+ if (!__DEV) {
+ return getBhApi(`/rankings/1v1/${region}/${page}`, {
+ name,
+ })
+ }
+
+ if (__ERROR_TEST_ALL || process.env.ERROR_TEST === "ranked1v1") {
+ throw new Error("TEST: Failed to fetch 1v1 rankings")
+ }
+
+ return rankings1v1Mock.filter((r) =>
+ r.name.toLowerCase().startsWith(name?.toLowerCase() || ""),
+ )
+}
+
+export const getRotatingRankings = async (
region: RankedRegion,
- page: string | number,
- name?: string,
+ page: number,
+ name = "",
) => {
- if (!__DEV)
- return getBhApi(
- `/rankings/${bracket}/${region}/${page}`,
- {
- name,
- },
- )
-
- switch (bracket) {
- case "1v1":
- return rankings1v1Mock.filter((r) =>
- r.name.toLowerCase().startsWith(name?.toLowerCase() || ""),
- ) as RankingType[]
- case "2v2":
- return rankings2v2Mock as RankingType[]
- default:
- return []
+ if (!__DEV) {
+ return getBhApi(`/rankings/rotating/${region}/${page}`, {
+ name,
+ })
+ }
+
+ if (__ERROR_TEST_ALL || process.env.ERROR_TEST === "rankedrotating") {
+ throw new Error("TEST: Failed to fetch rotating rankings")
+ }
+
+ return rankings1v1Mock.filter((r) =>
+ r.name.toLowerCase().startsWith(name?.toLowerCase() || ""),
+ )
+}
+
+export const get2v2Rankings = async (region: RankedRegion, page: number) => {
+ if (!__DEV) {
+ return getBhApi(`/rankings/2v2/${region}/${page}`)
}
+
+ if (__ERROR_TEST_ALL || process.env.ERROR_TEST === "ranked2v2") {
+ throw new Error("TEST: Failed to fetch 2v2 rankings")
+ }
+
+ return rankings2v2Mock
+}
+
+export const getPlayerStats = async (playerId: BrawlhallaID) => {
+ if (!__DEV) {
+ return getBhApi(`/player/${playerId}/stats`)
+ }
+
+ if (__ERROR_TEST_ALL || process.env.ERROR_TEST === "playerstats") {
+ throw new Error("TEST: Failed to fetch player stats")
+ }
+
+ return playerStatsMock
}
-export const getPlayerStats = async (playerId: number) =>
- __DEV ? playerStatsMock : getBhApi(`/player/${playerId}/stats`)
+export const getPlayerRanked = async (playerId: BrawlhallaID) => {
+ if (!__DEV) {
+ return getBhApi(`/player/${playerId}/ranked`)
+ }
-export const getPlayerRanked = async (playerId: number) =>
- __DEV
- ? playerRankedMock
- : getBhApi(`/player/${playerId}/ranked`)
+ if (__ERROR_TEST_ALL || process.env.ERROR_TEST === "playerranked") {
+ throw new Error("TEST: Failed to fetch player ranked")
+ }
-export const getClan = async (clanId: number) =>
- __DEV ? clanMock : getBhApi(`/clan/${clanId}`)
+ return playerRankedMock
+}
+
+export const getClan = async (clanId: BrawlhallaID) => {
+ if (!__DEV) {
+ return getBhApi(`/clan/${clanId}`)
+ }
+
+ if (__ERROR_TEST_ALL || process.env.ERROR_TEST === "clanstats") {
+ throw new Error("TEST: Failed to fetch clan")
+ }
+
+ return clanMock
+}
export const getAllLegends = async () => getBhApi("/legend/all")
diff --git a/packages/bhapi/legends.ts b/packages/bhapi/legends.ts
index ada5d828f..8c07cf57e 100644
--- a/packages/bhapi/legends.ts
+++ b/packages/bhapi/legends.ts
@@ -756,6 +756,16 @@ export const getFullLegends = (
: Object.values(fullLegends).filter((legend) => legend.stats?.games)
}
+export const defaultLegendAccumulativeData = {
+ matchtime: 0,
+ kos: 0,
+ falls: 0,
+ suicides: 0,
+ teamkos: 0,
+ damageDealt: 0,
+ damageTaken: 0,
+}
+
export const getLegendsAccumulativeData = (fullLegends: FullLegend[]) => {
return fullLegends.reduce<{
matchtime: number
@@ -763,34 +773,21 @@ export const getLegendsAccumulativeData = (fullLegends: FullLegend[]) => {
falls: number
suicides: number
teamkos: number
- damagedealt: number
- damagetaken: number
- }>(
- (acc, legend) => {
- if (!legend.stats) return acc
+ damageDealt: number
+ damageTaken: number
+ }>((acc, legend) => {
+ if (!legend.stats) return acc
- return {
- matchtime: acc.matchtime + legend.stats.matchtime,
- kos: acc.kos + legend.stats.kos,
- falls: acc.falls + legend.stats.falls,
- suicides: acc.suicides + legend.stats.suicides,
- teamkos: acc.teamkos + legend.stats.teamkos,
- damagedealt:
- acc.damagedealt + parseInt(legend.stats.damagedealt),
- damagetaken:
- acc.damagetaken + parseInt(legend.stats.damagetaken),
- }
- },
- {
- matchtime: 0,
- kos: 0,
- falls: 0,
- suicides: 0,
- teamkos: 0,
- damagedealt: 0,
- damagetaken: 0,
- },
- )
+ return {
+ matchtime: acc.matchtime + legend.stats.matchtime,
+ kos: acc.kos + legend.stats.kos,
+ falls: acc.falls + legend.stats.falls,
+ suicides: acc.suicides + legend.stats.suicides,
+ teamkos: acc.teamkos + legend.stats.teamkos,
+ damageDealt: acc.damageDealt + parseInt(legend.stats.damagedealt),
+ damageTaken: acc.damageTaken + parseInt(legend.stats.damagetaken),
+ }
+ }, defaultLegendAccumulativeData)
}
export type FullWeapon = {
@@ -799,18 +796,21 @@ export type FullWeapon = {
}
export const getFullWeapons = (legends: FullLegend[]): FullWeapon[] => {
- const weaponsMap = legends.reduce((acc, legend) => {
- const legendData = legendsMap[legend.legend_id]
- acc[legendData.weapon_one] = [
- ...(acc[legendData.weapon_one] ?? []),
- legend,
- ]
- acc[legendData.weapon_two] = [
- ...(acc[legendData.weapon_two] ?? []),
- legend,
- ]
- return acc
- }, {} as Record)
+ const weaponsMap = legends.reduce(
+ (acc, legend) => {
+ const legendData = legendsMap[legend.legend_id]
+ acc[legendData.weapon_one] = [
+ ...(acc[legendData.weapon_one] ?? []),
+ legend,
+ ]
+ acc[legendData.weapon_two] = [
+ ...(acc[legendData.weapon_two] ?? []),
+ legend,
+ ]
+ return acc
+ },
+ {} as Record,
+ )
const weapons = Object.entries(weaponsMap).map(([weapon, legends]) => ({
weapon,
@@ -820,6 +820,22 @@ export const getFullWeapons = (legends: FullLegend[]): FullWeapon[] => {
return weapons
}
+export const defaultWeaponlessData = {
+ unarmed: {
+ kos: 0,
+ damageDealt: 0,
+ matchtime: 0,
+ },
+ gadgets: {
+ kos: 0,
+ damageDealt: 0,
+ },
+ throws: {
+ kos: 0,
+ damageDealt: 0,
+ },
+}
+
export const getWeaponlessData = (legends: FullLegend[]) => {
return legends.reduce(
(acc, legend) => ({
@@ -849,21 +865,7 @@ export const getWeaponlessData = (legends: FullLegend[]) => {
parseInt(legend.stats?.damagethrownitem ?? "0"),
},
}),
- {
- unarmed: {
- kos: 0,
- damageDealt: 0,
- matchtime: 0,
- },
- gadgets: {
- kos: 0,
- damageDealt: 0,
- },
- throws: {
- kos: 0,
- damageDealt: 0,
- },
- },
+ defaultWeaponlessData,
)
}
diff --git a/packages/bhapi/package.json b/packages/bhapi/package.json
index 5b36286c3..96c7177a0 100644
--- a/packages/bhapi/package.json
+++ b/packages/bhapi/package.json
@@ -2,18 +2,15 @@
"name": "bhapi",
"version": "0.0.0",
"devDependencies": {
- "@types/node": "^20.8.7",
+ "@types/node": "^20.11.10",
"tsconfig": "workspace:*",
- "typescript": "^4.9.4"
+ "typescript": "^5.3.3"
},
"scripts": {
"ts:check": "tsc --noEmit"
},
"dependencies": {
- "axios": "1.1.3",
"common": "workspace:*",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
- "zod": "^3.20.2"
+ "zod": "^3.22.4"
}
}
\ No newline at end of file
diff --git a/packages/bhapi/types.ts b/packages/bhapi/types.ts
index dac3b56c2..935072fff 100644
--- a/packages/bhapi/types.ts
+++ b/packages/bhapi/types.ts
@@ -1,7 +1,5 @@
import type { ClanRank, RankedRegion, RankedTier, Weapon } from "./constants"
-export type Bracket = "1v1" | "2v2"
-
export type PlayerStats = {
brawlhalla_id: number
name: string
diff --git a/packages/common/helpers/date.ts b/packages/common/helpers/date.ts
index 82262c60f..2bea4b6c0 100644
--- a/packages/common/helpers/date.ts
+++ b/packages/common/helpers/date.ts
@@ -4,7 +4,7 @@ import { unix } from "dayjs"
* @error returns different dates in client or ssr mode
* @issue https://github.com/iamkun/dayjs/issues/1690
*/
-export const getDateFromUnixTime = (unixTime: number, template?: string) =>
+const getDateFromUnixTime = (unixTime: number, template?: string) =>
unix(unixTime).format(template)
type HMSTime = {
@@ -13,7 +13,7 @@ type HMSTime = {
seconds: number
}
-export const getHMSFromSeconds = (seconds: number): HMSTime => {
+const getHMSFromSeconds = (seconds: number): HMSTime => {
const minutes = Math.floor(seconds / 60)
const hours = Math.floor(minutes / 60)
@@ -24,7 +24,7 @@ export const getHMSFromSeconds = (seconds: number): HMSTime => {
}
}
-export const getHMSStringFromSeconds = (
+const getHMSStringFromSeconds = (
milliseconds: number,
template: ({ hours, minutes, seconds }: HMSTime) => string,
) => {
diff --git a/packages/common/helpers/formatBalance.ts b/packages/common/helpers/formatBalance.ts
deleted file mode 100644
index f7e047afa..000000000
--- a/packages/common/helpers/formatBalance.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export const formatBalance = (balance: number) =>
- balance.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")
diff --git a/packages/common/helpers/isDefined.ts b/packages/common/helpers/isDefined.ts
new file mode 100644
index 000000000..7fde13451
--- /dev/null
+++ b/packages/common/helpers/isDefined.ts
@@ -0,0 +1 @@
+export const isDefined = (obj: T | null): obj is T => !!obj
diff --git a/packages/common/helpers/isValueInEnum.ts b/packages/common/helpers/isValueInEnum.ts
deleted file mode 100644
index eb5ff1d67..000000000
--- a/packages/common/helpers/isValueInEnum.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export const isValueInEnum =
- (enumType: EnumType) =>
- (value: unknown): value is EnumType =>
- Object.values(enumType).includes(value)
diff --git a/packages/common/hooks/useDebounce.ts b/packages/common/hooks/useDebounce.ts
new file mode 100644
index 000000000..0ddbe555f
--- /dev/null
+++ b/packages/common/hooks/useDebounce.ts
@@ -0,0 +1,15 @@
+import { useEffect, useState } from "react"
+
+export function useDebounce(value: T, delay?: number): T {
+ const [debouncedValue, setDebouncedValue] = useState(value)
+
+ useEffect(() => {
+ const timer = setTimeout(() => setDebouncedValue(value), delay || 500)
+
+ return () => {
+ clearTimeout(timer)
+ }
+ }, [value, delay])
+
+ return debouncedValue
+}
diff --git a/packages/common/hooks/useWindowScroll.ts b/packages/common/hooks/useWindowScroll.ts
index e2bdfa44c..fce1992cc 100644
--- a/packages/common/hooks/useWindowScroll.ts
+++ b/packages/common/hooks/useWindowScroll.ts
@@ -1 +1,3 @@
+"use client"
+
export { useWindowScroll } from "react-use"
diff --git a/packages/common/package.json b/packages/common/package.json
index 5d545169e..bfcba90b3 100644
--- a/packages/common/package.json
+++ b/packages/common/package.json
@@ -2,21 +2,19 @@
"name": "common",
"version": "0.0.0",
"devDependencies": {
- "@types/node": "^20.8.7",
- "@types/react": "^18.2.31",
+ "@types/node": "^20.11.10",
+ "@types/react": "^18.2.48",
"tsconfig": "workspace:*",
- "typescript": "^4.9.4"
+ "typescript": "^5.3.3"
},
"scripts": {
"ts:check": "tsc --noEmit"
},
"dependencies": {
- "classnames": "^2.3.2",
- "dayjs": "^1.11.7",
- "next": "13.5.6",
+ "classnames": "^2.5.1",
+ "dayjs": "^1.11.10",
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "react-use": "^17.4.0",
- "zod": "^3.20.2"
+ "react-use": "^17.5.0"
}
}
\ No newline at end of file
diff --git a/packages/db/discord/client.ts b/packages/db/discord/client.ts
index 59fb94f0a..b3e72f3ef 100644
--- a/packages/db/discord/client.ts
+++ b/packages/db/discord/client.ts
@@ -1,12 +1,11 @@
-import axios from "axios"
-
const DISCORD_API_URL = "https://discord.com/api"
export const discordApi = {
get: (discordToken: string, url: `/${string}`) =>
- axios.get(`${DISCORD_API_URL}${url}`, {
+ // TODO: validate response with zod
+ fetch(`${DISCORD_API_URL}${url}`, {
headers: {
Authorization: `Bearer ${discordToken}`,
},
- }),
+ }).then((res) => res.json() as Promise),
}
diff --git a/packages/db/discord/getDiscordProfile.ts b/packages/db/discord/getDiscordProfile.ts
index 48890f960..47c05da8d 100644
--- a/packages/db/discord/getDiscordProfile.ts
+++ b/packages/db/discord/getDiscordProfile.ts
@@ -6,11 +6,7 @@ export const getDiscordProfile = async (
discordToken: string,
): Promise | null> => {
try {
- const res = await discordApi.get(discordToken, Routes.user())
-
- if (res.status !== 200) throw new Error(res.statusText)
-
- const user = res.data
+ const user = await discordApi.get(discordToken, Routes.user())
return {
username: user.username,
diff --git a/packages/db/discord/getUserConnections.ts b/packages/db/discord/getUserConnections.ts
index 46ce502ee..268959374 100644
--- a/packages/db/discord/getUserConnections.ts
+++ b/packages/db/discord/getUserConnections.ts
@@ -6,14 +6,12 @@ export const getUserConnections = async (
discordToken: string,
): Promise => {
try {
- const res = await discordApi.get(
+ const connections = await discordApi.get(
discordToken,
Routes.userConnections(),
)
- if (res.status !== 200) throw new Error(res.statusText)
-
- return res.data
+ return connections
} catch (e) {
return null
}
diff --git a/packages/db/package.json b/packages/db/package.json
index dad5c8a71..e1a147067 100644
--- a/packages/db/package.json
+++ b/packages/db/package.json
@@ -17,22 +17,18 @@
"format": "prisma format",
"db:studio": "prisma studio",
"ts:check": "tsc --noEmit",
- "build": "prisma generate",
- "postinstall": "pnpm build",
+ "build:prod": "prisma generate",
+ "postinstall": "pnpm build:prod",
"prisma": "prisma"
},
"devDependencies": {
- "@types/react": "^18.2.31",
- "discord-api-types": "^0.37.25",
- "prisma": "^4.8.0",
+ "discord-api-types": "^0.37.67",
+ "prisma": "^5.8.1",
"tsconfig": "workspace:*",
- "typescript": "^4.9.4"
+ "typescript": "^5.3.3"
},
"dependencies": {
- "@prisma/client": "^4.8.0",
- "@supabase/supabase-js": "^1.35.7",
- "axios": "1.1.3",
- "logger": "workspace:*",
- "react": "^18.2.0"
+ "@prisma/client": "5.8.1",
+ "@supabase/supabase-js": "^1.35.7"
}
}
\ No newline at end of file
diff --git a/packages/dl-roster-images/downloadImage.ts b/packages/dl-roster-images/downloadImage.ts
index 96fa6ac28..81509b221 100644
--- a/packages/dl-roster-images/downloadImage.ts
+++ b/packages/dl-roster-images/downloadImage.ts
@@ -1,5 +1,5 @@
import { createWriteStream } from "fs"
-import Axios from "axios"
+import axios from "axios"
export const downloadImage = async (
fileUrl: string,
@@ -7,7 +7,7 @@ export const downloadImage = async (
) => {
const writer = createWriteStream(outputLocationPath)
- return Axios({
+ return axios({
method: "get",
url: fileUrl,
responseType: "stream",
diff --git a/packages/dl-roster-images/index.ts b/packages/dl-roster-images/index.ts
index 38492e5a1..116531201 100644
--- a/packages/dl-roster-images/index.ts
+++ b/packages/dl-roster-images/index.ts
@@ -1,5 +1,5 @@
import { downloadImage } from "./downloadImage"
-import { existsSync, mkdirSync, rmdirSync } from "fs"
+import { existsSync, mkdirSync, rmSync } from "fs"
import { legends } from "bhapi/legends"
import { load } from "cheerio"
import { logInfo } from "logger"
@@ -7,16 +7,16 @@ import axios from "axios"
const APP_DIR = "../../app"
const PUBLIC_DIR = `${APP_DIR}/public`
-const LEGENDS_URL = "https://www.brawlhalla.com/legends/"
+const BASE_URL = "https://www.brawlhalla.com"
const OUT_DIR = `${PUBLIC_DIR}/images/icons/roster`
-export const downloadImages = async () => {
- if (existsSync(OUT_DIR)) rmdirSync(OUT_DIR, { recursive: true })
- mkdirSync(OUT_DIR)
- mkdirSync(`${OUT_DIR}/legends`)
- mkdirSync(`${OUT_DIR}/crossovers`)
+export const downloadImages = async (type: "legends" | "crossovers") => {
+ logInfo(`Downloading ${type} roster images...`)
+ const outDir = `${OUT_DIR}/${type}`
+ if (existsSync(outDir)) rmSync(outDir, { recursive: true })
+ mkdirSync(outDir, { recursive: true })
- const { data: text } = await axios.get(LEGENDS_URL)
+ const { data: text } = await axios.get(`${BASE_URL}/${type}`)
const $ = load(text)
@@ -30,21 +30,17 @@ export const downloadImages = async () => {
}
})
.get()
- .filter(({ name, src }) => (console.log({ name, src }), name && src))
+ .filter(({ name, src }) => name && src)
- imgs.forEach((img, i) => {
+ imgs.forEach((img) => {
if (!img.src || !img.name) return
- // TODO: readd crossovers
- const isLegend = true
- const prefix = isLegend ? "legend" : "crossover"
-
- logInfo(`Downloading: ${prefix} => ${img.name}`)
+ logInfo(` => ${img.name}`)
downloadImage(
img.src,
- `${OUT_DIR}/${prefix}s/${
- isLegend
+ `${outDir}/${
+ type === "legends"
? legends.find((l) => l.bio_name === img.name)
?.legend_name_key ?? img.name
: img.name
@@ -52,7 +48,8 @@ export const downloadImages = async () => {
)
})
- logInfo("Downloaded roster images!")
+ logInfo(`Downloaded ${type} roster images!\n`)
}
-downloadImages()
+downloadImages("legends")
+downloadImages("crossovers")
diff --git a/packages/dl-roster-images/package.json b/packages/dl-roster-images/package.json
index cbf6e424a..236867b31 100644
--- a/packages/dl-roster-images/package.json
+++ b/packages/dl-roster-images/package.json
@@ -9,16 +9,16 @@
"ts:check": "tsc --noEmit"
},
"dependencies": {
- "axios": "1.1.3",
+ "axios": "^1.6.7",
"bhapi": "workspace:*",
"cheerio": "1.0.0-rc.12",
"logger": "workspace:*"
},
"devDependencies": {
- "@types/node": "^20.8.7",
- "ts-node": "^10.9.1",
+ "@types/node": "^20.11.10",
+ "ts-node": "^10.9.2",
"ts-node-dev": "^2.0.0",
"tsconfig": "workspace:*",
- "typescript": "^4.9.4"
+ "typescript": "^5.3.3"
}
}
\ No newline at end of file
diff --git a/packages/logger/package.json b/packages/logger/package.json
index 8d78b6f0f..2bc4c93ea 100644
--- a/packages/logger/package.json
+++ b/packages/logger/package.json
@@ -3,9 +3,9 @@
"version": "0.0.0",
"main": "index.ts",
"devDependencies": {
- "@types/node": "^20.8.7",
+ "@types/node": "^20.11.10",
"tsconfig": "workspace:*",
- "typescript": "^4.9.4"
+ "typescript": "^5.3.3"
},
"scripts": {
"ts:check": "tsc --noEmit"
diff --git a/packages/server/helpers/constants.ts b/packages/server/helpers/constants.ts
deleted file mode 100644
index a2205161b..000000000
--- a/packages/server/helpers/constants.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-const __DEV = process.env.NODE_ENV === "development"
-
-export const SEARCH_PLAYERS_ALIASES_PER_PAGE = 50
-export const CLANS_RANKINGS_PER_PAGE = __DEV ? 3 : 50
-export const GLOBAL_PLAYER_RANKINGS_PER_PAGE = 50
-export const GLOBAL_LEGENDS_RANKINGS_PER_PAGE = 50
-export const GLOBAL_WEAPONS_RANKINGS_PER_PAGE = 50
diff --git a/packages/server/helpers/waitForRequestTimeout.ts b/packages/server/helpers/waitForRequestTimeout.ts
deleted file mode 100644
index 4b2ede0dc..000000000
--- a/packages/server/helpers/waitForRequestTimeout.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import { logError, logInfo } from "logger"
-
-const DEFAULT_REQUEST_TIMEOUT = 1000 * 8 // 8 seconds
-
-export const waitForRequestTimeout = async (
- request: Promise,
- {
- abortController = new AbortController(),
- timeout = DEFAULT_REQUEST_TIMEOUT, // 10 seconds
- }: { abortController?: AbortController; timeout?: number } = {},
-) => {
- const fireAndForgetPromise = request.catch((error) => {
- if (error.name === "AbortError") {
- logError("Request aborted", error)
- return
- }
-
- logError("Request failed", error)
- })
-
- let timeoutId: NodeJS.Timeout
-
- const timeoutPromise = new Promise((resolve) => {
- timeoutId = setTimeout(() => {
- logInfo(`Request timed out after ${timeout}ms`)
- clearTimeout(timeoutId)
- abortController.abort()
- resolve()
- }, timeout)
- })
-
- return Promise.race([fireAndForgetPromise, timeoutPromise]).finally(() => {
- clearTimeout(timeoutId)
- })
-}
diff --git a/packages/server/mutations/updateDBPlayerData.ts b/packages/server/mutations/updateDBPlayerData.ts
index df67280c9..e0beb510a 100644
--- a/packages/server/mutations/updateDBPlayerData.ts
+++ b/packages/server/mutations/updateDBPlayerData.ts
@@ -39,8 +39,6 @@ export const sortablePlayerProps = [
"damageGadgets",
] as const satisfies readonly (keyof BHPlayerData)[]
-export type SortablePlayerProp = typeof sortablePlayerProps[number]
-
export const updateDBPlayerData = async (
playerStats: PlayerStats,
playerRanked: {
@@ -64,8 +62,8 @@ export const updateDBPlayerData = async (
falls,
suicides,
teamkos,
- damagedealt,
- damagetaken,
+ damageDealt,
+ damageTaken,
} = getLegendsAccumulativeData(legends)
const { unarmed, gadgets, throws } = getWeaponlessData(legends)
@@ -84,8 +82,8 @@ export const updateDBPlayerData = async (
rankedWins: playerRanked.wins,
tier: playerRanked.tier,
region: playerRanked.region,
- damageDealt: damagedealt,
- damageTaken: damagetaken,
+ damageDealt,
+ damageTaken,
kos,
falls,
suicides,
diff --git a/packages/server/package.json b/packages/server/package.json
index 3595a16b3..7786b2b13 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -5,20 +5,12 @@
"ts:check": "tsc --noEmit"
},
"dependencies": {
- "@tanstack/react-query": "^4.22.0",
- "@trpc/client": "10.9.0",
- "@trpc/next": "10.9.0",
- "@trpc/react-query": "10.9.0",
- "@trpc/server": "10.9.0",
"bhapi": "workspace:*",
- "common": "workspace:*",
"db": "workspace:*",
- "logger": "workspace:*",
- "web-parser": "workspace:*",
- "zod": "^3.20.2"
+ "logger": "workspace:*"
},
"devDependencies": {
- "@types/node": "^20.8.7",
+ "@types/node": "^20.11.10",
"tsconfig": "workspace:*"
}
}
\ No newline at end of file
diff --git a/packages/server/router/index.ts b/packages/server/router/index.ts
index 2a7330f6a..026661386 100644
--- a/packages/server/router/index.ts
+++ b/packages/server/router/index.ts
@@ -1,29 +1,5 @@
-import { get1v1Rankings, get2v2Rankings } from "./stats/getRankings"
-import { getBHArticles } from "./getBHArticles"
-import { getClanStats } from "./stats/getClanStats"
-import { getClansRankings } from "./stats/getClansRankings"
-import { getGlobalPlayerRankings } from "./stats/getGlobalPlayerRankings"
-import { getPlayerAliases } from "./stats/getPlayerAliases"
-import { getPlayerRanked } from "./stats/getPlayerRanked"
-import { getPlayerStats } from "./stats/getPlayerStats"
-import { getPowerRankings } from "./stats/getPowerRankings"
-import { getWeeklyRotation } from "./getWeeklyRotation"
import { router } from "../trpc"
-import { searchPlayerAlias } from "./stats/searchPlayerAlias"
-export const appRouter = router({
- get1v1Rankings,
- get2v2Rankings,
- getClansRankings,
- getPowerRankings,
- getPlayerStats,
- getPlayerRanked,
- getPlayerAliases,
- getClanStats,
- searchPlayerAlias,
- getWeeklyRotation,
- getBHArticles,
- getGlobalPlayerRankings,
-})
+export const appRouter = router({})
export type AppRouter = typeof appRouter
diff --git a/packages/server/router/stats/getClanStats.ts b/packages/server/router/stats/getClanStats.ts
deleted file mode 100644
index 05fc46de2..000000000
--- a/packages/server/router/stats/getClanStats.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-import { getClan } from "bhapi"
-import { logError, logInfo } from "logger"
-import { numericLiteralValidator } from "common/helpers/validators"
-import { publicProcedure } from "../../trpc"
-import { updateDBClanData } from "../../mutations/updateDBClanData"
-import { waitForRequestTimeout } from "../../helpers/waitForRequestTimeout"
-import { withTimeLog } from "../../helpers/withTimeLog"
-import { z } from "zod"
-
-export const getClanStats = publicProcedure //
- .input(
- z.object({
- clanId: numericLiteralValidator,
- }),
- )
- .query(
- withTimeLog(async (req) => {
- const { clanId } = req.input
- logInfo("getClanStats", req.input)
-
- const controller = new AbortController()
-
- const clan = await withTimeLog(getClan, "BHAPI:clanStats")(clanId)
-
- // // Fire and forget
- // const fireAndForget = Promise.all([
- // withTimeLog(updateDBClanData, "updateDBClanData")(
- // {
- // id: clan.clan_id.toString(),
- // name: clan.clan_name,
- // created: clan.clan_create_date,
- // xp: parseInt(clan.clan_xp),
- // },
- // {
- // abortSignal: controller.signal,
- // },
- // ).catch((e) => {
- // logError(
- // `Failed to update clan#${clan.clan_id} in database`,
- // e,
- // )
- // }),
- // // withTimeLog(updateDBPlayerAliases, "updateDBPlayerAliases")(
- // // clan.clan.map((member) => ({
- // // playerId: member.brawlhalla_id.toString(),
- // // alias: member.name,
- // // createdAt: new Date(),
- // // public: true,
- // // })),
- // // {
- // // abortSignal: controller.signal,
- // // },
- // // ).catch((e) => {
- // // logError(
- // // `Error updating player aliases for clan#${clan.clan_id}`,
- // // e,
- // // )
- // // }),
- // ])
-
- // waitForRequestTimeout(fireAndForget, {
- // abortController: controller,
- // })
-
- return clan
- }, "getClanStats"),
- )
diff --git a/packages/server/router/stats/getClansRankings.ts b/packages/server/router/stats/getClansRankings.ts
deleted file mode 100644
index 5005577d3..000000000
--- a/packages/server/router/stats/getClansRankings.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-import { CLANS_RANKINGS_PER_PAGE } from "../../helpers/constants"
-import { logInfo } from "logger"
-import { numericLiteralValidator } from "common/helpers/validators"
-import { publicProcedure } from "../../trpc"
-import { supabaseService } from "db/supabase/service"
-import { withTimeLog } from "../../helpers/withTimeLog"
-import { z } from "zod"
-import type { BHClan } from "db/generated/client"
-
-export const getClansRankings = publicProcedure
- .input(
- z.object({
- name: z.string(),
- page: numericLiteralValidator,
- }),
- )
- .query(
- withTimeLog(async (req) => {
- const { name, page } = req.input
- logInfo("getClansRankings", req.input)
-
- let query = supabaseService.from("BHClan").select("*")
-
- const cleanName = name.trim().replace(/'/g, "\\'")
-
- if (cleanName.length > 0) {
- query = query.ilike("name", `${cleanName}%`)
- } else {
- query = query.select("*")
- }
-
- const { data, error } = await query
- .order("xp", { ascending: false })
- .range(
- (page - 1) * CLANS_RANKINGS_PER_PAGE,
- page * CLANS_RANKINGS_PER_PAGE - 1,
- )
-
- if (error) {
- throw error
- }
-
- // TODO: type check this with zod
- return data
- }, "getClansRankings"),
- )
diff --git a/packages/server/router/stats/getGlobalPlayerRankings.ts b/packages/server/router/stats/getGlobalPlayerRankings.ts
deleted file mode 100644
index bf9cf10ed..000000000
--- a/packages/server/router/stats/getGlobalPlayerRankings.ts
+++ /dev/null
@@ -1,60 +0,0 @@
-import { GLOBAL_PLAYER_RANKINGS_PER_PAGE } from "../../helpers/constants"
-import { logInfo } from "logger"
-import { numericLiteralValidator } from "common/helpers/validators"
-import { publicProcedure } from "../../trpc"
-import { supabaseService } from "db/supabase/service"
-import { z } from "zod"
-import type { BHPlayerData } from "db/generated/client"
-
-export const getGlobalPlayerRankings = publicProcedure
- .input(
- z.object({
- sortBy: z.string(), // TODO: validate with zod
- page: numericLiteralValidator,
- }),
- )
- .output(
- z.array(
- z.object({
- id: z.string(),
- name: z.string(),
- tier: z.string(),
- rating: z.number(),
- peakRating: z.number(),
- region: z.string(),
- prop: z.number(),
- }),
- ),
- )
- .query(async (req) => {
- const { sortBy, page } = req.input
- logInfo("getGlobalPlayerRankings", req.input)
-
- const query = supabaseService
- .from("BHPlayerData")
- .select(`id,name,tier,rating,region,peakRating,${sortBy}`)
- .order(sortBy as keyof BHPlayerData, { ascending: false }) // TODO: validate prop with zod
-
- const { data, error } = await query.range(
- (page - 1) * GLOBAL_PLAYER_RANKINGS_PER_PAGE,
- page * GLOBAL_PLAYER_RANKINGS_PER_PAGE - 1,
- )
-
- if (error) throw error
-
- // TODO: type check this with zod
- return (
- data?.map(
- // TODO: validate prop with zod
- (playerData) => {
- const { [sortBy as keyof BHPlayerData]: prop, ...rest } =
- playerData
-
- return {
- ...(rest as BHPlayerData),
- prop: prop as number,
- }
- },
- ) ?? []
- )
- })
diff --git a/packages/server/router/stats/getPlayerAliases.ts b/packages/server/router/stats/getPlayerAliases.ts
deleted file mode 100644
index 070f7fd9c..000000000
--- a/packages/server/router/stats/getPlayerAliases.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-import { logInfo } from "logger"
-import { numericLiteralValidator } from "common/helpers/validators"
-import { publicProcedure } from "../../trpc"
-import { supabaseService } from "db/supabase/service"
-import { withTimeLog } from "../../helpers/withTimeLog"
-import { z } from "zod"
-import type { BHPlayerAlias } from "db/generated/client"
-
-export const getPlayerAliases = publicProcedure //
- .input(
- z.object({
- playerId: numericLiteralValidator,
- }),
- )
- .query(
- withTimeLog(async (req) => {
- const { playerId } = req.input
- logInfo("getPlayerAliases", req.input)
-
- const { data, error } = await supabaseService
- .from("BHPlayerAlias")
- .select("*")
- .order("createdAt", { ascending: false })
- .match({ playerId, public: true })
-
- if (error) throw error
-
- return data.map((alias) => alias.alias)
- }, "getPlayerAliases"),
- )
diff --git a/packages/server/router/stats/getPlayerRanked.ts b/packages/server/router/stats/getPlayerRanked.ts
deleted file mode 100644
index 76f058131..000000000
--- a/packages/server/router/stats/getPlayerRanked.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-import { getPlayerRanked as getPlayerRankedFn } from "bhapi"
-import { getTeamPlayers } from "bhapi/helpers/getTeamPlayers"
-import { logError, logInfo } from "logger"
-import { numericLiteralValidator } from "common/helpers/validators"
-import { publicProcedure } from "../../trpc"
-import { updateDBPlayerAliases } from "../../mutations/updateDBPlayerAliases"
-import { waitForRequestTimeout } from "../../helpers/waitForRequestTimeout"
-import { withTimeLog } from "../../helpers/withTimeLog"
-import { z } from "zod"
-import type { BHPlayerAlias } from "db/generated/client"
-
-export const getPlayerRanked = publicProcedure //
- .input(
- z.object({
- playerId: numericLiteralValidator,
- }),
- )
- .query(
- withTimeLog(async (req) => {
- const { playerId } = req.input
- logInfo("getPlayerRanked", req.input)
-
- const controller = new AbortController()
-
- const ranked = await withTimeLog(
- getPlayerRankedFn,
- "BHAPI:playerRanked",
- )(playerId)
-
- // TODO: check whole object with zod
- try {
- z.number().parse(ranked?.brawlhalla_id)
- } catch {
- throw new Error("Player ranked not found")
- }
-
- const aliases = [
- {
- id: ranked.brawlhalla_id,
- name: ranked.name,
- },
- ...(ranked["2v2"]?.map(getTeamPlayers).flat() ?? []),
- ].map(({ name, id }) => ({
- playerId: id.toString(),
- alias: name,
- createdAt: new Date(),
- public: true,
- }))
-
- // // Fire and forget
- // const fireAndForget = withTimeLog(
- // updateDBPlayerAliases,
- // "updateDBPlayerAliases",
- // )(aliases, {
- // abortSignal: controller.signal,
- // }).catch((e) => {
- // logError("Error updating player aliases", e)
- // })
-
- // waitForRequestTimeout(fireAndForget, {
- // abortController: controller,
- // })
-
- return ranked
- }, "getPlayerRanked"),
- )
diff --git a/packages/server/router/stats/getPlayerStats.ts b/packages/server/router/stats/getPlayerStats.ts
deleted file mode 100644
index 35942bfa1..000000000
--- a/packages/server/router/stats/getPlayerStats.ts
+++ /dev/null
@@ -1,77 +0,0 @@
-import { getPlayerStats as getPlayerStatsFn } from "bhapi"
-import { logError, logInfo } from "logger"
-import { numericLiteralValidator } from "common/helpers/validators"
-import { publicProcedure } from "../../trpc"
-import { updateDBClanData } from "../../mutations/updateDBClanData"
-import { updateDBPlayerAliases } from "../../mutations/updateDBPlayerAliases"
-import { waitForRequestTimeout } from "../../helpers/waitForRequestTimeout"
-import { withTimeLog } from "../../helpers/withTimeLog"
-import { z } from "zod"
-
-export const getPlayerStats = publicProcedure //
- .input(
- z.object({
- playerId: numericLiteralValidator,
- }),
- )
- .query(
- withTimeLog(async (req) => {
- const { playerId } = req.input
- logInfo("getPlayerStats", req.input)
-
- const controller = new AbortController()
-
- const stats = await withTimeLog(
- getPlayerStatsFn,
- "BHAPI:playerStats",
- )(playerId)
-
- const updateClanData = async () => {
- if (!stats.clan) return
-
- const clan = stats.clan
-
- await withTimeLog(updateDBClanData, "updateDBClanData")(
- {
- id: clan.clan_id.toString(),
- name: clan.clan_name,
- xp: parseInt(clan.clan_xp),
- },
- {
- abortSignal: controller.signal,
- },
- ).catch((e) => {
- logError(
- `Failed to update clan#${clan.clan_id} for player#${playerId} in database`,
- e,
- )
- })
- }
-
- // // Fire and forget
- // const fireAndForget = Promise.all([
- // withTimeLog(updateDBPlayerAliases, "updateDBPlayerAliases")(
- // [
- // {
- // playerId: stats.brawlhalla_id.toString(),
- // alias: stats.name,
- // createdAt: new Date(),
- // public: true,
- // },
- // ],
- // {
- // abortSignal: controller.signal,
- // },
- // ).catch((e) => {
- // logError("Error updating player aliases", e)
- // }),
- // updateClanData(),
- // ])
-
- // waitForRequestTimeout(fireAndForget, {
- // abortController: controller,
- // })
-
- return stats
- }, "getPlayerStats"),
- )
diff --git a/packages/server/router/stats/getPowerRankings.ts b/packages/server/router/stats/getPowerRankings.ts
deleted file mode 100644
index 1dc4f1ede..000000000
--- a/packages/server/router/stats/getPowerRankings.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-import { logInfo } from "logger"
-import {
- parsePowerRankingsPage,
- powerRankingsBracketValidator,
- powerRankingsRegionValidator,
-} from "web-parser/power-rankings/parsePowerRankingsPage"
-import { publicProcedure } from "../../trpc"
-import { withTimeLog } from "../../helpers/withTimeLog"
-import { z } from "zod"
-
-export const getPowerRankings = publicProcedure
- .input(
- z.object({
- bracket: powerRankingsBracketValidator,
- region: powerRankingsRegionValidator,
- }),
- )
- .query(
- withTimeLog(async (req) => {
- const { bracket, region } = req.input
- logInfo("getPowerRankings", req.input)
-
- return []
-
- // return withTimeLog(
- // parsePowerRankingsPage,
- // "parsePowerRankingsPage",
- // )(bracket ?? "1v1", region ?? "us-e")
- }, "getPowerRankings"),
- )
diff --git a/packages/server/router/stats/getRankings.ts b/packages/server/router/stats/getRankings.ts
deleted file mode 100644
index 5ca0cb477..000000000
--- a/packages/server/router/stats/getRankings.ts
+++ /dev/null
@@ -1,103 +0,0 @@
-import { getRankings } from "bhapi"
-import { logInfo } from "logger"
-import { numericLiteralValidator } from "common/helpers/validators"
-import { publicProcedure } from "../../trpc"
-import { rankedRegionValidator } from "bhapi/constants"
-import { withTimeLog } from "../../helpers/withTimeLog"
-import { z } from "zod"
-
-export const get1v1Rankings = publicProcedure //
- .input(
- z.object({
- region: rankedRegionValidator,
- page: numericLiteralValidator,
- name: z.optional(z.string()),
- }),
- )
- .query(
- withTimeLog(async (req) => {
- const { region, page, name } = req.input
- logInfo("get1v1Rankings", req.input)
-
- // const controller = new AbortController()
-
- const rankings = await withTimeLog(
- getRankings,
- "BHAPI:rankings1v1",
- )("1v1", region, page, name)
-
- // Fire and forget
- // const fireAndForget = withTimeLog(
- // updateDBPlayerAliases,
- // "updateDBPlayerAliases",
- // )(
- // rankings.map((player) => ({
- // playerId: player.brawlhalla_id.toString(),
- // alias: player.name,
- // createdAt: new Date(),
- // public: true,
- // })),
- // {
- // abortSignal: controller.signal,
- // },
- // ).catch((e) => {
- // logError("Error updating player aliases", e)
- // })
-
- // waitForRequestTimeout(fireAndForget, {
- // abortController: controller,
- // })
-
- return rankings
- }, "get1v1Rankings"),
- )
-
-export const get2v2Rankings = publicProcedure //
- .input(
- z.object({
- region: rankedRegionValidator,
- page: numericLiteralValidator,
- }),
- )
- .query(
- withTimeLog(async (req) => {
- const { region, page } = req.input
- logInfo("get2v2Rankings", req.input)
-
- // const controller = new AbortController()
-
- const rankings = await withTimeLog(
- getRankings,
- "BHAPI:rankings2v2",
- )("2v2", region, page)
-
- // Fire and forget
- // const fireAndForget = withTimeLog(
- // updateDBPlayerAliases,
- // "updateDBPlayerAliases",
- // )(
- // rankings
- // .map(getTeamPlayers)
- // .flat()
- // .map((player) => ({
- // playerId: player.id.toString(),
- // alias: player.name,
- // createdAt: new Date(),
- // public: true,
- // }))
- // .flat(),
- // {
- // abortSignal: controller.signal,
- // },
- // ).catch((e) => {
- // logError("Error updating player aliases", e)
- // })
-
- // waitForRequestTimeout(fireAndForget, {
- // abortController: controller,
- // timeout: 5000,
- // })
-
- return rankings
- }, "get2v2Rankings"),
- )
diff --git a/packages/server/router/stats/searchPlayerAlias.ts b/packages/server/router/stats/searchPlayerAlias.ts
deleted file mode 100644
index 1760891f7..000000000
--- a/packages/server/router/stats/searchPlayerAlias.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import { SEARCH_PLAYERS_ALIASES_PER_PAGE } from "../../helpers/constants"
-import { logInfo } from "logger"
-import { numericLiteralValidator } from "common/helpers/validators"
-import { publicProcedure } from "../../trpc"
-import { supabaseService } from "db/supabase/service"
-import { withTimeLog } from "../../helpers/withTimeLog"
-import { z } from "zod"
-import type { BHPlayerAlias } from "db/generated/client"
-
-export const searchPlayerAlias = publicProcedure //
- .input(
- z.object({
- alias: z.string(),
- page: numericLiteralValidator,
- }),
- )
- .query(
- withTimeLog(async (req) => {
- const { alias, page } = req.input
- logInfo("searchPlayerAlias", req.input)
-
- if (alias.length < 2) {
- return []
- }
-
- const cleanAlias = alias.trim().replace(/'/g, "\\'")
-
- const { data, error } = await supabaseService.rpc(
- "search_aliases",
- {
- search: cleanAlias,
- aliases_offset:
- (page - 1) * SEARCH_PLAYERS_ALIASES_PER_PAGE,
- aliases_per_page: SEARCH_PLAYERS_ALIASES_PER_PAGE,
- },
- )
-
- if (error) {
- throw error
- }
-
- const aliases = data?.reduce(
- (acc, alias) => {
- const player = acc.find(
- (a) => a.playerId === alias.playerId,
- )
- if (!player) {
- acc.push({
- playerId: alias.playerId,
- mainAlias: alias.alias,
- otherAliases: [],
- })
-
- return acc
- }
-
- if (player.mainAlias !== alias.alias) {
- player.otherAliases.push(alias.alias)
- }
-
- return acc
- },
- [] as {
- playerId: string
- mainAlias: string
- otherAliases: string[]
- }[],
- )
-
- return aliases ?? []
- }, "searchPlayerAlias"),
- )
diff --git a/packages/ui/base/AnimatedLogo.tsx b/packages/ui/base/AnimatedLogo.tsx
index ad5cc3838..fc4f655a5 100644
--- a/packages/ui/base/AnimatedLogo.tsx
+++ b/packages/ui/base/AnimatedLogo.tsx
@@ -1,3 +1,5 @@
+"use client"
+
import { keyframes, styled } from "../theme"
const centerAnimation = keyframes({
diff --git a/packages/ui/base/AppLink.tsx b/packages/ui/base/AppLink.tsx
deleted file mode 100644
index c64c6470e..000000000
--- a/packages/ui/base/AppLink.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-// eslint-disable-next-line no-restricted-imports
-import Link from "next/link"
-import type { AnchorHTMLAttributes } from "react"
-
-type AppLinkProps = AnchorHTMLAttributes & { href: string }
-
-export const AppLink = ({ href, children, ...props }: AppLinkProps) => {
- return (
-
- {children}
-
- )
-}
diff --git a/packages/ui/base/Button.tsx b/packages/ui/base/Button.tsx
index 660b60b1e..fec85845b 100644
--- a/packages/ui/base/Button.tsx
+++ b/packages/ui/base/Button.tsx
@@ -1,11 +1,11 @@
-import { AppLink } from "./AppLink"
import { cn } from "common/helpers/classnames"
+import Link from "next/link"
import type { AnchorHTMLAttributes, ButtonHTMLAttributes } from "react"
type ButtonType = "a" | "button"
type ButtonStyle = "primary" | "outline"
-export type ButtonProps = {
+type ButtonProps = {
as?: Type
buttonStyle?: ButtonStyle
large?: boolean
@@ -43,7 +43,7 @@ export const Button = (
const { href, ...rest } = buttonProps
return (
// @ts-expect-error spread type isn't narrowed correctly
-
+
)
}
// @ts-expect-error spread type isnt narrowed correctly
diff --git a/packages/ui/base/Kbd.tsx b/packages/ui/base/Kbd.tsx
index 696fb7a71..d7ebeb8d6 100644
--- a/packages/ui/base/Kbd.tsx
+++ b/packages/ui/base/Kbd.tsx
@@ -10,7 +10,7 @@ type KbdProps = {
const kbdClassName = css({
minWidth: "1.25rem",
height: "1.25rem",
-})()
+})().className
export const Kbd = ({ children, className }: KbdProps) => (
{
- const router = useRouter()
-
- const [loading, setLoading] = useState(false)
-
- useEffect(() => {
- const handleStart = () => {
- NProgress.start()
- setLoading(true)
- }
- const handleComplete = () => {
- NProgress.done()
- setLoading(false)
- }
-
- router.events.on("routeChangeStart", handleStart)
- router.events.on("routeChangeComplete", handleComplete)
- router.events.on("routeChangeError", handleComplete)
-
- return () => {
- router.events.off("routeChangeStart", handleStart)
- router.events.off("routeChangeComplete", handleComplete)
- router.events.off("routeChangeError", handleComplete)
- }
- }, [router.events])
-
- if (!loading) return null
-
- return (
-
- {children}
-
- )
-}
diff --git a/packages/ui/base/Pagination.tsx b/packages/ui/base/Pagination.tsx
index 81cb50828..903a30a6b 100644
--- a/packages/ui/base/Pagination.tsx
+++ b/packages/ui/base/Pagination.tsx
@@ -4,26 +4,29 @@ import {
HiChevronRight,
} from "react-icons/hi"
import { Paginator } from "./Paginator"
+import { isDefined } from "common/helpers/isDefined"
type PaginationProps = {
firstPage?: number
lastPage?: number
currentPage: number
- getPageHref: (page: string) => string
+ baseHref: string
span?: number
className?: string
}
export const Pagination = ({
currentPage,
- getPageHref,
+ baseHref,
firstPage = 0,
span = 1,
className,
}: PaginationProps) => {
+ const getPageHref = (page: string) => `${baseHref}/${page}`
+
const pages = [
{
- page: firstPage.toString(),
+ id: firstPage.toString(),
label: (
{currentPage !== firstPage && (
@@ -32,6 +35,7 @@ export const Pagination = ({
top
),
+ href: getPageHref(firstPage.toString()),
},
...Array.from({ length: 2 * span + 1 }, (_, i) => {
const page = currentPage + i - span
@@ -54,15 +58,16 @@ export const Pagination = ({
)
return {
- page: page.toString(),
+ id: page.toString(),
label,
+ href: getPageHref(page.toString()),
}
}),
- ]
+ ].filter(isDefined)
+
return (
diff --git a/packages/ui/base/Paginator.tsx b/packages/ui/base/Paginator.tsx
index ba62b2d95..2365a75be 100644
--- a/packages/ui/base/Paginator.tsx
+++ b/packages/ui/base/Paginator.tsx
@@ -1,30 +1,43 @@
-import { AppLink } from "./AppLink"
+"use client"
+
+import { type ReactNode } from "react"
import { Select } from "./Select"
import { cn } from "common/helpers/classnames"
-import { useRouter } from "next/router"
-import type { ReactNode } from "react"
+import { usePathname, useRouter } from "next/navigation"
+import Link from "next/link"
-export type PaginatorPage = {
- page: string
+type PaginatorPage = {
+ id: string
label?: ReactNode
+ href: string
+ exact?: boolean
}
type PaginatorProps = {
- pages: (PaginatorPage | null)[]
- currentPage: string
- getPageHref: (page: string) => string
+ pages: PaginatorPage[]
className?: string
responsive?: boolean
+ currentPage?: string
}
export const Paginator = ({
pages,
- currentPage,
- getPageHref,
className,
responsive,
+ currentPage: page,
}: PaginatorProps) => {
const router = useRouter()
+ const pathname = usePathname()
+
+ if (pages.length === 0) {
+ return null
+ }
+
+ const currentPage =
+ page ??
+ pages.find(({ href, exact }) =>
+ exact ? href === pathname : pathname.startsWith(href),
+ )?.id
return (
<>
@@ -34,15 +47,15 @@ export const Paginator = ({
hidden: !responsive,
})}
onChange={(page) => {
- router.push(getPageHref(page))
+ const href = pages.find(({ id }) => id === page)?.href
+ if (!href) return
+
+ router.push(href)
}}
- value={currentPage}
- options={pages.map((page) => ({
- label:
- typeof page?.label === "string"
- ? page.label
- : page?.page ?? "",
- value: page?.page ?? "",
+ value={currentPage || pages[0].id}
+ options={pages.map(({ id, label }) => ({
+ value: id,
+ label: (typeof label === "string" && label) || id,
}))}
/>
- {pages.map((pageData) => {
- if (!pageData) return null
-
- const { page, label } = pageData
-
+ {pages.map(({ id, label, href }) => {
return (
-
- {label ?? page}
-
+ {label ?? id}
+
)
})}
diff --git a/packages/ui/base/Progress.tsx b/packages/ui/base/Progress.tsx
index 652379a79..7325f7832 100644
--- a/packages/ui/base/Progress.tsx
+++ b/packages/ui/base/Progress.tsx
@@ -1,3 +1,5 @@
+"use client"
+
import { Indicator as ProgressIndicator, Root } from "@radix-ui/react-progress"
type ProgressProps = {
diff --git a/packages/ui/base/Select.tsx b/packages/ui/base/Select.tsx
index 404044e3e..d4e70888f 100644
--- a/packages/ui/base/Select.tsx
+++ b/packages/ui/base/Select.tsx
@@ -18,6 +18,7 @@ type SelectProps = {
label?: string
}
+// TODO: switch Select to shadcn ui
export const Select = ({
onChange,
options,
diff --git a/packages/ui/base/Spinner.tsx b/packages/ui/base/Spinner.tsx
deleted file mode 100644
index 291331d19..000000000
--- a/packages/ui/base/Spinner.tsx
+++ /dev/null
@@ -1,75 +0,0 @@
-import { cn } from "common/helpers/classnames"
-import { css, keyframes, styled } from "../theme"
-
-const puff = [
- keyframes({
- "0%": { transform: "scale(0)" },
- "100%": { transform: "scale(1.0)" },
- }),
- keyframes({
- "0%": { opacity: 1 },
- "100%": { opacity: 0 },
- }),
-]
-
-type SpinnerProps = {
- className?: string
- size?: string
- speedMultiplier?: number
- color?: string
-}
-
-export const Spinner = ({
- className,
- size = "2rem",
- speedMultiplier = 1,
- color = "white",
-}: SpinnerProps) => {
- const containerClassName = css({
- height: size,
- width: size,
- })()
-
- const Puff = styled("span", {
- position: "absolute",
- height: size,
- width: size,
- border: `thick solid ${color}`,
- borderRadius: `50%`,
- opacity: 1,
- top: 0,
- left: 0,
- animationFillMode: "both",
- animation: `${puff[0]}, ${puff[1]}`,
- animationDuration: `${2 / speedMultiplier}s`,
- animationIterationCount: "infinite",
- animationTimingFunction:
- "cubic-bezier(0.165, 0.84, 0.44, 1), cubic-bezier(0.3, 0.61, 0.355, 1)",
- variants: {
- first: {
- true: {
- animationDelay: "0s",
- },
- false: {
- animationDelay: "-1s",
- },
- },
- },
- defaultVariants: {
- first: false,
- },
- })
-
- return (
-
- )
-}
diff --git a/packages/ui/base/Tooltip.tsx b/packages/ui/base/Tooltip.tsx
index 80653f345..da6e5952c 100644
--- a/packages/ui/base/Tooltip.tsx
+++ b/packages/ui/base/Tooltip.tsx
@@ -1,3 +1,5 @@
+"use client"
+
import * as RadixTooltip from "@radix-ui/react-tooltip"
import { cn } from "common/helpers/classnames"
import type { ReactNode } from "react"
diff --git a/packages/ui/icons.tsx b/packages/ui/icons.tsx
index ab5ef596d..c17ee6660 100644
--- a/packages/ui/icons.tsx
+++ b/packages/ui/icons.tsx
@@ -1,8 +1,12 @@
+import { FiTarget } from "react-icons/fi"
import {
HiArrowSmRight,
+ HiChartBar,
HiChevronDoubleUp,
HiChevronDown,
HiChevronUp,
+ HiFire,
+ HiHand,
HiLightningBolt,
HiMenu,
HiOutlineInformationCircle,
@@ -11,8 +15,9 @@ import {
HiShare,
HiSortAscending,
HiSortDescending,
- HiUser,
+ HiUserAdd,
HiUserGroup,
+ HiUserRemove,
HiUsers,
HiX,
} from "react-icons/hi"
@@ -31,12 +36,19 @@ export const ShareIcon = HiShare
export const SortAscendingIcon = HiSortAscending
export const SortDescendingIcon = HiSortDescending
export const ArrowSmRightIcon = HiArrowSmRight
-export const UserIcon = HiUser
// Stats
export const Rankings1v1Icon = HiChevronDoubleUp
export const Rankings2v2Icon = HiUsers
export const RankingsPowerIcon = HiLightningBolt
+export const GeneralStatsIcon = HiChartBar
+export const UnarmedIcon = HiHand
+export const WeaponThrowsIcon = FiTarget
+export const GadgetsIcon = HiFire
+
+export const AddFavoriteIcon = HiUserAdd
+export const RemoveFavoriteIcon = HiUserRemove
+
// export const FavoritesIcon =
export const ClanIcon = HiUserGroup
diff --git a/packages/ui/package.json b/packages/ui/package.json
index a242f1482..d8004126a 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -1,44 +1,26 @@
{
- "name": "ui",
- "version": "0.0.0",
- "main": "./index.tsx",
- "types": "./index.tsx",
- "devDependencies": {
- "@types/nprogress": "^0.2.0",
- "@types/react": "^18.2.31",
- "@types/react-dom": "^18.0.10",
- "@types/react-table": "^7.7.13",
- "autoprefixer": "^10.4.13",
- "postcss": "^8.4.20",
- "tailwindcss": "^3.2.4",
- "tsconfig": "workspace:*",
- "typescript": "^4.9.4"
- },
- "dependencies": {
- "@radix-ui/colors": "^0.1.8",
- "@radix-ui/react-collapsible": "^1.0.1",
- "@radix-ui/react-dialog": "^1.0.2",
- "@radix-ui/react-dropdown-menu": "^2.0.1",
- "@radix-ui/react-navigation-menu": "^1.1.1",
- "@radix-ui/react-popover": "^1.0.2",
- "@radix-ui/react-progress": "^1.0.1",
- "@radix-ui/react-tooltip": "^1.0.2",
- "@stitches/react": "^1.2.8",
- "bhapi": "workspace:*",
- "common": "workspace:*",
- "db": "workspace:*",
- "kbar": "0.1.0-beta.39",
- "logger": "workspace:*",
- "next": "13.5.6",
- "nprogress": "^0.2.0",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
- "react-icons": "^4.7.1",
- "react-phone-input-2": "^2.15.1",
- "react-select": "^5.7.0",
- "react-table": "^7.8.0"
- },
- "scripts": {
- "ts:check": "tsc --noEmit"
- }
+ "name": "ui",
+ "version": "0.0.0",
+ "main": "./index.tsx",
+ "types": "./index.tsx",
+ "devDependencies": {
+ "@types/react": "^18.2.48",
+ "@types/react-dom": "^18.2.18",
+ "tsconfig": "workspace:*",
+ "typescript": "^5.3.3"
+ },
+ "dependencies": {
+ "@radix-ui/react-progress": "^1.0.3",
+ "@radix-ui/react-tooltip": "^1.0.7",
+ "@stitches/react": "^1.2.8",
+ "common": "workspace:*",
+ "next": "14.1.0",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "react-icons": "^5.0.1",
+ "react-select": "^5.8.0"
+ },
+ "scripts": {
+ "ts:check": "tsc --noEmit"
+ }
}
\ No newline at end of file
diff --git a/packages/ui/theme/index.ts b/packages/ui/theme/index.ts
index ffb636c84..13e410307 100644
--- a/packages/ui/theme/index.ts
+++ b/packages/ui/theme/index.ts
@@ -15,15 +15,3 @@ export const {
colors,
},
})
-
-const setColor =
- (prop: string) => (color: keyof typeof theme["colors"], state?: string) =>
- css(
- state
- ? { [state]: { [prop]: theme.colors[color] } }
- : { [prop]: theme.colors[color] },
- )()
-
-export const bg = setColor("backgroundColor")
-export const text = setColor("color")
-export const border = setColor("borderColor")
diff --git a/packages/web-parser/bh-articles/bhArticlesMock.ts b/packages/web-parser/bh-articles/bhArticlesMock.ts
deleted file mode 100644
index 8a014c174..000000000
--- a/packages/web-parser/bh-articles/bhArticlesMock.ts
+++ /dev/null
@@ -1,65 +0,0 @@
-import type { BHArticle } from "./parseBHArticlesPage"
-
-export const bhArticlesMock: BHArticle[] = [
- {
- id: "post-22593",
- title: "New Test Features, Emoji Skins, and More! – Patch 6.06",
- href: "https://www.brawlhalla.com/news/new-test-features-emoji-skins-and-more-patch-6-06/",
- thumb: "https://www.brawlhalla.com/c/uploads/2022/04/606a_400x225.jpg",
- tags: [
- {
- label: "PATCH NOTES",
- type: "patch-notes",
- },
- {
- label: "WEEKLY ROTATION",
- type: "weekly-rotation",
- },
- ],
- date: "Apr 13, 2022",
- content:
- "This brand new update brings the newest cosmetic items to Mallhalla, including for the first time ever new Emoji Skins! These are alternate Skins for Emojis that feature different Legends. Also check out the new Skin...",
- },
- {
- id: "post-22326",
- title: "New Legend: Arcadia, the Faerie Queen – Patch 6.05",
- href: "https://www.brawlhalla.com/news/new-legend-arcadia-the-faerie-queen-patch-6-05/",
- thumb: "https://www.brawlhalla.com/c/uploads/2022/03/605pn1_400x225.jpg",
- tags: [
- {
- label: "LEGENDS",
- type: "legends",
- },
- {
- label: "PATCH NOTES",
- type: "patch-notes",
- },
- {
- label: "WEEKLY ROTATION",
- type: "weekly-rotation",
- },
- ],
- date: "Mar 16, 2022",
- content:
- "Chosen by Orma, the singing Greatsword, Arcadia, the Faerie Queen, arrives in Valhalla with her great war beetle, Domo, and Spear for the ultimate battle. Arcadia is the 55th and newest Legend and will be joining the...",
- },
- {
- id: "post-22139",
- title: "Brawlhalla x G.I. Joe Crossover Starts Today! – Patch 6.04",
- href: "https://www.brawlhalla.com/news/brawlhalla-x-g-i-joe-crossover-starts-today-patch-6-04/",
- thumb: "https://www.brawlhalla.com/c/uploads/2022/02/604pn_400x225.jpg",
- tags: [
- {
- label: "PATCH NOTES",
- type: "patch-notes",
- },
- {
- label: "WEEKLY ROTATION",
- type: "weekly-rotation",
- },
- ],
- date: "Feb 23, 2022",
- content:
- "Snake Eyes, the original commando, and Storm Shadow, his rivaled brother-in-arms, clash as they duel in the Grand Tournament! The newest Epic Crossovers feature custom Signature effects, two new Weapon Skins each,...",
- },
-]
diff --git a/packages/web-parser/bh-articles/dev.ts b/packages/web-parser/bh-articles/dev.ts
deleted file mode 100644
index c71d8adb0..000000000
--- a/packages/web-parser/bh-articles/dev.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-import { logInfo } from "logger"
-import { parseBHArticlesPage } from "./parseBHArticlesPage"
-
-parseBHArticlesPage(1, "patch-notes").then((data) => logInfo(data[0]))
diff --git a/packages/web-parser/bh-articles/parseBHArticlesPage.ts b/packages/web-parser/bh-articles/parseBHArticlesPage.ts
deleted file mode 100644
index 53e76b656..000000000
--- a/packages/web-parser/bh-articles/parseBHArticlesPage.ts
+++ /dev/null
@@ -1,75 +0,0 @@
-import { bhArticlesMock } from "./bhArticlesMock"
-import { load } from "cheerio"
-import { z } from "zod"
-import axios from "axios"
-
-const __DEV = process.env.NODE_ENV === "development"
-
-const BH_ARTICLES_BASE_URL = "https://www.brawlhalla.com/news"
-
-export type BHArticle = {
- id: string
- title: string
- href: string
- thumb: string
- tags: {
- label: string
- type: string
- }[]
- date: string
- content: string
-}
-
-export const bhArticleTypeValidator = z.optional(
- z.union([
- z.literal(""),
- z.literal("weekly-rotation"),
- z.literal("patch-notes"),
- ]),
-)
-
-export type BHArticleType = z.infer
-
-export const parseBHArticlesPage = async (
- pageId: number,
- articleType?: BHArticleType,
-): Promise => {
- if (__DEV) return bhArticlesMock
-
- const page = `${BH_ARTICLES_BASE_URL}/${
- articleType ? `${articleType}/` : ""
- }page/${pageId}`
- const { data } = await axios.get(page)
-
- const $ = load(data)
-
- return $("article.post.has-post-thumbnail")
- .map((_, el) => {
- const $article = $(el)
- const $title = $article.find("h2.entry-title")
- const $link = $title.find("a")
- const $thumb = $article.find(".entry-featured-image-url img")
- const $tags = $article.find("p.post-meta a")
- const $date = $article.find("p.post-meta span.published")
- const $content = $article.find(".post-content-inner")
-
- return {
- id: $article.attr("id") ?? "",
- title: $title.text(),
- href: $link.attr("href") ?? "",
- thumb: $thumb.attr("src") ?? "",
- tags: $tags
- .map((_, el) => {
- const label = $(el).text()
- return {
- label,
- type: label.replace(/\s/g, "-").toLowerCase(),
- }
- })
- .get(),
- date: $date.text(),
- content: $content.text(),
- }
- })
- .get()
-}
diff --git a/packages/web-parser/common/index.ts b/packages/web-parser/common/index.ts
index 11debeda4..9b22bff9d 100644
--- a/packages/web-parser/common/index.ts
+++ b/packages/web-parser/common/index.ts
@@ -1,8 +1,7 @@
import { legends } from "bhapi/legends"
import { load as loadHtml } from "cheerio"
-import { logError, logInfo } from "logger"
+import { logError } from "logger"
import { z } from "zod"
-import axios from "axios"
const BRAWLHALLA_GRAPHQL_API_URL = "https://cms.brawlhalla.com/graphql"
const BRAWLHALLA_WP_API_URL = "https://cms.brawlhalla.com/wp-json/wp/v2"
@@ -14,17 +13,18 @@ const BRAWLHALLA_GRAPHQL_API_HEADERS = {
const getBrawlhallaGraphQLAPI = async (
query: string,
variables?: Record,
+ schema?: z.Schema,
): Promise => {
- const { data } = await axios.post(
- BRAWLHALLA_GRAPHQL_API_URL,
- {
+ const data = await fetch(BRAWLHALLA_GRAPHQL_API_URL, {
+ method: "POST",
+ headers: BRAWLHALLA_GRAPHQL_API_HEADERS,
+ body: JSON.stringify({
query,
variables,
- },
- {
- headers: BRAWLHALLA_GRAPHQL_API_HEADERS,
- },
- )
+ }),
+ })
+ .then((res) => res.json())
+ .then((res) => (schema ? schema.parse(res) : res))
return data
}
@@ -101,46 +101,52 @@ export const getBrawlhallaArticles = async (
}
}`
- const { data } = await getBrawlhallaGraphQLAPI<{
- data: {
- posts: {
- nodes: {
- title: string
- slug: string
- dateGmt: string
- excerpt: string
- categories: {
- nodes: {
- name: string
- slug: string
- }[]
- }
- featuredImage: {
- node: {
- sourceUrl: string
- mediaDetails: {
- height: number
- width: number
- sizes: {
- name: string
- mimeType: string
- sourceUrl: string
- width: number
- height: number
- }[]
- }
- }
- }
- }[]
- pageInfo: {
- endCursor: string
- }
- }
- }
- }>(query, {
- ...defaultBrawlhallaArticleVariables,
- ...variables,
- })
+ const { data } = await getBrawlhallaGraphQLAPI(
+ query,
+ {
+ ...defaultBrawlhallaArticleVariables,
+ ...variables,
+ },
+ z.object({
+ data: z.object({
+ posts: z.object({
+ nodes: z.array(
+ z.object({
+ title: z.string(),
+ slug: z.string(),
+ dateGmt: z.string(),
+ excerpt: z.string(),
+ categories: z.object({
+ nodes: z.array(
+ z.object({
+ name: z.string(),
+ slug: z.string(),
+ }),
+ ),
+ }),
+ featuredImage: z.object({
+ node: z.object({
+ sourceUrl: z.string(),
+ mediaDetails: z.object({
+ sizes: z.array(
+ z.object({
+ name: z.string(),
+ mimeType: z.string(),
+ sourceUrl: z.string(),
+ }),
+ ),
+ }),
+ }),
+ }),
+ }),
+ ),
+ pageInfo: z.object({
+ endCursor: z.string(),
+ }),
+ }),
+ }),
+ }),
+ )
return data.posts.nodes.map((node) => ({
title: node.title,
@@ -189,8 +195,6 @@ export const getWeeklyRotation = async () => {
// Select all list items within the following the found paragraph
const legendsListItems = legendsList.find("li")
- logInfo("getWeeklyRotation", `Found ${legendsListItems.length} list items`)
-
// Extract the legend names
const weeklyRotation = legendsListItems
.map((index, element) => {
@@ -211,56 +215,65 @@ export const getWeeklyRotation = async () => {
const getBrawlhallaArticle = async (slug: string) => {
const url = `${BRAWLHALLA_WP_API_URL}/posts?_embed&slug=${slug}`
- const { data } = await axios.get<
- {
- id: number
- date: string
- date_gmt: string
- guid: {
- rendered: string
- }
- modified: string
- modified_gmt: string
- slug: string
- status: string
- type: string
- link: string
- title: {
- rendered: string
- }
- content: {
- rendered: string
- protected: boolean
- }
- yoast_head_json: {
- title: string
- canonical: string
- og_title: string
- og_description: string
- og_url: string
- og_site_name: string
- article_published_time: string
- article_modified_time: string
- og_image: {
- width: number
- height: number
- url: string
- type: string
- }[]
- }
- _embedded: {
- "wp:term": [
- {
- id: number
- name: string
- slug: string
- }[],
- ]
- }
- }[]
- >(url)
-
- const [post] = data
+ const post = await fetch(url)
+ .then((res) => res.json())
+ .then((res) =>
+ z
+ .array(
+ z.object({
+ id: z.number(),
+ date: z.string(),
+ date_gmt: z.string(),
+ guid: z.object({
+ rendered: z.string(),
+ }),
+ modified: z.string(),
+ modified_gmt: z.string(),
+ slug: z.string(),
+ status: z.string(),
+ type: z.string(),
+ link: z.string(),
+ title: z.object({
+ rendered: z.string(),
+ }),
+ content: z.object({
+ rendered: z.string(),
+ protected: z.boolean(),
+ }),
+ yoast_head_json: z.object({
+ title: z.string(),
+ canonical: z.string(),
+ og_title: z.string(),
+ og_description: z.string(),
+ og_url: z.string(),
+ og_site_name: z.string(),
+ article_published_time: z.string(),
+ article_modified_time: z.string(),
+ og_image: z.array(
+ z.object({
+ width: z.number(),
+ height: z.number(),
+ url: z.string(),
+ type: z.string(),
+ }),
+ ),
+ }),
+ _embedded: z.object({
+ "wp:term": z.array(
+ z.array(
+ z.object({
+ id: z.number(),
+ name: z.string(),
+ slug: z.string(),
+ }),
+ ),
+ ),
+ }),
+ }),
+ )
+ .parse(res),
+ )
+ .then((res) => res[0])
return {
title: post.yoast_head_json.title,
diff --git a/packages/web-parser/package.json b/packages/web-parser/package.json
index 8c393405b..7ced9b7b1 100644
--- a/packages/web-parser/package.json
+++ b/packages/web-parser/package.json
@@ -7,20 +7,19 @@
"parse-bh-articles:dev": "tsnd --respawn ./bh-articles/dev.ts",
"parse-pr:dev": "tsnd --respawn ./power-rankings/dev.ts",
"parse-weekly-rot:dev": "tsnd --respawn ./weekly-rotation/dev.ts",
+ "new-api:dev": "tsnd --respawn ./common/dev.ts",
"ts:check": "tsc --noEmit"
},
"dependencies": {
- "axios": "1.1.3",
"bhapi": "workspace:*",
"cheerio": "1.0.0-rc.12",
"logger": "workspace:*",
- "zod": "^3.20.2"
+ "zod": "^3.22.4"
},
"devDependencies": {
- "@types/node": "^20.8.7",
- "ts-node": "^10.9.1",
+ "@types/node": "^20.11.10",
"ts-node-dev": "^2.0.0",
"tsconfig": "workspace:*",
- "typescript": "^4.9.4"
+ "typescript": "^5.3.3"
}
}
\ No newline at end of file
diff --git a/packages/web-parser/power-rankings/dev.ts b/packages/web-parser/power-rankings/dev.ts
deleted file mode 100644
index bbc0195a2..000000000
--- a/packages/web-parser/power-rankings/dev.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-import { logInfo } from "logger"
-import { parsePowerRankingsPage } from "./parsePowerRankingsPage"
-
-parsePowerRankingsPage("2v2", "us-e").then((data) => logInfo(data[0]))
diff --git a/packages/web-parser/power-rankings/parsePowerRankingsPage.ts b/packages/web-parser/power-rankings/parsePowerRankingsPage.ts
deleted file mode 100644
index 52f559f62..000000000
--- a/packages/web-parser/power-rankings/parsePowerRankingsPage.ts
+++ /dev/null
@@ -1,86 +0,0 @@
-import { load } from "cheerio"
-import { powerRankingsMock } from "./powerRankingsMock"
-import { z } from "zod"
-import axios from "axios"
-import type { Bracket } from "bhapi/types"
-
-const __DEV = process.env.NODE_ENV === "development"
-
-const PR_BASE_URL = "https://www.brawlhalla.com/rankings/power"
-
-export type PR = {
- rank: number
- name: string
- earnings: string
- t1: number
- t2: number
- t3: number
- t8: number
- t32: number
- socials: {
- twitter?: string
- twitch?: string
- }
-}
-
-export const powerRankingsBracketValidator = z.union([
- z.literal("1v1"),
- z.literal("2v2"),
-])
-
-export type PowerRankingsBracket = z.infer
-
-export const powerRankingsRegionValidator = z.union([
- z.literal("us-e"),
- z.literal("eu"),
- z.literal("sea"),
- z.literal("brz"),
- z.literal("aus"),
-])
-
-export type PowerRankingsRegion = z.infer
-
-export const parsePowerRankingsPage = async (
- bracket: Bracket,
- region: "us-e" | "eu" | "sea" | "brz" | "aus",
-): Promise => {
- if (__DEV) return powerRankingsMock
-
- const page = `${PR_BASE_URL}/${bracket}/${region}`
- const { data } = await axios.get(page)
-
- const $ = load(data)
-
- return $("tr")
- .not("#rheader")
- .map((_, el) => {
- const $row = $(el)
- const [, rank, socials, name, earnings, t8, t32, t1, t2, t3] = $row
- .children()
- .toArray()
-
- return {
- rank: parseInt($(rank).text(), 10),
- name: $(name).text(),
- earnings: $(earnings).text(),
- t1: parseInt($(t1).text(), 10),
- t2: parseInt($(t2).text(), 10),
- t3: parseInt($(t3).text(), 10),
- t8: parseInt($(t8).text(), 10),
- t32: parseInt($(t32).text(), 10),
- socials: {
- twitter: $(socials)
- .find("img[src*='ranktwitter']")
- ?.parent()
- .attr("href")
- ?.replace("https://twitter.com/", ""),
- twitch: $(socials)
- .find("img[src*='ranktwitch']")
- ?.parent()
- .attr("href")
- ?.replace("https://twitch.tv/", ""),
- },
- }
- })
- .get()
-}
diff --git a/packages/web-parser/power-rankings/powerRankingsMock.ts b/packages/web-parser/power-rankings/powerRankingsMock.ts
deleted file mode 100644
index f4ca37adf..000000000
--- a/packages/web-parser/power-rankings/powerRankingsMock.ts
+++ /dev/null
@@ -1,356 +0,0 @@
-import type { PR } from "./parsePowerRankingsPage"
-
-export const powerRankingsMock: PR[] = [
- {
- rank: 1,
- name: "acno?",
- earnings: "$95,614.00",
- t1: 17,
- t2: 3,
- t3: 1,
- t8: 23,
- t32: 24,
- socials: { twitter: "AcnoBH", twitch: "TPAcno" },
- },
- {
- rank: 1,
- name: "Blaze",
- earnings: "$50,209.50",
- t1: 17,
- t2: 4,
- t3: 0,
- t8: 26,
- t32: 31,
- socials: { twitter: "BlazeBH_", twitch: "BlazeBH_" },
- },
- {
- rank: 3,
- name: "simpLe",
- earnings: "$66,680.00",
- t1: 8,
- t2: 12,
- t3: 3,
- t8: 28,
- t32: 30,
- socials: { twitter: "simpLetastico", twitch: "simpletastico" },
- },
- {
- rank: 4,
- name: "hysen",
- earnings: "$30,664.17",
- t1: 0,
- t2: 7,
- t3: 5,
- t8: 19,
- t32: 27,
- socials: { twitter: "Hysennnn", twitch: "Hysennnn" },
- },
- {
- rank: 5,
- name: "TM.",
- earnings: "$6,105.00",
- t1: 0,
- t2: 2,
- t3: 0,
- t8: 8,
- t32: 20,
- socials: { twitch: "TM_bh" },
- },
- {
- rank: 6,
- name: "Fozey",
- earnings: "$12,518.40",
- t1: 0,
- t2: 2,
- t3: 7,
- t8: 19,
- t32: 31,
- socials: { twitter: "Fozeyxd", twitch: "fozeyxd" },
- },
- {
- rank: 7,
- name: "Swata",
- earnings: "$26,180.00",
- t1: 0,
- t2: 1,
- t3: 1,
- t8: 7,
- t32: 22,
- socials: { twitter: "Swaata" },
- },
- {
- rank: 8,
- name: "Macheeeete",
- earnings: "$25,220.00",
- t1: 0,
- t2: 2,
- t3: 8,
- t8: 21,
- t32: 31,
- socials: { twitter: "macheeeete", twitch: "Macheeeete" },
- },
- {
- rank: 9,
- name: "VipR3",
- earnings: "$32,847.50",
- t1: 2,
- t2: 6,
- t3: 5,
- t8: 33,
- t32: 45,
- socials: { twitter: "The_VipR3", twitch: "VipR3" },
- },
- {
- rank: 10,
- name: "Delta",
- earnings: "$4,150.00",
- t1: 0,
- t2: 0,
- t3: 0,
- t8: 3,
- t32: 8,
- socials: { twitter: "HazerDelta", twitch: "hazer_deltabh" },
- },
- {
- rank: 11,
- name: "Spyrox",
- earnings: "$1,720.00",
- t1: 0,
- t2: 0,
- t3: 0,
- t8: 3,
- t32: 12,
- socials: {},
- },
- {
- rank: 12,
- name: "Koko",
- earnings: "$3,000.00",
- t1: 0,
- t2: 0,
- t3: 0,
- t8: 2,
- t32: 5,
- socials: { twitter: "KebabKoko", twitch: "KokoN4" },
- },
- {
- rank: 13,
- name: "Sarme",
- earnings: "$5,000.00",
- t1: 0,
- t2: 0,
- t3: 0,
- t8: 2,
- t32: 11,
- socials: { twitter: "SarmeBH", twitch: "sarme_bh" },
- },
- {
- rank: 14,
- name: "TheNinja729",
- earnings: "$20,754.50",
- t1: 1,
- t2: 2,
- t3: 4,
- t8: 18,
- t32: 32,
- socials: { twitter: "TheNinja729" },
- },
- {
- rank: 14,
- name: "Pavelski",
- earnings: "$46,994.00",
- t1: 0,
- t2: 2,
- t3: 4,
- t8: 18,
- t32: 30,
- socials: { twitter: "PavelskiBH", twitch: "PavelskiBH" },
- },
- {
- rank: 16,
- name: "Blew",
- earnings: "$40,040.00",
- t1: 8,
- t2: 3,
- t3: 2,
- t8: 27,
- t32: 36,
- socials: { twitter: "RealBlew", twitch: "Blews" },
- },
- {
- rank: 17,
- name: "Solarson",
- earnings: "$3,000.00",
- t1: 0,
- t2: 0,
- t3: 0,
- t8: 3,
- t32: 21,
- socials: { twitter: "SolarsonTK", twitch: "SolarsonTK" },
- },
- {
- rank: 18,
- name: "Spectre.",
- earnings: "$3,825.00",
- t1: 0,
- t2: 0,
- t3: 0,
- t8: 3,
- t32: 7,
- socials: { twitter: "SpectreBH", twitch: "spectrebh" },
- },
- {
- rank: 19,
- name: "zyder",
- earnings: "$7,745.00",
- t1: 0,
- t2: 0,
- t3: 1,
- t8: 10,
- t32: 25,
- socials: { twitter: "itsreallyzyder", twitch: "jkzyder100" },
- },
- {
- rank: 20,
- name: "Cedero",
- earnings: "$5,785.00",
- t1: 0,
- t2: 0,
- t3: 2,
- t8: 12,
- t32: 33,
- socials: { twitter: "CederoBH", twitch: "CederoBH" },
- },
- {
- rank: 21,
- name: "720polyshot",
- earnings: "$7,884.00",
- t1: 0,
- t2: 0,
- t3: 1,
- t8: 5,
- t32: 19,
- socials: { twitch: "720polyskishot" },
- },
- {
- rank: 22,
- name: "KiXe",
- earnings: "$3,500.00",
- t1: 0,
- t2: 0,
- t3: 0,
- t8: 2,
- t32: 19,
- socials: { twitter: "KiXeOfficial", twitch: "KiXe" },
- },
- {
- rank: 23,
- name: "Snowb4ll",
- earnings: "$870.00",
- t1: 0,
- t2: 0,
- t3: 0,
- t8: 1,
- t32: 28,
- socials: { twitter: "The_Snowb4ll", twitch: "Snowb4ll" },
- },
- {
- rank: 24,
- name: "Seijaru",
- earnings: "$1,575.00",
- t1: 0,
- t2: 0,
- t3: 0,
- t8: 1,
- t32: 5,
- socials: { twitter: "Seijaru", twitch: "Seijaru" },
- },
- {
- rank: 25,
- name: "Zapapy",
- earnings: "$4,550.00",
- t1: 0,
- t2: 2,
- t3: 0,
- t8: 10,
- t32: 26,
- socials: {},
- },
- {
- rank: 25,
- name: "Stikieuh",
- earnings: "$3,672.50",
- t1: 0,
- t2: 0,
- t3: 0,
- t8: 14,
- t32: 32,
- socials: {},
- },
- {
- rank: 27,
- name: "Kresuu",
- earnings: "$1,280.00",
- t1: 0,
- t2: 0,
- t3: 0,
- t8: 1,
- t32: 12,
- socials: { twitter: "Kresuuu", twitch: "Kresuuu" },
- },
- {
- rank: 28,
- name: "M for Mini",
- earnings: "$12,568.17",
- t1: 0,
- t2: 2,
- t3: 3,
- t8: 17,
- t32: 33,
- socials: { twitter: "M_for_Mini" },
- },
- {
- rank: 29,
- name: "Scyotic",
- earnings: "$875.00",
- t1: 0,
- t2: 0,
- t3: 0,
- t8: 1,
- t32: 10,
- socials: { twitter: "Scyotic", twitch: "Scyotic" },
- },
- {
- rank: 30,
- name: "Neeze",
- earnings: "$10,983.67",
- t1: 0,
- t2: 1,
- t3: 1,
- t8: 10,
- t32: 28,
- socials: { twitter: "Neeze3xi", twitch: "neeze3xi" },
- },
- {
- rank: 31,
- name: "FryDasOle",
- earnings: "$2,150.00",
- t1: 0,
- t2: 1,
- t3: 0,
- t8: 1,
- t32: 17,
- socials: { twitter: "FryDasOle", twitch: "FryDasOleBH" },
- },
- {
- rank: 32,
- name: "Urbador",
- earnings: "$500.00",
- t1: 0,
- t2: 0,
- t3: 0,
- t8: 0,
- t32: 8,
- socials: { twitter: "UrbadorBH_", twitch: "UrbadorBH" },
- },
-]
diff --git a/packages/web-parser/weekly-rotation/dev.ts b/packages/web-parser/weekly-rotation/dev.ts
deleted file mode 100644
index 439ffee43..000000000
--- a/packages/web-parser/weekly-rotation/dev.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-import { getWeeklyRotation } from "./getWeeklyRotation"
-import { logInfo } from "logger"
-
-getWeeklyRotation().then(logInfo)
diff --git a/packages/web-parser/weekly-rotation/getWeeklyRotation.ts b/packages/web-parser/weekly-rotation/getWeeklyRotation.ts
deleted file mode 100644
index 64a91d74c..000000000
--- a/packages/web-parser/weekly-rotation/getWeeklyRotation.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-import { legends } from "bhapi/legends"
-import { load } from "cheerio"
-import { parseBHArticlesPage } from "../bh-articles/parseBHArticlesPage"
-import axios from "axios"
-import type { Legend } from "bhapi/types"
-
-const PREFIXES = [
- "The free-to-play Legend rotation for this week includes: ",
- "The free-to-play Legend rotation for this week features ",
-]
-
-export const getWeeklyRotation = async () => {
- const [article] = await parseBHArticlesPage(1, "weekly-rotation")
-
- if (!article) return []
-
- const { data } = await axios.get(article.href)
-
- const $ = load(data)
-
- for (const prefix of PREFIXES) {
- const txt = $("i")
- .filter((_, el) => $(el).text().startsWith(prefix))
- .first()
- .text()
-
- if (!txt) continue
-
- const legendsNames = txt
- .slice(prefix.length)
- .replace(".", "")
- .replace(/&|(and)/g, "")
- .split(",")
- .map((s) => s.trim())
-
- return legendsNames
- .map((name) => legends.find((l) => l.bio_name === name))
- .filter(Boolean) as Legend[]
- }
-
- return []
-}
diff --git a/packages/web-parser/weekly-rotation/weeklyRotationMock.ts b/packages/web-parser/weekly-rotation/weeklyRotationMock.ts
deleted file mode 100644
index c9bdd4103..000000000
--- a/packages/web-parser/weekly-rotation/weeklyRotationMock.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-export const weeklyRotationMock = [
- "Mako",
- "Jhala",
- "Kor",
- "Barraza",
- "Munin",
- "Vector",
- "Cassidy",
- "Onyx",
- "Dusk",
-]
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 00e3f3b46..bc3d694f7 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -9,107 +9,158 @@ importers:
.:
devDependencies:
'@typescript-eslint/eslint-plugin':
- specifier: ^5.48.0
- version: 5.48.0(@typescript-eslint/parser@5.48.0)(eslint@8.31.0)(typescript@4.9.4)
+ specifier: ^6.20.0
+ version: 6.20.0(@typescript-eslint/parser@6.20.0)(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/parser':
- specifier: ^5.48.0
- version: 5.48.0(eslint@8.31.0)(typescript@4.9.4)
+ specifier: ^6.20.0
+ version: 6.20.0(eslint@8.56.0)(typescript@5.3.3)
eslint:
- specifier: ^8.31.0
- version: 8.31.0
+ specifier: ^8.56.0
+ version: 8.56.0
eslint-config-next:
- specifier: ^13.1.1
- version: 13.1.1(eslint@8.31.0)(typescript@4.9.4)
+ specifier: ^14.1.0
+ version: 14.1.0(eslint@8.56.0)(typescript@5.3.3)
eslint-plugin-jsx-a11y:
- specifier: ^6.6.1
- version: 6.6.1(eslint@8.31.0)
+ specifier: ^6.8.0
+ version: 6.8.0(eslint@8.56.0)
eslint-plugin-prettier:
- specifier: ^4.2.1
- version: 4.2.1(eslint@8.31.0)(prettier@2.8.1)
+ specifier: ^5.1.3
+ version: 5.1.3(eslint@8.56.0)(prettier@3.2.4)
eslint-plugin-sort-imports-es6-autofix:
specifier: ^0.6.0
- version: 0.6.0(eslint@8.31.0)
+ version: 0.6.0(eslint@8.56.0)
+ knip:
+ specifier: ^4.2.3
+ version: 4.2.3(@types/node@20.11.10)(typescript@5.3.3)
prettier:
- specifier: ^2.8.1
- version: 2.8.1
+ specifier: ^3.2.4
+ version: 3.2.4
turbo:
- specifier: ^1.9.4
- version: 1.9.4
+ specifier: ^1.11.3
+ version: 1.11.3
typescript:
- specifier: ^4.9.4
- version: 4.9.4
+ specifier: ^5.3.3
+ version: 5.3.3
zx:
specifier: ^7.2.3
version: 7.2.3
app:
dependencies:
- '@fontsource/montserrat':
- specifier: ^4.5.13
- version: 4.5.13
+ '@lingui/core':
+ specifier: ^4.7.0
+ version: 4.7.0
+ '@lingui/macro':
+ specifier: ^4.7.0
+ version: 4.7.0(@lingui/react@4.7.0)(babel-plugin-macros@3.1.0)(typescript@5.3.3)
+ '@lingui/react':
+ specifier: ^4.7.0
+ version: 4.7.0(react@18.2.0)
'@radix-ui/react-collapsible':
- specifier: ^1.0.1
- version: 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-tabs':
- specifier: ^1.0.1
- version: 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@stitches/react':
- specifier: ^1.2.8
- version: 1.2.8(react@18.2.0)
+ specifier: ^1.0.3
+ version: 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-dialog':
+ specifier: ^1.0.5
+ version: 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
'@tanstack/react-query':
- specifier: ^4.22.0
- version: 4.22.0(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^4.35.3
+ version: 4.36.1(react-dom@18.2.0)(react@18.2.0)
'@trpc/client':
- specifier: 10.9.0
- version: 10.9.0(@trpc/server@10.9.0)
- '@trpc/next':
- specifier: 10.9.0
- version: 10.9.0(@tanstack/react-query@4.22.0)(@trpc/client@10.9.0)(@trpc/react-query@10.9.0)(@trpc/server@10.9.0)(next@13.5.6)(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^10.45.0
+ version: 10.45.0(@trpc/server@10.45.0)
'@trpc/react-query':
- specifier: 10.9.0
- version: 10.9.0(@tanstack/react-query@4.22.0)(@trpc/client@10.9.0)(@trpc/server@10.9.0)(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^10.45.0
+ version: 10.45.0(@tanstack/react-query@4.36.1)(@trpc/client@10.45.0)(@trpc/server@10.45.0)(react-dom@18.2.0)(react@18.2.0)
'@trpc/server':
- specifier: 10.9.0
- version: 10.9.0
+ specifier: ^10.45.0
+ version: 10.45.0
+ '@types/node':
+ specifier: 20.11.10
+ version: 20.11.10
+ '@types/react':
+ specifier: 18.2.48
+ version: 18.2.48
+ '@types/react-dom':
+ specifier: 18.2.18
+ version: 18.2.18
+ autoprefixer:
+ specifier: 10.4.17
+ version: 10.4.17(postcss@8.4.33)
bhapi:
specifier: workspace:*
version: link:../packages/bhapi
+ clsx:
+ specifier: ^2.1.0
+ version: 2.1.0
common:
specifier: workspace:*
version: link:../packages/common
db:
specifier: workspace:*
version: link:../packages/db
+ drizzle-orm:
+ specifier: ^0.29.3
+ version: 0.29.3(@types/pg@8.11.0)(@types/react@18.2.48)(pg@8.11.3)(react@18.2.0)
+ drizzle-zod:
+ specifier: ^0.5.1
+ version: 0.5.1(drizzle-orm@0.29.3)(zod@3.22.4)
encoding:
specifier: ^0.1.13
version: 0.1.13
+ i18next:
+ specifier: ^23.8.1
+ version: 23.8.1
+ immer:
+ specifier: ^10.0.3
+ version: 10.0.3
kbar:
- specifier: 0.1.0-beta.39
- version: 0.1.0-beta.39(react-dom@18.2.0)(react@18.2.0)
+ specifier: 0.1.0-beta.45
+ version: 0.1.0-beta.45(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
logger:
specifier: workspace:*
version: link:../packages/logger
next:
- specifier: 13.5.6
- version: 13.5.6(@babel/core@7.23.2)(react-dom@18.2.0)(react@18.2.0)
- next-sitemap:
- specifier: ^3.1.43
- version: 3.1.44(@next/env@13.5.6)(next@13.5.6)
+ specifier: 14.1.0
+ version: 14.1.0(@babel/core@7.23.7)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0)
+ next-i18n-router:
+ specifier: ^5.2.0
+ version: 5.2.0
+ pg:
+ specifier: ^8.11.3
+ version: 8.11.3
+ postcss:
+ specifier: 8.4.33
+ version: 8.4.33
react:
- specifier: ^18.2.0
+ specifier: 18.2.0
version: 18.2.0
react-dom:
- specifier: ^18.2.0
+ specifier: 18.2.0
version: 18.2.0(react@18.2.0)
react-hot-toast:
- specifier: ^2.4.0
- version: 2.4.0(csstype@3.1.2)(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^2.4.1
+ version: 2.4.1(csstype@3.1.3)(react-dom@18.2.0)(react@18.2.0)
react-icons:
- specifier: ^4.7.1
- version: 4.7.1(react@18.2.0)
- server:
- specifier: workspace:*
- version: link:../packages/server
+ specifier: ^5.0.1
+ version: 5.0.1(react@18.2.0)
+ sharp:
+ specifier: ^0.33.2
+ version: 0.33.2
+ superjson:
+ specifier: ^2.2.1
+ version: 2.2.1
+ tailwind-merge:
+ specifier: ^2.2.1
+ version: 2.2.1
+ tailwindcss:
+ specifier: 3.4.1
+ version: 3.4.1
+ tailwindcss-animate:
+ specifier: ^1.0.7
+ version: 1.0.7(tailwindcss@3.4.1)
+ typescript:
+ specifier: 5.3.3
+ version: 5.3.3
ui:
specifier: workspace:*
version: link:../packages/ui
@@ -117,76 +168,64 @@ importers:
specifier: workspace:*
version: link:../packages/web-parser
zod:
- specifier: ^3.20.2
- version: 3.20.2
+ specifier: ^3.22.4
+ version: 3.22.4
+ zustand:
+ specifier: ^4.5.0
+ version: 4.5.0(@types/react@18.2.48)(immer@10.0.3)(react@18.2.0)
devDependencies:
- '@tanstack/query-core':
- specifier: ^4.22.0
- version: 4.22.0
- '@types/node':
- specifier: ^20.8.7
- version: 20.8.7
- '@types/react':
- specifier: ^18.2.31
- version: 18.2.31
- autoprefixer:
- specifier: ^10.4.13
- version: 10.4.13(postcss@8.4.20)
- next-transpile-modules:
- specifier: 10.0.0
- version: 10.0.0
- postcss:
- specifier: ^8.4.20
- version: 8.4.20
- tailwindcss:
- specifier: ^3.2.4
- version: 3.2.4(postcss@8.4.20)
- tsconfig:
- specifier: workspace:*
- version: link:../packages/tsconfig
- typescript:
- specifier: ^4.9.4
- version: 4.9.4
+ '@cloudflare/next-on-pages':
+ specifier: ^1.8.5
+ version: 1.8.5(vercel@33.4.0)(wrangler@3.25.0)
+ '@lingui/cli':
+ specifier: ^4.7.0
+ version: 4.7.0(typescript@5.3.3)
+ '@lingui/conf':
+ specifier: ^4.7.0
+ version: 4.7.0(typescript@5.3.3)
+ '@lingui/loader':
+ specifier: ^4.7.0
+ version: 4.7.0(typescript@5.3.3)(webpack@5.90.0)
+ '@lingui/swc-plugin':
+ specifier: ^4.0.4
+ version: 4.0.4(@lingui/macro@4.7.0)(next@14.1.0)
+ '@types/pg':
+ specifier: ^8.11.0
+ version: 8.11.0
+ drizzle-kit:
+ specifier: ^0.20.13
+ version: 0.20.13
+ tsx:
+ specifier: ^4.7.0
+ version: 4.7.0
packages/bhapi:
dependencies:
- axios:
- specifier: 1.1.3
- version: 1.1.3
common:
specifier: workspace:*
version: link:../common
- react:
- specifier: ^18.2.0
- version: 18.2.0
- react-dom:
- specifier: ^18.2.0
- version: 18.2.0(react@18.2.0)
zod:
- specifier: ^3.20.2
- version: 3.20.2
+ specifier: ^3.22.4
+ version: 3.22.4
devDependencies:
'@types/node':
- specifier: ^20.8.7
- version: 20.8.7
+ specifier: ^20.11.10
+ version: 20.11.10
tsconfig:
specifier: workspace:*
version: link:../tsconfig
typescript:
- specifier: ^4.9.4
- version: 4.9.4
+ specifier: ^5.3.3
+ version: 5.3.3
packages/common:
dependencies:
classnames:
- specifier: ^2.3.2
- version: 2.3.2
+ specifier: ^2.5.1
+ version: 2.5.1
dayjs:
- specifier: ^1.11.7
- version: 1.11.7
- next:
- specifier: 13.5.6
- version: 13.5.6(@babel/core@7.23.2)(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^1.11.10
+ version: 1.11.10
react:
specifier: ^18.2.0
version: 18.2.0
@@ -194,64 +233,49 @@ importers:
specifier: ^18.2.0
version: 18.2.0(react@18.2.0)
react-use:
- specifier: ^17.4.0
- version: 17.4.0(react-dom@18.2.0)(react@18.2.0)
- zod:
- specifier: ^3.20.2
- version: 3.20.2
+ specifier: ^17.5.0
+ version: 17.5.0(react-dom@18.2.0)(react@18.2.0)
devDependencies:
'@types/node':
- specifier: ^20.8.7
- version: 20.8.7
+ specifier: ^20.11.10
+ version: 20.11.10
'@types/react':
- specifier: ^18.2.31
- version: 18.2.31
+ specifier: ^18.2.48
+ version: 18.2.48
tsconfig:
specifier: workspace:*
version: link:../tsconfig
typescript:
- specifier: ^4.9.4
- version: 4.9.4
+ specifier: ^5.3.3
+ version: 5.3.3
packages/db:
dependencies:
'@prisma/client':
- specifier: ^4.8.0
- version: 4.8.0(prisma@4.8.0)
+ specifier: 5.8.1
+ version: 5.8.1(prisma@5.8.1)
'@supabase/supabase-js':
specifier: ^1.35.7
version: 1.35.7
- axios:
- specifier: 1.1.3
- version: 1.1.3
- logger:
- specifier: workspace:*
- version: link:../logger
- react:
- specifier: ^18.2.0
- version: 18.2.0
devDependencies:
- '@types/react':
- specifier: ^18.2.31
- version: 18.2.31
discord-api-types:
- specifier: ^0.37.25
- version: 0.37.25
+ specifier: ^0.37.67
+ version: 0.37.67
prisma:
- specifier: ^4.8.0
- version: 4.8.0
+ specifier: ^5.8.1
+ version: 5.8.1
tsconfig:
specifier: workspace:*
version: link:../tsconfig
typescript:
- specifier: ^4.9.4
- version: 4.9.4
+ specifier: ^5.3.3
+ version: 5.3.3
packages/dl-roster-images:
dependencies:
axios:
- specifier: 1.1.3
- version: 1.1.3
+ specifier: ^1.6.7
+ version: 1.6.7
bhapi:
specifier: workspace:*
version: link:../bhapi
@@ -263,72 +287,48 @@ importers:
version: link:../logger
devDependencies:
'@types/node':
- specifier: ^20.8.7
- version: 20.8.7
+ specifier: ^20.11.10
+ version: 20.11.10
ts-node:
- specifier: ^10.9.1
- version: 10.9.1(@types/node@20.8.7)(typescript@4.9.4)
+ specifier: ^10.9.2
+ version: 10.9.2(@types/node@20.11.10)(typescript@5.3.3)
ts-node-dev:
specifier: ^2.0.0
- version: 2.0.0(@types/node@20.8.7)(typescript@4.9.4)
+ version: 2.0.0(@types/node@20.11.10)(typescript@5.3.3)
tsconfig:
specifier: workspace:*
version: link:../tsconfig
typescript:
- specifier: ^4.9.4
- version: 4.9.4
+ specifier: ^5.3.3
+ version: 5.3.3
packages/logger:
devDependencies:
'@types/node':
- specifier: ^20.8.7
- version: 20.8.7
+ specifier: ^20.11.10
+ version: 20.11.10
tsconfig:
specifier: workspace:*
version: link:../tsconfig
typescript:
- specifier: ^4.9.4
- version: 4.9.4
+ specifier: ^5.3.3
+ version: 5.3.3
packages/server:
dependencies:
- '@tanstack/react-query':
- specifier: ^4.22.0
- version: 4.22.0(react-dom@18.2.0)(react@18.2.0)
- '@trpc/client':
- specifier: 10.9.0
- version: 10.9.0(@trpc/server@10.9.0)
- '@trpc/next':
- specifier: 10.9.0
- version: 10.9.0(@tanstack/react-query@4.22.0)(@trpc/client@10.9.0)(@trpc/react-query@10.9.0)(@trpc/server@10.9.0)(next@13.5.6)(react-dom@18.2.0)(react@18.2.0)
- '@trpc/react-query':
- specifier: 10.9.0
- version: 10.9.0(@tanstack/react-query@4.22.0)(@trpc/client@10.9.0)(@trpc/server@10.9.0)(react-dom@18.2.0)(react@18.2.0)
- '@trpc/server':
- specifier: 10.9.0
- version: 10.9.0
bhapi:
specifier: workspace:*
version: link:../bhapi
- common:
- specifier: workspace:*
- version: link:../common
db:
specifier: workspace:*
version: link:../db
logger:
specifier: workspace:*
version: link:../logger
- web-parser:
- specifier: workspace:*
- version: link:../web-parser
- zod:
- specifier: ^3.20.2
- version: 3.20.2
devDependencies:
'@types/node':
- specifier: ^20.8.7
- version: 20.8.7
+ specifier: ^20.11.10
+ version: 20.11.10
tsconfig:
specifier: workspace:*
version: link:../tsconfig
@@ -337,54 +337,21 @@ importers:
packages/ui:
dependencies:
- '@radix-ui/colors':
- specifier: ^0.1.8
- version: 0.1.8
- '@radix-ui/react-collapsible':
- specifier: ^1.0.1
- version: 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-dialog':
- specifier: ^1.0.2
- version: 1.0.2(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-dropdown-menu':
- specifier: ^2.0.1
- version: 2.0.1(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-navigation-menu':
- specifier: ^1.1.1
- version: 1.1.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-popover':
- specifier: ^1.0.2
- version: 1.0.2(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-progress':
- specifier: ^1.0.1
- version: 1.0.1(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^1.0.3
+ version: 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-tooltip':
- specifier: ^1.0.2
- version: 1.0.2(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^1.0.7
+ version: 1.0.7(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
'@stitches/react':
specifier: ^1.2.8
version: 1.2.8(react@18.2.0)
- bhapi:
- specifier: workspace:*
- version: link:../bhapi
common:
specifier: workspace:*
version: link:../common
- db:
- specifier: workspace:*
- version: link:../db
- kbar:
- specifier: 0.1.0-beta.39
- version: 0.1.0-beta.39(react-dom@18.2.0)(react@18.2.0)
- logger:
- specifier: workspace:*
- version: link:../logger
next:
- specifier: 13.5.6
- version: 13.5.6(@babel/core@7.23.2)(react-dom@18.2.0)(react@18.2.0)
- nprogress:
- specifier: ^0.2.0
- version: 0.2.0
+ specifier: 14.1.0
+ version: 14.1.0(@babel/core@7.23.7)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0)
react:
specifier: ^18.2.0
version: 18.2.0
@@ -392,51 +359,27 @@ importers:
specifier: ^18.2.0
version: 18.2.0(react@18.2.0)
react-icons:
- specifier: ^4.7.1
- version: 4.7.1(react@18.2.0)
- react-phone-input-2:
- specifier: ^2.15.1
- version: 2.15.1(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^5.0.1
+ version: 5.0.1(react@18.2.0)
react-select:
- specifier: ^5.7.0
- version: 5.7.0(@babel/core@7.23.2)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
- react-table:
- specifier: ^7.8.0
- version: 7.8.0(react@18.2.0)
+ specifier: ^5.8.0
+ version: 5.8.0(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
devDependencies:
- '@types/nprogress':
- specifier: ^0.2.0
- version: 0.2.0
'@types/react':
- specifier: ^18.2.31
- version: 18.2.31
+ specifier: ^18.2.48
+ version: 18.2.48
'@types/react-dom':
- specifier: ^18.0.10
- version: 18.0.10
- '@types/react-table':
- specifier: ^7.7.13
- version: 7.7.14
- autoprefixer:
- specifier: ^10.4.13
- version: 10.4.13(postcss@8.4.20)
- postcss:
- specifier: ^8.4.20
- version: 8.4.20
- tailwindcss:
- specifier: ^3.2.4
- version: 3.2.4(postcss@8.4.20)
+ specifier: ^18.2.18
+ version: 18.2.18
tsconfig:
specifier: workspace:*
version: link:../tsconfig
typescript:
- specifier: ^4.9.4
- version: 4.9.4
+ specifier: ^5.3.3
+ version: 5.3.3
packages/web-parser:
dependencies:
- axios:
- specifier: 1.1.3
- version: 1.1.3
bhapi:
specifier: workspace:*
version: link:../bhapi
@@ -447,111 +390,83 @@ importers:
specifier: workspace:*
version: link:../logger
zod:
- specifier: ^3.20.2
- version: 3.20.2
+ specifier: ^3.22.4
+ version: 3.22.4
devDependencies:
'@types/node':
- specifier: ^20.8.7
- version: 20.8.7
- ts-node:
- specifier: ^10.9.1
- version: 10.9.1(@types/node@20.8.7)(typescript@4.9.4)
+ specifier: ^20.11.10
+ version: 20.11.10
ts-node-dev:
specifier: ^2.0.0
- version: 2.0.0(@types/node@20.8.7)(typescript@4.9.4)
+ version: 2.0.0(@types/node@20.11.10)(typescript@5.3.3)
tsconfig:
specifier: workspace:*
version: link:../tsconfig
typescript:
- specifier: ^4.9.4
- version: 4.9.4
+ specifier: ^5.3.3
+ version: 5.3.3
worker:
dependencies:
- '@trpc/client':
- specifier: 10.9.0
- version: 10.9.0(@trpc/server@10.9.0)
- '@trpc/server':
- specifier: 10.9.0
- version: 10.9.0
bhapi:
specifier: workspace:*
version: link:../packages/bhapi
common:
specifier: workspace:*
version: link:../packages/common
- cors:
- specifier: ^2.8.5
- version: 2.8.5
db:
specifier: workspace:*
version: link:../packages/db
discord.js:
- specifier: ^14.7.1
- version: 14.7.1
+ specifier: ^14.14.1
+ version: 14.14.1
dotenv:
- specifier: ^16.0.3
- version: 16.0.3
- express:
- specifier: ^4.18.2
- version: 4.18.2
+ specifier: ^16.4.1
+ version: 16.4.1
logger:
specifier: workspace:*
version: link:../packages/logger
reaccord:
specifier: 0.0.1-dev.1669742731656.1c2e96f
- version: 0.0.1-dev.1669742731656.1c2e96f(@babel/core@7.23.2)(ajv@8.11.2)(discord.js@14.7.1)(typescript@4.9.4)
- react:
- specifier: ^18.2.0
- version: 18.2.0
+ version: 0.0.1-dev.1669742731656.1c2e96f(@babel/core@7.23.9)(ajv@8.11.2)(discord.js@14.14.1)(typescript@5.3.3)
server:
specifier: workspace:*
version: link:../packages/server
ts-node:
- specifier: ^10.9.1
- version: 10.9.1(@types/node@20.8.7)(typescript@4.9.4)
+ specifier: ^10.9.2
+ version: 10.9.2(@types/node@20.11.10)(typescript@5.3.3)
ts-node-dev:
specifier: ^2.0.0
- version: 2.0.0(@types/node@20.8.7)(typescript@4.9.4)
- web-parser:
- specifier: workspace:*
- version: link:../packages/web-parser
+ version: 2.0.0(@types/node@20.11.10)(typescript@5.3.3)
zod:
- specifier: ^3.20.2
- version: 3.20.2
+ specifier: ^3.22.4
+ version: 3.22.4
devDependencies:
- '@types/cors':
- specifier: ^2.8.13
- version: 2.8.13
- '@types/express':
- specifier: ^4.17.15
- version: 4.17.15
'@types/node':
- specifier: ^20.8.7
- version: 20.8.7
- '@types/react':
- specifier: ^18.2.31
- version: 18.2.31
+ specifier: ^20.11.10
+ version: 20.11.10
typescript:
- specifier: ^4.9.4
- version: 4.9.4
+ specifier: ^5.3.3
+ version: 5.3.3
packages:
+ /@aashutoshrathi/word-wrap@1.2.6:
+ resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /@alloc/quick-lru@5.2.0:
+ resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
+ engines: {node: '>=10'}
+ dev: false
+
/@ampproject/remapping@2.2.1:
resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
engines: {node: '>=6.0.0'}
dependencies:
'@jridgewell/gen-mapping': 0.3.3
'@jridgewell/trace-mapping': 0.3.20
- dev: false
-
- /@babel/code-frame@7.18.6:
- resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/highlight': 7.18.6
- dev: false
/@babel/code-frame@7.22.13:
resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==}
@@ -559,27 +474,54 @@ packages:
dependencies:
'@babel/highlight': 7.22.20
chalk: 2.4.2
- dev: false
- /@babel/compat-data@7.23.2:
- resolution: {integrity: sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==}
+ /@babel/code-frame@7.23.5:
+ resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/highlight': 7.23.4
+ chalk: 2.4.2
+
+ /@babel/compat-data@7.23.5:
+ resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==}
engines: {node: '>=6.9.0'}
- dev: false
- /@babel/core@7.23.2:
- resolution: {integrity: sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==}
+ /@babel/core@7.23.7:
+ resolution: {integrity: sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==}
engines: {node: '>=6.9.0'}
dependencies:
'@ampproject/remapping': 2.2.1
- '@babel/code-frame': 7.22.13
- '@babel/generator': 7.23.0
- '@babel/helper-compilation-targets': 7.22.15
- '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2)
- '@babel/helpers': 7.23.2
- '@babel/parser': 7.23.0
+ '@babel/code-frame': 7.23.5
+ '@babel/generator': 7.23.6
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7)
+ '@babel/helpers': 7.23.8
+ '@babel/parser': 7.23.6
'@babel/template': 7.22.15
- '@babel/traverse': 7.23.2
- '@babel/types': 7.23.0
+ '@babel/traverse': 7.23.7
+ '@babel/types': 7.23.6
+ convert-source-map: 2.0.0
+ debug: 4.3.4
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/core@7.23.9:
+ resolution: {integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@ampproject/remapping': 2.2.1
+ '@babel/code-frame': 7.23.5
+ '@babel/generator': 7.23.6
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9)
+ '@babel/helpers': 7.23.9
+ '@babel/parser': 7.23.9
+ '@babel/template': 7.23.9
+ '@babel/traverse': 7.23.9
+ '@babel/types': 7.23.9
convert-source-map: 2.0.0
debug: 4.3.4
gensync: 1.0.0-beta.2
@@ -589,137 +531,122 @@ packages:
- supports-color
dev: false
- /@babel/generator@7.23.0:
- resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==}
+ /@babel/generator@7.23.6:
+ resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.23.0
+ '@babel/types': 7.23.6
'@jridgewell/gen-mapping': 0.3.3
'@jridgewell/trace-mapping': 0.3.20
jsesc: 2.5.2
- dev: false
- /@babel/helper-compilation-targets@7.22.15:
- resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==}
+ /@babel/helper-compilation-targets@7.23.6:
+ resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/compat-data': 7.23.2
- '@babel/helper-validator-option': 7.22.15
- browserslist: 4.22.1
+ '@babel/compat-data': 7.23.5
+ '@babel/helper-validator-option': 7.23.5
+ browserslist: 4.22.2
lru-cache: 5.1.1
semver: 6.3.1
- dev: false
/@babel/helper-environment-visitor@7.22.20:
resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
engines: {node: '>=6.9.0'}
- dev: false
/@babel/helper-function-name@7.23.0:
resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/template': 7.22.15
- '@babel/types': 7.23.0
- dev: false
+ '@babel/types': 7.23.6
/@babel/helper-hoist-variables@7.22.5:
resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.23.0
- dev: false
-
- /@babel/helper-module-imports@7.18.6:
- resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.20.7
- dev: false
+ '@babel/types': 7.23.6
/@babel/helper-module-imports@7.22.15:
resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.23.0
- dev: false
- /@babel/helper-module-transforms@7.23.0(@babel/core@7.23.2):
- resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==}
+ /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.7):
+ resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.23.2
+ '@babel/core': 7.23.7
'@babel/helper-environment-visitor': 7.22.20
'@babel/helper-module-imports': 7.22.15
'@babel/helper-simple-access': 7.22.5
'@babel/helper-split-export-declaration': 7.22.6
'@babel/helper-validator-identifier': 7.22.20
- dev: false
- /@babel/helper-plugin-utils@7.20.2:
- resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==}
+ /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9):
+ resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.9
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-simple-access': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/helper-validator-identifier': 7.22.20
dev: false
/@babel/helper-simple-access@7.22.5:
resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.23.0
- dev: false
+ '@babel/types': 7.23.6
/@babel/helper-split-export-declaration@7.22.6:
resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.23.0
- dev: false
-
- /@babel/helper-string-parser@7.19.4:
- resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==}
- engines: {node: '>=6.9.0'}
- dev: false
+ '@babel/types': 7.23.6
/@babel/helper-string-parser@7.22.5:
resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==}
engines: {node: '>=6.9.0'}
- dev: false
- /@babel/helper-validator-identifier@7.19.1:
- resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==}
+ /@babel/helper-string-parser@7.23.4:
+ resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
engines: {node: '>=6.9.0'}
- dev: false
/@babel/helper-validator-identifier@7.22.20:
resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
engines: {node: '>=6.9.0'}
- dev: false
- /@babel/helper-validator-option@7.22.15:
- resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==}
+ /@babel/helper-validator-option@7.23.5:
+ resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
engines: {node: '>=6.9.0'}
- dev: false
- /@babel/helpers@7.23.2:
- resolution: {integrity: sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==}
+ /@babel/helpers@7.23.8:
+ resolution: {integrity: sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/template': 7.22.15
- '@babel/traverse': 7.23.2
- '@babel/types': 7.23.0
+ '@babel/traverse': 7.23.7
+ '@babel/types': 7.23.6
transitivePeerDependencies:
- supports-color
- dev: false
- /@babel/highlight@7.18.6:
- resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==}
+ /@babel/helpers@7.23.9:
+ resolution: {integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-validator-identifier': 7.19.1
- chalk: 2.4.2
- js-tokens: 4.0.0
+ '@babel/template': 7.23.9
+ '@babel/traverse': 7.23.9
+ '@babel/types': 7.23.9
+ transitivePeerDependencies:
+ - supports-color
dev: false
/@babel/highlight@7.22.20:
@@ -729,80 +656,106 @@ packages:
'@babel/helper-validator-identifier': 7.22.20
chalk: 2.4.2
js-tokens: 4.0.0
- dev: false
- /@babel/parser@7.23.0:
- resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==}
+ /@babel/highlight@7.23.4:
+ resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.20
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+
+ /@babel/parser@7.23.6:
+ resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==}
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
- '@babel/types': 7.23.0
+ '@babel/types': 7.23.6
+
+ /@babel/parser@7.23.9:
+ resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.23.9
dev: false
- /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.23.2):
- resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==}
+ /@babel/runtime@7.23.1:
+ resolution: {integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==}
engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.23.2
- '@babel/helper-plugin-utils': 7.20.2
+ regenerator-runtime: 0.14.0
dev: false
- /@babel/runtime-corejs3@7.19.6:
- resolution: {integrity: sha512-oWNn1ZlGde7b4i/3tnixpH9qI0bOAACiUs+KEES4UUCnsPjVWFlWdLV/iwJuPC2qp3EowbAqsm+0XqNwnwYhxA==}
+ /@babel/runtime@7.23.2:
+ resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==}
engines: {node: '>=6.9.0'}
dependencies:
- core-js-pure: 3.26.0
- regenerator-runtime: 0.13.11
- dev: true
+ regenerator-runtime: 0.14.0
- /@babel/runtime@7.19.4:
- resolution: {integrity: sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==}
+ /@babel/runtime@7.23.8:
+ resolution: {integrity: sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==}
engines: {node: '>=6.9.0'}
dependencies:
- regenerator-runtime: 0.13.10
+ regenerator-runtime: 0.14.1
- /@babel/runtime@7.20.7:
- resolution: {integrity: sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==}
+ /@babel/runtime@7.23.9:
+ resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==}
engines: {node: '>=6.9.0'}
dependencies:
- regenerator-runtime: 0.13.11
+ regenerator-runtime: 0.14.1
+ dev: false
/@babel/template@7.22.15:
resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/code-frame': 7.22.13
- '@babel/parser': 7.23.0
- '@babel/types': 7.23.0
+ '@babel/code-frame': 7.23.5
+ '@babel/parser': 7.23.6
+ '@babel/types': 7.23.6
+
+ /@babel/template@7.23.9:
+ resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.23.5
+ '@babel/parser': 7.23.9
+ '@babel/types': 7.23.9
dev: false
- /@babel/traverse@7.23.2:
- resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==}
+ /@babel/traverse@7.23.7:
+ resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/code-frame': 7.22.13
- '@babel/generator': 7.23.0
+ '@babel/code-frame': 7.23.5
+ '@babel/generator': 7.23.6
'@babel/helper-environment-visitor': 7.22.20
'@babel/helper-function-name': 7.23.0
'@babel/helper-hoist-variables': 7.22.5
'@babel/helper-split-export-declaration': 7.22.6
- '@babel/parser': 7.23.0
- '@babel/types': 7.23.0
+ '@babel/parser': 7.23.6
+ '@babel/types': 7.23.6
debug: 4.3.4
globals: 11.12.0
transitivePeerDependencies:
- supports-color
- dev: false
- /@babel/types@7.20.7:
- resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==}
+ /@babel/traverse@7.23.9:
+ resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-string-parser': 7.19.4
- '@babel/helper-validator-identifier': 7.19.1
- to-fast-properties: 2.0.0
+ '@babel/code-frame': 7.23.5
+ '@babel/generator': 7.23.6
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/parser': 7.23.9
+ '@babel/types': 7.23.9
+ debug: 4.3.4
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
dev: false
/@babel/types@7.23.0:
@@ -812,2677 +765,5594 @@ packages:
'@babel/helper-string-parser': 7.22.5
'@babel/helper-validator-identifier': 7.22.20
to-fast-properties: 2.0.0
- dev: false
-
- /@corex/deepmerge@4.0.29:
- resolution: {integrity: sha512-q/yVUnqckA8Do+EvAfpy7RLdumnBy9ZsducMUtZTvpdbJC7azEf1hGtnYYxm0QfphYxjwggv6XtH64prvS1W+A==}
- dev: false
-
- /@cspotcode/source-map-support@0.8.1:
- resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
- engines: {node: '>=12'}
- dependencies:
- '@jridgewell/trace-mapping': 0.3.9
- /@discordjs/builders@1.4.0:
- resolution: {integrity: sha512-nEeTCheTTDw5kO93faM1j8ZJPonAX86qpq/QVoznnSa8WWcCgJpjlu6GylfINTDW6o7zZY0my2SYdxx2mfNwGA==}
- engines: {node: '>=16.9.0'}
+ /@babel/types@7.23.6:
+ resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==}
+ engines: {node: '>=6.9.0'}
dependencies:
- '@discordjs/util': 0.1.0
- '@sapphire/shapeshift': 3.8.1
- discord-api-types: 0.37.25
- fast-deep-equal: 3.1.3
- ts-mixer: 6.0.2
- tslib: 2.4.1
- dev: false
-
- /@discordjs/collection@1.3.0:
- resolution: {integrity: sha512-ylt2NyZ77bJbRij4h9u/wVy7qYw/aDqQLWnadjvDqW/WoWCxrsX6M3CIw9GVP5xcGCDxsrKj5e0r5evuFYwrKg==}
- engines: {node: '>=16.9.0'}
- dev: false
+ '@babel/helper-string-parser': 7.23.4
+ '@babel/helper-validator-identifier': 7.22.20
+ to-fast-properties: 2.0.0
- /@discordjs/rest@1.4.0:
- resolution: {integrity: sha512-k3Ip7ffFSAfp7Mu4H/3BEXFvFz+JsbXRrRtpeBMnSp1LefhtlZWJE6xdXzNlblktKNQltnRwY+z0NZrGQdxAMw==}
- engines: {node: '>=16.9.0'}
+ /@babel/types@7.23.9:
+ resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==}
+ engines: {node: '>=6.9.0'}
dependencies:
- '@discordjs/collection': 1.3.0
- '@discordjs/util': 0.1.0
- '@sapphire/async-queue': 1.5.0
- '@sapphire/snowflake': 3.4.0
- discord-api-types: 0.37.25
- file-type: 18.0.0
- tslib: 2.4.1
- undici: 5.14.0
+ '@babel/helper-string-parser': 7.23.4
+ '@babel/helper-validator-identifier': 7.22.20
+ to-fast-properties: 2.0.0
dev: false
- /@discordjs/rest@1.5.0:
- resolution: {integrity: sha512-lXgNFqHnbmzp5u81W0+frdXN6Etf4EUi8FAPcWpSykKd8hmlWh1xy6BmE0bsJypU1pxohaA8lQCgp70NUI3uzA==}
- engines: {node: '>=16.9.0'}
+ /@cloudflare/kv-asset-handler@0.2.0:
+ resolution: {integrity: sha512-MVbXLbTcAotOPUj0pAMhVtJ+3/kFkwJqc5qNOleOZTv6QkZZABDMS21dSrSlVswEHwrpWC03e4fWytjqKvuE2A==}
dependencies:
- '@discordjs/collection': 1.3.0
- '@discordjs/util': 0.1.0
- '@sapphire/async-queue': 1.5.0
- '@sapphire/snowflake': 3.4.0
- discord-api-types: 0.37.25
- file-type: 18.0.0
- tslib: 2.4.1
- undici: 5.14.0
- dev: false
-
- /@discordjs/util@0.1.0:
- resolution: {integrity: sha512-e7d+PaTLVQav6rOc2tojh2y6FE8S7REkqLldq1XF4soCx74XB/DIjbVbVLtBemf0nLW77ntz0v+o5DytKwFNLQ==}
- engines: {node: '>=16.9.0'}
- dev: false
+ mime: 3.0.0
+ dev: true
- /@emotion/babel-plugin@11.10.5(@babel/core@7.23.2):
- resolution: {integrity: sha512-xE7/hyLHJac7D2Ve9dKroBBZqBT7WuPQmWcq7HSGb84sUuP4mlOWoB8dvVfD9yk5DHkU1m6RW7xSoDtnQHNQeA==}
+ /@cloudflare/next-on-pages@1.8.5(vercel@33.4.0)(wrangler@3.25.0):
+ resolution: {integrity: sha512-mY7ovjE6NM9ZPhWH3HZMW7lT9f3242KpHjz94NYaQ3Seu7BzXoHd23QVotxEpWZ1AtGeymrQ3Bmzy32cRToBSw==}
+ hasBin: true
peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.23.2
- '@babel/helper-module-imports': 7.18.6
- '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.23.2)
- '@babel/runtime': 7.20.7
- '@emotion/hash': 0.9.0
- '@emotion/memoize': 0.8.0
- '@emotion/serialize': 1.1.1
- babel-plugin-macros: 3.1.0
- convert-source-map: 1.9.0
- escape-string-regexp: 4.0.0
- find-root: 1.1.0
- source-map: 0.5.7
- stylis: 4.1.3
- dev: false
-
- /@emotion/cache@11.10.5:
- resolution: {integrity: sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==}
+ vercel: '>=30.0.0'
+ wrangler: ^3.0.0
dependencies:
- '@emotion/memoize': 0.8.0
- '@emotion/sheet': 1.2.1
- '@emotion/utils': 1.2.0
- '@emotion/weak-memoize': 0.3.0
- stylis: 4.1.3
- dev: false
-
- /@emotion/hash@0.9.0:
- resolution: {integrity: sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==}
- dev: false
+ acorn: 8.11.3
+ ast-types: 0.14.2
+ chalk: 5.3.0
+ chokidar: 3.5.3
+ commander: 11.1.0
+ cookie: 0.5.0
+ esbuild: 0.15.18
+ js-yaml: 4.1.0
+ miniflare: 3.20231002.0
+ package-manager-manager: 0.2.0
+ pcre-to-regexp: 1.1.0
+ semver: 7.5.4
+ vercel: 33.4.0(encoding@0.1.13)
+ wrangler: 3.25.0
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ dev: true
- /@emotion/memoize@0.8.0:
- resolution: {integrity: sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==}
- dev: false
+ /@cloudflare/workerd-darwin-64@1.20231002.0:
+ resolution: {integrity: sha512-sgtjzVO/wtI/6S7O0bk4zQAv2xlvqOxB18AXzlit6uXgbYFGeQedRHjhKVMOacGmWEnM4C3ir/fxJGsc3Pyxng==}
+ engines: {node: '>=16'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@emotion/react@11.10.5(@babel/core@7.23.2)(@types/react@18.2.31)(react@18.2.0):
- resolution: {integrity: sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A==}
- peerDependencies:
- '@babel/core': ^7.0.0
- '@types/react': '*'
- react: '>=16.8.0'
- peerDependenciesMeta:
- '@babel/core':
- optional: true
- '@types/react':
- optional: true
+ /@cloudflare/workerd-darwin-64@1.20231218.0:
+ resolution: {integrity: sha512-547gOmTIVmRdDy7HNAGJUPELa+fSDm2Y0OCxqAtQOz0GLTDu1vX61xYmsb2rn91+v3xW6eMttEIpbYokKjtfJA==}
+ engines: {node: '>=16'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@cloudflare/workerd-darwin-arm64@1.20231002.0:
+ resolution: {integrity: sha512-dv8nztYFaTYYgBpyy80vc4hdMYv9mhyNbvBsZywm8S7ivcIpzogi0UKkGU4E/G0lYK6W3WtwTBqwRe+pXJ1+Ww==}
+ engines: {node: '>=16'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@cloudflare/workerd-darwin-arm64@1.20231218.0:
+ resolution: {integrity: sha512-b39qrU1bKolCfmKFDAnX4vXcqzISkEUVE/V8sMBsFzxrIpNAbcUHBZAQPYmS/OHIGB94KjOVokvDi7J6UNurPw==}
+ engines: {node: '>=16'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@cloudflare/workerd-linux-64@1.20231002.0:
+ resolution: {integrity: sha512-UG8SlLcGzaQDSSw6FR4+Zf408925wkLOCAi8w5qEoFYu3g4Ef7ZenstesCOsyWL7qBDKx0/iwk6+a76W5IHI0Q==}
+ engines: {node: '>=16'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@cloudflare/workerd-linux-64@1.20231218.0:
+ resolution: {integrity: sha512-dMUF1wA+0mybm6hHNOCgY/WMNMwomPPs4I7vvYCgwHSkch0Q2Wb7TnxQZSt8d1PK/myibaBwadrlIxpjxmpz3w==}
+ engines: {node: '>=16'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@cloudflare/workerd-linux-arm64@1.20231002.0:
+ resolution: {integrity: sha512-GPaa66ZSq1gK09r87c5CJbHIApcIU//LVHz3rnUxK0//00YCwUuGUUK1dn/ylg+fVqDQxIDmH+ABnobBanvcDA==}
+ engines: {node: '>=16'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@cloudflare/workerd-linux-arm64@1.20231218.0:
+ resolution: {integrity: sha512-2s5uc8IHt0QmWyKxAr1Fy+4b8Xy0b/oUtlPnm5MrKi2gDRlZzR7JvxENPJCpCnYENydS8lzvkMiAFECPBccmyQ==}
+ engines: {node: '>=16'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@cloudflare/workerd-windows-64@1.20231002.0:
+ resolution: {integrity: sha512-ybIy+sCme0VO0RscndXvqWNBaRMUOc8vhi+1N2h/KDsKfNLsfEQph+XWecfKzJseUy1yE2rV1xei3BaNmaa6vg==}
+ engines: {node: '>=16'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@cloudflare/workerd-windows-64@1.20231218.0:
+ resolution: {integrity: sha512-oN5hz6TXUDB5YKUN5N3QWAv6cYz9JjTZ9g16HVyoegVFEL6/zXU3tV19MBX2IvlE11ab/mRogEv9KXVIrHfKmA==}
+ engines: {node: '>=16'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@cspotcode/source-map-support@0.8.1:
+ resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
+ engines: {node: '>=12'}
dependencies:
- '@babel/core': 7.23.2
- '@babel/runtime': 7.20.7
- '@emotion/babel-plugin': 11.10.5(@babel/core@7.23.2)
- '@emotion/cache': 11.10.5
- '@emotion/serialize': 1.1.1
- '@emotion/use-insertion-effect-with-fallbacks': 1.0.0(react@18.2.0)
- '@emotion/utils': 1.2.0
- '@emotion/weak-memoize': 0.3.0
- '@types/react': 18.2.31
- hoist-non-react-statics: 3.3.2
- react: 18.2.0
- dev: false
+ '@jridgewell/trace-mapping': 0.3.9
- /@emotion/serialize@1.1.1:
- resolution: {integrity: sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==}
+ /@discordjs/builders@1.7.0:
+ resolution: {integrity: sha512-GDtbKMkg433cOZur8Dv6c25EHxduNIBsxeHrsRoIM8+AwmEZ8r0tEpckx/sHwTLwQPOF3e2JWloZh9ofCaMfAw==}
+ engines: {node: '>=16.11.0'}
dependencies:
- '@emotion/hash': 0.9.0
- '@emotion/memoize': 0.8.0
- '@emotion/unitless': 0.8.0
- '@emotion/utils': 1.2.0
- csstype: 3.1.1
+ '@discordjs/formatters': 0.3.3
+ '@discordjs/util': 1.0.2
+ '@sapphire/shapeshift': 3.9.5
+ discord-api-types: 0.37.61
+ fast-deep-equal: 3.1.3
+ ts-mixer: 6.0.3
+ tslib: 2.6.2
dev: false
- /@emotion/sheet@1.2.1:
- resolution: {integrity: sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==}
+ /@discordjs/collection@1.3.0:
+ resolution: {integrity: sha512-ylt2NyZ77bJbRij4h9u/wVy7qYw/aDqQLWnadjvDqW/WoWCxrsX6M3CIw9GVP5xcGCDxsrKj5e0r5evuFYwrKg==}
+ engines: {node: '>=16.9.0'}
dev: false
- /@emotion/unitless@0.8.0:
- resolution: {integrity: sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==}
+ /@discordjs/collection@1.5.3:
+ resolution: {integrity: sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==}
+ engines: {node: '>=16.11.0'}
dev: false
- /@emotion/use-insertion-effect-with-fallbacks@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==}
- peerDependencies:
- react: '>=16.8.0'
- dependencies:
- react: 18.2.0
+ /@discordjs/collection@2.0.0:
+ resolution: {integrity: sha512-YTWIXLrf5FsrLMycpMM9Q6vnZoR/lN2AWX23/Cuo8uOOtS8eHB2dyQaaGnaF8aZPYnttf2bkLMcXn/j6JUOi3w==}
+ engines: {node: '>=18'}
dev: false
- /@emotion/utils@1.2.0:
- resolution: {integrity: sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==}
+ /@discordjs/formatters@0.3.3:
+ resolution: {integrity: sha512-wTcI1Q5cps1eSGhl6+6AzzZkBBlVrBdc9IUhJbijRgVjCNIIIZPgqnUj3ntFODsHrdbGU8BEG9XmDQmgEEYn3w==}
+ engines: {node: '>=16.11.0'}
+ dependencies:
+ discord-api-types: 0.37.61
dev: false
- /@emotion/weak-memoize@0.3.0:
- resolution: {integrity: sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==}
+ /@discordjs/rest@1.4.0:
+ resolution: {integrity: sha512-k3Ip7ffFSAfp7Mu4H/3BEXFvFz+JsbXRrRtpeBMnSp1LefhtlZWJE6xdXzNlblktKNQltnRwY+z0NZrGQdxAMw==}
+ engines: {node: '>=16.9.0'}
+ dependencies:
+ '@discordjs/collection': 1.3.0
+ '@discordjs/util': 0.1.0
+ '@sapphire/async-queue': 1.5.0
+ '@sapphire/snowflake': 3.4.0
+ discord-api-types: 0.37.67
+ file-type: 18.0.0
+ tslib: 2.6.2
+ undici: 5.14.0
dev: false
- /@eslint/eslintrc@1.4.1:
- resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ /@discordjs/rest@2.2.0:
+ resolution: {integrity: sha512-nXm9wT8oqrYFRMEqTXQx9DUTeEtXUDMmnUKIhZn6O2EeDY9VCdwj23XCPq7fkqMPKdF7ldAfeVKyxxFdbZl59A==}
+ engines: {node: '>=16.11.0'}
dependencies:
- ajv: 6.12.6
- debug: 4.3.4
- espree: 9.4.1
- globals: 13.19.0
- ignore: 5.2.4
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@floating-ui/core@0.7.3:
- resolution: {integrity: sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg==}
+ '@discordjs/collection': 2.0.0
+ '@discordjs/util': 1.0.2
+ '@sapphire/async-queue': 1.5.1
+ '@sapphire/snowflake': 3.5.1
+ '@vladfrangu/async_event_emitter': 2.2.4
+ discord-api-types: 0.37.61
+ magic-bytes.js: 1.7.0
+ tslib: 2.6.2
+ undici: 5.27.2
dev: false
- /@floating-ui/core@1.0.5:
- resolution: {integrity: sha512-iDdOsaCHZH/0FM0yNBYt+cJxJF9S5jrYWNtDZOiDFMiZ7uxMJ/71h8eTwoVifEAruv9p9rlMPYCGIgMjOz95FQ==}
+ /@discordjs/util@0.1.0:
+ resolution: {integrity: sha512-e7d+PaTLVQav6rOc2tojh2y6FE8S7REkqLldq1XF4soCx74XB/DIjbVbVLtBemf0nLW77ntz0v+o5DytKwFNLQ==}
+ engines: {node: '>=16.9.0'}
dev: false
- /@floating-ui/dom@0.5.4:
- resolution: {integrity: sha512-419BMceRLq0RrmTSDxn8hf9R3VCJv2K9PUfugh5JyEFmdjzDo+e8U5EdR8nzKq8Yj1htzLm3b6eQEEam3/rrtg==}
- dependencies:
- '@floating-ui/core': 0.7.3
+ /@discordjs/util@1.0.2:
+ resolution: {integrity: sha512-IRNbimrmfb75GMNEjyznqM1tkI7HrZOf14njX7tCAAUetyZM1Pr8hX/EK2lxBCOgWDRmigbp24fD1hdMfQK5lw==}
+ engines: {node: '>=16.11.0'}
dev: false
- /@floating-ui/dom@1.1.0:
- resolution: {integrity: sha512-TSogMPVxbRe77QCj1dt8NmRiJasPvuc+eT5jnJ6YpLqgOD2zXc5UA3S1qwybN+GVCDNdKfpKy1oj8RpzLJvh6A==}
+ /@discordjs/ws@1.0.2:
+ resolution: {integrity: sha512-+XI82Rm2hKnFwAySXEep4A7Kfoowt6weO6381jgW+wVdTpMS/56qCvoXyFRY0slcv7c/U8My2PwIB2/wEaAh7Q==}
+ engines: {node: '>=16.11.0'}
dependencies:
- '@floating-ui/core': 1.0.5
+ '@discordjs/collection': 2.0.0
+ '@discordjs/rest': 2.2.0
+ '@discordjs/util': 1.0.2
+ '@sapphire/async-queue': 1.5.1
+ '@types/ws': 8.5.9
+ '@vladfrangu/async_event_emitter': 2.2.4
+ discord-api-types: 0.37.61
+ tslib: 2.6.2
+ ws: 8.14.2
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
dev: false
- /@floating-ui/react-dom@0.7.2(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-1T0sJcpHgX/u4I1OzIEhlcrvkUN8ln39nz7fMoE/2HDHrPiMFoOGR7++GYyfUmIQHkkrTinaeQsO3XWubjSvGg==}
- peerDependencies:
- react: '>=16.8.0'
- react-dom: '>=16.8.0'
+ /@drizzle-team/studio@0.0.39:
+ resolution: {integrity: sha512-c5Hkm7MmQC2n5qAsKShjQrHoqlfGslB8+qWzsGGZ+2dHMRTNG60UuzalF0h0rvBax5uzPXuGkYLGaQ+TUX3yMw==}
dependencies:
- '@floating-ui/dom': 0.5.4
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.31)(react@18.2.0)
- transitivePeerDependencies:
- - '@types/react'
- dev: false
+ superjson: 2.2.1
+ dev: true
- /@fontsource/montserrat@4.5.13:
- resolution: {integrity: sha512-/XlcNsMFjdWX4Away8Ax/4NgND8Ckk9gVDwgz1sfxF6h+gFHChLOV0IvPrUfCQjZ1F35igg+nR9bSxmjsYEskQ==}
- dev: false
+ /@edge-runtime/cookies@3.4.1:
+ resolution: {integrity: sha512-z27BvgPxI73CgSlxU/NAUf1Q/shnqi6cobHEowf6VuLdSjGR3NjI2Y5dZUIBbK2zOJVZbXcHsVzJjz8LklteFQ==}
+ engines: {node: '>=16'}
+ dev: true
- /@humanwhocodes/config-array@0.11.8:
- resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==}
- engines: {node: '>=10.10.0'}
+ /@edge-runtime/format@2.2.0:
+ resolution: {integrity: sha512-gPrS6AVw/qJJL0vcxMXv4kFXCU3ZTCD1uuJpwX15YxHV8BgU9OG5v9LrkkXcr96PBT/9epypfNJMhlWADuEziw==}
+ engines: {node: '>=16'}
+ dev: true
+
+ /@edge-runtime/node-utils@2.2.1:
+ resolution: {integrity: sha512-RUl/439BHKshkhSGFRlZ1kzy68wL4mn8VNKDSZr3p0tciyZ33Mjfpl+vofqnHqXRmDI6nLnZpfJvhY3D88o0pA==}
+ engines: {node: '>=16'}
dependencies:
- '@humanwhocodes/object-schema': 1.2.1
- debug: 4.3.4
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
+ '@edge-runtime/cookies': 3.4.1
dev: true
- /@humanwhocodes/module-importer@1.0.1:
- resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
- engines: {node: '>=12.22'}
+ /@edge-runtime/ponyfill@2.4.1:
+ resolution: {integrity: sha512-ZbR/EViY3gg2rmEAQTKPa6mXl4aR1/+cFcQe4r1segCjEbTAxT6PWu40odbu/KlZKSysEb2O/BWIC2lJgSJOMQ==}
+ engines: {node: '>=16'}
dev: true
- /@humanwhocodes/object-schema@1.2.1:
- resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
+ /@edge-runtime/primitives@4.0.5:
+ resolution: {integrity: sha512-t7QiN5d/KpXgCvIfSt6Nm9Hj3WVdNgc5CpOD73jasY+9EvTI7Ngdj5cXvjcHrPcmYWJZMySPgeEeoL/1N/Llag==}
+ engines: {node: '>=16'}
dev: true
- /@jridgewell/gen-mapping@0.3.2:
- resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==}
- engines: {node: '>=6.0.0'}
+ /@edge-runtime/vm@3.1.7:
+ resolution: {integrity: sha512-hUMFbDQ/nZN+1TLMi6iMO1QFz9RSV8yGG8S42WFPFma1d7VSNE0eMdJUmwjmtav22/iQkzHMmu6oTSfAvRGS8g==}
+ engines: {node: '>=16'}
dependencies:
- '@jridgewell/set-array': 1.1.2
- '@jridgewell/sourcemap-codec': 1.4.14
- '@jridgewell/trace-mapping': 0.3.17
+ '@edge-runtime/primitives': 4.0.5
+ dev: true
+
+ /@emnapi/runtime@0.45.0:
+ resolution: {integrity: sha512-Txumi3td7J4A/xTTwlssKieHKTGl3j4A1tglBx72auZ49YK7ePY6XZricgIg9mnZT4xPfA+UPCUdnhRuEFDL+w==}
+ requiresBuild: true
+ dependencies:
+ tslib: 2.6.2
dev: false
+ optional: true
- /@jridgewell/gen-mapping@0.3.3:
- resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
- engines: {node: '>=6.0.0'}
+ /@emotion/babel-plugin@11.11.0:
+ resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==}
dependencies:
- '@jridgewell/set-array': 1.1.2
- '@jridgewell/sourcemap-codec': 1.4.15
- '@jridgewell/trace-mapping': 0.3.20
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/runtime': 7.23.2
+ '@emotion/hash': 0.9.1
+ '@emotion/memoize': 0.8.1
+ '@emotion/serialize': 1.1.2
+ babel-plugin-macros: 3.1.0
+ convert-source-map: 1.9.0
+ escape-string-regexp: 4.0.0
+ find-root: 1.1.0
+ source-map: 0.5.7
+ stylis: 4.2.0
dev: false
- /@jridgewell/resolve-uri@3.1.0:
- resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
- engines: {node: '>=6.0.0'}
+ /@emotion/cache@11.11.0:
+ resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==}
+ dependencies:
+ '@emotion/memoize': 0.8.1
+ '@emotion/sheet': 1.2.2
+ '@emotion/utils': 1.2.1
+ '@emotion/weak-memoize': 0.3.1
+ stylis: 4.2.0
+ dev: false
- /@jridgewell/resolve-uri@3.1.1:
- resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
- engines: {node: '>=6.0.0'}
+ /@emotion/hash@0.9.1:
+ resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==}
dev: false
- /@jridgewell/set-array@1.1.2:
- resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
- engines: {node: '>=6.0.0'}
+ /@emotion/memoize@0.8.1:
+ resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==}
dev: false
- /@jridgewell/source-map@0.3.2:
- resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==}
+ /@emotion/react@11.11.1(@types/react@18.2.48)(react@18.2.0):
+ resolution: {integrity: sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: '>=16.8.0'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
dependencies:
- '@jridgewell/gen-mapping': 0.3.2
- '@jridgewell/trace-mapping': 0.3.17
+ '@babel/runtime': 7.23.2
+ '@emotion/babel-plugin': 11.11.0
+ '@emotion/cache': 11.11.0
+ '@emotion/serialize': 1.1.2
+ '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0)
+ '@emotion/utils': 1.2.1
+ '@emotion/weak-memoize': 0.3.1
+ '@types/react': 18.2.48
+ hoist-non-react-statics: 3.3.2
+ react: 18.2.0
dev: false
- /@jridgewell/sourcemap-codec@1.4.14:
- resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
+ /@emotion/serialize@1.1.2:
+ resolution: {integrity: sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==}
+ dependencies:
+ '@emotion/hash': 0.9.1
+ '@emotion/memoize': 0.8.1
+ '@emotion/unitless': 0.8.1
+ '@emotion/utils': 1.2.1
+ csstype: 3.1.2
+ dev: false
- /@jridgewell/sourcemap-codec@1.4.15:
- resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
+ /@emotion/sheet@1.2.2:
+ resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==}
dev: false
- /@jridgewell/trace-mapping@0.3.17:
- resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==}
- dependencies:
- '@jridgewell/resolve-uri': 3.1.0
- '@jridgewell/sourcemap-codec': 1.4.14
+ /@emotion/unitless@0.8.1:
+ resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==}
dev: false
- /@jridgewell/trace-mapping@0.3.20:
- resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
+ /@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@18.2.0):
+ resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==}
+ peerDependencies:
+ react: '>=16.8.0'
dependencies:
- '@jridgewell/resolve-uri': 3.1.1
- '@jridgewell/sourcemap-codec': 1.4.15
+ react: 18.2.0
dev: false
- /@jridgewell/trace-mapping@0.3.9:
- resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
- dependencies:
- '@jridgewell/resolve-uri': 3.1.0
- '@jridgewell/sourcemap-codec': 1.4.14
+ /@emotion/utils@1.2.1:
+ resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==}
+ dev: false
- /@next/env@13.5.6:
- resolution: {integrity: sha512-Yac/bV5sBGkkEXmAX5FWPS9Mmo2rthrOPRQQNfycJPkjUAUclomCPH7QFVCDQ4Mp2k2K1SSM6m0zrxYrOwtFQw==}
+ /@emotion/weak-memoize@0.3.1:
+ resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==}
dev: false
- /@next/eslint-plugin-next@13.1.1:
- resolution: {integrity: sha512-SBrOFS8PC3nQ5aeZmawJkjKkWjwK9RoxvBSv/86nZp0ubdoVQoko8r8htALd9ufp16NhacCdqhu9bzZLDWtALQ==}
+ /@ericcornelissen/bash-parser@0.5.2:
+ resolution: {integrity: sha512-4pIMTa1nEFfMXitv7oaNEWOdM+zpOZavesa5GaiWTgda6Zk32CFGxjUp/iIaN0PwgUW1yTq/fztSjbpE8SLGZQ==}
+ engines: {node: '>=4'}
dependencies:
- glob: 7.1.7
+ array-last: 1.3.0
+ babylon: 6.18.0
+ compose-function: 3.0.3
+ deep-freeze: 0.0.1
+ filter-iterator: 0.0.1
+ filter-obj: 1.1.0
+ has-own-property: 0.1.0
+ identity-function: 1.0.0
+ is-iterable: 1.1.1
+ iterable-lookahead: 1.0.0
+ lodash.curry: 4.1.1
+ magic-string: 0.16.0
+ map-obj: 2.0.0
+ object-pairs: 0.1.0
+ object-values: 1.0.0
+ reverse-arguments: 1.0.0
+ shell-quote-word: 1.0.1
+ to-pascal-case: 1.0.0
+ unescape-js: 1.1.4
+ dev: true
+
+ /@esbuild-kit/core-utils@3.3.2:
+ resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==}
+ dependencies:
+ esbuild: 0.18.20
+ source-map-support: 0.5.21
dev: true
- /@next/swc-darwin-arm64@13.5.6:
- resolution: {integrity: sha512-5nvXMzKtZfvcu4BhtV0KH1oGv4XEW+B+jOfmBdpFI3C7FrB/MfujRpWYSBBO64+qbW8pkZiSyQv9eiwnn5VIQA==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [darwin]
+ /@esbuild-kit/esm-loader@2.6.5:
+ resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==}
+ dependencies:
+ '@esbuild-kit/core-utils': 3.3.2
+ get-tsconfig: 4.7.2
+ dev: true
+
+ /@esbuild-plugins/node-globals-polyfill@0.2.3(esbuild@0.17.19):
+ resolution: {integrity: sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==}
+ peerDependencies:
+ esbuild: '*'
+ dependencies:
+ esbuild: 0.17.19
+ dev: true
+
+ /@esbuild-plugins/node-modules-polyfill@0.2.2(esbuild@0.17.19):
+ resolution: {integrity: sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==}
+ peerDependencies:
+ esbuild: '*'
+ dependencies:
+ esbuild: 0.17.19
+ escape-string-regexp: 4.0.0
+ rollup-plugin-node-polyfills: 0.2.1
+ dev: true
+
+ /@esbuild/aix-ppc64@0.19.11:
+ resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
requiresBuild: true
- dev: false
+ dev: true
optional: true
- /@next/swc-darwin-x64@13.5.6:
- resolution: {integrity: sha512-6cgBfxg98oOCSr4BckWjLLgiVwlL3vlLj8hXg2b+nDgm4bC/qVXXLfpLB9FHdoDu4057hzywbxKvmYGmi7yUzA==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [darwin]
+ /@esbuild/android-arm64@0.17.19:
+ resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
requiresBuild: true
- dev: false
+ dev: true
optional: true
- /@next/swc-linux-arm64-gnu@13.5.6:
- resolution: {integrity: sha512-txagBbj1e1w47YQjcKgSU4rRVQ7uF29YpnlHV5xuVUsgCUf2FmyfJ3CPjZUvpIeXCJAoMCFAoGnbtX86BK7+sg==}
- engines: {node: '>= 10'}
+ /@esbuild/android-arm64@0.18.20:
+ resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
+ engines: {node: '>=12'}
cpu: [arm64]
- os: [linux]
+ os: [android]
requiresBuild: true
- dev: false
+ dev: true
optional: true
- /@next/swc-linux-arm64-musl@13.5.6:
- resolution: {integrity: sha512-cGd+H8amifT86ZldVJtAKDxUqeFyLWW+v2NlBULnLAdWsiuuN8TuhVBt8ZNpCqcAuoruoSWynvMWixTFcroq+Q==}
- engines: {node: '>= 10'}
+ /@esbuild/android-arm64@0.19.11:
+ resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==}
+ engines: {node: '>=12'}
cpu: [arm64]
- os: [linux]
+ os: [android]
requiresBuild: true
- dev: false
+ dev: true
optional: true
- /@next/swc-linux-x64-gnu@13.5.6:
- resolution: {integrity: sha512-Mc2b4xiIWKXIhBy2NBTwOxGD3nHLmq4keFk+d4/WL5fMsB8XdJRdtUlL87SqVCTSaf1BRuQQf1HvXZcy+rq3Nw==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
+ /@esbuild/android-arm@0.15.18:
+ resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
requiresBuild: true
- dev: false
+ dev: true
optional: true
- /@next/swc-linux-x64-musl@13.5.6:
- resolution: {integrity: sha512-CFHvP9Qz98NruJiUnCe61O6GveKKHpJLloXbDSWRhqhkJdZD2zU5hG+gtVJR//tyW897izuHpM6Gtf6+sNgJPQ==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
+ /@esbuild/android-arm@0.17.19:
+ resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
requiresBuild: true
- dev: false
+ dev: true
optional: true
- /@next/swc-win32-arm64-msvc@13.5.6:
- resolution: {integrity: sha512-aFv1ejfkbS7PUa1qVPwzDHjQWQtknzAZWGTKYIAaS4NMtBlk3VyA6AYn593pqNanlicewqyl2jUhQAaFV/qXsg==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [win32]
+ /@esbuild/android-arm@0.18.20:
+ resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
requiresBuild: true
- dev: false
+ dev: true
optional: true
- /@next/swc-win32-ia32-msvc@13.5.6:
- resolution: {integrity: sha512-XqqpHgEIlBHvzwG8sp/JXMFkLAfGLqkbVsyN+/Ih1mR8INb6YCc2x/Mbwi6hsAgUnqQztz8cvEbHJUbSl7RHDg==}
- engines: {node: '>= 10'}
- cpu: [ia32]
- os: [win32]
+ /@esbuild/android-arm@0.19.11:
+ resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
requiresBuild: true
- dev: false
+ dev: true
optional: true
- /@next/swc-win32-x64-msvc@13.5.6:
- resolution: {integrity: sha512-Cqfe1YmOS7k+5mGu92nl5ULkzpKuxJrP3+4AEuPmrpFZ3BHxTY3TnHmU1On3bFmFFs6FbTcdF58CCUProGpIGQ==}
- engines: {node: '>= 10'}
+ /@esbuild/android-x64@0.17.19:
+ resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==}
+ engines: {node: '>=12'}
cpu: [x64]
- os: [win32]
+ os: [android]
requiresBuild: true
- dev: false
+ dev: true
+ optional: true
+
+ /@esbuild/android-x64@0.18.20:
+ resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-x64@0.19.11:
+ resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-arm64@0.17.19:
+ resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-arm64@0.18.20:
+ resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-arm64@0.19.11:
+ resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-x64@0.17.19:
+ resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-x64@0.18.20:
+ resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-x64@0.19.11:
+ resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-arm64@0.17.19:
+ resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-arm64@0.18.20:
+ resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-arm64@0.19.11:
+ resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-x64@0.17.19:
+ resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-x64@0.18.20:
+ resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-x64@0.19.11:
+ resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm64@0.17.19:
+ resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm64@0.18.20:
+ resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm64@0.19.11:
+ resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm@0.17.19:
+ resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm@0.18.20:
+ resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm@0.19.11:
+ resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ia32@0.17.19:
+ resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ia32@0.18.20:
+ resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ia32@0.19.11:
+ resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-loong64@0.15.18:
+ resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-loong64@0.17.19:
+ resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-loong64@0.18.20:
+ resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-loong64@0.19.11:
+ resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-mips64el@0.17.19:
+ resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-mips64el@0.18.20:
+ resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-mips64el@0.19.11:
+ resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ppc64@0.17.19:
+ resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ppc64@0.18.20:
+ resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ppc64@0.19.11:
+ resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
optional: true
- /@nodelib/fs.scandir@2.1.5:
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
+ /@esbuild/linux-riscv64@0.17.19:
+ resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-riscv64@0.18.20:
+ resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-riscv64@0.19.11:
+ resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-s390x@0.17.19:
+ resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-s390x@0.18.20:
+ resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-s390x@0.19.11:
+ resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-x64@0.17.19:
+ resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-x64@0.18.20:
+ resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-x64@0.19.11:
+ resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/netbsd-x64@0.17.19:
+ resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/netbsd-x64@0.18.20:
+ resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/netbsd-x64@0.19.11:
+ resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/openbsd-x64@0.17.19:
+ resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/openbsd-x64@0.18.20:
+ resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/openbsd-x64@0.19.11:
+ resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/sunos-x64@0.17.19:
+ resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/sunos-x64@0.18.20:
+ resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/sunos-x64@0.19.11:
+ resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-arm64@0.17.19:
+ resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-arm64@0.18.20:
+ resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-arm64@0.19.11:
+ resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-ia32@0.17.19:
+ resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-ia32@0.18.20:
+ resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-ia32@0.19.11:
+ resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-x64@0.17.19:
+ resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-x64@0.18.20:
+ resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-x64@0.19.11:
+ resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0):
+ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+ dependencies:
+ eslint: 8.56.0
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
+ /@eslint-community/regexpp@4.10.0:
+ resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ dev: true
+
+ /@eslint/eslintrc@2.1.4:
+ resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.4
+ espree: 9.6.1
+ globals: 13.24.0
+ ignore: 5.3.0
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@eslint/js@8.56.0:
+ resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ /@fastify/busboy@2.1.0:
+ resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==}
+ engines: {node: '>=14'}
+
+ /@floating-ui/core@1.5.0:
+ resolution: {integrity: sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==}
+ dependencies:
+ '@floating-ui/utils': 0.1.6
+ dev: false
+
+ /@floating-ui/dom@1.5.3:
+ resolution: {integrity: sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==}
+ dependencies:
+ '@floating-ui/core': 1.5.0
+ '@floating-ui/utils': 0.1.6
+ dev: false
+
+ /@floating-ui/react-dom@2.0.2(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-5qhlDvjaLmAst/rKb3VdlCinwTF4EYMiVxuuc/HVUjs46W0zgtbMmAZ1UTsDrRTxRmUEzl92mOtWbeeXL26lSQ==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+ dependencies:
+ '@floating-ui/dom': 1.5.3
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@floating-ui/utils@0.1.6:
+ resolution: {integrity: sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==}
+ dev: false
+
+ /@formatjs/intl-localematcher@0.5.2:
+ resolution: {integrity: sha512-txaaE2fiBMagLrR4jYhxzFO6wEdEG4TPMqrzBAcbr4HFUYzH/YC+lg6OIzKCHm8WgDdyQevxbAAV1OgcXctuGw==}
+ dependencies:
+ tslib: 2.6.2
+ dev: false
+
+ /@humanwhocodes/config-array@0.11.14:
+ resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
+ engines: {node: '>=10.10.0'}
+ dependencies:
+ '@humanwhocodes/object-schema': 2.0.2
+ debug: 4.3.4
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@humanwhocodes/module-importer@1.0.1:
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
+ engines: {node: '>=12.22'}
+ dev: true
+
+ /@humanwhocodes/object-schema@2.0.2:
+ resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
+ dev: true
+
+ /@img/sharp-darwin-arm64@0.33.2:
+ resolution: {integrity: sha512-itHBs1rPmsmGF9p4qRe++CzCgd+kFYktnsoR1sbIAfsRMrJZau0Tt1AH9KVnufc2/tU02Gf6Ibujx+15qRE03w==}
+ engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-arm64': 1.0.1
+ dev: false
+ optional: true
+
+ /@img/sharp-darwin-x64@0.33.2:
+ resolution: {integrity: sha512-/rK/69Rrp9x5kaWBjVN07KixZanRr+W1OiyKdXcbjQD6KbW+obaTeBBtLUAtbBsnlTTmWthw99xqoOS7SsySDg==}
+ engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-x64': 1.0.1
+ dev: false
+ optional: true
+
+ /@img/sharp-libvips-darwin-arm64@1.0.1:
+ resolution: {integrity: sha512-kQyrSNd6lmBV7O0BUiyu/OEw9yeNGFbQhbxswS1i6rMDwBBSX+e+rPzu3S+MwAiGU3HdLze3PanQ4Xkfemgzcw==}
+ engines: {macos: '>=11', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@img/sharp-libvips-darwin-x64@1.0.1:
+ resolution: {integrity: sha512-eVU/JYLPVjhhrd8Tk6gosl5pVlvsqiFlt50wotCvdkFGf+mDNBJxMh+bvav+Wt3EBnNZWq8Sp2I7XfSjm8siog==}
+ engines: {macos: '>=10.13', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@img/sharp-libvips-linux-arm64@1.0.1:
+ resolution: {integrity: sha512-bnGG+MJjdX70mAQcSLxgeJco11G+MxTz+ebxlz8Y3dxyeb3Nkl7LgLI0mXupoO+u1wRNx/iRj5yHtzA4sde1yA==}
+ engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@img/sharp-libvips-linux-arm@1.0.1:
+ resolution: {integrity: sha512-FtdMvR4R99FTsD53IA3LxYGghQ82t3yt0ZQ93WMZ2xV3dqrb0E8zq4VHaTOuLEAuA83oDawHV3fd+BsAPadHIQ==}
+ engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@img/sharp-libvips-linux-s390x@1.0.1:
+ resolution: {integrity: sha512-3+rzfAR1YpMOeA2zZNp+aYEzGNWK4zF3+sdMxuCS3ey9HhDbJ66w6hDSHDMoap32DueFwhhs3vwooAB2MaK4XQ==}
+ engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@img/sharp-libvips-linux-x64@1.0.1:
+ resolution: {integrity: sha512-3NR1mxFsaSgMMzz1bAnnKbSAI+lHXVTqAHgc1bgzjHuXjo4hlscpUxc0vFSAPKI3yuzdzcZOkq7nDPrP2F8Jgw==}
+ engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@img/sharp-libvips-linuxmusl-arm64@1.0.1:
+ resolution: {integrity: sha512-5aBRcjHDG/T6jwC3Edl3lP8nl9U2Yo8+oTl5drd1dh9Z1EBfzUKAJFUDTDisDjUwc7N4AjnPGfCA3jl3hY8uDg==}
+ engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@img/sharp-libvips-linuxmusl-x64@1.0.1:
+ resolution: {integrity: sha512-dcT7inI9DBFK6ovfeWRe3hG30h51cBAP5JXlZfx6pzc/Mnf9HFCQDLtYf4MCBjxaaTfjCCjkBxcy3XzOAo5txw==}
+ engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@img/sharp-linux-arm64@0.33.2:
+ resolution: {integrity: sha512-pz0NNo882vVfqJ0yNInuG9YH71smP4gRSdeL09ukC2YLE6ZyZePAlWKEHgAzJGTiOh8Qkaov6mMIMlEhmLdKew==}
+ engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm64': 1.0.1
+ dev: false
+ optional: true
+
+ /@img/sharp-linux-arm@0.33.2:
+ resolution: {integrity: sha512-Fndk/4Zq3vAc4G/qyfXASbS3HBZbKrlnKZLEJzPLrXoJuipFNNwTes71+Ki1hwYW5lch26niRYoZFAtZVf3EGA==}
+ engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm': 1.0.1
+ dev: false
+ optional: true
+
+ /@img/sharp-linux-s390x@0.33.2:
+ resolution: {integrity: sha512-MBoInDXDppMfhSzbMmOQtGfloVAflS2rP1qPcUIiITMi36Mm5YR7r0ASND99razjQUpHTzjrU1flO76hKvP5RA==}
+ engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-linux-s390x': 1.0.1
+ dev: false
+ optional: true
+
+ /@img/sharp-linux-x64@0.33.2:
+ resolution: {integrity: sha512-xUT82H5IbXewKkeF5aiooajoO1tQV4PnKfS/OZtb5DDdxS/FCI/uXTVZ35GQ97RZXsycojz/AJ0asoz6p2/H/A==}
+ engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-linux-x64': 1.0.1
+ dev: false
+ optional: true
+
+ /@img/sharp-linuxmusl-arm64@0.33.2:
+ resolution: {integrity: sha512-F+0z8JCu/UnMzg8IYW1TMeiViIWBVg7IWP6nE0p5S5EPQxlLd76c8jYemG21X99UzFwgkRo5yz2DS+zbrnxZeA==}
+ engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-arm64': 1.0.1
+ dev: false
+ optional: true
+
+ /@img/sharp-linuxmusl-x64@0.33.2:
+ resolution: {integrity: sha512-+ZLE3SQmSL+Fn1gmSaM8uFusW5Y3J9VOf+wMGNnTtJUMUxFhv+P4UPaYEYT8tqnyYVaOVGgMN/zsOxn9pSsO2A==}
+ engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-x64': 1.0.1
+ dev: false
+ optional: true
+
+ /@img/sharp-wasm32@0.33.2:
+ resolution: {integrity: sha512-fLbTaESVKuQcpm8ffgBD7jLb/CQLcATju/jxtTXR1XCLwbOQt+OL5zPHSDMmp2JZIeq82e18yE0Vv7zh6+6BfQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [wasm32]
+ requiresBuild: true
+ dependencies:
+ '@emnapi/runtime': 0.45.0
+ dev: false
+ optional: true
+
+ /@img/sharp-win32-ia32@0.33.2:
+ resolution: {integrity: sha512-okBpql96hIGuZ4lN3+nsAjGeggxKm7hIRu9zyec0lnfB8E7Z6p95BuRZzDDXZOl2e8UmR4RhYt631i7mfmKU8g==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@img/sharp-win32-x64@0.33.2:
+ resolution: {integrity: sha512-E4magOks77DK47FwHUIGH0RYWSgRBfGdK56kIHSVeB9uIS4pPFr4N2kIVsXdQQo4LzOsENKV5KAhRlRL7eMAdg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@isaacs/cliui@8.0.2:
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
+ engines: {node: '>=12'}
+ dependencies:
+ string-width: 5.1.2
+ string-width-cjs: /string-width@4.2.3
+ strip-ansi: 7.1.0
+ strip-ansi-cjs: /strip-ansi@6.0.1
+ wrap-ansi: 8.1.0
+ wrap-ansi-cjs: /wrap-ansi@7.0.0
+
+ /@jest/schemas@29.6.3:
+ resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@sinclair/typebox': 0.27.8
+
+ /@jest/types@29.6.3:
+ resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/schemas': 29.6.3
+ '@types/istanbul-lib-coverage': 2.0.6
+ '@types/istanbul-reports': 3.0.4
+ '@types/node': 20.11.10
+ '@types/yargs': 17.0.32
+ chalk: 4.1.2
+
+ /@jridgewell/gen-mapping@0.3.3:
+ resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/set-array': 1.1.2
+ '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/trace-mapping': 0.3.20
+
+ /@jridgewell/resolve-uri@3.1.0:
+ resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
+ engines: {node: '>=6.0.0'}
+ dev: false
+
+ /@jridgewell/resolve-uri@3.1.1:
+ resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
+ engines: {node: '>=6.0.0'}
+
+ /@jridgewell/set-array@1.1.2:
+ resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
+ engines: {node: '>=6.0.0'}
+
+ /@jridgewell/source-map@0.3.2:
+ resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.20
+ dev: false
+
+ /@jridgewell/source-map@0.3.5:
+ resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.22
+ dev: true
+
+ /@jridgewell/sourcemap-codec@1.4.14:
+ resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
+ dev: false
+
+ /@jridgewell/sourcemap-codec@1.4.15:
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
+
+ /@jridgewell/trace-mapping@0.3.17:
+ resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==}
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.0
+ '@jridgewell/sourcemap-codec': 1.4.14
+ dev: false
+
+ /@jridgewell/trace-mapping@0.3.20:
+ resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.1
+ '@jridgewell/sourcemap-codec': 1.4.15
+
+ /@jridgewell/trace-mapping@0.3.22:
+ resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==}
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.1
+ '@jridgewell/sourcemap-codec': 1.4.15
+ dev: true
+
+ /@jridgewell/trace-mapping@0.3.9:
+ resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.1
+ '@jridgewell/sourcemap-codec': 1.4.15
+
+ /@lingui/babel-plugin-extract-messages@4.7.0:
+ resolution: {integrity: sha512-CROHpjSqLy71aGDskl5wFk47cCuEAsY1etAt6tDkq0iuHwpSebJpzSN58gQJybRTCqYA+3PTkqCADoeSvcTwRA==}
+ engines: {node: '>=16.0.0'}
+ dev: true
+
+ /@lingui/cli@4.7.0(typescript@5.3.3):
+ resolution: {integrity: sha512-XGKGZOE5RF+Q74vCRP5gmiAidhwEbzSPsaZWYIAEuG8Oleo1saXAJJm5iKpoiOOTxl6ME9xp0nfIMmL2NCA1Dw==}
+ engines: {node: '>=16.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/core': 7.23.7
+ '@babel/generator': 7.23.6
+ '@babel/parser': 7.23.6
+ '@babel/runtime': 7.23.8
+ '@babel/types': 7.23.6
+ '@lingui/babel-plugin-extract-messages': 4.7.0
+ '@lingui/conf': 4.7.0(typescript@5.3.3)
+ '@lingui/core': 4.7.0
+ '@lingui/format-po': 4.7.0(typescript@5.3.3)
+ '@lingui/message-utils': 4.7.0
+ babel-plugin-macros: 3.1.0
+ chalk: 4.1.2
+ chokidar: 3.5.1
+ cli-table: 0.3.6
+ commander: 10.0.1
+ convert-source-map: 2.0.0
+ date-fns: 2.30.0
+ esbuild: 0.17.19
+ glob: 7.2.3
+ inquirer: 7.3.3
+ micromatch: 4.0.2
+ normalize-path: 3.0.0
+ ora: 5.4.1
+ pathe: 1.1.2
+ pkg-up: 3.1.0
+ pofile: 1.1.4
+ pseudolocale: 2.0.0
+ ramda: 0.27.2
+ source-map: 0.8.0-beta.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@lingui/conf@4.7.0(typescript@5.3.3):
+ resolution: {integrity: sha512-j5prZL9PEFfQU7jtXrNIAGWB89KQkjEdYENwwdZyWQ9ZJkp8tcNqcYMTtqcU7vMh2lOJdu4WVuvjvnOHMO9RHQ==}
+ engines: {node: '>=16.0.0'}
+ dependencies:
+ '@babel/runtime': 7.23.8
+ chalk: 4.1.2
+ cosmiconfig: 8.3.6(typescript@5.3.3)
+ jest-validate: 29.7.0
+ jiti: 1.21.0
+ lodash.get: 4.4.2
+ transitivePeerDependencies:
+ - typescript
+
+ /@lingui/core@4.7.0:
+ resolution: {integrity: sha512-lr6CMDRztFgS5qna9pLA/MPZRgujN9SCIoQ1LvGZem94U4Qc7ptSwAG1LIET9b3qxRXJm5XOTrq0HefN2Qm1IA==}
+ engines: {node: '>=16.0.0'}
+ dependencies:
+ '@babel/runtime': 7.23.8
+ '@lingui/message-utils': 4.7.0
+ unraw: 3.0.0
+
+ /@lingui/format-po@4.7.0(typescript@5.3.3):
+ resolution: {integrity: sha512-ptUp9nRt6mB9o82O61WzF8c2My/nfMv4cFt+L1oe5XA/+WLDEoOD2eEhu2PLd+/V6rtnnhqQjp3DzoQZ2I/HfA==}
+ engines: {node: '>=16.0.0'}
+ dependencies:
+ '@lingui/conf': 4.7.0(typescript@5.3.3)
+ '@lingui/message-utils': 4.7.0
+ date-fns: 2.30.0
+ pofile: 1.1.4
+ transitivePeerDependencies:
+ - typescript
+ dev: true
+
+ /@lingui/loader@4.7.0(typescript@5.3.3)(webpack@5.90.0):
+ resolution: {integrity: sha512-j3yVbwMMHTBMBs1dikvES/W2V6nKKwnOTnj5dkgMDYRwKLSUPdLU2m1BcG8eIQh6EyPbHgOFosUzVF1tB75TeA==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+ dependencies:
+ '@babel/runtime': 7.23.8
+ '@lingui/cli': 4.7.0(typescript@5.3.3)
+ '@lingui/conf': 4.7.0(typescript@5.3.3)
+ webpack: 5.90.0(esbuild@0.19.11)
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@lingui/macro@4.7.0(@lingui/react@4.7.0)(babel-plugin-macros@3.1.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-r2I99yudMJ0pbTySoVmN0l/U4fF7dgsVZZeEpF82jwLwS+ND9dkJswYXUOuF6RPr5oVi2NpkJ0M4ZejDfCAAoA==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ '@lingui/react': ^4.0.0
+ babel-plugin-macros: 2 || 3
+ dependencies:
+ '@babel/runtime': 7.23.8
+ '@babel/types': 7.23.6
+ '@lingui/conf': 4.7.0(typescript@5.3.3)
+ '@lingui/core': 4.7.0
+ '@lingui/message-utils': 4.7.0
+ '@lingui/react': 4.7.0(react@18.2.0)
+ babel-plugin-macros: 3.1.0
+ transitivePeerDependencies:
+ - typescript
+
+ /@lingui/message-utils@4.7.0:
+ resolution: {integrity: sha512-JrGdxORRzefOh9qAkQYJchh+ehnWlLK9/kOG9x6VkV9aekWLk8vCVbXBh4Q707sTcIgCki8KwT1yuBMwZ2YBEg==}
+ engines: {node: '>=16.0.0'}
+ dependencies:
+ '@messageformat/parser': 5.1.0
+ js-sha256: 0.10.1
+
+ /@lingui/react@4.7.0(react@18.2.0):
+ resolution: {integrity: sha512-a9SR+U6hobOL+/GPR11gObg9cOzQ4mcGhtUbXQx/WjlWDsau29oXna4vA5pRYiq58dpPXYrsg+ZENsXxNERCwA==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ '@babel/runtime': 7.23.8
+ '@lingui/core': 4.7.0
+ react: 18.2.0
+
+ /@lingui/swc-plugin@4.0.4(@lingui/macro@4.7.0)(next@14.1.0):
+ resolution: {integrity: sha512-xRnR96Mqi6zwGlVfGJMfoM8QykBbUz/sSnwmcFL9BZ8Y9YBZxzLAVf4t1BbiIQsAs+pMYu/HfujTBD4y/r1ucA==}
+ peerDependencies:
+ '@lingui/macro': '4'
+ '@swc/core': '*'
+ next: '*'
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ next:
+ optional: true
+ dependencies:
+ '@lingui/macro': 4.7.0(@lingui/react@4.7.0)(babel-plugin-macros@3.1.0)(typescript@5.3.3)
+ next: 14.1.0(@babel/core@7.23.7)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0)
+ dev: true
+
+ /@mapbox/node-pre-gyp@1.0.11(encoding@0.1.13):
+ resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==}
+ hasBin: true
+ dependencies:
+ detect-libc: 2.0.2
+ https-proxy-agent: 5.0.1
+ make-dir: 3.1.0
+ node-fetch: 2.7.0(encoding@0.1.13)
+ nopt: 5.0.0
+ npmlog: 5.0.1
+ rimraf: 3.0.2
+ semver: 7.5.4
+ tar: 6.2.0
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /@messageformat/parser@5.1.0:
+ resolution: {integrity: sha512-jKlkls3Gewgw6qMjKZ9SFfHUpdzEVdovKFtW1qRhJ3WI4FW5R/NnGDqr8SDGz+krWDO3ki94boMmQvGke1HwUQ==}
+ dependencies:
+ moo: 0.5.2
+
+ /@next/env@14.1.0:
+ resolution: {integrity: sha512-Py8zIo+02ht82brwwhTg36iogzFqGLPXlRGKQw5s+qP/kMNc4MAyDeEwBKDijk6zTIbegEgu8Qy7C1LboslQAw==}
+
+ /@next/eslint-plugin-next@14.1.0:
+ resolution: {integrity: sha512-x4FavbNEeXx/baD/zC/SdrvkjSby8nBn8KcCREqk6UuwvwoAPZmaV8TFCAuo/cpovBRTIY67mHhe86MQQm/68Q==}
+ dependencies:
+ glob: 10.3.10
+ dev: true
+
+ /@next/swc-darwin-arm64@14.1.0:
+ resolution: {integrity: sha512-nUDn7TOGcIeyQni6lZHfzNoo9S0euXnu0jhsbMOmMJUBfgsnESdjN97kM7cBqQxZa8L/bM9om/S5/1dzCrW6wQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-darwin-x64@14.1.0:
+ resolution: {integrity: sha512-1jgudN5haWxiAl3O1ljUS2GfupPmcftu2RYJqZiMJmmbBT5M1XDffjUtRUzP4W3cBHsrvkfOFdQ71hAreNQP6g==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-linux-arm64-gnu@14.1.0:
+ resolution: {integrity: sha512-RHo7Tcj+jllXUbK7xk2NyIDod3YcCPDZxj1WLIYxd709BQ7WuRYl3OWUNG+WUfqeQBds6kvZYlc42NJJTNi4tQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-linux-arm64-musl@14.1.0:
+ resolution: {integrity: sha512-v6kP8sHYxjO8RwHmWMJSq7VZP2nYCkRVQ0qolh2l6xroe9QjbgV8siTbduED4u0hlk0+tjS6/Tuy4n5XCp+l6g==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-linux-x64-gnu@14.1.0:
+ resolution: {integrity: sha512-zJ2pnoFYB1F4vmEVlb/eSe+VH679zT1VdXlZKX+pE66grOgjmKJHKacf82g/sWE4MQ4Rk2FMBCRnX+l6/TVYzQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-linux-x64-musl@14.1.0:
+ resolution: {integrity: sha512-rbaIYFt2X9YZBSbH/CwGAjbBG2/MrACCVu2X0+kSykHzHnYH5FjHxwXLkcoJ10cX0aWCEynpu+rP76x0914atg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-win32-arm64-msvc@14.1.0:
+ resolution: {integrity: sha512-o1N5TsYc8f/HpGt39OUQpQ9AKIGApd3QLueu7hXk//2xq5Z9OxmV6sQfNp8C7qYmiOlHYODOGqNNa0e9jvchGQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-win32-ia32-msvc@14.1.0:
+ resolution: {integrity: sha512-XXIuB1DBRCFwNO6EEzCTMHT5pauwaSj4SWs7CYnME57eaReAKBXCnkUE80p/pAZcewm7hs+vGvNqDPacEXHVkw==}
+ engines: {node: '>= 10'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-win32-x64-msvc@14.1.0:
+ resolution: {integrity: sha512-9WEbVRRAqJ3YFVqEZIxUqkiO8l1nool1LmNxygr5HWF8AcSYsEpneUDhmjUVJEzO2A04+oPtZdombzzPPkTtgg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@nodelib/fs.scandir@2.1.5:
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ /@nodelib/fs.scandir@3.0.0:
+ resolution: {integrity: sha512-ktI9+PxfHYtKjF3cLTUAh2N+b8MijCRPNwKJNqTVdL0gB0QxLU2rIRaZ1t71oEa3YBDE6bukH1sR0+CDnpp/Mg==}
+ engines: {node: '>=16.14.0'}
+ dependencies:
+ '@nodelib/fs.stat': 3.0.0
+ run-parallel: 1.2.0
+ dev: true
+
+ /@nodelib/fs.stat@2.0.5:
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ /@nodelib/fs.stat@3.0.0:
+ resolution: {integrity: sha512-2tQOI38s19P9i7X/Drt0v8iMA+KMsgdhB/dyPER+e+2Y8L1Z7QvnuRdW/uLuf5YRFUYmnj4bMA6qCuZHFI1GDQ==}
+ engines: {node: '>=16.14.0'}
+ dev: true
+
+ /@nodelib/fs.walk@1.2.8:
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.15.0
+
+ /@nodelib/fs.walk@2.0.0:
+ resolution: {integrity: sha512-54voNDBobGdMl3BUXSu7UaDh1P85PGHWlJ5e0XhPugo1JulOyCtp2I+5ri4wplGDJ8QGwPEQW7/x3yTLU7yF1A==}
+ engines: {node: '>=16.14.0'}
+ dependencies:
+ '@nodelib/fs.scandir': 3.0.0
+ fastq: 1.17.0
+ dev: true
+
+ /@npmcli/git@5.0.4:
+ resolution: {integrity: sha512-nr6/WezNzuYUppzXRaYu/W4aT5rLxdXqEFupbh6e/ovlYFQ8hpu1UUPV3Ir/YTl+74iXl2ZOMlGzudh9ZPUchQ==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+ dependencies:
+ '@npmcli/promise-spawn': 7.0.1
+ lru-cache: 10.2.0
+ npm-pick-manifest: 9.0.0
+ proc-log: 3.0.0
+ promise-inflight: 1.0.1
+ promise-retry: 2.0.1
+ semver: 7.5.4
+ which: 4.0.0
+ transitivePeerDependencies:
+ - bluebird
+ dev: true
+
+ /@npmcli/map-workspaces@3.0.4:
+ resolution: {integrity: sha512-Z0TbvXkRbacjFFLpVpV0e2mheCh+WzQpcqL+4xp49uNJOxOnIAPZyXtUxZ5Qn3QBTGKA11Exjd9a5411rBrhDg==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ '@npmcli/name-from-folder': 2.0.0
+ glob: 10.3.10
+ minimatch: 9.0.3
+ read-package-json-fast: 3.0.2
+ dev: true
+
+ /@npmcli/name-from-folder@2.0.0:
+ resolution: {integrity: sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dev: true
+
+ /@npmcli/package-json@5.0.0:
+ resolution: {integrity: sha512-OI2zdYBLhQ7kpNPaJxiflofYIpkNLi+lnGdzqUOfRmCF3r2l1nadcjtCYMJKv/Utm/ZtlffaUuTiAktPHbc17g==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+ dependencies:
+ '@npmcli/git': 5.0.4
+ glob: 10.3.10
+ hosted-git-info: 7.0.1
+ json-parse-even-better-errors: 3.0.1
+ normalize-package-data: 6.0.0
+ proc-log: 3.0.0
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - bluebird
+ dev: true
+
+ /@npmcli/promise-spawn@7.0.1:
+ resolution: {integrity: sha512-P4KkF9jX3y+7yFUxgcUdDtLy+t4OlDGuEBLNs57AZsfSfg+uV6MLndqGpnl4831ggaEdXwR50XFoZP4VFtHolg==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+ dependencies:
+ which: 4.0.0
+ dev: true
+
+ /@pkgjs/parseargs@0.11.0:
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
+ engines: {node: '>=14'}
+ requiresBuild: true
+ optional: true
+
+ /@pkgr/core@0.1.0:
+ resolution: {integrity: sha512-Zwq5OCzuwJC2jwqmpEQt7Ds1DTi6BWSwoGkbb1n9pO3hzb35BoJELx7c0T23iDkBGkh2e7tvOtjF3tr3OaQHDQ==}
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+ dev: true
+
+ /@pmmmwh/react-refresh-webpack-plugin@0.5.10(react-refresh@0.14.0)(webpack@5.75.0):
+ resolution: {integrity: sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==}
+ engines: {node: '>= 10.13'}
+ peerDependencies:
+ '@types/webpack': 4.x || 5.x
+ react-refresh: '>=0.10.0 <1.0.0'
+ sockjs-client: ^1.4.0
+ type-fest: '>=0.17.0 <4.0.0'
+ webpack: '>=4.43.0 <6.0.0'
+ webpack-dev-server: 3.x || 4.x
+ webpack-hot-middleware: 2.x
+ webpack-plugin-serve: 0.x || 1.x
+ peerDependenciesMeta:
+ '@types/webpack':
+ optional: true
+ sockjs-client:
+ optional: true
+ type-fest:
+ optional: true
+ webpack-dev-server:
+ optional: true
+ webpack-hot-middleware:
+ optional: true
+ webpack-plugin-serve:
+ optional: true
+ dependencies:
+ ansi-html-community: 0.0.8
+ common-path-prefix: 3.0.0
+ core-js-pure: 3.26.0
+ error-stack-parser: 2.1.4
+ find-up: 5.0.0
+ html-entities: 2.3.3
+ loader-utils: 2.0.4
+ react-refresh: 0.14.0
+ schema-utils: 3.1.1
+ source-map: 0.7.4
+ webpack: 5.75.0
+ dev: false
+
+ /@pnpm/constants@7.1.1:
+ resolution: {integrity: sha512-31pZqMtjwV+Vaq7MaPrT1EoDFSYwye3dp6BiHIGRJmVThCQwySRKM7hCvqqI94epNkqFAAYoWrNynWoRYosGdw==}
+ engines: {node: '>=16.14'}
+ dev: true
+
+ /@pnpm/core-loggers@9.0.6(@pnpm/logger@5.0.0):
+ resolution: {integrity: sha512-iK67SGbp+06bA/elpg51wygPFjNA7JKHtKkpLxqXXHw+AjFFBC3f2OznJsCIuDK6HdGi5UhHLYqo5QxJ2gMqJQ==}
+ engines: {node: '>=16.14'}
+ peerDependencies:
+ '@pnpm/logger': ^5.0.0
+ dependencies:
+ '@pnpm/logger': 5.0.0
+ '@pnpm/types': 9.4.2
+ dev: true
+
+ /@pnpm/error@5.0.2:
+ resolution: {integrity: sha512-0TEm+tWNYm+9uh6DSKyRbv8pv/6b4NL0PastLvMxIoqZbBZ5Zj1cYi332R9xsSUi31ZOsu2wpgn/bC7DA9hrjg==}
+ engines: {node: '>=16.14'}
+ dependencies:
+ '@pnpm/constants': 7.1.1
+ dev: true
+
+ /@pnpm/fetching-types@5.0.0:
+ resolution: {integrity: sha512-o9gdO1v8Uc5P2fBBuW6GSpfTqIivQmQlqjQJdFiQX0m+tgxlrMRneIg392jZuc6fk7kFqjLheInlslgJfwY+4Q==}
+ engines: {node: '>=16.14'}
+ dependencies:
+ '@zkochan/retry': 0.2.0
+ node-fetch: 3.0.0-beta.9
+ transitivePeerDependencies:
+ - domexception
+ dev: true
+
+ /@pnpm/graceful-fs@3.2.0:
+ resolution: {integrity: sha512-vRoXJxscDpHak7YE9SqCkzfrayn+Lw+YueOeHIPEqkgokrHeYgYeONoc2kGh0ObHaRtNSsonozVfJ456kxLNvA==}
+ engines: {node: '>=16.14'}
+ dependencies:
+ graceful-fs: 4.2.11
+ dev: true
+
+ /@pnpm/logger@5.0.0:
+ resolution: {integrity: sha512-YfcB2QrX+Wx1o6LD1G2Y2fhDhOix/bAY/oAnMpHoNLsKkWIRbt1oKLkIFvxBMzLwAEPqnYWguJrYC+J6i4ywbw==}
+ engines: {node: '>=12.17'}
+ dependencies:
+ bole: 5.0.10
+ ndjson: 2.0.0
+ dev: true
+
+ /@pnpm/npm-package-arg@1.0.0:
+ resolution: {integrity: sha512-oQYP08exi6mOPdAZZWcNIGS+KKPsnNwUBzSuAEGWuCcqwMAt3k/WVCqVIXzBxhO5sP2b43og69VHmPj6IroKqw==}
+ engines: {node: '>=14.6'}
+ dependencies:
+ hosted-git-info: 4.1.0
+ semver: 7.5.4
+ validate-npm-package-name: 4.0.0
+ dev: true
+
+ /@pnpm/npm-resolver@18.1.0(@pnpm/logger@5.0.0):
+ resolution: {integrity: sha512-fUYKX/iHiHldL0VRVvkQI35YK2jWhZEkPO6rrGke8309+LKAo12v833nBttMDpQrtHefmqhB4mhCzQq6L2Xqmg==}
+ engines: {node: '>=16.14'}
+ peerDependencies:
+ '@pnpm/logger': ^5.0.0
+ dependencies:
+ '@pnpm/core-loggers': 9.0.6(@pnpm/logger@5.0.0)
+ '@pnpm/error': 5.0.2
+ '@pnpm/fetching-types': 5.0.0
+ '@pnpm/graceful-fs': 3.2.0
+ '@pnpm/logger': 5.0.0
+ '@pnpm/resolve-workspace-range': 5.0.1
+ '@pnpm/resolver-base': 11.1.0
+ '@pnpm/types': 9.4.2
+ '@zkochan/retry': 0.2.0
+ encode-registry: 3.0.1
+ load-json-file: 6.2.0
+ lru-cache: 10.2.0
+ normalize-path: 3.0.0
+ p-limit: 3.1.0
+ p-memoize: 4.0.1
+ parse-npm-tarball-url: 3.0.0
+ path-temp: 2.1.0
+ ramda: /@pnpm/ramda@0.28.1
+ rename-overwrite: 5.0.0
+ semver: 7.5.4
+ ssri: 10.0.5
+ version-selector-type: 3.0.0
+ transitivePeerDependencies:
+ - domexception
+ dev: true
+
+ /@pnpm/ramda@0.28.1:
+ resolution: {integrity: sha512-zcAG+lvU0fMziNeGXpPyCyCJYp5ZVrPElEE4t14jAmViaihohocZ+dDkcRIyAomox8pQsuZnv1EyHR+pOhmUWw==}
+ dev: true
+
+ /@pnpm/resolve-workspace-range@5.0.1:
+ resolution: {integrity: sha512-yQ0pMthlw8rTgS/C9hrjne+NEnnSNevCjtdodd7i15I59jMBYciHifZ/vjg0NY+Jl+USTc3dBE+0h/4tdYjMKg==}
+ engines: {node: '>=16.14'}
+ dependencies:
+ semver: 7.5.4
+ dev: true
+
+ /@pnpm/resolver-base@11.1.0:
+ resolution: {integrity: sha512-y2qKaj18pwe1VWc3YXEitdYFo+WqOOt60aqTUuOVkJAirUzz0DzuYh3Ifct4znYWPdgUXHaN5DMphNF5iL85rA==}
+ engines: {node: '>=16.14'}
+ dependencies:
+ '@pnpm/types': 9.4.2
+ dev: true
+
+ /@pnpm/types@9.4.2:
+ resolution: {integrity: sha512-g1hcF8Nv4gd76POilz9gD4LITAPXOe5nX4ijgr8ixCbLQZfcpYiMfJ+C1RlMNRUDo8vhlNB4O3bUlxmT6EAQXA==}
+ engines: {node: '>=16.14'}
+ dev: true
+
+ /@pnpm/workspace.pkgs-graph@2.0.14(@pnpm/logger@5.0.0):
+ resolution: {integrity: sha512-SBXXyWDkPEoaLTjLRyQzRHoBYH+P0NLcIjX1yPUxuJiMTvGOMzjpLWTuxYNVe/P0V0VQMrjpJFaJPjlViNLhzg==}
+ engines: {node: '>=16.14'}
+ dependencies:
+ '@pnpm/npm-package-arg': 1.0.0
+ '@pnpm/npm-resolver': 18.1.0(@pnpm/logger@5.0.0)
+ '@pnpm/resolve-workspace-range': 5.0.1
+ ramda: /@pnpm/ramda@0.28.1
+ transitivePeerDependencies:
+ - '@pnpm/logger'
+ - domexception
+ dev: true
+
+ /@prisma/client@5.8.1(prisma@5.8.1):
+ resolution: {integrity: sha512-xQtMPfbIwLlbm0VVIVQY2yqQVOxPwRQhvIp7Z3m2900g1bu/zRHKhYZJQWELqmjl6d8YwBy0K2NvMqh47v1ubw==}
+ engines: {node: '>=16.13'}
+ requiresBuild: true
+ peerDependencies:
+ prisma: '*'
+ peerDependenciesMeta:
+ prisma:
+ optional: true
+ dependencies:
+ prisma: 5.8.1
+ dev: false
+
+ /@prisma/debug@5.8.1:
+ resolution: {integrity: sha512-tjuw7eA0Us3T42jx9AmAgL58rzwzpFGYc3R7Y4Ip75EBYrKMBA1YihuWMcBC92ILmjlQ/u3p8VxcIE0hr+fZfg==}
+
+ /@prisma/engines-version@5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2:
+ resolution: {integrity: sha512-f5C3JM3l9yhGr3cr4FMqWloFaSCpNpMi58Om22rjD2DOz3owci2mFdFXMgnAGazFPKrCbbEhcxdsRfspEYRoFQ==}
+
+ /@prisma/engines@5.8.1:
+ resolution: {integrity: sha512-TJgYLRrZr56uhqcXO4GmP5be+zjCIHtLDK20Cnfg+o9d905hsN065QOL+3Z0zQAy6YD31Ol4u2kzSfRmbJv/uA==}
+ requiresBuild: true
+ dependencies:
+ '@prisma/debug': 5.8.1
+ '@prisma/engines-version': 5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2
+ '@prisma/fetch-engine': 5.8.1
+ '@prisma/get-platform': 5.8.1
+
+ /@prisma/fetch-engine@5.8.1:
+ resolution: {integrity: sha512-+bgjjoSFa6uYEbAPlklfoVSStOEfcpheOjoBoNsNNSQdSzcwE2nM4Q0prun0+P8/0sCHo18JZ9xqa8gObvgOUw==}
+ dependencies:
+ '@prisma/debug': 5.8.1
+ '@prisma/engines-version': 5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2
+ '@prisma/get-platform': 5.8.1
+
+ /@prisma/get-platform@5.8.1:
+ resolution: {integrity: sha512-wnA+6HTFcY+tkykMokix9GiAkaauPC5W/gg0O5JB0J8tCTNWrqpnQ7AsaGRfkYUbeOIioh6woDjQrGTTRf1Zag==}
+ dependencies:
+ '@prisma/debug': 5.8.1
+
+ /@radix-ui/primitive@1.0.1:
+ resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==}
+ dependencies:
+ '@babel/runtime': 7.23.1
+ dev: false
+
+ /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.48
+ '@types/react-dom': 18.2.18
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/primitive': 1.0.1
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@types/react': 18.2.48
+ '@types/react-dom': 18.2.18
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.48)(react@18.2.0):
+ resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@types/react': 18.2.48
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-context@1.0.1(@types/react@18.2.48)(react@18.2.0):
+ resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@types/react': 18.2.48
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-dialog@1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/primitive': 1.0.1
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@types/react': 18.2.48
+ '@types/react-dom': 18.2.18
+ aria-hidden: 1.2.3
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-remove-scroll: 2.5.5(@types/react@18.2.48)(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/primitive': 1.0.1
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.48)(react@18.2.0)
+ '@types/react': 18.2.48
+ '@types/react-dom': 18.2.18
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.48)(react@18.2.0):
+ resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@types/react': 18.2.48
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@types/react': 18.2.48
+ '@types/react-dom': 18.2.18
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-id@1.0.1(@types/react@18.2.48)(react@18.2.0):
+ resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@types/react': 18.2.48
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-popper@1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@floating-ui/react-dom': 2.0.2(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/rect': 1.0.1
+ '@types/react': 18.2.48
+ '@types/react-dom': 18.2.18
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.48
+ '@types/react-dom': 18.2.18
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@types/react': 18.2.48
+ '@types/react-dom': 18.2.18
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.48)(react@18.2.0)
+ '@types/react': 18.2.48
+ '@types/react-dom': 18.2.18
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-progress@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-5G6Om/tYSxjSeEdrb1VfKkfZfn/1IlPWd731h2RfPuSbIfNUgfqAwbKfJCg/PP6nuUCTrYzalwHSpSinoWoCag==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.48
+ '@types/react-dom': 18.2.18
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-slot@1.0.2(@types/react@18.2.48)(react@18.2.0):
+ resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@types/react': 18.2.48
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-tooltip@1.0.7(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@radix-ui/primitive': 1.0.1
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.48
+ '@types/react-dom': 18.2.18
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.48)(react@18.2.0):
+ resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@types/react': 18.2.48
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.48)(react@18.2.0):
+ resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.1
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@types/react': 18.2.48
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.48)(react@18.2.0):
+ resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@types/react': 18.2.48
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.48)(react@18.2.0):
+ resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@types/react': 18.2.48
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.48)(react@18.2.0):
+ resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/rect': 1.0.1
+ '@types/react': 18.2.48
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-use-size@1.0.1(@types/react@18.2.48)(react@18.2.0):
+ resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.48)(react@18.2.0)
+ '@types/react': 18.2.48
+ react: 18.2.0
+ dev: false
+
+ /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.48
+ '@types/react-dom': 18.2.18
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@radix-ui/rect@1.0.1:
+ resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==}
+ dependencies:
+ '@babel/runtime': 7.23.2
+ dev: false
+
+ /@reach/observe-rect@1.2.0:
+ resolution: {integrity: sha512-Ba7HmkFgfQxZqqaeIWWkNK0rEhpxVQHIoVyW1YDSkGsGIXzcaW4deC8B0pZrNSSyLTdIk7y+5olKt5+g0GmFIQ==}
+ dev: false
+
+ /@rollup/plugin-typescript@10.0.1(rollup@3.7.1)(tslib@2.4.1)(typescript@5.3.3):
+ resolution: {integrity: sha512-wBykxRLlX7EzL8BmUqMqk5zpx2onnmRMSw/l9M1sVfkJvdwfxogZQVNUM9gVMJbjRLDR5H6U0OMOrlDGmIV45A==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.14.0||^3.0.0
+ tslib: '*'
+ typescript: '>=3.7.0'
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ tslib:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.0.2(rollup@3.7.1)
+ resolve: 1.22.8
+ rollup: 3.7.1
+ tslib: 2.4.1
+ typescript: 5.3.3
+ dev: false
+
+ /@rollup/pluginutils@4.2.1:
+ resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
+ engines: {node: '>= 8.0.0'}
+ dependencies:
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ dev: true
+
+ /@rollup/pluginutils@5.0.2(rollup@3.7.1):
+ resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@types/estree': 1.0.0
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ rollup: 3.7.1
+ dev: false
+
+ /@rushstack/eslint-patch@1.7.2:
+ resolution: {integrity: sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==}
+ dev: true
+
+ /@sapphire/async-queue@1.5.0:
+ resolution: {integrity: sha512-JkLdIsP8fPAdh9ZZjrbHWR/+mZj0wvKS5ICibcLrRI1j84UmLMshx5n9QmL8b95d4onJ2xxiyugTgSAX7AalmA==}
+ engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
+ dev: false
+
+ /@sapphire/async-queue@1.5.1:
+ resolution: {integrity: sha512-1RdpsmDQR/aWfp8oJzPtn4dNQrbpqSL5PIA0uAB/XwerPXUf994Ug1au1e7uGcD7ei8/F63UDjr5GWps1g/HxQ==}
+ engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
+ dev: false
+
+ /@sapphire/shapeshift@3.9.5:
+ resolution: {integrity: sha512-AGdHe+51gF7D3W8hBfuSFLBocURDCXVQczScTHXDS3RpNjNgrktIx/amlz5y8nHhm8SAdFt/X8EF8ZSfjJ0tnA==}
+ engines: {node: '>=v18'}
+ dependencies:
+ fast-deep-equal: 3.1.3
+ lodash: 4.17.21
+ dev: false
+
+ /@sapphire/snowflake@3.4.0:
+ resolution: {integrity: sha512-zZxymtVO6zeXVMPds+6d7gv/OfnCc25M1Z+7ZLB0oPmeMTPeRWVPQSS16oDJy5ZsyCOLj7M6mbZml5gWXcVRNw==}
+ engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
+ dev: false
+
+ /@sapphire/snowflake@3.5.1:
+ resolution: {integrity: sha512-BxcYGzgEsdlG0dKAyOm0ehLGm2CafIrfQTZGWgkfKYbj+pNNsorZ7EotuZukc2MT70E0UbppVbtpBrqpzVzjNA==}
+ engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
+ dev: false
+
+ /@sinclair/typebox@0.25.24:
+ resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==}
+ dev: true
+
+ /@sinclair/typebox@0.27.8:
+ resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
+
+ /@snyk/github-codeowners@1.1.0:
+ resolution: {integrity: sha512-lGFf08pbkEac0NYgVf4hdANpAgApRjNByLXB+WBip3qj1iendOIyAwP2GKkKbQMNVy2r1xxDf0ssfWscoiC+Vw==}
+ engines: {node: '>=8.10'}
+ hasBin: true
+ dependencies:
+ commander: 4.1.1
+ ignore: 5.3.0
+ p-map: 4.0.0
+ dev: true
+
+ /@stitches/react@1.2.8(react@18.2.0):
+ resolution: {integrity: sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==}
+ peerDependencies:
+ react: '>= 16.3.0'
+ dependencies:
+ react: 18.2.0
+ dev: false
+
+ /@supabase/functions-js@1.3.4:
+ resolution: {integrity: sha512-yYVgkECjv7IZEBKBI3EB5Q7R1p0FJ10g8Q9N7SWKIHUU6i6DnbEGHIMFLyQRm1hmiNWD8fL7bRVEYacmTRJhHw==}
+ dependencies:
+ cross-fetch: 3.1.5
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@supabase/gotrue-js@1.24.0:
+ resolution: {integrity: sha512-6PVv7mHCFOxLm6TSBfR7hsq/y3CMKpvzePVR+ZWtlFBTjJ2J87g2OYE9bgC61P5TNeZopUXKw93H92yz0MTALw==}
+ dependencies:
+ cross-fetch: 3.1.5
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@supabase/postgrest-js@0.37.4:
+ resolution: {integrity: sha512-x+c2rk1fz9s6f1PrGxCJ0QTUgXPDI0G3ngIqD5sSiXhhCyfl8Q5V92mXl2EYtlDhkiUkjFNrOZFhXVbXOHgvDw==}
+ dependencies:
+ cross-fetch: 3.1.5
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@supabase/realtime-js@1.7.5:
+ resolution: {integrity: sha512-nXuoxt7NE1NTI+G8WBim1K2gkUC8YE3e9evBUG+t6xwd9Sq+sSOrjcE0qJ8/Y631BCnLzlhX6yhFYQFh1oQDOg==}
+ dependencies:
+ '@types/phoenix': 1.5.4
+ websocket: 1.0.34
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@supabase/storage-js@1.7.3:
+ resolution: {integrity: sha512-jnIZWqOc9TGclOozgX9v/RWGFCgJAyW/yvmauexgRZhWknUXoA4b2i8tj7vfwE0WTvNRuA5JpXID98rfJeSG7Q==}
+ dependencies:
+ cross-fetch: 3.1.5
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@supabase/supabase-js@1.35.7:
+ resolution: {integrity: sha512-X+qCzmj5sH0dozagbLoK7LzysBaWoivO0gsAUAPPBQkQupQWuBfaOqG18gKhlfL0wp2PL888QzhQNScp/IwUfA==}
+ dependencies:
+ '@supabase/functions-js': 1.3.4
+ '@supabase/gotrue-js': 1.24.0
+ '@supabase/postgrest-js': 0.37.4
+ '@supabase/realtime-js': 1.7.5
+ '@supabase/storage-js': 1.7.3
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: false
+
+ /@swc/helpers@0.5.2:
+ resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==}
+ dependencies:
+ tslib: 2.6.2
+
+ /@tanstack/query-core@4.36.1:
+ resolution: {integrity: sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==}
+ dev: false
+
+ /@tanstack/react-query@4.36.1(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-native: '*'
+ peerDependenciesMeta:
+ react-dom:
+ optional: true
+ react-native:
+ optional: true
+ dependencies:
+ '@tanstack/query-core': 4.36.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ use-sync-external-store: 1.2.0(react@18.2.0)
+ dev: false
+
+ /@tokenizer/token@0.3.0:
+ resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==}
+ dev: false
+
+ /@tootallnate/once@2.0.0:
+ resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
+ engines: {node: '>= 10'}
+ dev: true
+
+ /@trpc/client@10.45.0(@trpc/server@10.45.0):
+ resolution: {integrity: sha512-m091R1qte9rvkvL8N1e/mzrbb8S4gb+Q4ZNJnEGDgd7kic/6a8DFgSciBTiCoSp0YwOTVhyQzSrrA/sZI6PhBg==}
+ peerDependencies:
+ '@trpc/server': 10.45.0
+ dependencies:
+ '@trpc/server': 10.45.0
+ dev: false
+
+ /@trpc/react-query@10.45.0(@tanstack/react-query@4.36.1)(@trpc/client@10.45.0)(@trpc/server@10.45.0)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-MMc2pLwoaLZVwvLQyzJv3uEmdG3lORhifhVzR/drtavwDYwt+OEvH0w3s1zC7RaDdFpc6Nj2kkpHmdoU7BlAAw==}
+ peerDependencies:
+ '@tanstack/react-query': ^4.18.0
+ '@trpc/client': 10.45.0
+ '@trpc/server': 10.45.0
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+ dependencies:
+ '@tanstack/react-query': 4.36.1(react-dom@18.2.0)(react@18.2.0)
+ '@trpc/client': 10.45.0(@trpc/server@10.45.0)
+ '@trpc/server': 10.45.0
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@trpc/server@10.45.0:
+ resolution: {integrity: sha512-2Fwzv6nqpE0Ie/G7PeS0EVR89zLm+c1Mw7T+RAGtU807j4oaUx0zGkBXTu5u9AI+j+BYNN2GZxJcuDTAecbr1A==}
+ dev: false
+
+ /@ts-morph/common@0.11.1:
+ resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==}
+ dependencies:
+ fast-glob: 3.3.2
+ minimatch: 3.1.2
+ mkdirp: 1.0.4
+ path-browserify: 1.0.1
+ dev: true
+
+ /@tsconfig/node10@1.0.9:
+ resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==}
+
+ /@tsconfig/node12@1.0.11:
+ resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
+
+ /@tsconfig/node14@1.0.3:
+ resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
+
+ /@tsconfig/node16@1.0.4:
+ resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
+
+ /@types/eslint-scope@3.7.4:
+ resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==}
+ dependencies:
+ '@types/eslint': 8.4.10
+ '@types/estree': 1.0.0
+ dev: false
+
+ /@types/eslint-scope@3.7.7:
+ resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
+ dependencies:
+ '@types/eslint': 8.56.2
+ '@types/estree': 1.0.5
+ dev: true
+
+ /@types/eslint@8.4.10:
+ resolution: {integrity: sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==}
+ dependencies:
+ '@types/estree': 1.0.0
+ '@types/json-schema': 7.0.14
+ dev: false
+
+ /@types/eslint@8.56.2:
+ resolution: {integrity: sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==}
+ dependencies:
+ '@types/estree': 1.0.5
+ '@types/json-schema': 7.0.15
+ dev: true
+
+ /@types/estree@0.0.51:
+ resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==}
+ dev: false
+
+ /@types/estree@1.0.0:
+ resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==}
+ dev: false
+
+ /@types/estree@1.0.5:
+ resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
+ dev: true
+
+ /@types/fs-extra@11.0.3:
+ resolution: {integrity: sha512-sF59BlXtUdzEAL1u0MSvuzWd7PdZvZEtnaVkzX5mjpdWTJ8brG0jUqve3jPCzSzvAKKMHTG8F8o/WMQLtleZdQ==}
+ dependencies:
+ '@types/jsonfile': 6.1.3
+ '@types/node': 18.19.10
+ dev: true
+
+ /@types/istanbul-lib-coverage@2.0.6:
+ resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
+
+ /@types/istanbul-lib-report@3.0.3:
+ resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+
+ /@types/istanbul-reports@3.0.4:
+ resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
+ dependencies:
+ '@types/istanbul-lib-report': 3.0.3
+
+ /@types/js-cookie@2.2.7:
+ resolution: {integrity: sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==}
+ dev: false
+
+ /@types/json-schema@7.0.13:
+ resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==}
+ dev: false
+
+ /@types/json-schema@7.0.14:
+ resolution: {integrity: sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==}
+ dev: false
+
+ /@types/json-schema@7.0.15:
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+ dev: true
+
+ /@types/json5@0.0.29:
+ resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
+ dev: true
+
+ /@types/jsonfile@6.1.3:
+ resolution: {integrity: sha512-/yqTk2SZ1wIezK0hiRZD7RuSf4B3whFxFamB1kGStv+8zlWScTMcHanzfc0XKWs5vA1TkHeckBlOyM8jxU8nHA==}
+ dependencies:
+ '@types/node': 18.19.10
+ dev: true
+
+ /@types/minimist@1.2.4:
+ resolution: {integrity: sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ==}
+ dev: true
+
+ /@types/node-forge@1.3.11:
+ resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==}
+ dependencies:
+ '@types/node': 20.11.10
+ dev: true
+
+ /@types/node@14.18.33:
+ resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==}
+ dev: true
+
+ /@types/node@18.19.10:
+ resolution: {integrity: sha512-IZD8kAM02AW1HRDTPOlz3npFava678pr8Ie9Vp8uRhBROXAv8MXT2pCnGZZAKYdromsNQLHQcfWQ6EOatVLtqA==}
+ dependencies:
+ undici-types: 5.26.5
+ dev: true
+
+ /@types/node@20.11.10:
+ resolution: {integrity: sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==}
+ dependencies:
+ undici-types: 5.26.5
+
+ /@types/parse-json@4.0.0:
+ resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==}
+
+ /@types/pg@8.11.0:
+ resolution: {integrity: sha512-sDAlRiBNthGjNFfvt0k6mtotoVYVQ63pA8R4EMWka7crawSR60waVYR0HAgmPRs/e2YaeJTD/43OoZ3PFw80pw==}
+ dependencies:
+ '@types/node': 20.11.10
+ pg-protocol: 1.6.0
+ pg-types: 4.0.1
+
+ /@types/phoenix@1.5.4:
+ resolution: {integrity: sha512-L5eZmzw89eXBKkiqVBcJfU1QGx9y+wurRIEgt0cuLH0hwNtVUxtx+6cu0R2STwWj468sjXyBYPYDtGclUd1kjQ==}
+ dev: false
+
+ /@types/picomatch@2.3.3:
+ resolution: {integrity: sha512-Yll76ZHikRFCyz/pffKGjrCwe/le2CDwOP5F210KQo27kpRE46U2rDnzikNlVn6/ezH3Mhn46bJMTfeVTtcYMg==}
+ dev: true
+
+ /@types/prop-types@15.7.11:
+ resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==}
+
+ /@types/ps-tree@1.1.4:
+ resolution: {integrity: sha512-CJyu2BqU/aZN/s8Ili3jiMctqXfTjCaWXirEcjRD8y1lUQZJ8eNohnal8+LXeWFs1VbdAOrCIdgATFsv+lnQ5Q==}
+ dev: true
+
+ /@types/react-dom@18.2.18:
+ resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==}
+ dependencies:
+ '@types/react': 18.2.48
+
+ /@types/react-transition-group@4.4.9:
+ resolution: {integrity: sha512-ZVNmWumUIh5NhH8aMD9CR2hdW0fNuYInlocZHaZ+dgk/1K49j1w/HoAuK1ki+pgscQrOFRTlXeoURtuzEkV3dg==}
+ dependencies:
+ '@types/react': 18.2.48
+ dev: false
+
+ /@types/react@18.2.48:
+ resolution: {integrity: sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==}
+ dependencies:
+ '@types/prop-types': 15.7.11
+ '@types/scheduler': 0.16.8
+ csstype: 3.1.3
+
+ /@types/scheduler@0.16.8:
+ resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==}
+
+ /@types/semver@7.5.6:
+ resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==}
+ dev: true
+
+ /@types/strip-bom@3.0.0:
+ resolution: {integrity: sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==}
+
+ /@types/strip-json-comments@0.0.30:
+ resolution: {integrity: sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==}
+
+ /@types/which@3.0.1:
+ resolution: {integrity: sha512-OJWjr4k8gS1HXuOnCmQbBrQez+xqt/zqfp5PhgbKtsmEFEuojAg23arr+TiTZZ1TORdUF9RKXb/WKEpT1dwgSg==}
+ dev: true
+
+ /@types/ws@8.5.9:
+ resolution: {integrity: sha512-jbdrY0a8lxfdTp/+r7Z4CkycbOFN8WX+IOchLJr3juT/xzbJ8URyTVSJ/hvNdadTgM1mnedb47n+Y31GsFnQlg==}
+ dependencies:
+ '@types/node': 20.11.10
+ dev: false
+
+ /@types/yargs-parser@21.0.3:
+ resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
+
+ /@types/yargs@17.0.32:
+ resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==}
+ dependencies:
+ '@types/yargs-parser': 21.0.3
+
+ /@typescript-eslint/eslint-plugin@6.20.0(@typescript-eslint/parser@6.20.0)(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@eslint-community/regexpp': 4.10.0
+ '@typescript-eslint/parser': 6.20.0(eslint@8.56.0)(typescript@5.3.3)
+ '@typescript-eslint/scope-manager': 6.20.0
+ '@typescript-eslint/type-utils': 6.20.0(eslint@8.56.0)(typescript@5.3.3)
+ '@typescript-eslint/utils': 6.20.0(eslint@8.56.0)(typescript@5.3.3)
+ '@typescript-eslint/visitor-keys': 6.20.0
+ debug: 4.3.4
+ eslint: 8.56.0
+ graphemer: 1.4.0
+ ignore: 5.3.0
+ natural-compare: 1.4.0
+ semver: 7.5.4
+ ts-api-utils: 1.0.3(typescript@5.3.3)
+ typescript: 5.3.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/parser@6.20.0(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
+ '@typescript-eslint/scope-manager': 6.20.0
+ '@typescript-eslint/types': 6.20.0
+ '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.3.3)
+ '@typescript-eslint/visitor-keys': 6.20.0
+ debug: 4.3.4
+ eslint: 8.56.0
+ typescript: 5.3.3
+ transitivePeerDependencies:
+ - supports-color
dev: true
- /@nodelib/fs.stat@2.0.5:
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
+ /@typescript-eslint/scope-manager@6.20.0:
+ resolution: {integrity: sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dependencies:
+ '@typescript-eslint/types': 6.20.0
+ '@typescript-eslint/visitor-keys': 6.20.0
dev: true
- /@nodelib/fs.walk@1.2.8:
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
+ /@typescript-eslint/type-utils@6.20.0(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.15.0
+ '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.3.3)
+ '@typescript-eslint/utils': 6.20.0(eslint@8.56.0)(typescript@5.3.3)
+ debug: 4.3.4
+ eslint: 8.56.0
+ ts-api-utils: 1.0.3(typescript@5.3.3)
+ typescript: 5.3.3
+ transitivePeerDependencies:
+ - supports-color
dev: true
- /@pkgr/utils@2.3.1:
- resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==}
- engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
- dependencies:
- cross-spawn: 7.0.3
- is-glob: 4.0.3
- open: 8.4.0
- picocolors: 1.0.0
- tiny-glob: 0.2.9
- tslib: 2.4.1
+ /@typescript-eslint/types@6.20.0:
+ resolution: {integrity: sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ==}
+ engines: {node: ^16.0.0 || >=18.0.0}
dev: true
- /@pmmmwh/react-refresh-webpack-plugin@0.5.10(react-refresh@0.14.0)(webpack@5.75.0):
- resolution: {integrity: sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==}
- engines: {node: '>= 10.13'}
+ /@typescript-eslint/typescript-estree@6.20.0(typescript@5.3.3):
+ resolution: {integrity: sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g==}
+ engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
- '@types/webpack': 4.x || 5.x
- react-refresh: '>=0.10.0 <1.0.0'
- sockjs-client: ^1.4.0
- type-fest: '>=0.17.0 <4.0.0'
- webpack: '>=4.43.0 <6.0.0'
- webpack-dev-server: 3.x || 4.x
- webpack-hot-middleware: 2.x
- webpack-plugin-serve: 0.x || 1.x
+ typescript: '*'
peerDependenciesMeta:
- '@types/webpack':
- optional: true
- sockjs-client:
- optional: true
- type-fest:
- optional: true
- webpack-dev-server:
- optional: true
- webpack-hot-middleware:
- optional: true
- webpack-plugin-serve:
+ typescript:
optional: true
dependencies:
- ansi-html-community: 0.0.8
- common-path-prefix: 3.0.0
- core-js-pure: 3.26.0
- error-stack-parser: 2.1.4
- find-up: 5.0.0
- html-entities: 2.3.3
- loader-utils: 2.0.4
- react-refresh: 0.14.0
- schema-utils: 3.1.1
- source-map: 0.7.4
- webpack: 5.75.0
- dev: false
+ '@typescript-eslint/types': 6.20.0
+ '@typescript-eslint/visitor-keys': 6.20.0
+ debug: 4.3.4
+ globby: 11.1.0
+ is-glob: 4.0.3
+ minimatch: 9.0.3
+ semver: 7.5.4
+ ts-api-utils: 1.0.3(typescript@5.3.3)
+ typescript: 5.3.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
- /@prisma/client@4.8.0(prisma@4.8.0):
- resolution: {integrity: sha512-Y1riB0p2W52kh3zgssP/YAhln3RjBFcJy3uwEiyjmU+TQYh6QTZDRFBo3JtBWuq2FyMOl1Rye8jxzUP+n0l5Cg==}
- engines: {node: '>=14.17'}
- requiresBuild: true
+ /@typescript-eslint/utils@6.20.0(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg==}
+ engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
- prisma: '*'
- peerDependenciesMeta:
- prisma:
- optional: true
+ eslint: ^7.0.0 || ^8.0.0
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
+ '@types/json-schema': 7.0.15
+ '@types/semver': 7.5.6
+ '@typescript-eslint/scope-manager': 6.20.0
+ '@typescript-eslint/types': 6.20.0
+ '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.3.3)
+ eslint: 8.56.0
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@typescript-eslint/visitor-keys@6.20.0:
+ resolution: {integrity: sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw==}
+ engines: {node: ^16.0.0 || >=18.0.0}
dependencies:
- '@prisma/engines-version': 4.8.0-61.d6e67a83f971b175a593ccc12e15c4a757f93ffe
- prisma: 4.8.0
- dev: false
+ '@typescript-eslint/types': 6.20.0
+ eslint-visitor-keys: 3.4.3
+ dev: true
- /@prisma/engines-version@4.8.0-61.d6e67a83f971b175a593ccc12e15c4a757f93ffe:
- resolution: {integrity: sha512-MHSOSexomRMom8QN4t7bu87wPPD+pa+hW9+71JnVcF3DqyyO/ycCLhRL1we3EojRpZxKvuyGho2REQsMCvxcJw==}
- dev: false
+ /@ungap/structured-clone@1.2.0:
+ resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
+ dev: true
- /@prisma/engines@4.8.0:
- resolution: {integrity: sha512-A1Asn2rxZMlLAj1HTyfaCv0VQrLUv034jVay05QlqZg1qiHPeA3/pGTfNMijbsMYCsGVxfWEJuaZZuNxXGMCrA==}
- requiresBuild: true
+ /@vercel/build-utils@7.5.1:
+ resolution: {integrity: sha512-RyTG951QZQgYn0JL5OoObsCppxHSQApZAqn82GCpAyuQPW7clqcjq7aY7KLD7esHbs0zdzL0KeDEBkGBKaTcTg==}
+ dev: true
- /@radix-ui/colors@0.1.8:
- resolution: {integrity: sha512-jwRMXYwC0hUo0mv6wGpuw254Pd9p/R6Td5xsRpOmaWkUHlooNWqVcadgyzlRumMq3xfOTXwJReU0Jv+EIy4Jbw==}
- dev: false
+ /@vercel/error-utils@2.0.2:
+ resolution: {integrity: sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ==}
+ dev: true
- /@radix-ui/primitive@1.0.0:
- resolution: {integrity: sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==}
+ /@vercel/fun@1.1.0(encoding@0.1.13):
+ resolution: {integrity: sha512-SpuPAo+MlAYMtcMcC0plx7Tv4Mp7SQhJJj1iIENlOnABL24kxHpL09XLQMGzZIzIW7upR8c3edwgfpRtp+dhVw==}
+ engines: {node: '>= 10'}
dependencies:
- '@babel/runtime': 7.19.4
- dev: false
+ '@tootallnate/once': 2.0.0
+ async-listen: 1.2.0
+ debug: 4.1.1
+ execa: 3.2.0
+ fs-extra: 8.1.0
+ generic-pool: 3.4.2
+ micro: 9.3.5-canary.3
+ ms: 2.1.1
+ node-fetch: 2.6.7(encoding@0.1.13)
+ path-match: 1.2.4
+ promisepipe: 3.0.0
+ semver: 7.3.5
+ stat-mode: 0.3.0
+ stream-to-promise: 2.2.0
+ tar: 4.4.18
+ tree-kill: 1.2.2
+ uid-promise: 1.0.0
+ uuid: 3.3.2
+ xdg-app-paths: 5.1.0
+ yauzl-promise: 2.1.3
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
- /@radix-ui/react-arrow@1.0.1(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-1yientwXqXcErDHEv8av9ZVNEBldH8L9scVR3is20lL+jOCfcJyMFZFEY5cgIrgexsq1qggSXqiEL/d/4f+QXA==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ /@vercel/gatsby-plugin-vercel-analytics@1.0.11:
+ resolution: {integrity: sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw==}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: false
+ web-vitals: 0.2.4
+ dev: true
- /@radix-ui/react-collapsible@1.0.1(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-0maX4q91iYa4gjt3PsNf7dq/yqSR+HGAE8I5p54dQ6gnveS+ETWlMoijxrhmgV1k8svxpm34mQAtqIrJt4XZmA==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ /@vercel/gatsby-plugin-vercel-builder@2.0.16:
+ resolution: {integrity: sha512-szRvR8UiCyH8J4xqz3hwDa0XOE4fTxoPawYDBMNHrx91QFEHAtUBC3KcGhApGmVd7ik0WYP7lqokmv9ngygBlA==}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/primitive': 1.0.0
- '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
- '@radix-ui/react-context': 1.0.0(react@18.2.0)
- '@radix-ui/react-id': 1.0.0(react@18.2.0)
- '@radix-ui/react-presence': 1.0.0(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-controllable-state': 1.0.0(react@18.2.0)
- '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: false
+ '@sinclair/typebox': 0.25.24
+ '@vercel/build-utils': 7.5.1
+ '@vercel/routing-utils': 3.1.0
+ esbuild: 0.14.47
+ etag: 1.8.1
+ fs-extra: 11.1.0
+ dev: true
- /@radix-ui/react-collection@1.0.1(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-uuiFbs+YCKjn3X1DTSx9G7BHApu4GHbi3kgiwsnFUbOKCrwejAJv4eE4Vc8C0Oaxt9T0aV4ox0WCOdx+39Xo+g==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ /@vercel/go@3.0.5:
+ resolution: {integrity: sha512-+kEDI+hop3e8BuKisaEozxfzT6GBbp0OMBcgi0tlD5ZTmhGmpwi3vgK5mBQlB+RBXj7qlqDLW/uV2F1Y03FLcQ==}
+ dev: true
+
+ /@vercel/hydrogen@1.0.2:
+ resolution: {integrity: sha512-/Q2MKk1GfOuZAnkE9jQexjtUQqanbY65R+xtJWd9yKIgwcfRI1hxiNH3uXyVM5AvLoY+fxxULkSuxDtUKpkJpQ==}
dependencies:
- '@babel/runtime': 7.20.7
- '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
- '@radix-ui/react-context': 1.0.0(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-slot': 1.0.1(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: false
+ '@vercel/static-config': 3.0.0
+ ts-morph: 12.0.0
+ dev: true
- /@radix-ui/react-compose-refs@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
+ /@vercel/next@4.1.0(encoding@0.1.13):
+ resolution: {integrity: sha512-5RsyprRts6POFor2JWNNA8kYQ9R0A5a27VaBESFsPi9YIhytsx6cOdrxWusIF6SM+y+kLA0gvi1yA6uixaP8Cg==}
dependencies:
- '@babel/runtime': 7.19.4
- react: 18.2.0
- dev: false
+ '@vercel/nft': 0.26.2(encoding@0.1.13)
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
- /@radix-ui/react-context@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
+ /@vercel/nft@0.26.2(encoding@0.1.13):
+ resolution: {integrity: sha512-bxe2iShmKZi7476xYamyKvhhKwQ6JPEtQ2FSq1AjMUH2buMd8LQMkdoHinTqZYc+1sMTh3G0ARdjzNvV1FEisA==}
+ engines: {node: '>=16'}
+ hasBin: true
dependencies:
- '@babel/runtime': 7.19.4
- react: 18.2.0
- dev: false
+ '@mapbox/node-pre-gyp': 1.0.11(encoding@0.1.13)
+ '@rollup/pluginutils': 4.2.1
+ acorn: 8.11.3
+ acorn-import-attributes: 1.9.2(acorn@8.11.3)
+ async-sema: 3.1.1
+ bindings: 1.5.0
+ estree-walker: 2.0.2
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ micromatch: 4.0.5
+ node-gyp-build: 4.8.0
+ resolve-from: 5.0.0
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
- /@radix-ui/react-dialog@1.0.2(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-EKxxp2WNSmUPkx4trtWNmZ4/vAYEg7JkAfa1HKBUnaubw9eHzf1Orr9B472lJYaYz327RHDrd4R95fsw7VR8DA==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ /@vercel/node@3.0.17(encoding@0.1.13):
+ resolution: {integrity: sha512-HgIDxVAG/cEGLcSYdatGwk/zraN2aDP3ZQxy0I9eFsG8+rgC5eh3mFpNYEcBDkikpMr1jW/zpesf43s/A77/GQ==}
+ dependencies:
+ '@edge-runtime/node-utils': 2.2.1
+ '@edge-runtime/primitives': 4.0.5
+ '@edge-runtime/vm': 3.1.7
+ '@types/node': 14.18.33
+ '@vercel/build-utils': 7.5.1
+ '@vercel/error-utils': 2.0.2
+ '@vercel/nft': 0.26.2(encoding@0.1.13)
+ '@vercel/static-config': 3.0.0
+ async-listen: 3.0.0
+ edge-runtime: 2.5.7
+ esbuild: 0.14.47
+ etag: 1.8.1
+ node-fetch: 2.6.9(encoding@0.1.13)
+ path-to-regexp: 6.2.1
+ ts-morph: 12.0.0
+ ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.9.5)
+ typescript: 4.9.5
+ undici: 5.26.5
+ transitivePeerDependencies:
+ - '@swc/core'
+ - '@swc/wasm'
+ - encoding
+ - supports-color
+ dev: true
+
+ /@vercel/python@4.1.1:
+ resolution: {integrity: sha512-EbAdKOZ0hPd5b59tLt7R3RQK1azNvuZTrCFRAVHNjqcIHNCmrSvjag5zBGn7Memkk8qWb3+CgBw9K/3LJKei0w==}
+ dev: true
+
+ /@vercel/redwood@2.0.6(encoding@0.1.13):
+ resolution: {integrity: sha512-bH8z/0peYlEdFGxyPWwOScTV75eb47H8IK9u0EZ3LtC7hKwiqEkQIRg2CtyH5FmILlGN9nRxEB5XWsboigHByw==}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/primitive': 1.0.0
- '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
- '@radix-ui/react-context': 1.0.0(react@18.2.0)
- '@radix-ui/react-dismissable-layer': 1.0.2(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-focus-guards': 1.0.0(react@18.2.0)
- '@radix-ui/react-focus-scope': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-id': 1.0.0(react@18.2.0)
- '@radix-ui/react-portal': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-presence': 1.0.0(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-slot': 1.0.1(react@18.2.0)
- '@radix-ui/react-use-controllable-state': 1.0.0(react@18.2.0)
- aria-hidden: 1.2.1(@types/react@18.2.31)(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- react-remove-scroll: 2.5.5(@types/react@18.2.31)(react@18.2.0)
+ '@vercel/nft': 0.26.2(encoding@0.1.13)
+ '@vercel/routing-utils': 3.1.0
+ semver: 6.3.1
transitivePeerDependencies:
- - '@types/react'
- dev: false
+ - encoding
+ - supports-color
+ dev: true
- /@radix-ui/react-direction@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
+ /@vercel/remix-builder@2.0.18(encoding@0.1.13):
+ resolution: {integrity: sha512-dSi/FQ3jjEl6q9Hpzwkiikq7CwO309TS1bkcuORbsd55HloDeirvQurxoGOqWN+4O6Acuy568YI33A7LAz9/lw==}
dependencies:
- '@babel/runtime': 7.19.4
- react: 18.2.0
- dev: false
+ '@vercel/nft': 0.26.2(encoding@0.1.13)
+ '@vercel/static-config': 3.0.0
+ ts-morph: 12.0.0
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
- /@radix-ui/react-dismissable-layer@1.0.2(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-WjJzMrTWROozDqLB0uRWYvj4UuXsM/2L19EmQ3Au+IJWqwvwq9Bwd+P8ivo0Deg9JDPArR1I6MbWNi1CmXsskg==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ /@vercel/routing-utils@3.1.0:
+ resolution: {integrity: sha512-Ci5xTjVTJY/JLZXpCXpLehMft97i9fH34nu9PGav6DtwkVUF6TOPX86U0W0niQjMZ5n6/ZP0BwcJK2LOozKaGw==}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/primitive': 1.0.0
- '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0)
- '@radix-ui/react-use-escape-keydown': 1.0.2(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: false
+ path-to-regexp: 6.1.0
+ optionalDependencies:
+ ajv: 6.12.6
+ dev: true
- /@radix-ui/react-dropdown-menu@2.0.1(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-WDZqmwsNuxdBMkvgB85UeSPAT0wSBd+ojxtzX7lU7uYYh47gacCj6Spo0l9+X4TMe3JA1BBMN9c7OhIMaQeKbg==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ /@vercel/ruby@2.0.5:
+ resolution: {integrity: sha512-Gfm8HDech41vf+EPleRzgoJUnDTJerKgckMm4KX0JT860gV9XBMSOWYH7eMWHmMza104+HRCWL7wT6OlpftF2Q==}
+ dev: true
+
+ /@vercel/static-build@2.1.0:
+ resolution: {integrity: sha512-mSP3UNckqr3aqTx8fAbUiM/5E4llgJeUWFf1/RgUUqt5T5QnxZ2n10HagHSZ/fHCx1bT+J8jdty8Aq7v+vJt2Q==}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/primitive': 1.0.0
- '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
- '@radix-ui/react-context': 1.0.0(react@18.2.0)
- '@radix-ui/react-id': 1.0.0(react@18.2.0)
- '@radix-ui/react-menu': 2.0.1(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-controllable-state': 1.0.0(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- transitivePeerDependencies:
- - '@types/react'
- dev: false
+ '@vercel/gatsby-plugin-vercel-analytics': 1.0.11
+ '@vercel/gatsby-plugin-vercel-builder': 2.0.16
+ '@vercel/static-config': 3.0.0
+ ts-morph: 12.0.0
+ dev: true
- /@radix-ui/react-focus-guards@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-UagjDk4ijOAnGu4WMUPj9ahi7/zJJqNZ9ZAiGPp7waUWJO0O1aWXi/udPphI0IUjvrhBsZJGSN66dR2dsueLWQ==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
+ /@vercel/static-config@3.0.0:
+ resolution: {integrity: sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==}
dependencies:
- '@babel/runtime': 7.20.7
- react: 18.2.0
+ ajv: 8.6.3
+ json-schema-to-ts: 1.6.4
+ ts-morph: 12.0.0
+ dev: true
+
+ /@vladfrangu/async_event_emitter@2.2.4:
+ resolution: {integrity: sha512-ButUPz9E9cXMLgvAW8aLAKKJJsPu1dY1/l/E8xzLFuysowXygs6GBcyunK9rnGC4zTsnIc2mQo71rGw9U+Ykug==}
+ engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
dev: false
- /@radix-ui/react-focus-scope@1.0.1(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-Ej2MQTit8IWJiS2uuujGUmxXjF/y5xZptIIQnyd2JHLwtV0R2j9NRVoRj/1j/gJ7e3REdaBw4Hjf4a1ImhkZcQ==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/ast@1.11.1:
+ resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
+ '@webassemblyjs/helper-numbers': 1.11.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.1
dev: false
- /@radix-ui/react-id@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-Q6iAB/U7Tq3NTolBBQbHTgclPmGWE3OlktGGqrClPozSw4vkQ1DfQAOtzgRPecKsMdJINE05iaoDUG8tRzCBjw==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/ast@1.11.6:
+ resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0)
- react: 18.2.0
+ '@webassemblyjs/helper-numbers': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ dev: true
+
+ /@webassemblyjs/floating-point-hex-parser@1.11.1:
+ resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==}
dev: false
- /@radix-ui/react-menu@2.0.1(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-I5FFZQxCl2fHoJ7R0m5/oWA9EX8/ttH4AbgneoCH7DAXQioFeb0XMAYnOVSp1GgJZ1Nx/mohxNQSeTMcaF1YPw==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/floating-point-hex-parser@1.11.6:
+ resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==}
+ dev: true
+
+ /@webassemblyjs/helper-api-error@1.11.1:
+ resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==}
+ dev: false
+
+ /@webassemblyjs/helper-api-error@1.11.6:
+ resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==}
+ dev: true
+
+ /@webassemblyjs/helper-buffer@1.11.1:
+ resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==}
+ dev: false
+
+ /@webassemblyjs/helper-buffer@1.11.6:
+ resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==}
+ dev: true
+
+ /@webassemblyjs/helper-numbers@1.11.1:
+ resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/primitive': 1.0.0
- '@radix-ui/react-collection': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
- '@radix-ui/react-context': 1.0.0(react@18.2.0)
- '@radix-ui/react-direction': 1.0.0(react@18.2.0)
- '@radix-ui/react-dismissable-layer': 1.0.2(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-focus-guards': 1.0.0(react@18.2.0)
- '@radix-ui/react-focus-scope': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-id': 1.0.0(react@18.2.0)
- '@radix-ui/react-popper': 1.0.1(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-portal': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-presence': 1.0.0(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-roving-focus': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-slot': 1.0.1(react@18.2.0)
- '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0)
- aria-hidden: 1.2.1(@types/react@18.2.31)(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- react-remove-scroll: 2.5.5(@types/react@18.2.31)(react@18.2.0)
- transitivePeerDependencies:
- - '@types/react'
+ '@webassemblyjs/floating-point-hex-parser': 1.11.1
+ '@webassemblyjs/helper-api-error': 1.11.1
+ '@xtuc/long': 4.2.2
dev: false
- /@radix-ui/react-navigation-menu@1.1.1(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-Khgf+LwqYfUpbFAHcFPDMj6ZrWxnwCgC96liLYwE48x9YJbXGlutOWzZaSzrgl82xS+PwoPLQunfDe/i4ZITRA==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/helper-numbers@1.11.6:
+ resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/primitive': 1.0.0
- '@radix-ui/react-collection': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
- '@radix-ui/react-context': 1.0.0(react@18.2.0)
- '@radix-ui/react-direction': 1.0.0(react@18.2.0)
- '@radix-ui/react-dismissable-layer': 1.0.2(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-id': 1.0.0(react@18.2.0)
- '@radix-ui/react-presence': 1.0.0(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0)
- '@radix-ui/react-use-controllable-state': 1.0.0(react@18.2.0)
- '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0)
- '@radix-ui/react-use-previous': 1.0.0(react@18.2.0)
- '@radix-ui/react-visually-hidden': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
+ '@webassemblyjs/floating-point-hex-parser': 1.11.6
+ '@webassemblyjs/helper-api-error': 1.11.6
+ '@xtuc/long': 4.2.2
+ dev: true
+
+ /@webassemblyjs/helper-wasm-bytecode@1.11.1:
+ resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==}
dev: false
- /@radix-ui/react-popover@1.0.2(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-4tqZEl9w95R5mlZ/sFdgBnfhCBOEPepLIurBA5kt/qaAhldJ1tNQd0ngr0ET0AHbPotT4mwxMPr7a+MA/wbK0g==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/helper-wasm-bytecode@1.11.6:
+ resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==}
+ dev: true
+
+ /@webassemblyjs/helper-wasm-section@1.11.1:
+ resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/primitive': 1.0.0
- '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
- '@radix-ui/react-context': 1.0.0(react@18.2.0)
- '@radix-ui/react-dismissable-layer': 1.0.2(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-focus-guards': 1.0.0(react@18.2.0)
- '@radix-ui/react-focus-scope': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-id': 1.0.0(react@18.2.0)
- '@radix-ui/react-popper': 1.0.1(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-portal': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-presence': 1.0.0(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-slot': 1.0.1(react@18.2.0)
- '@radix-ui/react-use-controllable-state': 1.0.0(react@18.2.0)
- aria-hidden: 1.2.1(@types/react@18.2.31)(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- react-remove-scroll: 2.5.5(@types/react@18.2.31)(react@18.2.0)
- transitivePeerDependencies:
- - '@types/react'
+ '@webassemblyjs/ast': 1.11.1
+ '@webassemblyjs/helper-buffer': 1.11.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.1
+ '@webassemblyjs/wasm-gen': 1.11.1
dev: false
- /@radix-ui/react-popper@1.0.1(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-J4Vj7k3k+EHNWgcKrE+BLlQfpewxA7Zd76h5I0bIa+/EqaIZ3DuwrbPj49O3wqN+STnXsBuxiHLiF0iU3yfovw==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/helper-wasm-section@1.11.6:
+ resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==}
dependencies:
- '@babel/runtime': 7.19.4
- '@floating-ui/react-dom': 0.7.2(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-arrow': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
- '@radix-ui/react-context': 1.0.0(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0)
- '@radix-ui/react-use-rect': 1.0.0(react@18.2.0)
- '@radix-ui/react-use-size': 1.0.0(react@18.2.0)
- '@radix-ui/rect': 1.0.0
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- transitivePeerDependencies:
- - '@types/react'
- dev: false
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-buffer': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/wasm-gen': 1.11.6
+ dev: true
- /@radix-ui/react-portal@1.0.1(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-NY2vUWI5WENgAT1nfC6JS7RU5xRYBfjZVLq0HmgEN1Ezy3rk/UruMV4+Rd0F40PEaFC5SrLS1ixYvcYIQrb4Ig==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/ieee754@1.11.1:
+ resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==}
dependencies:
- '@babel/runtime': 7.20.7
- '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
+ '@xtuc/ieee754': 1.2.0
dev: false
- /@radix-ui/react-presence@1.0.0(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/ieee754@1.11.6:
+ resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
- '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: false
+ '@xtuc/ieee754': 1.2.0
+ dev: true
- /@radix-ui/react-primitive@1.0.1(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-fHbmislWVkZaIdeF6GZxF0A/NH/3BjrGIYj+Ae6eTmTCr7EB0RQAAVEiqsXK6p3/JcRqVSBQoceZroj30Jj3XA==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/leb128@1.11.1:
+ resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/react-slot': 1.0.1(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
+ '@xtuc/long': 4.2.2
dev: false
- /@radix-ui/react-progress@1.0.1(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-QbDf9eguM5QtkvGcGHe/nUgloM9yfRGpJTB/Te5cn4WmVHvcbhHyHw39/rbCZxNX4E+GEPp5Vs6+mEoyIotUbg==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/leb128@1.11.6:
+ resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/react-context': 1.0.0(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
+ '@xtuc/long': 4.2.2
+ dev: true
+
+ /@webassemblyjs/utf8@1.11.1:
+ resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==}
dev: false
- /@radix-ui/react-roving-focus@1.0.1(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-TB76u5TIxKpqMpUAuYH2VqMhHYKa+4Vs1NHygo/llLvlffN6mLVsFhz0AnSFlSBAvTBYVHYAkHAyEt7x1gPJOA==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/utf8@1.11.6:
+ resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==}
+ dev: true
+
+ /@webassemblyjs/wasm-edit@1.11.1:
+ resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/primitive': 1.0.0
- '@radix-ui/react-collection': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
- '@radix-ui/react-context': 1.0.0(react@18.2.0)
- '@radix-ui/react-direction': 1.0.0(react@18.2.0)
- '@radix-ui/react-id': 1.0.0(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0)
- '@radix-ui/react-use-controllable-state': 1.0.0(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
+ '@webassemblyjs/ast': 1.11.1
+ '@webassemblyjs/helper-buffer': 1.11.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.1
+ '@webassemblyjs/helper-wasm-section': 1.11.1
+ '@webassemblyjs/wasm-gen': 1.11.1
+ '@webassemblyjs/wasm-opt': 1.11.1
+ '@webassemblyjs/wasm-parser': 1.11.1
+ '@webassemblyjs/wast-printer': 1.11.1
dev: false
- /@radix-ui/react-slot@1.0.1(react@18.2.0):
- resolution: {integrity: sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/wasm-edit@1.11.6:
+ resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==}
dependencies:
- '@babel/runtime': 7.20.7
- '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
- react: 18.2.0
- dev: false
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-buffer': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/helper-wasm-section': 1.11.6
+ '@webassemblyjs/wasm-gen': 1.11.6
+ '@webassemblyjs/wasm-opt': 1.11.6
+ '@webassemblyjs/wasm-parser': 1.11.6
+ '@webassemblyjs/wast-printer': 1.11.6
+ dev: true
- /@radix-ui/react-tabs@1.0.1(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-mVNEwHwgjy2G9F7b39f9VY+jF0QUZykTm0Sdv+Uz6KC4KOEIa4HLDiHU8MeEZluRtZE3aqGYDhl93O7QbJDwhg==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/wasm-gen@1.11.1:
+ resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/primitive': 1.0.0
- '@radix-ui/react-context': 1.0.0(react@18.2.0)
- '@radix-ui/react-direction': 1.0.0(react@18.2.0)
- '@radix-ui/react-id': 1.0.0(react@18.2.0)
- '@radix-ui/react-presence': 1.0.0(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-roving-focus': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-controllable-state': 1.0.0(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
+ '@webassemblyjs/ast': 1.11.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.1
+ '@webassemblyjs/ieee754': 1.11.1
+ '@webassemblyjs/leb128': 1.11.1
+ '@webassemblyjs/utf8': 1.11.1
dev: false
- /@radix-ui/react-tooltip@1.0.2(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-11gUlok2rv5mu+KBtxniOKKNKjqC/uTbgFHWoQdbF46vMV+zjDaBvCtVDK9+MTddlpmlisGPGvvojX7Qm0yr+g==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/wasm-gen@1.11.6:
+ resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/primitive': 1.0.0
- '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
- '@radix-ui/react-context': 1.0.0(react@18.2.0)
- '@radix-ui/react-dismissable-layer': 1.0.2(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-id': 1.0.0(react@18.2.0)
- '@radix-ui/react-popper': 1.0.1(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-portal': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-presence': 1.0.0(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-slot': 1.0.1(react@18.2.0)
- '@radix-ui/react-use-controllable-state': 1.0.0(react@18.2.0)
- '@radix-ui/react-visually-hidden': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- transitivePeerDependencies:
- - '@types/react'
- dev: false
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/ieee754': 1.11.6
+ '@webassemblyjs/leb128': 1.11.6
+ '@webassemblyjs/utf8': 1.11.6
+ dev: true
- /@radix-ui/react-use-callback-ref@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/wasm-opt@1.11.1:
+ resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==}
dependencies:
- '@babel/runtime': 7.20.7
- react: 18.2.0
+ '@webassemblyjs/ast': 1.11.1
+ '@webassemblyjs/helper-buffer': 1.11.1
+ '@webassemblyjs/wasm-gen': 1.11.1
+ '@webassemblyjs/wasm-parser': 1.11.1
dev: false
- /@radix-ui/react-use-controllable-state@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-FohDoZvk3mEXh9AWAVyRTYR4Sq7/gavuofglmiXB2g1aKyboUD4YtgWxKj8O5n+Uak52gXQ4wKz5IFST4vtJHg==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/wasm-opt@1.11.6:
+ resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0)
- react: 18.2.0
- dev: false
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-buffer': 1.11.6
+ '@webassemblyjs/wasm-gen': 1.11.6
+ '@webassemblyjs/wasm-parser': 1.11.6
+ dev: true
- /@radix-ui/react-use-escape-keydown@1.0.2(react@18.2.0):
- resolution: {integrity: sha512-DXGim3x74WgUv+iMNCF+cAo8xUHHeqvjx8zs7trKf+FkQKPQXLk2sX7Gx1ysH7Q76xCpZuxIJE7HLPxRE+Q+GA==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/wasm-parser@1.11.1:
+ resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0)
- react: 18.2.0
+ '@webassemblyjs/ast': 1.11.1
+ '@webassemblyjs/helper-api-error': 1.11.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.1
+ '@webassemblyjs/ieee754': 1.11.1
+ '@webassemblyjs/leb128': 1.11.1
+ '@webassemblyjs/utf8': 1.11.1
dev: false
- /@radix-ui/react-use-layout-effect@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/wasm-parser@1.11.6:
+ resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==}
dependencies:
- '@babel/runtime': 7.19.4
- react: 18.2.0
- dev: false
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-api-error': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/ieee754': 1.11.6
+ '@webassemblyjs/leb128': 1.11.6
+ '@webassemblyjs/utf8': 1.11.6
+ dev: true
- /@radix-ui/react-use-previous@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-RG2K8z/K7InnOKpq6YLDmT49HGjNmrK+fr82UCVKT2sW0GYfVnYp4wZWBooT/EYfQ5faA9uIjvsuMMhH61rheg==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/wast-printer@1.11.1:
+ resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==}
dependencies:
- '@babel/runtime': 7.19.4
- react: 18.2.0
+ '@webassemblyjs/ast': 1.11.1
+ '@xtuc/long': 4.2.2
dev: false
- /@radix-ui/react-use-rect@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-TB7pID8NRMEHxb/qQJpvSt3hQU4sqNPM1VCTjTRjEOa7cEop/QMuq8S6fb/5Tsz64kqSvB9WnwsDHtjnrM9qew==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
+ /@webassemblyjs/wast-printer@1.11.6:
+ resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/rect': 1.0.0
- react: 18.2.0
+ '@webassemblyjs/ast': 1.11.6
+ '@xtuc/long': 4.2.2
+ dev: true
+
+ /@xobotyi/scrollbar-width@1.9.5:
+ resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==}
dev: false
- /@radix-ui/react-use-size@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-imZ3aYcoYCKhhgNpkNDh/aTiU05qw9hX+HHI1QDBTyIlcFjgeFlKKySNGMwTp7nYFLQg/j0VA2FmCY4WPDDHMg==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
+ /@xtuc/ieee754@1.2.0:
+ resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
+
+ /@xtuc/long@4.2.2:
+ resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
+
+ /@zkochan/retry@0.2.0:
+ resolution: {integrity: sha512-WhB+2B/ZPlW2Xy/kMJBrMbqecWXcbDDgn0K0wKBAgO2OlBTz1iLJrRWduo+DGGn0Akvz1Lu4Xvls7dJojximWw==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /@zkochan/rimraf@2.1.3:
+ resolution: {integrity: sha512-mCfR3gylCzPC+iqdxEA6z5SxJeOgzgbwmyxanKriIne5qZLswDe/M43aD3p5MNzwzXRhbZg/OX+MpES6Zk1a6A==}
+ engines: {node: '>=12.10'}
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0)
- react: 18.2.0
- dev: false
+ rimraf: 3.0.2
+ dev: true
+
+ /abbrev@1.1.1:
+ resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
+ dev: true
- /@radix-ui/react-visually-hidden@1.0.1(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-K1hJcCMfWfiYUibRqf3V8r5Drpyf7rh44jnrwAbdvI5iCCijilBBeyQv9SKidYNZIopMdCyR9FnIjkHxHN0FcQ==}
+ /acorn-import-assertions@1.8.0(acorn@8.8.1):
+ resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==}
peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ acorn: ^8
dependencies:
- '@babel/runtime': 7.19.4
- '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
+ acorn: 8.8.1
dev: false
- /@radix-ui/rect@1.0.0:
- resolution: {integrity: sha512-d0O68AYy/9oeEy1DdC07bz1/ZXX+DqCskRd3i4JzLSTXwefzaepQrKjXC7aNM8lTHjFLDO0pDgaEiQ7jEk+HVg==}
+ /acorn-import-assertions@1.9.0(acorn@8.11.3):
+ resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==}
+ peerDependencies:
+ acorn: ^8
dependencies:
- '@babel/runtime': 7.19.4
- dev: false
-
- /@reach/observe-rect@1.2.0:
- resolution: {integrity: sha512-Ba7HmkFgfQxZqqaeIWWkNK0rEhpxVQHIoVyW1YDSkGsGIXzcaW4deC8B0pZrNSSyLTdIk7y+5olKt5+g0GmFIQ==}
- dev: false
+ acorn: 8.11.3
+ dev: true
- /@rollup/plugin-typescript@10.0.1(rollup@3.7.1)(tslib@2.4.1)(typescript@4.9.4):
- resolution: {integrity: sha512-wBykxRLlX7EzL8BmUqMqk5zpx2onnmRMSw/l9M1sVfkJvdwfxogZQVNUM9gVMJbjRLDR5H6U0OMOrlDGmIV45A==}
- engines: {node: '>=14.0.0'}
+ /acorn-import-attributes@1.9.2(acorn@8.11.3):
+ resolution: {integrity: sha512-O+nfJwNolEA771IYJaiLWK1UAwjNsQmZbTRqqwBYxCgVQTmpFEMvBw6LOIQV0Me339L5UMVYFyRohGnGlQDdIQ==}
peerDependencies:
- rollup: ^2.14.0||^3.0.0
- tslib: '*'
- typescript: '>=3.7.0'
- peerDependenciesMeta:
- rollup:
- optional: true
- tslib:
- optional: true
+ acorn: ^8
dependencies:
- '@rollup/pluginutils': 5.0.2(rollup@3.7.1)
- resolve: 1.22.1
- rollup: 3.7.1
- tslib: 2.4.1
- typescript: 4.9.4
- dev: false
+ acorn: 8.11.3
+ dev: true
- /@rollup/pluginutils@5.0.2(rollup@3.7.1):
- resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
- engines: {node: '>=14.0.0'}
+ /acorn-jsx@5.3.2(acorn@8.11.3):
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
- '@types/estree': 1.0.0
- estree-walker: 2.0.2
- picomatch: 2.3.1
- rollup: 3.7.1
- dev: false
+ acorn: 8.11.3
+ dev: true
- /@rushstack/eslint-patch@1.2.0:
- resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==}
+ /acorn-walk@8.3.1:
+ resolution: {integrity: sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==}
+ engines: {node: '>=0.4.0'}
+
+ /acorn-walk@8.3.2:
+ resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
+ engines: {node: '>=0.4.0'}
dev: true
- /@sapphire/async-queue@1.5.0:
- resolution: {integrity: sha512-JkLdIsP8fPAdh9ZZjrbHWR/+mZj0wvKS5ICibcLrRI1j84UmLMshx5n9QmL8b95d4onJ2xxiyugTgSAX7AalmA==}
- engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
+ /acorn@8.10.0:
+ resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
dev: false
- /@sapphire/shapeshift@3.8.1:
- resolution: {integrity: sha512-xG1oXXBhCjPKbxrRTlox9ddaZTvVpOhYLmKmApD/vIWOV1xEYXnpoFs68zHIZBGbqztq6FrUPNPerIrO1Hqeaw==}
- engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
- dependencies:
- fast-deep-equal: 3.1.3
- lodash: 4.17.21
+ /acorn@8.11.3:
+ resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ /acorn@8.8.1:
+ resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
dev: false
- /@sapphire/snowflake@3.4.0:
- resolution: {integrity: sha512-zZxymtVO6zeXVMPds+6d7gv/OfnCc25M1Z+7ZLB0oPmeMTPeRWVPQSS16oDJy5ZsyCOLj7M6mbZml5gWXcVRNw==}
- engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
+ /agent-base@6.0.2:
+ resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
+ engines: {node: '>= 6.0.0'}
+ dependencies:
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /aggregate-error@3.1.0:
+ resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
+ engines: {node: '>=8'}
+ dependencies:
+ clean-stack: 2.2.0
+ indent-string: 4.0.0
+ dev: true
+
+ /ajv-formats@2.1.1(ajv@8.11.2):
+ resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+ dependencies:
+ ajv: 8.11.2
dev: false
- /@stitches/react@1.2.8(react@18.2.0):
- resolution: {integrity: sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==}
+ /ajv-keywords@3.5.2(ajv@6.12.6):
+ resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
peerDependencies:
- react: '>= 16.3.0'
+ ajv: ^6.9.1
dependencies:
- react: 18.2.0
- dev: false
+ ajv: 6.12.6
- /@supabase/functions-js@1.3.4:
- resolution: {integrity: sha512-yYVgkECjv7IZEBKBI3EB5Q7R1p0FJ10g8Q9N7SWKIHUU6i6DnbEGHIMFLyQRm1hmiNWD8fL7bRVEYacmTRJhHw==}
+ /ajv-keywords@5.1.0(ajv@8.11.2):
+ resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
+ peerDependencies:
+ ajv: ^8.8.2
dependencies:
- cross-fetch: 3.1.5
- transitivePeerDependencies:
- - encoding
+ ajv: 8.11.2
+ fast-deep-equal: 3.1.3
dev: false
- /@supabase/gotrue-js@1.24.0:
- resolution: {integrity: sha512-6PVv7mHCFOxLm6TSBfR7hsq/y3CMKpvzePVR+ZWtlFBTjJ2J87g2OYE9bgC61P5TNeZopUXKw93H92yz0MTALw==}
+ /ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
dependencies:
- cross-fetch: 3.1.5
- transitivePeerDependencies:
- - encoding
- dev: false
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
- /@supabase/postgrest-js@0.37.4:
- resolution: {integrity: sha512-x+c2rk1fz9s6f1PrGxCJ0QTUgXPDI0G3ngIqD5sSiXhhCyfl8Q5V92mXl2EYtlDhkiUkjFNrOZFhXVbXOHgvDw==}
+ /ajv@8.11.2:
+ resolution: {integrity: sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==}
dependencies:
- cross-fetch: 3.1.5
- transitivePeerDependencies:
- - encoding
+ fast-deep-equal: 3.1.3
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+ uri-js: 4.4.1
dev: false
- /@supabase/realtime-js@1.7.5:
- resolution: {integrity: sha512-nXuoxt7NE1NTI+G8WBim1K2gkUC8YE3e9evBUG+t6xwd9Sq+sSOrjcE0qJ8/Y631BCnLzlhX6yhFYQFh1oQDOg==}
+ /ajv@8.6.3:
+ resolution: {integrity: sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==}
dependencies:
- '@types/phoenix': 1.5.4
- websocket: 1.0.34
- transitivePeerDependencies:
- - supports-color
- dev: false
+ fast-deep-equal: 3.1.3
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+ uri-js: 4.4.1
+ dev: true
- /@supabase/storage-js@1.7.3:
- resolution: {integrity: sha512-jnIZWqOc9TGclOozgX9v/RWGFCgJAyW/yvmauexgRZhWknUXoA4b2i8tj7vfwE0WTvNRuA5JpXID98rfJeSG7Q==}
+ /ansi-escapes@4.3.2:
+ resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
+ engines: {node: '>=8'}
dependencies:
- cross-fetch: 3.1.5
- transitivePeerDependencies:
- - encoding
+ type-fest: 0.21.3
+ dev: true
+
+ /ansi-html-community@0.0.8:
+ resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
+ engines: {'0': node >= 0.8.0}
+ hasBin: true
dev: false
- /@supabase/supabase-js@1.35.7:
- resolution: {integrity: sha512-X+qCzmj5sH0dozagbLoK7LzysBaWoivO0gsAUAPPBQkQupQWuBfaOqG18gKhlfL0wp2PL888QzhQNScp/IwUfA==}
+ /ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ /ansi-regex@6.0.1:
+ resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
+ engines: {node: '>=12'}
+
+ /ansi-styles@3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
dependencies:
- '@supabase/functions-js': 1.3.4
- '@supabase/gotrue-js': 1.24.0
- '@supabase/postgrest-js': 0.37.4
- '@supabase/realtime-js': 1.7.5
- '@supabase/storage-js': 1.7.3
- transitivePeerDependencies:
- - encoding
- - supports-color
- dev: false
+ color-convert: 1.9.3
- /@swc/helpers@0.5.2:
- resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==}
+ /ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
dependencies:
- tslib: 2.4.1
- dev: false
+ color-convert: 2.0.1
- /@tanstack/query-core@4.22.0:
- resolution: {integrity: sha512-OeLyBKBQoT265f5G9biReijeP8mBxNFwY7ZUu1dKL+YzqpG5q5z7J/N1eT8aWyKuhyDTiUHuKm5l+oIVzbtrjw==}
+ /ansi-styles@5.2.0:
+ resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
+ engines: {node: '>=10'}
- /@tanstack/react-query@4.22.0(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-P9o+HjG42uB/xHR6dMsJaPhtZydSe4v0xdG5G/cEj1oHZAXelMlm67/rYJNQGKgBamKElKogj+HYGF+NY2yHYg==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
- react-native: '*'
- peerDependenciesMeta:
- react-dom:
- optional: true
- react-native:
- optional: true
- dependencies:
- '@tanstack/query-core': 4.22.0
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- use-sync-external-store: 1.2.0(react@18.2.0)
- dev: false
+ /ansi-styles@6.2.1:
+ resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+ engines: {node: '>=12'}
- /@tokenizer/token@0.3.0:
- resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==}
- dev: false
+ /any-promise@1.3.0:
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
- /@trpc/client@10.9.0(@trpc/server@10.9.0):
- resolution: {integrity: sha512-id6318qpgqllNOuBp7nuciXFPXCe+zae5d4r1hze6Eyp5fFFNO58TqA+4Q44KIcHgpfWyW2egs6iPeql3PrdKA==}
- peerDependencies:
- '@trpc/server': 10.9.0
+ /anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
dependencies:
- '@trpc/server': 10.9.0
- dev: false
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
- /@trpc/next@10.9.0(@tanstack/react-query@4.22.0)(@trpc/client@10.9.0)(@trpc/react-query@10.9.0)(@trpc/server@10.9.0)(next@13.5.6)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-h/W8VHMki/fw7vHNMs1Ku7bLqccjpiKCE1wkqbvHfBOO1ARDmarRbuK6dLqJilip/f7jkFXcrxwB+eNgK4+6Wg==}
- peerDependencies:
- '@tanstack/react-query': ^4.3.8
- '@trpc/client': 10.9.0
- '@trpc/react-query': ^10.8.0
- '@trpc/server': 10.9.0
- next: '*'
- react: '>=16.8.0'
- react-dom: '>=16.8.0'
- dependencies:
- '@tanstack/react-query': 4.22.0(react-dom@18.2.0)(react@18.2.0)
- '@trpc/client': 10.9.0(@trpc/server@10.9.0)
- '@trpc/react-query': 10.9.0(@tanstack/react-query@4.22.0)(@trpc/client@10.9.0)(@trpc/server@10.9.0)(react-dom@18.2.0)(react@18.2.0)
- '@trpc/server': 10.9.0
- next: 13.5.6(@babel/core@7.23.2)(react-dom@18.2.0)(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- react-ssr-prepass: 1.5.0(react@18.2.0)
- dev: false
+ /aproba@2.0.0:
+ resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==}
+ dev: true
- /@trpc/react-query@10.9.0(@tanstack/react-query@4.22.0)(@trpc/client@10.9.0)(@trpc/server@10.9.0)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-I7xtdFj/AETwc9HfY2bGxKINij39r26LvfIiTBfz2pBj1ELrcgucWmPeI2eS6pon/uI1E9Nqa6fQCg/zkg764Q==}
- peerDependencies:
- '@tanstack/react-query': ^4.3.8
- '@trpc/client': 10.9.0
- '@trpc/server': 10.9.0
- react: '>=16.8.0'
- react-dom: '>=16.8.0'
+ /are-we-there-yet@2.0.0:
+ resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==}
+ engines: {node: '>=10'}
dependencies:
- '@tanstack/react-query': 4.22.0(react-dom@18.2.0)(react@18.2.0)
- '@trpc/client': 10.9.0(@trpc/server@10.9.0)
- '@trpc/server': 10.9.0
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: false
+ delegates: 1.0.0
+ readable-stream: 3.6.2
+ dev: true
+
+ /arg@4.1.0:
+ resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==}
+ dev: true
- /@trpc/server@10.9.0:
- resolution: {integrity: sha512-5psyZgbvy29pJND32hwkWTMbv6s86IbsPOeDopsgNF0VegZT6Dsijmb7Ub/TDhuJVQVq5u4u5briMXi3SxmBkw==}
+ /arg@4.1.3:
+ resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
+
+ /arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
dev: false
- /@tsconfig/node10@1.0.9:
- resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==}
+ /argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
- /@tsconfig/node12@1.0.11:
- resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
+ /aria-hidden@1.2.3:
+ resolution: {integrity: sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ tslib: 2.6.2
+ dev: false
- /@tsconfig/node14@1.0.3:
- resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
+ /aria-query@5.3.0:
+ resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
+ dependencies:
+ dequal: 2.0.3
+ dev: true
- /@tsconfig/node16@1.0.3:
- resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==}
+ /arity-n@1.0.4:
+ resolution: {integrity: sha512-fExL2kFDC1Q2DUOx3whE/9KoN66IzkY4b4zUHUBFM1ojEYjZZYDcUW3bek/ufGionX9giIKDC5redH2IlGqcQQ==}
+ dev: true
- /@types/body-parser@1.19.2:
- resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==}
+ /array-buffer-byte-length@1.0.0:
+ resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==}
dependencies:
- '@types/connect': 3.4.35
- '@types/node': 20.8.7
+ call-bind: 1.0.5
+ is-array-buffer: 3.0.2
dev: true
- /@types/connect@3.4.35:
- resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==}
+ /array-includes@3.1.7:
+ resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==}
+ engines: {node: '>= 0.4'}
dependencies:
- '@types/node': 20.8.7
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ get-intrinsic: 1.2.2
+ is-string: 1.0.7
dev: true
- /@types/cors@2.8.13:
- resolution: {integrity: sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==}
+ /array-last@1.3.0:
+ resolution: {integrity: sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==}
+ engines: {node: '>=0.10.0'}
dependencies:
- '@types/node': 20.8.7
+ is-number: 4.0.0
dev: true
- /@types/eslint-scope@3.7.4:
- resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==}
+ /array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /array.prototype.findlastindex@1.2.3:
+ resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==}
+ engines: {node: '>= 0.4'}
dependencies:
- '@types/eslint': 8.4.10
- '@types/estree': 0.0.51
- dev: false
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ es-shim-unscopables: 1.0.2
+ get-intrinsic: 1.2.2
+ dev: true
- /@types/eslint@8.4.10:
- resolution: {integrity: sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==}
+ /array.prototype.flat@1.3.2:
+ resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
+ engines: {node: '>= 0.4'}
dependencies:
- '@types/estree': 1.0.0
- '@types/json-schema': 7.0.11
- dev: false
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ es-shim-unscopables: 1.0.2
+ dev: true
- /@types/estree@0.0.51:
- resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==}
- dev: false
+ /array.prototype.flatmap@1.3.2:
+ resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ es-shim-unscopables: 1.0.2
+ dev: true
- /@types/estree@1.0.0:
- resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==}
- dev: false
+ /array.prototype.tosorted@1.1.2:
+ resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ es-shim-unscopables: 1.0.2
+ get-intrinsic: 1.2.2
+ dev: true
- /@types/express-serve-static-core@4.17.31:
- resolution: {integrity: sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==}
+ /arraybuffer.prototype.slice@1.0.2:
+ resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==}
+ engines: {node: '>= 0.4'}
dependencies:
- '@types/node': 20.8.7
- '@types/qs': 6.9.7
- '@types/range-parser': 1.2.4
+ array-buffer-byte-length: 1.0.0
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ get-intrinsic: 1.2.2
+ is-array-buffer: 3.0.2
+ is-shared-array-buffer: 1.0.2
dev: true
- /@types/express@4.17.15:
- resolution: {integrity: sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==}
+ /as-table@1.0.55:
+ resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==}
dependencies:
- '@types/body-parser': 1.19.2
- '@types/express-serve-static-core': 4.17.31
- '@types/qs': 6.9.7
- '@types/serve-static': 1.15.0
+ printable-characters: 1.0.42
dev: true
- /@types/fs-extra@11.0.3:
- resolution: {integrity: sha512-sF59BlXtUdzEAL1u0MSvuzWd7PdZvZEtnaVkzX5mjpdWTJ8brG0jUqve3jPCzSzvAKKMHTG8F8o/WMQLtleZdQ==}
+ /ast-types-flow@0.0.8:
+ resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
+ dev: true
+
+ /ast-types@0.14.2:
+ resolution: {integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==}
+ engines: {node: '>=4'}
dependencies:
- '@types/jsonfile': 6.1.3
- '@types/node': 18.18.6
+ tslib: 2.6.2
dev: true
- /@types/js-cookie@2.2.7:
- resolution: {integrity: sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==}
- dev: false
+ /async-listen@1.2.0:
+ resolution: {integrity: sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==}
+ dev: true
+
+ /async-listen@3.0.0:
+ resolution: {integrity: sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==}
+ engines: {node: '>= 14'}
+ dev: true
- /@types/json-schema@7.0.11:
- resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==}
+ /async-listen@3.0.1:
+ resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==}
+ engines: {node: '>= 14'}
+ dev: true
- /@types/json5@0.0.29:
- resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
+ /async-sema@3.1.1:
+ resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==}
dev: true
- /@types/jsonfile@6.1.3:
- resolution: {integrity: sha512-/yqTk2SZ1wIezK0hiRZD7RuSf4B3whFxFamB1kGStv+8zlWScTMcHanzfc0XKWs5vA1TkHeckBlOyM8jxU8nHA==}
+ /asynciterator.prototype@1.0.0:
+ resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==}
dependencies:
- '@types/node': 18.18.6
+ has-symbols: 1.0.3
dev: true
- /@types/mime@3.0.1:
- resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==}
+ /asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+ dev: false
+
+ /autoprefixer@10.4.17(postcss@8.4.33):
+ resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ browserslist: 4.22.3
+ caniuse-lite: 1.0.30001581
+ fraction.js: 4.3.7
+ normalize-range: 0.1.2
+ picocolors: 1.0.0
+ postcss: 8.4.33
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /available-typed-arrays@1.0.5:
+ resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
+ engines: {node: '>= 0.4'}
dev: true
- /@types/minimist@1.2.4:
- resolution: {integrity: sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ==}
+ /axe-core@4.7.0:
+ resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==}
+ engines: {node: '>=4'}
dev: true
- /@types/node@18.18.6:
- resolution: {integrity: sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w==}
+ /axios@1.6.7:
+ resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==}
+ dependencies:
+ follow-redirects: 1.15.5
+ form-data: 4.0.0
+ proxy-from-env: 1.1.0
+ transitivePeerDependencies:
+ - debug
+ dev: false
+
+ /axobject-query@3.2.1:
+ resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
+ dependencies:
+ dequal: 2.0.3
dev: true
- /@types/node@20.8.7:
- resolution: {integrity: sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==}
+ /babel-loader@9.1.0(@babel/core@7.23.9)(webpack@5.75.0):
+ resolution: {integrity: sha512-Antt61KJPinUMwHwIIz9T5zfMgevnfZkEVWYDWlG888fgdvRRGD0JTuf/fFozQnfT+uq64sk1bmdHDy/mOEWnA==}
+ engines: {node: '>= 14.15.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+ webpack: '>=5'
+ dependencies:
+ '@babel/core': 7.23.9
+ find-cache-dir: 3.3.2
+ schema-utils: 4.0.0
+ webpack: 5.75.0
+ dev: false
+
+ /babel-plugin-macros@3.1.0:
+ resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
+ engines: {node: '>=10', npm: '>=6'}
dependencies:
- undici-types: 5.25.3
+ '@babel/runtime': 7.23.8
+ cosmiconfig: 7.1.0
+ resolve: 1.22.8
+
+ /babylon@6.18.0:
+ resolution: {integrity: sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==}
+ hasBin: true
+ dev: true
+
+ /balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
- /@types/nprogress@0.2.0:
- resolution: {integrity: sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==}
+ /base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
dev: true
- /@types/parse-json@4.0.0:
- resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==}
- dev: false
-
- /@types/phoenix@1.5.4:
- resolution: {integrity: sha512-L5eZmzw89eXBKkiqVBcJfU1QGx9y+wurRIEgt0cuLH0hwNtVUxtx+6cu0R2STwWj468sjXyBYPYDtGclUd1kjQ==}
+ /big.js@5.2.2:
+ resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
dev: false
- /@types/prop-types@15.7.9:
- resolution: {integrity: sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==}
-
- /@types/ps-tree@1.1.4:
- resolution: {integrity: sha512-CJyu2BqU/aZN/s8Ili3jiMctqXfTjCaWXirEcjRD8y1lUQZJ8eNohnal8+LXeWFs1VbdAOrCIdgATFsv+lnQ5Q==}
- dev: true
+ /binary-extensions@2.2.0:
+ resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
+ engines: {node: '>=8'}
- /@types/qs@6.9.7:
- resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==}
+ /bindings@1.5.0:
+ resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
+ dependencies:
+ file-uri-to-path: 1.0.0
dev: true
- /@types/range-parser@1.2.4:
- resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==}
+ /bl@4.1.0:
+ resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+ dependencies:
+ buffer: 5.7.1
+ inherits: 2.0.4
+ readable-stream: 3.6.2
dev: true
- /@types/react-dom@18.0.10:
- resolution: {integrity: sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==}
- dependencies:
- '@types/react': 18.2.31
+ /blake3-wasm@2.1.5:
+ resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==}
dev: true
- /@types/react-table@7.7.14:
- resolution: {integrity: sha512-TYrv7onCiakaG1uAu/UpQ9FojNEt/4/ht87EgJQaEGFoWV606ZLWUZAcUHzMxgc3v1mywP1cDyz3qB4ho3hWOw==}
+ /bole@5.0.10:
+ resolution: {integrity: sha512-5IiUWQ8QRQ8yHf46VPQ7GH3nj0Jy7P4heaENBVmsGfHP1Gtd0wqkvK6C3iHLUMdG3SMFx2DD8FqoIQcnMpdIdQ==}
dependencies:
- '@types/react': 18.2.31
+ fast-safe-stringify: 2.1.1
+ individual: 3.0.0
dev: true
- /@types/react-transition-group@4.4.5:
- resolution: {integrity: sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==}
- dependencies:
- '@types/react': 18.2.31
+ /boolbase@1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
dev: false
- /@types/react@18.2.31:
- resolution: {integrity: sha512-c2UnPv548q+5DFh03y8lEDeMfDwBn9G3dRwfkrxQMo/dOtRHUUO57k6pHvBIfH/VF4Nh+98mZ5aaSe+2echD5g==}
+ /brace-expansion@1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
dependencies:
- '@types/prop-types': 15.7.9
- '@types/scheduler': 0.16.5
- csstype: 3.1.2
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
- /@types/scheduler@0.16.5:
- resolution: {integrity: sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==}
+ /brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ dependencies:
+ balanced-match: 1.0.2
- /@types/semver@7.3.13:
- resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==}
- dev: true
+ /braces@3.0.2:
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
+ engines: {node: '>=8'}
+ dependencies:
+ fill-range: 7.0.1
- /@types/serve-static@1.15.0:
- resolution: {integrity: sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==}
+ /browserslist@4.22.1:
+ resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
dependencies:
- '@types/mime': 3.0.1
- '@types/node': 20.8.7
- dev: true
+ caniuse-lite: 1.0.30001551
+ electron-to-chromium: 1.4.563
+ node-releases: 2.0.13
+ update-browserslist-db: 1.0.13(browserslist@4.22.1)
+ dev: false
- /@types/strip-bom@3.0.0:
- resolution: {integrity: sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==}
+ /browserslist@4.22.2:
+ resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001576
+ electron-to-chromium: 1.4.627
+ node-releases: 2.0.14
+ update-browserslist-db: 1.0.13(browserslist@4.22.2)
- /@types/strip-json-comments@0.0.30:
- resolution: {integrity: sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==}
+ /browserslist@4.22.3:
+ resolution: {integrity: sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001581
+ electron-to-chromium: 1.4.650
+ node-releases: 2.0.14
+ update-browserslist-db: 1.0.13(browserslist@4.22.3)
- /@types/which@3.0.1:
- resolution: {integrity: sha512-OJWjr4k8gS1HXuOnCmQbBrQez+xqt/zqfp5PhgbKtsmEFEuojAg23arr+TiTZZ1TORdUF9RKXb/WKEpT1dwgSg==}
+ /buffer-crc32@0.2.13:
+ resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
dev: true
- /@types/ws@8.5.3:
- resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==}
- dependencies:
- '@types/node': 20.8.7
+ /buffer-from@1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+
+ /buffer-writer@2.0.0:
+ resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==}
+ engines: {node: '>=4'}
dev: false
- /@typescript-eslint/eslint-plugin@5.48.0(@typescript-eslint/parser@5.48.0)(eslint@8.31.0)(typescript@4.9.4):
- resolution: {integrity: sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- '@typescript-eslint/parser': ^5.0.0
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ /buffer@5.7.1:
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
dependencies:
- '@typescript-eslint/parser': 5.48.0(eslint@8.31.0)(typescript@4.9.4)
- '@typescript-eslint/scope-manager': 5.48.0
- '@typescript-eslint/type-utils': 5.48.0(eslint@8.31.0)(typescript@4.9.4)
- '@typescript-eslint/utils': 5.48.0(eslint@8.31.0)(typescript@4.9.4)
- debug: 4.3.4
- eslint: 8.31.0
- ignore: 5.2.4
- natural-compare-lite: 1.4.0
- regexpp: 3.2.0
- semver: 7.3.8
- tsutils: 3.21.0(typescript@4.9.4)
- typescript: 4.9.4
- transitivePeerDependencies:
- - supports-color
+ base64-js: 1.5.1
+ ieee754: 1.2.1
dev: true
- /@typescript-eslint/parser@5.48.0(eslint@8.31.0)(typescript@4.9.4):
- resolution: {integrity: sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ /bufferutil@4.0.7:
+ resolution: {integrity: sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==}
+ engines: {node: '>=6.14.2'}
+ requiresBuild: true
dependencies:
- '@typescript-eslint/scope-manager': 5.48.0
- '@typescript-eslint/types': 5.48.0
- '@typescript-eslint/typescript-estree': 5.48.0(typescript@4.9.4)
- debug: 4.3.4
- eslint: 8.31.0
- typescript: 4.9.4
- transitivePeerDependencies:
- - supports-color
- dev: true
+ node-gyp-build: 4.5.0
+ dev: false
- /@typescript-eslint/scope-manager@5.48.0:
- resolution: {integrity: sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ /builtins@5.0.1:
+ resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==}
dependencies:
- '@typescript-eslint/types': 5.48.0
- '@typescript-eslint/visitor-keys': 5.48.0
+ semver: 7.5.4
dev: true
- /@typescript-eslint/type-utils@5.48.0(eslint@8.31.0)(typescript@4.9.4):
- resolution: {integrity: sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: '*'
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ /busboy@1.6.0:
+ resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
+ engines: {node: '>=10.16.0'}
dependencies:
- '@typescript-eslint/typescript-estree': 5.48.0(typescript@4.9.4)
- '@typescript-eslint/utils': 5.48.0(eslint@8.31.0)(typescript@4.9.4)
- debug: 4.3.4
- eslint: 8.31.0
- tsutils: 3.21.0(typescript@4.9.4)
- typescript: 4.9.4
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@typescript-eslint/types@5.48.0:
- resolution: {integrity: sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: true
+ streamsearch: 1.1.0
- /@typescript-eslint/typescript-estree@5.48.0(typescript@4.9.4):
- resolution: {integrity: sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@typescript-eslint/types': 5.48.0
- '@typescript-eslint/visitor-keys': 5.48.0
- debug: 4.3.4
- globby: 11.1.0
- is-glob: 4.0.3
- semver: 7.3.8
- tsutils: 3.21.0(typescript@4.9.4)
- typescript: 4.9.4
- transitivePeerDependencies:
- - supports-color
+ /bytes@3.1.0:
+ resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==}
+ engines: {node: '>= 0.8'}
dev: true
- /@typescript-eslint/utils@5.48.0(eslint@8.31.0)(typescript@4.9.4):
- resolution: {integrity: sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ /call-bind@1.0.5:
+ resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==}
dependencies:
- '@types/json-schema': 7.0.11
- '@types/semver': 7.3.13
- '@typescript-eslint/scope-manager': 5.48.0
- '@typescript-eslint/types': 5.48.0
- '@typescript-eslint/typescript-estree': 5.48.0(typescript@4.9.4)
- eslint: 8.31.0
- eslint-scope: 5.1.1
- eslint-utils: 3.0.0(eslint@8.31.0)
- semver: 7.3.8
- transitivePeerDependencies:
- - supports-color
- - typescript
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.2
+ set-function-length: 1.1.1
dev: true
- /@typescript-eslint/visitor-keys@5.48.0:
- resolution: {integrity: sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- '@typescript-eslint/types': 5.48.0
- eslint-visitor-keys: 3.3.0
- dev: true
+ /callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
- /@webassemblyjs/ast@1.11.1:
- resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==}
- dependencies:
- '@webassemblyjs/helper-numbers': 1.11.1
- '@webassemblyjs/helper-wasm-bytecode': 1.11.1
+ /camelcase-css@2.0.1:
+ resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
+ engines: {node: '>= 6'}
dev: false
- /@webassemblyjs/floating-point-hex-parser@1.11.1:
- resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==}
- dev: false
+ /camelcase@6.3.0:
+ resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
+ engines: {node: '>=10'}
- /@webassemblyjs/helper-api-error@1.11.1:
- resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==}
- dev: false
+ /camelcase@7.0.1:
+ resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
+ engines: {node: '>=14.16'}
+ dev: true
- /@webassemblyjs/helper-buffer@1.11.1:
- resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==}
+ /caniuse-lite@1.0.30001551:
+ resolution: {integrity: sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==}
dev: false
- /@webassemblyjs/helper-numbers@1.11.1:
- resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==}
- dependencies:
- '@webassemblyjs/floating-point-hex-parser': 1.11.1
- '@webassemblyjs/helper-api-error': 1.11.1
- '@xtuc/long': 4.2.2
- dev: false
+ /caniuse-lite@1.0.30001576:
+ resolution: {integrity: sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==}
- /@webassemblyjs/helper-wasm-bytecode@1.11.1:
- resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==}
- dev: false
+ /caniuse-lite@1.0.30001581:
+ resolution: {integrity: sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ==}
- /@webassemblyjs/helper-wasm-section@1.11.1:
- resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==}
+ /capnp-ts@0.7.0:
+ resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==}
dependencies:
- '@webassemblyjs/ast': 1.11.1
- '@webassemblyjs/helper-buffer': 1.11.1
- '@webassemblyjs/helper-wasm-bytecode': 1.11.1
- '@webassemblyjs/wasm-gen': 1.11.1
- dev: false
+ debug: 4.3.4
+ tslib: 2.6.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
- /@webassemblyjs/ieee754@1.11.1:
- resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==}
+ /chalk@2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
dependencies:
- '@xtuc/ieee754': 1.2.0
- dev: false
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
- /@webassemblyjs/leb128@1.11.1:
- resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==}
+ /chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
dependencies:
- '@xtuc/long': 4.2.2
- dev: false
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
- /@webassemblyjs/utf8@1.11.1:
- resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==}
- dev: false
+ /chalk@5.3.0:
+ resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+ dev: true
- /@webassemblyjs/wasm-edit@1.11.1:
- resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==}
+ /chardet@0.7.0:
+ resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
+ dev: true
+
+ /cheerio-select@2.1.0:
+ resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==}
dependencies:
- '@webassemblyjs/ast': 1.11.1
- '@webassemblyjs/helper-buffer': 1.11.1
- '@webassemblyjs/helper-wasm-bytecode': 1.11.1
- '@webassemblyjs/helper-wasm-section': 1.11.1
- '@webassemblyjs/wasm-gen': 1.11.1
- '@webassemblyjs/wasm-opt': 1.11.1
- '@webassemblyjs/wasm-parser': 1.11.1
- '@webassemblyjs/wast-printer': 1.11.1
+ 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
dev: false
- /@webassemblyjs/wasm-gen@1.11.1:
- resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==}
+ /cheerio@1.0.0-rc.12:
+ resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==}
+ engines: {node: '>= 6'}
dependencies:
- '@webassemblyjs/ast': 1.11.1
- '@webassemblyjs/helper-wasm-bytecode': 1.11.1
- '@webassemblyjs/ieee754': 1.11.1
- '@webassemblyjs/leb128': 1.11.1
- '@webassemblyjs/utf8': 1.11.1
+ cheerio-select: 2.1.0
+ dom-serializer: 2.0.0
+ domhandler: 5.0.3
+ domutils: 3.0.1
+ htmlparser2: 8.0.1
+ parse5: 7.1.1
+ parse5-htmlparser2-tree-adapter: 7.0.0
dev: false
- /@webassemblyjs/wasm-opt@1.11.1:
- resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==}
+ /chokidar@3.3.1:
+ resolution: {integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==}
+ engines: {node: '>= 8.10.0'}
dependencies:
- '@webassemblyjs/ast': 1.11.1
- '@webassemblyjs/helper-buffer': 1.11.1
- '@webassemblyjs/wasm-gen': 1.11.1
- '@webassemblyjs/wasm-parser': 1.11.1
- dev: false
+ anymatch: 3.1.3
+ braces: 3.0.2
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.3.0
+ optionalDependencies:
+ fsevents: 2.1.3
+ dev: true
- /@webassemblyjs/wasm-parser@1.11.1:
- resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==}
+ /chokidar@3.5.1:
+ resolution: {integrity: sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==}
+ engines: {node: '>= 8.10.0'}
dependencies:
- '@webassemblyjs/ast': 1.11.1
- '@webassemblyjs/helper-api-error': 1.11.1
- '@webassemblyjs/helper-wasm-bytecode': 1.11.1
- '@webassemblyjs/ieee754': 1.11.1
- '@webassemblyjs/leb128': 1.11.1
- '@webassemblyjs/utf8': 1.11.1
- dev: false
+ anymatch: 3.1.3
+ braces: 3.0.2
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.5.0
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
- /@webassemblyjs/wast-printer@1.11.1:
- resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==}
+ /chokidar@3.5.3:
+ resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
+ engines: {node: '>= 8.10.0'}
dependencies:
- '@webassemblyjs/ast': 1.11.1
- '@xtuc/long': 4.2.2
- dev: false
+ anymatch: 3.1.3
+ braces: 3.0.2
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.3
- /@xobotyi/scrollbar-width@1.9.5:
- resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==}
- dev: false
+ /chownr@1.1.4:
+ resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
+ dev: true
- /@xtuc/ieee754@1.2.0:
- resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
- dev: false
+ /chownr@2.0.0:
+ resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
+ engines: {node: '>=10'}
+ dev: true
- /@xtuc/long@4.2.2:
- resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
- dev: false
+ /chrome-trace-event@1.0.3:
+ resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==}
+ engines: {node: '>=6.0'}
- /accepts@1.3.8:
- resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
- engines: {node: '>= 0.6'}
- dependencies:
- mime-types: 2.1.35
- negotiator: 0.6.3
+ /classnames@2.5.1:
+ resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==}
dev: false
- /acorn-import-assertions@1.8.0(acorn@8.8.1):
- resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==}
- peerDependencies:
- acorn: ^8
- dependencies:
- acorn: 8.8.1
- dev: false
+ /clean-stack@2.2.0:
+ resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
+ engines: {node: '>=6'}
+ dev: true
- /acorn-jsx@5.3.2(acorn@8.8.1):
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ /cli-color@2.0.3:
+ resolution: {integrity: sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==}
+ engines: {node: '>=0.10'}
dependencies:
- acorn: 8.8.1
+ d: 1.0.1
+ es5-ext: 0.10.62
+ es6-iterator: 2.0.3
+ memoizee: 0.4.15
+ timers-ext: 0.1.7
dev: true
- /acorn-node@1.8.2:
- resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==}
+ /cli-cursor@3.1.0:
+ resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
+ engines: {node: '>=8'}
dependencies:
- acorn: 7.4.1
- acorn-walk: 7.2.0
- xtend: 4.0.2
+ restore-cursor: 3.1.0
dev: true
- /acorn-walk@7.2.0:
- resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
- engines: {node: '>=0.4.0'}
+ /cli-spinners@2.9.2:
+ resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
+ engines: {node: '>=6'}
dev: true
- /acorn-walk@8.2.0:
- resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
- engines: {node: '>=0.4.0'}
+ /cli-table@0.3.6:
+ resolution: {integrity: sha512-ZkNZbnZjKERTY5NwC2SeMeLeifSPq/pubeRoTpdr3WchLlnZg6hEgvHkK5zL7KNFdd9PmHN8lxrENUwI3cE8vQ==}
+ engines: {node: '>= 0.2.0'}
+ dependencies:
+ colors: 1.0.3
+ dev: true
- /acorn@7.4.1:
- resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
- engines: {node: '>=0.4.0'}
- hasBin: true
+ /cli-width@3.0.0:
+ resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==}
+ engines: {node: '>= 10'}
dev: true
- /acorn@8.8.1:
- resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==}
- engines: {node: '>=0.4.0'}
- hasBin: true
+ /client-only@0.0.1:
+ resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
- /ajv-formats@2.1.1(ajv@8.11.2):
- resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
- peerDependencies:
- ajv: ^8.0.0
- peerDependenciesMeta:
- ajv:
- optional: true
+ /cliui@8.0.1:
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+ engines: {node: '>=12'}
dependencies:
- ajv: 8.11.2
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
dev: false
- /ajv-keywords@3.5.2(ajv@6.12.6):
- resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
- peerDependencies:
- ajv: ^6.9.1
- dependencies:
- ajv: 6.12.6
- dev: false
+ /clone@1.0.4:
+ resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
+ engines: {node: '>=0.8'}
+ requiresBuild: true
+ dev: true
- /ajv-keywords@5.1.0(ajv@8.11.2):
- resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
- peerDependencies:
- ajv: ^8.8.2
- dependencies:
- ajv: 8.11.2
- fast-deep-equal: 3.1.3
+ /clsx@2.1.0:
+ resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==}
+ engines: {node: '>=6'}
dev: false
- /ajv@6.12.6:
- resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ /code-block-writer@10.1.1:
+ resolution: {integrity: sha512-67ueh2IRGst/51p0n6FvPrnRjAGHY5F8xdjkgrYE7DDzpJe6qA07RYQ9VcoUeo5ATOjSOiWpSL3SWBRRbempMw==}
+ dev: true
+
+ /color-convert@1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
dependencies:
- fast-deep-equal: 3.1.3
- fast-json-stable-stringify: 2.1.0
- json-schema-traverse: 0.4.1
- uri-js: 4.4.1
+ color-name: 1.1.3
- /ajv@8.11.2:
- resolution: {integrity: sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==}
+ /color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
dependencies:
- fast-deep-equal: 3.1.3
- json-schema-traverse: 1.0.0
- require-from-string: 2.0.2
- uri-js: 4.4.1
- dev: false
+ color-name: 1.1.4
- /ansi-html-community@0.0.8:
- resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
- engines: {'0': node >= 0.8.0}
- hasBin: true
- dev: false
+ /color-name@1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
- /ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
+ /color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
- /ansi-styles@3.2.1:
- resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
- engines: {node: '>=4'}
+ /color-string@1.9.1:
+ resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
dependencies:
- color-convert: 1.9.3
+ color-name: 1.1.4
+ simple-swizzle: 0.2.2
dev: false
- /ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
+ /color-support@1.1.3:
+ resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
+ hasBin: true
+ dev: true
+
+ /color@4.2.3:
+ resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
+ engines: {node: '>=12.5.0'}
dependencies:
color-convert: 2.0.1
+ color-string: 1.9.1
+ dev: false
- /anymatch@3.1.2:
- resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==}
- engines: {node: '>= 8'}
+ /colors@1.0.3:
+ resolution: {integrity: sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==}
+ engines: {node: '>=0.1.90'}
+ dev: true
+
+ /combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
dependencies:
- normalize-path: 3.0.0
- picomatch: 2.3.1
+ delayed-stream: 1.0.0
+ dev: false
- /arg@4.1.3:
- resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
+ /commander@10.0.1:
+ resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
+ engines: {node: '>=14'}
+ dev: true
- /arg@5.0.2:
- resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+ /commander@11.1.0:
+ resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
+ engines: {node: '>=16'}
dev: true
- /argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ /commander@2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+
+ /commander@4.1.1:
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
+ engines: {node: '>= 6'}
+
+ /commander@9.5.0:
+ resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
+ engines: {node: ^12.20.0 || >=14}
dev: true
- /aria-hidden@1.2.1(@types/react@18.2.31)(react@18.2.0):
- resolution: {integrity: sha512-PN344VAf9j1EAi+jyVHOJ8XidQdPVssGco39eNcsGdM4wcsILtxrKLkbuiMfLWYROK1FjRQasMWCBttrhjnr6A==}
- engines: {node: '>=10'}
- peerDependencies:
- '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0
- react: ^16.9.0 || ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
- dependencies:
- '@types/react': 18.2.31
- react: 18.2.0
- tslib: 2.4.1
+ /common-path-prefix@3.0.0:
+ resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==}
dev: false
- /aria-query@4.2.2:
- resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==}
- engines: {node: '>=6.0'}
+ /commondir@1.0.1:
+ resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+ dev: false
+
+ /compose-function@3.0.3:
+ resolution: {integrity: sha512-xzhzTJ5eC+gmIzvZq+C3kCJHsp9os6tJkrigDRZclyGtOKINbZtE8n1Tzmeh32jW+BUDPbvZpibwvJHBLGMVwg==}
dependencies:
- '@babel/runtime': 7.20.7
- '@babel/runtime-corejs3': 7.19.6
+ arity-n: 1.0.4
dev: true
- /array-flatten@1.1.1:
- resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
- dev: false
+ /concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
- /array-includes@3.1.5:
- resolution: {integrity: sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.20.4
- get-intrinsic: 1.1.3
- is-string: 1.0.7
+ /console-control-strings@1.1.0:
+ resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
dev: true
- /array-includes@3.1.6:
- resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.20.5
- get-intrinsic: 1.1.3
- is-string: 1.0.7
+ /content-type@1.0.4:
+ resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==}
+ engines: {node: '>= 0.6'}
dev: true
- /array-union@2.1.0:
- resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ /convert-hrtime@3.0.0:
+ resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==}
engines: {node: '>=8'}
dev: true
- /array.prototype.flat@1.3.1:
- resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.20.5
- es-shim-unscopables: 1.0.0
- dev: true
+ /convert-source-map@1.9.0:
+ resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+ dev: false
- /array.prototype.flatmap@1.3.1:
- resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.20.5
- es-shim-unscopables: 1.0.0
+ /convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+
+ /cookie@0.5.0:
+ resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
+ engines: {node: '>= 0.6'}
dev: true
- /array.prototype.tosorted@1.1.1:
- resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==}
+ /copy-anything@3.0.5:
+ resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==}
+ engines: {node: '>=12.13'}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.20.5
- es-shim-unscopables: 1.0.0
- get-intrinsic: 1.1.3
- dev: true
+ is-what: 4.1.16
- /ast-types-flow@0.0.7:
- resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==}
- dev: true
+ /copy-to-clipboard@3.3.3:
+ resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==}
+ dependencies:
+ toggle-selection: 1.0.6
+ dev: false
- /asynckit@0.4.0:
- resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+ /core-js-pure@3.26.0:
+ resolution: {integrity: sha512-LiN6fylpVBVwT8twhhluD9TzXmZQQsr2I2eIKtWNbZI1XMfBT7CV18itaN6RA7EtQd/SDdRx/wzvAShX2HvhQA==}
+ requiresBuild: true
dev: false
- /autoprefixer@10.4.13(postcss@8.4.20):
- resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==}
- engines: {node: ^10 || ^12 || >=14}
- hasBin: true
- peerDependencies:
- postcss: ^8.1.0
+ /cosmiconfig@7.1.0:
+ resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
+ engines: {node: '>=10'}
dependencies:
- browserslist: 4.21.4
- caniuse-lite: 1.0.30001434
- fraction.js: 4.2.0
- normalize-range: 0.1.2
- picocolors: 1.0.0
- postcss: 8.4.20
- postcss-value-parser: 4.2.0
- dev: true
+ '@types/parse-json': 4.0.0
+ import-fresh: 3.3.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ yaml: 1.10.2
+
+ /cosmiconfig@8.3.6(typescript@5.3.3):
+ resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=4.9.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ typescript: 5.3.3
- /axe-core@4.5.0:
- resolution: {integrity: sha512-4+rr8eQ7+XXS5nZrKcMO/AikHL0hVqy+lHWAnE3xdHl+aguag8SOQ6eEqLexwLNWgXIMfunGuD3ON1/6Kyet0A==}
- engines: {node: '>=4'}
- dev: true
+ /create-require@1.1.1:
+ resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
- /axios@1.1.3:
- resolution: {integrity: sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==}
+ /cross-fetch@3.1.5:
+ resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==}
dependencies:
- follow-redirects: 1.15.2
- form-data: 4.0.0
- proxy-from-env: 1.1.0
+ node-fetch: 2.6.7(encoding@0.1.13)
transitivePeerDependencies:
- - debug
+ - encoding
dev: false
- /axobject-query@2.2.0:
- resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==}
+ /cross-spawn@7.0.3:
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ engines: {node: '>= 8'}
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+
+ /crypto-random-string@2.0.0:
+ resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
+ engines: {node: '>=8'}
dev: true
- /babel-loader@9.1.0(@babel/core@7.23.2)(webpack@5.75.0):
- resolution: {integrity: sha512-Antt61KJPinUMwHwIIz9T5zfMgevnfZkEVWYDWlG888fgdvRRGD0JTuf/fFozQnfT+uq64sk1bmdHDy/mOEWnA==}
- engines: {node: '>= 14.15.0'}
- peerDependencies:
- '@babel/core': ^7.12.0
- webpack: '>=5'
+ /css-in-js-utils@3.1.0:
+ resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==}
dependencies:
- '@babel/core': 7.23.2
- find-cache-dir: 3.3.2
- schema-utils: 4.0.0
- webpack: 5.75.0
+ hyphenate-style-name: 1.0.4
dev: false
- /babel-plugin-macros@3.1.0:
- resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
- engines: {node: '>=10', npm: '>=6'}
+ /css-select@5.1.0:
+ resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
dependencies:
- '@babel/runtime': 7.20.7
- cosmiconfig: 7.1.0
- resolve: 1.22.1
+ boolbase: 1.0.0
+ css-what: 6.1.0
+ domhandler: 5.0.3
+ domutils: 3.0.1
+ nth-check: 2.1.1
dev: false
- /balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
-
- /big.js@5.2.2:
- resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
+ /css-tree@1.1.3:
+ resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ mdn-data: 2.0.14
+ source-map: 0.6.1
dev: false
- /binary-extensions@2.2.0:
- resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
- engines: {node: '>=8'}
+ /css-what@6.1.0:
+ resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
+ engines: {node: '>= 6'}
+ dev: false
- /body-parser@1.20.1:
- resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==}
- engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
- 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.11.0
- raw-body: 2.5.1
- type-is: 1.6.18
- unpipe: 1.0.0
- transitivePeerDependencies:
- - supports-color
+ /cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
dev: false
- /boolbase@1.0.0:
- resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+ /csstype@3.1.2:
+ resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
dev: false
- /brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
- dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
+ /csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
- /braces@3.0.2:
- resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
- engines: {node: '>=8'}
+ /d@1.0.1:
+ resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==}
dependencies:
- fill-range: 7.0.1
+ es5-ext: 0.10.62
+ type: 1.2.0
- /browserslist@4.21.4:
- resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
- dependencies:
- caniuse-lite: 1.0.30001443
- electron-to-chromium: 1.4.284
- node-releases: 2.0.6
- update-browserslist-db: 1.0.10(browserslist@4.21.4)
+ /damerau-levenshtein@1.0.8:
+ resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
+ dev: true
- /browserslist@4.22.1:
- resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
- dependencies:
- caniuse-lite: 1.0.30001551
- electron-to-chromium: 1.4.563
- node-releases: 2.0.13
- update-browserslist-db: 1.0.13(browserslist@4.22.1)
- dev: false
+ /data-uri-to-buffer@2.0.2:
+ resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==}
+ dev: true
- /buffer-from@1.1.2:
- resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+ /data-uri-to-buffer@3.0.1:
+ resolution: {integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==}
+ engines: {node: '>= 6'}
+ dev: true
- /bufferutil@4.0.7:
- resolution: {integrity: sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==}
- engines: {node: '>=6.14.2'}
- requiresBuild: true
+ /data-uri-to-buffer@4.0.1:
+ resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
+ engines: {node: '>= 12'}
+ dev: true
+
+ /date-fns@2.30.0:
+ resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==}
+ engines: {node: '>=0.11'}
dependencies:
- node-gyp-build: 4.5.0
+ '@babel/runtime': 7.23.8
+ dev: true
+
+ /dayjs@1.11.10:
+ resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==}
dev: false
- /busboy@1.6.0:
- resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
- engines: {node: '>=10.16.0'}
+ /debug@2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
dependencies:
- streamsearch: 1.1.0
+ ms: 2.0.0
dev: false
- /bytes@3.1.2:
- resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
- engines: {node: '>= 0.8'}
- dev: false
+ /debug@3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.3
+ dev: true
- /call-bind@1.0.2:
- resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
+ /debug@4.1.1:
+ resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==}
+ deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
dependencies:
- function-bind: 1.1.1
- get-intrinsic: 1.1.3
+ ms: 2.1.1
+ dev: true
- /callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
+ /debug@4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
- /camelcase-css@2.0.1:
- resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
- engines: {node: '>= 6'}
+ /deep-freeze@0.0.1:
+ resolution: {integrity: sha512-Z+z8HiAvsGwmjqlphnHW5oz6yWlOwu6EQfFTjmeTWlDeda3FS2yv3jhq35TX/ewmsnqB+RX2IdsIOyjJCQN5tg==}
dev: true
- /caniuse-lite@1.0.30001434:
- resolution: {integrity: sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==}
+ /deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
dev: true
- /caniuse-lite@1.0.30001443:
- resolution: {integrity: sha512-jUo8svymO8+Mkj3qbUbVjR8zv8LUGpGkUM/jKvc9SO2BvjCI980dp9fQbf/dyLs6RascPzgR4nhAKFA4OHeSaA==}
+ /defaults@1.0.4:
+ resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
+ requiresBuild: true
+ dependencies:
+ clone: 1.0.4
+ dev: true
- /caniuse-lite@1.0.30001551:
- resolution: {integrity: sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==}
- dev: false
+ /define-data-property@1.1.1:
+ resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.2
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.1
+ dev: true
- /chalk@2.4.2:
- resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
- engines: {node: '>=4'}
+ /define-properties@1.2.1:
+ resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
+ engines: {node: '>= 0.4'}
dependencies:
- ansi-styles: 3.2.1
- escape-string-regexp: 1.0.5
- supports-color: 5.5.0
+ define-data-property: 1.1.1
+ has-property-descriptors: 1.0.1
+ object-keys: 1.1.1
+ dev: true
+
+ /delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
dev: false
- /chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
- dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
+ /delegates@1.0.0:
+ resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
+ dev: true
- /chalk@5.3.0:
- resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
- engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+ /depd@1.1.2:
+ resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
+ engines: {node: '>= 0.6'}
dev: true
- /cheerio-select@2.1.0:
- resolution: {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
+ /dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /detect-libc@2.0.2:
+ resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==}
+ engines: {node: '>=8'}
+
+ /detect-node-es@1.1.0:
+ resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
dev: false
- /cheerio@1.0.0-rc.12:
- resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==}
- engines: {node: '>= 6'}
- 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.1.1
- parse5-htmlparser2-tree-adapter: 7.0.0
+ /didyoumean@1.2.2:
+ resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
dev: false
- /chokidar@3.5.3:
- resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
- engines: {node: '>= 8.10.0'}
+ /diff@4.0.2:
+ resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
+ engines: {node: '>=0.3.1'}
+
+ /difflib@0.2.4:
+ resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==}
dependencies:
- anymatch: 3.1.2
- braces: 3.0.2
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.3
+ heap: 0.2.7
+ dev: true
+
+ /dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-type: 4.0.0
+ dev: true
- /chrome-trace-event@1.0.3:
- resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==}
- engines: {node: '>=6.0'}
+ /discord-api-types@0.37.61:
+ resolution: {integrity: sha512-o/dXNFfhBpYHpQFdT6FWzeO7pKc838QeeZ9d91CfVAtpr5XLK4B/zYxQbYgPdoMiTDvJfzcsLW5naXgmHGDNXw==}
dev: false
- /classnames@2.3.2:
- resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==}
- dev: false
+ /discord-api-types@0.37.67:
+ resolution: {integrity: sha512-4HEzUEmwGPXWJdVhGZ/K+9eWs8kurdn5r/I8qD3/0hb14I0MZvx8K/JOyLhKLgcR4/8/jcr6Xej820BNgNXN7A==}
- /client-only@0.0.1:
- resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
+ /discord.js@14.14.1:
+ resolution: {integrity: sha512-/hUVzkIerxKHyRKopJy5xejp4MYKDPTszAnpYxzVVv4qJYf+Tkt+jnT2N29PIPschicaEEpXwF2ARrTYHYwQ5w==}
+ engines: {node: '>=16.11.0'}
+ dependencies:
+ '@discordjs/builders': 1.7.0
+ '@discordjs/collection': 1.5.3
+ '@discordjs/formatters': 0.3.3
+ '@discordjs/rest': 2.2.0
+ '@discordjs/util': 1.0.2
+ '@discordjs/ws': 1.0.2
+ '@sapphire/snowflake': 3.5.1
+ '@types/ws': 8.5.9
+ discord-api-types: 0.37.61
+ fast-deep-equal: 3.1.3
+ lodash.snakecase: 4.1.1
+ tslib: 2.6.2
+ undici: 5.27.2
+ ws: 8.14.2
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
dev: false
- /cliui@8.0.1:
- resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
- engines: {node: '>=12'}
- dependencies:
- string-width: 4.2.3
- strip-ansi: 6.0.1
- wrap-ansi: 7.0.0
+ /dlv@1.1.3:
+ resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
dev: false
- /color-convert@1.9.3:
- resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+ /doctrine@2.1.0:
+ resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
+ engines: {node: '>=0.10.0'}
dependencies:
- color-name: 1.1.3
- dev: false
+ esutils: 2.0.3
+ dev: true
- /color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
+ /doctrine@3.0.0:
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
+ engines: {node: '>=6.0.0'}
dependencies:
- color-name: 1.1.4
+ esutils: 2.0.3
+ dev: true
- /color-name@1.1.3:
- resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+ /dom-helpers@5.2.1:
+ resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==}
+ dependencies:
+ '@babel/runtime': 7.23.2
+ csstype: 3.1.2
dev: false
- /color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
-
- /combined-stream@1.0.8:
- resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
- engines: {node: '>= 0.8'}
+ /dom-serializer@2.0.0:
+ resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
dependencies:
- delayed-stream: 1.0.0
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ entities: 4.4.0
dev: false
- /command-score@0.1.2:
- resolution: {integrity: sha512-VtDvQpIJBvBatnONUsPzXYFVKQQAhuf3XTNOAsdBxCNO/QCtUUd8LSgjn0GVarBkCad6aJCZfXgrjYbl/KRr7w==}
+ /domelementtype@2.3.0:
+ resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
dev: false
- /commander@2.20.3:
- resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+ /domhandler@5.0.3:
+ resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
+ engines: {node: '>= 4'}
+ dependencies:
+ domelementtype: 2.3.0
dev: false
- /common-path-prefix@3.0.0:
- resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==}
+ /domutils@3.0.1:
+ resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==}
+ dependencies:
+ dom-serializer: 2.0.0
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
dev: false
- /commondir@1.0.1:
- resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+ /dotenv@16.4.1:
+ resolution: {integrity: sha512-CjA3y+Dr3FyFDOAMnxZEGtnW9KBR2M0JvvUtXNW+dYJL5ROWxP9DUHCwgFqpMk0OXCc0ljhaNTr2w/kutYIcHQ==}
+ engines: {node: '>=12'}
dev: false
- /concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+ /dreamopt@0.8.0:
+ resolution: {integrity: sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==}
+ engines: {node: '>=0.4.0'}
+ dependencies:
+ wordwrap: 1.0.0
+ dev: true
- /content-disposition@0.5.4:
- resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
- engines: {node: '>= 0.6'}
+ /drizzle-kit@0.20.13:
+ resolution: {integrity: sha512-j9oZSQXNWG+KBJm0Sg3S/zJpncHGKnpqNfFuM4NUxUMGTcihDHhP9SW6Jncqwb5vsP1Xm0a8JLm3PZUIspC/oA==}
+ hasBin: true
dependencies:
- safe-buffer: 5.2.1
- dev: false
+ '@drizzle-team/studio': 0.0.39
+ '@esbuild-kit/esm-loader': 2.6.5
+ camelcase: 7.0.1
+ chalk: 5.3.0
+ commander: 9.5.0
+ env-paths: 3.0.0
+ esbuild: 0.19.11
+ esbuild-register: 3.5.0(esbuild@0.19.11)
+ glob: 8.1.0
+ hanji: 0.0.5
+ json-diff: 0.9.0
+ minimatch: 7.4.6
+ semver: 7.5.4
+ zod: 3.22.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
- /content-type@1.0.4:
- resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==}
- engines: {node: '>= 0.6'}
+ /drizzle-orm@0.29.3(@types/pg@8.11.0)(@types/react@18.2.48)(pg@8.11.3)(react@18.2.0):
+ resolution: {integrity: sha512-uSE027csliGSGYD0pqtM+SAQATMREb3eSM/U8s6r+Y0RFwTKwftnwwSkqx3oS65UBgqDOM0gMTl5UGNpt6lW0A==}
+ peerDependencies:
+ '@aws-sdk/client-rds-data': '>=3'
+ '@cloudflare/workers-types': '>=3'
+ '@libsql/client': '*'
+ '@neondatabase/serverless': '>=0.1'
+ '@opentelemetry/api': ^1.4.1
+ '@planetscale/database': '>=1'
+ '@types/better-sqlite3': '*'
+ '@types/pg': '*'
+ '@types/react': '>=18'
+ '@types/sql.js': '*'
+ '@vercel/postgres': '*'
+ better-sqlite3: '>=7'
+ bun-types: '*'
+ expo-sqlite: '>=13.2.0'
+ knex: '*'
+ kysely: '*'
+ mysql2: '>=2'
+ pg: '>=8'
+ postgres: '>=3'
+ react: '>=18'
+ sql.js: '>=1'
+ sqlite3: '>=5'
+ peerDependenciesMeta:
+ '@aws-sdk/client-rds-data':
+ optional: true
+ '@cloudflare/workers-types':
+ optional: true
+ '@libsql/client':
+ optional: true
+ '@neondatabase/serverless':
+ optional: true
+ '@opentelemetry/api':
+ optional: true
+ '@planetscale/database':
+ optional: true
+ '@types/better-sqlite3':
+ optional: true
+ '@types/pg':
+ optional: true
+ '@types/react':
+ optional: true
+ '@types/sql.js':
+ optional: true
+ '@vercel/postgres':
+ optional: true
+ better-sqlite3:
+ optional: true
+ bun-types:
+ optional: true
+ expo-sqlite:
+ optional: true
+ knex:
+ optional: true
+ kysely:
+ optional: true
+ mysql2:
+ optional: true
+ pg:
+ optional: true
+ postgres:
+ optional: true
+ react:
+ optional: true
+ sql.js:
+ optional: true
+ sqlite3:
+ optional: true
+ dependencies:
+ '@types/pg': 8.11.0
+ '@types/react': 18.2.48
+ pg: 8.11.3
+ react: 18.2.0
dev: false
- /convert-source-map@1.9.0:
- resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+ /drizzle-zod@0.5.1(drizzle-orm@0.29.3)(zod@3.22.4):
+ resolution: {integrity: sha512-C/8bvzUH/zSnVfwdSibOgFjLhtDtbKYmkbPbUCq46QZyZCH6kODIMSOgZ8R7rVjoI+tCj3k06MRJMDqsIeoS4A==}
+ peerDependencies:
+ drizzle-orm: '>=0.23.13'
+ zod: '*'
+ dependencies:
+ drizzle-orm: 0.29.3(@types/pg@8.11.0)(@types/react@18.2.48)(pg@8.11.3)(react@18.2.0)
+ zod: 3.22.4
dev: false
- /convert-source-map@2.0.0:
- resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
- dev: false
+ /duplexer@0.1.2:
+ resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
+ dev: true
- /cookie-signature@1.0.6:
- resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
- dev: false
+ /dynamic-dedupe@0.3.0:
+ resolution: {integrity: sha512-ssuANeD+z97meYOqd50e04Ze5qp4bPqo8cCkI4TRjZkzAUgIDTrXV1R8QCdINpiI+hw14+rYazvTRdQrz0/rFQ==}
+ dependencies:
+ xtend: 4.0.2
- /cookie@0.5.0:
- resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
- engines: {node: '>= 0.6'}
- dev: false
+ /eastasianwidth@0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
- /copy-to-clipboard@3.3.2:
- resolution: {integrity: sha512-Vme1Z6RUDzrb6xAI7EZlVZ5uvOk2F//GaxKUxajDqm9LhOVM1inxNAD2vy+UZDYsd0uyA9s7b3/FVZPSxqrCfg==}
+ /easy-table@1.2.0:
+ resolution: {integrity: sha512-OFzVOv03YpvtcWGe5AayU5G2hgybsg3iqA6drU8UaoZyB9jLGMTrz9+asnLp/E+6qPh88yEI1gvyZFZ41dmgww==}
dependencies:
- toggle-selection: 1.0.6
+ ansi-regex: 5.0.1
+ optionalDependencies:
+ wcwidth: 1.0.1
+ dev: true
+
+ /edge-runtime@2.5.7:
+ resolution: {integrity: sha512-gA4qSVP0sNwJlkdQ2nahDPASlSl8twUd17o+JolPa1EtXpLTGzIpOETvodgJwXIxa+zaD8bnAXCdsWrx2PhlVQ==}
+ engines: {node: '>=16'}
+ hasBin: true
+ dependencies:
+ '@edge-runtime/format': 2.2.0
+ '@edge-runtime/ponyfill': 2.4.1
+ '@edge-runtime/vm': 3.1.7
+ async-listen: 3.0.1
+ mri: 1.2.0
+ picocolors: 1.0.0
+ pretty-ms: 7.0.1
+ signal-exit: 4.0.2
+ time-span: 4.0.0
+ dev: true
+
+ /electron-to-chromium@1.4.563:
+ resolution: {integrity: sha512-dg5gj5qOgfZNkPNeyKBZQAQitIQ/xwfIDmEQJHCbXaD9ebTZxwJXUsDYcBlAvZGZLi+/354l35J1wkmP6CqYaw==}
dev: false
- /core-js-pure@3.26.0:
- resolution: {integrity: sha512-LiN6fylpVBVwT8twhhluD9TzXmZQQsr2I2eIKtWNbZI1XMfBT7CV18itaN6RA7EtQd/SDdRx/wzvAShX2HvhQA==}
- requiresBuild: true
+ /electron-to-chromium@1.4.627:
+ resolution: {integrity: sha512-BPFdHKPzyGxYQpgiCoIGnkzlMlps3bRdnjeh3qd/Q2pSacL0YW81i4llqsTY/wNbN/Ztw++7HNfp8v4Rm8VDuA==}
- /cors@2.8.5:
- resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
- engines: {node: '>= 0.10'}
- dependencies:
- object-assign: 4.1.1
- vary: 1.1.2
+ /electron-to-chromium@1.4.650:
+ resolution: {integrity: sha512-sYSQhJCJa4aGA1wYol5cMQgekDBlbVfTRavlGZVr3WZpDdOPcp6a6xUnFfrt8TqZhsBYYbDxJZCjGfHuGupCRQ==}
+
+ /emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ /emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+
+ /emojis-list@3.0.0:
+ resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
+ engines: {node: '>= 4'}
dev: false
- /cosmiconfig@7.1.0:
- resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
+ /encode-registry@3.0.1:
+ resolution: {integrity: sha512-6qOwkl1g0fv0DN3Y3ggr2EaZXN71aoAqPp3p/pVaWSBSIo+YjLOWN61Fva43oVyQNPf7kgm8lkudzlzojwE2jw==}
engines: {node: '>=10'}
dependencies:
- '@types/parse-json': 4.0.0
- import-fresh: 3.3.0
- parse-json: 5.2.0
- path-type: 4.0.0
- yaml: 1.10.2
- dev: false
+ mem: 8.1.1
+ dev: true
- /create-require@1.1.1:
- resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
+ /encoding@0.1.13:
+ resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==}
+ dependencies:
+ iconv-lite: 0.6.3
- /cross-fetch@3.1.5:
- resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==}
+ /end-of-stream@1.1.0:
+ resolution: {integrity: sha512-EoulkdKF/1xa92q25PbjuDcgJ9RDHYU2Rs3SCIvs2/dSQ3BpmxneNHmA/M7fe60M3PrV7nNGTTNbkK62l6vXiQ==}
dependencies:
- node-fetch: 2.6.7
- transitivePeerDependencies:
- - encoding
- dev: false
+ once: 1.3.3
+ dev: true
- /cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
+ /end-of-stream@1.4.4:
+ resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
+ once: 1.4.0
dev: true
- /css-in-js-utils@2.0.1:
- resolution: {integrity: sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA==}
+ /enhanced-resolve@5.12.0:
+ resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==}
+ engines: {node: '>=10.13.0'}
dependencies:
- hyphenate-style-name: 1.0.4
- isobject: 3.0.1
+ graceful-fs: 4.2.11
+ tapable: 2.2.1
dev: false
- /css-select@5.1.0:
- resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
+ /enhanced-resolve@5.15.0:
+ resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==}
+ engines: {node: '>=10.13.0'}
dependencies:
- boolbase: 1.0.0
- css-what: 6.1.0
- domhandler: 5.0.3
- domutils: 3.0.1
- nth-check: 2.1.1
+ graceful-fs: 4.2.11
+ tapable: 2.2.1
+ dev: true
+
+ /entities@4.4.0:
+ resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==}
+ engines: {node: '>=0.12'}
dev: false
- /css-tree@1.1.3:
- resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
- engines: {node: '>=8.0.0'}
+ /env-paths@3.0.0:
+ resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dev: true
+
+ /err-code@2.0.3:
+ resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==}
+ dev: true
+
+ /error-ex@1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
dependencies:
- mdn-data: 2.0.14
- source-map: 0.6.1
- dev: false
+ is-arrayish: 0.2.1
- /css-what@6.1.0:
- resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
- engines: {node: '>= 6'}
+ /error-stack-parser@2.1.4:
+ resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==}
+ dependencies:
+ stackframe: 1.3.4
dev: false
- /cssesc@3.0.0:
- resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
- engines: {node: '>=4'}
- hasBin: true
+ /es-abstract@1.22.3:
+ resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.0
+ arraybuffer.prototype.slice: 1.0.2
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.5
+ es-set-tostringtag: 2.0.2
+ es-to-primitive: 1.2.1
+ function.prototype.name: 1.1.6
+ get-intrinsic: 1.2.2
+ get-symbol-description: 1.0.0
+ globalthis: 1.0.3
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.1
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ hasown: 2.0.0
+ internal-slot: 1.0.6
+ is-array-buffer: 3.0.2
+ is-callable: 1.2.7
+ is-negative-zero: 2.0.2
+ is-regex: 1.1.4
+ is-shared-array-buffer: 1.0.2
+ is-string: 1.0.7
+ is-typed-array: 1.1.12
+ is-weakref: 1.0.2
+ object-inspect: 1.13.1
+ object-keys: 1.1.1
+ object.assign: 4.1.4
+ regexp.prototype.flags: 1.5.1
+ safe-array-concat: 1.0.1
+ safe-regex-test: 1.0.0
+ string.prototype.trim: 1.2.8
+ string.prototype.trimend: 1.0.7
+ string.prototype.trimstart: 1.0.7
+ typed-array-buffer: 1.0.0
+ typed-array-byte-length: 1.0.0
+ typed-array-byte-offset: 1.0.0
+ typed-array-length: 1.0.4
+ unbox-primitive: 1.0.2
+ which-typed-array: 1.1.13
+ dev: true
+
+ /es-iterator-helpers@1.0.15:
+ resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==}
+ dependencies:
+ asynciterator.prototype: 1.0.0
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ es-set-tostringtag: 2.0.2
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.2
+ globalthis: 1.0.3
+ has-property-descriptors: 1.0.1
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ internal-slot: 1.0.6
+ iterator.prototype: 1.1.2
+ safe-array-concat: 1.0.1
dev: true
- /csstype@3.1.1:
- resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==}
+ /es-module-lexer@0.9.3:
+ resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==}
dev: false
- /csstype@3.1.2:
- resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
+ /es-module-lexer@1.4.1:
+ resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==}
+ dev: true
- /d@1.0.1:
- resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==}
+ /es-set-tostringtag@2.0.2:
+ resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==}
+ engines: {node: '>= 0.4'}
dependencies:
- es5-ext: 0.10.62
- type: 1.2.0
- dev: false
-
- /damerau-levenshtein@1.0.8:
- resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
+ get-intrinsic: 1.2.2
+ has-tostringtag: 1.0.0
+ hasown: 2.0.0
dev: true
- /data-uri-to-buffer@4.0.1:
- resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
- engines: {node: '>= 12'}
+ /es-shim-unscopables@1.0.2:
+ resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
+ dependencies:
+ hasown: 2.0.0
dev: true
- /dayjs@1.11.7:
- resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==}
- dev: false
+ /es-to-primitive@1.2.1:
+ resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ is-callable: 1.2.7
+ is-date-object: 1.0.5
+ is-symbol: 1.0.4
+ dev: true
- /debug@2.6.9:
- resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
+ /es5-ext@0.10.62:
+ resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==}
+ engines: {node: '>=0.10'}
+ requiresBuild: true
dependencies:
- ms: 2.0.0
+ es6-iterator: 2.0.3
+ es6-symbol: 3.1.3
+ next-tick: 1.1.0
- /debug@3.2.7:
- resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
+ /es6-iterator@2.0.3:
+ resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
dependencies:
- ms: 2.1.3
- dev: true
+ d: 1.0.1
+ es5-ext: 0.10.62
+ es6-symbol: 3.1.3
- /debug@4.3.4:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
+ /es6-symbol@3.1.3:
+ resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==}
dependencies:
- ms: 2.1.2
+ d: 1.0.1
+ ext: 1.7.0
- /deep-is@0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+ /es6-weak-map@2.0.3:
+ resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ es6-iterator: 2.0.3
+ es6-symbol: 3.1.3
dev: true
- /define-lazy-prop@2.0.0:
- resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
- engines: {node: '>=8'}
+ /esbuild-android-64@0.14.47:
+ resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
dev: true
+ optional: true
- /define-properties@1.1.4:
- resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==}
- engines: {node: '>= 0.4'}
- dependencies:
- has-property-descriptors: 1.0.0
- object-keys: 1.1.1
+ /esbuild-android-64@0.15.18:
+ resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
dev: true
+ optional: true
- /defined@1.0.1:
- resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==}
+ /esbuild-android-arm64@0.14.47:
+ resolution: {integrity: sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
dev: true
+ optional: true
- /delayed-stream@1.0.0:
- resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
- engines: {node: '>=0.4.0'}
- dev: false
-
- /depd@2.0.0:
- resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
- engines: {node: '>= 0.8'}
- dev: false
-
- /destroy@1.2.0:
- resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
- engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
- dev: false
-
- /detect-node-es@1.1.0:
- resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
- dev: false
+ /esbuild-android-arm64@0.15.18:
+ resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
- /detective@5.2.1:
- resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==}
- engines: {node: '>=0.8.0'}
- hasBin: true
- dependencies:
- acorn-node: 1.8.2
- defined: 1.0.1
- minimist: 1.2.7
+ /esbuild-darwin-64@0.14.47:
+ resolution: {integrity: sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
dev: true
+ optional: true
- /didyoumean@1.2.2:
- resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
+ /esbuild-darwin-64@0.15.18:
+ resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
dev: true
+ optional: true
- /diff@4.0.2:
- resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
- engines: {node: '>=0.3.1'}
+ /esbuild-darwin-arm64@0.14.47:
+ resolution: {integrity: sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
- /dir-glob@3.0.1:
- resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
- engines: {node: '>=8'}
- dependencies:
- path-type: 4.0.0
+ /esbuild-darwin-arm64@0.15.18:
+ resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
dev: true
+ optional: true
- /discord-api-types@0.37.25:
- resolution: {integrity: sha512-aCwA2sWnL1zPQgTELkkMzQneuWyCXXUjZCUKswesiE6RDCfOfxAPXOHg6ZTlBA5layPSikGCBBRjyh8S3Wzd+A==}
+ /esbuild-freebsd-64@0.14.47:
+ resolution: {integrity: sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
- /discord.js@14.7.1:
- resolution: {integrity: sha512-1FECvqJJjjeYcjSm0IGMnPxLqja/pmG1B0W2l3lUY2Gi4KXiyTeQmU1IxWcbXHn2k+ytP587mMWqva2IA87EbA==}
- engines: {node: '>=16.9.0'}
- dependencies:
- '@discordjs/builders': 1.4.0
- '@discordjs/collection': 1.3.0
- '@discordjs/rest': 1.5.0
- '@discordjs/util': 0.1.0
- '@sapphire/snowflake': 3.4.0
- '@types/ws': 8.5.3
- discord-api-types: 0.37.25
- fast-deep-equal: 3.1.3
- lodash.snakecase: 4.1.1
- tslib: 2.4.1
- undici: 5.14.0
- ws: 8.11.0
- transitivePeerDependencies:
- - bufferutil
- - utf-8-validate
- dev: false
+ /esbuild-freebsd-64@0.15.18:
+ resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
- /dlv@1.1.3:
- resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
+ /esbuild-freebsd-arm64@0.14.47:
+ resolution: {integrity: sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
dev: true
+ optional: true
- /doctrine@2.1.0:
- resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
- engines: {node: '>=0.10.0'}
- dependencies:
- esutils: 2.0.3
+ /esbuild-freebsd-arm64@0.15.18:
+ resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
dev: true
+ optional: true
- /doctrine@3.0.0:
- resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
- engines: {node: '>=6.0.0'}
- dependencies:
- esutils: 2.0.3
+ /esbuild-linux-32@0.14.47:
+ resolution: {integrity: sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
dev: true
+ optional: true
- /dom-helpers@5.2.1:
- resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==}
- dependencies:
- '@babel/runtime': 7.20.7
- csstype: 3.1.1
- dev: false
+ /esbuild-linux-32@0.15.18:
+ resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /dom-serializer@2.0.0:
- resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
- dependencies:
- domelementtype: 2.3.0
- domhandler: 5.0.3
- entities: 4.4.0
- dev: false
+ /esbuild-linux-64@0.14.47:
+ resolution: {integrity: sha512-nFNOk9vWVfvWYF9YNYksZptgQAdstnDCMtR6m42l5Wfugbzu11VpMCY9XrD4yFxvPo9zmzcoUL/88y0lfJZJJw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /domelementtype@2.3.0:
- resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
- dev: false
+ /esbuild-linux-64@0.15.18:
+ resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /domhandler@5.0.3:
- resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
- engines: {node: '>= 4'}
- dependencies:
- domelementtype: 2.3.0
- dev: false
+ /esbuild-linux-arm64@0.14.47:
+ resolution: {integrity: sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /domutils@3.0.1:
- resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==}
- dependencies:
- dom-serializer: 2.0.0
- domelementtype: 2.3.0
- domhandler: 5.0.3
- dev: false
+ /esbuild-linux-arm64@0.15.18:
+ resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /dotenv@16.0.3:
- resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==}
+ /esbuild-linux-arm@0.14.47:
+ resolution: {integrity: sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA==}
engines: {node: '>=12'}
- dev: false
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /duplexer@0.1.2:
- resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
+ /esbuild-linux-arm@0.15.18:
+ resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
dev: true
+ optional: true
- /dynamic-dedupe@0.3.0:
- resolution: {integrity: sha512-ssuANeD+z97meYOqd50e04Ze5qp4bPqo8cCkI4TRjZkzAUgIDTrXV1R8QCdINpiI+hw14+rYazvTRdQrz0/rFQ==}
- dependencies:
- xtend: 4.0.2
+ /esbuild-linux-mips64le@0.14.47:
+ resolution: {integrity: sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /ee-first@1.1.1:
- resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
- dev: false
+ /esbuild-linux-mips64le@0.15.18:
+ resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /electron-to-chromium@1.4.284:
- resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==}
+ /esbuild-linux-ppc64le@0.14.47:
+ resolution: {integrity: sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /electron-to-chromium@1.4.563:
- resolution: {integrity: sha512-dg5gj5qOgfZNkPNeyKBZQAQitIQ/xwfIDmEQJHCbXaD9ebTZxwJXUsDYcBlAvZGZLi+/354l35J1wkmP6CqYaw==}
- dev: false
+ /esbuild-linux-ppc64le@0.15.18:
+ resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /emoji-regex@8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
- dev: false
+ /esbuild-linux-riscv64@0.14.47:
+ resolution: {integrity: sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /emoji-regex@9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ /esbuild-linux-riscv64@0.15.18:
+ resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
dev: true
+ optional: true
- /emojis-list@3.0.0:
- resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
- engines: {node: '>= 4'}
- dev: false
+ /esbuild-linux-s390x@0.14.47:
+ resolution: {integrity: sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /encodeurl@1.0.2:
- resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
- engines: {node: '>= 0.8'}
- dev: false
+ /esbuild-linux-s390x@0.15.18:
+ resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /encoding@0.1.13:
- resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==}
- dependencies:
- iconv-lite: 0.6.3
- dev: false
+ /esbuild-netbsd-64@0.14.47:
+ resolution: {integrity: sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
- /enhanced-resolve@5.10.0:
- resolution: {integrity: sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==}
- engines: {node: '>=10.13.0'}
- dependencies:
- graceful-fs: 4.2.10
- tapable: 2.2.1
+ /esbuild-netbsd-64@0.15.18:
+ resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
dev: true
+ optional: true
- /enhanced-resolve@5.12.0:
- resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==}
- engines: {node: '>=10.13.0'}
- dependencies:
- graceful-fs: 4.2.10
- tapable: 2.2.1
+ /esbuild-openbsd-64@0.14.47:
+ resolution: {integrity: sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
- /entities@4.4.0:
- resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==}
- engines: {node: '>=0.12'}
- dev: false
+ /esbuild-openbsd-64@0.15.18:
+ resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
- /error-ex@1.3.2:
- resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ /esbuild-register@3.5.0(esbuild@0.19.11):
+ resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==}
+ peerDependencies:
+ esbuild: '>=0.12 <1'
dependencies:
- is-arrayish: 0.2.1
- dev: false
+ debug: 4.3.4
+ esbuild: 0.19.11
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
- /error-stack-parser@2.1.4:
- resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==}
- dependencies:
- stackframe: 1.3.4
- dev: false
+ /esbuild-sunos-64@0.14.47:
+ resolution: {integrity: sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
- /es-abstract@1.20.4:
- resolution: {integrity: sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.2
- es-to-primitive: 1.2.1
- function-bind: 1.1.1
- function.prototype.name: 1.1.5
- get-intrinsic: 1.1.3
- get-symbol-description: 1.0.0
- has: 1.0.3
- has-property-descriptors: 1.0.0
- has-symbols: 1.0.3
- internal-slot: 1.0.4
- is-callable: 1.2.7
- is-negative-zero: 2.0.2
- is-regex: 1.1.4
- is-shared-array-buffer: 1.0.2
- is-string: 1.0.7
- is-weakref: 1.0.2
- object-inspect: 1.12.2
- object-keys: 1.1.1
- object.assign: 4.1.4
- regexp.prototype.flags: 1.4.3
- safe-regex-test: 1.0.0
- string.prototype.trimend: 1.0.6
- string.prototype.trimstart: 1.0.6
- unbox-primitive: 1.0.2
+ /esbuild-sunos-64@0.15.18:
+ resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
dev: true
+ optional: true
- /es-abstract@1.20.5:
- resolution: {integrity: sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.2
- es-to-primitive: 1.2.1
- function-bind: 1.1.1
- function.prototype.name: 1.1.5
- get-intrinsic: 1.1.3
- get-symbol-description: 1.0.0
- gopd: 1.0.1
- has: 1.0.3
- has-property-descriptors: 1.0.0
- has-symbols: 1.0.3
- internal-slot: 1.0.4
- is-callable: 1.2.7
- is-negative-zero: 2.0.2
- is-regex: 1.1.4
- is-shared-array-buffer: 1.0.2
- is-string: 1.0.7
- is-weakref: 1.0.2
- object-inspect: 1.12.2
- object-keys: 1.1.1
- object.assign: 4.1.4
- regexp.prototype.flags: 1.4.3
- safe-regex-test: 1.0.0
- string.prototype.trimend: 1.0.6
- string.prototype.trimstart: 1.0.6
- unbox-primitive: 1.0.2
+ /esbuild-windows-32@0.14.47:
+ resolution: {integrity: sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
dev: true
+ optional: true
- /es-module-lexer@0.9.3:
- resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==}
- dev: false
+ /esbuild-windows-32@0.15.18:
+ resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
- /es-shim-unscopables@1.0.0:
- resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==}
- dependencies:
- has: 1.0.3
+ /esbuild-windows-64@0.14.47:
+ resolution: {integrity: sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
dev: true
+ optional: true
- /es-to-primitive@1.2.1:
- resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
- engines: {node: '>= 0.4'}
- dependencies:
- is-callable: 1.2.7
- is-date-object: 1.0.5
- is-symbol: 1.0.4
+ /esbuild-windows-64@0.15.18:
+ resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
dev: true
+ optional: true
- /es5-ext@0.10.62:
- resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==}
- engines: {node: '>=0.10'}
+ /esbuild-windows-arm64@0.14.47:
+ resolution: {integrity: sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
requiresBuild: true
- dependencies:
- es6-iterator: 2.0.3
- es6-symbol: 3.1.3
- next-tick: 1.1.0
- dev: false
+ dev: true
+ optional: true
- /es6-iterator@2.0.3:
- resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
- dependencies:
- d: 1.0.1
- es5-ext: 0.10.62
- es6-symbol: 3.1.3
- dev: false
+ /esbuild-windows-arm64@0.15.18:
+ resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
- /es6-symbol@3.1.3:
- resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==}
- dependencies:
- d: 1.0.1
- ext: 1.7.0
- dev: false
+ /esbuild@0.14.47:
+ resolution: {integrity: sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ esbuild-android-64: 0.14.47
+ esbuild-android-arm64: 0.14.47
+ esbuild-darwin-64: 0.14.47
+ esbuild-darwin-arm64: 0.14.47
+ esbuild-freebsd-64: 0.14.47
+ esbuild-freebsd-arm64: 0.14.47
+ esbuild-linux-32: 0.14.47
+ esbuild-linux-64: 0.14.47
+ esbuild-linux-arm: 0.14.47
+ esbuild-linux-arm64: 0.14.47
+ esbuild-linux-mips64le: 0.14.47
+ esbuild-linux-ppc64le: 0.14.47
+ esbuild-linux-riscv64: 0.14.47
+ esbuild-linux-s390x: 0.14.47
+ esbuild-netbsd-64: 0.14.47
+ esbuild-openbsd-64: 0.14.47
+ esbuild-sunos-64: 0.14.47
+ esbuild-windows-32: 0.14.47
+ esbuild-windows-64: 0.14.47
+ esbuild-windows-arm64: 0.14.47
+ dev: true
+
+ /esbuild@0.15.18:
+ resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/android-arm': 0.15.18
+ '@esbuild/linux-loong64': 0.15.18
+ esbuild-android-64: 0.15.18
+ esbuild-android-arm64: 0.15.18
+ esbuild-darwin-64: 0.15.18
+ esbuild-darwin-arm64: 0.15.18
+ esbuild-freebsd-64: 0.15.18
+ esbuild-freebsd-arm64: 0.15.18
+ esbuild-linux-32: 0.15.18
+ esbuild-linux-64: 0.15.18
+ esbuild-linux-arm: 0.15.18
+ esbuild-linux-arm64: 0.15.18
+ esbuild-linux-mips64le: 0.15.18
+ esbuild-linux-ppc64le: 0.15.18
+ esbuild-linux-riscv64: 0.15.18
+ esbuild-linux-s390x: 0.15.18
+ esbuild-netbsd-64: 0.15.18
+ esbuild-openbsd-64: 0.15.18
+ esbuild-sunos-64: 0.15.18
+ esbuild-windows-32: 0.15.18
+ esbuild-windows-64: 0.15.18
+ esbuild-windows-arm64: 0.15.18
+ dev: true
+
+ /esbuild@0.17.19:
+ resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/android-arm': 0.17.19
+ '@esbuild/android-arm64': 0.17.19
+ '@esbuild/android-x64': 0.17.19
+ '@esbuild/darwin-arm64': 0.17.19
+ '@esbuild/darwin-x64': 0.17.19
+ '@esbuild/freebsd-arm64': 0.17.19
+ '@esbuild/freebsd-x64': 0.17.19
+ '@esbuild/linux-arm': 0.17.19
+ '@esbuild/linux-arm64': 0.17.19
+ '@esbuild/linux-ia32': 0.17.19
+ '@esbuild/linux-loong64': 0.17.19
+ '@esbuild/linux-mips64el': 0.17.19
+ '@esbuild/linux-ppc64': 0.17.19
+ '@esbuild/linux-riscv64': 0.17.19
+ '@esbuild/linux-s390x': 0.17.19
+ '@esbuild/linux-x64': 0.17.19
+ '@esbuild/netbsd-x64': 0.17.19
+ '@esbuild/openbsd-x64': 0.17.19
+ '@esbuild/sunos-x64': 0.17.19
+ '@esbuild/win32-arm64': 0.17.19
+ '@esbuild/win32-ia32': 0.17.19
+ '@esbuild/win32-x64': 0.17.19
+ dev: true
+
+ /esbuild@0.18.20:
+ resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/android-arm': 0.18.20
+ '@esbuild/android-arm64': 0.18.20
+ '@esbuild/android-x64': 0.18.20
+ '@esbuild/darwin-arm64': 0.18.20
+ '@esbuild/darwin-x64': 0.18.20
+ '@esbuild/freebsd-arm64': 0.18.20
+ '@esbuild/freebsd-x64': 0.18.20
+ '@esbuild/linux-arm': 0.18.20
+ '@esbuild/linux-arm64': 0.18.20
+ '@esbuild/linux-ia32': 0.18.20
+ '@esbuild/linux-loong64': 0.18.20
+ '@esbuild/linux-mips64el': 0.18.20
+ '@esbuild/linux-ppc64': 0.18.20
+ '@esbuild/linux-riscv64': 0.18.20
+ '@esbuild/linux-s390x': 0.18.20
+ '@esbuild/linux-x64': 0.18.20
+ '@esbuild/netbsd-x64': 0.18.20
+ '@esbuild/openbsd-x64': 0.18.20
+ '@esbuild/sunos-x64': 0.18.20
+ '@esbuild/win32-arm64': 0.18.20
+ '@esbuild/win32-ia32': 0.18.20
+ '@esbuild/win32-x64': 0.18.20
+ dev: true
+
+ /esbuild@0.19.11:
+ resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.19.11
+ '@esbuild/android-arm': 0.19.11
+ '@esbuild/android-arm64': 0.19.11
+ '@esbuild/android-x64': 0.19.11
+ '@esbuild/darwin-arm64': 0.19.11
+ '@esbuild/darwin-x64': 0.19.11
+ '@esbuild/freebsd-arm64': 0.19.11
+ '@esbuild/freebsd-x64': 0.19.11
+ '@esbuild/linux-arm': 0.19.11
+ '@esbuild/linux-arm64': 0.19.11
+ '@esbuild/linux-ia32': 0.19.11
+ '@esbuild/linux-loong64': 0.19.11
+ '@esbuild/linux-mips64el': 0.19.11
+ '@esbuild/linux-ppc64': 0.19.11
+ '@esbuild/linux-riscv64': 0.19.11
+ '@esbuild/linux-s390x': 0.19.11
+ '@esbuild/linux-x64': 0.19.11
+ '@esbuild/netbsd-x64': 0.19.11
+ '@esbuild/openbsd-x64': 0.19.11
+ '@esbuild/sunos-x64': 0.19.11
+ '@esbuild/win32-arm64': 0.19.11
+ '@esbuild/win32-ia32': 0.19.11
+ '@esbuild/win32-x64': 0.19.11
+ dev: true
/escalade@3.1.1:
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
engines: {node: '>=6'}
- /escape-html@1.0.3:
- resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
- dev: false
-
/escape-string-regexp@1.0.5:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
engines: {node: '>=0.8.0'}
- dev: false
/escape-string-regexp@4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
- /eslint-config-next@13.1.1(eslint@8.31.0)(typescript@4.9.4):
- resolution: {integrity: sha512-/5S2XGWlGaiqrRhzpn51ux5JUSLwx8PVK2keLi5xk7QmhfYB8PqE6R6SlVw6hgnf/VexvUXSrlNJ/su00NhtHQ==}
+ /eslint-config-next@14.1.0(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-SBX2ed7DoRFXC6CQSLc/SbLY9Ut6HxNB2wPTcoIWjUMd7aF7O/SIE7111L8FdZ9TXsNV4pulUDnfthpyPtbFUg==}
peerDependencies:
eslint: ^7.23.0 || ^8.0.0
typescript: '>=3.3.1'
@@ -3490,53 +6360,57 @@ packages:
typescript:
optional: true
dependencies:
- '@next/eslint-plugin-next': 13.1.1
- '@rushstack/eslint-patch': 1.2.0
- '@typescript-eslint/parser': 5.48.0(eslint@8.31.0)(typescript@4.9.4)
- eslint: 8.31.0
- eslint-import-resolver-node: 0.3.6
- eslint-import-resolver-typescript: 3.5.2(eslint-plugin-import@2.26.0)(eslint@8.31.0)
- eslint-plugin-import: 2.26.0(@typescript-eslint/parser@5.48.0)(eslint-import-resolver-typescript@3.5.2)(eslint@8.31.0)
- eslint-plugin-jsx-a11y: 6.6.1(eslint@8.31.0)
- eslint-plugin-react: 7.31.11(eslint@8.31.0)
- eslint-plugin-react-hooks: 4.6.0(eslint@8.31.0)
- typescript: 4.9.4
+ '@next/eslint-plugin-next': 14.1.0
+ '@rushstack/eslint-patch': 1.7.2
+ '@typescript-eslint/parser': 6.20.0(eslint@8.56.0)(typescript@5.3.3)
+ eslint: 8.56.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0)
+ eslint-plugin-jsx-a11y: 6.8.0(eslint@8.56.0)
+ eslint-plugin-react: 7.33.2(eslint@8.56.0)
+ eslint-plugin-react-hooks: 4.6.0(eslint@8.56.0)
+ typescript: 5.3.3
transitivePeerDependencies:
- eslint-import-resolver-webpack
- supports-color
dev: true
- /eslint-import-resolver-node@0.3.6:
- resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==}
+ /eslint-import-resolver-node@0.3.9:
+ resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
dependencies:
debug: 3.2.7
- resolve: 1.22.1
+ is-core-module: 2.13.1
+ resolve: 1.22.8
transitivePeerDependencies:
- supports-color
dev: true
- /eslint-import-resolver-typescript@3.5.2(eslint-plugin-import@2.26.0)(eslint@8.31.0):
- resolution: {integrity: sha512-zX4ebnnyXiykjhcBvKIf5TNvt8K7yX6bllTRZ14MiurKPjDpCAZujlszTdB8pcNXhZcOf+god4s9SjQa5GnytQ==}
+ /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0):
+ resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
eslint: '*'
eslint-plugin-import: '*'
dependencies:
debug: 4.3.4
- enhanced-resolve: 5.12.0
- eslint: 8.31.0
- eslint-plugin-import: 2.26.0(@typescript-eslint/parser@5.48.0)(eslint-import-resolver-typescript@3.5.2)(eslint@8.31.0)
- get-tsconfig: 4.2.0
- globby: 13.1.3
- is-core-module: 2.11.0
+ enhanced-resolve: 5.15.0
+ eslint: 8.56.0
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0)
+ fast-glob: 3.3.2
+ get-tsconfig: 4.7.2
+ is-core-module: 2.13.1
is-glob: 4.0.3
- synckit: 0.8.4
transitivePeerDependencies:
+ - '@typescript-eslint/parser'
+ - eslint-import-resolver-node
+ - eslint-import-resolver-webpack
- supports-color
dev: true
- /eslint-module-utils@2.7.4(@typescript-eslint/parser@5.48.0)(eslint-import-resolver-node@0.3.6)(eslint-import-resolver-typescript@3.5.2)(eslint@8.31.0):
- resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==}
+ /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0):
+ resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
engines: {node: '>=4'}
peerDependencies:
'@typescript-eslint/parser': '*'
@@ -3556,17 +6430,17 @@ packages:
eslint-import-resolver-webpack:
optional: true
dependencies:
- '@typescript-eslint/parser': 5.48.0(eslint@8.31.0)(typescript@4.9.4)
+ '@typescript-eslint/parser': 6.20.0(eslint@8.56.0)(typescript@5.3.3)
debug: 3.2.7
- eslint: 8.31.0
- eslint-import-resolver-node: 0.3.6
- eslint-import-resolver-typescript: 3.5.2(eslint-plugin-import@2.26.0)(eslint@8.31.0)
+ eslint: 8.56.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0)
transitivePeerDependencies:
- supports-color
dev: true
- /eslint-plugin-import@2.26.0(@typescript-eslint/parser@5.48.0)(eslint-import-resolver-typescript@3.5.2)(eslint@8.31.0):
- resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==}
+ /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0):
+ resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
engines: {node: '>=4'}
peerDependencies:
'@typescript-eslint/parser': '*'
@@ -3575,104 +6449,116 @@ packages:
'@typescript-eslint/parser':
optional: true
dependencies:
- '@typescript-eslint/parser': 5.48.0(eslint@8.31.0)(typescript@4.9.4)
- array-includes: 3.1.6
- array.prototype.flat: 1.3.1
- debug: 2.6.9
+ '@typescript-eslint/parser': 6.20.0(eslint@8.56.0)(typescript@5.3.3)
+ array-includes: 3.1.7
+ array.prototype.findlastindex: 1.2.3
+ array.prototype.flat: 1.3.2
+ array.prototype.flatmap: 1.3.2
+ debug: 3.2.7
doctrine: 2.1.0
- eslint: 8.31.0
- eslint-import-resolver-node: 0.3.6
- eslint-module-utils: 2.7.4(@typescript-eslint/parser@5.48.0)(eslint-import-resolver-node@0.3.6)(eslint-import-resolver-typescript@3.5.2)(eslint@8.31.0)
- has: 1.0.3
- is-core-module: 2.11.0
+ eslint: 8.56.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0)
+ hasown: 2.0.0
+ is-core-module: 2.13.1
is-glob: 4.0.3
minimatch: 3.1.2
- object.values: 1.1.6
- resolve: 1.22.1
- tsconfig-paths: 3.14.1
+ object.fromentries: 2.0.7
+ object.groupby: 1.0.1
+ object.values: 1.1.7
+ semver: 6.3.1
+ tsconfig-paths: 3.15.0
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
dev: true
- /eslint-plugin-jsx-a11y@6.6.1(eslint@8.31.0):
- resolution: {integrity: sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==}
+ /eslint-plugin-jsx-a11y@6.8.0(eslint@8.56.0):
+ resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==}
engines: {node: '>=4.0'}
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
dependencies:
- '@babel/runtime': 7.19.4
- aria-query: 4.2.2
- array-includes: 3.1.5
- ast-types-flow: 0.0.7
- axe-core: 4.5.0
- axobject-query: 2.2.0
+ '@babel/runtime': 7.23.2
+ aria-query: 5.3.0
+ array-includes: 3.1.7
+ array.prototype.flatmap: 1.3.2
+ ast-types-flow: 0.0.8
+ axe-core: 4.7.0
+ axobject-query: 3.2.1
damerau-levenshtein: 1.0.8
emoji-regex: 9.2.2
- eslint: 8.31.0
- has: 1.0.3
- jsx-ast-utils: 3.3.3
- language-tags: 1.0.5
+ es-iterator-helpers: 1.0.15
+ eslint: 8.56.0
+ hasown: 2.0.0
+ jsx-ast-utils: 3.3.5
+ language-tags: 1.0.9
minimatch: 3.1.2
- semver: 6.3.0
+ object.entries: 1.1.7
+ object.fromentries: 2.0.7
dev: true
- /eslint-plugin-prettier@4.2.1(eslint@8.31.0)(prettier@2.8.1):
- resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==}
- engines: {node: '>=12.0.0'}
+ /eslint-plugin-prettier@5.1.3(eslint@8.56.0)(prettier@3.2.4):
+ resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==}
+ engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
- eslint: '>=7.28.0'
+ '@types/eslint': '>=8.0.0'
+ eslint: '>=8.0.0'
eslint-config-prettier: '*'
- prettier: '>=2.0.0'
+ prettier: '>=3.0.0'
peerDependenciesMeta:
+ '@types/eslint':
+ optional: true
eslint-config-prettier:
optional: true
dependencies:
- eslint: 8.31.0
- prettier: 2.8.1
+ eslint: 8.56.0
+ prettier: 3.2.4
prettier-linter-helpers: 1.0.0
+ synckit: 0.8.8
dev: true
- /eslint-plugin-react-hooks@4.6.0(eslint@8.31.0):
+ /eslint-plugin-react-hooks@4.6.0(eslint@8.56.0):
resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
engines: {node: '>=10'}
peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
dependencies:
- eslint: 8.31.0
+ eslint: 8.56.0
dev: true
- /eslint-plugin-react@7.31.11(eslint@8.31.0):
- resolution: {integrity: sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==}
+ /eslint-plugin-react@7.33.2(eslint@8.56.0):
+ resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==}
engines: {node: '>=4'}
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
dependencies:
- array-includes: 3.1.6
- array.prototype.flatmap: 1.3.1
- array.prototype.tosorted: 1.1.1
+ array-includes: 3.1.7
+ array.prototype.flatmap: 1.3.2
+ array.prototype.tosorted: 1.1.2
doctrine: 2.1.0
- eslint: 8.31.0
+ es-iterator-helpers: 1.0.15
+ eslint: 8.56.0
estraverse: 5.3.0
- jsx-ast-utils: 3.3.3
+ jsx-ast-utils: 3.3.5
minimatch: 3.1.2
- object.entries: 1.1.6
- object.fromentries: 2.0.6
- object.hasown: 1.1.2
- object.values: 1.1.6
+ object.entries: 1.1.7
+ object.fromentries: 2.0.7
+ object.hasown: 1.1.3
+ object.values: 1.1.7
prop-types: 15.8.1
- resolve: 2.0.0-next.4
- semver: 6.3.0
- string.prototype.matchall: 4.0.8
+ resolve: 2.0.0-next.5
+ semver: 6.3.1
+ string.prototype.matchall: 4.0.10
dev: true
- /eslint-plugin-sort-imports-es6-autofix@0.6.0(eslint@8.31.0):
+ /eslint-plugin-sort-imports-es6-autofix@0.6.0(eslint@8.56.0):
resolution: {integrity: sha512-2NVaBGF9NN+727Fyq+jJYihdIeegjXeUUrZED9Q8FVB8MsV3YQEyXG96GVnXqWt0pmn7xfCZOZf3uKnIhBrfeQ==}
peerDependencies:
eslint: '>=7.7.0'
dependencies:
- eslint: 8.31.0
+ eslint: 8.56.0
dev: true
/eslint-scope@5.1.1:
@@ -3682,93 +6568,77 @@ packages:
esrecurse: 4.3.0
estraverse: 4.3.0
- /eslint-scope@7.1.1:
- resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==}
+ /eslint-scope@7.2.2:
+ resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
dev: true
- /eslint-utils@3.0.0(eslint@8.31.0):
- resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
- engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
- peerDependencies:
- eslint: '>=5'
- dependencies:
- eslint: 8.31.0
- eslint-visitor-keys: 2.1.0
- dev: true
-
- /eslint-visitor-keys@2.1.0:
- resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
- engines: {node: '>=10'}
- dev: true
-
- /eslint-visitor-keys@3.3.0:
- resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==}
+ /eslint-visitor-keys@3.4.3:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /eslint@8.31.0:
- resolution: {integrity: sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==}
+ /eslint@8.56.0:
+ resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true
dependencies:
- '@eslint/eslintrc': 1.4.1
- '@humanwhocodes/config-array': 0.11.8
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
+ '@eslint-community/regexpp': 4.10.0
+ '@eslint/eslintrc': 2.1.4
+ '@eslint/js': 8.56.0
+ '@humanwhocodes/config-array': 0.11.14
'@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8
+ '@ungap/structured-clone': 1.2.0
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.3
debug: 4.3.4
doctrine: 3.0.0
escape-string-regexp: 4.0.0
- eslint-scope: 7.1.1
- eslint-utils: 3.0.0(eslint@8.31.0)
- eslint-visitor-keys: 3.3.0
- espree: 9.4.1
- esquery: 1.4.0
+ eslint-scope: 7.2.2
+ eslint-visitor-keys: 3.4.3
+ espree: 9.6.1
+ esquery: 1.5.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
file-entry-cache: 6.0.1
find-up: 5.0.0
glob-parent: 6.0.2
- globals: 13.19.0
- grapheme-splitter: 1.0.4
- ignore: 5.2.4
- import-fresh: 3.3.0
+ globals: 13.24.0
+ graphemer: 1.4.0
+ ignore: 5.3.0
imurmurhash: 0.1.4
is-glob: 4.0.3
is-path-inside: 3.0.3
- js-sdsl: 4.2.0
js-yaml: 4.1.0
json-stable-stringify-without-jsonify: 1.0.1
levn: 0.4.1
lodash.merge: 4.6.2
minimatch: 3.1.2
natural-compare: 1.4.0
- optionator: 0.9.1
- regexpp: 3.2.0
+ optionator: 0.9.3
strip-ansi: 6.0.1
- strip-json-comments: 3.1.1
text-table: 0.2.0
transitivePeerDependencies:
- supports-color
dev: true
- /espree@9.4.1:
- resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==}
+ /espree@9.6.1:
+ resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- acorn: 8.8.1
- acorn-jsx: 5.3.2(acorn@8.8.1)
- eslint-visitor-keys: 3.3.0
+ acorn: 8.11.3
+ acorn-jsx: 5.3.2(acorn@8.11.3)
+ eslint-visitor-keys: 3.4.3
dev: true
- /esquery@1.4.0:
- resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==}
+ /esquery@1.5.0:
+ resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
engines: {node: '>=0.10'}
dependencies:
estraverse: 5.3.0
@@ -3788,9 +6658,12 @@ packages:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
+ /estree-walker@0.6.1:
+ resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==}
+ dev: true
+
/estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
- dev: false
/esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
@@ -3800,7 +6673,14 @@ packages:
/etag@1.8.1:
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
engines: {node: '>= 0.6'}
- dev: false
+ dev: true
+
+ /event-emitter@0.3.5:
+ resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ dev: true
/event-stream@3.3.4:
resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==}
@@ -3814,69 +6694,62 @@ packages:
through: 2.3.8
dev: true
+ /events-intercept@2.0.0:
+ resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==}
+ dev: true
+
/events@3.3.0:
resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
engines: {node: '>=0.8.x'}
- dev: false
- /express@4.18.2:
- resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==}
- engines: {node: '>= 0.10.0'}
+ /execa@3.2.0:
+ resolution: {integrity: sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==}
+ engines: {node: ^8.12.0 || >=9.7.0}
dependencies:
- accepts: 1.3.8
- array-flatten: 1.1.1
- body-parser: 1.20.1
- 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.11.0
- 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
- transitivePeerDependencies:
- - supports-color
- dev: false
+ cross-spawn: 7.0.3
+ get-stream: 5.2.0
+ human-signals: 1.1.1
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ p-finally: 2.0.1
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+ dev: true
+
+ /exit-hook@2.2.1:
+ resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==}
+ engines: {node: '>=6'}
+ dev: true
/ext@1.7.0:
resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
dependencies:
type: 2.7.2
- dev: false
+
+ /external-editor@3.1.0:
+ resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
+ engines: {node: '>=4'}
+ dependencies:
+ chardet: 0.7.0
+ iconv-lite: 0.4.24
+ tmp: 0.0.33
+ dev: true
/fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- /fast-diff@1.2.0:
- resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==}
+ /fast-diff@1.3.0:
+ resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
dev: true
/fast-equals@2.0.4:
resolution: {integrity: sha512-caj/ZmjHljPrZtbzJ3kfH5ia/k4mTJe/qSiXAGzxZWRZgsgDV0cvNaQULqUX8t0/JVlzzEdYOwCN5DmzTxoD4w==}
dev: false
- /fast-glob@3.2.12:
- resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
+ /fast-glob@3.3.1:
+ resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
engines: {node: '>=8.6.0'}
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -3886,8 +6759,8 @@ packages:
micromatch: 4.0.5
dev: true
- /fast-glob@3.3.1:
- resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
+ /fast-glob@3.3.2:
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
engines: {node: '>=8.6.0'}
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -3895,7 +6768,6 @@ packages:
glob-parent: 5.1.2
merge2: 1.4.1
micromatch: 4.0.5
- dev: true
/fast-json-stable-stringify@2.1.0:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
@@ -3904,6 +6776,14 @@ packages:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
dev: true
+ /fast-loops@1.1.3:
+ resolution: {integrity: sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==}
+ dev: false
+
+ /fast-safe-stringify@2.1.1:
+ resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
+ dev: true
+
/fast-shallow-equal@1.0.0:
resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==}
dev: false
@@ -3916,6 +6796,27 @@ packages:
resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
dependencies:
reusify: 1.0.4
+
+ /fastq@1.17.0:
+ resolution: {integrity: sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w==}
+ dependencies:
+ reusify: 1.0.4
+ dev: true
+
+ /fd-slicer@1.1.0:
+ resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
+ dependencies:
+ pend: 1.2.0
+ dev: true
+
+ /fetch-blob@2.1.2:
+ resolution: {integrity: sha512-YKqtUDwqLyfyMnmbw8XD6Q8j9i/HggKtPEI+pZ1+8bvheBu78biSmNaXWusx1TauGqtUUGx/cBb1mKdq2rLYow==}
+ engines: {node: ^10.17.0 || >=12.3.0}
+ peerDependencies:
+ domexception: '*'
+ peerDependenciesMeta:
+ domexception:
+ optional: true
dev: true
/fetch-blob@3.2.0:
@@ -3926,11 +6827,18 @@ packages:
web-streams-polyfill: 3.2.1
dev: true
+ /figures@3.2.0:
+ resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
+ engines: {node: '>=8'}
+ dependencies:
+ escape-string-regexp: 1.0.5
+ dev: true
+
/file-entry-cache@6.0.1:
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
engines: {node: ^10.12.0 || >=12.0.0}
dependencies:
- flat-cache: 3.0.4
+ flat-cache: 3.2.0
dev: true
/file-type@18.0.0:
@@ -3942,26 +6850,24 @@ packages:
token-types: 5.0.1
dev: false
+ /file-uri-to-path@1.0.0:
+ resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
+ dev: true
+
/fill-range@7.0.1:
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
engines: {node: '>=8'}
dependencies:
to-regex-range: 5.0.1
- /finalhandler@1.2.0:
- resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
- engines: {node: '>= 0.8'}
- 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
- transitivePeerDependencies:
- - supports-color
- dev: false
+ /filter-iterator@0.0.1:
+ resolution: {integrity: sha512-v4lhL7Qa8XpbW3LN46CEnmhGk3eHZwxfNl5at20aEkreesht4YKb/Ba3BUIbnPhAC/r3dmu7ABaGk6MAvh2alA==}
+ dev: true
+
+ /filter-obj@1.1.0:
+ resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
/find-cache-dir@3.3.2:
resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
@@ -3976,6 +6882,13 @@ packages:
resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
dev: false
+ /find-up@3.0.0:
+ resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==}
+ engines: {node: '>=6'}
+ dependencies:
+ locate-path: 3.0.0
+ dev: true
+
/find-up@4.1.0:
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
engines: {node: '>=8'}
@@ -3991,20 +6904,21 @@ packages:
locate-path: 6.0.0
path-exists: 4.0.0
- /flat-cache@3.0.4:
- resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
+ /flat-cache@3.2.0:
+ resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
engines: {node: ^10.12.0 || >=12.0.0}
dependencies:
- flatted: 3.2.7
+ flatted: 3.2.9
+ keyv: 4.5.4
rimraf: 3.0.2
dev: true
- /flatted@3.2.7:
- resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
+ /flatted@3.2.9:
+ resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
dev: true
- /follow-redirects@1.15.2:
- resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==}
+ /follow-redirects@1.15.5:
+ resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==}
engines: {node: '>=4.0'}
peerDependencies:
debug: '*'
@@ -4013,6 +6927,19 @@ packages:
optional: true
dev: false
+ /for-each@0.3.3:
+ resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
+ dependencies:
+ is-callable: 1.2.7
+ dev: true
+
+ /foreground-child@3.1.1:
+ resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
+ engines: {node: '>=14'}
+ dependencies:
+ cross-spawn: 7.0.3
+ signal-exit: 4.1.0
+
/form-data@4.0.0:
resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
engines: {node: '>= 6'}
@@ -4029,22 +6956,30 @@ packages:
fetch-blob: 3.2.0
dev: true
- /forwarded@0.2.0:
- resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
- engines: {node: '>= 0.6'}
+ /fraction.js@4.3.7:
+ resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
dev: false
- /fraction.js@4.2.0:
- resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
+ /from@0.1.7:
+ resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==}
dev: true
- /fresh@0.5.2:
- resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
- engines: {node: '>= 0.6'}
- dev: false
+ /fs-extra@10.1.0:
+ resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.1
+ dev: true
- /from@0.1.7:
- resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==}
+ /fs-extra@11.1.0:
+ resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==}
+ engines: {node: '>=14.14'}
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.1
dev: true
/fs-extra@11.1.1:
@@ -4056,9 +6991,40 @@ packages:
universalify: 2.0.0
dev: true
+ /fs-extra@8.1.0:
+ resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
+ engines: {node: '>=6 <7 || >=8'}
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 4.0.0
+ universalify: 0.1.2
+ dev: true
+
+ /fs-minipass@1.2.7:
+ resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==}
+ dependencies:
+ minipass: 2.9.0
+ dev: true
+
+ /fs-minipass@2.1.0:
+ resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ minipass: 3.3.6
+ dev: true
+
/fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+ /fsevents@2.1.3:
+ resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+ deprecated: '"Please update to latest v2.3 or v2.2"'
+ requiresBuild: true
+ dev: true
+ optional: true
+
/fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
@@ -4069,13 +7035,17 @@ packages:
/function-bind@1.1.1:
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
- /function.prototype.name@1.1.5:
- resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==}
+ /function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+ dev: true
+
+ /function.prototype.name@1.1.6:
+ resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.20.5
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
functions-have-names: 1.2.3
dev: true
@@ -4083,43 +7053,85 @@ packages:
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
dev: true
+ /fuse.js@6.6.2:
+ resolution: {integrity: sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==}
+ engines: {node: '>=10'}
+ dev: false
+
/fx@30.2.0:
resolution: {integrity: sha512-rIYQBmx85Jfhd3pkSw06YPgvSvfTi022ZXTeFDkcCZGCs5nt3sjqFBGtcMFe1TR2S00RDz63be0ab5mhCiOLBw==}
hasBin: true
dev: true
+ /gauge@3.0.2:
+ resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ aproba: 2.0.0
+ color-support: 1.1.3
+ console-control-strings: 1.1.0
+ has-unicode: 2.0.1
+ object-assign: 4.1.1
+ signal-exit: 3.0.7
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wide-align: 1.1.5
+ dev: true
+
+ /generic-pool@3.4.2:
+ resolution: {integrity: sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==}
+ engines: {node: '>= 4'}
+ dev: true
+
/gensync@1.0.0-beta.2:
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
engines: {node: '>=6.9.0'}
- dev: false
/get-caller-file@2.0.5:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
dev: false
- /get-intrinsic@1.1.3:
- resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==}
+ /get-intrinsic@1.2.2:
+ resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==}
dependencies:
- function-bind: 1.1.1
- has: 1.0.3
+ function-bind: 1.1.2
+ has-proto: 1.0.1
has-symbols: 1.0.3
+ hasown: 2.0.0
+ dev: true
/get-nonce@1.0.1:
resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
engines: {node: '>=6'}
dev: false
+ /get-source@2.0.12:
+ resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==}
+ dependencies:
+ data-uri-to-buffer: 2.0.2
+ source-map: 0.6.1
+ dev: true
+
+ /get-stream@5.2.0:
+ resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
+ engines: {node: '>=8'}
+ dependencies:
+ pump: 3.0.0
+ dev: true
+
/get-symbol-description@1.0.0:
resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- get-intrinsic: 1.1.3
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.2
dev: true
- /get-tsconfig@4.2.0:
- resolution: {integrity: sha512-X8u8fREiYOE6S8hLbq99PeykTDoLVnxvF4DjWKJmz9xy2nNRdUcV8ZN9tniJFeKyTU3qnC9lL8n4Chd6LmVKHg==}
+ /get-tsconfig@4.7.2:
+ resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==}
+ dependencies:
+ resolve-pkg-maps: 1.0.0
dev: true
/glob-parent@5.1.2:
@@ -4133,14 +7145,23 @@ packages:
engines: {node: '>=10.13.0'}
dependencies:
is-glob: 4.0.3
- dev: true
/glob-to-regexp@0.4.1:
resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
- dev: false
- /glob@7.1.7:
- resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==}
+ /glob@10.3.10:
+ resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
+ dependencies:
+ foreground-child: 3.1.1
+ jackspeak: 2.3.6
+ minimatch: 9.0.3
+ minipass: 7.0.4
+ path-scurry: 1.10.1
+
+ /glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
dependencies:
fs.realpath: 1.0.0
inflight: 1.0.6
@@ -4148,32 +7169,34 @@ packages:
minimatch: 3.1.2
once: 1.4.0
path-is-absolute: 1.0.1
- dev: true
- /glob@7.2.3:
- resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ /glob@8.1.0:
+ resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
+ engines: {node: '>=12'}
dependencies:
fs.realpath: 1.0.0
inflight: 1.0.6
inherits: 2.0.4
- minimatch: 3.1.2
+ minimatch: 5.1.6
once: 1.4.0
- path-is-absolute: 1.0.1
+ dev: true
/globals@11.12.0:
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
engines: {node: '>=4'}
- dev: false
- /globals@13.19.0:
- resolution: {integrity: sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==}
+ /globals@13.24.0:
+ resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
engines: {node: '>=8'}
dependencies:
type-fest: 0.20.2
dev: true
- /globalyzer@0.1.0:
- resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
+ /globalthis@1.0.3:
+ resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-properties: 1.2.1
dev: true
/globby@11.1.0:
@@ -4182,23 +7205,12 @@ packages:
dependencies:
array-union: 2.1.0
dir-glob: 3.0.1
- fast-glob: 3.2.12
- ignore: 5.2.4
+ fast-glob: 3.3.2
+ ignore: 5.3.0
merge2: 1.4.1
slash: 3.0.0
dev: true
- /globby@13.1.3:
- resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dependencies:
- dir-glob: 3.0.1
- fast-glob: 3.2.12
- ignore: 5.2.4
- merge2: 1.4.1
- slash: 4.0.0
- dev: true
-
/globby@13.2.2:
resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -4210,32 +7222,32 @@ packages:
slash: 4.0.0
dev: true
- /globrex@0.1.2:
- resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
- dev: true
-
- /goober@2.1.11(csstype@3.1.2):
- resolution: {integrity: sha512-5SS2lmxbhqH0u9ABEWq7WPU69a4i2pYcHeCxqaNq6Cw3mnrF0ghWNM4tEGid4dKy8XNIAUbuThuozDHHKJVh3A==}
+ /goober@2.1.13(csstype@3.1.3):
+ resolution: {integrity: sha512-jFj3BQeleOoy7t93E9rZ2de+ScC4lQICLwiAQmKMg9F6roKGaLSHoCDYKkWlSafg138jejvq/mTdvmnwDQgqoQ==}
peerDependencies:
csstype: ^3.0.10
dependencies:
- csstype: 3.1.2
+ csstype: 3.1.3
dev: false
/gopd@1.0.1:
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
dependencies:
- get-intrinsic: 1.1.3
+ get-intrinsic: 1.2.2
dev: true
- /graceful-fs@4.2.10:
- resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
-
/graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
- /grapheme-splitter@1.0.4:
- resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
+ /graphemer@1.4.0:
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+ dev: true
+
+ /hanji@0.0.5:
+ resolution: {integrity: sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==}
+ dependencies:
+ lodash.throttle: 4.1.1
+ sisteransi: 1.0.5
dev: true
/has-bigints@1.0.2:
@@ -4245,21 +7257,30 @@ packages:
/has-flag@3.0.0:
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
engines: {node: '>=4'}
- dev: false
/has-flag@4.0.0:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
- /has-property-descriptors@1.0.0:
- resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
+ /has-own-property@0.1.0:
+ resolution: {integrity: sha512-14qdBKoonU99XDhWcFKZTShK+QV47qU97u8zzoVo9cL5TZ3BmBHXogItSt9qJjR0KUMFRhcCW8uGIGl8nkl7Aw==}
+ dev: true
+
+ /has-property-descriptors@1.0.1:
+ resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==}
dependencies:
- get-intrinsic: 1.1.3
+ get-intrinsic: 1.2.2
+ dev: true
+
+ /has-proto@1.0.1:
+ resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
+ engines: {node: '>= 0.4'}
dev: true
/has-symbols@1.0.3:
resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
engines: {node: '>= 0.4'}
+ dev: true
/has-tostringtag@1.0.0:
resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
@@ -4268,18 +7289,51 @@ packages:
has-symbols: 1.0.3
dev: true
+ /has-unicode@2.0.1:
+ resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==}
+ dev: true
+
/has@1.0.3:
resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
engines: {node: '>= 0.4.0'}
dependencies:
function-bind: 1.1.1
+ /has@1.0.4:
+ resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==}
+ engines: {node: '>= 0.4.0'}
+
+ /hasown@2.0.0:
+ resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ function-bind: 1.1.2
+ dev: true
+
+ /heap@0.2.7:
+ resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==}
+ dev: true
+
/hoist-non-react-statics@3.3.2:
resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
dependencies:
react-is: 16.13.1
dev: false
+ /hosted-git-info@4.1.0:
+ resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==}
+ engines: {node: '>=10'}
+ dependencies:
+ lru-cache: 6.0.0
+ dev: true
+
+ /hosted-git-info@7.0.1:
+ resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+ dependencies:
+ lru-cache: 10.2.0
+ dev: true
+
/html-entities@2.3.3:
resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==}
dev: false
@@ -4293,44 +7347,84 @@ packages:
entities: 4.4.0
dev: false
- /http-errors@2.0.0:
- resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
- engines: {node: '>= 0.8'}
+ /http-errors@1.4.0:
+ resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ inherits: 2.0.1
+ statuses: 1.5.0
+ dev: true
+
+ /http-errors@1.7.3:
+ resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==}
+ engines: {node: '>= 0.6'}
dependencies:
- depd: 2.0.0
+ depd: 1.1.2
inherits: 2.0.4
- setprototypeof: 1.2.0
- statuses: 2.0.1
- toidentifier: 1.0.1
- dev: false
+ setprototypeof: 1.1.1
+ statuses: 1.5.0
+ toidentifier: 1.0.0
+ dev: true
+
+ /https-proxy-agent@5.0.1:
+ resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
+ engines: {node: '>= 6'}
+ dependencies:
+ agent-base: 6.0.2
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /human-signals@1.1.1:
+ resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==}
+ engines: {node: '>=8.12.0'}
+ dev: true
/hyphenate-style-name@1.0.4:
resolution: {integrity: sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==}
dev: false
+ /i18next@23.8.1:
+ resolution: {integrity: sha512-Yhe6oiJhigSh64ev7nVVywu7vHjuUG41MRmFKNwphbkadqTL1ozZFBQISflY7/ju+gL6I/SPfI1GgWQh1yYArA==}
+ dependencies:
+ '@babel/runtime': 7.23.8
+ dev: false
+
/iconv-lite@0.4.24:
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
engines: {node: '>=0.10.0'}
dependencies:
safer-buffer: 2.1.2
- dev: false
+ dev: true
/iconv-lite@0.6.3:
resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
engines: {node: '>=0.10.0'}
dependencies:
safer-buffer: 2.1.2
- dev: false
+
+ /identity-function@1.0.0:
+ resolution: {integrity: sha512-kNrgUK0qI+9qLTBidsH85HjDLpZfrrS0ElquKKe/fJFdB3D7VeKdXXEvOPDUHSHOzdZKCAAaQIWWyp0l2yq6pw==}
+ dev: true
/ieee754@1.2.1:
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
- dev: false
/ignore@5.2.4:
resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
engines: {node: '>= 4'}
dev: true
+ /ignore@5.3.0:
+ resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
+ engines: {node: '>= 4'}
+ dev: true
+
+ /immer@10.0.3:
+ resolution: {integrity: sha512-pwupu3eWfouuaowscykeckFmVTpqbzW+rXFCX8rQLkZzM9ftBmU/++Ra+o+L27mz03zJTlyV4UUr+fdKNffo4A==}
+ dev: false
+
/import-fresh@3.3.0:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
engines: {node: '>=6'}
@@ -4343,27 +7437,60 @@ packages:
engines: {node: '>=0.8.19'}
dev: true
+ /indent-string@4.0.0:
+ resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /individual@3.0.0:
+ resolution: {integrity: sha512-rUY5vtT748NMRbEMrTNiFfy29BgGZwGXUi2NFUVMWQrogSLzlJvQV9eeMWi+g1aVaQ53tpyLAQtd5x/JH0Nh1g==}
+ dev: true
+
/inflight@1.0.6:
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
dependencies:
once: 1.4.0
wrappy: 1.0.2
+ /inherits@2.0.1:
+ resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==}
+ dev: true
+
/inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
- /inline-style-prefixer@6.0.1:
- resolution: {integrity: sha512-AsqazZ8KcRzJ9YPN1wMH2aNM7lkWQ8tSPrW5uDk1ziYwiAPWSZnUsC7lfZq+BDqLqz0B4Pho5wscWcJzVvRzDQ==}
+ /inline-style-prefixer@7.0.0:
+ resolution: {integrity: sha512-I7GEdScunP1dQ6IM2mQWh6v0mOYdYmH3Bp31UecKdrcUgcURTcctSe1IECdUznSHKSmsHtjrT3CwCPI1pyxfUQ==}
dependencies:
- css-in-js-utils: 2.0.1
+ css-in-js-utils: 3.1.0
+ fast-loops: 1.1.3
dev: false
- /internal-slot@1.0.4:
- resolution: {integrity: sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==}
+ /inquirer@7.3.3:
+ resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-width: 3.0.0
+ external-editor: 3.1.0
+ figures: 3.2.0
+ lodash: 4.17.21
+ mute-stream: 0.0.8
+ run-async: 2.4.1
+ rxjs: 6.6.7
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ through: 2.3.8
+ dev: true
+
+ /internal-slot@1.0.6:
+ resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==}
engines: {node: '>= 0.4'}
dependencies:
- get-intrinsic: 1.1.3
- has: 1.0.3
+ get-intrinsic: 1.2.2
+ hasown: 2.0.0
side-channel: 1.0.4
dev: true
@@ -4373,15 +7500,28 @@ packages:
loose-envify: 1.4.0
dev: false
- /ipaddr.js@1.9.1:
- resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
- engines: {node: '>= 0.10'}
- dev: false
+ /is-array-buffer@3.0.2:
+ resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==}
+ dependencies:
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.2
+ is-typed-array: 1.1.12
+ dev: true
/is-arrayish@0.2.1:
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+
+ /is-arrayish@0.3.2:
+ resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
dev: false
+ /is-async-function@2.0.0:
+ resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
/is-bigint@1.0.4:
resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
dependencies:
@@ -4398,7 +7538,7 @@ packages:
resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
+ call-bind: 1.0.5
has-tostringtag: 1.0.0
dev: true
@@ -4412,6 +7552,17 @@ packages:
dependencies:
has: 1.0.3
+ /is-core-module@2.13.0:
+ resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==}
+ dependencies:
+ has: 1.0.4
+
+ /is-core-module@2.13.1:
+ resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
+ dependencies:
+ hasown: 2.0.0
+ dev: true
+
/is-date-object@1.0.5:
resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
engines: {node: '>= 0.4'}
@@ -4419,20 +7570,26 @@ packages:
has-tostringtag: 1.0.0
dev: true
- /is-docker@2.2.1:
- resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
- engines: {node: '>=8'}
- hasBin: true
- dev: true
-
/is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
+ /is-finalizationregistry@1.0.2:
+ resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
+ dependencies:
+ call-bind: 1.0.5
+ dev: true
+
/is-fullwidth-code-point@3.0.0:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
engines: {node: '>=8'}
- dev: false
+
+ /is-generator-function@1.0.10:
+ resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
/is-glob@4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
@@ -4440,6 +7597,20 @@ packages:
dependencies:
is-extglob: 2.1.1
+ /is-interactive@1.0.0:
+ resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-iterable@1.1.1:
+ resolution: {integrity: sha512-EdOZCr0NsGE00Pot+x1ZFx9MJK3C6wy91geZpXwvwexDLJvA4nzYyZf7r+EIwSeVsOLDdBz7ATg9NqKTzuNYuQ==}
+ engines: {node: '>= 4'}
+ dev: true
+
+ /is-map@2.0.2:
+ resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==}
+ dev: true
+
/is-negative-zero@2.0.2:
resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
engines: {node: '>= 0.4'}
@@ -4452,6 +7623,11 @@ packages:
has-tostringtag: 1.0.0
dev: true
+ /is-number@4.0.0:
+ resolution: {integrity: sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/is-number@7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
@@ -4461,18 +7637,31 @@ packages:
engines: {node: '>=8'}
dev: true
+ /is-promise@2.2.2:
+ resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
+ dev: true
+
/is-regex@1.1.4:
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
+ call-bind: 1.0.5
has-tostringtag: 1.0.0
dev: true
+ /is-set@2.0.2:
+ resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==}
+ dev: true
+
/is-shared-array-buffer@1.0.2:
resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
dependencies:
- call-bind: 1.0.2
+ call-bind: 1.0.5
+ dev: true
+
+ /is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
dev: true
/is-string@1.0.7:
@@ -4489,48 +7678,115 @@ packages:
has-symbols: 1.0.3
dev: true
+ /is-typed-array@1.1.12:
+ resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ which-typed-array: 1.1.13
+ dev: true
+
/is-typedarray@1.0.0:
resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
dev: false
+ /is-unicode-supported@0.1.0:
+ resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /is-weakmap@2.0.1:
+ resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==}
+ dev: true
+
/is-weakref@1.0.2:
resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
dependencies:
- call-bind: 1.0.2
+ call-bind: 1.0.5
dev: true
- /is-wsl@2.2.0:
- resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
- engines: {node: '>=8'}
+ /is-weakset@2.0.2:
+ resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==}
dependencies:
- is-docker: 2.2.1
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.2
+ dev: true
+
+ /is-what@4.1.16:
+ resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
+ engines: {node: '>=12.13'}
+
+ /isarray@0.0.1:
+ resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==}
+ dev: true
+
+ /isarray@2.0.5:
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
dev: true
/isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ /isexe@3.1.1:
+ resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==}
+ engines: {node: '>=16'}
dev: true
- /isobject@3.0.1:
- resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
- engines: {node: '>=0.10.0'}
- dev: false
+ /iterable-lookahead@1.0.0:
+ resolution: {integrity: sha512-hJnEP2Xk4+44DDwJqUQGdXal5VbyeWLaPyDl2AQc242Zr7iqz4DgpQOrEzglWVMGHMDCkguLHEKxd1+rOsmgSQ==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /iterator.prototype@1.1.2:
+ resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
+ dependencies:
+ define-properties: 1.2.1
+ get-intrinsic: 1.2.2
+ has-symbols: 1.0.3
+ reflect.getprototypeof: 1.0.4
+ set-function-name: 2.0.1
+ dev: true
+
+ /jackspeak@2.3.6:
+ resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@isaacs/cliui': 8.0.2
+ optionalDependencies:
+ '@pkgjs/parseargs': 0.11.0
+
+ /jest-get-type@29.6.3:
+ resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ /jest-validate@29.7.0:
+ resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.6.3
+ camelcase: 6.3.0
+ chalk: 4.1.2
+ jest-get-type: 29.6.3
+ leven: 3.1.0
+ pretty-format: 29.7.0
/jest-worker@27.5.1:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
dependencies:
- '@types/node': 20.8.7
+ '@types/node': 20.11.10
merge-stream: 2.0.0
supports-color: 8.1.1
- dev: false
+
+ /jiti@1.21.0:
+ resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
+ hasBin: true
/js-cookie@2.2.1:
resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==}
dev: false
- /js-sdsl@4.2.0:
- resolution: {integrity: sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==}
- dev: true
+ /js-sha256@0.10.1:
+ resolution: {integrity: sha512-5obBtsz9301ULlsgggLg542s/jqtddfOpV5KJc4hajc9JV8GeY2gZHSVpYBn4nWqAUTJ9v+xwtbJ1mIBgIH5Vw==}
/js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
@@ -4540,34 +7796,59 @@ packages:
hasBin: true
dependencies:
argparse: 2.0.1
- dev: true
/jsesc@2.5.2:
resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
engines: {node: '>=4'}
hasBin: true
- dev: false
+
+ /json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+ dev: true
+
+ /json-diff@0.9.0:
+ resolution: {integrity: sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==}
+ hasBin: true
+ dependencies:
+ cli-color: 2.0.3
+ difflib: 0.2.4
+ dreamopt: 0.8.0
+ dev: true
/json-parse-even-better-errors@2.3.1:
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
- dev: false
+
+ /json-parse-even-better-errors@3.0.1:
+ resolution: {integrity: sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dev: true
+
+ /json-schema-to-ts@1.6.4:
+ resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==}
+ dependencies:
+ '@types/json-schema': 7.0.15
+ ts-toolbelt: 6.15.5
+ dev: true
/json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
/json-schema-traverse@1.0.0:
resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
- dev: false
/json-stable-stringify-without-jsonify@1.0.1:
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
dev: true
- /json5@1.0.1:
- resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==}
+ /json-stringify-safe@5.0.1:
+ resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
+ dev: true
+
+ /json5@1.0.2:
+ resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
hasBin: true
dependencies:
- minimist: 1.2.7
+ minimist: 1.2.8
dev: true
/json5@2.2.2:
@@ -4580,49 +7861,107 @@ packages:
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
engines: {node: '>=6'}
hasBin: true
- dev: false
+
+ /jsonfile@4.0.0:
+ resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
+ optionalDependencies:
+ graceful-fs: 4.2.11
+ dev: true
/jsonfile@6.1.0:
resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
dependencies:
- universalify: 2.0.0
+ universalify: 2.0.1
optionalDependencies:
graceful-fs: 4.2.11
dev: true
- /jsx-ast-utils@3.3.3:
- resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==}
+ /jsx-ast-utils@3.3.5:
+ resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
engines: {node: '>=4.0'}
dependencies:
- array-includes: 3.1.6
+ array-includes: 3.1.7
+ array.prototype.flat: 1.3.2
object.assign: 4.1.4
+ object.values: 1.1.7
dev: true
- /kbar@0.1.0-beta.39(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-Gjn0m3MV2V/rEYTDAhIMzxD75Rz65tuMB6v6w71B8PuU4vQzZ7dWVKEI4b56Cf47T49zrax6tqsijxcsAFpLSg==}
+ /kbar@0.1.0-beta.45(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-kXvjthqPLoWZXlxLJPrFKioskNdQv1O3Ukg5mqq2ExK3Ix1qvYT3W/ACDRIv/e/CHxPWZoTriB4oFbQ6UCSX5g==}
peerDependencies:
react: ^16.0.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0
dependencies:
- '@radix-ui/react-portal': 1.0.1(react-dom@18.2.0)(react@18.2.0)
- command-score: 0.1.2
+ '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)
fast-equals: 2.0.4
+ fuse.js: 6.6.2
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
react-virtual: 2.10.4(react@18.2.0)
tiny-invariant: 1.3.1
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
dev: false
+ /keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+ dependencies:
+ json-buffer: 3.0.1
+ dev: true
+
+ /knip@4.2.3(@types/node@20.11.10)(typescript@5.3.3):
+ resolution: {integrity: sha512-X1OE/Uks6hIAXmaxrJn/mjywFRwpeXr11wAtGNT+n7R5vSWOUEfVbtG2C4wAMDu6AfBx5tVUGLm5+2eK5rwNEw==}
+ engines: {node: '>=18.6.0'}
+ hasBin: true
+ peerDependencies:
+ '@types/node': '>=18'
+ typescript: '>=5.0.4'
+ dependencies:
+ '@ericcornelissen/bash-parser': 0.5.2
+ '@nodelib/fs.walk': 2.0.0
+ '@npmcli/map-workspaces': 3.0.4
+ '@npmcli/package-json': 5.0.0
+ '@pnpm/logger': 5.0.0
+ '@pnpm/workspace.pkgs-graph': 2.0.14(@pnpm/logger@5.0.0)
+ '@snyk/github-codeowners': 1.1.0
+ '@types/node': 20.11.10
+ '@types/picomatch': 2.3.3
+ easy-table: 1.2.0
+ fast-glob: 3.3.2
+ jiti: 1.21.0
+ js-yaml: 4.1.0
+ micromatch: 4.0.5
+ minimist: 1.2.8
+ picocolors: 1.0.0
+ picomatch: 3.0.1
+ pretty-ms: 9.0.0
+ smol-toml: 1.1.4
+ strip-json-comments: 5.0.1
+ summary: 2.1.0
+ typescript: 5.3.3
+ zod: 3.22.4
+ zod-validation-error: 3.0.0(zod@3.22.4)
+ transitivePeerDependencies:
+ - bluebird
+ - domexception
+ dev: true
+
/language-subtag-registry@0.3.22:
resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
dev: true
- /language-tags@1.0.5:
- resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==}
+ /language-tags@1.0.9:
+ resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
+ engines: {node: '>=0.10'}
dependencies:
language-subtag-registry: 0.3.22
dev: true
+ /leven@3.1.0:
+ resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
+ engines: {node: '>=6'}
+
/levn@0.4.1:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
@@ -4631,19 +7970,32 @@ packages:
type-check: 0.4.0
dev: true
- /lilconfig@2.0.6:
- resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==}
+ /lilconfig@2.1.0:
+ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
engines: {node: '>=10'}
- dev: true
+ dev: false
+
+ /lilconfig@3.0.0:
+ resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==}
+ engines: {node: '>=14'}
+ dev: false
/lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
- dev: false
+
+ /load-json-file@6.2.0:
+ resolution: {integrity: sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ graceful-fs: 4.2.11
+ parse-json: 5.2.0
+ strip-bom: 4.0.0
+ type-fest: 0.6.0
+ dev: true
/loader-runner@4.3.0:
resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
engines: {node: '>=6.11.5'}
- dev: false
/loader-utils@2.0.4:
resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==}
@@ -4654,6 +8006,14 @@ packages:
json5: 2.2.2
dev: false
+ /locate-path@3.0.0:
+ resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==}
+ engines: {node: '>=6'}
+ dependencies:
+ p-locate: 3.0.0
+ path-exists: 3.0.0
+ dev: true
+
/locate-path@5.0.0:
resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
engines: {node: '>=8'}
@@ -4667,33 +8027,39 @@ packages:
dependencies:
p-locate: 5.0.0
- /lodash.debounce@4.0.8:
- resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
- dev: false
+ /lodash.curry@4.1.1:
+ resolution: {integrity: sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==}
+ dev: true
- /lodash.memoize@4.1.2:
- resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
- dev: false
+ /lodash.get@4.4.2:
+ resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==}
/lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true
- /lodash.reduce@4.6.0:
- resolution: {integrity: sha512-6raRe2vxCYBhpBu+B+TtNGUzah+hQjVdu3E17wfusjyrXBka2nBS8OH/gjVZ5PvHOhWmIZTYri09Z6n/QfnNMw==}
- dev: false
-
/lodash.snakecase@4.1.1:
resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==}
dev: false
- /lodash.startswith@4.2.1:
- resolution: {integrity: sha512-XClYR1h4/fJ7H+mmCKppbiBmljN/nGs73iq2SjCT9SF4CBPoUHzLvWmH1GtZMhMBZSiRkHXfeA2RY1eIlJ75ww==}
- dev: false
+ /lodash.sortby@4.7.0:
+ resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
+ dev: true
+
+ /lodash.throttle@4.1.1:
+ resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
+ dev: true
/lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
- dev: false
+
+ /log-symbols@4.1.0:
+ resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
+ engines: {node: '>=10'}
+ dependencies:
+ chalk: 4.1.2
+ is-unicode-supported: 0.1.0
+ dev: true
/loose-envify@1.4.0:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
@@ -4701,11 +8067,19 @@ packages:
dependencies:
js-tokens: 4.0.0
+ /lru-cache@10.1.0:
+ resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==}
+ engines: {node: 14 || >=16.14}
+
+ /lru-cache@10.2.0:
+ resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==}
+ engines: {node: 14 || >=16.14}
+ dev: true
+
/lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
dependencies:
yallist: 3.1.1
- dev: false
/lru-cache@6.0.0:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
@@ -4713,16 +8087,49 @@ packages:
dependencies:
yallist: 4.0.0
+ /lru-queue@0.1.0:
+ resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==}
+ dependencies:
+ es5-ext: 0.10.62
+ dev: true
+
+ /magic-bytes.js@1.7.0:
+ resolution: {integrity: sha512-YzVU2+/hrjwx8xcgAw+ffNq3jkactpj+f1iSL4LonrFKhvnwDzHSqtFdk/MMRP53y9ScouJ7cKEnqYsJwsHoYA==}
+ dev: false
+
+ /magic-string@0.16.0:
+ resolution: {integrity: sha512-c4BEos3y6G2qO0B9X7K0FVLOPT9uGrjYwYRLFmDqyl5YMboUviyecnXWp94fJTSMwPw2/sf+CEYt5AGpmklkkQ==}
+ dependencies:
+ vlq: 0.2.3
+ dev: true
+
+ /magic-string@0.25.9:
+ resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
+ dependencies:
+ sourcemap-codec: 1.4.8
+ dev: true
+
/make-dir@3.1.0:
resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
engines: {node: '>=8'}
dependencies:
- semver: 6.3.0
- dev: false
+ semver: 6.3.1
/make-error@1.3.6:
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
+ /map-age-cleaner@0.1.3:
+ resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==}
+ engines: {node: '>=6'}
+ dependencies:
+ p-defer: 1.0.0
+ dev: true
+
+ /map-obj@2.0.0:
+ resolution: {integrity: sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==}
+ engines: {node: '>=4'}
+ dev: true
+
/map-stream@0.1.0:
resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==}
dev: true
@@ -4731,32 +8138,63 @@ packages:
resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
dev: false
- /media-typer@0.3.0:
- resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
- engines: {node: '>= 0.6'}
- dev: false
+ /mem@6.1.1:
+ resolution: {integrity: sha512-Ci6bIfq/UgcxPTYa8dQQ5FY3BzKkT894bwXWXxC/zqs0XgMO2cT20CGkOqda7gZNkmK5VP4x89IGZ6K7hfbn3Q==}
+ engines: {node: '>=8'}
+ dependencies:
+ map-age-cleaner: 0.1.3
+ mimic-fn: 3.1.0
+ dev: true
+
+ /mem@8.1.1:
+ resolution: {integrity: sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==}
+ engines: {node: '>=10'}
+ dependencies:
+ map-age-cleaner: 0.1.3
+ mimic-fn: 3.1.0
+ dev: true
/memoize-one@6.0.0:
resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==}
dev: false
- /merge-descriptors@1.0.1:
- resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
- dev: false
+ /memoizee@0.4.15:
+ resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ es6-weak-map: 2.0.3
+ event-emitter: 0.3.5
+ is-promise: 2.2.2
+ lru-queue: 0.1.0
+ next-tick: 1.1.0
+ timers-ext: 0.1.7
+ dev: true
/merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
- dev: false
/merge2@1.4.1:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
+
+ /micro@9.3.5-canary.3:
+ resolution: {integrity: sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==}
+ engines: {node: '>= 8.0.0'}
+ hasBin: true
+ dependencies:
+ arg: 4.1.0
+ content-type: 1.0.4
+ raw-body: 2.4.1
dev: true
- /methods@1.1.2:
- resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
- engines: {node: '>= 0.6'}
- dev: false
+ /micromatch@4.0.2:
+ resolution: {integrity: sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==}
+ engines: {node: '>=8'}
+ dependencies:
+ braces: 3.0.2
+ picomatch: 2.3.1
+ dev: true
/micromatch@4.0.5:
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
@@ -4768,26 +8206,99 @@ packages:
/mime-db@1.52.0:
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
engines: {node: '>= 0.6'}
- dev: false
/mime-types@2.1.35:
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
engines: {node: '>= 0.6'}
dependencies:
mime-db: 1.52.0
- dev: false
- /mime@1.6.0:
- resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
- engines: {node: '>=4'}
+ /mime@3.0.0:
+ resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
+ engines: {node: '>=10.0.0'}
hasBin: true
- dev: false
+ dev: true
+
+ /mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /mimic-fn@3.1.0:
+ resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /miniflare@3.20231002.0:
+ resolution: {integrity: sha512-Qw1JfGwx1ZuaoumE9DpzPm78b9RD+qP/k+iAPaCIay9iQfcf7ri7rX6Zper2rReawuL+DdNxXJmhB4cfwn5Glw==}
+ engines: {node: '>=16.13'}
+ dependencies:
+ acorn: 8.11.3
+ acorn-walk: 8.3.1
+ capnp-ts: 0.7.0
+ exit-hook: 2.2.1
+ glob-to-regexp: 0.4.1
+ source-map-support: 0.5.21
+ stoppable: 1.1.0
+ undici: 5.28.2
+ workerd: 1.20231002.0
+ ws: 8.16.0
+ youch: 3.3.3
+ zod: 3.22.4
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /miniflare@3.20231218.4:
+ resolution: {integrity: sha512-2mpxvDiRBxGGGVnTKC0SZy0FtTXxFs3tM1ol67EoIJABGzvWFf33GThwh+/dRmaHSjKKId/FI8rEl5JxXXXZgQ==}
+ engines: {node: '>=16.13'}
+ hasBin: true
+ dependencies:
+ '@cspotcode/source-map-support': 0.8.1
+ acorn: 8.11.3
+ acorn-walk: 8.3.2
+ capnp-ts: 0.7.0
+ exit-hook: 2.2.1
+ glob-to-regexp: 0.4.1
+ stoppable: 1.1.0
+ undici: 5.28.2
+ workerd: 1.20231218.0
+ ws: 8.16.0
+ youch: 3.3.3
+ zod: 3.22.4
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ dev: true
/minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
dependencies:
brace-expansion: 1.1.11
+ /minimatch@5.1.6:
+ resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
+ engines: {node: '>=10'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
+ /minimatch@7.4.6:
+ resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==}
+ engines: {node: '>=10'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
+ /minimatch@9.0.3:
+ resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ brace-expansion: 2.0.1
+
/minimist@1.2.7:
resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==}
@@ -4795,58 +8306,134 @@ packages:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
dev: true
+ /minipass@2.9.0:
+ resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==}
+ dependencies:
+ safe-buffer: 5.2.1
+ yallist: 3.1.1
+ dev: true
+
+ /minipass@3.3.6:
+ resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
+ engines: {node: '>=8'}
+ dependencies:
+ yallist: 4.0.0
+ dev: true
+
+ /minipass@5.0.0:
+ resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /minipass@7.0.4:
+ resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ /minizlib@1.3.3:
+ resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==}
+ dependencies:
+ minipass: 2.9.0
+ dev: true
+
+ /minizlib@2.1.2:
+ resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ minipass: 3.3.6
+ yallist: 4.0.0
+ dev: true
+
+ /mkdirp@0.5.6:
+ resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
+ hasBin: true
+ dependencies:
+ minimist: 1.2.8
+ dev: true
+
/mkdirp@1.0.4:
resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
engines: {node: '>=10'}
hasBin: true
+ /moo@0.5.2:
+ resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==}
+
+ /mri@1.2.0:
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
+ engines: {node: '>=4'}
+ dev: true
+
/ms@2.0.0:
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+ dev: false
+
+ /ms@2.1.1:
+ resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==}
+ dev: true
/ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
/ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+ dev: true
+
+ /mustache@4.2.0:
+ resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==}
+ hasBin: true
+ dev: true
+
+ /mute-stream@0.0.8:
+ resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
+ dev: true
+
+ /mz@2.7.0:
+ resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+ dependencies:
+ any-promise: 1.3.0
+ object-assign: 4.1.1
+ thenify-all: 1.6.0
+ dev: false
- /nano-css@5.3.5(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-vSB9X12bbNu4ALBu7nigJgRViZ6ja3OU7CeuiV1zMIbXOdmkLahgtPmh3GBOlDxbKY0CitqlPdOReGlBLSp+yg==}
+ /nano-css@5.6.1(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-T2Mhc//CepkTa3X4pUhKgbEheJHYAxD0VptuqFhDbGMUWVV2m+lkNiW/Ieuj35wrfC8Zm0l7HvssQh7zcEttSw==}
peerDependencies:
react: '*'
react-dom: '*'
dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
css-tree: 1.1.3
- csstype: 3.1.1
+ csstype: 3.1.3
fastest-stable-stringify: 2.0.2
- inline-style-prefixer: 6.0.1
+ inline-style-prefixer: 7.0.0
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- rtl-css-js: 1.16.0
- sourcemap-codec: 1.4.8
+ rtl-css-js: 1.16.1
stacktrace-js: 2.0.2
- stylis: 4.1.3
+ stylis: 4.3.1
dev: false
- /nanoid@3.3.4:
- resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
- dev: true
-
- /nanoid@3.3.6:
- resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
+ /nanoid@3.3.7:
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
- dev: false
-
- /natural-compare-lite@1.4.0:
- resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
- dev: true
/natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
dev: true
+ /ndjson@2.0.0:
+ resolution: {integrity: sha512-nGl7LRGrzugTtaFcJMhLbpzJM6XdivmbkdlaGcrk/LXg2KL/YBC6z1g70xh0/al+oFuVFP8N8kiWRucmeEH/qQ==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ json-stringify-safe: 5.0.1
+ minimist: 1.2.8
+ readable-stream: 3.6.2
+ split2: 3.2.2
+ through2: 4.0.2
+ dev: true
+
/negotiator@0.6.3:
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
engines: {node: '>= 0.6'}
@@ -4854,35 +8441,20 @@ packages:
/neo-async@2.6.2:
resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
- dev: false
- /next-sitemap@3.1.44(@next/env@13.5.6)(next@13.5.6):
- resolution: {integrity: sha512-dg+qGfOpQemAb+LGShJmaJHyuf36rVqsIbkCBt0ldu10sAx+eMowVx6DzEtf2HoIIGWc7J+kfy//YsBCPdj47Q==}
- engines: {node: '>=14.18'}
- hasBin: true
- peerDependencies:
- '@next/env': '*'
- next: '*'
+ /next-i18n-router@5.2.0:
+ resolution: {integrity: sha512-gi6vYG+d/CwO0+cI6mU95B+iU5S6ehLccOLIl4FH5YuL1G2JKq6FvjMbN8JxAJtlLvuAgwUjxgr2mdcAAgFXWw==}
dependencies:
- '@corex/deepmerge': 4.0.29
- '@next/env': 13.5.6
- minimist: 1.2.7
- next: 13.5.6(@babel/core@7.23.2)(react-dom@18.2.0)(react@18.2.0)
+ '@formatjs/intl-localematcher': 0.5.2
+ negotiator: 0.6.3
dev: false
/next-tick@1.1.0:
resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
- dev: false
-
- /next-transpile-modules@10.0.0:
- resolution: {integrity: sha512-FyeJ++Lm2Fq31gbThiRCrJlYpIY9QaI7A3TjuhQLzOix8ChQrvn5ny4MhfIthS5cy6+uK1AhDRvxVdW17y3Xdw==}
- dependencies:
- enhanced-resolve: 5.10.0
- dev: true
- /next@13.5.6(@babel/core@7.23.2)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-Y2wTcTbO4WwEsVb4A8VSnOsG1I9ok+h74q0ZdxkwM3EODqrs4pasq7O0iUxbcS9VtWMicG7f3+HAj0r1+NtKSw==}
- engines: {node: '>=16.14.0'}
+ /next@14.1.0(@babel/core@7.23.7)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q==}
+ engines: {node: '>=18.17.0'}
hasBin: true
peerDependencies:
'@opentelemetry/api': ^1.1.0
@@ -4895,36 +8467,35 @@ packages:
sass:
optional: true
dependencies:
- '@next/env': 13.5.6
+ '@next/env': 14.1.0
'@swc/helpers': 0.5.2
busboy: 1.6.0
- caniuse-lite: 1.0.30001443
+ caniuse-lite: 1.0.30001581
+ graceful-fs: 4.2.11
postcss: 8.4.31
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- styled-jsx: 5.1.1(@babel/core@7.23.2)(react@18.2.0)
- watchpack: 2.4.0
+ styled-jsx: 5.1.1(@babel/core@7.23.7)(babel-plugin-macros@3.1.0)(react@18.2.0)
optionalDependencies:
- '@next/swc-darwin-arm64': 13.5.6
- '@next/swc-darwin-x64': 13.5.6
- '@next/swc-linux-arm64-gnu': 13.5.6
- '@next/swc-linux-arm64-musl': 13.5.6
- '@next/swc-linux-x64-gnu': 13.5.6
- '@next/swc-linux-x64-musl': 13.5.6
- '@next/swc-win32-arm64-msvc': 13.5.6
- '@next/swc-win32-ia32-msvc': 13.5.6
- '@next/swc-win32-x64-msvc': 13.5.6
+ '@next/swc-darwin-arm64': 14.1.0
+ '@next/swc-darwin-x64': 14.1.0
+ '@next/swc-linux-arm64-gnu': 14.1.0
+ '@next/swc-linux-arm64-musl': 14.1.0
+ '@next/swc-linux-x64-gnu': 14.1.0
+ '@next/swc-linux-x64-musl': 14.1.0
+ '@next/swc-win32-arm64-msvc': 14.1.0
+ '@next/swc-win32-ia32-msvc': 14.1.0
+ '@next/swc-win32-x64-msvc': 14.1.0
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros
- dev: false
/node-domexception@1.0.0:
resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
engines: {node: '>=10.5.0'}
dev: true
- /node-fetch@2.6.7:
+ /node-fetch@2.6.7(encoding@0.1.13):
resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
engines: {node: 4.x || >=6.0.0}
peerDependencies:
@@ -4933,8 +8504,44 @@ packages:
encoding:
optional: true
dependencies:
+ encoding: 0.1.13
whatwg-url: 5.0.0
- dev: false
+
+ /node-fetch@2.6.9(encoding@0.1.13):
+ resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+ dependencies:
+ encoding: 0.1.13
+ whatwg-url: 5.0.0
+ dev: true
+
+ /node-fetch@2.7.0(encoding@0.1.13):
+ resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+ dependencies:
+ encoding: 0.1.13
+ whatwg-url: 5.0.0
+ dev: true
+
+ /node-fetch@3.0.0-beta.9:
+ resolution: {integrity: sha512-RdbZCEynH2tH46+tj0ua9caUHVWrd/RHnRfvly2EVdqGmI3ndS1Vn/xjm5KuGejDt2RNDQsVRLPNd2QPwcewVg==}
+ engines: {node: ^10.17 || >=12.3}
+ dependencies:
+ data-uri-to-buffer: 3.0.1
+ fetch-blob: 2.1.2
+ transitivePeerDependencies:
+ - domexception
+ dev: true
/node-fetch@3.3.1:
resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==}
@@ -4945,17 +8552,45 @@ packages:
formdata-polyfill: 4.0.10
dev: true
+ /node-forge@1.3.1:
+ resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
+ engines: {node: '>= 6.13.0'}
+ dev: true
+
/node-gyp-build@4.5.0:
resolution: {integrity: sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==}
hasBin: true
dev: false
+ /node-gyp-build@4.8.0:
+ resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==}
+ hasBin: true
+ dev: true
+
/node-releases@2.0.13:
resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
dev: false
- /node-releases@2.0.6:
- resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==}
+ /node-releases@2.0.14:
+ resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
+
+ /nopt@5.0.0:
+ resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
+ engines: {node: '>=6'}
+ hasBin: true
+ dependencies:
+ abbrev: 1.1.1
+ dev: true
+
+ /normalize-package-data@6.0.0:
+ resolution: {integrity: sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+ dependencies:
+ hosted-git-info: 7.0.1
+ is-core-module: 2.13.1
+ semver: 7.5.4
+ validate-npm-package-license: 3.0.4
+ dev: true
/normalize-path@3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
@@ -4964,11 +8599,55 @@ packages:
/normalize-range@0.1.2:
resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
engines: {node: '>=0.10.0'}
+ dev: false
+
+ /npm-install-checks@6.3.0:
+ resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ semver: 7.5.4
dev: true
- /nprogress@0.2.0:
- resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==}
- dev: false
+ /npm-normalize-package-bin@3.0.1:
+ resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dev: true
+
+ /npm-package-arg@11.0.1:
+ resolution: {integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+ dependencies:
+ hosted-git-info: 7.0.1
+ proc-log: 3.0.0
+ semver: 7.5.4
+ validate-npm-package-name: 5.0.0
+ dev: true
+
+ /npm-pick-manifest@9.0.0:
+ resolution: {integrity: sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+ dependencies:
+ npm-install-checks: 6.3.0
+ npm-normalize-package-bin: 3.0.1
+ npm-package-arg: 11.0.1
+ semver: 7.5.4
+ dev: true
+
+ /npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-key: 3.1.1
+ dev: true
+
+ /npmlog@5.0.1:
+ resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
+ dependencies:
+ are-we-there-yet: 2.0.0
+ console-control-strings: 1.1.0
+ gauge: 3.0.2
+ set-blocking: 2.0.0
+ dev: true
/nth-check@2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
@@ -4983,91 +8662,145 @@ packages:
/object-hash@3.0.0:
resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
engines: {node: '>= 6'}
- dev: true
+ dev: false
- /object-inspect@1.12.2:
- resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==}
+ /object-inspect@1.13.1:
+ resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
+ dev: true
/object-keys@1.1.1:
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
engines: {node: '>= 0.4'}
dev: true
+ /object-pairs@0.1.0:
+ resolution: {integrity: sha512-3ECr6K831I4xX/Mduxr9UC+HPOz/d6WKKYj9p4cmC8Lg8p7g8gitzsxNX5IWlSIgFWN/a4JgrJaoAMKn20oKwA==}
+ dev: true
+
+ /object-values@1.0.0:
+ resolution: {integrity: sha512-+8hwcz/JnQ9EpLIXzN0Rs7DLsBpJNT/xYehtB/jU93tHYr5BFEO8E+JGQNOSqE7opVzz5cGksKFHt7uUJVLSjQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/object.assign@4.1.4:
resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
+ call-bind: 1.0.5
+ define-properties: 1.2.1
has-symbols: 1.0.3
object-keys: 1.1.1
dev: true
- /object.entries@1.1.6:
- resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==}
+ /object.entries@1.1.7:
+ resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.20.5
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
dev: true
- /object.fromentries@2.0.6:
- resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==}
+ /object.fromentries@2.0.7:
+ resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.20.5
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ dev: true
+
+ /object.groupby@1.0.1:
+ resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ get-intrinsic: 1.2.2
dev: true
- /object.hasown@1.1.2:
- resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==}
+ /object.hasown@1.1.3:
+ resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==}
dependencies:
- define-properties: 1.1.4
- es-abstract: 1.20.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
dev: true
- /object.values@1.1.6:
- resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==}
+ /object.values@1.1.7:
+ resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.20.5
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
dev: true
- /on-finished@2.4.1:
- resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
- engines: {node: '>= 0.8'}
+ /obuf@1.1.2:
+ resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
+
+ /once@1.3.3:
+ resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==}
dependencies:
- ee-first: 1.1.1
- dev: false
+ wrappy: 1.0.2
+ dev: true
/once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
dependencies:
wrappy: 1.0.2
- /open@8.4.0:
- resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==}
- engines: {node: '>=12'}
+ /onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
dependencies:
- define-lazy-prop: 2.0.0
- is-docker: 2.2.1
- is-wsl: 2.2.0
+ mimic-fn: 2.1.0
dev: true
- /optionator@0.9.1:
- resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
+ /optionator@0.9.3:
+ resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
engines: {node: '>= 0.8.0'}
dependencies:
+ '@aashutoshrathi/word-wrap': 1.2.6
deep-is: 0.1.4
fast-levenshtein: 2.0.6
levn: 0.4.1
prelude-ls: 1.2.1
type-check: 0.4.0
- word-wrap: 1.2.3
+ dev: true
+
+ /ora@5.4.1:
+ resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ bl: 4.1.0
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-spinners: 2.9.2
+ is-interactive: 1.0.0
+ is-unicode-supported: 0.1.0
+ log-symbols: 4.1.0
+ strip-ansi: 6.0.1
+ wcwidth: 1.0.1
+ dev: true
+
+ /os-paths@4.4.0:
+ resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==}
+ engines: {node: '>= 6.0'}
+ dev: true
+
+ /os-tmpdir@1.0.2:
+ resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /p-defer@1.0.0:
+ resolution: {integrity: sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /p-finally@2.0.1:
+ resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==}
+ engines: {node: '>=8'}
dev: true
/p-limit@2.3.0:
@@ -5075,7 +8808,6 @@ packages:
engines: {node: '>=6'}
dependencies:
p-try: 2.2.0
- dev: false
/p-limit@3.1.0:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
@@ -5083,6 +8815,13 @@ packages:
dependencies:
yocto-queue: 0.1.0
+ /p-locate@3.0.0:
+ resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ p-limit: 2.3.0
+ dev: true
+
/p-locate@4.1.0:
resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
engines: {node: '>=8'}
@@ -5096,9 +8835,34 @@ packages:
dependencies:
p-limit: 3.1.0
+ /p-map@4.0.0:
+ resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ aggregate-error: 3.1.0
+ dev: true
+
+ /p-memoize@4.0.1:
+ resolution: {integrity: sha512-km0sP12uE0dOZ5qP+s7kGVf07QngxyG0gS8sYFvFWhqlgzOsSy+m71aUejf/0akxj5W7gE//2G74qTv6b4iMog==}
+ engines: {node: '>=10'}
+ dependencies:
+ mem: 6.1.1
+ mimic-fn: 3.1.0
+ dev: true
+
/p-try@2.2.0:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
+
+ /package-manager-manager@0.2.0:
+ resolution: {integrity: sha512-V02gl0bafXJ2gcY6j+5IHM7UdnYwmF+2OsFZuqVcha6iMSStD4dpIOBOsypnUIwOi4jLcPz6RQuyifmAE3mG8g==}
+ dependencies:
+ js-yaml: 4.1.0
+ shellac: 0.8.0
+ dev: true
+
+ /packet-reader@1.0.0:
+ resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==}
dev: false
/parent-module@1.0.1:
@@ -5111,11 +8875,27 @@ packages:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
dependencies:
- '@babel/code-frame': 7.18.6
+ '@babel/code-frame': 7.22.13
error-ex: 1.3.2
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
- dev: false
+
+ /parse-ms@2.1.0:
+ resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /parse-ms@4.0.0:
+ resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==}
+ engines: {node: '>=18'}
+ dev: true
+
+ /parse-npm-tarball-url@3.0.0:
+ resolution: {integrity: sha512-InpdgIdNe5xWMEUcrVQUniQKwnggBtJ7+SCwh7zQAZwbbIYZV9XdgJyhtmDSSvykFyQXoe4BINnzKTfCwWLs5g==}
+ engines: {node: '>=8.15'}
+ dependencies:
+ semver: 6.3.1
+ dev: true
/parse5-htmlparser2-tree-adapter@7.0.0:
resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==}
@@ -5130,10 +8910,14 @@ packages:
entities: 4.4.0
dev: false
- /parseurl@1.3.3:
- resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
- engines: {node: '>= 0.8'}
- dev: false
+ /path-browserify@1.0.1:
+ resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
+ dev: true
+
+ /path-exists@3.0.0:
+ resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
+ engines: {node: '>=4'}
+ dev: true
/path-exists@4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
@@ -5146,28 +8930,148 @@ packages:
/path-key@3.1.1:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
+
+ /path-match@1.2.4:
+ resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==}
+ dependencies:
+ http-errors: 1.4.0
+ path-to-regexp: 1.8.0
+ dev: true
+
+ /path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+ /path-scurry@1.10.1:
+ resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ lru-cache: 10.1.0
+ minipass: 7.0.4
+
+ /path-temp@2.1.0:
+ resolution: {integrity: sha512-cMMJTAZlion/RWRRC48UbrDymEIt+/YSD/l8NqjneyDw2rDOBQcP5yRkMB4CYGn47KMhZvbblBP7Z79OsMw72w==}
+ engines: {node: '>=8.15'}
+ dependencies:
+ unique-string: 2.0.0
+ dev: true
+
+ /path-to-regexp@1.8.0:
+ resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==}
+ dependencies:
+ isarray: 0.0.1
+ dev: true
+
+ /path-to-regexp@6.1.0:
+ resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==}
+ dev: true
+
+ /path-to-regexp@6.2.1:
+ resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==}
+ dev: true
+
+ /path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
+ /pathe@1.1.2:
+ resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+ dev: true
+
+ /pause-stream@0.0.11:
+ resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==}
+ dependencies:
+ through: 2.3.8
+ dev: true
+
+ /pcre-to-regexp@1.1.0:
+ resolution: {integrity: sha512-KF9XxmUQJ2DIlMj3TqNqY1AWvyvTuIuq11CuuekxyaYMiFuMKGgQrePYMX5bXKLhLG3sDI4CsGAYHPaT7VV7+g==}
+ dev: true
+
+ /peek-readable@5.0.0:
+ resolution: {integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==}
+ engines: {node: '>=14.16'}
+ dev: false
+
+ /pend@1.2.0:
+ resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
dev: true
- /path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+ /pg-cloudflare@1.1.1:
+ resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /pg-connection-string@2.6.2:
+ resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==}
+ dev: false
+
+ /pg-int8@1.0.1:
+ resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==}
+ engines: {node: '>=4.0.0'}
+
+ /pg-numeric@1.0.2:
+ resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==}
+ engines: {node: '>=4'}
- /path-to-regexp@0.1.7:
- resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
+ /pg-pool@3.6.1(pg@8.11.3):
+ resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==}
+ peerDependencies:
+ pg: '>=8.0'
+ dependencies:
+ pg: 8.11.3
dev: false
- /path-type@4.0.0:
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
- engines: {node: '>=8'}
+ /pg-protocol@1.6.0:
+ resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==}
- /pause-stream@0.0.11:
- resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==}
+ /pg-types@2.2.0:
+ resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==}
+ engines: {node: '>=4'}
dependencies:
- through: 2.3.8
- dev: true
+ pg-int8: 1.0.1
+ postgres-array: 2.0.0
+ postgres-bytea: 1.0.0
+ postgres-date: 1.0.7
+ postgres-interval: 1.2.0
+ dev: false
- /peek-readable@5.0.0:
- resolution: {integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==}
- engines: {node: '>=14.16'}
+ /pg-types@4.0.1:
+ resolution: {integrity: sha512-hRCSDuLII9/LE3smys1hRHcu5QGcLs9ggT7I/TCs0IE+2Eesxi9+9RWAAwZ0yaGjxoWICF/YHLOEjydGujoJ+g==}
+ engines: {node: '>=10'}
+ dependencies:
+ pg-int8: 1.0.1
+ pg-numeric: 1.0.2
+ postgres-array: 3.0.2
+ postgres-bytea: 3.0.0
+ postgres-date: 2.0.1
+ postgres-interval: 3.0.0
+ postgres-range: 1.1.3
+
+ /pg@8.11.3:
+ resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==}
+ engines: {node: '>= 8.0.0'}
+ peerDependencies:
+ pg-native: '>=3.0.1'
+ peerDependenciesMeta:
+ pg-native:
+ optional: true
+ dependencies:
+ buffer-writer: 2.0.0
+ packet-reader: 1.0.0
+ pg-connection-string: 2.6.2
+ pg-pool: 3.6.1(pg@8.11.3)
+ pg-protocol: 1.6.0
+ pg-types: 2.2.0
+ pgpass: 1.0.5
+ optionalDependencies:
+ pg-cloudflare: 1.1.1
+ dev: false
+
+ /pgpass@1.0.5:
+ resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==}
+ dependencies:
+ split2: 4.2.0
dev: false
/picocolors@1.0.0:
@@ -5177,10 +9081,20 @@ packages:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
+ /picomatch@3.0.1:
+ resolution: {integrity: sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==}
+ engines: {node: '>=10'}
+ dev: true
+
/pify@2.3.0:
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
engines: {node: '>=0.10.0'}
- dev: true
+ dev: false
+
+ /pirates@4.0.6:
+ resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
+ engines: {node: '>= 6'}
+ dev: false
/pkg-dir@4.2.0:
resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
@@ -5189,31 +9103,42 @@ packages:
find-up: 4.1.0
dev: false
- /postcss-import@14.1.0(postcss@8.4.20):
- resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==}
- engines: {node: '>=10.0.0'}
+ /pkg-up@3.1.0:
+ resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==}
+ engines: {node: '>=8'}
+ dependencies:
+ find-up: 3.0.0
+ dev: true
+
+ /pofile@1.1.4:
+ resolution: {integrity: sha512-r6Q21sKsY1AjTVVjOuU02VYKVNQGJNQHjTIvs4dEbeuuYfxgYk/DGD2mqqq4RDaVkwdSq0VEtmQUOPe/wH8X3g==}
+ dev: true
+
+ /postcss-import@15.1.0(postcss@8.4.33):
+ resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
+ engines: {node: '>=14.0.0'}
peerDependencies:
postcss: ^8.0.0
dependencies:
- postcss: 8.4.20
+ postcss: 8.4.33
postcss-value-parser: 4.2.0
read-cache: 1.0.0
- resolve: 1.22.1
- dev: true
+ resolve: 1.22.8
+ dev: false
- /postcss-js@4.0.0(postcss@8.4.20):
- resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==}
+ /postcss-js@4.0.1(postcss@8.4.33):
+ resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
engines: {node: ^12 || ^14 || >= 16}
peerDependencies:
- postcss: ^8.3.3
+ postcss: ^8.4.21
dependencies:
camelcase-css: 2.0.1
- postcss: 8.4.20
- dev: true
+ postcss: 8.4.33
+ dev: false
- /postcss-load-config@3.1.4(postcss@8.4.20):
- resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
- engines: {node: '>= 10'}
+ /postcss-load-config@4.0.2(postcss@8.4.33):
+ resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
+ engines: {node: '>= 14'}
peerDependencies:
postcss: '>=8.0.9'
ts-node: '>=9.0.0'
@@ -5223,51 +9148,93 @@ packages:
ts-node:
optional: true
dependencies:
- lilconfig: 2.0.6
- postcss: 8.4.20
- yaml: 1.10.2
- dev: true
+ lilconfig: 3.0.0
+ postcss: 8.4.33
+ yaml: 2.3.4
+ dev: false
- /postcss-nested@6.0.0(postcss@8.4.20):
- resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==}
+ /postcss-nested@6.0.1(postcss@8.4.33):
+ resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
engines: {node: '>=12.0'}
peerDependencies:
postcss: ^8.2.14
dependencies:
- postcss: 8.4.20
- postcss-selector-parser: 6.0.11
- dev: true
+ postcss: 8.4.33
+ postcss-selector-parser: 6.0.15
+ dev: false
- /postcss-selector-parser@6.0.11:
- resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==}
+ /postcss-selector-parser@6.0.15:
+ resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==}
engines: {node: '>=4'}
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
- dev: true
+ dev: false
/postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
- dev: true
+ dev: false
- /postcss@8.4.20:
- resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==}
+ /postcss@8.4.31:
+ resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
engines: {node: ^10 || ^12 || >=14}
dependencies:
- nanoid: 3.3.4
+ nanoid: 3.3.7
picocolors: 1.0.0
source-map-js: 1.0.2
- dev: true
- /postcss@8.4.31:
- resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
+ /postcss@8.4.33:
+ resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==}
engines: {node: ^10 || ^12 || >=14}
dependencies:
- nanoid: 3.3.6
+ nanoid: 3.3.7
picocolors: 1.0.0
source-map-js: 1.0.2
dev: false
+ /postgres-array@2.0.0:
+ resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /postgres-array@3.0.2:
+ resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==}
+ engines: {node: '>=12'}
+
+ /postgres-bytea@1.0.0:
+ resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /postgres-bytea@3.0.0:
+ resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==}
+ engines: {node: '>= 6'}
+ dependencies:
+ obuf: 1.1.2
+
+ /postgres-date@1.0.7:
+ resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /postgres-date@2.0.1:
+ resolution: {integrity: sha512-YtMKdsDt5Ojv1wQRvUhnyDJNSr2dGIC96mQVKz7xufp07nfuFONzdaowrMHjlAzY6GDLd4f+LUHHAAM1h4MdUw==}
+ engines: {node: '>=12'}
+
+ /postgres-interval@1.2.0:
+ resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ xtend: 4.0.2
+ dev: false
+
+ /postgres-interval@3.0.0:
+ resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==}
+ engines: {node: '>=12'}
+
+ /postgres-range@1.1.3:
+ resolution: {integrity: sha512-VdlZoocy5lCP0c/t66xAfclglEapXPCIVhqqJRncYpvbCgImF0w67aPKfbqUMr72tO2k5q0TdTZwCLjPTI6C9g==}
+
/prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -5277,22 +9244,74 @@ packages:
resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
engines: {node: '>=6.0.0'}
dependencies:
- fast-diff: 1.2.0
+ fast-diff: 1.3.0
dev: true
- /prettier@2.8.1:
- resolution: {integrity: sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==}
- engines: {node: '>=10.13.0'}
+ /prettier@3.2.4:
+ resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==}
+ engines: {node: '>=14'}
hasBin: true
dev: true
- /prisma@4.8.0:
- resolution: {integrity: sha512-DWIhxvxt8f4h6MDd35mz7BJff+fu7HItW3WPDIEpCR3RzcOWyiHBbLQW5/DOgmf+pRLTjwXQob7kuTZVYUAw5w==}
- engines: {node: '>=14.17'}
+ /pretty-format@29.7.0:
+ resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/schemas': 29.6.3
+ ansi-styles: 5.2.0
+ react-is: 18.2.0
+
+ /pretty-ms@7.0.1:
+ resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ parse-ms: 2.1.0
+ dev: true
+
+ /pretty-ms@9.0.0:
+ resolution: {integrity: sha512-E9e9HJ9R9NasGOgPaPE8VMeiPKAyWR5jcFpNnwIejslIhWqdqOrb2wShBsncMPUb+BcCd2OPYfh7p2W6oemTng==}
+ engines: {node: '>=18'}
+ dependencies:
+ parse-ms: 4.0.0
+ dev: true
+
+ /printable-characters@1.0.42:
+ resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==}
+ dev: true
+
+ /prisma@5.8.1:
+ resolution: {integrity: sha512-N6CpjzECnUHZ5beeYpDzkt2rYpEdAeqXX2dweu6BoQaeYkNZrC/WJHM+5MO/uidFHTak8QhkPKBWck1o/4MD4A==}
+ engines: {node: '>=16.13'}
hasBin: true
requiresBuild: true
dependencies:
- '@prisma/engines': 4.8.0
+ '@prisma/engines': 5.8.1
+
+ /proc-log@3.0.0:
+ resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dev: true
+
+ /promise-inflight@1.0.1:
+ resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==}
+ peerDependencies:
+ bluebird: '*'
+ peerDependenciesMeta:
+ bluebird:
+ optional: true
+ dev: true
+
+ /promise-retry@2.0.1:
+ resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==}
+ engines: {node: '>=10'}
+ dependencies:
+ err-code: 2.0.3
+ retry: 0.12.0
+ dev: true
+
+ /promisepipe@3.0.0:
+ resolution: {integrity: sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==}
+ dev: true
/prop-types@15.8.1:
resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
@@ -5301,14 +9320,6 @@ packages:
object-assign: 4.1.1
react-is: 16.13.1
- /proxy-addr@2.0.7:
- resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
- engines: {node: '>= 0.10'}
- dependencies:
- forwarded: 0.2.0
- ipaddr.js: 1.9.1
- dev: false
-
/proxy-from-env@1.1.0:
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
dev: false
@@ -5321,48 +9332,48 @@ packages:
event-stream: 3.3.4
dev: true
- /punycode@2.1.1:
- resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
- engines: {node: '>=6'}
+ /pseudolocale@2.0.0:
+ resolution: {integrity: sha512-g1K9tCQYY4e3UGtnW8qs3kGWAOONxt7i5wuOFvf3N1EIIRhiLVIhZ9AM/ZyGTxsp231JbFywJU/EbJ5ZoqnZdg==}
+ engines: {node: '>=16.0.0'}
+ hasBin: true
+ dependencies:
+ commander: 10.0.1
+ dev: true
- /qs@6.11.0:
- resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
- engines: {node: '>=0.6'}
+ /pump@3.0.0:
+ resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
dependencies:
- side-channel: 1.0.4
- dev: false
+ end-of-stream: 1.4.4
+ once: 1.4.0
+ dev: true
+
+ /punycode@2.3.1:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
+ engines: {node: '>=6'}
/queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
- dev: true
- /quick-lru@5.1.1:
- resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
- engines: {node: '>=10'}
+ /ramda@0.27.2:
+ resolution: {integrity: sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==}
dev: true
/randombytes@2.1.0:
resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
dependencies:
safe-buffer: 5.2.1
- dev: false
-
- /range-parser@1.2.1:
- resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
- engines: {node: '>= 0.6'}
- dev: false
- /raw-body@2.5.1:
- resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==}
+ /raw-body@2.4.1:
+ resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==}
engines: {node: '>= 0.8'}
dependencies:
- bytes: 3.1.2
- http-errors: 2.0.0
+ bytes: 3.1.0
+ http-errors: 1.7.3
iconv-lite: 0.4.24
unpipe: 1.0.0
- dev: false
+ dev: true
- /reaccord@0.0.1-dev.1669742731656.1c2e96f(@babel/core@7.23.2)(ajv@8.11.2)(discord.js@14.7.1)(typescript@4.9.4):
+ /reaccord@0.0.1-dev.1669742731656.1c2e96f(@babel/core@7.23.9)(ajv@8.11.2)(discord.js@14.14.1)(typescript@5.3.3):
resolution: {integrity: sha512-YzougHMHn48G2I+/lBMEvQ5/jH6bPf0hrAQgd3b+Fcr/RBF+bPCrKUAR+6jFgZaMI37cKfe5uiGEuKVK00RMgQ==}
hasBin: true
peerDependencies:
@@ -5371,19 +9382,19 @@ packages:
dependencies:
'@discordjs/rest': 1.4.0
'@pmmmwh/react-refresh-webpack-plugin': 0.5.10(react-refresh@0.14.0)(webpack@5.75.0)
- '@rollup/plugin-typescript': 10.0.1(rollup@3.7.1)(tslib@2.4.1)(typescript@4.9.4)
+ '@rollup/plugin-typescript': 10.0.1(rollup@3.7.1)(tslib@2.4.1)(typescript@5.3.3)
ajv: 8.11.2
- babel-loader: 9.1.0(@babel/core@7.23.2)(webpack@5.75.0)
- discord-api-types: 0.37.25
- discord.js: 14.7.1
+ babel-loader: 9.1.0(@babel/core@7.23.9)(webpack@5.75.0)
+ discord-api-types: 0.37.67
+ discord.js: 14.14.1
react: 18.2.0
react-reconciler: 0.29.0(react@18.2.0)
react-refresh: 0.14.0
rollup: 3.7.1
- ts-loader: 9.4.1(typescript@4.9.4)(webpack@5.75.0)
+ ts-loader: 9.4.1(typescript@5.3.3)(webpack@5.75.0)
ts-pattern: 4.0.6
tslib: 2.4.1
- uuid: 9.0.0
+ uuid: 9.0.1
webpack: 5.75.0
webpack-node-externals: 3.0.0
yargs: 17.6.2
@@ -5410,24 +9421,23 @@ packages:
loose-envify: 1.4.0
react: 18.2.0
scheduler: 0.23.0
- dev: false
- /react-hot-toast@2.4.0(csstype@3.1.2)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-qnnVbXropKuwUpriVVosgo8QrB+IaPJCpL8oBI6Ov84uvHZ5QQcTp2qg6ku2wNfgJl6rlQXJIQU5q+5lmPOutA==}
+ /react-hot-toast@2.4.1(csstype@3.1.3)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-j8z+cQbWIM5LY37pR6uZR6D4LfseplqnuAO4co4u8917hBUvXlEqyP1ZzqVLcqoyUesZZv/ImreoCeHVDpE5pQ==}
engines: {node: '>=10'}
peerDependencies:
react: '>=16'
react-dom: '>=16'
dependencies:
- goober: 2.1.11(csstype@3.1.2)
+ goober: 2.1.13(csstype@3.1.3)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
transitivePeerDependencies:
- csstype
dev: false
- /react-icons@4.7.1(react@18.2.0):
- resolution: {integrity: sha512-yHd3oKGMgm7zxo3EA7H2n7vxSoiGmHk5t6Ou4bXsfcgWyhfDKMpyKfhHR6Bjnn63c+YXBLBPUql9H4wPJM6sXw==}
+ /react-icons@5.0.1(react@18.2.0):
+ resolution: {integrity: sha512-WqLZJ4bLzlhmsvme6iFdgO8gfZP17rfjYEJ2m9RsZjZ+cc4k1hTzknEz63YS1MeT50kVzoa1Nz36f4BEx+Wigw==}
peerDependencies:
react: '*'
dependencies:
@@ -5437,21 +9447,8 @@ packages:
/react-is@16.13.1:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
- /react-phone-input-2@2.15.1(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-W03abwhXcwUoq+vUFvC6ch2+LJYMN8qSOiO889UH6S7SyMCQvox/LF3QWt+cZagZrRdi5z2ON3omnjoCUmlaYw==}
- peerDependencies:
- react: ^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0
- react-dom: ^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0
- dependencies:
- classnames: 2.3.2
- lodash.debounce: 4.0.8
- lodash.memoize: 4.1.2
- lodash.reduce: 4.6.0
- lodash.startswith: 4.2.1
- prop-types: 15.8.1
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: false
+ /react-is@18.2.0:
+ resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
/react-reconciler@0.29.0(react@18.2.0):
resolution: {integrity: sha512-wa0fGj7Zht1EYMRhKWwoo1H9GApxYLBuhoAuXN0TlltESAjDssB+Apf0T/DngVqaMyPypDmabL37vw/2aRM98Q==}
@@ -5469,7 +9466,7 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
- /react-remove-scroll-bar@2.3.4(@types/react@18.2.31)(react@18.2.0):
+ /react-remove-scroll-bar@2.3.4(@types/react@18.2.48)(react@18.2.0):
resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==}
engines: {node: '>=10'}
peerDependencies:
@@ -5479,13 +9476,13 @@ packages:
'@types/react':
optional: true
dependencies:
- '@types/react': 18.2.31
+ '@types/react': 18.2.48
react: 18.2.0
- react-style-singleton: 2.2.1(@types/react@18.2.31)(react@18.2.0)
- tslib: 2.4.1
+ react-style-singleton: 2.2.1(@types/react@18.2.48)(react@18.2.0)
+ tslib: 2.6.2
dev: false
- /react-remove-scroll@2.5.5(@types/react@18.2.31)(react@18.2.0):
+ /react-remove-scroll@2.5.5(@types/react@18.2.48)(react@18.2.0):
resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==}
engines: {node: '>=10'}
peerDependencies:
@@ -5495,46 +9492,37 @@ packages:
'@types/react':
optional: true
dependencies:
- '@types/react': 18.2.31
+ '@types/react': 18.2.48
react: 18.2.0
- react-remove-scroll-bar: 2.3.4(@types/react@18.2.31)(react@18.2.0)
- react-style-singleton: 2.2.1(@types/react@18.2.31)(react@18.2.0)
- tslib: 2.4.1
- use-callback-ref: 1.3.0(@types/react@18.2.31)(react@18.2.0)
- use-sidecar: 1.1.2(@types/react@18.2.31)(react@18.2.0)
+ react-remove-scroll-bar: 2.3.4(@types/react@18.2.48)(react@18.2.0)
+ react-style-singleton: 2.2.1(@types/react@18.2.48)(react@18.2.0)
+ tslib: 2.6.2
+ use-callback-ref: 1.3.0(@types/react@18.2.48)(react@18.2.0)
+ use-sidecar: 1.1.2(@types/react@18.2.48)(react@18.2.0)
dev: false
- /react-select@5.7.0(@babel/core@7.23.2)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-lJGiMxCa3cqnUr2Jjtg9YHsaytiZqeNOKeibv6WF5zbK/fPegZ1hg3y/9P1RZVLhqBTs0PfqQLKuAACednYGhQ==}
+ /react-select@5.8.0(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-TfjLDo58XrhP6VG5M/Mi56Us0Yt8X7xD6cDybC7yoRMUNm7BGO7qk8J0TLQOua/prb8vUOtsfnXZwfm30HGsAA==}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
dependencies:
- '@babel/runtime': 7.20.7
- '@emotion/cache': 11.10.5
- '@emotion/react': 11.10.5(@babel/core@7.23.2)(@types/react@18.2.31)(react@18.2.0)
- '@floating-ui/dom': 1.1.0
- '@types/react-transition-group': 4.4.5
+ '@babel/runtime': 7.23.2
+ '@emotion/cache': 11.11.0
+ '@emotion/react': 11.11.1(@types/react@18.2.48)(react@18.2.0)
+ '@floating-ui/dom': 1.5.3
+ '@types/react-transition-group': 4.4.9
memoize-one: 6.0.0
prop-types: 15.8.1
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0)
- use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.31)(react@18.2.0)
+ use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.48)(react@18.2.0)
transitivePeerDependencies:
- - '@babel/core'
- '@types/react'
dev: false
- /react-ssr-prepass@1.5.0(react@18.2.0):
- resolution: {integrity: sha512-yFNHrlVEReVYKsLI5lF05tZoHveA5pGzjFbFJY/3pOqqjGOmMmqx83N4hIjN2n6E1AOa+eQEUxs3CgRnPmT0RQ==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- dependencies:
- react: 18.2.0
- dev: false
-
- /react-style-singleton@2.2.1(@types/react@18.2.31)(react@18.2.0):
+ /react-style-singleton@2.2.1(@types/react@18.2.48)(react@18.2.0):
resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==}
engines: {node: '>=10'}
peerDependencies:
@@ -5544,19 +9532,11 @@ packages:
'@types/react':
optional: true
dependencies:
- '@types/react': 18.2.31
+ '@types/react': 18.2.48
get-nonce: 1.0.1
invariant: 2.2.4
react: 18.2.0
- tslib: 2.4.1
- dev: false
-
- /react-table@7.8.0(react@18.2.0):
- resolution: {integrity: sha512-hNaz4ygkZO4bESeFfnfOft73iBUj8K5oKi1EcSHPAibEydfsX2MyU6Z8KCr3mv3C9Kqqh71U+DhZkFvibbnPbA==}
- peerDependencies:
- react: ^16.8.3 || ^17.0.0-0 || ^18.0.0
- dependencies:
- react: 18.2.0
+ tslib: 2.6.2
dev: false
/react-transition-group@4.4.5(react-dom@18.2.0)(react@18.2.0):
@@ -5565,7 +9545,7 @@ packages:
react: '>=16.6.0'
react-dom: '>=16.6.0'
dependencies:
- '@babel/runtime': 7.20.7
+ '@babel/runtime': 7.23.2
dom-helpers: 5.2.1
loose-envify: 1.4.0
prop-types: 15.8.1
@@ -5573,38 +9553,38 @@ packages:
react-dom: 18.2.0(react@18.2.0)
dev: false
- /react-universal-interface@0.6.2(react@18.2.0)(tslib@2.4.1):
+ /react-universal-interface@0.6.2(react@18.2.0)(tslib@2.6.2):
resolution: {integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==}
peerDependencies:
react: '*'
tslib: '*'
dependencies:
react: 18.2.0
- tslib: 2.4.1
+ tslib: 2.6.2
dev: false
- /react-use@17.4.0(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-TgbNTCA33Wl7xzIJegn1HndB4qTS9u03QUwyNycUnXaweZkE4Kq2SB+Yoxx8qbshkZGYBDvUXbXWRUmQDcZZ/Q==}
+ /react-use@17.5.0(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-PbfwSPMwp/hoL847rLnm/qkjg3sTRCvn6YhUZiHaUa3FA6/aNoFX79ul5Xt70O1rK+9GxSVqkY0eTwMdsR/bWg==}
peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: '*'
+ react-dom: '*'
dependencies:
'@types/js-cookie': 2.2.7
'@xobotyi/scrollbar-width': 1.9.5
- copy-to-clipboard: 3.3.2
+ copy-to-clipboard: 3.3.3
fast-deep-equal: 3.1.3
fast-shallow-equal: 1.0.0
js-cookie: 2.2.1
- nano-css: 5.3.5(react-dom@18.2.0)(react@18.2.0)
+ nano-css: 5.6.1(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- react-universal-interface: 0.6.2(react@18.2.0)(tslib@2.4.1)
+ react-universal-interface: 0.6.2(react@18.2.0)(tslib@2.6.2)
resize-observer-polyfill: 1.5.1
screenfull: 5.2.0
set-harmonic-interval: 1.0.1
throttle-debounce: 3.0.1
ts-easing: 0.2.0
- tslib: 2.4.1
+ tslib: 2.6.2
dev: false
/react-virtual@2.10.4(react@18.2.0):
@@ -5621,12 +9601,19 @@ packages:
engines: {node: '>=0.10.0'}
dependencies:
loose-envify: 1.4.0
- dev: false
/read-cache@1.0.0:
resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
dependencies:
pify: 2.3.0
+ dev: false
+
+ /read-package-json-fast@3.0.2:
+ resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ json-parse-even-better-errors: 3.0.1
+ npm-normalize-package-bin: 3.0.1
dev: true
/readable-stream@3.6.0:
@@ -5638,6 +9625,15 @@ packages:
util-deprecate: 1.0.2
dev: false
+ /readable-stream@3.6.2:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+ dev: true
+
/readable-web-to-node-stream@3.0.2:
resolution: {integrity: sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==}
engines: {node: '>=8'}
@@ -5645,30 +9641,63 @@ packages:
readable-stream: 3.6.0
dev: false
+ /readdirp@3.3.0:
+ resolution: {integrity: sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==}
+ engines: {node: '>=8.10.0'}
+ dependencies:
+ picomatch: 2.3.1
+ dev: true
+
+ /readdirp@3.5.0:
+ resolution: {integrity: sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==}
+ engines: {node: '>=8.10.0'}
+ dependencies:
+ picomatch: 2.3.1
+ dev: true
+
/readdirp@3.6.0:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
dependencies:
picomatch: 2.3.1
- /regenerator-runtime@0.13.10:
- resolution: {integrity: sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==}
+ /reflect.getprototypeof@1.0.4:
+ resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ get-intrinsic: 1.2.2
+ globalthis: 1.0.3
+ which-builtin-type: 1.1.3
+ dev: true
+
+ /regenerator-runtime@0.14.0:
+ resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==}
- /regenerator-runtime@0.13.11:
- resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
+ /regenerator-runtime@0.14.1:
+ resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
- /regexp.prototype.flags@1.4.3:
- resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==}
+ /regexp.prototype.flags@1.5.1:
+ resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- functions-have-names: 1.2.3
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ set-function-name: 2.0.1
dev: true
- /regexpp@3.2.0:
- resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
- engines: {node: '>=8'}
+ /reghex@1.0.2:
+ resolution: {integrity: sha512-bYtyDmFGHxn1Y4gxIs12+AUQ1WRDNvaIhn6ZuKc5KUbSVcmm6U6vx/RA66s26xGhTWBErKKDKK7lorkvvIBB5g==}
+ dev: true
+
+ /rename-overwrite@5.0.0:
+ resolution: {integrity: sha512-vSxE5Ww7Jnyotvaxi3Dj0vOMoojH8KMkBfs9xYeW/qNfJiLTcC1fmwTjrbGUq3mQSOCxkG0DbdcvwTUrpvBN4w==}
+ engines: {node: '>=12.10'}
+ dependencies:
+ '@zkochan/rimraf': 2.1.3
+ fs-extra: 10.1.0
dev: true
/require-directory@2.1.1:
@@ -5679,7 +9708,6 @@ packages:
/require-from-string@2.0.2:
resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
engines: {node: '>=0.10.0'}
- dev: false
/resize-observer-polyfill@1.5.1:
resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
@@ -5689,6 +9717,20 @@ packages:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
+ /resolve-from@5.0.0:
+ resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+ dev: true
+
+ /resolve.exports@2.0.2:
+ resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==}
+ engines: {node: '>=10'}
+ dev: true
+
/resolve@1.22.1:
resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
hasBin: true
@@ -5697,18 +9739,42 @@ packages:
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- /resolve@2.0.0-next.4:
- resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==}
+ /resolve@1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
hasBin: true
dependencies:
- is-core-module: 2.11.0
+ is-core-module: 2.13.0
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
+ /resolve@2.0.0-next.5:
+ resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.13.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
dev: true
+ /restore-cursor@3.1.0:
+ resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
+ engines: {node: '>=8'}
+ dependencies:
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ dev: true
+
+ /retry@0.12.0:
+ resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==}
+ engines: {node: '>= 4'}
+ dev: true
+
/reusify@1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ /reverse-arguments@1.0.0:
+ resolution: {integrity: sha512-/x8uIPdTafBqakK0TmPNJzgkLP+3H+yxpUJhCQHsLBg1rYEVNR2D8BRYNWQhVBjyOd7oo1dZRVzIkwMY2oqfYQ==}
dev: true
/rimraf@2.7.1:
@@ -5724,6 +9790,27 @@ packages:
glob: 7.2.3
dev: true
+ /rollup-plugin-inject@3.0.2:
+ resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==}
+ deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.
+ dependencies:
+ estree-walker: 0.6.1
+ magic-string: 0.25.9
+ rollup-pluginutils: 2.8.2
+ dev: true
+
+ /rollup-plugin-node-polyfills@0.2.1:
+ resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==}
+ dependencies:
+ rollup-plugin-inject: 3.0.2
+ dev: true
+
+ /rollup-pluginutils@2.8.2:
+ resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==}
+ dependencies:
+ estree-walker: 0.6.1
+ dev: true
+
/rollup@3.7.1:
resolution: {integrity: sha512-ek6+FORvI79VQTNlIYtXpIrGEPRlYSNZO+5EcmaozKkRL5L6KLvGDUbM5E+bd6jnHW9fgcK0DKTdWjIsEmNb4g==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
@@ -5732,54 +9819,81 @@ packages:
fsevents: 2.3.3
dev: false
- /rtl-css-js@1.16.0:
- resolution: {integrity: sha512-Oc7PnzwIEU4M0K1J4h/7qUUaljXhQ0kCObRsZjxs2HjkpKsnoTMvSmvJ4sqgJZd0zBoEfAyTdnK/jMIYvrjySQ==}
+ /rtl-css-js@1.16.1:
+ resolution: {integrity: sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==}
dependencies:
- '@babel/runtime': 7.20.7
+ '@babel/runtime': 7.23.9
dev: false
+ /run-async@2.4.1:
+ resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
+ engines: {node: '>=0.12.0'}
+ dev: true
+
/run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
dependencies:
queue-microtask: 1.2.3
+
+ /rxjs@6.6.7:
+ resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==}
+ engines: {npm: '>=2.0.0'}
+ dependencies:
+ tslib: 1.14.1
+ dev: true
+
+ /safe-array-concat@1.0.1:
+ resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==}
+ engines: {node: '>=0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.2
+ has-symbols: 1.0.3
+ isarray: 2.0.5
dev: true
/safe-buffer@5.2.1:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
- dev: false
/safe-regex-test@1.0.0:
resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
dependencies:
- call-bind: 1.0.2
- get-intrinsic: 1.1.3
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.2
is-regex: 1.1.4
dev: true
/safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
- dev: false
/scheduler@0.23.0:
resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
dependencies:
loose-envify: 1.4.0
- dev: false
/schema-utils@3.1.1:
resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==}
engines: {node: '>= 10.13.0'}
dependencies:
- '@types/json-schema': 7.0.11
+ '@types/json-schema': 7.0.14
ajv: 6.12.6
ajv-keywords: 3.5.2(ajv@6.12.6)
dev: false
+ /schema-utils@3.3.0:
+ resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
+ engines: {node: '>= 10.13.0'}
+ dependencies:
+ '@types/json-schema': 7.0.15
+ ajv: 6.12.6
+ ajv-keywords: 3.5.2(ajv@6.12.6)
+ dev: true
+
/schema-utils@4.0.0:
resolution: {integrity: sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==}
engines: {node: '>= 12.13.0'}
dependencies:
- '@types/json-schema': 7.0.11
+ '@types/json-schema': 7.0.13
ajv: 8.11.2
ajv-formats: 2.1.1(ajv@8.11.2)
ajv-keywords: 5.1.0(ajv@8.11.2)
@@ -5790,42 +9904,32 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
- /semver@6.3.0:
- resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
- hasBin: true
+ /selfsigned@2.4.1:
+ resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ '@types/node-forge': 1.3.11
+ node-forge: 1.3.1
+ dev: true
/semver@6.3.1:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
- dev: false
- /semver@7.3.8:
- resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==}
+ /semver@7.3.5:
+ resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==}
engines: {node: '>=10'}
hasBin: true
dependencies:
lru-cache: 6.0.0
+ dev: true
- /send@0.18.0:
- resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
- engines: {node: '>= 0.8.0'}
+ /semver@7.5.4:
+ resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
+ engines: {node: '>=10'}
+ hasBin: true
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
- transitivePeerDependencies:
- - supports-color
- dev: false
+ lru-cache: 6.0.0
/serialize-javascript@6.0.0:
resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==}
@@ -5833,25 +9937,72 @@ packages:
randombytes: 2.1.0
dev: false
- /serve-static@1.15.0:
- resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
- engines: {node: '>= 0.8.0'}
+ /serialize-javascript@6.0.2:
+ resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
dependencies:
- encodeurl: 1.0.2
- escape-html: 1.0.3
- parseurl: 1.3.3
- send: 0.18.0
- transitivePeerDependencies:
- - supports-color
- dev: false
+ randombytes: 2.1.0
+ dev: true
+
+ /set-blocking@2.0.0:
+ resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
+ dev: true
+
+ /set-function-length@1.1.1:
+ resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.1
+ get-intrinsic: 1.2.2
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.1
+ dev: true
+
+ /set-function-name@2.0.1:
+ resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.1
+ functions-have-names: 1.2.3
+ has-property-descriptors: 1.0.1
+ dev: true
/set-harmonic-interval@1.0.1:
resolution: {integrity: sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==}
engines: {node: '>=6.9'}
dev: false
- /setprototypeof@1.2.0:
- resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
+ /setprototypeof@1.1.1:
+ resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==}
+ dev: true
+
+ /sharp@0.33.2:
+ resolution: {integrity: sha512-WlYOPyyPDiiM07j/UO+E720ju6gtNtHjEGg5vovUk1Lgxyjm2LFO+37Nt/UI3MMh2l6hxTWQWi7qk3cXJTutcQ==}
+ engines: {libvips: '>=8.15.1', node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ requiresBuild: true
+ dependencies:
+ color: 4.2.3
+ detect-libc: 2.0.2
+ semver: 7.5.4
+ optionalDependencies:
+ '@img/sharp-darwin-arm64': 0.33.2
+ '@img/sharp-darwin-x64': 0.33.2
+ '@img/sharp-libvips-darwin-arm64': 1.0.1
+ '@img/sharp-libvips-darwin-x64': 1.0.1
+ '@img/sharp-libvips-linux-arm': 1.0.1
+ '@img/sharp-libvips-linux-arm64': 1.0.1
+ '@img/sharp-libvips-linux-s390x': 1.0.1
+ '@img/sharp-libvips-linux-x64': 1.0.1
+ '@img/sharp-libvips-linuxmusl-arm64': 1.0.1
+ '@img/sharp-libvips-linuxmusl-x64': 1.0.1
+ '@img/sharp-linux-arm': 0.33.2
+ '@img/sharp-linux-arm64': 0.33.2
+ '@img/sharp-linux-s390x': 0.33.2
+ '@img/sharp-linux-x64': 0.33.2
+ '@img/sharp-linuxmusl-arm64': 0.33.2
+ '@img/sharp-linuxmusl-x64': 0.33.2
+ '@img/sharp-wasm32': 0.33.2
+ '@img/sharp-win32-ia32': 0.33.2
+ '@img/sharp-win32-x64': 0.33.2
dev: false
/shebang-command@2.0.0:
@@ -5859,19 +10010,51 @@ packages:
engines: {node: '>=8'}
dependencies:
shebang-regex: 3.0.0
- dev: true
/shebang-regex@3.0.0:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
+
+ /shell-quote-word@1.0.1:
+ resolution: {integrity: sha512-lT297f1WLAdq0A4O+AknIFRP6kkiI3s8C913eJ0XqBxJbZPGWUNkRQk2u8zk4bEAjUJ5i+fSLwB6z1HzeT+DEg==}
+ dev: true
+
+ /shellac@0.8.0:
+ resolution: {integrity: sha512-M3F2vzYIM7frKOs0+kgs/ITMlXhGpgtqs9HxDPciz3bckzAqqfd4LrBn+CCmSbICyJS+Jz5UDkmkR1jE+m+g+Q==}
+ dependencies:
+ reghex: 1.0.2
dev: true
/side-channel@1.0.4:
resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
dependencies:
- call-bind: 1.0.2
- get-intrinsic: 1.1.3
- object-inspect: 1.12.2
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.2
+ object-inspect: 1.13.1
+ dev: true
+
+ /signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+ dev: true
+
+ /signal-exit@4.0.2:
+ resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==}
+ engines: {node: '>=14'}
+ dev: true
+
+ /signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
+
+ /simple-swizzle@0.2.2:
+ resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
+ dependencies:
+ is-arrayish: 0.3.2
+ dev: false
+
+ /sisteransi@1.0.5:
+ resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+ dev: true
/slash@3.0.0:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
@@ -5883,6 +10066,11 @@ packages:
engines: {node: '>=12'}
dev: true
+ /smol-toml@1.1.4:
+ resolution: {integrity: sha512-Y0OT8HezWsTNeEOSVxDnKOW/AyNXHQ4BwJNbAXlLTF5wWsBvrcHhIkE5Rf8kQMLmgf7nDX3PVOlgC6/Aiggu3Q==}
+ engines: {node: '>= 18', pnpm: '>= 8'}
+ dev: true
+
/source-map-js@1.0.2:
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
engines: {node: '>=0.10.0'}
@@ -5912,9 +10100,49 @@ packages:
engines: {node: '>= 8'}
dev: false
+ /source-map@0.8.0-beta.0:
+ resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
+ engines: {node: '>= 8'}
+ dependencies:
+ whatwg-url: 7.1.0
+ dev: true
+
/sourcemap-codec@1.4.8:
resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
deprecated: Please use @jridgewell/sourcemap-codec instead
+ dev: true
+
+ /spdx-correct@3.2.0:
+ resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
+ dependencies:
+ spdx-expression-parse: 3.0.1
+ spdx-license-ids: 3.0.16
+ dev: true
+
+ /spdx-exceptions@2.4.0:
+ resolution: {integrity: sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw==}
+ dev: true
+
+ /spdx-expression-parse@3.0.1:
+ resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
+ dependencies:
+ spdx-exceptions: 2.4.0
+ spdx-license-ids: 3.0.16
+ dev: true
+
+ /spdx-license-ids@3.0.16:
+ resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==}
+ dev: true
+
+ /split2@3.2.2:
+ resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==}
+ dependencies:
+ readable-stream: 3.6.2
+ dev: true
+
+ /split2@4.2.0:
+ resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
+ engines: {node: '>= 10.x'}
dev: false
/split@0.3.3:
@@ -5923,6 +10151,13 @@ packages:
through: 2.3.8
dev: true
+ /ssri@10.0.5:
+ resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ minipass: 7.0.4
+ dev: true
+
/stack-generator@2.0.10:
resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==}
dependencies:
@@ -5948,10 +10183,26 @@ packages:
stacktrace-gps: 3.1.2
dev: false
- /statuses@2.0.1:
- resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
- engines: {node: '>= 0.8'}
- dev: false
+ /stacktracey@2.1.8:
+ resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==}
+ dependencies:
+ as-table: 1.0.55
+ get-source: 2.0.12
+ dev: true
+
+ /stat-mode@0.3.0:
+ resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==}
+ dev: true
+
+ /statuses@1.5.0:
+ resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /stoppable@1.1.0:
+ resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==}
+ engines: {node: '>=4', npm: '>=6'}
+ dev: true
/stream-combiner@0.0.4:
resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==}
@@ -5959,10 +10210,23 @@ packages:
duplexer: 0.1.2
dev: true
+ /stream-to-array@2.3.0:
+ resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==}
+ dependencies:
+ any-promise: 1.3.0
+ dev: true
+
+ /stream-to-promise@2.2.0:
+ resolution: {integrity: sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw==}
+ dependencies:
+ any-promise: 1.3.0
+ end-of-stream: 1.1.0
+ stream-to-array: 2.3.0
+ dev: true
+
/streamsearch@1.1.0:
resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
engines: {node: '>=10.0.0'}
- dev: false
/string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
@@ -5971,42 +10235,62 @@ packages:
emoji-regex: 8.0.0
is-fullwidth-code-point: 3.0.0
strip-ansi: 6.0.1
- dev: false
- /string.prototype.matchall@4.0.8:
- resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==}
+ /string-width@5.1.2:
+ resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
+ engines: {node: '>=12'}
+ dependencies:
+ eastasianwidth: 0.2.0
+ emoji-regex: 9.2.2
+ strip-ansi: 7.1.0
+
+ /string.fromcodepoint@0.2.1:
+ resolution: {integrity: sha512-n69H31OnxSGSZyZbgBlvYIXlrMhJQ0dQAX1js1QDhpaUH6zmU3QYlj07bCwCNlPOu3oRXIubGPl2gDGnHsiCqg==}
+ dev: true
+
+ /string.prototype.matchall@4.0.10:
+ resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.20.5
- get-intrinsic: 1.1.3
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ get-intrinsic: 1.2.2
has-symbols: 1.0.3
- internal-slot: 1.0.4
- regexp.prototype.flags: 1.4.3
+ internal-slot: 1.0.6
+ regexp.prototype.flags: 1.5.1
+ set-function-name: 2.0.1
side-channel: 1.0.4
dev: true
- /string.prototype.trimend@1.0.6:
- resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==}
+ /string.prototype.trim@1.2.8:
+ resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ dev: true
+
+ /string.prototype.trimend@1.0.7:
+ resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.20.5
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
dev: true
- /string.prototype.trimstart@1.0.6:
- resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==}
+ /string.prototype.trimstart@1.0.7:
+ resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.1.4
- es-abstract: 1.20.5
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
dev: true
/string_decoder@1.3.0:
resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
dependencies:
safe-buffer: 5.2.1
- dev: false
/strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
@@ -6014,10 +10298,26 @@ packages:
dependencies:
ansi-regex: 5.0.1
+ /strip-ansi@7.1.0:
+ resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ ansi-regex: 6.0.1
+
/strip-bom@3.0.0:
resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
engines: {node: '>=4'}
+ /strip-bom@4.0.0:
+ resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /strip-final-newline@2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+ dev: true
+
/strip-json-comments@2.0.1:
resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
engines: {node: '>=0.10.0'}
@@ -6027,6 +10327,11 @@ packages:
engines: {node: '>=8'}
dev: true
+ /strip-json-comments@5.0.1:
+ resolution: {integrity: sha512-0fk9zBqO67Nq5M/m45qHCJxylV/DhBlIOVExqgOMiCCrzrhU6tCibRXNqE3jwJLftzE9SNuZtYbpzcO+i9FiKw==}
+ engines: {node: '>=14.16'}
+ dev: true
+
/strtok3@7.0.0:
resolution: {integrity: sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==}
engines: {node: '>=14.16'}
@@ -6035,7 +10340,7 @@ packages:
peek-readable: 5.0.0
dev: false
- /styled-jsx@5.1.1(@babel/core@7.23.2)(react@18.2.0):
+ /styled-jsx@5.1.1(@babel/core@7.23.7)(babel-plugin-macros@3.1.0)(react@18.2.0):
resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
engines: {node: '>= 12.0.0'}
peerDependencies:
@@ -6048,21 +10353,48 @@ packages:
babel-plugin-macros:
optional: true
dependencies:
- '@babel/core': 7.23.2
+ '@babel/core': 7.23.7
+ babel-plugin-macros: 3.1.0
client-only: 0.0.1
react: 18.2.0
+
+ /stylis@4.2.0:
+ resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
+ dev: false
+
+ /stylis@4.3.1:
+ resolution: {integrity: sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==}
dev: false
- /stylis@4.1.3:
- resolution: {integrity: sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==}
+ /sucrase@3.35.0:
+ resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.3
+ commander: 4.1.1
+ glob: 10.3.10
+ lines-and-columns: 1.2.4
+ mz: 2.7.0
+ pirates: 4.0.6
+ ts-interface-checker: 0.1.13
dev: false
+ /summary@2.1.0:
+ resolution: {integrity: sha512-nMIjMrd5Z2nuB2RZCKJfFMjgS3fygbeyGk9PxPPaJR1RIcyN9yn4A63Isovzm3ZtQuEkLBVgMdPup8UeLH7aQw==}
+ dev: true
+
+ /superjson@2.2.1:
+ resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==}
+ engines: {node: '>=16'}
+ dependencies:
+ copy-anything: 3.0.5
+
/supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
dependencies:
has-flag: 3.0.0
- dev: false
/supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
@@ -6075,58 +10407,118 @@ packages:
engines: {node: '>=10'}
dependencies:
has-flag: 4.0.0
- dev: false
/supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
- /synckit@0.8.4:
- resolution: {integrity: sha512-Dn2ZkzMdSX827QbowGbU/4yjWuvNaCoScLLoMo/yKbu+P4GBR6cRGKZH27k6a9bRzdqcyd1DE96pQtQ6uNkmyw==}
+ /synckit@0.8.8:
+ resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==}
engines: {node: ^14.18.0 || >=16.0.0}
dependencies:
- '@pkgr/utils': 2.3.1
- tslib: 2.4.1
+ '@pkgr/core': 0.1.0
+ tslib: 2.6.2
dev: true
- /tailwindcss@3.2.4(postcss@8.4.20):
- resolution: {integrity: sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==}
- engines: {node: '>=12.13.0'}
- hasBin: true
+ /tailwind-merge@2.2.1:
+ resolution: {integrity: sha512-o+2GTLkthfa5YUt4JxPfzMIpQzZ3adD1vLVkvKE1Twl9UAhGsEbIZhHHZVRttyW177S8PDJI3bTQNaebyofK3Q==}
+ dependencies:
+ '@babel/runtime': 7.23.8
+ dev: false
+
+ /tailwindcss-animate@1.0.7(tailwindcss@3.4.1):
+ resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==}
peerDependencies:
- postcss: ^8.0.9
+ tailwindcss: '>=3.0.0 || insiders'
dependencies:
+ tailwindcss: 3.4.1
+ dev: false
+
+ /tailwindcss@3.4.1:
+ resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+ dependencies:
+ '@alloc/quick-lru': 5.2.0
arg: 5.0.2
chokidar: 3.5.3
- color-name: 1.1.4
- detective: 5.2.1
didyoumean: 1.2.2
dlv: 1.1.3
- fast-glob: 3.2.12
+ fast-glob: 3.3.2
glob-parent: 6.0.2
is-glob: 4.0.3
- lilconfig: 2.0.6
+ jiti: 1.21.0
+ lilconfig: 2.1.0
micromatch: 4.0.5
normalize-path: 3.0.0
object-hash: 3.0.0
picocolors: 1.0.0
- postcss: 8.4.20
- postcss-import: 14.1.0(postcss@8.4.20)
- postcss-js: 4.0.0(postcss@8.4.20)
- postcss-load-config: 3.1.4(postcss@8.4.20)
- postcss-nested: 6.0.0(postcss@8.4.20)
- postcss-selector-parser: 6.0.11
- postcss-value-parser: 4.2.0
- quick-lru: 5.1.1
- resolve: 1.22.1
+ postcss: 8.4.33
+ postcss-import: 15.1.0(postcss@8.4.33)
+ postcss-js: 4.0.1(postcss@8.4.33)
+ postcss-load-config: 4.0.2(postcss@8.4.33)
+ postcss-nested: 6.0.1(postcss@8.4.33)
+ postcss-selector-parser: 6.0.15
+ resolve: 1.22.8
+ sucrase: 3.35.0
transitivePeerDependencies:
- ts-node
- dev: true
+ dev: false
/tapable@2.2.1:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
engines: {node: '>=6'}
+ /tar@4.4.18:
+ resolution: {integrity: sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==}
+ engines: {node: '>=4.5'}
+ dependencies:
+ chownr: 1.1.4
+ fs-minipass: 1.2.7
+ minipass: 2.9.0
+ minizlib: 1.3.3
+ mkdirp: 0.5.6
+ safe-buffer: 5.2.1
+ yallist: 3.1.1
+ dev: true
+
+ /tar@6.2.0:
+ resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ chownr: 2.0.0
+ fs-minipass: 2.1.0
+ minipass: 5.0.0
+ minizlib: 2.1.2
+ mkdirp: 1.0.4
+ yallist: 4.0.0
+ dev: true
+
+ /terser-webpack-plugin@5.3.10(esbuild@0.19.11)(webpack@5.90.0):
+ resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ '@swc/core': '*'
+ esbuild: '*'
+ uglify-js: '*'
+ webpack: ^5.1.0
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ esbuild:
+ optional: true
+ uglify-js:
+ optional: true
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.22
+ esbuild: 0.19.11
+ jest-worker: 27.5.1
+ schema-utils: 3.3.0
+ serialize-javascript: 6.0.2
+ terser: 5.27.0
+ webpack: 5.90.0(esbuild@0.19.11)
+ dev: true
+
/terser-webpack-plugin@5.3.6(webpack@5.75.0):
resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==}
engines: {node: '>= 10.13.0'}
@@ -6157,39 +10549,92 @@ packages:
hasBin: true
dependencies:
'@jridgewell/source-map': 0.3.2
- acorn: 8.8.1
+ acorn: 8.10.0
commander: 2.20.3
source-map-support: 0.5.21
dev: false
+ /terser@5.27.0:
+ resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ '@jridgewell/source-map': 0.3.5
+ acorn: 8.11.3
+ commander: 2.20.3
+ source-map-support: 0.5.21
+ dev: true
+
/text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
dev: true
+ /thenify-all@1.6.0:
+ resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
+ engines: {node: '>=0.8'}
+ dependencies:
+ thenify: 3.3.1
+ dev: false
+
+ /thenify@3.3.1:
+ resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+ dependencies:
+ any-promise: 1.3.0
+ dev: false
+
/throttle-debounce@3.0.1:
resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==}
engines: {node: '>=10'}
dev: false
+ /through2@4.0.2:
+ resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==}
+ dependencies:
+ readable-stream: 3.6.2
+ dev: true
+
/through@2.3.8:
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
dev: true
- /tiny-glob@0.2.9:
- resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
+ /time-span@4.0.0:
+ resolution: {integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==}
+ engines: {node: '>=10'}
+ dependencies:
+ convert-hrtime: 3.0.0
+ dev: true
+
+ /timers-ext@0.1.7:
+ resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==}
dependencies:
- globalyzer: 0.1.0
- globrex: 0.1.2
+ es5-ext: 0.10.62
+ next-tick: 1.1.0
dev: true
/tiny-invariant@1.3.1:
resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==}
dev: false
+ /tmp@0.0.33:
+ resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
+ engines: {node: '>=0.6.0'}
+ dependencies:
+ os-tmpdir: 1.0.2
+ dev: true
+
/to-fast-properties@2.0.0:
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'}
- dev: false
+
+ /to-no-case@1.0.2:
+ resolution: {integrity: sha512-Z3g735FxuZY8rodxV4gH7LxClE4H0hTIyHNIHdk+vpQxjLm0cwnKXq/OFVZ76SOQmto7txVcwSCwkU5kqp+FKg==}
+ dev: true
+
+ /to-pascal-case@1.0.0:
+ resolution: {integrity: sha512-QGMWHqM6xPrcQW57S23c5/3BbYb0Tbe9p+ur98ckRnGDwD4wbbtDiYI38CfmMKNB5Iv0REjs5SNDntTwvDxzZA==}
+ dependencies:
+ to-space-case: 1.0.0
+ dev: true
/to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
@@ -6197,14 +10642,20 @@ packages:
dependencies:
is-number: 7.0.0
+ /to-space-case@1.0.0:
+ resolution: {integrity: sha512-rLdvwXZ39VOn1IxGL3V6ZstoTbwLRckQmn/U8ZDLuWwIXNpuZDhQ3AiRUlhTbOXFVE9C+dR51wM0CBDhk31VcA==}
+ dependencies:
+ to-no-case: 1.0.2
+ dev: true
+
/toggle-selection@1.0.6:
resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==}
dev: false
- /toidentifier@1.0.1:
- resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
+ /toidentifier@1.0.0:
+ resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==}
engines: {node: '>=0.6'}
- dev: false
+ dev: true
/token-types@5.0.1:
resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==}
@@ -6216,17 +10667,35 @@ packages:
/tr46@0.0.3:
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
- dev: false
+
+ /tr46@1.0.1:
+ resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
+ dependencies:
+ punycode: 2.3.1
+ dev: true
/tree-kill@1.2.2:
resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
hasBin: true
+ /ts-api-utils@1.0.3(typescript@5.3.3):
+ resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==}
+ engines: {node: '>=16.13.0'}
+ peerDependencies:
+ typescript: '>=4.2.0'
+ dependencies:
+ typescript: 5.3.3
+ dev: true
+
/ts-easing@0.2.0:
resolution: {integrity: sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==}
dev: false
- /ts-loader@9.4.1(typescript@4.9.4)(webpack@5.75.0):
+ /ts-interface-checker@0.1.13:
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+ dev: false
+
+ /ts-loader@9.4.1(typescript@5.3.3)(webpack@5.75.0):
resolution: {integrity: sha512-384TYAqGs70rn9F0VBnh6BPTfhga7yFNdC5gXbQpDrBj9/KsT4iRkGqKXhziofHOlE2j6YEaiTYVGKKvPhGWvw==}
engines: {node: '>=12.0.0'}
peerDependencies:
@@ -6236,16 +10705,23 @@ packages:
chalk: 4.1.2
enhanced-resolve: 5.12.0
micromatch: 4.0.5
- semver: 7.3.8
- typescript: 4.9.4
+ semver: 7.5.4
+ typescript: 5.3.3
webpack: 5.75.0
dev: false
- /ts-mixer@6.0.2:
- resolution: {integrity: sha512-zvHx3VM83m2WYCE8XL99uaM7mFwYSkjR2OZti98fabHrwkjsCvgwChda5xctein3xGOyaQhtTeDq/1H/GNvF3A==}
+ /ts-mixer@6.0.3:
+ resolution: {integrity: sha512-k43M7uCG1AkTyxgnmI5MPwKoUvS/bRvLvUb7+Pgpdlmok8AoqmUaZxUUw8zKM5B1lqZrt41GjYgnvAi0fppqgQ==}
dev: false
- /ts-node-dev@2.0.0(@types/node@20.8.7)(typescript@4.9.4):
+ /ts-morph@12.0.0:
+ resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==}
+ dependencies:
+ '@ts-morph/common': 0.11.1
+ code-block-writer: 10.1.1
+ dev: true
+
+ /ts-node-dev@2.0.0(@types/node@20.11.10)(typescript@5.3.3):
resolution: {integrity: sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==}
engines: {node: '>=0.8.0'}
hasBin: true
@@ -6264,15 +10740,15 @@ packages:
rimraf: 2.7.1
source-map-support: 0.5.21
tree-kill: 1.2.2
- ts-node: 10.9.1(@types/node@20.8.7)(typescript@4.9.4)
+ ts-node: 10.9.2(@types/node@20.11.10)(typescript@5.3.3)
tsconfig: 7.0.0
- typescript: 4.9.4
+ typescript: 5.3.3
transitivePeerDependencies:
- '@swc/core'
- '@swc/wasm'
- '@types/node'
- /ts-node@10.9.1(@types/node@20.8.7)(typescript@4.9.4):
+ /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.9.5):
resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}
hasBin: true
peerDependencies:
@@ -6290,15 +10766,46 @@ packages:
'@tsconfig/node10': 1.0.9
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
- '@tsconfig/node16': 1.0.3
- '@types/node': 20.8.7
- acorn: 8.8.1
- acorn-walk: 8.2.0
+ '@tsconfig/node16': 1.0.4
+ '@types/node': 14.18.33
+ acorn: 8.11.3
+ acorn-walk: 8.3.2
+ arg: 4.1.3
+ create-require: 1.1.1
+ diff: 4.0.2
+ make-error: 1.3.6
+ typescript: 4.9.5
+ v8-compile-cache-lib: 3.0.1
+ yn: 3.1.1
+ dev: true
+
+ /ts-node@10.9.2(@types/node@20.11.10)(typescript@5.3.3):
+ resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
+ hasBin: true
+ peerDependencies:
+ '@swc/core': '>=1.2.50'
+ '@swc/wasm': '>=1.2.50'
+ '@types/node': '*'
+ typescript: '>=2.7'
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ '@swc/wasm':
+ optional: true
+ dependencies:
+ '@cspotcode/source-map-support': 0.8.1
+ '@tsconfig/node10': 1.0.9
+ '@tsconfig/node12': 1.0.11
+ '@tsconfig/node14': 1.0.3
+ '@tsconfig/node16': 1.0.4
+ '@types/node': 20.11.10
+ acorn: 8.11.3
+ acorn-walk: 8.3.1
arg: 4.1.3
create-require: 1.1.1
diff: 4.0.2
make-error: 1.3.6
- typescript: 4.9.4
+ typescript: 5.3.3
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
@@ -6306,12 +10813,16 @@ packages:
resolution: {integrity: sha512-sFHQYD4KoysBi7e7a2mzDPvRBeqA4w+vEyRE+P5MU9VLq8eEYxgKCgD9RNEAT+itGRWUTYN+hry94GDPLb1/Yw==}
dev: false
- /tsconfig-paths@3.14.1:
- resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==}
+ /ts-toolbelt@6.15.5:
+ resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==}
+ dev: true
+
+ /tsconfig-paths@3.15.0:
+ resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
dependencies:
'@types/json5': 0.0.29
- json5: 1.0.1
- minimist: 1.2.7
+ json5: 1.0.2
+ minimist: 1.2.8
strip-bom: 3.0.0
dev: true
@@ -6329,76 +10840,80 @@ packages:
/tslib@2.4.1:
resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
+ dev: false
- /tsutils@3.21.0(typescript@4.9.4):
- resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
- engines: {node: '>= 6'}
- peerDependencies:
- typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
+ /tslib@2.6.2:
+ resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
+
+ /tsx@4.7.0:
+ resolution: {integrity: sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg==}
+ engines: {node: '>=18.0.0'}
+ hasBin: true
dependencies:
- tslib: 1.14.1
- typescript: 4.9.4
+ esbuild: 0.19.11
+ get-tsconfig: 4.7.2
+ optionalDependencies:
+ fsevents: 2.3.3
dev: true
- /turbo-darwin-64@1.9.4:
- resolution: {integrity: sha512-kCmDmxyUWWI+BstTZQKNM87UbNx40C0ZHUTFqs9tmeH7d5+gA2QhqrSoBuwQYw7YYNLpbkqu1ObbppsUlIFPdQ==}
+ /turbo-darwin-64@1.11.3:
+ resolution: {integrity: sha512-IsOOg2bVbIt3o/X8Ew9fbQp5t1hTHN3fGNQYrPQwMR2W1kIAC6RfbVD4A9OeibPGyEPUpwOH79hZ9ydFH5kifw==}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
- /turbo-darwin-arm64@1.9.4:
- resolution: {integrity: sha512-Of64jMEaDDHx0dzU7RwdOuh1lP021vtQun9wmEHhT0Hk/TQF+kDCywoHcY7R5nlSRcssFjysVyhCeZW6CkWrrA==}
+ /turbo-darwin-arm64@1.11.3:
+ resolution: {integrity: sha512-FsJL7k0SaPbJzI/KCnrf/fi3PgCDCjTliMc/kEFkuWVA6Httc3Q4lxyLIIinz69q6JTx8wzh6yznUMzJRI3+dg==}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
- /turbo-linux-64@1.9.4:
- resolution: {integrity: sha512-kajvUnXlUNtgVzLW3Y/RoHrC64G+G0Ky/o1F+oP6QK/T85H8NwNHXq2F6hyIrZPNGbKpPgpetuQ1waIibxJ0rA==}
+ /turbo-linux-64@1.11.3:
+ resolution: {integrity: sha512-SvW7pvTVRGsqtSkII5w+wriZXvxqkluw5FO/MNAdFw0qmoov+PZ237+37/NgArqE3zVn1GX9P6nUx9VO+xcQAg==}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /turbo-linux-arm64@1.9.4:
- resolution: {integrity: sha512-11P9Y8MoimqUzib3SU3md4g1loLF0FRHpYCbPzUTWPT3beOcdM2nop2u/yFHyBnbSxz1rTWczRJPnNoAki0B/Q==}
+ /turbo-linux-arm64@1.11.3:
+ resolution: {integrity: sha512-YhUfBi1deB3m+3M55X458J6B7RsIS7UtM3P1z13cUIhF+pOt65BgnaSnkHLwETidmhRh8Dl3GelaQGrB3RdCDw==}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /turbo-windows-64@1.9.4:
- resolution: {integrity: sha512-2tFcFhuqs1c1DGFAk2wjU0TXrOXKoPdma9vxrTVdwvtz5Nc8XPF8RNW+1jbmRjpumGUkXou6Pe973GSvPjvD5w==}
+ /turbo-windows-64@1.11.3:
+ resolution: {integrity: sha512-s+vEnuM2TiZuAUUUpmBHDr6vnNbJgj+5JYfnYmVklYs16kXh+EppafYQOAkcRIMAh7GjV3pLq5/uGqc7seZeHA==}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
- /turbo-windows-arm64@1.9.4:
- resolution: {integrity: sha512-wJfEwUyWXxn6VKD2Vbycke6cm99gJ0llkr9gUnbR06eaRu1TiLY24FcFqN95/wftp0n5nne7b6K7Wz1TLh1fJQ==}
+ /turbo-windows-arm64@1.11.3:
+ resolution: {integrity: sha512-ZR5z5Zpc7cASwfdRAV5yNScCZBsgGSbcwiA/u3farCacbPiXsfoWUkz28iyrx21/TRW0bi6dbsB2v17swa8bjw==}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
- /turbo@1.9.4:
- resolution: {integrity: sha512-PqhlMCmu6sOqcVswt1tYL0TV/O0uQ8kUZWfmlEl0EHPusc2R3nzg7KVXrZbXTHXzQH5HE2oJm9iUI0mYz31i7Q==}
+ /turbo@1.11.3:
+ resolution: {integrity: sha512-RCJOUFcFMQNIGKSjC9YmA5yVP1qtDiBA0Lv9VIgrXraI5Da1liVvl3VJPsoDNIR9eFMyA/aagx1iyj6UWem5hA==}
hasBin: true
- requiresBuild: true
optionalDependencies:
- turbo-darwin-64: 1.9.4
- turbo-darwin-arm64: 1.9.4
- turbo-linux-64: 1.9.4
- turbo-linux-arm64: 1.9.4
- turbo-windows-64: 1.9.4
- turbo-windows-arm64: 1.9.4
+ turbo-darwin-64: 1.11.3
+ turbo-darwin-arm64: 1.11.3
+ turbo-linux-64: 1.11.3
+ turbo-linux-arm64: 1.11.3
+ turbo-windows-64: 1.11.3
+ turbo-windows-arm64: 1.11.3
dev: true
/type-check@0.4.0:
@@ -6413,21 +10928,59 @@ packages:
engines: {node: '>=10'}
dev: true
- /type-is@1.6.18:
- resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
- engines: {node: '>= 0.6'}
- dependencies:
- media-typer: 0.3.0
- mime-types: 2.1.35
- dev: false
+ /type-fest@0.21.3:
+ resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /type-fest@0.6.0:
+ resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
+ engines: {node: '>=8'}
+ dev: true
/type@1.2.0:
resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==}
- dev: false
/type@2.7.2:
resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
- dev: false
+
+ /typed-array-buffer@1.0.0:
+ resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.2
+ is-typed-array: 1.1.12
+ dev: true
+
+ /typed-array-byte-length@1.0.0:
+ resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ for-each: 0.3.3
+ has-proto: 1.0.1
+ is-typed-array: 1.1.12
+ dev: true
+
+ /typed-array-byte-offset@1.0.0:
+ resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.5
+ for-each: 0.3.3
+ has-proto: 1.0.1
+ is-typed-array: 1.1.12
+ dev: true
+
+ /typed-array-length@1.0.4:
+ resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
+ dependencies:
+ call-bind: 1.0.5
+ for-each: 0.3.3
+ is-typed-array: 1.1.12
+ dev: true
/typedarray-to-buffer@3.1.5:
resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
@@ -6435,22 +10988,32 @@ packages:
is-typedarray: 1.0.0
dev: false
- /typescript@4.9.4:
- resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==}
+ /typescript@4.9.5:
+ resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
engines: {node: '>=4.2.0'}
hasBin: true
+ dev: true
+
+ /typescript@5.3.3:
+ resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ /uid-promise@1.0.0:
+ resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==}
+ dev: true
/unbox-primitive@1.0.2:
resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
dependencies:
- call-bind: 1.0.2
+ call-bind: 1.0.5
has-bigints: 1.0.2
has-symbols: 1.0.3
which-boxed-primitive: 1.0.2
dev: true
- /undici-types@5.25.3:
- resolution: {integrity: sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==}
+ /undici-types@5.26.5:
+ resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
/undici@5.14.0:
resolution: {integrity: sha512-yJlHYw6yXPPsuOH0x2Ib1Km61vu4hLiRRQoafs+WUgX1vO64vgnxiCEN9dpIrhZyHFsai3F0AEj4P9zy19enEQ==}
@@ -6459,43 +11022,100 @@ packages:
busboy: 1.6.0
dev: false
+ /undici@5.26.5:
+ resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==}
+ engines: {node: '>=14.0'}
+ dependencies:
+ '@fastify/busboy': 2.1.0
+ dev: true
+
+ /undici@5.27.2:
+ resolution: {integrity: sha512-iS857PdOEy/y3wlM3yRp+6SNQQ6xU0mmZcwRSriqk+et/cwWAtwmIGf6WkoDN2EK/AMdCO/dfXzIwi+rFMrjjQ==}
+ engines: {node: '>=14.0'}
+ dependencies:
+ '@fastify/busboy': 2.1.0
+ dev: false
+
+ /undici@5.28.2:
+ resolution: {integrity: sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==}
+ engines: {node: '>=14.0'}
+ dependencies:
+ '@fastify/busboy': 2.1.0
+ dev: true
+
+ /unescape-js@1.1.4:
+ resolution: {integrity: sha512-42SD8NOQEhdYntEiUQdYq/1V/YHwr1HLwlHuTJB5InVVdOSbgI6xu8jK5q65yIzuFCfczzyDF/7hbGzVbyCw0g==}
+ dependencies:
+ string.fromcodepoint: 0.2.1
+ dev: true
+
+ /unique-string@2.0.0:
+ resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
+ engines: {node: '>=8'}
+ dependencies:
+ crypto-random-string: 2.0.0
+ dev: true
+
+ /universalify@0.1.2:
+ resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
+ engines: {node: '>= 4.0.0'}
+ dev: true
+
/universalify@2.0.0:
resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
engines: {node: '>= 10.0.0'}
dev: true
+ /universalify@2.0.1:
+ resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
+ engines: {node: '>= 10.0.0'}
+ dev: true
+
/unpipe@1.0.0:
resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
engines: {node: '>= 0.8'}
+ dev: true
+
+ /unraw@3.0.0:
+ resolution: {integrity: sha512-08/DA66UF65OlpUDIQtbJyrqTR0jTAlJ+jsnkQ4jxR7+K5g5YG1APZKQSMCE1vqqmD+2pv6+IdEjmopFatacvg==}
+
+ /update-browserslist-db@1.0.13(browserslist@4.22.1):
+ resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+ dependencies:
+ browserslist: 4.22.1
+ escalade: 3.1.1
+ picocolors: 1.0.0
dev: false
- /update-browserslist-db@1.0.10(browserslist@4.21.4):
- resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
+ /update-browserslist-db@1.0.13(browserslist@4.22.2):
+ resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
dependencies:
- browserslist: 4.21.4
+ browserslist: 4.22.2
escalade: 3.1.1
picocolors: 1.0.0
- /update-browserslist-db@1.0.13(browserslist@4.22.1):
+ /update-browserslist-db@1.0.13(browserslist@4.22.3):
resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
dependencies:
- browserslist: 4.22.1
+ browserslist: 4.22.3
escalade: 3.1.1
picocolors: 1.0.0
- dev: false
/uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
dependencies:
- punycode: 2.1.1
+ punycode: 2.3.1
- /use-callback-ref@1.3.0(@types/react@18.2.31)(react@18.2.0):
+ /use-callback-ref@1.3.0(@types/react@18.2.48)(react@18.2.0):
resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==}
engines: {node: '>=10'}
peerDependencies:
@@ -6505,12 +11125,12 @@ packages:
'@types/react':
optional: true
dependencies:
- '@types/react': 18.2.31
+ '@types/react': 18.2.48
react: 18.2.0
- tslib: 2.4.1
+ tslib: 2.6.2
dev: false
- /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.31)(react@18.2.0):
+ /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.48)(react@18.2.0):
resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==}
peerDependencies:
'@types/react': '*'
@@ -6519,11 +11139,11 @@ packages:
'@types/react':
optional: true
dependencies:
- '@types/react': 18.2.31
+ '@types/react': 18.2.48
react: 18.2.0
dev: false
- /use-sidecar@1.1.2(@types/react@18.2.31)(react@18.2.0):
+ /use-sidecar@1.1.2(@types/react@18.2.48)(react@18.2.0):
resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==}
engines: {node: '>=10'}
peerDependencies:
@@ -6533,10 +11153,10 @@ packages:
'@types/react':
optional: true
dependencies:
- '@types/react': 18.2.31
+ '@types/react': 18.2.48
detect-node-es: 1.1.0
react: 18.2.0
- tslib: 2.4.1
+ tslib: 2.6.2
dev: false
/use-sync-external-store@1.2.0(react@18.2.0):
@@ -6558,23 +11178,75 @@ packages:
/util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
- /utils-merge@1.0.1:
- resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
- engines: {node: '>= 0.4.0'}
- dev: false
+ /uuid@3.3.2:
+ resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==}
+ deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
+ hasBin: true
+ dev: true
- /uuid@9.0.0:
- resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==}
+ /uuid@9.0.1:
+ resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
hasBin: true
dev: false
/v8-compile-cache-lib@3.0.1:
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
- /vary@1.1.2:
- resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
- engines: {node: '>= 0.8'}
- dev: false
+ /validate-npm-package-license@3.0.4:
+ resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
+ dependencies:
+ spdx-correct: 3.2.0
+ spdx-expression-parse: 3.0.1
+ dev: true
+
+ /validate-npm-package-name@4.0.0:
+ resolution: {integrity: sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ dependencies:
+ builtins: 5.0.1
+ dev: true
+
+ /validate-npm-package-name@5.0.0:
+ resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ builtins: 5.0.1
+ dev: true
+
+ /vercel@33.4.0(encoding@0.1.13):
+ resolution: {integrity: sha512-uB8XcTvARBsJtXCbhm/+F3qtV/FQXYYxx6jyUMfMU8izmOmWUlcSOmARbctL4vZ3Izj4ku+P4S25aDQFNmhGYQ==}
+ engines: {node: '>= 16'}
+ hasBin: true
+ dependencies:
+ '@vercel/build-utils': 7.5.1
+ '@vercel/fun': 1.1.0(encoding@0.1.13)
+ '@vercel/go': 3.0.5
+ '@vercel/hydrogen': 1.0.2
+ '@vercel/next': 4.1.0(encoding@0.1.13)
+ '@vercel/node': 3.0.17(encoding@0.1.13)
+ '@vercel/python': 4.1.1
+ '@vercel/redwood': 2.0.6(encoding@0.1.13)
+ '@vercel/remix-builder': 2.0.18(encoding@0.1.13)
+ '@vercel/ruby': 2.0.5
+ '@vercel/static-build': 2.1.0
+ chokidar: 3.3.1
+ transitivePeerDependencies:
+ - '@swc/core'
+ - '@swc/wasm'
+ - encoding
+ - supports-color
+ dev: true
+
+ /version-selector-type@3.0.0:
+ resolution: {integrity: sha512-PSvMIZS7C1MuVNBXl/CDG2pZq8EXy/NW2dHIdm3bVP5N0PC8utDK8ttXLXj44Gn3J0lQE3U7Mpm1estAOd+eiA==}
+ engines: {node: '>=10.13'}
+ dependencies:
+ semver: 7.5.4
+ dev: true
+
+ /vlq@0.2.3:
+ resolution: {integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==}
+ dev: true
/watchpack@2.4.0:
resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==}
@@ -6582,16 +11254,29 @@ packages:
dependencies:
glob-to-regexp: 0.4.1
graceful-fs: 4.2.11
- dev: false
+
+ /wcwidth@1.0.1:
+ resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+ requiresBuild: true
+ dependencies:
+ defaults: 1.0.4
+ dev: true
/web-streams-polyfill@3.2.1:
resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==}
engines: {node: '>= 8'}
dev: true
+ /web-vitals@0.2.4:
+ resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==}
+ dev: true
+
/webidl-conversions@3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
- dev: false
+
+ /webidl-conversions@4.0.2:
+ resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
+ dev: true
/webpack-node-externals@3.0.0:
resolution: {integrity: sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==}
@@ -6601,7 +11286,6 @@ packages:
/webpack-sources@3.2.3:
resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
engines: {node: '>=10.13.0'}
- dev: false
/webpack@5.75.0:
resolution: {integrity: sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==}
@@ -6620,14 +11304,14 @@ packages:
'@webassemblyjs/wasm-parser': 1.11.1
acorn: 8.8.1
acorn-import-assertions: 1.8.0(acorn@8.8.1)
- browserslist: 4.21.4
+ browserslist: 4.22.1
chrome-trace-event: 1.0.3
enhanced-resolve: 5.12.0
es-module-lexer: 0.9.3
eslint-scope: 5.1.1
events: 3.3.0
glob-to-regexp: 0.4.1
- graceful-fs: 4.2.10
+ graceful-fs: 4.2.11
json-parse-even-better-errors: 2.3.1
loader-runner: 4.3.0
mime-types: 2.1.35
@@ -6643,6 +11327,46 @@ packages:
- uglify-js
dev: false
+ /webpack@5.90.0(esbuild@0.19.11):
+ resolution: {integrity: sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ peerDependencies:
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack-cli:
+ optional: true
+ dependencies:
+ '@types/eslint-scope': 3.7.7
+ '@types/estree': 1.0.5
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/wasm-edit': 1.11.6
+ '@webassemblyjs/wasm-parser': 1.11.6
+ acorn: 8.11.3
+ acorn-import-assertions: 1.9.0(acorn@8.11.3)
+ browserslist: 4.22.3
+ chrome-trace-event: 1.0.3
+ enhanced-resolve: 5.15.0
+ es-module-lexer: 1.4.1
+ eslint-scope: 5.1.1
+ events: 3.3.0
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+ json-parse-even-better-errors: 2.3.1
+ loader-runner: 4.3.0
+ mime-types: 2.1.35
+ neo-async: 2.6.2
+ schema-utils: 3.3.0
+ tapable: 2.2.1
+ terser-webpack-plugin: 5.3.10(esbuild@0.19.11)(webpack@5.90.0)
+ watchpack: 2.4.0
+ webpack-sources: 3.2.3
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - uglify-js
+ dev: true
+
/webpod@0.0.2:
resolution: {integrity: sha512-cSwwQIeg8v4i3p4ajHhwgR7N6VyxAf+KYSSsY6Pd3aETE+xEU4vbitz7qQkB0I321xnhDdgtxuiSfk5r/FVtjg==}
hasBin: true
@@ -6667,7 +11391,14 @@ packages:
dependencies:
tr46: 0.0.3
webidl-conversions: 3.0.1
- dev: false
+
+ /whatwg-url@7.1.0:
+ resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
+ dependencies:
+ lodash.sortby: 4.7.0
+ tr46: 1.0.1
+ webidl-conversions: 4.0.2
+ dev: true
/which-boxed-primitive@1.0.2:
resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
@@ -6679,13 +11410,50 @@ packages:
is-symbol: 1.0.4
dev: true
+ /which-builtin-type@1.1.3:
+ resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ function.prototype.name: 1.1.6
+ has-tostringtag: 1.0.0
+ is-async-function: 2.0.0
+ is-date-object: 1.0.5
+ is-finalizationregistry: 1.0.2
+ is-generator-function: 1.0.10
+ is-regex: 1.1.4
+ is-weakref: 1.0.2
+ isarray: 2.0.5
+ which-boxed-primitive: 1.0.2
+ which-collection: 1.0.1
+ which-typed-array: 1.1.13
+ dev: true
+
+ /which-collection@1.0.1:
+ resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==}
+ dependencies:
+ is-map: 2.0.2
+ is-set: 2.0.2
+ is-weakmap: 2.0.1
+ is-weakset: 2.0.2
+ dev: true
+
+ /which-typed-array@1.1.13:
+ resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.5
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-tostringtag: 1.0.0
+ dev: true
+
/which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
hasBin: true
dependencies:
isexe: 2.0.0
- dev: true
/which@3.0.1:
resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==}
@@ -6695,9 +11463,75 @@ packages:
isexe: 2.0.0
dev: true
- /word-wrap@1.2.3:
- resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
- engines: {node: '>=0.10.0'}
+ /which@4.0.0:
+ resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==}
+ engines: {node: ^16.13.0 || >=18.0.0}
+ hasBin: true
+ dependencies:
+ isexe: 3.1.1
+ dev: true
+
+ /wide-align@1.1.5:
+ resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
+ dependencies:
+ string-width: 4.2.3
+ dev: true
+
+ /wordwrap@1.0.0:
+ resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
+ dev: true
+
+ /workerd@1.20231002.0:
+ resolution: {integrity: sha512-NFuUQBj30ZguDoPZ6bL40hINiu8aP2Pvxr/3xAdhWOwVFLuObPOiSdQ8qm4JYZ7jovxWjWE4Z7VR2avjIzEksQ==}
+ engines: {node: '>=16'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@cloudflare/workerd-darwin-64': 1.20231002.0
+ '@cloudflare/workerd-darwin-arm64': 1.20231002.0
+ '@cloudflare/workerd-linux-64': 1.20231002.0
+ '@cloudflare/workerd-linux-arm64': 1.20231002.0
+ '@cloudflare/workerd-windows-64': 1.20231002.0
+ dev: true
+
+ /workerd@1.20231218.0:
+ resolution: {integrity: sha512-AGIsDvqCrcwhoA9kb1hxOhVAe53/xJeaGZxL4FbYI9FvO17DZwrnqGq+6eqItJ6Cfw1ZLmf3BM+QdMWaL2bFWQ==}
+ engines: {node: '>=16'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@cloudflare/workerd-darwin-64': 1.20231218.0
+ '@cloudflare/workerd-darwin-arm64': 1.20231218.0
+ '@cloudflare/workerd-linux-64': 1.20231218.0
+ '@cloudflare/workerd-linux-arm64': 1.20231218.0
+ '@cloudflare/workerd-windows-64': 1.20231218.0
+ dev: true
+
+ /wrangler@3.25.0:
+ resolution: {integrity: sha512-eU47Ez1QLu1B/wutm5ow+VwZnY4OqA+D/iy6BORAu5tABujoDr9p1yBxY/1DS/DxxDWqqY3sBBS6TzcC4NSLUQ==}
+ engines: {node: '>=16.17.0'}
+ hasBin: true
+ dependencies:
+ '@cloudflare/kv-asset-handler': 0.2.0
+ '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19)
+ '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19)
+ blake3-wasm: 2.1.5
+ chokidar: 3.5.3
+ esbuild: 0.17.19
+ miniflare: 3.20231218.4
+ nanoid: 3.3.7
+ path-to-regexp: 6.2.1
+ resolve: 1.22.8
+ resolve.exports: 2.0.2
+ selfsigned: 2.4.1
+ source-map: 0.6.1
+ xxhash-wasm: 1.0.2
+ optionalDependencies:
+ fsevents: 2.3.3
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
dev: true
/wrap-ansi@7.0.0:
@@ -6707,17 +11541,24 @@ packages:
ansi-styles: 4.3.0
string-width: 4.2.3
strip-ansi: 6.0.1
- dev: false
+
+ /wrap-ansi@8.1.0:
+ resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ ansi-styles: 6.2.1
+ string-width: 5.1.2
+ strip-ansi: 7.1.0
/wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
- /ws@8.11.0:
- resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==}
+ /ws@8.14.2:
+ resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
- utf-8-validate: ^5.0.2
+ utf-8-validate: '>=5.0.2'
peerDependenciesMeta:
bufferutil:
optional: true
@@ -6725,10 +11566,41 @@ packages:
optional: true
dev: false
+ /ws@8.16.0:
+ resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ dev: true
+
+ /xdg-app-paths@5.1.0:
+ resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==}
+ engines: {node: '>=6'}
+ dependencies:
+ xdg-portable: 7.3.0
+ dev: true
+
+ /xdg-portable@7.3.0:
+ resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==}
+ engines: {node: '>= 6.0'}
+ dependencies:
+ os-paths: 4.4.0
+ dev: true
+
/xtend@4.0.2:
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
engines: {node: '>=0.4'}
+ /xxhash-wasm@1.0.2:
+ resolution: {integrity: sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==}
+ dev: true
+
/y18n@5.0.8:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
@@ -6741,7 +11613,6 @@ packages:
/yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
- dev: false
/yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
@@ -6755,6 +11626,11 @@ packages:
engines: {node: '>= 14'}
dev: true
+ /yaml@2.3.4:
+ resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
+ engines: {node: '>= 14'}
+ dev: false
+
/yargs-parser@21.1.1:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
engines: {node: '>=12'}
@@ -6773,6 +11649,28 @@ packages:
yargs-parser: 21.1.1
dev: false
+ /yauzl-clone@1.0.4:
+ resolution: {integrity: sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA==}
+ engines: {node: '>=6'}
+ dependencies:
+ events-intercept: 2.0.0
+ dev: true
+
+ /yauzl-promise@2.1.3:
+ resolution: {integrity: sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA==}
+ engines: {node: '>=6'}
+ dependencies:
+ yauzl: 2.10.0
+ yauzl-clone: 1.0.4
+ dev: true
+
+ /yauzl@2.10.0:
+ resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
+ dependencies:
+ buffer-crc32: 0.2.13
+ fd-slicer: 1.1.0
+ dev: true
+
/yn@3.1.1:
resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
engines: {node: '>=6'}
@@ -6781,8 +11679,45 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
- /zod@3.20.2:
- resolution: {integrity: sha512-1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ==}
+ /youch@3.3.3:
+ resolution: {integrity: sha512-qSFXUk3UZBLfggAW3dJKg0BMblG5biqSF8M34E06o5CSsZtH92u9Hqmj2RzGiHDi64fhe83+4tENFP2DB6t6ZA==}
+ dependencies:
+ cookie: 0.5.0
+ mustache: 4.2.0
+ stacktracey: 2.1.8
+ dev: true
+
+ /zod-validation-error@3.0.0(zod@3.22.4):
+ resolution: {integrity: sha512-x+agsJJG9rvC7axF0xqTEdZhJkLHyIZkdOAWDJSmwGPzxNHMHwtU6w2yDOAAP6yuSfTAUhAMJRBfhVGY64ySEQ==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ zod: ^3.18.0
+ dependencies:
+ zod: 3.22.4
+ dev: true
+
+ /zod@3.22.4:
+ resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==}
+
+ /zustand@4.5.0(@types/react@18.2.48)(immer@10.0.3)(react@18.2.0):
+ resolution: {integrity: sha512-zlVFqS5TQ21nwijjhJlx4f9iGrXSL0o/+Dpy4txAP22miJ8Ti6c1Ol1RLNN98BMib83lmDH/2KmLwaNXpjrO1A==}
+ engines: {node: '>=12.7.0'}
+ peerDependencies:
+ '@types/react': '>=16.8'
+ immer: '>=9.0.6'
+ react: '>=16.8'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ immer:
+ optional: true
+ react:
+ optional: true
+ dependencies:
+ '@types/react': 18.2.48
+ immer: 10.0.3
+ react: 18.2.0
+ use-sync-external-store: 1.2.0(react@18.2.0)
dev: false
/zx@7.2.3:
@@ -6792,7 +11727,7 @@ packages:
dependencies:
'@types/fs-extra': 11.0.3
'@types/minimist': 1.2.4
- '@types/node': 18.18.6
+ '@types/node': 18.19.10
'@types/ps-tree': 1.1.4
'@types/which': 3.0.1
chalk: 5.3.0
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 11ac5aecc..76b88a6a7 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -1,4 +1,5 @@
packages:
- "app"
+ - "neue"
- "worker"
- "packages/*"
diff --git a/turbo.json b/turbo.json
index 1c3e7d241..8bf1b0424 100644
--- a/turbo.json
+++ b/turbo.json
@@ -1,8 +1,8 @@
{
"pipeline": {
- "build": {
+ "build:prod": {
"dependsOn": [
- "^build"
+ "^build:prod"
],
"outputs": [
"dist/**",
@@ -16,9 +16,6 @@
"ts:check": {
"outputs": []
},
- "ci:deadcode": {
- "outputs": []
- },
"ci:lint": {
"outputs": []
},
diff --git a/worker/README.md b/worker/README.md
new file mode 100644
index 000000000..a1ce222a4
--- /dev/null
+++ b/worker/README.md
@@ -0,0 +1,5 @@
+Background worker for [[Corehalla]]
+
+### Features
+
+#readme
\ No newline at end of file
diff --git a/worker/package.json b/worker/package.json
index ba4e6530e..bfc57c46a 100644
--- a/worker/package.json
+++ b/worker/package.json
@@ -13,29 +13,20 @@
"author": "",
"license": "ISC",
"devDependencies": {
- "@types/cors": "^2.8.13",
- "@types/express": "^4.17.15",
- "@types/node": "^20.8.7",
- "@types/react": "^18.2.31",
- "typescript": "^4.9.4"
+ "@types/node": "^20.11.10",
+ "typescript": "^5.3.3"
},
"dependencies": {
- "@trpc/client": "10.9.0",
- "@trpc/server": "10.9.0",
"bhapi": "workspace:*",
"common": "workspace:*",
- "cors": "^2.8.5",
"db": "workspace:*",
- "discord.js": "^14.7.1",
- "dotenv": "^16.0.3",
- "express": "^4.18.2",
+ "discord.js": "^14.14.1",
+ "dotenv": "^16.4.1",
"logger": "workspace:*",
"reaccord": "0.0.1-dev.1669742731656.1c2e96f",
- "react": "^18.2.0",
"server": "workspace:*",
- "ts-node": "^10.9.1",
+ "ts-node": "^10.9.2",
"ts-node-dev": "^2.0.0",
- "web-parser": "workspace:*",
- "zod": "^3.20.2"
+ "zod": "^3.22.4"
}
}
\ No newline at end of file
diff --git a/worker/src/crawler/index.ts b/worker/src/crawler/index.ts
index e466c6256..cf4f47349 100644
--- a/worker/src/crawler/index.ts
+++ b/worker/src/crawler/index.ts
@@ -1,5 +1,5 @@
import { formatTime } from "common/helpers/date"
-import { getPlayerStats, getRankings } from "bhapi"
+import { get1v1Rankings, getPlayerStats } from "bhapi"
import { logInfo, logWarning } from "logger"
import { supabaseService } from "db/supabase/service"
import { updateDBPlayerData } from "server/mutations/updateDBPlayerData"
@@ -68,7 +68,7 @@ const createCrawlerQueue = async (config: CrawlerConfig) => {
logInfo("Crawling leaderboard page", currentPage)
const players = await requestWithMinimumDelay(
- () => getRankings("1v1", "all", currentPage),
+ () => get1v1Rankings("all", currentPage),
delayMs,
)