From 09213934a3124737e694b52d43a44788ba1a4188 Mon Sep 17 00:00:00 2001 From: vplend Date: Thu, 1 Jan 2026 19:51:43 +0500 Subject: [PATCH 001/116] feat: migrate site to Next.js; docs -> FumaDocs --- .gitignore | 57 +- .source/browser.ts | 22 + .source/dynamic.ts | 18 + .source/server.ts | 157 + .source/source.config.mjs | 21 + LICENSE | 674 - astro-i18next.config.ts | 4 - astro.config.mjs | 43 - components.json | 21 - eslint.config.mjs | 16 + messages/en.json | 79 + messages/ru.json | 79 + next.config.mjs | 19 + package-lock.json | 19275 ++++++++++++---- package.json | 69 +- postcss.config.mjs | 7 + public/chat-en.svg | 50 + public/chat-ru.svg | 50 + public/graph.svg | 182 + public/language.svg | 3 + {pulse/en/public => public}/logo.png | Bin public/logo.svg | 131 + public/mix.svg | 56 + public/moon.svg | 3 + .../public => public/pulse}/advancement1.png | Bin .../public => public/pulse}/advancement2.png | Bin .../public => public/pulse}/advancement3.png | Bin .../pulse}/afkglobalmessage.png | Bin .../en/public => public/pulse}/afksuffix.png | Bin {pulse/en/public => public/pulse}/anvil.gif | Bin .../pulse}/argument_showcase.png | Bin {pulse/en/public => public/pulse}/auto.png | Bin .../en/public => public/pulse}/belowname.png | Bin {pulse/en/public => public/pulse}/bold.png | Bin {pulse/en/public => public/pulse}/book.gif | Bin {pulse/en/public => public/pulse}/boosty.svg | 0 .../pulse}/bossbar_enderdragon.png | Bin .../public => public/pulse}/bossbar_raid.png | Bin .../pulse}/bossbar_wither.png | Bin {pulse/en/public => public/pulse}/brand.png | Bin {pulse/en/public => public/pulse}/bubble.gif | Bin {pulse/en/public => public/pulse}/bubble.svg | 0 {pulse/en/public => public/pulse}/bukkit.svg | 0 .../en/public => public/pulse}/bungeecord.svg | 0 .../caps.png => public/pulse/caps copy.png | Bin {pulse/ru/public => public/pulse}/caps.png | Bin {pulse/en/public => public/pulse}/chat.png | Bin .../public => public/pulse}/chatconsole.png | Bin {pulse/en/public => public/pulse}/code.svg | 0 .../public => public/pulse}/colormessage.png | Bin .../public => public/pulse}/commandanon.png | Bin .../public => public/pulse}/commandball.png | Bin .../en/public => public/pulse}/commandban.png | Bin .../pulse}/commandbanconnect.png | Bin .../pulse}/commandbanlist.png | Bin .../pulse}/commandbanlistglobalgui.png | Bin .../pulse}/commandbanlistplayer.png | Bin .../pulse}/commandbanlistplayergui.png | Bin .../pulse}/commandbanplayer.png | Bin .../pulse}/commandbroadcast.png | Bin .../pulse}/commandchatcolor.png | Bin .../pulse}/commandchatcolorother.png | Bin .../pulse}/commandchatsetting.gif | Bin .../pulse}/commandchatstyle.png | Bin .../pulse}/commandclearchat.png | Bin .../pulse}/commandclearmail.png | Bin .../public => public/pulse}/commandcoin.png | Bin .../pulse}/commanddeletemessage.png | Bin .../public => public/pulse}/commanddice.png | Bin .../en/public => public/pulse}/commanddo.png | Bin .../public => public/pulse}/commandemit.png | Bin .../pulse}/commandflectonepulse.png | Bin .../pulse}/commandgeolocate.png | Bin .../public => public/pulse}/commandhelper.png | Bin .../pulse}/commandhelperadmin.png | Bin .../public => public/pulse}/commandignore.png | Bin .../pulse}/commandignorelist.png | Bin .../pulse}/commandignorelistgui.png | Bin .../public => public/pulse}/commandkick.png | Bin .../pulse}/commandkickplayer.png | Bin .../public => public/pulse}/commandmail.png | Bin .../pulse}/commandmailplayer.png | Bin .../pulse}/commandmaintenance.png | Bin .../pulse}/commandmaintenanceserver.png | Bin .../public => public/pulse}/commandmark.gif | Bin .../en/public => public/pulse}/commandme.png | Bin .../pulse}/commandmealiase.png | Bin .../public => public/pulse}/commandmute.png | Bin .../pulse}/commandmutelist.png | Bin .../pulse}/commandmutelistglobalgui.png | Bin .../pulse}/commandmutelistplayergui.png | Bin .../public => public/pulse}/commandonline.png | Bin .../public => public/pulse}/commandping.png | Bin .../public => public/pulse}/commandpoll.png | Bin .../pulse}/commandpollend.png | Bin .../pulse}/commandpollgui.gif | Bin .../public => public/pulse}/commandreply.png | Bin .../pulse}/commandrockpaperscissors.png | Bin .../public => public/pulse}/commandsprite.png | Bin .../en/public => public/pulse}/commandspy.gif | Bin .../public => public/pulse}/commandstream.png | Bin .../pulse}/commandstreamprefix.png | Bin .../public => public/pulse}/commandsymbol.png | Bin .../public => public/pulse}/commandsyntax.png | Bin .../public => public/pulse}/commandtell.png | Bin .../pulse}/commandtellmyself.png | Bin .../pulse}/commandtictactoe.png | Bin .../pulse}/commandtictactoedefault.png | Bin .../pulse}/commandtoponline.png | Bin .../pulse}/commandtranslateto.png | Bin .../en/public => public/pulse}/commandtry.png | Bin .../public => public/pulse}/commandunban.png | Bin .../pulse}/commandunignore.png | Bin .../public => public/pulse}/commandunmute.png | Bin .../public => public/pulse}/commandunwarn.png | Bin .../public => public/pulse}/commandwarn.png | Bin .../pulse}/commandwarnlist.png | Bin .../pulse}/commandwarnlistglobalgui.png | Bin .../pulse}/commandwarnlistplayergui.png | Bin {pulse/en/public => public/pulse}/console.gif | Bin {pulse/en/public => public/pulse}/coords.png | Bin .../public => public/pulse}/deathserver.png | Bin .../en/public => public/pulse}/debugstick.png | Bin {pulse/en/public => public/pulse}/delete.gif | Bin .../pulse}/destinationaction_bar.png | Bin .../pulse}/destinationboss_bar.png | Bin .../pulse}/destinationtext_screen.png | Bin .../pulse}/destinationtitle.png | Bin .../pulse}/destinationtoast.png | Bin {pulse/en/public => public/pulse}/discord.svg | 0 .../pulse}/discordchannelinfo.png | Bin .../pulse}/discordcontent.png | Bin .../pulse}/discorddevelopers.png | Bin .../public => public/pulse}/discordembed.png | Bin .../pulse}/discordmessage.png | Bin .../pulse}/discordminecraftmessage.png | Bin .../pulse}/discordpresence.png | Bin .../pulse}/discordwebhook.png | Bin .../public => public/pulse}/documentation.svg | 0 .../public => public/pulse}/emojimessage.png | Bin .../pulse}/emojiminecraft.png | Bin {pulse/en/public => public/pulse}/fcolor.png | Bin {pulse/en/public => public/pulse}/filter.png | Bin .../en/public => public/pulse}/fixation.png | Bin .../public => public/pulse}/flectonepulse.png | Bin .../pulse}/flectonepulseeditor.gif | Bin {pulse/en/public => public/pulse}/flood.png | Bin {pulse/en/public => public/pulse}/folia.svg | 0 {pulse/en/public => public/pulse}/footer.png | Bin {pulse/en/public => public/pulse}/gear.svg | 0 {pulse/en/public => public/pulse}/github.svg | 0 .../en/public => public/pulse}/greeting.png | Bin {pulse/en/public => public/pulse}/header.png | Bin {pulse/en/public => public/pulse}/hover.png | Bin .../en/public => public/pulse}/hoverclick.png | Bin {pulse/en/public => public/pulse}/image.png | Bin .../public => public/pulse}/imagemessage.png | Bin .../pulse}/imageminecraft.png | Bin {pulse/en/public => public/pulse}/italic.png | Bin {pulse/en/public => public/pulse}/item.png | Bin {pulse/en/public => public/pulse}/join.png | Bin {pulse/en/public => public/pulse}/locale.gif | Bin {pulse/en/public => public/pulse}/locale.png | Bin {pulse/ru/public => public/pulse}/logo.png | Bin {pulse/en/public => public/pulse}/mention.png | Bin .../en/public => public/pulse}/modrinth.svg | 0 {pulse/en/public => public/pulse}/motd.png | Bin {pulse/en/public => public/pulse}/mute.png | Bin .../public => public/pulse}/namedisplay.png | Bin {pulse/en/public => public/pulse}/nametab.png | Bin .../public => public/pulse}/nullrecipient.png | Bin .../en/public => public/pulse}/obfuscated.png | Bin {pulse/en/public => public/pulse}/object.png | Bin .../en/public => public/pulse}/objectslot.png | Bin {pulse/en/public => public/pulse}/online.png | Bin {pulse/en/public => public/pulse}/paper.svg | 0 {pulse/en/public => public/pulse}/ping.png | Bin .../en/public => public/pulse}/platforms.svg | 0 .../public => public/pulse}/playercount.png | Bin .../en/public => public/pulse}/playerlist.png | Bin .../pulse}/playerlistname.png | Bin {pulse/en/public => public/pulse}/prompt.png | Bin public/pulse/pulsecard1.svg | 56 + public/pulse/pulsecard2.svg | 80 + public/pulse/pulsecard3.svg | 65 + public/pulse/pulsestructure.svg | 47 + {pulse/en/public => public/pulse}/purpur.svg | 0 .../pulse}/questionanswer.png | Bin {pulse/en/public => public/pulse}/quit.png | Bin .../en/public => public/pulse}/rightclick.png | Bin {pulse/en/public => public/pulse}/roll_1.png | Bin {pulse/en/public => public/pulse}/roll_2.png | Bin {pulse/en/public => public/pulse}/roll_3.png | Bin {pulse/en/public => public/pulse}/sample1.png | Bin {pulse/en/public => public/pulse}/sample2.png | Bin .../en/public => public/pulse}/scoreboard.png | Bin .../public => public/pulse}/server-icon-1.png | Bin .../public => public/pulse}/server-icon-2.png | Bin .../en/public => public/pulse}/servericon.png | Bin {pulse/en/public => public/pulse}/signoak.gif | Bin {pulse/en/public => public/pulse}/skin.png | Bin .../public => public/pulse}/skinsrestorer.png | Bin {pulse/en/public => public/pulse}/spigot.svg | 0 {pulse/en/public => public/pulse}/spoiler.png | Bin .../pulse}/spoilermessage.png | Bin .../pulse}/spoilerminecraft.png | Bin {pulse/en/public => public/pulse}/stats.png | Bin {pulse/en/public => public/pulse}/stop.png | Bin .../public => public/pulse}/strikethrough.png | Bin .../en/public => public/pulse}/structure.svg | 0 {pulse/en/public => public/pulse}/swear.png | Bin .../en/public => public/pulse}/swearsee.png | Bin {pulse/en/public => public/pulse}/tab.png | Bin .../pulse}/tagimageminecraft.png | Bin {pulse/en/public => public/pulse}/task.png | Bin .../en/public => public/pulse}/telegramid.png | Bin .../pulse}/telegrammessage1.png | Bin .../pulse}/telegrammessage2.png | Bin .../pulse}/telegramminecraftmessage.png | Bin {pulse/en/public => public/pulse}/tps.png | Bin .../en/public => public/pulse}/translate.png | Bin .../pulse}/twitchclientid.png | Bin .../public => public/pulse}/twitchmessage.png | Bin .../pulse}/twitchminecraftmessage.png | Bin .../public => public/pulse}/twitchtoken.png | Bin .../en/public => public/pulse}/underline.png | Bin {pulse/en/public => public/pulse}/update.png | Bin {pulse/en/public => public/pulse}/url.png | Bin .../en/public => public/pulse}/urlmessage.png | Bin .../public => public/pulse}/urlminecraft.png | Bin .../en/public => public/pulse}/velocity.svg | 0 {pulse/en/public => public/pulse}/version.png | Bin {pulse/en/public => public/pulse}/weather.png | Bin .../pulse}/welcomemessage.png | Bin .../en/public => public/pulse}/worldchat.png | Bin .../en/public => public/pulse}/worldtab.png | Bin {pulse/en/public => public/pulse}/youtube.svg | 0 public/square.svg | 3 + public/squaredark.svg | 3 + public/sun.svg | 3 + pulse/en/.vitepress/cache/deps/_metadata.json | 52 - .../.vitepress/cache/deps/chunk-VJWGEPT5.js | 12542 ---------- .../cache/deps/chunk-VJWGEPT5.js.map | 7 - pulse/en/.vitepress/cache/deps/package.json | 3 - .../deps/vitepress___@vue_devtools-api.js | 4504 ---- .../deps/vitepress___@vue_devtools-api.js.map | 7 - .../cache/deps/vitepress___@vueuse_core.js | 582 - .../deps/vitepress___@vueuse_core.js.map | 7 - ...ess___@vueuse_integrations_useFocusTrap.js | 1145 - ...__@vueuse_integrations_useFocusTrap.js.map | 7 - .../vitepress___mark__js_src_vanilla__js.js | 1665 -- ...itepress___mark__js_src_vanilla__js.js.map | 7 - .../cache/deps/vitepress___minisearch.js | 1812 -- .../cache/deps/vitepress___minisearch.js.map | 7 - pulse/en/.vitepress/cache/deps/vue.js | 342 - pulse/en/.vitepress/cache/deps/vue.js.map | 7 - pulse/en/.vitepress/config.mts | 130 - .../.vitepress/theme/author/PageAuthors.vue | 106 - pulse/en/.vitepress/theme/index.ts | 163 - pulse/en/.vitepress/theme/style.css | 250 - pulse/en/api/index.md | 144 - pulse/en/docs/command/afk/index.md | 35 - pulse/en/docs/command/anon/index.md | 49 - pulse/en/docs/command/ball/index.md | 52 - pulse/en/docs/command/ban/index.md | 114 - pulse/en/docs/command/banlist/index.md | 89 - pulse/en/docs/command/broadcast/index.md | 50 - pulse/en/docs/command/chatcolor/index.md | 76 - pulse/en/docs/command/chatsetting/index.md | 243 - pulse/en/docs/command/clearchat/index.md | 54 - pulse/en/docs/command/clearmail/index.md | 53 - pulse/en/docs/command/coin/index.md | 67 - pulse/en/docs/command/deletemessage/index.md | 58 - pulse/en/docs/command/dice/index.md | 63 - pulse/en/docs/command/do/index.md | 50 - pulse/en/docs/command/emit/index.md | 75 - pulse/en/docs/command/flectonepulse/index.md | 84 - pulse/en/docs/command/geolocate/index.md | 58 - pulse/en/docs/command/helper/index.md | 71 - pulse/en/docs/command/ignore/index.md | 73 - pulse/en/docs/command/ignorelist/index.md | 65 - pulse/en/docs/command/index.md | 159 - pulse/en/docs/command/kick/index.md | 72 - pulse/en/docs/command/mail/index.md | 63 - pulse/en/docs/command/maintenance/index.md | 70 - pulse/en/docs/command/me/index.md | 50 - pulse/en/docs/command/mute/index.md | 111 - pulse/en/docs/command/mutelist/index.md | 91 - pulse/en/docs/command/online/index.md | 67 - pulse/en/docs/command/ping/index.md | 53 - pulse/en/docs/command/poll/index.md | 165 - pulse/en/docs/command/reply/index.md | 52 - .../docs/command/rockpaperscissors/index.md | 113 - pulse/en/docs/command/sprite/index.md | 84 - pulse/en/docs/command/spy/index.md | 63 - pulse/en/docs/command/stream/index.md | 77 - pulse/en/docs/command/symbol/index.md | 77 - pulse/en/docs/command/tell/index.md | 66 - pulse/en/docs/command/tictactoe/index.md | 131 - pulse/en/docs/command/toponline/index.md | 61 - pulse/en/docs/command/translateto/index.md | 68 - pulse/en/docs/command/try/index.md | 67 - pulse/en/docs/command/unban/index.md | 67 - pulse/en/docs/command/unmute/index.md | 67 - pulse/en/docs/command/unwarn/index.md | 67 - pulse/en/docs/command/warn/index.md | 116 - pulse/en/docs/command/warnlist/index.md | 91 - pulse/en/docs/config/cache/index.md | 55 - pulse/en/docs/config/command/index.md | 31 - pulse/en/docs/config/database/index.md | 76 - pulse/en/docs/config/editor/index.md | 30 - pulse/en/docs/config/index.md | 25 - pulse/en/docs/config/language/index.md | 51 - pulse/en/docs/config/logger/index.md | 54 - pulse/en/docs/config/metrics/index.md | 32 - pulse/en/docs/config/module/index.md | 66 - pulse/en/docs/config/proxy/index.md | 87 - pulse/en/docs/index.md | 202 - .../en/docs/integration/advancedban/index.md | 43 - pulse/en/docs/integration/deepl/index.md | 31 - pulse/en/docs/integration/discord/index.md | 355 - pulse/en/docs/integration/floodgate/index.md | 26 - pulse/en/docs/integration/geyser/index.md | 26 - pulse/en/docs/integration/index.md | 35 - .../docs/integration/interactivechat/index.md | 40 - pulse/en/docs/integration/itemsadder/index.md | 26 - .../en/docs/integration/libertybans/index.md | 42 - pulse/en/docs/integration/litebans/index.md | 43 - pulse/en/docs/integration/luckperms/index.md | 33 - .../en/docs/integration/maintenance/index.md | 30 - .../integration/mineplaceholders/index.md | 36 - pulse/en/docs/integration/minimotd/index.md | 30 - pulse/en/docs/integration/motd/index.md | 34 - .../docs/integration/placeholderapi/index.md | 86 - .../en/docs/integration/plasmovoice/index.md | 28 - .../en/docs/integration/simplevoice/index.md | 28 - .../docs/integration/skinsrestorer/index.md | 28 - .../en/docs/integration/supervanish/index.md | 27 - pulse/en/docs/integration/tab/index.md | 51 - pulse/en/docs/integration/telegram/index.md | 200 - pulse/en/docs/integration/triton/index.md | 27 - pulse/en/docs/integration/twitch/index.md | 181 - pulse/en/docs/integration/vault/index.md | 27 - pulse/en/docs/integration/yandex/index.md | 35 - pulse/en/docs/message/afk/index.md | 80 - pulse/en/docs/message/anvil/index.md | 28 - pulse/en/docs/message/auto/index.md | 73 - pulse/en/docs/message/book/index.md | 28 - pulse/en/docs/message/bossbar/index.md | 75 - pulse/en/docs/message/brand/index.md | 57 - pulse/en/docs/message/bubble/index.md | 136 - pulse/en/docs/message/chat/index.md | 210 - pulse/en/docs/message/format/fcolor/index.md | 53 - .../en/docs/message/format/fixation/index.md | 41 - pulse/en/docs/message/format/index.md | 74 - pulse/en/docs/message/format/mention/index.md | 84 - .../message/format/moderation/caps/index.md | 38 - .../message/format/moderation/delete/index.md | 62 - .../message/format/moderation/flood/index.md | 44 - .../docs/message/format/moderation/index.md | 27 - .../message/format/moderation/newbie/index.md | 63 - .../message/format/moderation/swear/index.md | 60 - pulse/en/docs/message/format/names/index.md | 74 - pulse/en/docs/message/format/object/index.md | 96 - .../message/format/questionanswer/index.md | 64 - .../docs/message/format/replacement/index.md | 106 - .../docs/message/format/scoreboard/index.md | 51 - .../en/docs/message/format/translate/index.md | 44 - pulse/en/docs/message/format/world/index.md | 42 - pulse/en/docs/message/greeting/index.md | 46 - pulse/en/docs/message/index.md | 58 - pulse/en/docs/message/join/index.md | 56 - .../docs/message/objective/belowname/index.md | 62 - pulse/en/docs/message/objective/index.md | 27 - .../docs/message/objective/tabname/index.md | 56 - pulse/en/docs/message/quit/index.md | 47 - pulse/en/docs/message/rightclick/index.md | 57 - pulse/en/docs/message/sidebar/index.md | 45 - pulse/en/docs/message/sign/index.md | 28 - pulse/en/docs/message/status/icon/index.md | 46 - pulse/en/docs/message/status/index.md | 27 - pulse/en/docs/message/status/motd/index.md | 44 - pulse/en/docs/message/status/players/index.md | 98 - pulse/en/docs/message/status/version/index.md | 53 - pulse/en/docs/message/tab/footer/index.md | 46 - pulse/en/docs/message/tab/header/index.md | 46 - pulse/en/docs/message/tab/index.md | 31 - .../docs/message/tab/playerlistname/index.md | 55 - pulse/en/docs/message/update/index.md | 49 - pulse/en/docs/message/vanilla/index.md | 138 - pulse/en/index.md | 54 - pulse/en/metrics/index.md | 191 - pulse/en/package.json | 15 - pulse/en/parts/aliases.md | 7 - pulse/en/parts/color.md | 19 - pulse/en/parts/cooldown.md | 21 - pulse/en/parts/destination.md | 211 - pulse/en/parts/enable.md | 3 - pulse/en/parts/fcolor.md | 16 - pulse/en/parts/legacyColors.md | 6 - pulse/en/parts/messageTag.md | 38 - pulse/en/parts/objective.md | 8 - pulse/en/parts/perPage.md | 3 - pulse/en/parts/permission/cooldown.md | 3 - pulse/en/parts/permission/other.md | 3 - pulse/en/parts/permission/permissionTier3.md | 14 - pulse/en/parts/permission/permissionTier4.md | 14 - pulse/en/parts/permission/sound.md | 3 - pulse/en/parts/random.md | 3 - pulse/en/parts/range.md | 14 - pulse/en/parts/sound.md | 26 - pulse/en/parts/suggestOfflinePlayers.md | 6 - pulse/en/parts/ticker.md | 15 - pulse/en/parts/vanillaWarn.md | 15 - pulse/en/parts/words.md | 19 - pulse/en/scripts/region.py | 36 - pulse/ru/.vitepress/config.mts | 179 - .../.vitepress/theme/author/PageAuthors.vue | 106 - pulse/ru/.vitepress/theme/index.ts | 255 - pulse/ru/.vitepress/theme/style.css | 250 - pulse/ru/api/index.md | 142 - pulse/ru/docs/command/afk/index.md | 34 - pulse/ru/docs/command/anon/index.md | 49 - pulse/ru/docs/command/ball/index.md | 51 - pulse/ru/docs/command/ban/index.md | 113 - pulse/ru/docs/command/banlist/index.md | 88 - pulse/ru/docs/command/broadcast/index.md | 49 - pulse/ru/docs/command/chatcolor/index.md | 75 - pulse/ru/docs/command/clearchat/index.md | 53 - pulse/ru/docs/command/clearmail/index.md | 52 - pulse/ru/docs/command/coin/index.md | 66 - pulse/ru/docs/command/deletemessage/index.md | 58 - pulse/ru/docs/command/dice/index.md | 62 - pulse/ru/docs/command/do/index.md | 49 - pulse/ru/docs/command/flectonepulse/index.md | 85 - pulse/ru/docs/command/geolocate/index.md | 57 - pulse/ru/docs/command/helper/index.md | 70 - pulse/ru/docs/command/ignore/index.md | 72 - pulse/ru/docs/command/ignorelist/index.md | 64 - pulse/ru/docs/command/index.md | 158 - pulse/ru/docs/command/kick/index.md | 71 - pulse/ru/docs/command/mail/index.md | 62 - pulse/ru/docs/command/maintenance/index.md | 69 - pulse/ru/docs/command/me/index.md | 49 - pulse/ru/docs/command/mutelist/index.md | 91 - pulse/ru/docs/command/online/index.md | 67 - pulse/ru/docs/command/ping/index.md | 53 - pulse/ru/docs/command/reply/index.md | 52 - .../docs/command/rockpaperscissors/index.md | 114 - pulse/ru/docs/command/spy/index.md | 63 - pulse/ru/docs/command/stream/index.md | 77 - pulse/ru/docs/command/symbol/index.md | 77 - pulse/ru/docs/command/tell/index.md | 66 - pulse/ru/docs/command/toponline/index.md | 61 - pulse/ru/docs/command/translateto/index.md | 68 - pulse/ru/docs/command/try/index.md | 67 - pulse/ru/docs/command/unban/index.md | 67 - pulse/ru/docs/command/unmute/index.md | 67 - pulse/ru/docs/command/unwarn/index.md | 67 - pulse/ru/docs/command/warnlist/index.md | 91 - pulse/ru/docs/config/editor/index.md | 31 - pulse/ru/docs/config/index.md | 24 - .../ru/docs/integration/advancedban/index.md | 46 - pulse/ru/docs/integration/deepl/index.md | 30 - pulse/ru/docs/integration/floodgate/index.md | 26 - pulse/ru/docs/integration/geyser/index.md | 26 - pulse/ru/docs/integration/index.md | 35 - pulse/ru/docs/integration/itemsadder/index.md | 26 - .../ru/docs/integration/libertybans/index.md | 46 - pulse/ru/docs/integration/litebans/index.md | 46 - pulse/ru/docs/integration/luckperms/index.md | 32 - .../ru/docs/integration/maintenance/index.md | 30 - .../integration/mineplaceholders/index.md | 36 - pulse/ru/docs/integration/minimotd/index.md | 30 - pulse/ru/docs/integration/motd/index.md | 34 - .../ru/docs/integration/plasmovoice/index.md | 27 - .../ru/docs/integration/simplevoice/index.md | 27 - .../docs/integration/skinsrestorer/index.md | 27 - .../ru/docs/integration/supervanish/index.md | 26 - pulse/ru/docs/integration/tab/index.md | 50 - pulse/ru/docs/integration/triton/index.md | 26 - pulse/ru/docs/integration/vault/index.md | 26 - pulse/ru/docs/integration/yandex/index.md | 34 - pulse/ru/docs/message/afk/index.md | 79 - pulse/ru/docs/message/anvil/index.md | 27 - pulse/ru/docs/message/auto/index.md | 72 - pulse/ru/docs/message/book/index.md | 27 - pulse/ru/docs/message/brand/index.md | 56 - .../ru/docs/message/format/fixation/index.md | 40 - .../message/format/moderation/caps/index.md | 39 - .../message/format/moderation/delete/index.md | 62 - .../message/format/moderation/flood/index.md | 42 - .../docs/message/format/moderation/index.md | 26 - .../message/format/moderation/newbie/index.md | 62 - .../message/format/moderation/swear/index.md | 59 - pulse/ru/docs/message/format/names/index.md | 75 - .../message/format/questionanswer/index.md | 62 - .../docs/message/format/replacement/index.md | 104 - .../docs/message/format/scoreboard/index.md | 50 - .../ru/docs/message/format/translate/index.md | 43 - pulse/ru/docs/message/format/world/index.md | 41 - pulse/ru/docs/message/greeting/index.md | 45 - pulse/ru/docs/message/index.md | 57 - pulse/ru/docs/message/join/index.md | 55 - .../docs/message/objective/belowname/index.md | 61 - pulse/ru/docs/message/objective/index.md | 26 - .../docs/message/objective/tabname/index.md | 55 - pulse/ru/docs/message/quit/index.md | 46 - pulse/ru/docs/message/rightclick/index.md | 56 - pulse/ru/docs/message/sidebar/index.md | 44 - pulse/ru/docs/message/sign/index.md | 27 - pulse/ru/docs/message/status/icon/index.md | 45 - pulse/ru/docs/message/status/index.md | 26 - pulse/ru/docs/message/status/motd/index.md | 43 - pulse/ru/docs/message/status/players/index.md | 97 - pulse/ru/docs/message/status/version/index.md | 52 - pulse/ru/docs/message/tab/footer/index.md | 45 - pulse/ru/docs/message/tab/header/index.md | 45 - pulse/ru/docs/message/tab/index.md | 30 - .../docs/message/tab/playerlistname/index.md | 54 - pulse/ru/docs/message/update/index.md | 49 - pulse/ru/files/command.yml | 955 - pulse/ru/files/config.yml | 143 - pulse/ru/files/integration.yml | 210 - pulse/ru/files/localizations/en_us.yml | 1074 - pulse/ru/files/localizations/ru_ru.yml | 1074 - pulse/ru/files/message.yml | 636 - pulse/ru/files/permission.yml | 1272 - pulse/ru/index.md | 56 - pulse/ru/metrics/index.md | 191 - pulse/ru/package-lock.json | 3290 --- pulse/ru/package.json | 15 - pulse/ru/parts/fcolor.md | 16 - pulse/ru/parts/ticker.md | 15 - pulse/ru/parts/words.md | 19 - pulse/ru/public/advancement1.png | Bin 84549 -> 0 bytes pulse/ru/public/advancement2.png | Bin 24506 -> 0 bytes pulse/ru/public/advancement3.png | Bin 33124 -> 0 bytes pulse/ru/public/afkglobalmessage.png | Bin 3329 -> 0 bytes pulse/ru/public/afksuffix.png | Bin 1206 -> 0 bytes pulse/ru/public/anvil.gif | Bin 61005 -> 0 bytes pulse/ru/public/argument_showcase.png | Bin 10867 -> 0 bytes pulse/ru/public/auto.png | Bin 4018 -> 0 bytes pulse/ru/public/belowname.png | Bin 56153 -> 0 bytes pulse/ru/public/bold.png | Bin 11500 -> 0 bytes pulse/ru/public/book.gif | Bin 150830 -> 0 bytes pulse/ru/public/boosty.svg | 58 - pulse/ru/public/bossbar_enderdragon.png | Bin 2161 -> 0 bytes pulse/ru/public/bossbar_raid.png | Bin 2213 -> 0 bytes pulse/ru/public/bossbar_wither.png | Bin 7656 -> 0 bytes pulse/ru/public/brand.png | Bin 1134 -> 0 bytes pulse/ru/public/bubble.gif | Bin 512184 -> 0 bytes pulse/ru/public/bubble.svg | 3 - pulse/ru/public/bukkit.svg | 82 - pulse/ru/public/bungeecord.svg | 37 - pulse/ru/public/chat.png | Bin 732 -> 0 bytes pulse/ru/public/chatconsole.png | Bin 978 -> 0 bytes pulse/ru/public/code.svg | 3 - pulse/ru/public/colormessage.png | Bin 1054 -> 0 bytes pulse/ru/public/commandanon.png | Bin 14128 -> 0 bytes pulse/ru/public/commandball.png | Bin 3955 -> 0 bytes pulse/ru/public/commandban.png | Bin 51501 -> 0 bytes pulse/ru/public/commandbanconnect.png | Bin 3486 -> 0 bytes pulse/ru/public/commandbanlist.png | Bin 2737 -> 0 bytes pulse/ru/public/commandbanlistglobalgui.png | Bin 2809 -> 0 bytes pulse/ru/public/commandbanlistplayer.png | Bin 4051 -> 0 bytes pulse/ru/public/commandbanlistplayergui.png | Bin 2911 -> 0 bytes pulse/ru/public/commandbanplayer.png | Bin 26262 -> 0 bytes pulse/ru/public/commandbroadcast.png | Bin 2929 -> 0 bytes pulse/ru/public/commandchatcolor.png | Bin 7993 -> 0 bytes pulse/ru/public/commandchatcolorother.png | Bin 2087 -> 0 bytes pulse/ru/public/commandchatsetting.gif | Bin 1800543 -> 0 bytes pulse/ru/public/commandchatstyle.png | Bin 3361 -> 0 bytes pulse/ru/public/commandclearchat.png | Bin 2383 -> 0 bytes pulse/ru/public/commandclearmail.png | Bin 3899 -> 0 bytes pulse/ru/public/commandcoin.png | Bin 1779 -> 0 bytes pulse/ru/public/commanddeletemessage.png | Bin 19075 -> 0 bytes pulse/ru/public/commanddice.png | Bin 3667 -> 0 bytes pulse/ru/public/commanddo.png | Bin 1624 -> 0 bytes pulse/ru/public/commandemit.png | Bin 72247 -> 0 bytes pulse/ru/public/commandflectonepulse.png | Bin 3357 -> 0 bytes pulse/ru/public/commandgeolocate.png | Bin 6936 -> 0 bytes pulse/ru/public/commandhelper.png | Bin 3540 -> 0 bytes pulse/ru/public/commandhelperadmin.png | Bin 1355 -> 0 bytes pulse/ru/public/commandignore.png | Bin 2859 -> 0 bytes pulse/ru/public/commandignorelist.png | Bin 6055 -> 0 bytes pulse/ru/public/commandignorelistgui.png | Bin 2320 -> 0 bytes pulse/ru/public/commandkick.png | Bin 35389 -> 0 bytes pulse/ru/public/commandkickplayer.png | Bin 27199 -> 0 bytes pulse/ru/public/commandmail.png | Bin 4137 -> 0 bytes pulse/ru/public/commandmailplayer.png | Bin 1667 -> 0 bytes pulse/ru/public/commandmaintenance.png | Bin 20163 -> 0 bytes pulse/ru/public/commandmaintenanceserver.png | Bin 12339 -> 0 bytes pulse/ru/public/commandmark.gif | Bin 107909 -> 0 bytes pulse/ru/public/commandme.png | Bin 2272 -> 0 bytes pulse/ru/public/commandmealiase.png | Bin 3612 -> 0 bytes pulse/ru/public/commandmute.png | Bin 48021 -> 0 bytes pulse/ru/public/commandmutelist.png | Bin 3360 -> 0 bytes pulse/ru/public/commandmutelistglobalgui.png | Bin 3109 -> 0 bytes pulse/ru/public/commandmutelistplayergui.png | Bin 3014 -> 0 bytes pulse/ru/public/commandonline.png | Bin 28697 -> 0 bytes pulse/ru/public/commandping.png | Bin 29524 -> 0 bytes pulse/ru/public/commandpoll.png | Bin 63730 -> 0 bytes pulse/ru/public/commandpollend.png | Bin 3982 -> 0 bytes pulse/ru/public/commandpollgui.gif | Bin 325828 -> 0 bytes pulse/ru/public/commandreply.png | Bin 3056 -> 0 bytes pulse/ru/public/commandrockpaperscissors.png | Bin 4884 -> 0 bytes pulse/ru/public/commandsprite.png | Bin 34658 -> 0 bytes pulse/ru/public/commandspy.gif | Bin 1018956 -> 0 bytes pulse/ru/public/commandstream.png | Bin 45922 -> 0 bytes pulse/ru/public/commandstreamprefix.png | Bin 518 -> 0 bytes pulse/ru/public/commandsymbol.png | Bin 36518 -> 0 bytes pulse/ru/public/commandsyntax.png | Bin 11226 -> 0 bytes pulse/ru/public/commandtell.png | Bin 4308 -> 0 bytes pulse/ru/public/commandtellmyself.png | Bin 3427 -> 0 bytes pulse/ru/public/commandtictactoe.png | Bin 6887 -> 0 bytes pulse/ru/public/commandtictactoedefault.png | Bin 3114 -> 0 bytes pulse/ru/public/commandtoponline.png | Bin 16327 -> 0 bytes pulse/ru/public/commandtranslateto.png | Bin 3597 -> 0 bytes pulse/ru/public/commandtry.png | Bin 3267 -> 0 bytes pulse/ru/public/commandunban.png | Bin 15654 -> 0 bytes pulse/ru/public/commandunignore.png | Bin 2952 -> 0 bytes pulse/ru/public/commandunmute.png | Bin 15416 -> 0 bytes pulse/ru/public/commandunwarn.png | Bin 15886 -> 0 bytes pulse/ru/public/commandwarn.png | Bin 43751 -> 0 bytes pulse/ru/public/commandwarnlist.png | Bin 3177 -> 0 bytes pulse/ru/public/commandwarnlistglobalgui.png | Bin 3344 -> 0 bytes pulse/ru/public/commandwarnlistplayergui.png | Bin 3252 -> 0 bytes pulse/ru/public/console.gif | Bin 199866 -> 0 bytes pulse/ru/public/coords.png | Bin 2598 -> 0 bytes pulse/ru/public/deathserver.png | Bin 1817 -> 0 bytes pulse/ru/public/debugstick.png | Bin 9599 -> 0 bytes pulse/ru/public/delete.gif | Bin 380447 -> 0 bytes pulse/ru/public/destinationaction_bar.png | Bin 124351 -> 0 bytes pulse/ru/public/destinationboss_bar.png | Bin 2810 -> 0 bytes pulse/ru/public/destinationtext_screen.png | Bin 70426 -> 0 bytes pulse/ru/public/destinationtitle.png | Bin 144809 -> 0 bytes pulse/ru/public/destinationtoast.png | Bin 1548 -> 0 bytes pulse/ru/public/discord.svg | 37 - pulse/ru/public/discordchannelinfo.png | Bin 563 -> 0 bytes pulse/ru/public/discordcontent.png | Bin 2060 -> 0 bytes pulse/ru/public/discorddevelopers.png | Bin 39498 -> 0 bytes pulse/ru/public/discordembed.png | Bin 2199 -> 0 bytes pulse/ru/public/discordmessage.png | Bin 4093 -> 0 bytes pulse/ru/public/discordminecraftmessage.png | Bin 911 -> 0 bytes pulse/ru/public/discordpresence.png | Bin 8161 -> 0 bytes pulse/ru/public/discordwebhook.png | Bin 1743 -> 0 bytes pulse/ru/public/documentation.svg | 37 - pulse/ru/public/emojimessage.png | Bin 1059 -> 0 bytes pulse/ru/public/emojiminecraft.png | Bin 1409 -> 0 bytes pulse/ru/public/fcolor.png | Bin 32408 -> 0 bytes pulse/ru/public/filter.png | Bin 1343 -> 0 bytes pulse/ru/public/fixation.png | Bin 30693 -> 0 bytes pulse/ru/public/flectonepulse.png | Bin 18839 -> 0 bytes pulse/ru/public/flectonepulseeditor.gif | Bin 395848 -> 0 bytes pulse/ru/public/flood.png | Bin 12493 -> 0 bytes pulse/ru/public/folia.svg | 46 - pulse/ru/public/footer.png | Bin 5062 -> 0 bytes pulse/ru/public/gear.svg | 3 - pulse/ru/public/github.svg | 42 - pulse/ru/public/greeting.png | Bin 7664 -> 0 bytes pulse/ru/public/header.png | Bin 7299 -> 0 bytes pulse/ru/public/hover.png | Bin 6108 -> 0 bytes pulse/ru/public/hoverclick.png | Bin 6037 -> 0 bytes pulse/ru/public/image.png | Bin 1183 -> 0 bytes pulse/ru/public/imagemessage.png | Bin 2119 -> 0 bytes pulse/ru/public/imageminecraft.png | Bin 86097 -> 0 bytes pulse/ru/public/italic.png | Bin 2345 -> 0 bytes pulse/ru/public/item.png | Bin 6363 -> 0 bytes pulse/ru/public/join.png | Bin 2266 -> 0 bytes pulse/ru/public/locale.gif | Bin 808742 -> 0 bytes pulse/ru/public/locale.png | Bin 8244 -> 0 bytes pulse/ru/public/mention.png | Bin 2091 -> 0 bytes pulse/ru/public/modrinth.svg | 43 - pulse/ru/public/motd.png | Bin 11880 -> 0 bytes pulse/ru/public/mute.png | Bin 47976 -> 0 bytes pulse/ru/public/namedisplay.png | Bin 871 -> 0 bytes pulse/ru/public/nametab.png | Bin 373 -> 0 bytes pulse/ru/public/nullrecipient.png | Bin 1601 -> 0 bytes pulse/ru/public/obfuscated.png | Bin 10432 -> 0 bytes pulse/ru/public/object.png | Bin 1708 -> 0 bytes pulse/ru/public/objectslot.png | Bin 1254 -> 0 bytes pulse/ru/public/online.png | Bin 1685 -> 0 bytes pulse/ru/public/paper.svg | 37 - pulse/ru/public/ping.png | Bin 1915 -> 0 bytes pulse/ru/public/platforms.svg | 45 - pulse/ru/public/playercount.png | Bin 9924 -> 0 bytes pulse/ru/public/playerlist.png | Bin 3267 -> 0 bytes pulse/ru/public/playerlistname.png | Bin 967 -> 0 bytes pulse/ru/public/prompt.png | Bin 2896 -> 0 bytes pulse/ru/public/purpur.svg | 105 - pulse/ru/public/questionanswer.png | Bin 18119 -> 0 bytes pulse/ru/public/quit.png | Bin 1279 -> 0 bytes pulse/ru/public/rightclick.png | Bin 26870 -> 0 bytes pulse/ru/public/roll_1.png | Bin 676 -> 0 bytes pulse/ru/public/roll_2.png | Bin 2228 -> 0 bytes pulse/ru/public/roll_3.png | Bin 1211 -> 0 bytes pulse/ru/public/sample1.png | Bin 1229 -> 0 bytes pulse/ru/public/sample2.png | Bin 544 -> 0 bytes pulse/ru/public/scoreboard.png | Bin 259672 -> 0 bytes pulse/ru/public/server-icon-1.png | Bin 927 -> 0 bytes pulse/ru/public/server-icon-2.png | Bin 913 -> 0 bytes pulse/ru/public/servericon.png | Bin 8289 -> 0 bytes pulse/ru/public/signoak.gif | Bin 43724 -> 0 bytes pulse/ru/public/skin.png | Bin 32383 -> 0 bytes pulse/ru/public/skinsrestorer.png | Bin 1009 -> 0 bytes pulse/ru/public/spigot.svg | 45 - pulse/ru/public/spoiler.png | Bin 21912 -> 0 bytes pulse/ru/public/spoilermessage.png | Bin 1387 -> 0 bytes pulse/ru/public/spoilerminecraft.png | Bin 4029 -> 0 bytes pulse/ru/public/stats.png | Bin 4598 -> 0 bytes pulse/ru/public/stop.png | Bin 689 -> 0 bytes pulse/ru/public/strikethrough.png | Bin 10607 -> 0 bytes pulse/ru/public/structure.svg | 34 - pulse/ru/public/swear.png | Bin 760 -> 0 bytes pulse/ru/public/swearsee.png | Bin 2026 -> 0 bytes pulse/ru/public/tab.png | Bin 10568 -> 0 bytes pulse/ru/public/tagimageminecraft.png | Bin 57663 -> 0 bytes pulse/ru/public/task.png | Bin 1740 -> 0 bytes pulse/ru/public/telegramid.png | Bin 2802 -> 0 bytes pulse/ru/public/telegrammessage1.png | Bin 980 -> 0 bytes pulse/ru/public/telegrammessage2.png | Bin 2813 -> 0 bytes pulse/ru/public/telegramminecraftmessage.png | Bin 935 -> 0 bytes pulse/ru/public/tps.png | Bin 1947 -> 0 bytes pulse/ru/public/translate.png | Bin 166064 -> 0 bytes pulse/ru/public/twitchclientid.png | Bin 15121 -> 0 bytes pulse/ru/public/twitchmessage.png | Bin 1367 -> 0 bytes pulse/ru/public/twitchminecraftmessage.png | Bin 1225 -> 0 bytes pulse/ru/public/twitchtoken.png | Bin 17823 -> 0 bytes pulse/ru/public/underline.png | Bin 9785 -> 0 bytes pulse/ru/public/update.png | Bin 2001 -> 0 bytes pulse/ru/public/url.png | Bin 7135 -> 0 bytes pulse/ru/public/urlmessage.png | Bin 2087 -> 0 bytes pulse/ru/public/urlminecraft.png | Bin 8674 -> 0 bytes pulse/ru/public/velocity.svg | 38 - pulse/ru/public/version.png | Bin 4520 -> 0 bytes pulse/ru/public/weather.png | Bin 929 -> 0 bytes pulse/ru/public/welcomemessage.png | Bin 1933 -> 0 bytes pulse/ru/public/worldchat.png | Bin 774 -> 0 bytes pulse/ru/public/worldtab.png | Bin 3823 -> 0 bytes pulse/ru/public/youtube.svg | 37 - pulse/ru/scripts/region.py | 36 - source.config.ts | 18 + src/app/(main)/about/page.tsx | 13 + src/app/(main)/chat/page.tsx | 13 + src/app/(main)/layout.tsx | 43 + src/app/(main)/mix/page.tsx | 13 + src/app/(main)/page.tsx | 12 + src/app/api/search/route.ts | 6 + src/app/favicon.ico | Bin 0 -> 4286 bytes src/app/globals.css | 101 + src/app/pulse/(home)/layout.tsx | 53 + src/app/pulse/(home)/page.tsx | 16 + src/app/pulse/docs/[[...slug]]/page.tsx | 73 + src/app/pulse/docs/layout.tsx | 11 + src/app/pulse/layout.tsx | 17 + src/assets/chat/1.gif | Bin 97469 -> 0 bytes src/assets/chat/2.gif | Bin 15002 -> 0 bytes src/assets/chat/4.gif | Bin 276484 -> 0 bytes src/assets/chat/5.gif | Bin 551030 -> 0 bytes src/assets/chat/6.gif | Bin 5660725 -> 0 bytes .../favicons/android-chrome-192x192.png | Bin 11383 -> 0 bytes .../favicons/android-chrome-512x512.png | Bin 23885 -> 0 bytes src/assets/favicons/apple-touch-icon.png | Bin 11825 -> 0 bytes src/assets/favicons/favicon-16x16.png | Bin 667 -> 0 bytes src/assets/favicons/favicon-32x32.png | Bin 1599 -> 0 bytes src/assets/favicons/favicon.ico | Bin 15406 -> 0 bytes src/assets/favicons/site.webmanifest | 1 - src/assets/logo.png | Bin 9275 -> 0 bytes src/assets/mix/flectonemix.png | Bin 350234 -> 0 bytes src/assets/platforms.svg | 45 - src/components/AboutChat.astro | 41 - src/components/AboutMix.astro | 41 - src/components/Button/HeaderButton.tsx | 22 + src/components/Button/LanguageButton.tsx | 35 + src/components/Button/LinkButton.tsx | 43 + src/components/Button/ThemeButton.tsx | 40 + src/components/Card/Card.tsx | 32 + src/components/Card/GithubCard.tsx | 34 + src/components/Content/FlectoneChat.tsx | 31 + src/components/Content/FlectoneMix.tsx | 30 + src/components/Content/Members.tsx | 20 + src/components/Content/Projects.tsx | 50 + src/components/FlectoneTeam.astro | 26 - src/components/Footer/Footer.tsx | 7 + src/components/Header/Header.tsx | 63 + src/components/Header/HeaderBlock.tsx | 16 + src/components/LangSwitcher.astro | 20 - src/components/Navbar.astro | 39 - src/components/OurProjects.astro | 105 - src/components/Pulse/Authos.tsx | 36 + src/components/Pulse/Features.tsx | 39 + src/components/Pulse/Structure.tsx | 39 + src/components/Pulse/WelcomCard.tsx | 32 + src/components/Svg/Svg.tsx | 42 + src/components/TeamHeader.astro | 15 - src/components/shared/Carousel.tsx | 53 - src/components/shared/MobileMenu.tsx | 29 - src/components/shared/ModeToggle.tsx | 32 - src/components/shared/UserCard.tsx | 38 - src/components/ui/avatar.tsx | 48 - src/components/ui/button.tsx | 57 - src/components/ui/card.tsx | 76 - src/components/ui/carousel.tsx | 260 - src/components/ui/sheet.tsx | 138 - src/content/docs/api.mdx | 143 + src/content/docs/command/afk.mdx | 35 + src/content/docs/command/anon.mdx | 47 + src/content/docs/command/ball.mdx | 58 + src/content/docs/command/ban.mdx | 120 + src/content/docs/command/banlist.mdx | 96 + src/content/docs/command/broadcast.mdx | 56 + src/content/docs/command/chatcolor.mdx | 87 + .../content/docs/command/chatsetting.mdx | 97 +- src/content/docs/command/clearchat.mdx | 59 + src/content/docs/command/clearmail.mdx | 59 + src/content/docs/command/coin.mdx | 73 + src/content/docs/command/deletemessage.mdx | 67 + src/content/docs/command/dice.mdx | 71 + src/content/docs/command/do.mdx | 56 + .../content/docs/command/emit.mdx | 70 +- src/content/docs/command/flectonepulse.mdx | 91 + src/content/docs/command/geolocate.mdx | 65 + src/content/docs/command/helper.mdx | 77 + src/content/docs/command/ignore.mdx | 80 + src/content/docs/command/ignorelist.mdx | 72 + src/content/docs/command/index.mdx | 77 + src/content/docs/command/kick.mdx | 78 + src/content/docs/command/mail.mdx | 70 + src/content/docs/command/maintenance.mdx | 76 + src/content/docs/command/me.mdx | 56 + src/content/docs/command/meta.json | 5 + .../content/docs/command/mute.mdx | 80 +- src/content/docs/command/mutelist.mdx | 99 + src/content/docs/command/online.mdx | 75 + src/content/docs/command/ping.mdx | 62 + .../content/docs/command/poll.mdx | 88 +- src/content/docs/command/reply.mdx | 59 + .../docs/command/rockpaperscissors.mdx | 122 + .../content/docs/command/sprite.mdx | 64 +- src/content/docs/command/spy.mdx | 71 + src/content/docs/command/stream.mdx | 85 + src/content/docs/command/symbol.mdx | 85 + src/content/docs/command/tell.mdx | 74 + .../content/docs/command/tictactoe.mdx | 74 +- src/content/docs/command/toponline.mdx | 70 + src/content/docs/command/translateto.mdx | 78 + src/content/docs/command/try.mdx | 77 + src/content/docs/command/unban.mdx | 75 + src/content/docs/command/unmute.mdx | 75 + src/content/docs/command/unwarn.mdx | 75 + .../content/docs/command/warn.mdx | 85 +- src/content/docs/command/warnlist.mdx | 99 + .../content/docs/config/cache.mdx | 25 +- .../content/docs/config/command.mdx | 23 +- .../content/docs/config/database.mdx | 30 +- src/content/docs/config/editor.mdx | 27 + src/content/docs/config/index.mdx | 18 + .../content/docs/config/language.mdx | 35 +- .../content/docs/config/logger.mdx | 30 +- src/content/docs/config/meta.json | 16 + .../content/docs/config/metrics.mdx | 26 +- .../content/docs/config/module.mdx | 42 +- .../content/docs/config/proxy.mdx | 37 +- .../index.md => src/content/docs/index.mdx | 148 +- src/content/docs/integration/advancedban.mdx | 41 + src/content/docs/integration/deepl.mdx | 25 + .../content/docs/integration/discord.mdx | 117 +- src/content/docs/integration/floodgate.mdx | 14 + src/content/docs/integration/geyser.mdx | 22 + src/content/docs/integration/index.mdx | 29 + .../docs/integration/interactivechat.mdx | 39 +- src/content/docs/integration/itemsadder.mdx | 22 + src/content/docs/integration/libertybans.mdx | 43 + src/content/docs/integration/litebans.mdx | 43 + src/content/docs/integration/luckperms.mdx | 32 + src/content/docs/integration/maintenance.mdx | 29 + src/content/docs/integration/meta.json | 5 + .../docs/integration/mineplaceholders.mdx | 35 + src/content/docs/integration/minimotd.mdx | 29 + src/content/docs/integration/motd.mdx | 32 + .../docs/integration/placeholderapi.mdx | 48 +- src/content/docs/integration/plasmovoice.mdx | 26 + src/content/docs/integration/simplevoice.mdx | 26 + .../docs/integration/skinsrestorer.mdx | 26 + src/content/docs/integration/supervanish.mdx | 25 + src/content/docs/integration/tab.mdx | 48 + .../content/docs/integration/telegram.mdx | 97 +- src/content/docs/integration/triton.mdx | 22 + .../content/docs/integration/twitch.mdx | 91 +- src/content/docs/integration/vault.mdx | 22 + src/content/docs/integration/yandex.mdx | 34 + src/content/docs/message/afk.mdx | 76 + src/content/docs/message/anvil.mdx | 23 + src/content/docs/message/auto.mdx | 66 + src/content/docs/message/book.mdx | 23 + .../content/docs/message/bossbar.mdx | 53 +- src/content/docs/message/brand.mdx | 49 + .../content/docs/message/bubble.mdx | 78 +- .../content/docs/message/chat.mdx | 88 +- .../content/docs/message/format/fcolor.mdx | 39 +- src/content/docs/message/format/fixation.mdx | 35 + .../content/docs/message/format/index.mdx | 36 +- .../content/docs/message/format/mention.mdx | 66 +- src/content/docs/message/format/meta.json | 9 + .../docs/message/format/moderation/caps.mdx | 35 + .../docs/message/format/moderation/delete.mdx | 54 + .../docs/message/format/moderation/flood.mdx | 40 + .../docs/message/format/moderation/index.mdx | 21 + .../docs/message/format/moderation/newbie.mdx | 54 + .../docs/message/format/moderation/swear.mdx | 53 + src/content/docs/message/format/names.mdx | 69 + .../content/docs/message/format/object.mdx | 68 +- .../docs/message/format/questionanswer.mdx | 56 + .../docs/message/format/replacement.mdx | 95 + .../docs/message/format/scoreboard.mdx | 46 + src/content/docs/message/format/world.mdx | 37 + src/content/docs/message/greeting.mdx | 39 + src/content/docs/message/index.mdx | 52 + src/content/docs/message/join.mdx | 49 + src/content/docs/message/meta.json | 28 + .../docs/message/objective/belowname.mdx | 57 + src/content/docs/message/objective/index.mdx | 22 + src/content/docs/message/objective/meta.json | 6 + .../docs/message/objective/tabname.mdx | 51 + src/content/docs/message/quit.mdx | 40 + src/content/docs/message/rightclick.mdx | 50 + src/content/docs/message/sidebar.mdx | 38 + src/content/docs/message/sign.mdx | 23 + src/content/docs/message/status/icon.mdx | 41 + src/content/docs/message/status/index.mdx | 21 + src/content/docs/message/status/motd.mdx | 37 + src/content/docs/message/status/players.mdx | 88 + src/content/docs/message/status/version.mdx | 45 + src/content/docs/message/tab/footer.mdx | 39 + src/content/docs/message/tab/header.mdx | 39 + src/content/docs/message/tab/index.mdx | 25 + .../docs/message/tab/playerlistname.mdx | 48 + src/content/docs/message/translate.mdx | 36 + src/content/docs/message/update.mdx | 43 + .../content/docs/message/vanilla.mdx | 91 +- src/content/docs/meta.json | 15 + {pulse/en => src}/files/command.yml | 0 {pulse/en => src}/files/config.yml | 0 {pulse/en => src}/files/integration.yml | 0 .../en => src}/files/localizations/en_us.yml | 0 .../en => src}/files/localizations/ru_ru.yml | 0 {pulse/en => src}/files/message.yml | 0 {pulse/en => src}/files/permission.yml | 0 src/i18n/request.ts | 12 + src/layouts/Layout.astro | 64 - src/lib/layout.shared.tsx | 37 + src/lib/source.ts | 18 + src/lib/utils.ts | 6 +- src/locales/en.json | 27 - src/locales/ru.json | 27 - src/mdx-components.tsx | 31 + src/pages/about.astro | 11 - src/pages/chat.astro | 8 - src/pages/en/about.astro | 11 - src/pages/en/chat.astro | 8 - src/pages/en/index.astro | 8 - src/pages/en/mix.astro | 8 - src/pages/index.astro | 8 - src/pages/mix.astro | 8 - .../parts/aliases.md => src/parts/aliases.mdx | 4 +- .../ru/parts/color.md => src/parts/color.mdx | 0 .../cooldown.md => src/parts/cooldown.mdx | 19 +- .../parts/destination.mdx | 162 +- .../parts/enable.md => src/parts/enable.mdx | 0 src/parts/fcolor.mdx | 15 + .../parts/legacyColors.mdx | 0 .../messageTag.md => src/parts/messageTag.mdx | 5 +- .../objective.md => src/parts/objective.mdx | 0 .../parts/perPage.md => src/parts/perPage.mdx | 0 .../parts/permission/cooldown.mdx | 0 .../parts/permission/other.mdx | 0 .../parts/permission/permissionTier3.mdx | 0 .../parts/permission/permissionTier4.mdx | 0 .../parts/permission/sound.mdx | 0 .../parts/random.md => src/parts/random.mdx | 0 .../ru/parts/range.md => src/parts/range.mdx | 6 +- .../ru/parts/sound.md => src/parts/sound.mdx | 21 +- .../parts/suggestOfflinePlayers.mdx | 4 +- src/parts/ticker.mdx | 24 + .../parts/vanillaWarn.mdx | 15 +- src/parts/words.mdx | 22 + src/styles/globals.css | 91 - src/types/css.d.ts | 5 + src/types/svg.d.ts | 5 + src/utils/i18n.ts | 19 - tailwind.config.js | 61 - tsconfig.json | 38 +- 993 files changed, 23127 insertions(+), 57438 deletions(-) create mode 100644 .source/browser.ts create mode 100644 .source/dynamic.ts create mode 100644 .source/server.ts create mode 100644 .source/source.config.mjs delete mode 100644 LICENSE delete mode 100644 astro-i18next.config.ts delete mode 100644 astro.config.mjs delete mode 100644 components.json create mode 100644 eslint.config.mjs create mode 100644 messages/en.json create mode 100644 messages/ru.json create mode 100644 next.config.mjs create mode 100644 postcss.config.mjs create mode 100644 public/chat-en.svg create mode 100644 public/chat-ru.svg create mode 100644 public/graph.svg create mode 100644 public/language.svg rename {pulse/en/public => public}/logo.png (100%) create mode 100644 public/logo.svg create mode 100644 public/mix.svg create mode 100644 public/moon.svg rename {pulse/en/public => public/pulse}/advancement1.png (100%) rename {pulse/en/public => public/pulse}/advancement2.png (100%) rename {pulse/en/public => public/pulse}/advancement3.png (100%) rename {pulse/en/public => public/pulse}/afkglobalmessage.png (100%) rename {pulse/en/public => public/pulse}/afksuffix.png (100%) rename {pulse/en/public => public/pulse}/anvil.gif (100%) rename {pulse/en/public => public/pulse}/argument_showcase.png (100%) rename {pulse/en/public => public/pulse}/auto.png (100%) rename {pulse/en/public => public/pulse}/belowname.png (100%) rename {pulse/en/public => public/pulse}/bold.png (100%) rename {pulse/en/public => public/pulse}/book.gif (100%) rename {pulse/en/public => public/pulse}/boosty.svg (100%) rename {pulse/en/public => public/pulse}/bossbar_enderdragon.png (100%) rename {pulse/en/public => public/pulse}/bossbar_raid.png (100%) rename {pulse/en/public => public/pulse}/bossbar_wither.png (100%) rename {pulse/en/public => public/pulse}/brand.png (100%) rename {pulse/en/public => public/pulse}/bubble.gif (100%) rename {pulse/en/public => public/pulse}/bubble.svg (100%) rename {pulse/en/public => public/pulse}/bukkit.svg (100%) rename {pulse/en/public => public/pulse}/bungeecord.svg (100%) rename pulse/en/public/caps.png => public/pulse/caps copy.png (100%) rename {pulse/ru/public => public/pulse}/caps.png (100%) rename {pulse/en/public => public/pulse}/chat.png (100%) rename {pulse/en/public => public/pulse}/chatconsole.png (100%) rename {pulse/en/public => public/pulse}/code.svg (100%) rename {pulse/en/public => public/pulse}/colormessage.png (100%) rename {pulse/en/public => public/pulse}/commandanon.png (100%) rename {pulse/en/public => public/pulse}/commandball.png (100%) rename {pulse/en/public => public/pulse}/commandban.png (100%) rename {pulse/en/public => public/pulse}/commandbanconnect.png (100%) rename {pulse/en/public => public/pulse}/commandbanlist.png (100%) rename {pulse/en/public => public/pulse}/commandbanlistglobalgui.png (100%) rename {pulse/en/public => public/pulse}/commandbanlistplayer.png (100%) rename {pulse/en/public => public/pulse}/commandbanlistplayergui.png (100%) rename {pulse/en/public => public/pulse}/commandbanplayer.png (100%) rename {pulse/en/public => public/pulse}/commandbroadcast.png (100%) rename {pulse/en/public => public/pulse}/commandchatcolor.png (100%) rename {pulse/en/public => public/pulse}/commandchatcolorother.png (100%) rename {pulse/en/public => public/pulse}/commandchatsetting.gif (100%) rename {pulse/en/public => public/pulse}/commandchatstyle.png (100%) rename {pulse/en/public => public/pulse}/commandclearchat.png (100%) rename {pulse/en/public => public/pulse}/commandclearmail.png (100%) rename {pulse/en/public => public/pulse}/commandcoin.png (100%) rename {pulse/en/public => public/pulse}/commanddeletemessage.png (100%) rename {pulse/en/public => public/pulse}/commanddice.png (100%) rename {pulse/en/public => public/pulse}/commanddo.png (100%) rename {pulse/en/public => public/pulse}/commandemit.png (100%) rename {pulse/en/public => public/pulse}/commandflectonepulse.png (100%) rename {pulse/en/public => public/pulse}/commandgeolocate.png (100%) rename {pulse/en/public => public/pulse}/commandhelper.png (100%) rename {pulse/en/public => public/pulse}/commandhelperadmin.png (100%) rename {pulse/en/public => public/pulse}/commandignore.png (100%) rename {pulse/en/public => public/pulse}/commandignorelist.png (100%) rename {pulse/en/public => public/pulse}/commandignorelistgui.png (100%) rename {pulse/en/public => public/pulse}/commandkick.png (100%) rename {pulse/en/public => public/pulse}/commandkickplayer.png (100%) rename {pulse/en/public => public/pulse}/commandmail.png (100%) rename {pulse/en/public => public/pulse}/commandmailplayer.png (100%) rename {pulse/en/public => public/pulse}/commandmaintenance.png (100%) rename {pulse/en/public => public/pulse}/commandmaintenanceserver.png (100%) rename {pulse/en/public => public/pulse}/commandmark.gif (100%) rename {pulse/en/public => public/pulse}/commandme.png (100%) rename {pulse/en/public => public/pulse}/commandmealiase.png (100%) rename {pulse/en/public => public/pulse}/commandmute.png (100%) rename {pulse/en/public => public/pulse}/commandmutelist.png (100%) rename {pulse/en/public => public/pulse}/commandmutelistglobalgui.png (100%) rename {pulse/en/public => public/pulse}/commandmutelistplayergui.png (100%) rename {pulse/en/public => public/pulse}/commandonline.png (100%) rename {pulse/en/public => public/pulse}/commandping.png (100%) rename {pulse/en/public => public/pulse}/commandpoll.png (100%) rename {pulse/en/public => public/pulse}/commandpollend.png (100%) rename {pulse/en/public => public/pulse}/commandpollgui.gif (100%) rename {pulse/en/public => public/pulse}/commandreply.png (100%) rename {pulse/en/public => public/pulse}/commandrockpaperscissors.png (100%) rename {pulse/en/public => public/pulse}/commandsprite.png (100%) rename {pulse/en/public => public/pulse}/commandspy.gif (100%) rename {pulse/en/public => public/pulse}/commandstream.png (100%) rename {pulse/en/public => public/pulse}/commandstreamprefix.png (100%) rename {pulse/en/public => public/pulse}/commandsymbol.png (100%) rename {pulse/en/public => public/pulse}/commandsyntax.png (100%) rename {pulse/en/public => public/pulse}/commandtell.png (100%) rename {pulse/en/public => public/pulse}/commandtellmyself.png (100%) rename {pulse/en/public => public/pulse}/commandtictactoe.png (100%) rename {pulse/en/public => public/pulse}/commandtictactoedefault.png (100%) rename {pulse/en/public => public/pulse}/commandtoponline.png (100%) rename {pulse/en/public => public/pulse}/commandtranslateto.png (100%) rename {pulse/en/public => public/pulse}/commandtry.png (100%) rename {pulse/en/public => public/pulse}/commandunban.png (100%) rename {pulse/en/public => public/pulse}/commandunignore.png (100%) rename {pulse/en/public => public/pulse}/commandunmute.png (100%) rename {pulse/en/public => public/pulse}/commandunwarn.png (100%) rename {pulse/en/public => public/pulse}/commandwarn.png (100%) rename {pulse/en/public => public/pulse}/commandwarnlist.png (100%) rename {pulse/en/public => public/pulse}/commandwarnlistglobalgui.png (100%) rename {pulse/en/public => public/pulse}/commandwarnlistplayergui.png (100%) rename {pulse/en/public => public/pulse}/console.gif (100%) rename {pulse/en/public => public/pulse}/coords.png (100%) rename {pulse/en/public => public/pulse}/deathserver.png (100%) rename {pulse/en/public => public/pulse}/debugstick.png (100%) rename {pulse/en/public => public/pulse}/delete.gif (100%) rename {pulse/en/public => public/pulse}/destinationaction_bar.png (100%) rename {pulse/en/public => public/pulse}/destinationboss_bar.png (100%) rename {pulse/en/public => public/pulse}/destinationtext_screen.png (100%) rename {pulse/en/public => public/pulse}/destinationtitle.png (100%) rename {pulse/en/public => public/pulse}/destinationtoast.png (100%) rename {pulse/en/public => public/pulse}/discord.svg (100%) rename {pulse/en/public => public/pulse}/discordchannelinfo.png (100%) rename {pulse/en/public => public/pulse}/discordcontent.png (100%) rename {pulse/en/public => public/pulse}/discorddevelopers.png (100%) rename {pulse/en/public => public/pulse}/discordembed.png (100%) rename {pulse/en/public => public/pulse}/discordmessage.png (100%) rename {pulse/en/public => public/pulse}/discordminecraftmessage.png (100%) rename {pulse/en/public => public/pulse}/discordpresence.png (100%) rename {pulse/en/public => public/pulse}/discordwebhook.png (100%) rename {pulse/en/public => public/pulse}/documentation.svg (100%) rename {pulse/en/public => public/pulse}/emojimessage.png (100%) rename {pulse/en/public => public/pulse}/emojiminecraft.png (100%) rename {pulse/en/public => public/pulse}/fcolor.png (100%) rename {pulse/en/public => public/pulse}/filter.png (100%) rename {pulse/en/public => public/pulse}/fixation.png (100%) rename {pulse/en/public => public/pulse}/flectonepulse.png (100%) rename {pulse/en/public => public/pulse}/flectonepulseeditor.gif (100%) rename {pulse/en/public => public/pulse}/flood.png (100%) rename {pulse/en/public => public/pulse}/folia.svg (100%) rename {pulse/en/public => public/pulse}/footer.png (100%) rename {pulse/en/public => public/pulse}/gear.svg (100%) rename {pulse/en/public => public/pulse}/github.svg (100%) rename {pulse/en/public => public/pulse}/greeting.png (100%) rename {pulse/en/public => public/pulse}/header.png (100%) rename {pulse/en/public => public/pulse}/hover.png (100%) rename {pulse/en/public => public/pulse}/hoverclick.png (100%) rename {pulse/en/public => public/pulse}/image.png (100%) rename {pulse/en/public => public/pulse}/imagemessage.png (100%) rename {pulse/en/public => public/pulse}/imageminecraft.png (100%) rename {pulse/en/public => public/pulse}/italic.png (100%) rename {pulse/en/public => public/pulse}/item.png (100%) rename {pulse/en/public => public/pulse}/join.png (100%) rename {pulse/en/public => public/pulse}/locale.gif (100%) rename {pulse/en/public => public/pulse}/locale.png (100%) rename {pulse/ru/public => public/pulse}/logo.png (100%) rename {pulse/en/public => public/pulse}/mention.png (100%) rename {pulse/en/public => public/pulse}/modrinth.svg (100%) rename {pulse/en/public => public/pulse}/motd.png (100%) rename {pulse/en/public => public/pulse}/mute.png (100%) rename {pulse/en/public => public/pulse}/namedisplay.png (100%) rename {pulse/en/public => public/pulse}/nametab.png (100%) rename {pulse/en/public => public/pulse}/nullrecipient.png (100%) rename {pulse/en/public => public/pulse}/obfuscated.png (100%) rename {pulse/en/public => public/pulse}/object.png (100%) rename {pulse/en/public => public/pulse}/objectslot.png (100%) rename {pulse/en/public => public/pulse}/online.png (100%) rename {pulse/en/public => public/pulse}/paper.svg (100%) rename {pulse/en/public => public/pulse}/ping.png (100%) rename {pulse/en/public => public/pulse}/platforms.svg (100%) rename {pulse/en/public => public/pulse}/playercount.png (100%) rename {pulse/en/public => public/pulse}/playerlist.png (100%) rename {pulse/en/public => public/pulse}/playerlistname.png (100%) rename {pulse/en/public => public/pulse}/prompt.png (100%) create mode 100644 public/pulse/pulsecard1.svg create mode 100644 public/pulse/pulsecard2.svg create mode 100644 public/pulse/pulsecard3.svg create mode 100644 public/pulse/pulsestructure.svg rename {pulse/en/public => public/pulse}/purpur.svg (100%) rename {pulse/en/public => public/pulse}/questionanswer.png (100%) rename {pulse/en/public => public/pulse}/quit.png (100%) rename {pulse/en/public => public/pulse}/rightclick.png (100%) rename {pulse/en/public => public/pulse}/roll_1.png (100%) rename {pulse/en/public => public/pulse}/roll_2.png (100%) rename {pulse/en/public => public/pulse}/roll_3.png (100%) rename {pulse/en/public => public/pulse}/sample1.png (100%) rename {pulse/en/public => public/pulse}/sample2.png (100%) rename {pulse/en/public => public/pulse}/scoreboard.png (100%) rename {pulse/en/public => public/pulse}/server-icon-1.png (100%) rename {pulse/en/public => public/pulse}/server-icon-2.png (100%) rename {pulse/en/public => public/pulse}/servericon.png (100%) rename {pulse/en/public => public/pulse}/signoak.gif (100%) rename {pulse/en/public => public/pulse}/skin.png (100%) rename {pulse/en/public => public/pulse}/skinsrestorer.png (100%) rename {pulse/en/public => public/pulse}/spigot.svg (100%) rename {pulse/en/public => public/pulse}/spoiler.png (100%) rename {pulse/en/public => public/pulse}/spoilermessage.png (100%) rename {pulse/en/public => public/pulse}/spoilerminecraft.png (100%) rename {pulse/en/public => public/pulse}/stats.png (100%) rename {pulse/en/public => public/pulse}/stop.png (100%) rename {pulse/en/public => public/pulse}/strikethrough.png (100%) rename {pulse/en/public => public/pulse}/structure.svg (100%) rename {pulse/en/public => public/pulse}/swear.png (100%) rename {pulse/en/public => public/pulse}/swearsee.png (100%) rename {pulse/en/public => public/pulse}/tab.png (100%) rename {pulse/en/public => public/pulse}/tagimageminecraft.png (100%) rename {pulse/en/public => public/pulse}/task.png (100%) rename {pulse/en/public => public/pulse}/telegramid.png (100%) rename {pulse/en/public => public/pulse}/telegrammessage1.png (100%) rename {pulse/en/public => public/pulse}/telegrammessage2.png (100%) rename {pulse/en/public => public/pulse}/telegramminecraftmessage.png (100%) rename {pulse/en/public => public/pulse}/tps.png (100%) rename {pulse/en/public => public/pulse}/translate.png (100%) rename {pulse/en/public => public/pulse}/twitchclientid.png (100%) rename {pulse/en/public => public/pulse}/twitchmessage.png (100%) rename {pulse/en/public => public/pulse}/twitchminecraftmessage.png (100%) rename {pulse/en/public => public/pulse}/twitchtoken.png (100%) rename {pulse/en/public => public/pulse}/underline.png (100%) rename {pulse/en/public => public/pulse}/update.png (100%) rename {pulse/en/public => public/pulse}/url.png (100%) rename {pulse/en/public => public/pulse}/urlmessage.png (100%) rename {pulse/en/public => public/pulse}/urlminecraft.png (100%) rename {pulse/en/public => public/pulse}/velocity.svg (100%) rename {pulse/en/public => public/pulse}/version.png (100%) rename {pulse/en/public => public/pulse}/weather.png (100%) rename {pulse/en/public => public/pulse}/welcomemessage.png (100%) rename {pulse/en/public => public/pulse}/worldchat.png (100%) rename {pulse/en/public => public/pulse}/worldtab.png (100%) rename {pulse/en/public => public/pulse}/youtube.svg (100%) create mode 100644 public/square.svg create mode 100644 public/squaredark.svg create mode 100644 public/sun.svg delete mode 100644 pulse/en/.vitepress/cache/deps/_metadata.json delete mode 100644 pulse/en/.vitepress/cache/deps/chunk-VJWGEPT5.js delete mode 100644 pulse/en/.vitepress/cache/deps/chunk-VJWGEPT5.js.map delete mode 100644 pulse/en/.vitepress/cache/deps/package.json delete mode 100644 pulse/en/.vitepress/cache/deps/vitepress___@vue_devtools-api.js delete mode 100644 pulse/en/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map delete mode 100644 pulse/en/.vitepress/cache/deps/vitepress___@vueuse_core.js delete mode 100644 pulse/en/.vitepress/cache/deps/vitepress___@vueuse_core.js.map delete mode 100644 pulse/en/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js delete mode 100644 pulse/en/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js.map delete mode 100644 pulse/en/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js delete mode 100644 pulse/en/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js.map delete mode 100644 pulse/en/.vitepress/cache/deps/vitepress___minisearch.js delete mode 100644 pulse/en/.vitepress/cache/deps/vitepress___minisearch.js.map delete mode 100644 pulse/en/.vitepress/cache/deps/vue.js delete mode 100644 pulse/en/.vitepress/cache/deps/vue.js.map delete mode 100644 pulse/en/.vitepress/config.mts delete mode 100644 pulse/en/.vitepress/theme/author/PageAuthors.vue delete mode 100644 pulse/en/.vitepress/theme/index.ts delete mode 100644 pulse/en/.vitepress/theme/style.css delete mode 100644 pulse/en/api/index.md delete mode 100644 pulse/en/docs/command/afk/index.md delete mode 100644 pulse/en/docs/command/anon/index.md delete mode 100644 pulse/en/docs/command/ball/index.md delete mode 100644 pulse/en/docs/command/ban/index.md delete mode 100644 pulse/en/docs/command/banlist/index.md delete mode 100644 pulse/en/docs/command/broadcast/index.md delete mode 100644 pulse/en/docs/command/chatcolor/index.md delete mode 100644 pulse/en/docs/command/chatsetting/index.md delete mode 100644 pulse/en/docs/command/clearchat/index.md delete mode 100644 pulse/en/docs/command/clearmail/index.md delete mode 100644 pulse/en/docs/command/coin/index.md delete mode 100644 pulse/en/docs/command/deletemessage/index.md delete mode 100644 pulse/en/docs/command/dice/index.md delete mode 100644 pulse/en/docs/command/do/index.md delete mode 100644 pulse/en/docs/command/emit/index.md delete mode 100644 pulse/en/docs/command/flectonepulse/index.md delete mode 100644 pulse/en/docs/command/geolocate/index.md delete mode 100644 pulse/en/docs/command/helper/index.md delete mode 100644 pulse/en/docs/command/ignore/index.md delete mode 100644 pulse/en/docs/command/ignorelist/index.md delete mode 100644 pulse/en/docs/command/index.md delete mode 100644 pulse/en/docs/command/kick/index.md delete mode 100644 pulse/en/docs/command/mail/index.md delete mode 100644 pulse/en/docs/command/maintenance/index.md delete mode 100644 pulse/en/docs/command/me/index.md delete mode 100644 pulse/en/docs/command/mute/index.md delete mode 100644 pulse/en/docs/command/mutelist/index.md delete mode 100644 pulse/en/docs/command/online/index.md delete mode 100644 pulse/en/docs/command/ping/index.md delete mode 100644 pulse/en/docs/command/poll/index.md delete mode 100644 pulse/en/docs/command/reply/index.md delete mode 100644 pulse/en/docs/command/rockpaperscissors/index.md delete mode 100644 pulse/en/docs/command/sprite/index.md delete mode 100644 pulse/en/docs/command/spy/index.md delete mode 100644 pulse/en/docs/command/stream/index.md delete mode 100644 pulse/en/docs/command/symbol/index.md delete mode 100644 pulse/en/docs/command/tell/index.md delete mode 100644 pulse/en/docs/command/tictactoe/index.md delete mode 100644 pulse/en/docs/command/toponline/index.md delete mode 100644 pulse/en/docs/command/translateto/index.md delete mode 100644 pulse/en/docs/command/try/index.md delete mode 100644 pulse/en/docs/command/unban/index.md delete mode 100644 pulse/en/docs/command/unmute/index.md delete mode 100644 pulse/en/docs/command/unwarn/index.md delete mode 100644 pulse/en/docs/command/warn/index.md delete mode 100644 pulse/en/docs/command/warnlist/index.md delete mode 100644 pulse/en/docs/config/cache/index.md delete mode 100644 pulse/en/docs/config/command/index.md delete mode 100644 pulse/en/docs/config/database/index.md delete mode 100644 pulse/en/docs/config/editor/index.md delete mode 100644 pulse/en/docs/config/index.md delete mode 100644 pulse/en/docs/config/language/index.md delete mode 100644 pulse/en/docs/config/logger/index.md delete mode 100644 pulse/en/docs/config/metrics/index.md delete mode 100644 pulse/en/docs/config/module/index.md delete mode 100644 pulse/en/docs/config/proxy/index.md delete mode 100644 pulse/en/docs/index.md delete mode 100644 pulse/en/docs/integration/advancedban/index.md delete mode 100644 pulse/en/docs/integration/deepl/index.md delete mode 100644 pulse/en/docs/integration/discord/index.md delete mode 100644 pulse/en/docs/integration/floodgate/index.md delete mode 100644 pulse/en/docs/integration/geyser/index.md delete mode 100644 pulse/en/docs/integration/index.md delete mode 100644 pulse/en/docs/integration/interactivechat/index.md delete mode 100644 pulse/en/docs/integration/itemsadder/index.md delete mode 100644 pulse/en/docs/integration/libertybans/index.md delete mode 100644 pulse/en/docs/integration/litebans/index.md delete mode 100644 pulse/en/docs/integration/luckperms/index.md delete mode 100644 pulse/en/docs/integration/maintenance/index.md delete mode 100644 pulse/en/docs/integration/mineplaceholders/index.md delete mode 100644 pulse/en/docs/integration/minimotd/index.md delete mode 100644 pulse/en/docs/integration/motd/index.md delete mode 100644 pulse/en/docs/integration/placeholderapi/index.md delete mode 100644 pulse/en/docs/integration/plasmovoice/index.md delete mode 100644 pulse/en/docs/integration/simplevoice/index.md delete mode 100644 pulse/en/docs/integration/skinsrestorer/index.md delete mode 100644 pulse/en/docs/integration/supervanish/index.md delete mode 100644 pulse/en/docs/integration/tab/index.md delete mode 100644 pulse/en/docs/integration/telegram/index.md delete mode 100644 pulse/en/docs/integration/triton/index.md delete mode 100644 pulse/en/docs/integration/twitch/index.md delete mode 100644 pulse/en/docs/integration/vault/index.md delete mode 100644 pulse/en/docs/integration/yandex/index.md delete mode 100644 pulse/en/docs/message/afk/index.md delete mode 100644 pulse/en/docs/message/anvil/index.md delete mode 100644 pulse/en/docs/message/auto/index.md delete mode 100644 pulse/en/docs/message/book/index.md delete mode 100644 pulse/en/docs/message/bossbar/index.md delete mode 100644 pulse/en/docs/message/brand/index.md delete mode 100644 pulse/en/docs/message/bubble/index.md delete mode 100644 pulse/en/docs/message/chat/index.md delete mode 100644 pulse/en/docs/message/format/fcolor/index.md delete mode 100644 pulse/en/docs/message/format/fixation/index.md delete mode 100644 pulse/en/docs/message/format/index.md delete mode 100644 pulse/en/docs/message/format/mention/index.md delete mode 100644 pulse/en/docs/message/format/moderation/caps/index.md delete mode 100644 pulse/en/docs/message/format/moderation/delete/index.md delete mode 100644 pulse/en/docs/message/format/moderation/flood/index.md delete mode 100644 pulse/en/docs/message/format/moderation/index.md delete mode 100644 pulse/en/docs/message/format/moderation/newbie/index.md delete mode 100644 pulse/en/docs/message/format/moderation/swear/index.md delete mode 100644 pulse/en/docs/message/format/names/index.md delete mode 100644 pulse/en/docs/message/format/object/index.md delete mode 100644 pulse/en/docs/message/format/questionanswer/index.md delete mode 100644 pulse/en/docs/message/format/replacement/index.md delete mode 100644 pulse/en/docs/message/format/scoreboard/index.md delete mode 100644 pulse/en/docs/message/format/translate/index.md delete mode 100644 pulse/en/docs/message/format/world/index.md delete mode 100644 pulse/en/docs/message/greeting/index.md delete mode 100644 pulse/en/docs/message/index.md delete mode 100644 pulse/en/docs/message/join/index.md delete mode 100644 pulse/en/docs/message/objective/belowname/index.md delete mode 100644 pulse/en/docs/message/objective/index.md delete mode 100644 pulse/en/docs/message/objective/tabname/index.md delete mode 100644 pulse/en/docs/message/quit/index.md delete mode 100644 pulse/en/docs/message/rightclick/index.md delete mode 100644 pulse/en/docs/message/sidebar/index.md delete mode 100644 pulse/en/docs/message/sign/index.md delete mode 100644 pulse/en/docs/message/status/icon/index.md delete mode 100644 pulse/en/docs/message/status/index.md delete mode 100644 pulse/en/docs/message/status/motd/index.md delete mode 100644 pulse/en/docs/message/status/players/index.md delete mode 100644 pulse/en/docs/message/status/version/index.md delete mode 100644 pulse/en/docs/message/tab/footer/index.md delete mode 100644 pulse/en/docs/message/tab/header/index.md delete mode 100644 pulse/en/docs/message/tab/index.md delete mode 100644 pulse/en/docs/message/tab/playerlistname/index.md delete mode 100644 pulse/en/docs/message/update/index.md delete mode 100644 pulse/en/docs/message/vanilla/index.md delete mode 100644 pulse/en/index.md delete mode 100644 pulse/en/metrics/index.md delete mode 100644 pulse/en/package.json delete mode 100644 pulse/en/parts/aliases.md delete mode 100644 pulse/en/parts/color.md delete mode 100644 pulse/en/parts/cooldown.md delete mode 100644 pulse/en/parts/destination.md delete mode 100644 pulse/en/parts/enable.md delete mode 100644 pulse/en/parts/fcolor.md delete mode 100644 pulse/en/parts/legacyColors.md delete mode 100644 pulse/en/parts/messageTag.md delete mode 100644 pulse/en/parts/objective.md delete mode 100644 pulse/en/parts/perPage.md delete mode 100644 pulse/en/parts/permission/cooldown.md delete mode 100644 pulse/en/parts/permission/other.md delete mode 100644 pulse/en/parts/permission/permissionTier3.md delete mode 100644 pulse/en/parts/permission/permissionTier4.md delete mode 100644 pulse/en/parts/permission/sound.md delete mode 100644 pulse/en/parts/random.md delete mode 100644 pulse/en/parts/range.md delete mode 100644 pulse/en/parts/sound.md delete mode 100644 pulse/en/parts/suggestOfflinePlayers.md delete mode 100644 pulse/en/parts/ticker.md delete mode 100644 pulse/en/parts/vanillaWarn.md delete mode 100644 pulse/en/parts/words.md delete mode 100644 pulse/en/scripts/region.py delete mode 100644 pulse/ru/.vitepress/config.mts delete mode 100644 pulse/ru/.vitepress/theme/author/PageAuthors.vue delete mode 100644 pulse/ru/.vitepress/theme/index.ts delete mode 100644 pulse/ru/.vitepress/theme/style.css delete mode 100644 pulse/ru/api/index.md delete mode 100644 pulse/ru/docs/command/afk/index.md delete mode 100644 pulse/ru/docs/command/anon/index.md delete mode 100644 pulse/ru/docs/command/ball/index.md delete mode 100644 pulse/ru/docs/command/ban/index.md delete mode 100644 pulse/ru/docs/command/banlist/index.md delete mode 100644 pulse/ru/docs/command/broadcast/index.md delete mode 100644 pulse/ru/docs/command/chatcolor/index.md delete mode 100644 pulse/ru/docs/command/clearchat/index.md delete mode 100644 pulse/ru/docs/command/clearmail/index.md delete mode 100644 pulse/ru/docs/command/coin/index.md delete mode 100644 pulse/ru/docs/command/deletemessage/index.md delete mode 100644 pulse/ru/docs/command/dice/index.md delete mode 100644 pulse/ru/docs/command/do/index.md delete mode 100644 pulse/ru/docs/command/flectonepulse/index.md delete mode 100644 pulse/ru/docs/command/geolocate/index.md delete mode 100644 pulse/ru/docs/command/helper/index.md delete mode 100644 pulse/ru/docs/command/ignore/index.md delete mode 100644 pulse/ru/docs/command/ignorelist/index.md delete mode 100644 pulse/ru/docs/command/index.md delete mode 100644 pulse/ru/docs/command/kick/index.md delete mode 100644 pulse/ru/docs/command/mail/index.md delete mode 100644 pulse/ru/docs/command/maintenance/index.md delete mode 100644 pulse/ru/docs/command/me/index.md delete mode 100644 pulse/ru/docs/command/mutelist/index.md delete mode 100644 pulse/ru/docs/command/online/index.md delete mode 100644 pulse/ru/docs/command/ping/index.md delete mode 100644 pulse/ru/docs/command/reply/index.md delete mode 100644 pulse/ru/docs/command/rockpaperscissors/index.md delete mode 100644 pulse/ru/docs/command/spy/index.md delete mode 100644 pulse/ru/docs/command/stream/index.md delete mode 100644 pulse/ru/docs/command/symbol/index.md delete mode 100644 pulse/ru/docs/command/tell/index.md delete mode 100644 pulse/ru/docs/command/toponline/index.md delete mode 100644 pulse/ru/docs/command/translateto/index.md delete mode 100644 pulse/ru/docs/command/try/index.md delete mode 100644 pulse/ru/docs/command/unban/index.md delete mode 100644 pulse/ru/docs/command/unmute/index.md delete mode 100644 pulse/ru/docs/command/unwarn/index.md delete mode 100644 pulse/ru/docs/command/warnlist/index.md delete mode 100644 pulse/ru/docs/config/editor/index.md delete mode 100644 pulse/ru/docs/config/index.md delete mode 100644 pulse/ru/docs/integration/advancedban/index.md delete mode 100644 pulse/ru/docs/integration/deepl/index.md delete mode 100644 pulse/ru/docs/integration/floodgate/index.md delete mode 100644 pulse/ru/docs/integration/geyser/index.md delete mode 100644 pulse/ru/docs/integration/index.md delete mode 100644 pulse/ru/docs/integration/itemsadder/index.md delete mode 100644 pulse/ru/docs/integration/libertybans/index.md delete mode 100644 pulse/ru/docs/integration/litebans/index.md delete mode 100644 pulse/ru/docs/integration/luckperms/index.md delete mode 100644 pulse/ru/docs/integration/maintenance/index.md delete mode 100644 pulse/ru/docs/integration/mineplaceholders/index.md delete mode 100644 pulse/ru/docs/integration/minimotd/index.md delete mode 100644 pulse/ru/docs/integration/motd/index.md delete mode 100644 pulse/ru/docs/integration/plasmovoice/index.md delete mode 100644 pulse/ru/docs/integration/simplevoice/index.md delete mode 100644 pulse/ru/docs/integration/skinsrestorer/index.md delete mode 100644 pulse/ru/docs/integration/supervanish/index.md delete mode 100644 pulse/ru/docs/integration/tab/index.md delete mode 100644 pulse/ru/docs/integration/triton/index.md delete mode 100644 pulse/ru/docs/integration/vault/index.md delete mode 100644 pulse/ru/docs/integration/yandex/index.md delete mode 100644 pulse/ru/docs/message/afk/index.md delete mode 100644 pulse/ru/docs/message/anvil/index.md delete mode 100644 pulse/ru/docs/message/auto/index.md delete mode 100644 pulse/ru/docs/message/book/index.md delete mode 100644 pulse/ru/docs/message/brand/index.md delete mode 100644 pulse/ru/docs/message/format/fixation/index.md delete mode 100644 pulse/ru/docs/message/format/moderation/caps/index.md delete mode 100644 pulse/ru/docs/message/format/moderation/delete/index.md delete mode 100644 pulse/ru/docs/message/format/moderation/flood/index.md delete mode 100644 pulse/ru/docs/message/format/moderation/index.md delete mode 100644 pulse/ru/docs/message/format/moderation/newbie/index.md delete mode 100644 pulse/ru/docs/message/format/moderation/swear/index.md delete mode 100644 pulse/ru/docs/message/format/names/index.md delete mode 100644 pulse/ru/docs/message/format/questionanswer/index.md delete mode 100644 pulse/ru/docs/message/format/replacement/index.md delete mode 100644 pulse/ru/docs/message/format/scoreboard/index.md delete mode 100644 pulse/ru/docs/message/format/translate/index.md delete mode 100644 pulse/ru/docs/message/format/world/index.md delete mode 100644 pulse/ru/docs/message/greeting/index.md delete mode 100644 pulse/ru/docs/message/index.md delete mode 100644 pulse/ru/docs/message/join/index.md delete mode 100644 pulse/ru/docs/message/objective/belowname/index.md delete mode 100644 pulse/ru/docs/message/objective/index.md delete mode 100644 pulse/ru/docs/message/objective/tabname/index.md delete mode 100644 pulse/ru/docs/message/quit/index.md delete mode 100644 pulse/ru/docs/message/rightclick/index.md delete mode 100644 pulse/ru/docs/message/sidebar/index.md delete mode 100644 pulse/ru/docs/message/sign/index.md delete mode 100644 pulse/ru/docs/message/status/icon/index.md delete mode 100644 pulse/ru/docs/message/status/index.md delete mode 100644 pulse/ru/docs/message/status/motd/index.md delete mode 100644 pulse/ru/docs/message/status/players/index.md delete mode 100644 pulse/ru/docs/message/status/version/index.md delete mode 100644 pulse/ru/docs/message/tab/footer/index.md delete mode 100644 pulse/ru/docs/message/tab/header/index.md delete mode 100644 pulse/ru/docs/message/tab/index.md delete mode 100644 pulse/ru/docs/message/tab/playerlistname/index.md delete mode 100644 pulse/ru/docs/message/update/index.md delete mode 100644 pulse/ru/files/command.yml delete mode 100644 pulse/ru/files/config.yml delete mode 100644 pulse/ru/files/integration.yml delete mode 100644 pulse/ru/files/localizations/en_us.yml delete mode 100644 pulse/ru/files/localizations/ru_ru.yml delete mode 100644 pulse/ru/files/message.yml delete mode 100644 pulse/ru/files/permission.yml delete mode 100644 pulse/ru/index.md delete mode 100644 pulse/ru/metrics/index.md delete mode 100644 pulse/ru/package-lock.json delete mode 100644 pulse/ru/package.json delete mode 100644 pulse/ru/parts/fcolor.md delete mode 100644 pulse/ru/parts/ticker.md delete mode 100644 pulse/ru/parts/words.md delete mode 100644 pulse/ru/public/advancement1.png delete mode 100644 pulse/ru/public/advancement2.png delete mode 100644 pulse/ru/public/advancement3.png delete mode 100644 pulse/ru/public/afkglobalmessage.png delete mode 100644 pulse/ru/public/afksuffix.png delete mode 100644 pulse/ru/public/anvil.gif delete mode 100644 pulse/ru/public/argument_showcase.png delete mode 100644 pulse/ru/public/auto.png delete mode 100644 pulse/ru/public/belowname.png delete mode 100644 pulse/ru/public/bold.png delete mode 100644 pulse/ru/public/book.gif delete mode 100644 pulse/ru/public/boosty.svg delete mode 100644 pulse/ru/public/bossbar_enderdragon.png delete mode 100644 pulse/ru/public/bossbar_raid.png delete mode 100644 pulse/ru/public/bossbar_wither.png delete mode 100644 pulse/ru/public/brand.png delete mode 100644 pulse/ru/public/bubble.gif delete mode 100644 pulse/ru/public/bubble.svg delete mode 100644 pulse/ru/public/bukkit.svg delete mode 100644 pulse/ru/public/bungeecord.svg delete mode 100644 pulse/ru/public/chat.png delete mode 100644 pulse/ru/public/chatconsole.png delete mode 100644 pulse/ru/public/code.svg delete mode 100644 pulse/ru/public/colormessage.png delete mode 100644 pulse/ru/public/commandanon.png delete mode 100644 pulse/ru/public/commandball.png delete mode 100644 pulse/ru/public/commandban.png delete mode 100644 pulse/ru/public/commandbanconnect.png delete mode 100644 pulse/ru/public/commandbanlist.png delete mode 100644 pulse/ru/public/commandbanlistglobalgui.png delete mode 100644 pulse/ru/public/commandbanlistplayer.png delete mode 100644 pulse/ru/public/commandbanlistplayergui.png delete mode 100644 pulse/ru/public/commandbanplayer.png delete mode 100644 pulse/ru/public/commandbroadcast.png delete mode 100644 pulse/ru/public/commandchatcolor.png delete mode 100644 pulse/ru/public/commandchatcolorother.png delete mode 100644 pulse/ru/public/commandchatsetting.gif delete mode 100644 pulse/ru/public/commandchatstyle.png delete mode 100644 pulse/ru/public/commandclearchat.png delete mode 100644 pulse/ru/public/commandclearmail.png delete mode 100644 pulse/ru/public/commandcoin.png delete mode 100644 pulse/ru/public/commanddeletemessage.png delete mode 100644 pulse/ru/public/commanddice.png delete mode 100644 pulse/ru/public/commanddo.png delete mode 100644 pulse/ru/public/commandemit.png delete mode 100644 pulse/ru/public/commandflectonepulse.png delete mode 100644 pulse/ru/public/commandgeolocate.png delete mode 100644 pulse/ru/public/commandhelper.png delete mode 100644 pulse/ru/public/commandhelperadmin.png delete mode 100644 pulse/ru/public/commandignore.png delete mode 100644 pulse/ru/public/commandignorelist.png delete mode 100644 pulse/ru/public/commandignorelistgui.png delete mode 100644 pulse/ru/public/commandkick.png delete mode 100644 pulse/ru/public/commandkickplayer.png delete mode 100644 pulse/ru/public/commandmail.png delete mode 100644 pulse/ru/public/commandmailplayer.png delete mode 100644 pulse/ru/public/commandmaintenance.png delete mode 100644 pulse/ru/public/commandmaintenanceserver.png delete mode 100644 pulse/ru/public/commandmark.gif delete mode 100644 pulse/ru/public/commandme.png delete mode 100644 pulse/ru/public/commandmealiase.png delete mode 100644 pulse/ru/public/commandmute.png delete mode 100644 pulse/ru/public/commandmutelist.png delete mode 100644 pulse/ru/public/commandmutelistglobalgui.png delete mode 100644 pulse/ru/public/commandmutelistplayergui.png delete mode 100644 pulse/ru/public/commandonline.png delete mode 100644 pulse/ru/public/commandping.png delete mode 100644 pulse/ru/public/commandpoll.png delete mode 100644 pulse/ru/public/commandpollend.png delete mode 100644 pulse/ru/public/commandpollgui.gif delete mode 100644 pulse/ru/public/commandreply.png delete mode 100644 pulse/ru/public/commandrockpaperscissors.png delete mode 100644 pulse/ru/public/commandsprite.png delete mode 100644 pulse/ru/public/commandspy.gif delete mode 100644 pulse/ru/public/commandstream.png delete mode 100644 pulse/ru/public/commandstreamprefix.png delete mode 100644 pulse/ru/public/commandsymbol.png delete mode 100644 pulse/ru/public/commandsyntax.png delete mode 100644 pulse/ru/public/commandtell.png delete mode 100644 pulse/ru/public/commandtellmyself.png delete mode 100644 pulse/ru/public/commandtictactoe.png delete mode 100644 pulse/ru/public/commandtictactoedefault.png delete mode 100644 pulse/ru/public/commandtoponline.png delete mode 100644 pulse/ru/public/commandtranslateto.png delete mode 100644 pulse/ru/public/commandtry.png delete mode 100644 pulse/ru/public/commandunban.png delete mode 100644 pulse/ru/public/commandunignore.png delete mode 100644 pulse/ru/public/commandunmute.png delete mode 100644 pulse/ru/public/commandunwarn.png delete mode 100644 pulse/ru/public/commandwarn.png delete mode 100644 pulse/ru/public/commandwarnlist.png delete mode 100644 pulse/ru/public/commandwarnlistglobalgui.png delete mode 100644 pulse/ru/public/commandwarnlistplayergui.png delete mode 100644 pulse/ru/public/console.gif delete mode 100644 pulse/ru/public/coords.png delete mode 100644 pulse/ru/public/deathserver.png delete mode 100644 pulse/ru/public/debugstick.png delete mode 100644 pulse/ru/public/delete.gif delete mode 100644 pulse/ru/public/destinationaction_bar.png delete mode 100644 pulse/ru/public/destinationboss_bar.png delete mode 100644 pulse/ru/public/destinationtext_screen.png delete mode 100644 pulse/ru/public/destinationtitle.png delete mode 100644 pulse/ru/public/destinationtoast.png delete mode 100644 pulse/ru/public/discord.svg delete mode 100644 pulse/ru/public/discordchannelinfo.png delete mode 100644 pulse/ru/public/discordcontent.png delete mode 100644 pulse/ru/public/discorddevelopers.png delete mode 100644 pulse/ru/public/discordembed.png delete mode 100644 pulse/ru/public/discordmessage.png delete mode 100644 pulse/ru/public/discordminecraftmessage.png delete mode 100644 pulse/ru/public/discordpresence.png delete mode 100644 pulse/ru/public/discordwebhook.png delete mode 100644 pulse/ru/public/documentation.svg delete mode 100644 pulse/ru/public/emojimessage.png delete mode 100644 pulse/ru/public/emojiminecraft.png delete mode 100644 pulse/ru/public/fcolor.png delete mode 100644 pulse/ru/public/filter.png delete mode 100644 pulse/ru/public/fixation.png delete mode 100644 pulse/ru/public/flectonepulse.png delete mode 100644 pulse/ru/public/flectonepulseeditor.gif delete mode 100644 pulse/ru/public/flood.png delete mode 100644 pulse/ru/public/folia.svg delete mode 100644 pulse/ru/public/footer.png delete mode 100644 pulse/ru/public/gear.svg delete mode 100644 pulse/ru/public/github.svg delete mode 100644 pulse/ru/public/greeting.png delete mode 100644 pulse/ru/public/header.png delete mode 100644 pulse/ru/public/hover.png delete mode 100644 pulse/ru/public/hoverclick.png delete mode 100644 pulse/ru/public/image.png delete mode 100644 pulse/ru/public/imagemessage.png delete mode 100644 pulse/ru/public/imageminecraft.png delete mode 100644 pulse/ru/public/italic.png delete mode 100644 pulse/ru/public/item.png delete mode 100644 pulse/ru/public/join.png delete mode 100644 pulse/ru/public/locale.gif delete mode 100644 pulse/ru/public/locale.png delete mode 100644 pulse/ru/public/mention.png delete mode 100644 pulse/ru/public/modrinth.svg delete mode 100644 pulse/ru/public/motd.png delete mode 100644 pulse/ru/public/mute.png delete mode 100644 pulse/ru/public/namedisplay.png delete mode 100644 pulse/ru/public/nametab.png delete mode 100644 pulse/ru/public/nullrecipient.png delete mode 100644 pulse/ru/public/obfuscated.png delete mode 100644 pulse/ru/public/object.png delete mode 100644 pulse/ru/public/objectslot.png delete mode 100644 pulse/ru/public/online.png delete mode 100644 pulse/ru/public/paper.svg delete mode 100644 pulse/ru/public/ping.png delete mode 100644 pulse/ru/public/platforms.svg delete mode 100644 pulse/ru/public/playercount.png delete mode 100644 pulse/ru/public/playerlist.png delete mode 100644 pulse/ru/public/playerlistname.png delete mode 100644 pulse/ru/public/prompt.png delete mode 100644 pulse/ru/public/purpur.svg delete mode 100644 pulse/ru/public/questionanswer.png delete mode 100644 pulse/ru/public/quit.png delete mode 100644 pulse/ru/public/rightclick.png delete mode 100644 pulse/ru/public/roll_1.png delete mode 100644 pulse/ru/public/roll_2.png delete mode 100644 pulse/ru/public/roll_3.png delete mode 100644 pulse/ru/public/sample1.png delete mode 100644 pulse/ru/public/sample2.png delete mode 100644 pulse/ru/public/scoreboard.png delete mode 100644 pulse/ru/public/server-icon-1.png delete mode 100644 pulse/ru/public/server-icon-2.png delete mode 100644 pulse/ru/public/servericon.png delete mode 100644 pulse/ru/public/signoak.gif delete mode 100644 pulse/ru/public/skin.png delete mode 100644 pulse/ru/public/skinsrestorer.png delete mode 100644 pulse/ru/public/spigot.svg delete mode 100644 pulse/ru/public/spoiler.png delete mode 100644 pulse/ru/public/spoilermessage.png delete mode 100644 pulse/ru/public/spoilerminecraft.png delete mode 100644 pulse/ru/public/stats.png delete mode 100644 pulse/ru/public/stop.png delete mode 100644 pulse/ru/public/strikethrough.png delete mode 100644 pulse/ru/public/structure.svg delete mode 100644 pulse/ru/public/swear.png delete mode 100644 pulse/ru/public/swearsee.png delete mode 100644 pulse/ru/public/tab.png delete mode 100644 pulse/ru/public/tagimageminecraft.png delete mode 100644 pulse/ru/public/task.png delete mode 100644 pulse/ru/public/telegramid.png delete mode 100644 pulse/ru/public/telegrammessage1.png delete mode 100644 pulse/ru/public/telegrammessage2.png delete mode 100644 pulse/ru/public/telegramminecraftmessage.png delete mode 100644 pulse/ru/public/tps.png delete mode 100644 pulse/ru/public/translate.png delete mode 100644 pulse/ru/public/twitchclientid.png delete mode 100644 pulse/ru/public/twitchmessage.png delete mode 100644 pulse/ru/public/twitchminecraftmessage.png delete mode 100644 pulse/ru/public/twitchtoken.png delete mode 100644 pulse/ru/public/underline.png delete mode 100644 pulse/ru/public/update.png delete mode 100644 pulse/ru/public/url.png delete mode 100644 pulse/ru/public/urlmessage.png delete mode 100644 pulse/ru/public/urlminecraft.png delete mode 100644 pulse/ru/public/velocity.svg delete mode 100644 pulse/ru/public/version.png delete mode 100644 pulse/ru/public/weather.png delete mode 100644 pulse/ru/public/welcomemessage.png delete mode 100644 pulse/ru/public/worldchat.png delete mode 100644 pulse/ru/public/worldtab.png delete mode 100644 pulse/ru/public/youtube.svg delete mode 100644 pulse/ru/scripts/region.py create mode 100644 source.config.ts create mode 100644 src/app/(main)/about/page.tsx create mode 100644 src/app/(main)/chat/page.tsx create mode 100644 src/app/(main)/layout.tsx create mode 100644 src/app/(main)/mix/page.tsx create mode 100644 src/app/(main)/page.tsx create mode 100644 src/app/api/search/route.ts create mode 100644 src/app/favicon.ico create mode 100644 src/app/globals.css create mode 100644 src/app/pulse/(home)/layout.tsx create mode 100644 src/app/pulse/(home)/page.tsx create mode 100644 src/app/pulse/docs/[[...slug]]/page.tsx create mode 100644 src/app/pulse/docs/layout.tsx create mode 100644 src/app/pulse/layout.tsx delete mode 100644 src/assets/chat/1.gif delete mode 100644 src/assets/chat/2.gif delete mode 100644 src/assets/chat/4.gif delete mode 100644 src/assets/chat/5.gif delete mode 100644 src/assets/chat/6.gif delete mode 100644 src/assets/favicons/android-chrome-192x192.png delete mode 100644 src/assets/favicons/android-chrome-512x512.png delete mode 100644 src/assets/favicons/apple-touch-icon.png delete mode 100644 src/assets/favicons/favicon-16x16.png delete mode 100644 src/assets/favicons/favicon-32x32.png delete mode 100644 src/assets/favicons/favicon.ico delete mode 100644 src/assets/favicons/site.webmanifest delete mode 100644 src/assets/logo.png delete mode 100644 src/assets/mix/flectonemix.png delete mode 100644 src/assets/platforms.svg delete mode 100644 src/components/AboutChat.astro delete mode 100644 src/components/AboutMix.astro create mode 100644 src/components/Button/HeaderButton.tsx create mode 100644 src/components/Button/LanguageButton.tsx create mode 100644 src/components/Button/LinkButton.tsx create mode 100644 src/components/Button/ThemeButton.tsx create mode 100644 src/components/Card/Card.tsx create mode 100644 src/components/Card/GithubCard.tsx create mode 100644 src/components/Content/FlectoneChat.tsx create mode 100644 src/components/Content/FlectoneMix.tsx create mode 100644 src/components/Content/Members.tsx create mode 100644 src/components/Content/Projects.tsx delete mode 100644 src/components/FlectoneTeam.astro create mode 100644 src/components/Footer/Footer.tsx create mode 100644 src/components/Header/Header.tsx create mode 100644 src/components/Header/HeaderBlock.tsx delete mode 100644 src/components/LangSwitcher.astro delete mode 100644 src/components/Navbar.astro delete mode 100644 src/components/OurProjects.astro create mode 100644 src/components/Pulse/Authos.tsx create mode 100644 src/components/Pulse/Features.tsx create mode 100644 src/components/Pulse/Structure.tsx create mode 100644 src/components/Pulse/WelcomCard.tsx create mode 100644 src/components/Svg/Svg.tsx delete mode 100644 src/components/TeamHeader.astro delete mode 100644 src/components/shared/Carousel.tsx delete mode 100644 src/components/shared/MobileMenu.tsx delete mode 100644 src/components/shared/ModeToggle.tsx delete mode 100644 src/components/shared/UserCard.tsx delete mode 100644 src/components/ui/avatar.tsx delete mode 100644 src/components/ui/button.tsx delete mode 100644 src/components/ui/card.tsx delete mode 100644 src/components/ui/carousel.tsx delete mode 100644 src/components/ui/sheet.tsx create mode 100644 src/content/docs/api.mdx create mode 100644 src/content/docs/command/afk.mdx create mode 100644 src/content/docs/command/anon.mdx create mode 100644 src/content/docs/command/ball.mdx create mode 100644 src/content/docs/command/ban.mdx create mode 100644 src/content/docs/command/banlist.mdx create mode 100644 src/content/docs/command/broadcast.mdx create mode 100644 src/content/docs/command/chatcolor.mdx rename pulse/ru/docs/command/chatsetting/index.md => src/content/docs/command/chatsetting.mdx (76%) create mode 100644 src/content/docs/command/clearchat.mdx create mode 100644 src/content/docs/command/clearmail.mdx create mode 100644 src/content/docs/command/coin.mdx create mode 100644 src/content/docs/command/deletemessage.mdx create mode 100644 src/content/docs/command/dice.mdx create mode 100644 src/content/docs/command/do.mdx rename pulse/ru/docs/command/emit/index.md => src/content/docs/command/emit.mdx (59%) create mode 100644 src/content/docs/command/flectonepulse.mdx create mode 100644 src/content/docs/command/geolocate.mdx create mode 100644 src/content/docs/command/helper.mdx create mode 100644 src/content/docs/command/ignore.mdx create mode 100644 src/content/docs/command/ignorelist.mdx create mode 100644 src/content/docs/command/index.mdx create mode 100644 src/content/docs/command/kick.mdx create mode 100644 src/content/docs/command/mail.mdx create mode 100644 src/content/docs/command/maintenance.mdx create mode 100644 src/content/docs/command/me.mdx create mode 100644 src/content/docs/command/meta.json rename pulse/ru/docs/command/mute/index.md => src/content/docs/command/mute.mdx (61%) create mode 100644 src/content/docs/command/mutelist.mdx create mode 100644 src/content/docs/command/online.mdx create mode 100644 src/content/docs/command/ping.mdx rename pulse/ru/docs/command/poll/index.md => src/content/docs/command/poll.mdx (63%) create mode 100644 src/content/docs/command/reply.mdx create mode 100644 src/content/docs/command/rockpaperscissors.mdx rename pulse/ru/docs/command/sprite/index.md => src/content/docs/command/sprite.mdx (57%) create mode 100644 src/content/docs/command/spy.mdx create mode 100644 src/content/docs/command/stream.mdx create mode 100644 src/content/docs/command/symbol.mdx create mode 100644 src/content/docs/command/tell.mdx rename pulse/ru/docs/command/tictactoe/index.md => src/content/docs/command/tictactoe.mdx (65%) create mode 100644 src/content/docs/command/toponline.mdx create mode 100644 src/content/docs/command/translateto.mdx create mode 100644 src/content/docs/command/try.mdx create mode 100644 src/content/docs/command/unban.mdx create mode 100644 src/content/docs/command/unmute.mdx create mode 100644 src/content/docs/command/unwarn.mdx rename pulse/ru/docs/command/warn/index.md => src/content/docs/command/warn.mdx (60%) create mode 100644 src/content/docs/command/warnlist.mdx rename pulse/ru/docs/config/cache/index.md => src/content/docs/config/cache.mdx (95%) rename pulse/ru/docs/config/command/index.md => src/content/docs/config/command.mdx (79%) rename pulse/ru/docs/config/database/index.md => src/content/docs/config/database.mdx (80%) create mode 100644 src/content/docs/config/editor.mdx create mode 100644 src/content/docs/config/index.mdx rename pulse/ru/docs/config/language/index.md => src/content/docs/config/language.mdx (69%) rename pulse/ru/docs/config/logger/index.md => src/content/docs/config/logger.mdx (70%) create mode 100644 src/content/docs/config/meta.json rename pulse/ru/docs/config/metrics/index.md => src/content/docs/config/metrics.mdx (64%) rename pulse/ru/docs/config/module/index.md => src/content/docs/config/module.mdx (67%) rename pulse/ru/docs/config/proxy/index.md => src/content/docs/config/proxy.mdx (81%) rename pulse/ru/docs/index.md => src/content/docs/index.mdx (68%) create mode 100644 src/content/docs/integration/advancedban.mdx create mode 100644 src/content/docs/integration/deepl.mdx rename pulse/ru/docs/integration/discord/index.md => src/content/docs/integration/discord.mdx (79%) create mode 100644 src/content/docs/integration/floodgate.mdx create mode 100644 src/content/docs/integration/geyser.mdx create mode 100644 src/content/docs/integration/index.mdx rename pulse/ru/docs/integration/interactivechat/index.md => src/content/docs/integration/interactivechat.mdx (52%) create mode 100644 src/content/docs/integration/itemsadder.mdx create mode 100644 src/content/docs/integration/libertybans.mdx create mode 100644 src/content/docs/integration/litebans.mdx create mode 100644 src/content/docs/integration/luckperms.mdx create mode 100644 src/content/docs/integration/maintenance.mdx create mode 100644 src/content/docs/integration/meta.json create mode 100644 src/content/docs/integration/mineplaceholders.mdx create mode 100644 src/content/docs/integration/minimotd.mdx create mode 100644 src/content/docs/integration/motd.mdx rename pulse/ru/docs/integration/placeholderapi/index.md => src/content/docs/integration/placeholderapi.mdx (84%) create mode 100644 src/content/docs/integration/plasmovoice.mdx create mode 100644 src/content/docs/integration/simplevoice.mdx create mode 100644 src/content/docs/integration/skinsrestorer.mdx create mode 100644 src/content/docs/integration/supervanish.mdx create mode 100644 src/content/docs/integration/tab.mdx rename pulse/ru/docs/integration/telegram/index.md => src/content/docs/integration/telegram.mdx (75%) create mode 100644 src/content/docs/integration/triton.mdx rename pulse/ru/docs/integration/twitch/index.md => src/content/docs/integration/twitch.mdx (74%) create mode 100644 src/content/docs/integration/vault.mdx create mode 100644 src/content/docs/integration/yandex.mdx create mode 100644 src/content/docs/message/afk.mdx create mode 100644 src/content/docs/message/anvil.mdx create mode 100644 src/content/docs/message/auto.mdx create mode 100644 src/content/docs/message/book.mdx rename pulse/ru/docs/message/bossbar/index.md => src/content/docs/message/bossbar.mdx (57%) create mode 100644 src/content/docs/message/brand.mdx rename pulse/ru/docs/message/bubble/index.md => src/content/docs/message/bubble.mdx (69%) rename pulse/ru/docs/message/chat/index.md => src/content/docs/message/chat.mdx (75%) rename pulse/ru/docs/message/format/fcolor/index.md => src/content/docs/message/format/fcolor.mdx (50%) create mode 100644 src/content/docs/message/format/fixation.mdx rename pulse/ru/docs/message/format/index.md => src/content/docs/message/format/index.mdx (86%) rename pulse/ru/docs/message/format/mention/index.md => src/content/docs/message/format/mention.mdx (50%) create mode 100644 src/content/docs/message/format/meta.json create mode 100644 src/content/docs/message/format/moderation/caps.mdx create mode 100644 src/content/docs/message/format/moderation/delete.mdx create mode 100644 src/content/docs/message/format/moderation/flood.mdx create mode 100644 src/content/docs/message/format/moderation/index.mdx create mode 100644 src/content/docs/message/format/moderation/newbie.mdx create mode 100644 src/content/docs/message/format/moderation/swear.mdx create mode 100644 src/content/docs/message/format/names.mdx rename pulse/ru/docs/message/format/object/index.md => src/content/docs/message/format/object.mdx (77%) create mode 100644 src/content/docs/message/format/questionanswer.mdx create mode 100644 src/content/docs/message/format/replacement.mdx create mode 100644 src/content/docs/message/format/scoreboard.mdx create mode 100644 src/content/docs/message/format/world.mdx create mode 100644 src/content/docs/message/greeting.mdx create mode 100644 src/content/docs/message/index.mdx create mode 100644 src/content/docs/message/join.mdx create mode 100644 src/content/docs/message/meta.json create mode 100644 src/content/docs/message/objective/belowname.mdx create mode 100644 src/content/docs/message/objective/index.mdx create mode 100644 src/content/docs/message/objective/meta.json create mode 100644 src/content/docs/message/objective/tabname.mdx create mode 100644 src/content/docs/message/quit.mdx create mode 100644 src/content/docs/message/rightclick.mdx create mode 100644 src/content/docs/message/sidebar.mdx create mode 100644 src/content/docs/message/sign.mdx create mode 100644 src/content/docs/message/status/icon.mdx create mode 100644 src/content/docs/message/status/index.mdx create mode 100644 src/content/docs/message/status/motd.mdx create mode 100644 src/content/docs/message/status/players.mdx create mode 100644 src/content/docs/message/status/version.mdx create mode 100644 src/content/docs/message/tab/footer.mdx create mode 100644 src/content/docs/message/tab/header.mdx create mode 100644 src/content/docs/message/tab/index.mdx create mode 100644 src/content/docs/message/tab/playerlistname.mdx create mode 100644 src/content/docs/message/translate.mdx create mode 100644 src/content/docs/message/update.mdx rename pulse/ru/docs/message/vanilla/index.md => src/content/docs/message/vanilla.mdx (72%) create mode 100644 src/content/docs/meta.json rename {pulse/en => src}/files/command.yml (100%) rename {pulse/en => src}/files/config.yml (100%) rename {pulse/en => src}/files/integration.yml (100%) rename {pulse/en => src}/files/localizations/en_us.yml (100%) rename {pulse/en => src}/files/localizations/ru_ru.yml (100%) rename {pulse/en => src}/files/message.yml (100%) rename {pulse/en => src}/files/permission.yml (100%) create mode 100644 src/i18n/request.ts delete mode 100644 src/layouts/Layout.astro create mode 100644 src/lib/layout.shared.tsx create mode 100644 src/lib/source.ts delete mode 100644 src/locales/en.json delete mode 100644 src/locales/ru.json create mode 100644 src/mdx-components.tsx delete mode 100644 src/pages/about.astro delete mode 100644 src/pages/chat.astro delete mode 100644 src/pages/en/about.astro delete mode 100644 src/pages/en/chat.astro delete mode 100644 src/pages/en/index.astro delete mode 100644 src/pages/en/mix.astro delete mode 100644 src/pages/index.astro delete mode 100644 src/pages/mix.astro rename pulse/ru/parts/aliases.md => src/parts/aliases.mdx (66%) rename pulse/ru/parts/color.md => src/parts/color.mdx (100%) rename pulse/ru/parts/cooldown.md => src/parts/cooldown.mdx (61%) rename pulse/ru/parts/destination.md => src/parts/destination.mdx (62%) rename pulse/ru/parts/enable.md => src/parts/enable.mdx (100%) create mode 100644 src/parts/fcolor.mdx rename pulse/ru/parts/legacyColors.md => src/parts/legacyColors.mdx (100%) rename pulse/ru/parts/messageTag.md => src/parts/messageTag.mdx (98%) rename pulse/ru/parts/objective.md => src/parts/objective.mdx (100%) rename pulse/ru/parts/perPage.md => src/parts/perPage.mdx (100%) rename pulse/ru/parts/permission/cooldown.md => src/parts/permission/cooldown.mdx (100%) rename pulse/ru/parts/permission/other.md => src/parts/permission/other.mdx (100%) rename pulse/ru/parts/permission/permissionTier3.md => src/parts/permission/permissionTier3.mdx (100%) rename pulse/ru/parts/permission/permissionTier4.md => src/parts/permission/permissionTier4.mdx (100%) rename pulse/ru/parts/permission/sound.md => src/parts/permission/sound.mdx (100%) rename pulse/ru/parts/random.md => src/parts/random.mdx (100%) rename pulse/ru/parts/range.md => src/parts/range.mdx (89%) rename pulse/ru/parts/sound.md => src/parts/sound.mdx (73%) rename pulse/ru/parts/suggestOfflinePlayers.md => src/parts/suggestOfflinePlayers.mdx (82%) create mode 100644 src/parts/ticker.mdx rename pulse/ru/parts/vanillaWarn.md => src/parts/vanillaWarn.mdx (71%) create mode 100644 src/parts/words.mdx delete mode 100644 src/styles/globals.css create mode 100644 src/types/css.d.ts create mode 100644 src/types/svg.d.ts delete mode 100644 src/utils/i18n.ts delete mode 100644 tailwind.config.js diff --git a/.gitignore b/.gitignore index 302a97c2..5ef6a520 100644 --- a/.gitignore +++ b/.gitignore @@ -1,36 +1,41 @@ -# build output -dist/ - -# generated types -.astro/ -package-lock.json -bun.lock +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. # dependencies -node_modules/ +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build -# logs +# misc +.DS_Store +*.pem + +# debug npm-debug.log* yarn-debug.log* yarn-error.log* -pnpm-debug.log* +.pnpm-debug.log* -# environment variables -.env -.env.production - -# macOS-specific files -.DS_Store +# env files (can opt-in for committing if needed) +.env* -# jetbrains setting folder -.idea/ +# vercel .vercel -FlectonePulseDocs.iml -.vitepress/dist/* -/.idea/* -/pulse/ru/.vitepress/dist/ -/pulse/ru/.vitepress/cache/ -/pulse/en/.vitepress/dist/ -/pulse/en/.vitepress/cache/ -/.vscode/* +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/.source/browser.ts b/.source/browser.ts new file mode 100644 index 00000000..36ccf2c2 --- /dev/null +++ b/.source/browser.ts @@ -0,0 +1,22 @@ +// @ts-nocheck +import { browser } from 'fumadocs-mdx/runtime/browser'; +import type * as Config from '../source.config'; + +const create = browser(); +const browserCollections = { + docs: create.doc("docs", {"api.mdx": () => import("../src/content/docs/api.mdx?collection=docs"), "index.mdx": () => import("../src/content/docs/index.mdx?collection=docs"), "command/afk.mdx": () => import("../src/content/docs/command/afk.mdx?collection=docs"), "command/anon.mdx": () => import("../src/content/docs/command/anon.mdx?collection=docs"), "command/ball.mdx": () => import("../src/content/docs/command/ball.mdx?collection=docs"), "command/ban.mdx": () => import("../src/content/docs/command/ban.mdx?collection=docs"), "command/banlist.mdx": () => import("../src/content/docs/command/banlist.mdx?collection=docs"), "command/broadcast.mdx": () => import("../src/content/docs/command/broadcast.mdx?collection=docs"), "command/chatcolor.mdx": () => import("../src/content/docs/command/chatcolor.mdx?collection=docs"), "command/chatsetting.mdx": () => import("../src/content/docs/command/chatsetting.mdx?collection=docs"), "command/clearchat.mdx": () => import("../src/content/docs/command/clearchat.mdx?collection=docs"), "command/clearmail.mdx": () => import("../src/content/docs/command/clearmail.mdx?collection=docs"), "command/coin.mdx": () => import("../src/content/docs/command/coin.mdx?collection=docs"), "command/deletemessage.mdx": () => import("../src/content/docs/command/deletemessage.mdx?collection=docs"), "command/dice.mdx": () => import("../src/content/docs/command/dice.mdx?collection=docs"), "command/do.mdx": () => import("../src/content/docs/command/do.mdx?collection=docs"), "command/emit.mdx": () => import("../src/content/docs/command/emit.mdx?collection=docs"), "command/flectonepulse.mdx": () => import("../src/content/docs/command/flectonepulse.mdx?collection=docs"), "command/geolocate.mdx": () => import("../src/content/docs/command/geolocate.mdx?collection=docs"), "command/helper.mdx": () => import("../src/content/docs/command/helper.mdx?collection=docs"), "command/ignore.mdx": () => import("../src/content/docs/command/ignore.mdx?collection=docs"), "command/ignorelist.mdx": () => import("../src/content/docs/command/ignorelist.mdx?collection=docs"), "command/index.mdx": () => import("../src/content/docs/command/index.mdx?collection=docs"), "command/kick.mdx": () => import("../src/content/docs/command/kick.mdx?collection=docs"), "command/mail.mdx": () => import("../src/content/docs/command/mail.mdx?collection=docs"), "command/maintenance.mdx": () => import("../src/content/docs/command/maintenance.mdx?collection=docs"), "command/me.mdx": () => import("../src/content/docs/command/me.mdx?collection=docs"), "command/mute.mdx": () => import("../src/content/docs/command/mute.mdx?collection=docs"), "command/mutelist.mdx": () => import("../src/content/docs/command/mutelist.mdx?collection=docs"), "command/online.mdx": () => import("../src/content/docs/command/online.mdx?collection=docs"), "command/ping.mdx": () => import("../src/content/docs/command/ping.mdx?collection=docs"), "command/poll.mdx": () => import("../src/content/docs/command/poll.mdx?collection=docs"), "command/reply.mdx": () => import("../src/content/docs/command/reply.mdx?collection=docs"), "command/rockpaperscissors.mdx": () => import("../src/content/docs/command/rockpaperscissors.mdx?collection=docs"), "command/sprite.mdx": () => import("../src/content/docs/command/sprite.mdx?collection=docs"), "command/spy.mdx": () => import("../src/content/docs/command/spy.mdx?collection=docs"), "command/stream.mdx": () => import("../src/content/docs/command/stream.mdx?collection=docs"), "command/symbol.mdx": () => import("../src/content/docs/command/symbol.mdx?collection=docs"), "command/tell.mdx": () => import("../src/content/docs/command/tell.mdx?collection=docs"), "command/tictactoe.mdx": () => import("../src/content/docs/command/tictactoe.mdx?collection=docs"), "command/toponline.mdx": () => import("../src/content/docs/command/toponline.mdx?collection=docs"), "command/translateto.mdx": () => import("../src/content/docs/command/translateto.mdx?collection=docs"), "command/try.mdx": () => import("../src/content/docs/command/try.mdx?collection=docs"), "command/unban.mdx": () => import("../src/content/docs/command/unban.mdx?collection=docs"), "command/unmute.mdx": () => import("../src/content/docs/command/unmute.mdx?collection=docs"), "command/unwarn.mdx": () => import("../src/content/docs/command/unwarn.mdx?collection=docs"), "command/warn.mdx": () => import("../src/content/docs/command/warn.mdx?collection=docs"), "command/warnlist.mdx": () => import("../src/content/docs/command/warnlist.mdx?collection=docs"), "config/cache.mdx": () => import("../src/content/docs/config/cache.mdx?collection=docs"), "config/command.mdx": () => import("../src/content/docs/config/command.mdx?collection=docs"), "config/database.mdx": () => import("../src/content/docs/config/database.mdx?collection=docs"), "config/editor.mdx": () => import("../src/content/docs/config/editor.mdx?collection=docs"), "config/index.mdx": () => import("../src/content/docs/config/index.mdx?collection=docs"), "config/language.mdx": () => import("../src/content/docs/config/language.mdx?collection=docs"), "config/logger.mdx": () => import("../src/content/docs/config/logger.mdx?collection=docs"), "config/metrics.mdx": () => import("../src/content/docs/config/metrics.mdx?collection=docs"), "config/module.mdx": () => import("../src/content/docs/config/module.mdx?collection=docs"), "config/proxy.mdx": () => import("../src/content/docs/config/proxy.mdx?collection=docs"), "integration/advancedban.mdx": () => import("../src/content/docs/integration/advancedban.mdx?collection=docs"), "integration/deepl.mdx": () => import("../src/content/docs/integration/deepl.mdx?collection=docs"), "integration/discord.mdx": () => import("../src/content/docs/integration/discord.mdx?collection=docs"), "integration/floodgate.mdx": () => import("../src/content/docs/integration/floodgate.mdx?collection=docs"), "integration/geyser.mdx": () => import("../src/content/docs/integration/geyser.mdx?collection=docs"), "integration/index.mdx": () => import("../src/content/docs/integration/index.mdx?collection=docs"), "integration/interactivechat.mdx": () => import("../src/content/docs/integration/interactivechat.mdx?collection=docs"), "integration/itemsadder.mdx": () => import("../src/content/docs/integration/itemsadder.mdx?collection=docs"), "integration/libertybans.mdx": () => import("../src/content/docs/integration/libertybans.mdx?collection=docs"), "integration/litebans.mdx": () => import("../src/content/docs/integration/litebans.mdx?collection=docs"), "integration/luckperms.mdx": () => import("../src/content/docs/integration/luckperms.mdx?collection=docs"), "integration/maintenance.mdx": () => import("../src/content/docs/integration/maintenance.mdx?collection=docs"), "integration/mineplaceholders.mdx": () => import("../src/content/docs/integration/mineplaceholders.mdx?collection=docs"), "integration/minimotd.mdx": () => import("../src/content/docs/integration/minimotd.mdx?collection=docs"), "integration/motd.mdx": () => import("../src/content/docs/integration/motd.mdx?collection=docs"), "integration/placeholderapi.mdx": () => import("../src/content/docs/integration/placeholderapi.mdx?collection=docs"), "integration/plasmovoice.mdx": () => import("../src/content/docs/integration/plasmovoice.mdx?collection=docs"), "integration/simplevoice.mdx": () => import("../src/content/docs/integration/simplevoice.mdx?collection=docs"), "integration/skinsrestorer.mdx": () => import("../src/content/docs/integration/skinsrestorer.mdx?collection=docs"), "integration/supervanish.mdx": () => import("../src/content/docs/integration/supervanish.mdx?collection=docs"), "integration/tab.mdx": () => import("../src/content/docs/integration/tab.mdx?collection=docs"), "integration/telegram.mdx": () => import("../src/content/docs/integration/telegram.mdx?collection=docs"), "integration/triton.mdx": () => import("../src/content/docs/integration/triton.mdx?collection=docs"), "integration/twitch.mdx": () => import("../src/content/docs/integration/twitch.mdx?collection=docs"), "integration/vault.mdx": () => import("../src/content/docs/integration/vault.mdx?collection=docs"), "integration/yandex.mdx": () => import("../src/content/docs/integration/yandex.mdx?collection=docs"), "message/afk.mdx": () => import("../src/content/docs/message/afk.mdx?collection=docs"), "message/anvil.mdx": () => import("../src/content/docs/message/anvil.mdx?collection=docs"), "message/auto.mdx": () => import("../src/content/docs/message/auto.mdx?collection=docs"), "message/book.mdx": () => import("../src/content/docs/message/book.mdx?collection=docs"), "message/bossbar.mdx": () => import("../src/content/docs/message/bossbar.mdx?collection=docs"), "message/brand.mdx": () => import("../src/content/docs/message/brand.mdx?collection=docs"), "message/bubble.mdx": () => import("../src/content/docs/message/bubble.mdx?collection=docs"), "message/chat.mdx": () => import("../src/content/docs/message/chat.mdx?collection=docs"), "message/greeting.mdx": () => import("../src/content/docs/message/greeting.mdx?collection=docs"), "message/index.mdx": () => import("../src/content/docs/message/index.mdx?collection=docs"), "message/join.mdx": () => import("../src/content/docs/message/join.mdx?collection=docs"), "message/quit.mdx": () => import("../src/content/docs/message/quit.mdx?collection=docs"), "message/rightclick.mdx": () => import("../src/content/docs/message/rightclick.mdx?collection=docs"), "message/sidebar.mdx": () => import("../src/content/docs/message/sidebar.mdx?collection=docs"), "message/sign.mdx": () => import("../src/content/docs/message/sign.mdx?collection=docs"), "message/translate.mdx": () => import("../src/content/docs/message/translate.mdx?collection=docs"), "message/update.mdx": () => import("../src/content/docs/message/update.mdx?collection=docs"), "message/vanilla.mdx": () => import("../src/content/docs/message/vanilla.mdx?collection=docs"), "message/format/fcolor.mdx": () => import("../src/content/docs/message/format/fcolor.mdx?collection=docs"), "message/format/fixation.mdx": () => import("../src/content/docs/message/format/fixation.mdx?collection=docs"), "message/format/index.mdx": () => import("../src/content/docs/message/format/index.mdx?collection=docs"), "message/format/mention.mdx": () => import("../src/content/docs/message/format/mention.mdx?collection=docs"), "message/format/names.mdx": () => import("../src/content/docs/message/format/names.mdx?collection=docs"), "message/format/object.mdx": () => import("../src/content/docs/message/format/object.mdx?collection=docs"), "message/format/questionanswer.mdx": () => import("../src/content/docs/message/format/questionanswer.mdx?collection=docs"), "message/format/replacement.mdx": () => import("../src/content/docs/message/format/replacement.mdx?collection=docs"), "message/format/scoreboard.mdx": () => import("../src/content/docs/message/format/scoreboard.mdx?collection=docs"), "message/format/world.mdx": () => import("../src/content/docs/message/format/world.mdx?collection=docs"), "message/objective/belowname.mdx": () => import("../src/content/docs/message/objective/belowname.mdx?collection=docs"), "message/objective/index.mdx": () => import("../src/content/docs/message/objective/index.mdx?collection=docs"), "message/objective/tabname.mdx": () => import("../src/content/docs/message/objective/tabname.mdx?collection=docs"), "message/status/icon.mdx": () => import("../src/content/docs/message/status/icon.mdx?collection=docs"), "message/status/index.mdx": () => import("../src/content/docs/message/status/index.mdx?collection=docs"), "message/status/motd.mdx": () => import("../src/content/docs/message/status/motd.mdx?collection=docs"), "message/status/players.mdx": () => import("../src/content/docs/message/status/players.mdx?collection=docs"), "message/status/version.mdx": () => import("../src/content/docs/message/status/version.mdx?collection=docs"), "message/tab/footer.mdx": () => import("../src/content/docs/message/tab/footer.mdx?collection=docs"), "message/tab/header.mdx": () => import("../src/content/docs/message/tab/header.mdx?collection=docs"), "message/tab/index.mdx": () => import("../src/content/docs/message/tab/index.mdx?collection=docs"), "message/tab/playerlistname.mdx": () => import("../src/content/docs/message/tab/playerlistname.mdx?collection=docs"), "message/format/moderation/caps.mdx": () => import("../src/content/docs/message/format/moderation/caps.mdx?collection=docs"), "message/format/moderation/delete.mdx": () => import("../src/content/docs/message/format/moderation/delete.mdx?collection=docs"), "message/format/moderation/flood.mdx": () => import("../src/content/docs/message/format/moderation/flood.mdx?collection=docs"), "message/format/moderation/index.mdx": () => import("../src/content/docs/message/format/moderation/index.mdx?collection=docs"), "message/format/moderation/newbie.mdx": () => import("../src/content/docs/message/format/moderation/newbie.mdx?collection=docs"), "message/format/moderation/swear.mdx": () => import("../src/content/docs/message/format/moderation/swear.mdx?collection=docs"), }), +}; +export default browserCollections; \ No newline at end of file diff --git a/.source/dynamic.ts b/.source/dynamic.ts new file mode 100644 index 00000000..768dbd03 --- /dev/null +++ b/.source/dynamic.ts @@ -0,0 +1,18 @@ +// @ts-nocheck +import { dynamic } from 'fumadocs-mdx/runtime/dynamic'; +import * as Config from '../source.config'; + +const create = await dynamic(Config, {"configPath":"source.config.ts","environment":"next","outDir":".source"}, {"doc":{"passthroughs":["extractedReferences","lastModified"]}}); \ No newline at end of file diff --git a/.source/server.ts b/.source/server.ts new file mode 100644 index 00000000..26ab3f87 --- /dev/null +++ b/.source/server.ts @@ -0,0 +1,157 @@ +// @ts-nocheck +import * as __fd_glob_136 from "../src/content/docs/message/format/moderation/swear.mdx?collection=docs" +import * as __fd_glob_135 from "../src/content/docs/message/format/moderation/newbie.mdx?collection=docs" +import * as __fd_glob_134 from "../src/content/docs/message/format/moderation/index.mdx?collection=docs" +import * as __fd_glob_133 from "../src/content/docs/message/format/moderation/flood.mdx?collection=docs" +import * as __fd_glob_132 from "../src/content/docs/message/format/moderation/delete.mdx?collection=docs" +import * as __fd_glob_131 from "../src/content/docs/message/format/moderation/caps.mdx?collection=docs" +import * as __fd_glob_130 from "../src/content/docs/message/tab/playerlistname.mdx?collection=docs" +import * as __fd_glob_129 from "../src/content/docs/message/tab/index.mdx?collection=docs" +import * as __fd_glob_128 from "../src/content/docs/message/tab/header.mdx?collection=docs" +import * as __fd_glob_127 from "../src/content/docs/message/tab/footer.mdx?collection=docs" +import * as __fd_glob_126 from "../src/content/docs/message/status/version.mdx?collection=docs" +import * as __fd_glob_125 from "../src/content/docs/message/status/players.mdx?collection=docs" +import * as __fd_glob_124 from "../src/content/docs/message/status/motd.mdx?collection=docs" +import * as __fd_glob_123 from "../src/content/docs/message/status/index.mdx?collection=docs" +import * as __fd_glob_122 from "../src/content/docs/message/status/icon.mdx?collection=docs" +import * as __fd_glob_121 from "../src/content/docs/message/objective/tabname.mdx?collection=docs" +import * as __fd_glob_120 from "../src/content/docs/message/objective/index.mdx?collection=docs" +import * as __fd_glob_119 from "../src/content/docs/message/objective/belowname.mdx?collection=docs" +import * as __fd_glob_118 from "../src/content/docs/message/format/world.mdx?collection=docs" +import * as __fd_glob_117 from "../src/content/docs/message/format/scoreboard.mdx?collection=docs" +import * as __fd_glob_116 from "../src/content/docs/message/format/replacement.mdx?collection=docs" +import * as __fd_glob_115 from "../src/content/docs/message/format/questionanswer.mdx?collection=docs" +import * as __fd_glob_114 from "../src/content/docs/message/format/object.mdx?collection=docs" +import * as __fd_glob_113 from "../src/content/docs/message/format/names.mdx?collection=docs" +import * as __fd_glob_112 from "../src/content/docs/message/format/mention.mdx?collection=docs" +import * as __fd_glob_111 from "../src/content/docs/message/format/index.mdx?collection=docs" +import * as __fd_glob_110 from "../src/content/docs/message/format/fixation.mdx?collection=docs" +import * as __fd_glob_109 from "../src/content/docs/message/format/fcolor.mdx?collection=docs" +import * as __fd_glob_108 from "../src/content/docs/message/vanilla.mdx?collection=docs" +import * as __fd_glob_107 from "../src/content/docs/message/update.mdx?collection=docs" +import * as __fd_glob_106 from "../src/content/docs/message/translate.mdx?collection=docs" +import * as __fd_glob_105 from "../src/content/docs/message/sign.mdx?collection=docs" +import * as __fd_glob_104 from "../src/content/docs/message/sidebar.mdx?collection=docs" +import * as __fd_glob_103 from "../src/content/docs/message/rightclick.mdx?collection=docs" +import * as __fd_glob_102 from "../src/content/docs/message/quit.mdx?collection=docs" +import * as __fd_glob_101 from "../src/content/docs/message/join.mdx?collection=docs" +import * as __fd_glob_100 from "../src/content/docs/message/index.mdx?collection=docs" +import * as __fd_glob_99 from "../src/content/docs/message/greeting.mdx?collection=docs" +import * as __fd_glob_98 from "../src/content/docs/message/chat.mdx?collection=docs" +import * as __fd_glob_97 from "../src/content/docs/message/bubble.mdx?collection=docs" +import * as __fd_glob_96 from "../src/content/docs/message/brand.mdx?collection=docs" +import * as __fd_glob_95 from "../src/content/docs/message/bossbar.mdx?collection=docs" +import * as __fd_glob_94 from "../src/content/docs/message/book.mdx?collection=docs" +import * as __fd_glob_93 from "../src/content/docs/message/auto.mdx?collection=docs" +import * as __fd_glob_92 from "../src/content/docs/message/anvil.mdx?collection=docs" +import * as __fd_glob_91 from "../src/content/docs/message/afk.mdx?collection=docs" +import * as __fd_glob_90 from "../src/content/docs/integration/yandex.mdx?collection=docs" +import * as __fd_glob_89 from "../src/content/docs/integration/vault.mdx?collection=docs" +import * as __fd_glob_88 from "../src/content/docs/integration/twitch.mdx?collection=docs" +import * as __fd_glob_87 from "../src/content/docs/integration/triton.mdx?collection=docs" +import * as __fd_glob_86 from "../src/content/docs/integration/telegram.mdx?collection=docs" +import * as __fd_glob_85 from "../src/content/docs/integration/tab.mdx?collection=docs" +import * as __fd_glob_84 from "../src/content/docs/integration/supervanish.mdx?collection=docs" +import * as __fd_glob_83 from "../src/content/docs/integration/skinsrestorer.mdx?collection=docs" +import * as __fd_glob_82 from "../src/content/docs/integration/simplevoice.mdx?collection=docs" +import * as __fd_glob_81 from "../src/content/docs/integration/plasmovoice.mdx?collection=docs" +import * as __fd_glob_80 from "../src/content/docs/integration/placeholderapi.mdx?collection=docs" +import * as __fd_glob_79 from "../src/content/docs/integration/motd.mdx?collection=docs" +import * as __fd_glob_78 from "../src/content/docs/integration/minimotd.mdx?collection=docs" +import * as __fd_glob_77 from "../src/content/docs/integration/mineplaceholders.mdx?collection=docs" +import * as __fd_glob_76 from "../src/content/docs/integration/maintenance.mdx?collection=docs" +import * as __fd_glob_75 from "../src/content/docs/integration/luckperms.mdx?collection=docs" +import * as __fd_glob_74 from "../src/content/docs/integration/litebans.mdx?collection=docs" +import * as __fd_glob_73 from "../src/content/docs/integration/libertybans.mdx?collection=docs" +import * as __fd_glob_72 from "../src/content/docs/integration/itemsadder.mdx?collection=docs" +import * as __fd_glob_71 from "../src/content/docs/integration/interactivechat.mdx?collection=docs" +import * as __fd_glob_70 from "../src/content/docs/integration/index.mdx?collection=docs" +import * as __fd_glob_69 from "../src/content/docs/integration/geyser.mdx?collection=docs" +import * as __fd_glob_68 from "../src/content/docs/integration/floodgate.mdx?collection=docs" +import * as __fd_glob_67 from "../src/content/docs/integration/discord.mdx?collection=docs" +import * as __fd_glob_66 from "../src/content/docs/integration/deepl.mdx?collection=docs" +import * as __fd_glob_65 from "../src/content/docs/integration/advancedban.mdx?collection=docs" +import * as __fd_glob_64 from "../src/content/docs/config/proxy.mdx?collection=docs" +import * as __fd_glob_63 from "../src/content/docs/config/module.mdx?collection=docs" +import * as __fd_glob_62 from "../src/content/docs/config/metrics.mdx?collection=docs" +import * as __fd_glob_61 from "../src/content/docs/config/logger.mdx?collection=docs" +import * as __fd_glob_60 from "../src/content/docs/config/language.mdx?collection=docs" +import * as __fd_glob_59 from "../src/content/docs/config/index.mdx?collection=docs" +import * as __fd_glob_58 from "../src/content/docs/config/editor.mdx?collection=docs" +import * as __fd_glob_57 from "../src/content/docs/config/database.mdx?collection=docs" +import * as __fd_glob_56 from "../src/content/docs/config/command.mdx?collection=docs" +import * as __fd_glob_55 from "../src/content/docs/config/cache.mdx?collection=docs" +import * as __fd_glob_54 from "../src/content/docs/command/warnlist.mdx?collection=docs" +import * as __fd_glob_53 from "../src/content/docs/command/warn.mdx?collection=docs" +import * as __fd_glob_52 from "../src/content/docs/command/unwarn.mdx?collection=docs" +import * as __fd_glob_51 from "../src/content/docs/command/unmute.mdx?collection=docs" +import * as __fd_glob_50 from "../src/content/docs/command/unban.mdx?collection=docs" +import * as __fd_glob_49 from "../src/content/docs/command/try.mdx?collection=docs" +import * as __fd_glob_48 from "../src/content/docs/command/translateto.mdx?collection=docs" +import * as __fd_glob_47 from "../src/content/docs/command/toponline.mdx?collection=docs" +import * as __fd_glob_46 from "../src/content/docs/command/tictactoe.mdx?collection=docs" +import * as __fd_glob_45 from "../src/content/docs/command/tell.mdx?collection=docs" +import * as __fd_glob_44 from "../src/content/docs/command/symbol.mdx?collection=docs" +import * as __fd_glob_43 from "../src/content/docs/command/stream.mdx?collection=docs" +import * as __fd_glob_42 from "../src/content/docs/command/spy.mdx?collection=docs" +import * as __fd_glob_41 from "../src/content/docs/command/sprite.mdx?collection=docs" +import * as __fd_glob_40 from "../src/content/docs/command/rockpaperscissors.mdx?collection=docs" +import * as __fd_glob_39 from "../src/content/docs/command/reply.mdx?collection=docs" +import * as __fd_glob_38 from "../src/content/docs/command/poll.mdx?collection=docs" +import * as __fd_glob_37 from "../src/content/docs/command/ping.mdx?collection=docs" +import * as __fd_glob_36 from "../src/content/docs/command/online.mdx?collection=docs" +import * as __fd_glob_35 from "../src/content/docs/command/mutelist.mdx?collection=docs" +import * as __fd_glob_34 from "../src/content/docs/command/mute.mdx?collection=docs" +import * as __fd_glob_33 from "../src/content/docs/command/me.mdx?collection=docs" +import * as __fd_glob_32 from "../src/content/docs/command/maintenance.mdx?collection=docs" +import * as __fd_glob_31 from "../src/content/docs/command/mail.mdx?collection=docs" +import * as __fd_glob_30 from "../src/content/docs/command/kick.mdx?collection=docs" +import * as __fd_glob_29 from "../src/content/docs/command/index.mdx?collection=docs" +import * as __fd_glob_28 from "../src/content/docs/command/ignorelist.mdx?collection=docs" +import * as __fd_glob_27 from "../src/content/docs/command/ignore.mdx?collection=docs" +import * as __fd_glob_26 from "../src/content/docs/command/helper.mdx?collection=docs" +import * as __fd_glob_25 from "../src/content/docs/command/geolocate.mdx?collection=docs" +import * as __fd_glob_24 from "../src/content/docs/command/flectonepulse.mdx?collection=docs" +import * as __fd_glob_23 from "../src/content/docs/command/emit.mdx?collection=docs" +import * as __fd_glob_22 from "../src/content/docs/command/do.mdx?collection=docs" +import * as __fd_glob_21 from "../src/content/docs/command/dice.mdx?collection=docs" +import * as __fd_glob_20 from "../src/content/docs/command/deletemessage.mdx?collection=docs" +import * as __fd_glob_19 from "../src/content/docs/command/coin.mdx?collection=docs" +import * as __fd_glob_18 from "../src/content/docs/command/clearmail.mdx?collection=docs" +import * as __fd_glob_17 from "../src/content/docs/command/clearchat.mdx?collection=docs" +import * as __fd_glob_16 from "../src/content/docs/command/chatsetting.mdx?collection=docs" +import * as __fd_glob_15 from "../src/content/docs/command/chatcolor.mdx?collection=docs" +import * as __fd_glob_14 from "../src/content/docs/command/broadcast.mdx?collection=docs" +import * as __fd_glob_13 from "../src/content/docs/command/banlist.mdx?collection=docs" +import * as __fd_glob_12 from "../src/content/docs/command/ban.mdx?collection=docs" +import * as __fd_glob_11 from "../src/content/docs/command/ball.mdx?collection=docs" +import * as __fd_glob_10 from "../src/content/docs/command/anon.mdx?collection=docs" +import * as __fd_glob_9 from "../src/content/docs/command/afk.mdx?collection=docs" +import * as __fd_glob_8 from "../src/content/docs/index.mdx?collection=docs" +import * as __fd_glob_7 from "../src/content/docs/api.mdx?collection=docs" +import { default as __fd_glob_6 } from "../src/content/docs/message/objective/meta.json?collection=docs" +import { default as __fd_glob_5 } from "../src/content/docs/message/format/meta.json?collection=docs" +import { default as __fd_glob_4 } from "../src/content/docs/message/meta.json?collection=docs" +import { default as __fd_glob_3 } from "../src/content/docs/integration/meta.json?collection=docs" +import { default as __fd_glob_2 } from "../src/content/docs/config/meta.json?collection=docs" +import { default as __fd_glob_1 } from "../src/content/docs/command/meta.json?collection=docs" +import { default as __fd_glob_0 } from "../src/content/docs/meta.json?collection=docs" +import { server } from 'fumadocs-mdx/runtime/server'; +import type * as Config from '../source.config'; + +const create = server({"doc":{"passthroughs":["extractedReferences","lastModified"]}}); + +export const docs = await create.docs("docs", "src/content/docs", {"meta.json": __fd_glob_0, "command/meta.json": __fd_glob_1, "config/meta.json": __fd_glob_2, "integration/meta.json": __fd_glob_3, "message/meta.json": __fd_glob_4, "message/format/meta.json": __fd_glob_5, "message/objective/meta.json": __fd_glob_6, }, {"api.mdx": __fd_glob_7, "index.mdx": __fd_glob_8, "command/afk.mdx": __fd_glob_9, "command/anon.mdx": __fd_glob_10, "command/ball.mdx": __fd_glob_11, "command/ban.mdx": __fd_glob_12, "command/banlist.mdx": __fd_glob_13, "command/broadcast.mdx": __fd_glob_14, "command/chatcolor.mdx": __fd_glob_15, "command/chatsetting.mdx": __fd_glob_16, "command/clearchat.mdx": __fd_glob_17, "command/clearmail.mdx": __fd_glob_18, "command/coin.mdx": __fd_glob_19, "command/deletemessage.mdx": __fd_glob_20, "command/dice.mdx": __fd_glob_21, "command/do.mdx": __fd_glob_22, "command/emit.mdx": __fd_glob_23, "command/flectonepulse.mdx": __fd_glob_24, "command/geolocate.mdx": __fd_glob_25, "command/helper.mdx": __fd_glob_26, "command/ignore.mdx": __fd_glob_27, "command/ignorelist.mdx": __fd_glob_28, "command/index.mdx": __fd_glob_29, "command/kick.mdx": __fd_glob_30, "command/mail.mdx": __fd_glob_31, "command/maintenance.mdx": __fd_glob_32, "command/me.mdx": __fd_glob_33, "command/mute.mdx": __fd_glob_34, "command/mutelist.mdx": __fd_glob_35, "command/online.mdx": __fd_glob_36, "command/ping.mdx": __fd_glob_37, "command/poll.mdx": __fd_glob_38, "command/reply.mdx": __fd_glob_39, "command/rockpaperscissors.mdx": __fd_glob_40, "command/sprite.mdx": __fd_glob_41, "command/spy.mdx": __fd_glob_42, "command/stream.mdx": __fd_glob_43, "command/symbol.mdx": __fd_glob_44, "command/tell.mdx": __fd_glob_45, "command/tictactoe.mdx": __fd_glob_46, "command/toponline.mdx": __fd_glob_47, "command/translateto.mdx": __fd_glob_48, "command/try.mdx": __fd_glob_49, "command/unban.mdx": __fd_glob_50, "command/unmute.mdx": __fd_glob_51, "command/unwarn.mdx": __fd_glob_52, "command/warn.mdx": __fd_glob_53, "command/warnlist.mdx": __fd_glob_54, "config/cache.mdx": __fd_glob_55, "config/command.mdx": __fd_glob_56, "config/database.mdx": __fd_glob_57, "config/editor.mdx": __fd_glob_58, "config/index.mdx": __fd_glob_59, "config/language.mdx": __fd_glob_60, "config/logger.mdx": __fd_glob_61, "config/metrics.mdx": __fd_glob_62, "config/module.mdx": __fd_glob_63, "config/proxy.mdx": __fd_glob_64, "integration/advancedban.mdx": __fd_glob_65, "integration/deepl.mdx": __fd_glob_66, "integration/discord.mdx": __fd_glob_67, "integration/floodgate.mdx": __fd_glob_68, "integration/geyser.mdx": __fd_glob_69, "integration/index.mdx": __fd_glob_70, "integration/interactivechat.mdx": __fd_glob_71, "integration/itemsadder.mdx": __fd_glob_72, "integration/libertybans.mdx": __fd_glob_73, "integration/litebans.mdx": __fd_glob_74, "integration/luckperms.mdx": __fd_glob_75, "integration/maintenance.mdx": __fd_glob_76, "integration/mineplaceholders.mdx": __fd_glob_77, "integration/minimotd.mdx": __fd_glob_78, "integration/motd.mdx": __fd_glob_79, "integration/placeholderapi.mdx": __fd_glob_80, "integration/plasmovoice.mdx": __fd_glob_81, "integration/simplevoice.mdx": __fd_glob_82, "integration/skinsrestorer.mdx": __fd_glob_83, "integration/supervanish.mdx": __fd_glob_84, "integration/tab.mdx": __fd_glob_85, "integration/telegram.mdx": __fd_glob_86, "integration/triton.mdx": __fd_glob_87, "integration/twitch.mdx": __fd_glob_88, "integration/vault.mdx": __fd_glob_89, "integration/yandex.mdx": __fd_glob_90, "message/afk.mdx": __fd_glob_91, "message/anvil.mdx": __fd_glob_92, "message/auto.mdx": __fd_glob_93, "message/book.mdx": __fd_glob_94, "message/bossbar.mdx": __fd_glob_95, "message/brand.mdx": __fd_glob_96, "message/bubble.mdx": __fd_glob_97, "message/chat.mdx": __fd_glob_98, "message/greeting.mdx": __fd_glob_99, "message/index.mdx": __fd_glob_100, "message/join.mdx": __fd_glob_101, "message/quit.mdx": __fd_glob_102, "message/rightclick.mdx": __fd_glob_103, "message/sidebar.mdx": __fd_glob_104, "message/sign.mdx": __fd_glob_105, "message/translate.mdx": __fd_glob_106, "message/update.mdx": __fd_glob_107, "message/vanilla.mdx": __fd_glob_108, "message/format/fcolor.mdx": __fd_glob_109, "message/format/fixation.mdx": __fd_glob_110, "message/format/index.mdx": __fd_glob_111, "message/format/mention.mdx": __fd_glob_112, "message/format/names.mdx": __fd_glob_113, "message/format/object.mdx": __fd_glob_114, "message/format/questionanswer.mdx": __fd_glob_115, "message/format/replacement.mdx": __fd_glob_116, "message/format/scoreboard.mdx": __fd_glob_117, "message/format/world.mdx": __fd_glob_118, "message/objective/belowname.mdx": __fd_glob_119, "message/objective/index.mdx": __fd_glob_120, "message/objective/tabname.mdx": __fd_glob_121, "message/status/icon.mdx": __fd_glob_122, "message/status/index.mdx": __fd_glob_123, "message/status/motd.mdx": __fd_glob_124, "message/status/players.mdx": __fd_glob_125, "message/status/version.mdx": __fd_glob_126, "message/tab/footer.mdx": __fd_glob_127, "message/tab/header.mdx": __fd_glob_128, "message/tab/index.mdx": __fd_glob_129, "message/tab/playerlistname.mdx": __fd_glob_130, "message/format/moderation/caps.mdx": __fd_glob_131, "message/format/moderation/delete.mdx": __fd_glob_132, "message/format/moderation/flood.mdx": __fd_glob_133, "message/format/moderation/index.mdx": __fd_glob_134, "message/format/moderation/newbie.mdx": __fd_glob_135, "message/format/moderation/swear.mdx": __fd_glob_136, }); \ No newline at end of file diff --git a/.source/source.config.mjs b/.source/source.config.mjs new file mode 100644 index 00000000..734ca4bf --- /dev/null +++ b/.source/source.config.mjs @@ -0,0 +1,21 @@ +// source.config.ts +import { defineDocs, defineConfig } from "fumadocs-mdx/config"; +import lastModified from "fumadocs-mdx/plugins/last-modified"; +import { z } from "zod"; +var docs = defineDocs({ + dir: "./src/content/docs", + docs: { + schema: z.object({ + title: z.string(), + description: z.string().optional(), + authors: z.array(z.string()).optional() + }) + } +}); +var source_config_default = defineConfig({ + plugins: [lastModified()] +}); +export { + source_config_default as default, + docs +}; diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 7466705a..00000000 --- a/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - FlectonePulseWeb Copyright (C) 2024-2025 TheFaser - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/astro-i18next.config.ts b/astro-i18next.config.ts deleted file mode 100644 index 217e821b..00000000 --- a/astro-i18next.config.ts +++ /dev/null @@ -1,4 +0,0 @@ -export default { - defaultLocale: "ru", - locales: ["en", "fr"], -}; diff --git a/astro.config.mjs b/astro.config.mjs deleted file mode 100644 index 9a03c53a..00000000 --- a/astro.config.mjs +++ /dev/null @@ -1,43 +0,0 @@ -// @ts-check -import { defineConfig } from "astro/config"; - -import react from "@astrojs/react"; - -import tailwindcss from "@astrojs/tailwind"; - -import { viteStaticCopy } from "vite-plugin-static-copy"; - -// https://astro.build/config -export default defineConfig({ - integrations: [ - react(), - tailwindcss({ - applyBaseStyles: false, - }), - ], - i18n: { - locales: ["en", "ru"], - defaultLocale: "ru", - }, - - build: { - assets: '_astro', - }, - - vite: { - plugins: [ - viteStaticCopy({ - targets: [ - { - src: [ - 'src/assets/**/*', - '!src/assets/chat/**', - '!src/assets/mix/**', - ], - dest: 'assets', - } - ] - }) - ] - } -}); diff --git a/components.json b/components.json deleted file mode 100644 index 9bcfb145..00000000 --- a/components.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema.json", - "style": "new-york", - "rsc": false, - "tsx": true, - "tailwind": { - "config": "tailwind.config.js", - "css": "src/styles/globals.css", - "baseColor": "neutral", - "cssVariables": true, - "prefix": "" - }, - "aliases": { - "components": "@/components", - "utils": "@/lib/utils", - "ui": "@/components/ui", - "lib": "@/lib", - "hooks": "@/hooks" - }, - "iconLibrary": "lucide" -} \ No newline at end of file diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 00000000..199c0ecf --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,16 @@ +import { defineConfig, globalIgnores } from "eslint/config"; +import nextVitals from "eslint-config-next/core-web-vitals"; +import nextTs from "eslint-config-next/typescript"; + +const eslintConfig = defineConfig([ + ...nextVitals, + ...nextTs, + globalIgnores([ + ".next/**", + "out/**", + "build/**", + "next-env.d.ts", + ]), +]); + +export default eslintConfig; diff --git a/messages/en.json b/messages/en.json new file mode 100644 index 00000000..cbb8ef76 --- /dev/null +++ b/messages/en.json @@ -0,0 +1,79 @@ +{ + "Header": { + "home": "Home", + "about": "About us" + }, + "ThemeSwitcher": { + "light": "Light", + "dark": "Dark", + "system": "System" + }, + "LanguageSwitcher": { + "ru": "Russian", + "en": "English" + }, + "Projects": { + "title": "Projects by Flectone", + "Pulse": { + "description": "New project for easy server customization", + "button": "More", + "buttonPath": "https://flectone.net/en/pulse" + }, + "Mix": { + "description": "Previously used to download stuff from videos" + }, + "Chat": { + "description": "Father of FlectonePulse, but it's closed", + "imagePath": "/chat-en.svg" + } + }, + "Members": { + "title": "The Flectone Team", + "TheFaser": { + "name": "TheFaser", + "description": "Initiator of Flectone projects, YouTuber, and developer", + "avatar": "https://github.com/TheFaser.png", + "link": "https://github.com/TheFaser" + }, + "FunnyBars": { + "name": "FunnyBars", + "description": "Contributor to all projects and creator of the CookieClicker plugin", + "avatar": "https://github.com/FunnyBars.png", + "link": "https://github.com/FunnyBars" + }, + "fxdsu": { + "name": "fxdsu", + "description": "Creator of the FlectoneChat plugin and main assistant", + "avatar": "https://github.com/fxdsu.png", + "link": "https://github.com/fxdsu" + }, + "vplend": { + "name": "vplend", + "description": "Website developer", + "avatar": "https://github.com/vplend.png", + "link": "https://github.com/vplend" + }, + "bakinu": { + "name": "bakinu", + "description": "Initiator of Flectone projects, YouTuber, and developer", + "avatar": "https://github.com/bakinu.png", + "link": "https://github.com/bakinu" + }, + "awalki": { + "name": "awalki", + "description": "Developer of the old version of the website on Astro", + "avatar": "https://github.com/awalki.png", + "link": "https://github.com/awalki" + } + }, + "FlectoneMix": { + "availableOnBoosty": "Available on Boosty", + "downloads": "downloads in history", + "description": "Was created to make it easier to find and install things for minecraft, but the project has been shut down" + }, + "FlectoneChat": { + "description": "Simplified and augmented the server game by adding convenient features, but it's closed", + "usePulse": "Use FlectonePulse, as FlectoneChat is no longer supported.", + "imagePath": "/chat-en.svg" + } +} \ No newline at end of file diff --git a/messages/ru.json b/messages/ru.json new file mode 100644 index 00000000..2890d16b --- /dev/null +++ b/messages/ru.json @@ -0,0 +1,79 @@ +{ + "Header": { + "home": "Главная", + "about": "Про нас" + }, + "ThemeSwitcher": { + "light": "Светлая", + "dark": "Темная", + "system": "Как в системе" + }, + "LanguageSwitcher": { + "ru": "Русский", + "en": "Английский" + }, + "Projects": { + "title": "Проекты Flectone", + "Pulse": { + "description": "Новый проект для легкой кастомизации сервера", + "button": "Подробрее", + "buttonPath": "https://flectone.net/pulse" + }, + "Mix": { + "description": "Использовался для скачивания ресурсов" + }, + "Chat": { + "description": "Отец FlectonePulse, но проект был закрыт", + "imagePath": "/chat-ru.svg" + } + }, + "Members": { + "title": "Команда Flectone", + "TheFaser": { + "name": "TheFaser", + "description": "Инициатор проектов Flectone, ютубер и разработчик", + "avatar": "https://github.com/TheFaser.png", + "link": "https://github.com/TheFaser" + }, + "FunnyBars": { + "name": "FunnyBars", + "description": "Контрибьютор всех проектов и создатель плагина CookieClicker", + "avatar": "https://github.com/FunnyBars.png", + "link": "https://github.com/FunnyBars" + }, + "fxdsu": { + "name": "fxdsu", + "description": "Создатель плагина FlectoneChat и главный помощник", + "avatar": "https://github.com/fxdsu.png", + "link": "https://github.com/fxdsu" + }, + "vplend": { + "name": "vplend", + "description": "Разработчик сайта", + "avatar": "https://github.com/vplend.png", + "link": "https://github.com/vplend" + }, + "bakinu": { + "name": "bakinu", + "description": "Инициатор проектов Flectone, ютубер и разработчик", + "avatar": "https://github.com/bakinu.png", + "link": "https://github.com/bakinu" + }, + "awalki": { + "name": "awalki", + "description": "Разработчик старой версии сайта на Astro", + "avatar": "https://github.com/awalki.png", + "link": "https://github.com/awalki" + } + }, + "FlectoneMix": { + "availableOnBoosty": "Доступно на Boosty", + "downloads": "скачиваний в истории", + "description": "Был создан, чтобы облегчить поиск и установку вещей для Minecraft, но проект был закрыт" + }, + "FlectoneChat": { + "description": "Упрощает и дополняет игру на сервере добавлением удобных фичей, но проект был закрыт", + "usePulse": "Используй FlectonePulse, так как FlectoneChat более не поддерживается", + "imagePath": "/chat-ru.svg" + } +} \ No newline at end of file diff --git a/next.config.mjs b/next.config.mjs new file mode 100644 index 00000000..3302c11a --- /dev/null +++ b/next.config.mjs @@ -0,0 +1,19 @@ +import createNextIntlPlugin from 'next-intl/plugin'; +import { createMDX } from 'fumadocs-mdx/next'; + + +const withNextIntl = createNextIntlPlugin(); + +/** @type {import('next').NextConfig} */ +const config = { + reactStrictMode: true, + images: { + remotePatterns: [new URL('https://github.com/**')] + } +}; + +const withMDX = createMDX({ + configPath: "source.config.ts" +}); + +export default withNextIntl(withMDX(config)); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 60c9306b..ed875863 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,44 +1,52 @@ { - "name": "flectoneweb", - "version": "1.1.0", + "name": "flectone-web", + "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "flectoneweb", - "version": "1.1.0", + "name": "flectone-web", + "version": "0.1.0", "dependencies": { - "@astrojs/react": "^4.2.0", - "@astrojs/tailwind": "^6.0.0", - "@radix-ui/react-avatar": "^1.1.2", - "@radix-ui/react-dialog": "^1.1.5", - "@radix-ui/react-dropdown-menu": "^2.1.5", - "@radix-ui/react-slot": "^1.1.1", - "@radix-ui/react-switch": "^1.1.2", - "@rollup/rollup-win32-x64-msvc": "^4.34.1", - "@types/react": "^19.0.8", - "@types/react-dom": "^19.0.3", - "astro": "^5.2.3", - "bun": "^1.2.22", + "@radix-ui/react-slot": "^1.2.4", + "@types/mdx": "^2.0.13", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", - "embla-carousel-autoplay": "^8.5.2", - "embla-carousel-react": "^8.5.2", - "lucide-react": "^0.474.0", - "react": "^19.0.0", - "react-dom": "^19.0.0", - "tailwind-merge": "^3.0.1", - "tailwindcss": "3.4.17", + "framer-motion": "^12.23.24", + "fumadocs-core": "^16.4.1", + "fumadocs-mdx": "^14.2.3", + "fumadocs-ui": "^16.4.1", + "lucide-react": "^0.562.0", + "next": "^16.0.7", + "next-intl": "^4.5.6", + "next-svg": "^1.0.7", + "next-themes": "^0.4.6", + "nextra-theme-docs": "^4.6.1", + "react": "^19.2.0", + "react-dom": "^19.2.0", + "react-icons": "^5.5.0", + "tailwind-merge": "^3.4.0", "tailwindcss-animate": "^1.0.7" }, "devDependencies": { - "vite-plugin-static-copy": "^2.3.1" + "@svgr/webpack": "^8.1.0", + "@tailwindcss/postcss": "^4", + "@types/js-yaml": "^4.0.9", + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "@types/unist": "^3.0.3", + "eslint": "^9", + "eslint-config-next": "16.0.4", + "tailwindcss": "^4", + "typescript": "^5" } }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -47,110 +55,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@astrojs/compiler": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.0.tgz", - "integrity": "sha512-mqVORhUJViA28fwHYaWmsXSzLO9osbdZ5ImUfxBarqsYdMlPbqAqGJCxsNzvppp1BEzc1mJNjOVvQqeDN8Vspw==", - "license": "MIT" - }, - "node_modules/@astrojs/internal-helpers": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.7.3.tgz", - "integrity": "sha512-6Pl0bQEIChuW5wqN7jdKrzWfCscW2rG/Cz+fzt4PhSQX2ivBpnhXgFUCs0M3DCYvjYHnPVG2W36X5rmFjZ62sw==", - "license": "MIT" - }, - "node_modules/@astrojs/markdown-remark": { - "version": "6.3.7", - "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.7.tgz", - "integrity": "sha512-KXGdq6/BC18doBCYXp08alHlWChH0hdD2B1qv9wIyOHbvwI5K6I7FhSta8dq1hBQNdun8YkKPR013D/Hm8xd0g==", - "license": "MIT", - "dependencies": { - "@astrojs/internal-helpers": "0.7.3", - "@astrojs/prism": "3.3.0", - "github-slugger": "^2.0.0", - "hast-util-from-html": "^2.0.3", - "hast-util-to-text": "^4.0.2", - "import-meta-resolve": "^4.2.0", - "js-yaml": "^4.1.0", - "mdast-util-definitions": "^6.0.0", - "rehype-raw": "^7.0.0", - "rehype-stringify": "^10.0.1", - "remark-gfm": "^4.0.1", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.1.2", - "remark-smartypants": "^3.0.2", - "shiki": "^3.12.2", - "smol-toml": "^1.4.2", - "unified": "^11.0.5", - "unist-util-remove-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "unist-util-visit-parents": "^6.0.1", - "vfile": "^6.0.3" - } - }, - "node_modules/@astrojs/prism": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.3.0.tgz", - "integrity": "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==", - "license": "MIT", - "dependencies": { - "prismjs": "^1.30.0" - }, - "engines": { - "node": "18.20.8 || ^20.3.0 || >=22.0.0" - } - }, - "node_modules/@astrojs/react": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@astrojs/react/-/react-4.4.0.tgz", - "integrity": "sha512-RzblkVImAFdV1C0AWsSWzS70Z0FMtW2p0XXkNYu3QePfyVJta3JIy8m8jY8271etaCZtpFjsE2UaiHGZIBm6nw==", - "license": "MIT", - "dependencies": { - "@vitejs/plugin-react": "^4.7.0", - "ultrahtml": "^1.6.0", - "vite": "^6.3.6" - }, - "engines": { - "node": "18.20.8 || ^20.3.0 || >=22.0.0" - }, - "peerDependencies": { - "@types/react": "^17.0.50 || ^18.0.21 || ^19.0.0", - "@types/react-dom": "^17.0.17 || ^18.0.6 || ^19.0.0", - "react": "^17.0.2 || ^18.0.0 || ^19.0.0", - "react-dom": "^17.0.2 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/@astrojs/tailwind": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@astrojs/tailwind/-/tailwind-6.0.2.tgz", - "integrity": "sha512-j3mhLNeugZq6A8dMNXVarUa8K6X9AW+QHU9u3lKNrPLMHhOQ0S7VeWhHwEeJFpEK1BTKEUY1U78VQv2gN6hNGg==", - "license": "MIT", - "dependencies": { - "autoprefixer": "^10.4.21", - "postcss": "^8.5.3", - "postcss-load-config": "^4.0.2" - }, - "peerDependencies": { - "astro": "^3.0.0 || ^4.0.0 || ^5.0.0", - "tailwindcss": "^3.0.24" - } - }, - "node_modules/@astrojs/telemetry": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.0.tgz", - "integrity": "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==", + "node_modules/@antfu/install-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-1.1.0.tgz", + "integrity": "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==", "license": "MIT", + "peer": true, "dependencies": { - "ci-info": "^4.2.0", - "debug": "^4.4.0", - "dlv": "^1.1.3", - "dset": "^3.1.4", - "is-docker": "^3.0.0", - "is-wsl": "^3.1.0", - "which-pm-runs": "^1.1.0" + "package-manager-detector": "^1.3.0", + "tinyexec": "^1.0.1" }, - "engines": { - "node": "18.20.8 || ^20.3.0 || >=22.0.0" + "funding": { + "url": "https://github.com/sponsors/antfu" } }, "node_modules/@babel/code-frame": { @@ -168,29 +84,29 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz", - "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", - "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "license": "MIT", "dependencies": { "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", + "@babel/generator": "^7.28.5", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.4", + "@babel/parser": "^7.28.5", "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.4", - "@babel/types": "^7.28.4", + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -207,13 +123,13 @@ } }, "node_modules/@babel/generator": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", - "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.3", - "@babel/types": "^7.28.2", + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -222,6 +138,18 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-compilation-targets": { "version": "7.27.2", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", @@ -238,6 +166,60 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz", + "integrity": "sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", + "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "regexpu-core": "^6.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", + "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "debug": "^4.4.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.22.10" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, "node_modules/@babel/helper-globals": { "version": "7.28.0", "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", @@ -247,6 +229,19 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-module-imports": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", @@ -277,6 +272,18 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-plugin-utils": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", @@ -286,6 +293,53 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-string-parser": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", @@ -296,9 +350,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -313,6 +367,20 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz", + "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helpers": { "version": "7.28.4", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", @@ -327,12 +395,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", - "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", "license": "MIT", "dependencies": { - "@babel/types": "^7.28.4" + "@babel/types": "^7.28.5" }, "bin": { "parser": "bin/babel-parser.js" @@ -341,25 +409,26 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", - "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz", + "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==", "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-react-jsx-source": { + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", - "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" @@ -368,5383 +437,13538 @@ "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/traverse": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", - "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.4", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4", - "debug": "^4.3.1" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" } }, - "node_modules/@babel/types": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", - "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz", + "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==", "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.3" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@capsizecss/unpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-2.4.0.tgz", - "integrity": "sha512-GrSU71meACqcmIUxPYOJvGKF0yryjN/L1aCuE9DViCTJI7bfkjgYDPD1zbNDcINJwSSP6UaBZY9GAbYDO7re0Q==", + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "license": "MIT", - "dependencies": { - "blob-to-buffer": "^1.2.8", - "cross-fetch": "^3.0.4", - "fontkit": "^2.0.2" + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@emnapi/runtime": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.5.0.tgz", - "integrity": "sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==", + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", + "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", "license": "MIT", - "optional": true, "dependencies": { - "tslib": "^2.4.0" + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.10.tgz", - "integrity": "sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==", - "cpu": [ - "ppc64" - ], + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", "license": "MIT", - "optional": true, - "os": [ - "aix" - ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.10.tgz", - "integrity": "sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==", - "cpu": [ - "arm" - ], + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.10.tgz", - "integrity": "sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.10.tgz", - "integrity": "sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==", - "cpu": [ - "x64" - ], + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.10.tgz", - "integrity": "sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.10.tgz", - "integrity": "sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==", - "cpu": [ - "x64" - ], + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", + "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.28.0" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.10.tgz", - "integrity": "sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", + "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.10.tgz", - "integrity": "sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==", - "cpu": [ - "x64" - ], + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.10.tgz", - "integrity": "sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==", - "cpu": [ - "arm" - ], + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.5.tgz", + "integrity": "sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.10.tgz", - "integrity": "sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", + "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.10.tgz", - "integrity": "sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==", - "cpu": [ - "ia32" - ], + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", + "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.3", + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" } }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.10.tgz", - "integrity": "sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==", - "cpu": [ - "loong64" - ], + "node_modules/@babel/plugin-transform-classes": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz", + "integrity": "sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/traverse": "^7.28.4" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.10.tgz", - "integrity": "sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==", - "cpu": [ - "mips64el" - ], + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", + "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/template": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.10.tgz", - "integrity": "sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==", - "cpu": [ - "ppc64" - ], + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", + "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.10.tgz", - "integrity": "sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==", - "cpu": [ - "riscv64" - ], + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", + "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.10.tgz", - "integrity": "sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==", - "cpu": [ - "s390x" - ], + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.10.tgz", - "integrity": "sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==", - "cpu": [ - "x64" - ], + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.10.tgz", - "integrity": "sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.10.tgz", - "integrity": "sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==", - "cpu": [ - "x64" - ], + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", + "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.10.tgz", - "integrity": "sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.5.tgz", + "integrity": "sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==", "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.10.tgz", - "integrity": "sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==", - "cpu": [ - "x64" - ], + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.10.tgz", - "integrity": "sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.10.tgz", - "integrity": "sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==", - "cpu": [ - "x64" - ], + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.10.tgz", - "integrity": "sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", + "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.10.tgz", - "integrity": "sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==", - "cpu": [ - "ia32" - ], + "node_modules/@babel/plugin-transform-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.10.tgz", - "integrity": "sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==", - "cpu": [ - "x64" - ], + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.5.tgz", + "integrity": "sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==", "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@floating-ui/core": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", - "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.10" + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@floating-ui/dom": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz", - "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", "license": "MIT", "dependencies": { - "@floating-ui/core": "^1.7.3", - "@floating-ui/utils": "^0.2.10" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@floating-ui/react-dom": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.6.tgz", - "integrity": "sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==", + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", "license": "MIT", "dependencies": { - "@floating-ui/dom": "^1.7.4" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@floating-ui/utils": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", - "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", - "license": "MIT" + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.28.5.tgz", + "integrity": "sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "node_modules/@img/colour": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", - "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", "license": "MIT", - "optional": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@img/sharp-darwin-arm64": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.4.tgz", - "integrity": "sha512-sitdlPzDVyvmINUdJle3TNHl+AG9QcwiAMsXmccqsCOMZNIdW2/7S26w0LyU8euiLVzFBL3dXPwVCq/ODnf2vA==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=6.9.0" }, - "funding": { - "url": "https://opencollective.com/libvips" + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.2.3" + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@img/sharp-darwin-x64": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.4.tgz", - "integrity": "sha512-rZheupWIoa3+SOdF/IcUe1ah4ZDpKBGWcsPX6MT0lYniH9micvIU7HQkYTfrx5Xi8u+YqwLtxC/3vl8TQN6rMg==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", + "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=6.9.0" }, - "funding": { - "url": "https://opencollective.com/libvips" + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", + "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.2.3" + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz", + "integrity": "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", + "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.5.tgz", + "integrity": "sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", + "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", + "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.27.1.tgz", + "integrity": "sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", + "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz", + "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", + "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", + "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz", + "integrity": "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", + "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", + "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.5.tgz", + "integrity": "sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", + "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", + "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.5.tgz", + "integrity": "sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.27.1", + "@babel/plugin-syntax-import-attributes": "^7.27.1", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.28.0", + "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.5", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.28.3", + "@babel/plugin-transform-classes": "^7.28.4", + "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.0", + "@babel/plugin-transform-exponentiation-operator": "^7.28.5", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.28.5", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-modules-systemjs": "^7.28.5", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", + "@babel/plugin-transform-numeric-separator": "^7.27.1", + "@babel/plugin-transform-object-rest-spread": "^7.28.4", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.28.5", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/plugin-transform-private-methods": "^7.27.1", + "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.28.4", + "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "core-js-compat": "^3.43.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.28.5.tgz", + "integrity": "sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-transform-react-display-name": "^7.28.0", + "@babel/plugin-transform-react-jsx": "^7.27.1", + "@babel/plugin-transform-react-jsx-development": "^7.27.1", + "@babel/plugin-transform-react-pure-annotations": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz", + "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-typescript": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@braintree/sanitize-url": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.1.tgz", + "integrity": "sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==", + "license": "MIT", + "peer": true + }, + "node_modules/@chevrotain/cst-dts-gen": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz", + "integrity": "sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@chevrotain/gast": "11.0.3", + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/cst-dts-gen/node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT", + "peer": true + }, + "node_modules/@chevrotain/gast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.0.3.tgz", + "integrity": "sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/gast/node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT", + "peer": true + }, + "node_modules/@chevrotain/regexp-to-ast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz", + "integrity": "sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@chevrotain/types": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.0.3.tgz", + "integrity": "sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@chevrotain/utils": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.0.3.tgz", + "integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@emnapi/core": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.7.1.tgz", + "integrity": "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.1.0", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz", + "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", + "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz", + "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz", + "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz", + "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz", + "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", + "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz", + "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz", + "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz", + "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz", + "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz", + "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz", + "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz", + "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz", + "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz", + "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz", + "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz", + "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz", + "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz", + "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz", + "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz", + "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz", + "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz", + "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz", + "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz", + "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz", + "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz", + "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", + "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", + "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz", + "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.3", + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/react": { + "version": "0.26.28", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.26.28.tgz", + "integrity": "sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==", + "license": "MIT", + "dependencies": { + "@floating-ui/react-dom": "^2.1.2", + "@floating-ui/utils": "^0.2.8", + "tabbable": "^6.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.6.tgz", + "integrity": "sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.4" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "license": "MIT" + }, + "node_modules/@formatjs/ecma402-abstract": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.6.tgz", + "integrity": "sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw==", + "license": "MIT", + "dependencies": { + "@formatjs/fast-memoize": "2.2.7", + "@formatjs/intl-localematcher": "0.6.2", + "decimal.js": "^10.4.3", + "tslib": "^2.8.0" + } + }, + "node_modules/@formatjs/ecma402-abstract/node_modules/@formatjs/fast-memoize": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.7.tgz", + "integrity": "sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@formatjs/ecma402-abstract/node_modules/@formatjs/intl-localematcher": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.6.2.tgz", + "integrity": "sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@formatjs/fast-memoize": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-3.0.1.tgz", + "integrity": "sha512-kzk635kEmsxrrEWQXY7uKRocFCVXR4es5OQqcqCGg2NPtQztG/OBkE9THHu6UOTxpfyIkZhh6DjPBZGRp7y3og==", + "license": "MIT", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@formatjs/icu-messageformat-parser": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.4.tgz", + "integrity": "sha512-7kR78cRrPNB4fjGFZg3Rmj5aah8rQj9KPzuLsmcSn4ipLXQvC04keycTI1F7kJYDwIXtT2+7IDEto842CfZBtw==", + "license": "MIT", + "dependencies": { + "@formatjs/ecma402-abstract": "2.3.6", + "@formatjs/icu-skeleton-parser": "1.8.16", + "tslib": "^2.8.0" + } + }, + "node_modules/@formatjs/icu-skeleton-parser": { + "version": "1.8.16", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.16.tgz", + "integrity": "sha512-H13E9Xl+PxBd8D5/6TVUluSpxGNvFSlN/b3coUp0e0JpuWXXnQDiavIpY3NnvSp4xhEMoXyyBvVfdFX8jglOHQ==", + "license": "MIT", + "dependencies": { + "@formatjs/ecma402-abstract": "2.3.6", + "tslib": "^2.8.0" + } + }, + "node_modules/@formatjs/intl-localematcher": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.7.3.tgz", + "integrity": "sha512-NaeABectKdTCOnlH9VFGmMS3K0JuR7Soc2t5R2MCkBrM3H/hlKVYh0XSrcjjPkbjIdrF7L/Bzx9JtGuVaSfYlA==", + "license": "MIT", + "dependencies": { + "@formatjs/fast-memoize": "3.0.1", + "tslib": "^2.8.0" + } + }, + "node_modules/@fumadocs/ui": { + "version": "16.4.2", + "resolved": "https://registry.npmjs.org/@fumadocs/ui/-/ui-16.4.2.tgz", + "integrity": "sha512-cjeLclc4NQaGFkpDfFlustFSIeyNkrjj83gz0TvET+q8xKjRNZQPEc7EI+LdB313Dm51c+OUwFLYw95aiZhvJQ==", + "license": "MIT", + "dependencies": { + "fumadocs-core": "16.4.2", + "next-themes": "^0.4.6", + "postcss-selector-parser": "^7.1.1", + "tailwind-merge": "^3.4.0" + }, + "peerDependencies": { + "@types/react": "*", + "next": "16.x.x", + "react": "^19.2.0", + "react-dom": "^19.2.0", + "tailwindcss": "^4.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "next": { + "optional": true + }, + "tailwindcss": { + "optional": true + } + } + }, + "node_modules/@headlessui/react": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-2.2.9.tgz", + "integrity": "sha512-Mb+Un58gwBn0/yWZfyrCh0TJyurtT+dETj7YHleylHk5od3dv2XqETPGWMyQ5/7sYN7oWdyM1u9MvC0OC8UmzQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/react": "^0.26.16", + "@react-aria/focus": "^3.20.2", + "@react-aria/interactions": "^3.25.0", + "@tanstack/react-virtual": "^3.13.9", + "use-sync-external-store": "^1.5.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^18 || ^19 || ^19.0.0-rc", + "react-dom": "^18 || ^19 || ^19.0.0-rc" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", + "license": "MIT", + "peer": true + }, + "node_modules/@iconify/utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-3.1.0.tgz", + "integrity": "sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@antfu/install-pkg": "^1.1.0", + "@iconify/types": "^2.0.0", + "mlly": "^1.8.0" + } + }, + "node_modules/@img/colour": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", + "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" } }, "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mdx-js/mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz", + "integrity": "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "acorn": "^8.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-scope": "^1.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "recma-build-jsx": "^1.0.0", + "recma-jsx": "^1.0.0", + "recma-stringify": "^1.0.0", + "rehype-recma": "^1.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mermaid-js/parser": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-0.6.3.tgz", + "integrity": "sha512-lnjOhe7zyHjc+If7yT4zoedx2vo4sHaTmtkl1+or8BRTnCtDmcTpAjpzDSfCZrshM5bCoz0GyidzadJAH1xobA==", + "license": "MIT", + "peer": true, + "dependencies": { + "langium": "3.3.1" + } + }, + "node_modules/@napi-rs/simple-git": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git/-/simple-git-0.1.22.tgz", + "integrity": "sha512-bMVoAKhpjTOPHkW/lprDPwv5aD4R4C3Irt8vn+SKA9wudLe9COLxOhurrKRsxmZccUbWXRF7vukNeGUAj5P8kA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@napi-rs/simple-git-android-arm-eabi": "0.1.22", + "@napi-rs/simple-git-android-arm64": "0.1.22", + "@napi-rs/simple-git-darwin-arm64": "0.1.22", + "@napi-rs/simple-git-darwin-x64": "0.1.22", + "@napi-rs/simple-git-freebsd-x64": "0.1.22", + "@napi-rs/simple-git-linux-arm-gnueabihf": "0.1.22", + "@napi-rs/simple-git-linux-arm64-gnu": "0.1.22", + "@napi-rs/simple-git-linux-arm64-musl": "0.1.22", + "@napi-rs/simple-git-linux-ppc64-gnu": "0.1.22", + "@napi-rs/simple-git-linux-s390x-gnu": "0.1.22", + "@napi-rs/simple-git-linux-x64-gnu": "0.1.22", + "@napi-rs/simple-git-linux-x64-musl": "0.1.22", + "@napi-rs/simple-git-win32-arm64-msvc": "0.1.22", + "@napi-rs/simple-git-win32-ia32-msvc": "0.1.22", + "@napi-rs/simple-git-win32-x64-msvc": "0.1.22" + } + }, + "node_modules/@napi-rs/simple-git-android-arm-eabi": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-android-arm-eabi/-/simple-git-android-arm-eabi-0.1.22.tgz", + "integrity": "sha512-JQZdnDNm8o43A5GOzwN/0Tz3CDBQtBUNqzVwEopm32uayjdjxev1Csp1JeaqF3v9djLDIvsSE39ecsN2LhCKKQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-android-arm64": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-android-arm64/-/simple-git-android-arm64-0.1.22.tgz", + "integrity": "sha512-46OZ0SkhnvM+fapWjzg/eqbJvClxynUpWYyYBn4jAj7GQs1/Yyc8431spzDmkA8mL0M7Xo8SmbkzTDE7WwYAfg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-darwin-arm64": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-darwin-arm64/-/simple-git-darwin-arm64-0.1.22.tgz", + "integrity": "sha512-zH3h0C8Mkn9//MajPI6kHnttywjsBmZ37fhLX/Fiw5XKu84eHA6dRyVtMzoZxj6s+bjNTgaMgMUucxPn9ktxTQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-darwin-x64": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-darwin-x64/-/simple-git-darwin-x64-0.1.22.tgz", + "integrity": "sha512-GZN7lRAkGKB6PJxWsoyeYJhh85oOOjVNyl+/uipNX8bR+mFDCqRsCE3rRCFGV9WrZUHXkcuRL2laIRn7lLi3ag==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-freebsd-x64": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-freebsd-x64/-/simple-git-freebsd-x64-0.1.22.tgz", + "integrity": "sha512-xyqX1C5I0WBrUgZONxHjZH5a4LqQ9oki3SKFAVpercVYAcx3pq6BkZy1YUOP4qx78WxU1CCNfHBN7V+XO7D99A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-linux-arm-gnueabihf": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-arm-gnueabihf/-/simple-git-linux-arm-gnueabihf-0.1.22.tgz", + "integrity": "sha512-4LOtbp9ll93B9fxRvXiUJd1/RM3uafMJE7dGBZGKWBMGM76+BAcCEUv2BY85EfsU/IgopXI6n09TycRfPWOjxA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-linux-arm64-gnu": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-arm64-gnu/-/simple-git-linux-arm64-gnu-0.1.22.tgz", + "integrity": "sha512-GVOjP/JjCzbQ0kSqao7ctC/1sodVtv5VF57rW9BFpo2y6tEYPCqHnkQkTpieuwMNe+TVOhBUC1+wH0d9/knIHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-linux-arm64-musl": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-arm64-musl/-/simple-git-linux-arm64-musl-0.1.22.tgz", + "integrity": "sha512-MOs7fPyJiU/wqOpKzAOmOpxJ/TZfP4JwmvPad/cXTOWYwwyppMlXFRms3i98EU3HOazI/wMU2Ksfda3+TBluWA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-linux-ppc64-gnu": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-ppc64-gnu/-/simple-git-linux-ppc64-gnu-0.1.22.tgz", + "integrity": "sha512-L59dR30VBShRUIZ5/cQHU25upNgKS0AMQ7537J6LCIUEFwwXrKORZKJ8ceR+s3Sr/4jempWVvMdjEpFDE4HYww==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-linux-s390x-gnu": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-s390x-gnu/-/simple-git-linux-s390x-gnu-0.1.22.tgz", + "integrity": "sha512-4FHkPlCSIZUGC6HiADffbe6NVoTBMd65pIwcd40IDbtFKOgFMBA+pWRqKiQ21FERGH16Zed7XHJJoY3jpOqtmQ==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-linux-x64-gnu": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-x64-gnu/-/simple-git-linux-x64-gnu-0.1.22.tgz", + "integrity": "sha512-Ei1tM5Ho/dwknF3pOzqkNW9Iv8oFzRxE8uOhrITcdlpxRxVrBVptUF6/0WPdvd7R9747D/q61QG/AVyWsWLFKw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-linux-x64-musl": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-x64-musl/-/simple-git-linux-x64-musl-0.1.22.tgz", + "integrity": "sha512-zRYxg7it0p3rLyEJYoCoL2PQJNgArVLyNavHW03TFUAYkYi5bxQ/UFNVpgxMaXohr5yu7qCBqeo9j4DWeysalg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-win32-arm64-msvc": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-win32-arm64-msvc/-/simple-git-win32-arm64-msvc-0.1.22.tgz", + "integrity": "sha512-XGFR1fj+Y9cWACcovV2Ey/R2xQOZKs8t+7KHPerYdJ4PtjVzGznI4c2EBHXtdOIYvkw7tL5rZ7FN1HJKdD5Quw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-win32-ia32-msvc": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-win32-ia32-msvc/-/simple-git-win32-ia32-msvc-0.1.22.tgz", + "integrity": "sha512-Gqr9Y0gs6hcNBA1IXBpoqTFnnIoHuZGhrYqaZzEvGMLrTrpbXrXVEtX3DAAD2RLc1b87CPcJ49a7sre3PU3Rfw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-win32-x64-msvc": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-win32-x64-msvc/-/simple-git-win32-x64-msvc-0.1.22.tgz", + "integrity": "sha512-hQjcreHmUcpw4UrtkOron1/TQObfe484lxiXFLLUj7aWnnnOVs1mnXq5/Bo9+3NYZldFpFRJPdPBeHCisXkKJg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" + } + }, + "node_modules/@next/env": { + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.1.1.tgz", + "integrity": "sha512-3oxyM97Sr2PqiVyMyrZUtrtM3jqqFxOQJVuKclDsgj/L728iZt/GyslkN4NwarledZATCenbk4Offjk1hQmaAA==", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.0.4.tgz", + "integrity": "sha512-0emoVyL4Z5NEkRNb63ko/BqLC9OFULcY7mJ3lSerBCqgh/UFcjnvodyikV2bTl7XygwcamJxJAfxCo1oAVfH6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "3.3.1" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.1.1.tgz", + "integrity": "sha512-JS3m42ifsVSJjSTzh27nW+Igfha3NdBOFScr9C80hHGrWx55pTrVL23RJbqir7k7/15SKlrLHhh/MQzqBBYrQA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.1.1.tgz", + "integrity": "sha512-hbyKtrDGUkgkyQi1m1IyD3q4I/3m9ngr+V93z4oKHrPcmxwNL5iMWORvLSGAf2YujL+6HxgVvZuCYZfLfb4bGw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.1.1.tgz", + "integrity": "sha512-/fvHet+EYckFvRLQ0jPHJCUI5/B56+2DpI1xDSvi80r/3Ez+Eaa2Yq4tJcRTaB1kqj/HrYKn8Yplm9bNoMJpwQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.1.1.tgz", + "integrity": "sha512-MFHrgL4TXNQbBPzkKKur4Fb5ICEJa87HM7fczFs2+HWblM7mMLdco3dvyTI+QmLBU9xgns/EeeINSZD6Ar+oLg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.1.1.tgz", + "integrity": "sha512-20bYDfgOQAPUkkKBnyP9PTuHiJGM7HzNBbuqmD0jiFVZ0aOldz+VnJhbxzjcSabYsnNjMPsE0cyzEudpYxsrUQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.1.1.tgz", + "integrity": "sha512-9pRbK3M4asAHQRkwaXwu601oPZHghuSC8IXNENgbBSyImHv/zY4K5udBusgdHkvJ/Tcr96jJwQYOll0qU8+fPA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.1.1.tgz", + "integrity": "sha512-bdfQkggaLgnmYrFkSQfsHfOhk/mCYmjnrbRCGgkMcoOBZ4n+TRRSLmT/CU5SATzlBJ9TpioUyBW/vWFXTqQRiA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.33.tgz", + "integrity": "sha512-pc9LpGNKhJ0dXQhZ5QMmYxtARwwmWLpeocFmVG5Z0DzWq5Uf0izcI8tLc+qOpqxO1PWqZ5A7J1blrUIKrIFc7Q==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.1.1.tgz", + "integrity": "sha512-Ncwbw2WJ57Al5OX0k4chM68DKhEPlrXBaSXDCi2kPi5f4d8b3ejr3RRJGfKBLrn2YJL5ezNS7w2TZLHSti8CMw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@orama/orama": { + "version": "3.1.18", + "resolved": "https://registry.npmjs.org/@orama/orama/-/orama-3.1.18.tgz", + "integrity": "sha512-a61ljmRVVyG5MC/698C8/FfFDw5a8LOIvyOLW5fztgUXqUpc1jOfQzOitSCbge657OgXXThmY3Tk8fpiDb4UcA==", + "license": "Apache-2.0", + "engines": { + "node": ">= 20.0.0" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "license": "Apache-2.0", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/@radix-ui/number": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.1.tgz", + "integrity": "sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==", + "license": "MIT" + }, + "node_modules/@radix-ui/primitive": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz", + "integrity": "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==", + "license": "MIT" + }, + "node_modules/@radix-ui/react-accordion": { + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.2.12.tgz", + "integrity": "sha512-T4nygeh9YE9dLRPhAHSeOZi7HBXo+0kYIPJXayZfvWOWA0+n3dESrZbjfDPUABkUNym6Hd+f2IR113To8D2GPA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collapsible": "1.1.12", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.7.tgz", + "integrity": "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collapsible": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.12.tgz", + "integrity": "sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.7.tgz", + "integrity": "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", + "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.15.tgz", + "integrity": "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.1.tgz", + "integrity": "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz", + "integrity": "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-escape-keydown": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz", + "integrity": "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz", + "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", + "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-navigation-menu": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.14.tgz", + "integrity": "sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-visually-hidden": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popover": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.15.tgz", + "integrity": "sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.8.tgz", + "integrity": "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==", + "license": "MIT", + "dependencies": { + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-rect": "1.1.1", + "@radix-ui/react-use-size": "1.1.1", + "@radix-ui/rect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz", + "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.5.tgz", + "integrity": "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.11.tgz", + "integrity": "sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-scroll-area": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.2.10.tgz", + "integrity": "sha512-tAXIa1g3sM5CGpVT0uIbUx/U3Gs5N8T52IICuCtObaos1S8fzsrPXG5WObkQN3S6NVl6wKgPhAIiBGbWnvc97A==", + "license": "MIT", + "dependencies": { + "@radix-ui/number": "1.1.1", + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.4.tgz", + "integrity": "sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tabs": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.13.tgz", + "integrity": "sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.11", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", + "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", + "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-effect-event": "0.0.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-effect-event": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz", + "integrity": "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz", + "integrity": "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz", + "integrity": "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-previous": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.1.tgz", + "integrity": "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.1.tgz", + "integrity": "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==", + "license": "MIT", + "dependencies": { + "@radix-ui/rect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.1.tgz", + "integrity": "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-visually-hidden": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.3.tgz", - "integrity": "sha512-QzWAKo7kpHxbuHqUC28DZ9pIKpSi2ts2OJnoIGI26+HMgq92ZZ4vk8iJd4XsxN+tYfNJxzH6W62X5eTcsBymHw==", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.3.tgz", + "integrity": "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.1.tgz", + "integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==", + "license": "MIT" + }, + "node_modules/@react-aria/focus": { + "version": "3.21.3", + "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.21.3.tgz", + "integrity": "sha512-FsquWvjSCwC2/sBk4b+OqJyONETUIXQ2vM0YdPAuC+QFQh2DT6TIBo6dOZVSezlhudDla69xFBd6JvCFq1AbUw==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/interactions": "^3.26.0", + "@react-aria/utils": "^3.32.0", + "@react-types/shared": "^3.32.1", + "@swc/helpers": "^0.5.0", + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/interactions": { + "version": "3.26.0", + "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.26.0.tgz", + "integrity": "sha512-AAEcHiltjfbmP1i9iaVw34Mb7kbkiHpYdqieWufldh4aplWgsF11YQZOfaCJW4QoR2ML4Zzoa9nfFwLXA52R7Q==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/ssr": "^3.9.10", + "@react-aria/utils": "^3.32.0", + "@react-stately/flags": "^3.1.2", + "@react-types/shared": "^3.32.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/ssr": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.10.tgz", + "integrity": "sha512-hvTm77Pf+pMBhuBm760Li0BVIO38jv1IBws1xFm1NoL26PU+fe+FMW5+VZWyANR6nYL65joaJKZqOdTQMkO9IQ==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/utils": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.32.0.tgz", + "integrity": "sha512-/7Rud06+HVBIlTwmwmJa2W8xVtgxgzm0+kLbuFooZRzKDON6hhozS1dOMR/YLMxyJOaYOTpImcP4vRR9gL1hEg==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/ssr": "^3.9.10", + "@react-stately/flags": "^3.1.2", + "@react-stately/utils": "^3.11.0", + "@react-types/shared": "^3.32.1", + "@swc/helpers": "^0.5.0", + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/flags": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@react-stately/flags/-/flags-3.1.2.tgz", + "integrity": "sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@react-stately/utils": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.11.0.tgz", + "integrity": "sha512-8LZpYowJ9eZmmYLpudbo/eclIRnbhWIJZ994ncmlKlouNzKohtM8qTC6B1w1pwUbiwGdUoyzLuQbeaIor5Dvcw==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/shared": { + "version": "3.32.1", + "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.32.1.tgz", + "integrity": "sha512-famxyD5emrGGpFuUlgOP6fVW2h/ZaF405G5KDi3zPHzyjAWys/8W6NAVJtNbkCkhedmvL0xOhvt8feGXyXaw5w==", + "license": "Apache-2.0", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@schummar/icu-type-parser": { + "version": "1.21.5", + "resolved": "https://registry.npmjs.org/@schummar/icu-type-parser/-/icu-type-parser-1.21.5.tgz", + "integrity": "sha512-bXHSaW5jRTmke9Vd0h5P7BtWZG9Znqb8gSDxZnxaGSJnGwPLDPfS+3g0BKzeWqzgZPsIVZkM7m2tbo18cm5HBw==", + "license": "MIT" + }, + "node_modules/@shikijs/core": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.20.0.tgz", + "integrity": "sha512-f2ED7HYV4JEk827mtMDwe/yQ25pRiXZmtHjWF8uzZKuKiEsJR7Ce1nuQ+HhV9FzDcbIo4ObBCD9GPTzNuy9S1g==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.20.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.5" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.20.0.tgz", + "integrity": "sha512-OFx8fHAZuk7I42Z9YAdZ95To6jDePQ9Rnfbw9uSRTSbBhYBp1kEOKv/3jOimcj3VRUKusDYM6DswLauwfhboLg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.20.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.4" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.20.0.tgz", + "integrity": "sha512-Yx3gy7xLzM0ZOjqoxciHjA7dAt5tyzJE3L4uQoM83agahy+PlW244XJSrmJRSBvGYELDhYXPacD4R/cauV5bzQ==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.20.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.20.0.tgz", + "integrity": "sha512-le+bssCxcSHrygCWuOrYJHvjus6zhQ2K7q/0mgjiffRbkhM4o1EWu2m+29l0yEsHDbWaWPNnDUTRVVBvBBeKaA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.20.0" + } + }, + "node_modules/@shikijs/rehype": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/@shikijs/rehype/-/rehype-3.20.0.tgz", + "integrity": "sha512-/sqob3V/lJK0m2mZ64nkcWPN88im0D9atkI3S3PUBvtJZTHnJXVwZhHQFRDyObgEIa37IpHYHR3CuFtXB5bT2g==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.20.0", + "@types/hast": "^3.0.4", + "hast-util-to-string": "^3.0.1", + "shiki": "3.20.0", + "unified": "^11.0.5", + "unist-util-visit": "^5.0.0" + } + }, + "node_modules/@shikijs/themes": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.20.0.tgz", + "integrity": "sha512-U1NSU7Sl26Q7ErRvJUouArxfM2euWqq1xaSrbqMu2iqa+tSp0D1Yah8216sDYbdDHw4C8b75UpE65eWorm2erQ==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.20.0" + } + }, + "node_modules/@shikijs/transformers": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-3.20.0.tgz", + "integrity": "sha512-PrHHMRr3Q5W1qB/42kJW6laqFyWdhrPF2hNR9qjOm1xcSiAO3hAHo7HaVyHE6pMyevmy3i51O8kuGGXC78uK3g==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "3.20.0", + "@shikijs/types": "3.20.0" + } + }, + "node_modules/@shikijs/twoslash": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/@shikijs/twoslash/-/twoslash-3.20.0.tgz", + "integrity": "sha512-fZz6vB9a0M8iuVF/ydIV4ToC09sbOh/TqxXZFWAh5J8bLiPsyQGtygKMDQ9L0Sdop3co0TIC/JsrLmsbmZwwsw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@shikijs/core": "3.20.0", + "@shikijs/types": "3.20.0", + "twoslash": "^0.3.4" + }, + "peerDependencies": { + "typescript": ">=5.5.0" + } + }, + "node_modules/@shikijs/types": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.20.0.tgz", + "integrity": "sha512-lhYAATn10nkZcBQ0BlzSbJA3wcmL5MXUUF8d2Zzon6saZDlToKaiRX60n2+ZaHJCmXEcZRWNzn+k9vplr8Jhsw==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "license": "MIT" + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "license": "MIT" + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "license": "MIT", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/webpack": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", + "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@babel/plugin-transform-react-constant-elements": "^7.21.3", + "@babel/preset-env": "^7.20.2", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.21.0", + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "@svgr/plugin-svgo": "8.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.15.8.tgz", + "integrity": "sha512-M9cK5GwyWWRkRGwwCbREuj6r8jKdES/haCZ3Xckgkl8MUQJZA3XB7IXXK1IXRNeLjg6m7cnoMICpXv1v1hlJOg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.15.8.tgz", + "integrity": "sha512-j47DasuOvXl80sKJHSi2X25l44CMc3VDhlJwA7oewC1nV1VsSzwX+KOwE5tLnfORvVJJyeiXgJORNYg4jeIjYQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.15.8.tgz", + "integrity": "sha512-siAzDENu2rUbwr9+fayWa26r5A9fol1iORG53HWxQL1J8ym4k7xt9eME0dMPXlYZDytK5r9sW8zEA10F2U3Xwg==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.15.8.tgz", + "integrity": "sha512-o+1y5u6k2FfPYbTRUPvurwzNt5qd0NTumCTFscCNuBksycloXY16J8L+SMW5QRX59n4Hp9EmFa3vpvNHRVv1+Q==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.15.8.tgz", + "integrity": "sha512-koiCqL09EwOP1S2RShCI7NbsQuG6r2brTqUYE7pV7kZm9O17wZ0LSz22m6gVibpwEnw8jI3IE1yYsQTVpluALw==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.15.8.tgz", + "integrity": "sha512-4p6lOMU3bC+Vd5ARtKJ/FxpIC5G8v3XLoPEZ5s7mLR8h7411HWC/LmTXDHcrSXRC55zvAVia1eldy6zDLz8iFQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.15.8.tgz", + "integrity": "sha512-z3XBnbrZAL+6xDGAhJoN4lOueIxC/8rGrJ9tg+fEaeqLEuAtHSW2QHDHxDwkxZMjuF/pZ6MUTjHjbp8wLbuRLA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.15.8.tgz", + "integrity": "sha512-djQPJ9Rh9vP8GTS/Df3hcc6XP6xnG5c8qsngWId/BLA9oX6C7UzCPAn74BG/wGb9a6j4w3RINuoaieJB3t+7iQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.15.8.tgz", + "integrity": "sha512-/wfAgxORg2VBaUoFdytcVBVCgf1isWZIEXB9MZEUty4wwK93M/PxAkjifOho9RN3WrM3inPLabICRCEgdHpKKQ==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.15.8.tgz", + "integrity": "sha512-GpMePrh9Sl4d61o4KAHOOv5is5+zt6BEXCOCgs/H0FLGeii7j9bWDE8ExvKFy2GRRZVNR1ugsnzaGWHKM6kuzA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "license": "Apache-2.0" + }, + "node_modules/@swc/helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@swc/types": { + "version": "0.1.25", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.25.tgz", + "integrity": "sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==", + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.18.tgz", + "integrity": "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.6.1", + "lightningcss": "1.30.2", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.18" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.18.tgz", + "integrity": "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-x64": "4.1.18", + "@tailwindcss/oxide-freebsd-x64": "4.1.18", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-x64-musl": "4.1.18", + "@tailwindcss/oxide-wasm32-wasi": "4.1.18", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.18.tgz", + "integrity": "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.18.tgz", + "integrity": "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.18.tgz", + "integrity": "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.18.tgz", + "integrity": "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.18.tgz", + "integrity": "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.18.tgz", + "integrity": "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.18.tgz", + "integrity": "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.18.tgz", + "integrity": "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.18.tgz", + "integrity": "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.18.tgz", + "integrity": "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.0", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz", + "integrity": "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.18.tgz", + "integrity": "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/postcss": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.18.tgz", + "integrity": "sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "@tailwindcss/node": "4.1.18", + "@tailwindcss/oxide": "4.1.18", + "postcss": "^8.4.41", + "tailwindcss": "4.1.18" + } + }, + "node_modules/@tanstack/react-virtual": { + "version": "3.13.14", + "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.13.14.tgz", + "integrity": "sha512-WG0d7mBD54eA7dgA3+sO5csS0B49QKqM6Gy5Rf31+Oq/LTKROQSao9m2N/vz1IqVragOKU5t5k1LAcqh/DfTxw==", + "license": "MIT", + "dependencies": { + "@tanstack/virtual-core": "3.13.14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@tanstack/virtual-core": { + "version": "3.13.14", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.14.tgz", + "integrity": "sha512-b5Uvd8J2dc7ICeX9SRb/wkCxWk7pUwN214eEPAQsqrsktSKTCmyLxOQWSMgogBByXclZeAdgZ3k4o0fIYUIBqQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@theguild/remark-mermaid": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@theguild/remark-mermaid/-/remark-mermaid-0.3.0.tgz", + "integrity": "sha512-Fy1J4FSj8totuHsHFpaeWyWRaRSIvpzGTRoEfnNJc1JmLV9uV70sYE3zcT+Jj5Yw20Xq4iCsiT+3Ho49BBZcBQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "mermaid": "^11.0.0", + "unist-util-visit": "^5.0.0" + }, + "peerDependencies": { + "react": "^18.2.0 || ^19.0.0" + } + }, + "node_modules/@theguild/remark-npm2yarn": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@theguild/remark-npm2yarn/-/remark-npm2yarn-0.3.3.tgz", + "integrity": "sha512-ma6DvR03gdbvwqfKx1omqhg9May/VYGdMHvTzB4VuxkyS7KzfZ/lzrj43hmcsggpMje0x7SADA/pcMph0ejRnA==", + "license": "MIT", + "peer": true, + "dependencies": { + "npm-to-yarn": "^3.0.0", + "unist-util-visit": "^5.0.0" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@ts-morph/common": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.28.1.tgz", + "integrity": "sha512-W74iWf7ILp1ZKNYXY5qbddNaml7e9Sedv5lvU1V8lftlitkc9Pq1A+jlH23ltDgWYeZFFEqGCD1Ies9hqu3O+g==", + "license": "MIT", + "peer": true, + "dependencies": { + "minimatch": "^10.0.1", + "path-browserify": "^1.0.1", + "tinyglobby": "^0.2.14" + } + }, + "node_modules/@ts-morph/common/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "license": "BlueOak-1.0.0", + "peer": true, + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/d3": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz", + "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/d3-array": "*", + "@types/d3-axis": "*", + "@types/d3-brush": "*", + "@types/d3-chord": "*", + "@types/d3-color": "*", + "@types/d3-contour": "*", + "@types/d3-delaunay": "*", + "@types/d3-dispatch": "*", + "@types/d3-drag": "*", + "@types/d3-dsv": "*", + "@types/d3-ease": "*", + "@types/d3-fetch": "*", + "@types/d3-force": "*", + "@types/d3-format": "*", + "@types/d3-geo": "*", + "@types/d3-hierarchy": "*", + "@types/d3-interpolate": "*", + "@types/d3-path": "*", + "@types/d3-polygon": "*", + "@types/d3-quadtree": "*", + "@types/d3-random": "*", + "@types/d3-scale": "*", + "@types/d3-scale-chromatic": "*", + "@types/d3-selection": "*", + "@types/d3-shape": "*", + "@types/d3-time": "*", + "@types/d3-time-format": "*", + "@types/d3-timer": "*", + "@types/d3-transition": "*", + "@types/d3-zoom": "*" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz", + "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/d3-axis": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz", + "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-brush": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz", + "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-chord": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz", + "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/d3-contour": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz", + "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/d3-array": "*", + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/d3-dispatch": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.7.tgz", + "integrity": "sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/d3-drag": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz", + "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-dsv": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", + "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/d3-fetch": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", + "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/d3-dsv": "*" + } + }, + "node_modules/@types/d3-force": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.10.tgz", + "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/d3-format": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz", + "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-hierarchy": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", + "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/d3-polygon": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", + "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/d3-quadtree": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", + "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/d3-random": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz", + "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/d3-scale": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", + "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/d3-selection": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz", + "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/d3-shape": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz", + "integrity": "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/d3-time-format": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", + "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/d3-transition": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.9.tgz", + "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/js-yaml": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", + "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/katex": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.7.tgz", + "integrity": "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "20.19.27", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.27.tgz", + "integrity": "sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz", + "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "devOptional": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.51.0.tgz", + "integrity": "sha512-XtssGWJvypyM2ytBnSnKtHYOGT+4ZwTnBVl36TA4nRO2f4PRNGz5/1OszHzcZCvcBMh+qb7I06uoCmLTRdR9og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.51.0", + "@typescript-eslint/type-utils": "8.51.0", + "@typescript-eslint/utils": "8.51.0", + "@typescript-eslint/visitor-keys": "8.51.0", + "ignore": "^7.0.0", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.51.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.51.0.tgz", + "integrity": "sha512-3xP4XzzDNQOIqBMWogftkwxhg5oMKApqY0BAflmLZiFYHqyhSOxv/cd/zPQLTcCXr4AkaKb25joocY0BD1WC6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.51.0", + "@typescript-eslint/types": "8.51.0", + "@typescript-eslint/typescript-estree": "8.51.0", + "@typescript-eslint/visitor-keys": "8.51.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.51.0.tgz", + "integrity": "sha512-Luv/GafO07Z7HpiI7qeEW5NW8HUtZI/fo/kE0YbtQEFpJRUuR0ajcWfCE5bnMvL7QQFrmT/odMe8QZww8X2nfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.51.0", + "@typescript-eslint/types": "^8.51.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.51.0.tgz", + "integrity": "sha512-JhhJDVwsSx4hiOEQPeajGhCWgBMBwVkxC/Pet53EpBVs7zHHtayKefw1jtPaNRXpI9RA2uocdmpdfE7T+NrizA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.51.0", + "@typescript-eslint/visitor-keys": "8.51.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.51.0.tgz", + "integrity": "sha512-Qi5bSy/vuHeWyir2C8u/uqGMIlIDu8fuiYWv48ZGlZ/k+PRPHtaAu7erpc7p5bzw2WNNSniuxoMSO4Ar6V9OXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.51.0.tgz", + "integrity": "sha512-0XVtYzxnobc9K0VU7wRWg1yiUrw4oQzexCG2V2IDxxCxhqBMSMbjB+6o91A+Uc0GWtgjCa3Y8bi7hwI0Tu4n5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.51.0", + "@typescript-eslint/typescript-estree": "8.51.0", + "@typescript-eslint/utils": "8.51.0", + "debug": "^4.3.4", + "ts-api-utils": "^2.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.51.0.tgz", + "integrity": "sha512-TizAvWYFM6sSscmEakjY3sPqGwxZRSywSsPEiuZF6d5GmGD9Gvlsv0f6N8FvAAA0CD06l3rIcWNbsN1e5F/9Ag==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.51.0.tgz", + "integrity": "sha512-1qNjGqFRmlq0VW5iVlcyHBbCjPB7y6SxpBkrbhNWMy/65ZoncXCEPJxkRZL8McrseNH6lFhaxCIaX+vBuFnRng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.51.0", + "@typescript-eslint/tsconfig-utils": "8.51.0", + "@typescript-eslint/types": "8.51.0", + "@typescript-eslint/visitor-keys": "8.51.0", + "debug": "^4.3.4", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.51.0.tgz", + "integrity": "sha512-11rZYxSe0zabiKaCP2QAwRf/dnmgFgvTmeDTtZvUvXG3UuAdg/GU02NExmmIXzz3vLGgMdtrIosI84jITQOxUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.51.0", + "@typescript-eslint/types": "8.51.0", + "@typescript-eslint/typescript-estree": "8.51.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.51.0.tgz", + "integrity": "sha512-mM/JRQOzhVN1ykejrvwnBRV3+7yTKK8tVANVN3o1O0t0v7o+jqdVu9crPy5Y9dov15TJk/FTIgoUGHrTOVL3Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.51.0", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript/vfs": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@typescript/vfs/-/vfs-1.6.2.tgz", + "integrity": "sha512-hoBwJwcbKHmvd2QVebiytN1aELvpk9B74B4L1mFm/XT1Q/VOYAWl2vQ9AWRFtQq8zmz6enTpfTV8WRc4ATjW/g==", + "license": "MIT", + "peer": true, + "dependencies": { + "debug": "^4.1.1" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", "cpu": [ "arm64" ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@xmldom/xmldom": { + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.8.tgz", + "integrity": "sha512-p96FSY54r+WJ50FIOsCOjyj/wavs8921hG5+kVMmZgKcvIKxMXHTrjNJvRgWa/zuX3B6t2lijLNFaOyuxUH+2A==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT", + "peer": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.0.tgz", + "integrity": "sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.7", + "@babel/helper-define-polyfill-provider": "^0.6.5", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.11", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.11.tgz", + "integrity": "sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/better-react-mathjax": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/better-react-mathjax/-/better-react-mathjax-2.3.0.tgz", + "integrity": "sha512-K0ceQC+jQmB+NLDogO5HCpqmYf18AU2FxDbLdduYgkHYWZApFggkHE4dIaXCV1NqeoscESYXXo1GSkY6fA295w==", + "license": "MIT", + "peer": true, + "dependencies": { + "mathjax-full": "^3.2.2" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001762", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001762.tgz", + "integrity": "sha512-PxZwGNvH7Ak8WX5iXzoK1KPZttBXNPuaOvI2ZYU7NrlM+d9Ov+TUvlLOBNGzVXAntMSMMlJPd+jY6ovrVjSmUw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } ], + "license": "CC-BY-4.0" + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chevrotain": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz", + "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@chevrotain/cst-dts-gen": "11.0.3", + "@chevrotain/gast": "11.0.3", + "@chevrotain/regexp-to-ast": "11.0.3", + "@chevrotain/types": "11.0.3", + "@chevrotain/utils": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/chevrotain-allstar": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz", + "integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==", + "license": "MIT", + "peer": true, + "dependencies": { + "lodash-es": "^4.17.21" + }, + "peerDependencies": { + "chevrotain": "^11.0.0" + } + }, + "node_modules/chevrotain/node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT", + "peer": true + }, + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/class-variance-authority": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "license": "Apache-2.0", + "dependencies": { + "clsx": "^2.1.1" + }, + "funding": { + "url": "https://polar.sh/cva" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/clipboardy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz", + "integrity": "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==", + "license": "MIT", + "peer": true, + "dependencies": { + "execa": "^8.0.1", + "is-wsl": "^3.1.0", + "is64bit": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/code-block-writer": { + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.3.tgz", + "integrity": "sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==", + "license": "MIT", + "peer": true + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", "funding": { - "url": "https://opencollective.com/libvips" + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/compute-scroll-into-view": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.1.tgz", + "integrity": "sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "license": "MIT", + "peer": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/core-js-compat": { + "version": "3.47.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.47.0.tgz", + "integrity": "sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cose-base": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz", + "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", + "license": "MIT", + "peer": true, + "dependencies": { + "layout-base": "^1.0.0" + } + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/cytoscape": { + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.33.1.tgz", + "integrity": "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/cytoscape-cose-bilkent": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", + "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "cose-base": "^1.0.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", + "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "cose-base": "^2.2.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/cose-base": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz", + "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", + "license": "MIT", + "peer": true, + "dependencies": { + "layout-base": "^2.0.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/layout-base": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz", + "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==", + "license": "MIT", + "peer": true + }, + "node_modules/d3": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", + "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", + "license": "ISC", + "peer": true, + "dependencies": { + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "license": "ISC", + "peer": true, + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-axis": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "license": "ISC", + "peer": true, + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-chord": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "license": "ISC", + "peer": true, + "dependencies": { + "d3-path": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "license": "ISC", + "peer": true, + "dependencies": { + "d3-array": "^3.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "license": "ISC", + "peer": true, + "dependencies": { + "delaunator": "5" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=12" } }, - "node_modules/@img/sharp-libvips-darwin-x64": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.3.tgz", - "integrity": "sha512-Ju+g2xn1E2AKO6YBhxjj+ACcsPQRHT0bhpglxcEf+3uyPY+/gL8veniKoo96335ZaPo03bdDXMv0t+BBFAbmRA==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "license": "ISC", + "peer": true, + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" } }, - "node_modules/@img/sharp-libvips-linux-arm": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.3.tgz", - "integrity": "sha512-x1uE93lyP6wEwGvgAIV0gP6zmaL/a0tGzJs/BIDDG0zeBhMnuUPm7ptxGhUbcGs4okDJrk4nxgrmxpib9g6HpA==", - "cpu": [ - "arm" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "license": "ISC", + "peer": true, + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" } }, - "node_modules/@img/sharp-libvips-linux-arm64": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.3.tgz", - "integrity": "sha512-I4RxkXU90cpufazhGPyVujYwfIm9Nk1QDEmiIsaPwdnm013F7RIceaCc87kAH+oUB1ezqEvC6ga4m7MSlqsJvQ==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" + "node_modules/d3-dsv/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 10" } }, - "node_modules/@img/sharp-libvips-linux-ppc64": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.3.tgz", - "integrity": "sha512-Y2T7IsQvJLMCBM+pmPbM3bKT/yYJvVtLJGfCs4Sp95SjvnFIjynbjzsa7dY1fRJX45FTSfDksbTp6AGWudiyCg==", - "cpu": [ - "ppc64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=12" } }, - "node_modules/@img/sharp-libvips-linux-s390x": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.3.tgz", - "integrity": "sha512-RgWrs/gVU7f+K7P+KeHFaBAJlNkD1nIZuVXdQv6S+fNA6syCcoboNjsV2Pou7zNlVdNQoQUpQTk8SWDHUA3y/w==", - "cpu": [ - "s390x" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" + "node_modules/d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "license": "ISC", + "peer": true, + "dependencies": { + "d3-dsv": "1 - 3" + }, + "engines": { + "node": ">=12" } }, - "node_modules/@img/sharp-libvips-linux-x64": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.3.tgz", - "integrity": "sha512-3JU7LmR85K6bBiRzSUc/Ff9JBVIFVvq6bomKE0e63UXGeRw2HPVEjoJke1Yx+iU4rL7/7kUjES4dZ/81Qjhyxg==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "license": "ISC", + "peer": true, + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", + "license": "ISC", + "peer": true, + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", + "peer": true, + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-sankey": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz", + "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "d3-array": "1 - 2", + "d3-shape": "^1.2.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-array": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "internmap": "^1.0.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/d3-sankey/node_modules/d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "d3-path": "1" + } + }, + "node_modules/d3-sankey/node_modules/internmap": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==", + "license": "ISC", + "peer": true + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "license": "ISC", + "peer": true, + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", + "license": "ISC", + "peer": true, + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "license": "ISC", + "peer": true, + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "license": "ISC", + "peer": true, + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "license": "ISC", + "peer": true, + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "license": "ISC", + "peer": true, + "dependencies": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" } }, - "node_modules/@img/sharp-libvips-linuxmusl-arm64": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.3.tgz", - "integrity": "sha512-F9q83RZ8yaCwENw1GieztSfj5msz7GGykG/BA+MOUefvER69K/ubgFHNeSyUu64amHIYKGDs4sRCMzXVj8sEyw==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "license": "ISC", + "peer": true, + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + }, + "engines": { + "node": ">=12" } }, - "node_modules/@img/sharp-libvips-linuxmusl-x64": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.3.tgz", - "integrity": "sha512-U5PUY5jbc45ANM6tSJpsgqmBF/VsL6LnxJmIf11kB7J5DctHgqm0SkuXzVWtIY90GnJxKnC/JT251TDnk1fu/g==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" + "node_modules/dagre-d3-es": { + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.13.tgz", + "integrity": "sha512-efEhnxpSuwpYOKRm/L5KbqoZmNNukHa/Flty4Wp62JRvgH2ojwVgPgdYyr4twpieZnyRDdIH7PY2mopX26+j2Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "d3": "^7.9.0", + "lodash-es": "^4.17.21" } }, - "node_modules/@img/sharp-linux-arm": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.4.tgz", - "integrity": "sha512-Xyam4mlqM0KkTHYVSuc6wXRmM7LGN0P12li03jAnZ3EJWZqj83+hi8Y9UxZUbxsgsK1qOEwg7O0Bc0LjqQVtxA==", - "cpu": [ - "arm" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.2.3" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@img/sharp-linux-arm64": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.4.tgz", - "integrity": "sha512-YXU1F/mN/Wu786tl72CyJjP/Ngl8mGHN1hST4BGl+hiW5jhCnV2uRVTNOcaYPs73NeT/H8Upm3y9582JVuZHrQ==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.2.3" + "url": "https://github.com/sponsors/inspect-js" } }, - "node_modules/@img/sharp-linux-ppc64": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.4.tgz", - "integrity": "sha512-F4PDtF4Cy8L8hXA2p3TO6s4aDt93v+LKmpcYFLAVdkkD3hSxZzee0rh6/+94FpAynsuMpLX5h+LRsSG3rIciUQ==", - "cpu": [ - "ppc64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-ppc64": "1.2.3" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@img/sharp-linux-s390x": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.4.tgz", - "integrity": "sha512-qVrZKE9Bsnzy+myf7lFKvng6bQzhNUAYcVORq2P7bDlvmF6u2sCmK2KyEQEBdYk+u3T01pVsPrkj943T1aJAsw==", - "cpu": [ - "s390x" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], + "node_modules/dayjs": { + "version": "1.11.19", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", + "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", + "license": "MIT", + "peer": true + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=6.0" }, - "funding": { - "url": "https://opencollective.com/libvips" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "license": "MIT" + }, + "node_modules/decode-named-character-reference": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz", + "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" }, - "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.2.3" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/@img/sharp-linux-x64": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.4.tgz", - "integrity": "sha512-ZfGtcp2xS51iG79c6Vhw9CWqQC8l2Ot8dygxoDoIQPTat/Ov3qAa8qpxSrtAEAJW+UjTXc4yxCjNfxm4h6Xm2A==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=0.10.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, - "funding": { - "url": "https://opencollective.com/libvips" + "engines": { + "node": ">= 0.4" }, - "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.2.3" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.4.tgz", - "integrity": "sha512-8hDVvW9eu4yHWnjaOOR8kHVrew1iIX+MUgwxSuH2XyYeNRtLUe4VNioSqbNkB7ZYQJj9rUTT4PyRscyk2PXFKA==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.2.3" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.4.tgz", - "integrity": "sha512-lU0aA5L8QTlfKjpDCEFOZsTYGn3AEiO6db8W5aQDxj0nQkVrZWmN3ZP9sYKWJdtq3PWPhUNlqehWyXpYDcI9Sg==", - "cpu": [ - "x64" - ], + "node_modules/delaunator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", + "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", + "license": "ISC", + "peer": true, + "dependencies": { + "robust-predicates": "^3.0.2" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "devOptional": true, "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=8" + } + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" }, "funding": { - "url": "https://opencollective.com/libvips" + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.2.3" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@img/sharp-wasm32": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.4.tgz", - "integrity": "sha512-33QL6ZO/qpRyG7woB/HUALz28WnTMI2W1jgX3Nu2bypqLIKx/QKMILLJzJjI+SIbvXdG9fUnmrxR7vbi1sTBeA==", - "cpu": [ - "wasm32" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", - "optional": true, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", "dependencies": { - "@emnapi/runtime": "^1.5.0" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" }, "funding": { - "url": "https://opencollective.com/libvips" + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/@img/sharp-win32-arm64": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.4.tgz", - "integrity": "sha512-2Q250do/5WXTwxW3zjsEuMSv5sUU4Tq9VThWKlU2EYLm4MB7ZeMwF+SFJutldYODXF6jzc6YEOC+VfX0SZQPqA==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">= 4" }, "funding": { - "url": "https://opencollective.com/libvips" + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/@img/sharp-win32-ia32": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.4.tgz", - "integrity": "sha512-3ZeLue5V82dT92CNL6rsal6I2weKw1cYu+rGKm8fOCCtJTR2gYeUfY3FqUnIJsMUPIH68oS5jmZ0NiJ508YpEw==", - "cpu": [ - "ia32" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" + "node_modules/dompurify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz", + "integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==", + "license": "(MPL-2.0 OR Apache-2.0)", + "peer": true, + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" } }, - "node_modules/@img/sharp-win32-x64": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.4.tgz", - "integrity": "sha512-xIyj4wpYs8J18sVN3mSQjwrw7fKUqRw+Z5rnHNCy5fYTxigBz81u5mOMPmFumwjcn8+ld1ppptMBCLic1nz6ig==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" }, "funding": { - "url": "https://opencollective.com/libvips" + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "license": "ISC", + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" }, "engines": { - "node": ">=12" + "node": ">= 0.4" } }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "node_modules/electron-to-chromium": { + "version": "1.5.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", + "license": "ISC" + }, + "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, "license": "MIT" }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "node_modules/enhanced-resolve": { + "version": "5.18.4", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", + "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", + "dev": true, "license": "MIT", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10.13.0" } }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", "engines": { - "node": ">=12" + "node": ">=0.12" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" + "is-arrayish": "^0.2.1" } }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "node_modules/es-abstract": { + "version": "1.24.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz", + "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==", + "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, "license": "MIT", "engines": { - "node": ">=6.0.0" + "node": ">= 0.4" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "engines": { + "node": ">= 0.4" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/es-iterator-helpers": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz", + "integrity": "sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==", + "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.1", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.1.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.3.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.5", + "safe-array-concat": "^1.1.3" }, "engines": { - "node": ">= 8" + "node": ">= 0.4" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, "engines": { - "node": ">= 8" + "node": ">= 0.4" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" }, "engines": { - "node": ">= 8" + "node": ">= 0.4" } }, - "node_modules/@oslojs/encoding": { + "node_modules/es-shim-unscopables": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", - "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", - "license": "MIT" - }, - "node_modules/@oven/bun-darwin-aarch64": { - "version": "1.2.22", - "resolved": "https://registry.npmjs.org/@oven/bun-darwin-aarch64/-/bun-darwin-aarch64-1.2.22.tgz", - "integrity": "sha512-YCJkV2/vO5VVTQdwxLQrkW/yU4FAMWd3AXU3Z+TfoeYkHye5d2dIaBRXEPrOzrq1LQ2esN6ZhGfwYu2lVMTVRw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@oven/bun-darwin-x64": { - "version": "1.2.22", - "resolved": "https://registry.npmjs.org/@oven/bun-darwin-x64/-/bun-darwin-x64-1.2.22.tgz", - "integrity": "sha512-LhazlsoNOhjirQT303zKG5cli65FR5WweZgGRL0LoxH/ZWTwlYxpTCOBJ6/euV8YLMaGDNQfIfRLFARK5NqXng==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@oven/bun-darwin-x64-baseline": { - "version": "1.2.22", - "resolved": "https://registry.npmjs.org/@oven/bun-darwin-x64-baseline/-/bun-darwin-x64-baseline-1.2.22.tgz", - "integrity": "sha512-l8OHOXKZKCZaRDb5gxE8qRfccq6zi7j1xJiSI5P86qXW8jPoQbf+pPCoP8NgeyzeHqluWJoN0mqgCsSdp5dzWQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@oven/bun-linux-aarch64": { - "version": "1.2.22", - "resolved": "https://registry.npmjs.org/@oven/bun-linux-aarch64/-/bun-linux-aarch64-1.2.22.tgz", - "integrity": "sha512-JdC5nvmQh0rbUC46FY5uSF4SKYcY2LX5S66ZZvWdFp8R+6WnNc3Jr1hd5NcRW9qBVQ/JHi8oedrky9BtT8tzMA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@oven/bun-linux-aarch64-musl": { - "version": "1.2.22", - "resolved": "https://registry.npmjs.org/@oven/bun-linux-aarch64-musl/-/bun-linux-aarch64-musl-1.2.22.tgz", - "integrity": "sha512-Dc4/CsUgufxIwQKo8vVFtUvNSZIqVgogj7cg8GIXdNsanO/vckv8qspyLHuQB5E2Nye4nXorD76ixKuwkPTAMw==", - "cpu": [ - "aarch64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@oven/bun-linux-x64": { - "version": "1.2.22", - "resolved": "https://registry.npmjs.org/@oven/bun-linux-x64/-/bun-linux-x64-1.2.22.tgz", - "integrity": "sha512-U3h5zPw0stPl1qi7sGk8hL1r2QXH73HJBTLBHpeJ+PlfhfX/QIWnL/qK2c5Prm4jh2e/Tkw8bwL7NZ4iE9cVEQ==", - "cpu": [ - "x64" - ], + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } }, - "node_modules/@oven/bun-linux-x64-baseline": { - "version": "1.2.22", - "resolved": "https://registry.npmjs.org/@oven/bun-linux-x64-baseline/-/bun-linux-x64-baseline-1.2.22.tgz", - "integrity": "sha512-sww8Sqc0Zq94wa95ouNC5weMRXIFt32gB3+xXXw6o52Uf7TeNrYriQr+o68D7A5YXk9DSDFaTknwYTYwYw/lmQ==", - "cpu": [ - "x64" - ], + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@oven/bun-linux-x64-musl": { - "version": "1.2.22", - "resolved": "https://registry.npmjs.org/@oven/bun-linux-x64-musl/-/bun-linux-x64-musl-1.2.22.tgz", - "integrity": "sha512-h76y0mrs1dnpjVxZTzoREa9cRdf029aKP0TxRMgABH3aRm2UBgUfgh0qyTsRhnHd4+gl6X2Vn0nfStZTNWGEFQ==", - "cpu": [ - "x64" - ], + "node_modules/esast-util-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/@oven/bun-linux-x64-musl-baseline": { - "version": "1.2.22", - "resolved": "https://registry.npmjs.org/@oven/bun-linux-x64-musl-baseline/-/bun-linux-x64-musl-baseline-1.2.22.tgz", - "integrity": "sha512-iQgG4wCSkHQ0CrEPsLMsCWoM1hewybJHVP5d3UaASwHcfuvd7N7hODZyz59tfMaGxZygyxIXQhgz32p37zDsEg==", - "cpu": [ - "x64" - ], + "node_modules/esast-util-from-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "acorn": "^8.0.0", + "esast-util-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/@oven/bun-windows-x64": { - "version": "1.2.22", - "resolved": "https://registry.npmjs.org/@oven/bun-windows-x64/-/bun-windows-x64-1.2.22.tgz", - "integrity": "sha512-u+MIs0yj8Euv2ScFuqmbL54n4uJ+ZMK2nkAwkzumu6oUG0wRzIaSxAv61bO70Q1lTWX4dXLfoJhADJ1HdiGpTQ==", - "cpu": [ - "x64" - ], + "node_modules/esbuild": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz", + "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==", + "hasInstallScript": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.2", + "@esbuild/android-arm": "0.27.2", + "@esbuild/android-arm64": "0.27.2", + "@esbuild/android-x64": "0.27.2", + "@esbuild/darwin-arm64": "0.27.2", + "@esbuild/darwin-x64": "0.27.2", + "@esbuild/freebsd-arm64": "0.27.2", + "@esbuild/freebsd-x64": "0.27.2", + "@esbuild/linux-arm": "0.27.2", + "@esbuild/linux-arm64": "0.27.2", + "@esbuild/linux-ia32": "0.27.2", + "@esbuild/linux-loong64": "0.27.2", + "@esbuild/linux-mips64el": "0.27.2", + "@esbuild/linux-ppc64": "0.27.2", + "@esbuild/linux-riscv64": "0.27.2", + "@esbuild/linux-s390x": "0.27.2", + "@esbuild/linux-x64": "0.27.2", + "@esbuild/netbsd-arm64": "0.27.2", + "@esbuild/netbsd-x64": "0.27.2", + "@esbuild/openbsd-arm64": "0.27.2", + "@esbuild/openbsd-x64": "0.27.2", + "@esbuild/openharmony-arm64": "0.27.2", + "@esbuild/sunos-x64": "0.27.2", + "@esbuild/win32-arm64": "0.27.2", + "@esbuild/win32-ia32": "0.27.2", + "@esbuild/win32-x64": "0.27.2" + } }, - "node_modules/@oven/bun-windows-x64-baseline": { - "version": "1.2.22", - "resolved": "https://registry.npmjs.org/@oven/bun-windows-x64-baseline/-/bun-windows-x64-baseline-1.2.22.tgz", - "integrity": "sha512-9NgPAoht79/rex2C4IJ4N9BFpNupXS5WdKMKda0tBB/xjQkEZbSZ01wpS7PF4yHPwWsUZI0g7xP8NcNHT3nDcw==", - "cpu": [ - "x64" - ], + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "engines": { + "node": ">=6" + } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, "license": "MIT", - "optional": true, "engines": { - "node": ">=14" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@radix-ui/primitive": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz", - "integrity": "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==", - "license": "MIT" - }, - "node_modules/@radix-ui/react-arrow": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.7.tgz", - "integrity": "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==", + "node_modules/eslint": { + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", + "dev": true, "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.1.3" + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.2", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" }, "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "jiti": "*" }, "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { + "jiti": { "optional": true } } }, - "node_modules/@radix-ui/react-avatar": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.1.10.tgz", - "integrity": "sha512-V8piFfWapM5OmNCXTzVQY+E1rDa53zY+MQ4Y7356v4fFz6vqCyUtIz2rUD44ZEdwg78/jKmMJHj07+C/Z/rcog==", + "node_modules/eslint-config-next": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-16.0.4.tgz", + "integrity": "sha512-FknAsm/uexYriO6UXzV2QEm4Yz/5DVQCtMUHx0FRYAKqqf5ia8xPqdyoqXzoCc45nRF5brkFpBYMvtciavzD4g==", + "dev": true, "license": "MIT", "dependencies": { - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-is-hydrated": "0.1.0", - "@radix-ui/react-use-layout-effect": "1.1.1" + "@next/eslint-plugin-next": "16.0.4", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jsx-a11y": "^6.10.0", + "eslint-plugin-react": "^7.37.0", + "eslint-plugin-react-hooks": "^7.0.0", + "globals": "16.4.0", + "typescript-eslint": "^8.46.0" }, "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "eslint": ">=9.0.0", + "typescript": ">=3.3.1" }, "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { + "typescript": { "optional": true } } }, - "node_modules/@radix-ui/react-collection": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.7.tgz", - "integrity": "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==", + "node_modules/eslint-config-next/node_modules/globals": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", + "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, "license": "MIT", "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-slot": "1.2.3" + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", + "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.4.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^2.0.0", + "stable-hash": "^0.0.5", + "tinyglobby": "^0.2.13", + "unrs-resolver": "^1.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-resolver-typescript" }, "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" }, "peerDependenciesMeta": { - "@types/react": { + "eslint-plugin-import": { "optional": true }, - "@types/react-dom": { + "eslint-plugin-import-x": { "optional": true } } }, - "node_modules/@radix-ui/react-compose-refs": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", - "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", + "node_modules/eslint-module-utils": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "dev": true, "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" }, "peerDependenciesMeta": { - "@types/react": { + "eslint": { "optional": true } } }, - "node_modules/@radix-ui/react-context": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", - "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "dev": true, "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } }, - "node_modules/@radix-ui/react-dialog": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.15.tgz", - "integrity": "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==", + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "dev": true, "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-dismissable-layer": "1.1.11", - "@radix-ui/react-focus-guards": "1.1.3", - "@radix-ui/react-focus-scope": "1.1.7", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-portal": "1.1.9", - "@radix-ui/react-presence": "1.1.5", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-slot": "1.2.3", - "@radix-ui/react-use-controllable-state": "1.2.2", - "aria-hidden": "^1.2.4", - "react-remove-scroll": "^2.6.3" + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" }, "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz", + "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.4", + "@babel/parser": "^7.24.4", + "hermes-parser": "^0.25.1", + "zod": "^3.25.0 || ^4.0.0", + "zod-validation-error": "^3.5.0 || ^4.0.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@radix-ui/react-direction": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.1.tgz", - "integrity": "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz", - "integrity": "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==", + "node_modules/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-escape-keydown": "1.1.1" + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@radix-ui/react-dropdown-menu": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.16.tgz", - "integrity": "sha512-1PLGQEynI/3OX/ftV54COn+3Sud/Mn8vALg2rWnBLnRaGtJDduNW/22XjlGgPdpcIbiQxjKtb7BkcjP00nqfJw==", - "license": "MIT", + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-menu": "2.1.16", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-controllable-state": "1.2.2" + "estraverse": "^5.1.0" }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } + "engines": { + "node": ">=4.0" } }, - "node_modules/@radix-ui/react-focus-guards": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz", - "integrity": "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==", + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "dependencies": { + "@types/estree": "^1.0.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@radix-ui/react-focus-scope": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz", - "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==", + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", "license": "MIT", "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@radix-ui/react-id": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", - "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-scope": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", "license": "MIT", "dependencies": { - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "@types/estree": "^1.0.0", + "devlop": "^1.0.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@radix-ui/react-menu": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.16.tgz", - "integrity": "sha512-72F2T+PLlphrqLcAotYPp0uJMr5SjP5SL01wfEspJbru5Zs5vQaSHb4VB3ZMJPimgHHCHG7gMOeOB9H3Hdmtxg==", + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-collection": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-dismissable-layer": "1.1.11", - "@radix-ui/react-focus-guards": "1.1.3", - "@radix-ui/react-focus-scope": "1.1.7", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-popper": "1.2.8", - "@radix-ui/react-portal": "1.1.9", - "@radix-ui/react-presence": "1.1.5", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-roving-focus": "1.1.11", - "@radix-ui/react-slot": "1.2.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "aria-hidden": "^1.2.4", - "react-remove-scroll": "^2.6.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@radix-ui/react-popper": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.8.tgz", - "integrity": "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==", + "node_modules/estree-util-value-to-estree": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.5.0.tgz", + "integrity": "sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ==", "license": "MIT", "dependencies": { - "@floating-ui/react-dom": "^2.0.0", - "@radix-ui/react-arrow": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-layout-effect": "1.1.1", - "@radix-ui/react-use-rect": "1.1.1", - "@radix-ui/react-use-size": "1.1.1", - "@radix-ui/rect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "@types/estree": "^1.0.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/remcohaszing" } }, - "node_modules/@radix-ui/react-portal": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz", - "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==", + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@radix-ui/react-presence": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.5.tgz", - "integrity": "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==", + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "license": "MIT", + "peer": true, "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-use-layout-effect": "1.1.1" + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "engines": { + "node": ">=16.17" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/@radix-ui/react-primitive": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", - "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, "license": "MIT", "dependencies": { - "@radix-ui/react-slot": "1.2.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } + "engines": { + "node": ">=8.6.0" } }, - "node_modules/@radix-ui/react-roving-focus": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.11.tgz", - "integrity": "sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==", - "license": "MIT", + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-collection": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-controllable-state": "1.2.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "is-glob": "^4.0.1" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } + "engines": { + "node": ">= 6" } }, - "node_modules/@radix-ui/react-slot": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", - "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fault": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", + "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", "license": "MIT", + "peer": true, "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "format": "^0.2.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/@radix-ui/react-switch": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.2.6.tgz", - "integrity": "sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ==", + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-controllable-state": "1.2.2", - "@radix-ui/react-use-previous": "1.1.1", - "@radix-ui/react-use-size": "1.1.1" + "engines": { + "node": ">=12.0.0" }, "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "picomatch": "^3 || ^4" }, "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { + "picomatch": { "optional": true } } }, - "node_modules/@radix-ui/react-use-callback-ref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", - "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==", + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "dependencies": { + "flat-cache": "^4.0.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@radix-ui/react-use-controllable-state": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", - "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==", + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "license": "MIT", "dependencies": { - "@radix-ui/react-use-effect-event": "0.0.2", - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "to-regex-range": "^5.0.1" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "engines": { + "node": ">=8" } }, - "node_modules/@radix-ui/react-use-effect-event": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz", - "integrity": "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==", + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, "license": "MIT", "dependencies": { - "@radix-ui/react-use-layout-effect": "1.1.1" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "engines": { + "node": ">=10" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@radix-ui/react-use-escape-keydown": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz", - "integrity": "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==", + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, "license": "MIT", "dependencies": { - "@radix-ui/react-use-callback-ref": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "flatted": "^3.2.9", + "keyv": "^4.5.4" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "engines": { + "node": ">=16" } }, - "node_modules/@radix-ui/react-use-is-hydrated": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-is-hydrated/-/react-use-is-hydrated-0.1.0.tgz", - "integrity": "sha512-U+UORVEq+cTnRIaostJv9AGdV3G6Y+zbVd+12e18jQ5A3c0xL03IhnHuiU4UV69wolOQp5GfR58NW/EgdQhwOA==", + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, "license": "MIT", "dependencies": { - "use-sync-external-store": "^1.5.0" + "is-callable": "^1.2.7" }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "engines": { + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@radix-ui/react-use-layout-effect": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz", - "integrity": "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==", + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "peer": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/framer-motion": { + "version": "12.23.26", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.23.26.tgz", + "integrity": "sha512-cPcIhgR42xBn1Uj+PzOyheMtZ73H927+uWPDVhUMqxy8UHt6Okavb6xIz9J/phFUHUj0OncR6UvMfJTXoc/LKA==", "license": "MIT", + "dependencies": { + "motion-dom": "^12.23.23", + "motion-utils": "^12.23.6", + "tslib": "^2.4.0" + }, "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { - "@types/react": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { "optional": true } } }, - "node_modules/@radix-ui/react-use-previous": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.1.tgz", - "integrity": "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==", + "node_modules/fumadocs-core": { + "version": "16.4.2", + "resolved": "https://registry.npmjs.org/fumadocs-core/-/fumadocs-core-16.4.2.tgz", + "integrity": "sha512-V6jepeDEgoGAVD1nrqt63ARdHyOB853jQOWpVl1cTheZjEW1iXD9HTVBllt254wrxaBgQLQLu6nbskg/sfBUIA==", "license": "MIT", + "dependencies": { + "@formatjs/intl-localematcher": "^0.7.2", + "@orama/orama": "^3.1.18", + "@shikijs/rehype": "^3.20.0", + "@shikijs/transformers": "^3.20.0", + "estree-util-value-to-estree": "^3.5.0", + "github-slugger": "^2.0.0", + "hast-util-to-estree": "^3.1.3", + "hast-util-to-jsx-runtime": "^2.3.6", + "image-size": "^2.0.2", + "negotiator": "^1.0.0", + "npm-to-yarn": "^3.0.1", + "path-to-regexp": "^8.3.0", + "remark": "^15.0.1", + "remark-gfm": "^4.0.1", + "remark-rehype": "^11.1.2", + "scroll-into-view-if-needed": "^3.1.0", + "shiki": "^3.20.0", + "tinyglobby": "^0.2.15", + "unist-util-visit": "^5.0.0" + }, "peerDependencies": { + "@mixedbread/sdk": "^0.46.0", + "@orama/core": "1.x.x", + "@tanstack/react-router": "1.x.x", "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "algoliasearch": "5.x.x", + "lucide-react": "*", + "next": "16.x.x", + "react": "^19.2.0", + "react-dom": "^19.2.0", + "react-router": "7.x.x", + "waku": "^0.26.0 || ^0.27.0", + "zod": "*" }, "peerDependenciesMeta": { + "@mixedbread/sdk": { + "optional": true + }, + "@orama/core": { + "optional": true + }, + "@tanstack/react-router": { + "optional": true + }, "@types/react": { "optional": true + }, + "algoliasearch": { + "optional": true + }, + "lucide-react": { + "optional": true + }, + "next": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "react-router": { + "optional": true + }, + "waku": { + "optional": true + }, + "zod": { + "optional": true } } }, - "node_modules/@radix-ui/react-use-rect": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.1.tgz", - "integrity": "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==", + "node_modules/fumadocs-mdx": { + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/fumadocs-mdx/-/fumadocs-mdx-14.2.4.tgz", + "integrity": "sha512-YuDgzTopMuOOQmOhvOUfmXn2RryZY5Ev+9uwAzTBEYcLIpxIBxZl0/jHaLoYdlOMBM65AO6OBngA2SucC2hkIQ==", "license": "MIT", "dependencies": { - "@radix-ui/rect": "1.1.1" + "@mdx-js/mdx": "^3.1.1", + "@standard-schema/spec": "^1.1.0", + "chokidar": "^5.0.0", + "esbuild": "^0.27.2", + "estree-util-value-to-estree": "^3.5.0", + "js-yaml": "^4.1.1", + "mdast-util-to-markdown": "^2.1.2", + "picocolors": "^1.1.1", + "picomatch": "^4.0.3", + "remark-mdx": "^3.1.1", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.3", + "zod": "^4.2.1" + }, + "bin": { + "fumadocs-mdx": "dist/bin.js" }, "peerDependencies": { + "@fumadocs/mdx-remote": "^1.4.0", "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "fumadocs-core": "^15.0.0 || ^16.0.0", + "next": "^15.3.0 || ^16.0.0", + "react": "*", + "vite": "6.x.x || 7.x.x" }, "peerDependenciesMeta": { + "@fumadocs/mdx-remote": { + "optional": true + }, "@types/react": { "optional": true + }, + "next": { + "optional": true + }, + "react": { + "optional": true + }, + "vite": { + "optional": true } } }, - "node_modules/@radix-ui/react-use-size": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.1.tgz", - "integrity": "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==", + "node_modules/fumadocs-ui": { + "version": "16.4.2", + "resolved": "https://registry.npmjs.org/fumadocs-ui/-/fumadocs-ui-16.4.2.tgz", + "integrity": "sha512-hVZiiJtME1zIJ6r+iQ9codC9pyn1MvU0t0fiXh7ziV2SeXVickkqFBhU+FBng9T7TJAAue+TRiCdQq8UVhgpMg==", "license": "MIT", "dependencies": { - "@radix-ui/react-use-layout-effect": "1.1.1" + "@fumadocs/ui": "16.4.2", + "@radix-ui/react-accordion": "^1.2.12", + "@radix-ui/react-collapsible": "^1.1.12", + "@radix-ui/react-dialog": "^1.1.15", + "@radix-ui/react-direction": "^1.1.1", + "@radix-ui/react-navigation-menu": "^1.2.14", + "@radix-ui/react-popover": "^1.1.15", + "@radix-ui/react-presence": "^1.1.5", + "@radix-ui/react-scroll-area": "^1.2.10", + "@radix-ui/react-slot": "^1.2.4", + "@radix-ui/react-tabs": "^1.1.13", + "class-variance-authority": "^0.7.1", + "fumadocs-core": "16.4.2", + "lucide-react": "^0.562.0", + "next-themes": "^0.4.6", + "react-medium-image-zoom": "^5.4.0", + "scroll-into-view-if-needed": "^3.1.0" }, "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "react": "^19.2.0", + "react-dom": "^19.2.0", + "tailwindcss": "^4.0.0" }, "peerDependenciesMeta": { "@types/react": { "optional": true + }, + "tailwindcss": { + "optional": true } } }, - "node_modules/@radix-ui/rect": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.1.tgz", - "integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==", - "license": "MIT" - }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", - "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", - "license": "MIT" + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@rollup/pluginutils": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", - "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^4.0.2" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@rollup/pluginutils/node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "license": "MIT" + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.3.tgz", - "integrity": "sha512-h6cqHGZ6VdnwliFG1NXvMPTy/9PS3h8oLh7ImwR+kl+oYnQizgjxsONmmPSb2C66RksfkfIxEVtDSEcJiO0tqw==", - "cpu": [ - "arm" - ], + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ] + "engines": { + "node": ">= 0.4" + } }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.3.tgz", - "integrity": "sha512-wd+u7SLT/u6knklV/ifG7gr5Qy4GUbH2hMWcDauPFJzmCZUAJ8L2bTkVXC2niOIxp8lk3iH/QX8kSrUxVZrOVw==", - "cpu": [ - "arm64" - ], + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "license": "MIT", - "optional": true, - "os": [ - "android" - ] + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.3.tgz", - "integrity": "sha512-lj9ViATR1SsqycwFkJCtYfQTheBdvlWJqzqxwc9f2qrcVrQaF/gCuBRTiTolkRWS6KvNxSk4KHZWG7tDktLgjg==", - "cpu": [ - "arm64" - ], + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.3.tgz", - "integrity": "sha512-+Dyo7O1KUmIsbzx1l+4V4tvEVnVQqMOIYtrxK7ncLSknl1xnMHLgn7gddJVrYPNZfEB8CIi3hK8gq8bDhb3h5A==", - "cpu": [ - "x64" - ], + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "engines": { + "node": ">=6" + } }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.3.tgz", - "integrity": "sha512-u9Xg2FavYbD30g3DSfNhxgNrxhi6xVG4Y6i9Ur1C7xUuGDW3banRbXj+qgnIrwRN4KeJ396jchwy9bCIzbyBEQ==", - "cpu": [ - "arm64" - ], + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.3.tgz", - "integrity": "sha512-5M8kyi/OX96wtD5qJR89a/3x5x8x5inXBZO04JWhkQb2JWavOWfjgkdvUqibGJeNNaz1/Z1PPza5/tAPXICI6A==", - "cpu": [ - "x64" - ], + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] + "peer": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.3.tgz", - "integrity": "sha512-IoerZJ4l1wRMopEHRKOO16e04iXRDyZFZnNZKrWeNquh5d6bucjezgd+OxG03mOMTnS1x7hilzb3uURPkJ0OfA==", - "cpu": [ - "arm" - ], + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.3.tgz", - "integrity": "sha512-ZYdtqgHTDfvrJHSh3W22TvjWxwOgc3ThK/XjgcNGP2DIwFIPeAPNsQxrJO5XqleSlgDux2VAoWQ5iJrtaC1TbA==", - "cpu": [ - "arm" - ], + "node_modules/get-tsconfig": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", + "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.3.tgz", - "integrity": "sha512-NcViG7A0YtuFDA6xWSgmFb6iPFzHlf5vcqb2p0lGEbT+gjrEEz8nC/EeDHvx6mnGXnGCC1SeVV+8u+smj0CeGQ==", - "cpu": [ - "arm64" - ], + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.3.tgz", - "integrity": "sha512-d3pY7LWno6SYNXRm6Ebsq0DJGoiLXTb83AIPCXl9fmtIQs/rXoS8SJxxUNtFbJ5MiOvs+7y34np77+9l4nfFMw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.3.tgz", - "integrity": "sha512-3y5GA0JkBuirLqmjwAKwB0keDlI6JfGYduMlJD/Rl7fvb4Ni8iKdQs1eiunMZJhwDWdCvrcqXRY++VEBbvk6Eg==", - "cpu": [ - "loong64" - ], + "node_modules/hachure-fill": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/hachure-fill/-/hachure-fill-0.5.2.tgz", + "integrity": "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "peer": true }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.3.tgz", - "integrity": "sha512-AUUH65a0p3Q0Yfm5oD2KVgzTKgwPyp9DSXc3UA7DtxhEb/WSPfbG4wqXeSN62OG5gSo18em4xv6dbfcUGXcagw==", - "cpu": [ - "ppc64" - ], + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.3.tgz", - "integrity": "sha512-1makPhFFVBqZE+XFg3Dkq+IkQ7JvmUrwwqaYBL2CE+ZpxPaqkGaiWFEWVGyvTwZace6WLJHwjVh/+CXbKDGPmg==", - "cpu": [ - "riscv64" - ], + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">=8" + } }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.3.tgz", - "integrity": "sha512-OOFJa28dxfl8kLOPMUOQBCO6z3X2SAfzIE276fwT52uXDWUS178KWq0pL7d6p1kz7pkzA0yQwtqL0dEPoVcRWg==", - "cpu": [ - "riscv64" - ], + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.3.tgz", - "integrity": "sha512-jMdsML2VI5l+V7cKfZx3ak+SLlJ8fKvLJ0Eoa4b9/vCUrzXKgoKxvHqvJ/mkWhFiyp88nCkM5S2v6nIwRtPcgg==", - "cpu": [ - "s390x" - ], + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.3.tgz", - "integrity": "sha512-tPgGd6bY2M2LJTA1uGq8fkSPK8ZLYjDjY+ZLK9WHncCnfIz29LIXIqUgzCR0hIefzy6Hpbe8Th5WOSwTM8E7LA==", - "cpu": [ - "x64" - ], + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.3.tgz", - "integrity": "sha512-BCFkJjgk+WFzP+tcSMXq77ymAPIxsX9lFJWs+2JzuZTLtksJ2o5hvgTdIcZ5+oKzUDMwI0PfWzRBYAydAHF2Mw==", - "cpu": [ - "x64" - ], + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.3.tgz", - "integrity": "sha512-KTD/EqjZF3yvRaWUJdD1cW+IQBk4fbQaHYJUmP8N4XoKFZilVL8cobFSTDnjTtxWJQ3JYaMgF4nObY/+nYkumA==", - "cpu": [ - "arm64" - ], + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ] + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.3.tgz", - "integrity": "sha512-+zteHZdoUYLkyYKObGHieibUFLbttX2r+58l27XZauq0tcWYYuKUwY2wjeCN9oK1Um2YgH2ibd6cnX/wFD7DuA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "node_modules/hast-util-from-dom": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz", + "integrity": "sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==", + "license": "ISC", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0", + "hastscript": "^9.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.3.tgz", - "integrity": "sha512-of1iHkTQSo3kr6dTIRX6t81uj/c/b15HXVsPcEElN5sS859qHrOepM5p9G41Hah+CTqSh2r8Bm56dL2z9UQQ7g==", - "cpu": [ - "ia32" - ], + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.3.tgz", - "integrity": "sha512-s0hybmlHb56mWVZQj8ra9048/WZTPLILKxcvcq+8awSZmyiSUZjjem1AhU3Tf4ZKpYhK4mg36HtHDOe8QJS5PQ==", - "cpu": [ - "x64" - ], + "node_modules/hast-util-from-html-isomorphic": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz", + "integrity": "sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==", "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-dom": "^5.0.0", + "hast-util-from-html": "^2.0.0", + "unist-util-remove-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.3.tgz", - "integrity": "sha512-zGIbEVVXVtauFgl3MRwGWEN36P5ZGenHRMgNw88X5wEhEBpq0XrMEZwOn07+ICrwM17XO5xfMZqh0OldCH5VTA==", - "cpu": [ - "x64" - ], + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", "license": "MIT", - "os": [ - "win32" - ] + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/@shikijs/core": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.13.0.tgz", - "integrity": "sha512-3P8rGsg2Eh2qIHekwuQjzWhKI4jV97PhvYjYUzGqjvJfqdQPz+nMlfWahU24GZAyW1FxFI1sYjyhfh5CoLmIUA==", + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", "license": "MIT", + "peer": true, "dependencies": { - "@shikijs/types": "3.13.0", - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4", - "hast-util-to-html": "^9.0.5" + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@shikijs/engine-javascript": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.13.0.tgz", - "integrity": "sha512-Ty7xv32XCp8u0eQt8rItpMs6rU9Ki6LJ1dQOW3V/56PKDcpvfHPnYFbsx5FFUP2Yim34m/UkazidamMNVR4vKg==", + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", "license": "MIT", + "peer": true, "dependencies": { - "@shikijs/types": "3.13.0", - "@shikijs/vscode-textmate": "^10.0.2", - "oniguruma-to-es": "^4.3.3" + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@shikijs/engine-oniguruma": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.13.0.tgz", - "integrity": "sha512-O42rBGr4UDSlhT2ZFMxqM7QzIU+IcpoTMzb3W7AlziI1ZF7R8eS2M0yt5Ry35nnnTX/LTLXFPUjRFCIW+Operg==", + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", "license": "MIT", + "peer": true, "dependencies": { - "@shikijs/types": "3.13.0", - "@shikijs/vscode-textmate": "^10.0.2" + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@shikijs/langs": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.13.0.tgz", - "integrity": "sha512-672c3WAETDYHwrRP0yLy3W1QYB89Hbpj+pO4KhxK6FzIrDI2FoEXNiNCut6BQmEApYLfuYfpgOZaqbY+E9b8wQ==", + "node_modules/hast-util-to-estree": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz", + "integrity": "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==", "license": "MIT", "dependencies": { - "@shikijs/types": "3.13.0" + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@shikijs/themes": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.13.0.tgz", - "integrity": "sha512-Vxw1Nm1/Od8jyA7QuAenaV78BG2nSr3/gCGdBkLpfLscddCkzkL36Q5b67SrLLfvAJTOUzW39x4FHVCFriPVgg==", + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", "license": "MIT", "dependencies": { - "@shikijs/types": "3.13.0" + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@shikijs/types": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.13.0.tgz", - "integrity": "sha512-oM9P+NCFri/mmQ8LoFGVfVyemm5Hi27330zuOBp0annwJdKH1kOLndw3zCtAVDehPLg9fKqoEx3Ht/wNZxolfw==", + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", "license": "MIT", "dependencies": { - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" - } - }, - "node_modules/@shikijs/vscode-textmate": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", - "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", - "license": "MIT" - }, - "node_modules/@swc/helpers": { - "version": "0.5.17", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", - "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.8.0" + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "node_modules/hast-util-to-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz", + "integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==", "license": "MIT", + "peer": true, "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "node_modules/hast-util-to-string": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz", + "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==", "license": "MIT", "dependencies": { - "@babel/types": "^7.0.0" + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", "license": "MIT", + "peer": true, "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", "license": "MIT", "dependencies": { - "@babel/types": "^7.28.2" + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", "license": "MIT", + "peer": true, "dependencies": { - "@types/ms": "*" + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "dev": true, "license": "MIT" }, - "node_modules/@types/fontkit": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@types/fontkit/-/fontkit-2.0.8.tgz", - "integrity": "sha512-wN+8bYxIpJf+5oZdrdtaX04qUuWHcKxcDEgRS9Qm9ZClSHjzEn13SxUC+5eRM+4yXIeTYk8mTzLAWGF64847ew==", + "node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "hermes-estree": "0.25.1" } }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", "license": "MIT", - "dependencies": { - "@types/unist": "*" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/@types/mdast": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", - "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "license": "MIT", + "peer": true, "dependencies": { - "@types/unist": "*" + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@types/ms": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", - "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", - "license": "MIT" - }, - "node_modules/@types/nlcst": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", - "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, "license": "MIT", - "dependencies": { - "@types/unist": "*" + "engines": { + "node": ">= 4" } }, - "node_modules/@types/node": { - "version": "24.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.5.2.tgz", - "integrity": "sha512-FYxk1I7wPv3K2XBaoyH2cTnocQEu8AOZ60hPbsyukMPLv5/5qr7V1i8PLHdl6Zf87I+xZXFvPCXYjiTFq+YSDQ==", + "node_modules/image-size": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-2.0.2.tgz", + "integrity": "sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==", "license": "MIT", - "dependencies": { - "undici-types": "~7.12.0" + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=16.x" } }, - "node_modules/@types/react": { - "version": "19.1.14", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.14.tgz", - "integrity": "sha512-ukd93VGzaNPMAUPy0gRDSC57UuQbnH9Kussp7HBjM06YFi9uZTFhOvMSO2OKqXm1rSgzOE+pVx1k1PYHGwlc8Q==", + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "license": "MIT", "dependencies": { - "csstype": "^3.0.2" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@types/react-dom": { - "version": "19.1.9", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.9.tgz", - "integrity": "sha512-qXRuZaOsAdXKFyOhRBg6Lqqc0yay13vN7KrIg4L7N4aaHN68ma9OK3NE1BoDFgFOTfM7zg+3/8+2n8rLUH3OKQ==", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, "license": "MIT", - "peerDependencies": { - "@types/react": "^19.0.0" + "engines": { + "node": ">=0.8.19" } }, - "node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "node_modules/inline-style-parser": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", + "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", "license": "MIT" }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "license": "ISC" - }, - "node_modules/@vitejs/plugin-react": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", - "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.28.0", - "@babel/plugin-transform-react-jsx-self": "^7.27.1", - "@babel/plugin-transform-react-jsx-source": "^7.27.1", - "@rolldown/pluginutils": "1.0.0-beta.27", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.17.0" + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" }, "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + "node": ">= 0.4" } }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "license": "ISC", + "peer": true, "engines": { - "node": ">=0.4.0" + "node": ">=12" } }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "license": "ISC", + "node_modules/intl-messageformat": { + "version": "10.7.18", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.18.tgz", + "integrity": "sha512-m3Ofv/X/tV8Y3tHXLohcuVuhWKo7BBq62cqY15etqmLxg2DZ34AGGgQDeR+SCta2+zICb1NX83af0GJmbQ1++g==", + "license": "BSD-3-Clause", + "dependencies": { + "@formatjs/ecma402-abstract": "2.3.6", + "@formatjs/fast-memoize": "2.2.7", + "@formatjs/icu-messageformat-parser": "2.11.4", + "tslib": "^2.8.0" + } + }, + "node_modules/intl-messageformat/node_modules/@formatjs/fast-memoize": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.7.tgz", + "integrity": "sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ==", + "license": "MIT", "dependencies": { - "string-width": "^4.1.0" + "tslib": "^2.8.0" } }, - "node_modules/ansi-align/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", "license": "MIT", - "engines": { - "node": ">=8" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/ansi-align/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" }, - "engines": { - "node": ">=8" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/ansi-align/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "license": "MIT", - "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "license": "MIT" - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "license": "ISC", + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "has-bigints": "^1.0.2" }, "engines": { - "node": ">= 8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/anymatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, "engines": { - "node": ">=8.6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/aria-hidden": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", - "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "node_modules/is-bun-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", + "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.0.0" + "semver": "^7.7.1" + } + }, + "node_modules/is-bun-module/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, - "node_modules/aria-query": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", - "license": "Apache-2.0", + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" - } - }, - "node_modules/array-iterate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", - "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", - "license": "MIT", + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/astro": { - "version": "5.14.1", - "resolved": "https://registry.npmjs.org/astro/-/astro-5.14.1.tgz", - "integrity": "sha512-gPa8NY7/lP8j8g81iy8UwANF3+aukKRWS68IlthZQNgykpg80ne6lbHOp6FErYycxQ1TUhgEfkXVDQZAoJx8Bg==", + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "license": "MIT", "dependencies": { - "@astrojs/compiler": "^2.12.2", - "@astrojs/internal-helpers": "0.7.3", - "@astrojs/markdown-remark": "6.3.7", - "@astrojs/telemetry": "3.3.0", - "@capsizecss/unpack": "^2.4.0", - "@oslojs/encoding": "^1.1.0", - "@rollup/pluginutils": "^5.2.0", - "acorn": "^8.15.0", - "aria-query": "^5.3.2", - "axobject-query": "^4.1.0", - "boxen": "8.0.1", - "ci-info": "^4.3.0", - "clsx": "^2.1.1", - "common-ancestor-path": "^1.0.1", - "cookie": "^1.0.2", - "cssesc": "^3.0.0", - "debug": "^4.4.1", - "deterministic-object-hash": "^2.0.2", - "devalue": "^5.3.2", - "diff": "^5.2.0", - "dlv": "^1.1.3", - "dset": "^3.1.4", - "es-module-lexer": "^1.7.0", - "esbuild": "^0.25.0", - "estree-walker": "^3.0.3", - "flattie": "^1.1.1", - "fontace": "~0.3.0", - "github-slugger": "^2.0.0", - "html-escaper": "3.0.3", - "http-cache-semantics": "^4.2.0", - "import-meta-resolve": "^4.2.0", - "js-yaml": "^4.1.0", - "kleur": "^4.1.5", - "magic-string": "^0.30.18", - "magicast": "^0.3.5", - "mrmime": "^2.0.1", - "neotraverse": "^0.6.18", - "p-limit": "^6.2.0", - "p-queue": "^8.1.0", - "package-manager-detector": "^1.3.0", - "picomatch": "^4.0.3", - "prompts": "^2.4.2", - "rehype": "^13.0.2", - "semver": "^7.7.2", - "shiki": "^3.12.0", - "smol-toml": "^1.4.2", - "tinyexec": "^0.3.2", - "tinyglobby": "^0.2.14", - "tsconfck": "^3.1.6", - "ultrahtml": "^1.6.0", - "unifont": "~0.5.2", - "unist-util-visit": "^5.0.0", - "unstorage": "^1.17.0", - "vfile": "^6.0.3", - "vite": "^6.3.6", - "vitefu": "^1.1.1", - "xxhash-wasm": "^1.1.0", - "yargs-parser": "^21.1.1", - "yocto-spinner": "^0.2.3", - "zod": "^3.25.76", - "zod-to-json-schema": "^3.24.6", - "zod-to-ts": "^1.2.0" - }, - "bin": { - "astro": "astro.js" + "hasown": "^2.0.2" }, "engines": { - "node": "18.20.8 || ^20.3.0 || >=22.0.0", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/astrodotbuild" - }, - "optionalDependencies": { - "sharp": "^0.34.0" - } - }, - "node_modules/astro/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/autoprefixer": { - "version": "10.4.21", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", - "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.24.4", - "caniuse-lite": "^1.0.30001702", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.1.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">= 0.4" }, - "peerDependencies": { - "postcss": "^8.1.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/axobject-query": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", - "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", - "license": "Apache-2.0", + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/base-64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", - "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", - "license": "MIT" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/baseline-browser-mapping": { - "version": "2.8.7", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.7.tgz", - "integrity": "sha512-bxxN2M3a4d1CRoQC//IqsR5XrLh0IJ8TCv2x6Y9N0nckNz/rTjZB3//GGscZziZOxmjP55rzxg/ze7usFI9FqQ==", - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.js" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", "license": "MIT", + "peer": true, + "bin": { + "is-docker": "cli.js" + }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/blob-to-buffer": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/blob-to-buffer/-/blob-to-buffer-1.2.9.tgz", - "integrity": "sha512-BF033y5fN6OCofD3vgHmNtwZWRcq9NLyyxyILx9hfMy1sXYy4ojFl765hJ2lP0YaN2fuxPaLO2Vzzoxy0FLFFA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/boxen": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", - "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, "license": "MIT", "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^8.0.0", - "chalk": "^5.3.0", - "cli-boxes": "^3.0.0", - "string-width": "^7.2.0", - "type-fest": "^4.21.0", - "widest-line": "^5.0.0", - "wrap-ansi": "^9.0.0" + "call-bound": "^1.0.3" }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "license": "MIT", "dependencies": { - "fill-range": "^7.1.1" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/brotli": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", - "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", "license": "MIT", - "dependencies": { - "base64-js": "^1.1.2" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/browserslist": { - "version": "4.26.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.2.tgz", - "integrity": "sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", "license": "MIT", + "peer": true, "dependencies": { - "baseline-browser-mapping": "^2.8.3", - "caniuse-lite": "^1.0.30001741", - "electron-to-chromium": "^1.5.218", - "node-releases": "^2.0.21", - "update-browserslist-db": "^1.1.3" + "is-docker": "^3.0.0" }, "bin": { - "browserslist": "cli.js" + "is-inside-container": "cli.js" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/bun": { - "version": "1.2.22", - "resolved": "https://registry.npmjs.org/bun/-/bun-1.2.22.tgz", - "integrity": "sha512-NnU1TEiH9LLv1jE+84AJ7ZGimdQzLgzbZNvK3enNh5qUHqkgDm99SiA7tnJnzfJW5OWBdoZzKae2zXu0pwQ/kA==", - "cpu": [ - "arm64", - "x64", - "aarch64" - ], - "hasInstallScript": true, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, "license": "MIT", - "os": [ - "darwin", - "linux", - "win32" - ], - "bin": { - "bun": "bin/bun.exe", - "bunx": "bin/bunx.exe" + "engines": { + "node": ">= 0.4" }, - "optionalDependencies": { - "@oven/bun-darwin-aarch64": "1.2.22", - "@oven/bun-darwin-x64": "1.2.22", - "@oven/bun-darwin-x64-baseline": "1.2.22", - "@oven/bun-linux-aarch64": "1.2.22", - "@oven/bun-linux-aarch64-musl": "1.2.22", - "@oven/bun-linux-x64": "1.2.22", - "@oven/bun-linux-x64-baseline": "1.2.22", - "@oven/bun-linux-x64-musl": "1.2.22", - "@oven/bun-linux-x64-musl-baseline": "1.2.22", - "@oven/bun-windows-x64": "1.2.22", - "@oven/bun-windows-x64-baseline": "1.2.22" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/camelcase": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", - "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, "license": "MIT", "engines": { - "node": ">=16" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "license": "MIT", "engines": { - "node": ">= 6" + "node": ">=0.12.0" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001745", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001745.tgz", - "integrity": "sha512-ywt6i8FzvdgrrrGbr1jZVObnVv6adj+0if2/omv9cmR2oiZs30zL4DIyaptKcbOrBdOIc74QTMoJvSE2QHh5UQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "license": "MIT", + "engines": { + "node": ">=12" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/character-entities-legacy": { + "node_modules/is-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "license": "MIT", + "peer": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, "license": "MIT", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { - "node": ">= 8.10.0" + "node": ">= 0.4" }, "funding": { - "url": "https://paulmillr.com/funding/" + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "license": "ISC", + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" + "which-typed-array": "^1.1.16" }, "engines": { - "node": ">= 6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ci-info": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", - "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/class-variance-authority": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", - "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", - "license": "Apache-2.0", + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "license": "MIT", "dependencies": { - "clsx": "^2.1.1" + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://polar.sh/cva" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", "license": "MIT", + "peer": true, + "dependencies": { + "is-inside-container": "^1.0.0" + }, "engines": { - "node": ">=10" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "node_modules/is64bit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is64bit/-/is64bit-2.0.0.tgz", + "integrity": "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==", "license": "MIT", + "peer": true, + "dependencies": { + "system-architecture": "^0.1.0" + }, "engines": { - "node": ">=0.8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.4" } }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "license": "MIT" }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, "engines": { - "node": ">= 6" + "node": ">=6" } }, - "node_modules/common-ancestor-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", - "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", - "license": "ISC" + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "license": "MIT" }, - "node_modules/cookie": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", - "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, "engines": { - "node": ">=18" + "node": ">=6" } }, - "node_modules/cookie-es": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz", - "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==", - "license": "MIT" - }, - "node_modules/cross-fetch": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz", - "integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==", + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, "license": "MIT", "dependencies": { - "node-fetch": "^2.7.0" + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" } }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "node_modules/katex": { + "version": "0.16.27", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.27.tgz", + "integrity": "sha512-aeQoDkuRWSqQN6nSvVCEFvfXdqo1OQiCmmW1kc9xSdjutPv7BGO7pqY9sQRJpMOGrEdfDgF2TfRXe5eUAD2Waw==", + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], "license": "MIT", + "peer": true, "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "commander": "^8.3.0" }, - "engines": { - "node": ">= 8" + "bin": { + "katex": "cli.js" } }, - "node_modules/crossws": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", - "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, "license": "MIT", "dependencies": { - "uncrypto": "^0.1.3" + "json-buffer": "3.0.1" } }, - "node_modules/css-tree": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", - "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "node_modules/khroma": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.1.0.tgz", + "integrity": "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==", + "peer": true + }, + "node_modules/langium": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/langium/-/langium-3.3.1.tgz", + "integrity": "sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==", "license": "MIT", + "peer": true, "dependencies": { - "mdn-data": "2.12.2", - "source-map-js": "^1.0.1" + "chevrotain": "~11.0.3", + "chevrotain-allstar": "~0.3.0", + "vscode-languageserver": "~9.0.1", + "vscode-languageserver-textdocument": "~1.0.11", + "vscode-uri": "~3.0.8" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + "node": ">=16.0.0" } }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" + "dependencies": { + "language-subtag-registry": "^0.3.20" }, "engines": { - "node": ">=4" + "node": ">=0.10" } }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" + "node_modules/layout-base": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", + "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==", + "license": "MIT", + "peer": true }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.1.3" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">= 0.8.0" } }, - "node_modules/decode-named-character-reference": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz", - "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==", - "license": "MIT", + "node_modules/lightningcss": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", + "dev": true, + "license": "MPL-2.0", "dependencies": { - "character-entities": "^2.0.0" + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/defu": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", - "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", - "license": "MIT" - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "license": "MIT", + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.30.2", + "lightningcss-darwin-arm64": "1.30.2", + "lightningcss-darwin-x64": "1.30.2", + "lightningcss-freebsd-x64": "1.30.2", + "lightningcss-linux-arm-gnueabihf": "1.30.2", + "lightningcss-linux-arm64-gnu": "1.30.2", + "lightningcss-linux-arm64-musl": "1.30.2", + "lightningcss-linux-x64-gnu": "1.30.2", + "lightningcss-linux-x64-musl": "1.30.2", + "lightningcss-win32-arm64-msvc": "1.30.2", + "lightningcss-win32-x64-msvc": "1.30.2" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/destr": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", - "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", - "license": "MIT" - }, - "node_modules/detect-libc": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.1.tgz", - "integrity": "sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==", - "license": "Apache-2.0", + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=8" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/detect-node-es": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", - "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", - "license": "MIT" - }, - "node_modules/deterministic-object-hash": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz", - "integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==", - "license": "MIT", - "dependencies": { - "base-64": "^1.0.0" - }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=18" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/devalue": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.3.2.tgz", - "integrity": "sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw==", - "license": "MIT" - }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", - "license": "MIT", - "dependencies": { - "dequal": "^2.0.0" + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/dfa": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", - "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==", - "license": "MIT" - }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "license": "Apache-2.0" - }, - "node_modules/diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", - "license": "BSD-3-Clause", + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.3.1" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "license": "MIT" - }, - "node_modules/dset": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", - "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", - "license": "MIT", + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.5.224", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.224.tgz", - "integrity": "sha512-kWAoUu/bwzvnhpdZSIc6KUyvkI1rbRXMT0Eq8pKReyOyaPZcctMli+EgvcN1PAvwVc7Tdo4Fxi2PsLNDU05mdg==", - "license": "ISC" - }, - "node_modules/embla-carousel": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/embla-carousel/-/embla-carousel-8.6.0.tgz", - "integrity": "sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==", - "license": "MIT" - }, - "node_modules/embla-carousel-autoplay": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/embla-carousel-autoplay/-/embla-carousel-autoplay-8.6.0.tgz", - "integrity": "sha512-OBu5G3nwaSXkZCo1A6LTaFMZ8EpkYbwIaH+bPqdBnDGQ2fh4+NbzjXjs2SktoPNKCtflfVMc75njaDHOYXcrsA==", - "license": "MIT", - "peerDependencies": { - "embla-carousel": "8.6.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/embla-carousel-react": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/embla-carousel-react/-/embla-carousel-react-8.6.0.tgz", - "integrity": "sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA==", - "license": "MIT", - "dependencies": { - "embla-carousel": "8.6.0", - "embla-carousel-reactive-utils": "8.6.0" + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/embla-carousel-reactive-utils": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/embla-carousel-reactive-utils/-/embla-carousel-reactive-utils-8.6.0.tgz", - "integrity": "sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A==", - "license": "MIT", - "peerDependencies": { - "embla-carousel": "8.6.0" + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/emoji-regex": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz", - "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==", - "license": "MIT" - }, - "node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", - "license": "BSD-2-Clause", + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.12" + "node": ">= 12.0.0" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", - "license": "MIT" - }, - "node_modules/esbuild": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.10.tgz", - "integrity": "sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=18" + "node": ">= 12.0.0" }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.10", - "@esbuild/android-arm": "0.25.10", - "@esbuild/android-arm64": "0.25.10", - "@esbuild/android-x64": "0.25.10", - "@esbuild/darwin-arm64": "0.25.10", - "@esbuild/darwin-x64": "0.25.10", - "@esbuild/freebsd-arm64": "0.25.10", - "@esbuild/freebsd-x64": "0.25.10", - "@esbuild/linux-arm": "0.25.10", - "@esbuild/linux-arm64": "0.25.10", - "@esbuild/linux-ia32": "0.25.10", - "@esbuild/linux-loong64": "0.25.10", - "@esbuild/linux-mips64el": "0.25.10", - "@esbuild/linux-ppc64": "0.25.10", - "@esbuild/linux-riscv64": "0.25.10", - "@esbuild/linux-s390x": "0.25.10", - "@esbuild/linux-x64": "0.25.10", - "@esbuild/netbsd-arm64": "0.25.10", - "@esbuild/netbsd-x64": "0.25.10", - "@esbuild/openbsd-arm64": "0.25.10", - "@esbuild/openbsd-x64": "0.25.10", - "@esbuild/openharmony-arm64": "0.25.10", - "@esbuild/sunos-x64": "0.25.10", - "@esbuild/win32-arm64": "0.25.10", - "@esbuild/win32-ia32": "0.25.10", - "@esbuild/win32-x64": "0.25.10" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "license": "MIT", + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "node_modules/lodash-es": { + "version": "4.17.22", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.22.tgz", + "integrity": "sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==", "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } + "peer": true }, - "node_modules/eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "license": "MIT" }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, "license": "MIT" }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "license": "MIT" + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" + "js-tokens": "^3.0.0 || ^4.0.0" }, - "engines": { - "node": ">=8.6.0" + "bin": { + "loose-envify": "cli.js" } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "license": "ISC", "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" + "yallist": "^3.0.2" } }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "node_modules/lucide-react": { + "version": "0.562.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.562.0.tgz", + "integrity": "sha512-82hOAu7y0dbVuFfmO4bYF1XEwYk/mEbM5E+b1jgci/udUBEE/R7LF5Ip0CCEmXe8AybRM8L+04eP+LGZeDvkiw==", "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", "dependencies": { - "reusify": "^1.0.4" + "@jridgewell/sourcemap-codec": "^1.5.5" } }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", "license": "MIT", "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" + "node": ">=16" }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/marked": { + "version": "16.4.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-16.4.2.tgz", + "integrity": "sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==", + "license": "MIT", + "peer": true, + "bin": { + "marked": "bin/marked.js" }, "engines": { - "node": ">=8" + "node": ">= 20" } }, - "node_modules/flattie": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", - "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/fontace": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.3.0.tgz", - "integrity": "sha512-czoqATrcnxgWb/nAkfyIrRp6Q8biYj7nGnL6zfhTcX+JKKpWHFBnb8uNMw/kZr7u++3Y3wYSYoZgHkCcsuBpBg==", - "license": "MIT", + "node_modules/mathjax-full": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.2.2.tgz", + "integrity": "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==", + "deprecated": "Version 4 replaces this package with the scoped package @mathjax/src", + "license": "Apache-2.0", + "peer": true, "dependencies": { - "@types/fontkit": "^2.0.8", - "fontkit": "^2.0.4" + "esm": "^3.2.25", + "mhchemparser": "^4.1.0", + "mj-context-menu": "^0.6.1", + "speech-rule-engine": "^4.0.6" } }, - "node_modules/fontkit": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-2.0.4.tgz", - "integrity": "sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==", + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", "license": "MIT", "dependencies": { - "@swc/helpers": "^0.5.12", - "brotli": "^1.3.2", - "clone": "^2.1.2", - "dfa": "^1.2.0", - "fast-deep-equal": "^3.1.3", - "restructure": "^3.0.0", - "tiny-inflate": "^1.0.3", - "unicode-properties": "^1.4.0", - "unicode-trie": "^2.0.0" + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", "engines": { - "node": ">=14" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", "license": "MIT", - "engines": { - "node": "*" + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" }, "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/fs-extra": { - "version": "11.3.2", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz", - "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==", - "dev": true, + "node_modules/mdast-util-frontmatter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz", + "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==", "license": "MIT", + "peer": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "escape-string-regexp": "^5.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0" }, - "engines": { - "node": ">=14.14" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, + "node_modules/mdast-util-frontmatter/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "peer": true, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", "license": "MIT", - "engines": { - "node": ">=6.9.0" + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/get-east-asian-width": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", - "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==", + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", "license": "MIT", - "engines": { - "node": ">=18" + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/get-nonce": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", - "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/github-slugger": { + "node_modules/mdast-util-gfm-table": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", - "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", - "license": "ISC" - }, - "node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "license": "ISC", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "license": "ISC", + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.3" + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, - "engines": { - "node": ">=10.13.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/h3": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.4.tgz", - "integrity": "sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==", + "node_modules/mdast-util-math": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-3.0.0.tgz", + "integrity": "sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==", "license": "MIT", + "peer": true, "dependencies": { - "cookie-es": "^1.2.2", - "crossws": "^0.3.5", - "defu": "^6.1.4", - "destr": "^2.0.5", - "iron-webcrypto": "^1.2.1", - "node-mock-http": "^1.0.2", - "radix3": "^1.1.2", - "ufo": "^1.6.1", - "uncrypto": "^0.1.3" + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "longest-streak": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.1.0", + "unist-util-remove-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", "license": "MIT", "dependencies": { - "function-bind": "^1.1.2" + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, - "engines": { - "node": ">= 0.4" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-from-html": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", - "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", "license": "MIT", "dependencies": { + "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", - "devlop": "^1.1.0", - "hast-util-from-parse5": "^8.0.0", - "parse5": "^7.0.0", - "vfile": "^6.0.0", - "vfile-message": "^4.0.0" + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-from-parse5": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", - "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", "license": "MIT", "dependencies": { + "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "hastscript": "^9.0.0", - "property-information": "^7.0.0", - "vfile": "^6.0.0", - "vfile-location": "^5.0.0", - "web-namespaces": "^2.0.0" + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-is-element": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", "license": "MIT", "dependencies": { - "@types/hast": "^3.0.0" + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-parse-selector": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", - "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", "license": "MIT", "dependencies": { - "@types/hast": "^3.0.0" + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-raw": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", - "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", + "@types/mdast": "^4.0.0", "@ungap/structured-clone": "^1.0.0", - "hast-util-from-parse5": "^8.0.0", - "hast-util-to-parse5": "^8.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "parse5": "^7.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" + "vfile": "^6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-to-html": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", - "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", "license": "MIT", "dependencies": { - "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-whitespace": "^3.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "stringify-entities": "^4.0.0", - "zwitch": "^2.0.4" + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-to-parse5": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", - "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", "license": "MIT", "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" + "@types/mdast": "^4.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-to-parse5/node_modules/property-information": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", - "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "license": "CC0-1.0" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "peer": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" } }, - "node_modules/hast-util-to-text": { + "node_modules/mermaid": { + "version": "11.12.2", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.12.2.tgz", + "integrity": "sha512-n34QPDPEKmaeCG4WDMGy0OT6PSyxKCfy2pJgShP+Qow2KLrvWjclwbc3yXfSIf4BanqWEhQEpngWwNp/XhZt6w==", + "license": "MIT", + "peer": true, + "dependencies": { + "@braintree/sanitize-url": "^7.1.1", + "@iconify/utils": "^3.0.1", + "@mermaid-js/parser": "^0.6.3", + "@types/d3": "^7.4.3", + "cytoscape": "^3.29.3", + "cytoscape-cose-bilkent": "^4.1.0", + "cytoscape-fcose": "^2.2.0", + "d3": "^7.9.0", + "d3-sankey": "^0.12.3", + "dagre-d3-es": "7.0.13", + "dayjs": "^1.11.18", + "dompurify": "^3.2.5", + "katex": "^0.16.22", + "khroma": "^2.1.0", + "lodash-es": "^4.17.21", + "marked": "^16.2.1", + "roughjs": "^4.6.6", + "stylis": "^4.3.6", + "ts-dedent": "^2.2.0", + "uuid": "^11.1.0" + } + }, + "node_modules/mhchemparser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.2.1.tgz", + "integrity": "sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/micromark": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", - "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "hast-util-is-element": "^3.0.0", - "unist-util-find-after": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/hastscript": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", - "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "node_modules/micromark-extension-frontmatter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz", + "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==", "license": "MIT", + "peer": true, "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^4.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0" + "fault": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/html-escaper": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", - "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", - "license": "MIT" - }, - "node_modules/html-void-elements": { + "node_modules/micromark-extension-gfm": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", - "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", - "license": "BSD-2-Clause" - }, - "node_modules/import-meta-resolve": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", - "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/iron-webcrypto": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", - "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, "funding": { - "url": "https://github.com/sponsors/brc-dd" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/is-binary-path": { + "node_modules/micromark-extension-gfm-strikethrough": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", "license": "MIT", "dependencies": { - "binary-extensions": "^2.0.0" + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" }, - "engines": { - "node": ">=8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", "license": "MIT", "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "dependencies": { + "micromark-util-types": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", "license": "MIT", "dependencies": { - "is-extglob": "^2.1.1" + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "node_modules/micromark-extension-math": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz", + "integrity": "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==", "license": "MIT", + "peer": true, "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" + "@types/katex": "^0.16.0", + "devlop": "^1.0.0", + "katex": "^0.16.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", - "engines": { - "node": ">=0.12.0" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz", + "integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz", + "integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==", "license": "MIT", "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/isexe": { + "node_modules/micromark-extension-mdx-md": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" - }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "license": "BlueOak-1.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "license": "MIT", "dependencies": { - "@isaacs/cliui": "^8.0.2" + "micromark-util-types": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jiti": { - "version": "1.21.7", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", - "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", - "license": "MIT", - "bin": { - "jiti": "bin/jiti.js" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", "license": "MIT", "dependencies": { - "argparse": "^2.0.1" + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" }, - "engines": { - "node": ">=6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/jsonfile": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", - "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", - "dev": true, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz", + "integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" } }, - "node_modules/lilconfig": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", - "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "license": "MIT" - }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "license": "ISC", + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { - "yallist": "^3.0.2" + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/lucide-react": { - "version": "0.474.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.474.0.tgz", - "integrity": "sha512-CmghgHkh0OJNmxGKWc0qfPJCYHASPMVSyGY8fj3xgk4v84ItqDg64JNKFZn5hC6E0vHi6gxnbCgwhyVB09wQtA==", - "license": "ISC", - "peerDependencies": { - "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/magic-string": { - "version": "0.30.19", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz", - "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==", + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/magicast": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.5.tgz", - "integrity": "sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==", + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "@babel/parser": "^7.25.4", - "@babel/types": "^7.25.4", - "source-map-js": "^1.2.0" + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/markdown-table": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", - "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/mdast-util-definitions": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", - "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/mdast-util-find-and-replace": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", - "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0", - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/mdast-util-from-markdown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", - "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz", + "integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0", + "@types/estree": "^1.0.0", "@types/unist": "^3.0.0", - "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", + "estree-util-visit": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "vfile-message": "^4.0.0" } }, - "node_modules/mdast-util-gfm": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", - "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", - "license": "MIT", - "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-gfm-autolink-literal": "^2.0.0", - "mdast-util-gfm-footnote": "^2.0.0", - "mdast-util-gfm-strikethrough": "^2.0.0", - "mdast-util-gfm-table": "^2.0.0", - "mdast-util-gfm-task-list-item": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" }, - "node_modules/mdast-util-gfm-autolink-literal": { + "node_modules/micromark-util-normalize-identifier": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", - "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0", - "ccount": "^2.0.0", - "devlop": "^1.0.0", - "mdast-util-find-and-replace": "^3.0.0", - "micromark-util-character": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/mdast-util-gfm-footnote": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", - "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-util-types": "^2.0.0" } }, - "node_modules/mdast-util-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/mdast-util-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", - "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0", "devlop": "^1.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/mdast-util-gfm-task-list-item": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", - "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" }, - "node_modules/mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" + "braces": "^3.0.3", + "picomatch": "^2.3.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=8.6" } }, - "node_modules/mdast-util-to-hast": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", - "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" + "engines": { + "node": ">=8.6" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/mdast-util-to-markdown": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", - "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" + "peer": true, + "engines": { + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", - "license": "MIT", + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", "dependencies": { - "@types/mdast": "^4.0.0" + "brace-expansion": "^1.1.7" }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mdn-data": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", - "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", - "license": "CC0-1.0" + "node_modules/mj-context-menu": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz", + "integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==", + "license": "Apache-2.0", + "peer": true }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/mlly": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz", + "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==", "license": "MIT", - "engines": { - "node": ">= 8" + "peer": true, + "dependencies": { + "acorn": "^8.15.0", + "pathe": "^2.0.3", + "pkg-types": "^1.3.1", + "ufo": "^1.6.1" } }, - "node_modules/micromark": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", - "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/motion-dom": { + "version": "12.23.23", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.23.23.tgz", + "integrity": "sha512-n5yolOs0TQQBRUFImrRfs/+6X4p3Q4n1dUEqt/H58Vx7OW6RF+foWEgmTVDhIWJIMXOuNNL0apKH2S16en9eiA==", "license": "MIT", "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "motion-utils": "^12.23.6" } }, - "node_modules/micromark-core-commonmark": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", - "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "node_modules/motion-utils": { + "version": "12.23.6", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.23.6.tgz", + "integrity": "sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ==", + "license": "MIT" + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "funding": [ { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/micromark-extension-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", - "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "node_modules/napi-postinstall": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", + "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", + "dev": true, "license": "MIT", - "dependencies": { - "micromark-extension-gfm-autolink-literal": "^2.0.0", - "micromark-extension-gfm-footnote": "^2.0.0", - "micromark-extension-gfm-strikethrough": "^2.0.0", - "micromark-extension-gfm-table": "^2.0.0", - "micromark-extension-gfm-tagfilter": "^2.0.0", - "micromark-extension-gfm-task-list-item": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://opencollective.com/napi-postinstall" } }, - "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", - "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/next": { + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/next/-/next-16.1.1.tgz", + "integrity": "sha512-QI+T7xrxt1pF6SQ/JYFz95ro/mg/1Znk5vBebsWwbpejj1T0A23hO7GYEaVac9QUOT2BIMiuzm0L99ooq7k0/w==", "license": "MIT", "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "@next/env": "16.1.1", + "@swc/helpers": "0.5.15", + "baseline-browser-mapping": "^2.8.3", + "caniuse-lite": "^1.0.30001579", + "postcss": "8.4.31", + "styled-jsx": "5.1.6" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=20.9.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "16.1.1", + "@next/swc-darwin-x64": "16.1.1", + "@next/swc-linux-arm64-gnu": "16.1.1", + "@next/swc-linux-arm64-musl": "16.1.1", + "@next/swc-linux-x64-gnu": "16.1.1", + "@next/swc-linux-x64-musl": "16.1.1", + "@next/swc-win32-arm64-msvc": "16.1.1", + "@next/swc-win32-x64-msvc": "16.1.1", + "sharp": "^0.34.4" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.51.1", + "babel-plugin-react-compiler": "*", + "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + }, + "sass": { + "optional": true + } } }, - "node_modules/micromark-extension-gfm-footnote": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", - "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "node_modules/next-intl": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/next-intl/-/next-intl-4.6.1.tgz", + "integrity": "sha512-KlWgWtKLBPUsTPgxqwyjws1wCMD2QKxLlVjeeGj53DC1JWfKmBShKOrhIP0NznZrRQ0GleeoDUeHSETmyyIFeA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/amannn" + } + ], "license": "MIT", "dependencies": { - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "@formatjs/intl-localematcher": "^0.5.4", + "@parcel/watcher": "^2.4.1", + "@swc/core": "^1.15.2", + "negotiator": "^1.0.0", + "next-intl-swc-plugin-extractor": "^4.6.1", + "po-parser": "^2.0.0", + "use-intl": "^4.6.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "peerDependencies": { + "next": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0", + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/micromark-extension-gfm-strikethrough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", - "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "node_modules/next-intl-swc-plugin-extractor": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/next-intl-swc-plugin-extractor/-/next-intl-swc-plugin-extractor-4.6.1.tgz", + "integrity": "sha512-+HHNeVERfSvuPDF7LYVn3pxst5Rf7EYdUTw7C7WIrYhcLaKiZ1b9oSRkTQddAN3mifDMCfHqO4kAQ/pcKiBl3A==", + "license": "MIT" + }, + "node_modules/next-intl/node_modules/@formatjs/intl-localematcher": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.10.tgz", + "integrity": "sha512-af3qATX+m4Rnd9+wHcjJ4w2ijq+rAVP3CCinJQvFv1kgSu1W6jypUmvleJxcewdxmutM8dmIRZFxO/IQBZmP2Q==", "license": "MIT", "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "tslib": "2" + } + }, + "node_modules/next-intl/node_modules/@swc/core": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.15.8.tgz", + "integrity": "sha512-T8keoJjXaSUoVBCIjgL6wAnhADIb09GOELzKg10CjNg+vLX48P93SME6jTfte9MZIm5m+Il57H3rTSk/0kzDUw==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.25" + }, + "engines": { + "node": ">=10" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.15.8", + "@swc/core-darwin-x64": "1.15.8", + "@swc/core-linux-arm-gnueabihf": "1.15.8", + "@swc/core-linux-arm64-gnu": "1.15.8", + "@swc/core-linux-arm64-musl": "1.15.8", + "@swc/core-linux-x64-gnu": "1.15.8", + "@swc/core-linux-x64-musl": "1.15.8", + "@swc/core-win32-arm64-msvc": "1.15.8", + "@swc/core-win32-ia32-msvc": "1.15.8", + "@swc/core-win32-x64-msvc": "1.15.8" + }, + "peerDependencies": { + "@swc/helpers": ">=0.5.17" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } } }, - "node_modules/micromark-extension-gfm-table": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", - "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", - "license": "MIT", + "node_modules/next-intl/node_modules/@swc/helpers": { + "version": "0.5.18", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.18.tgz", + "integrity": "sha512-TXTnIcNJQEKwThMMqBXsZ4VGAza6bvN4pa41Rkqoio6QBKMvo+5lexeTMScGCIxtzgQJzElcvIltani+adC5PQ==", + "license": "Apache-2.0", + "optional": true, + "peer": true, "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "tslib": "^2.8.0" } }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", - "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", - "license": "MIT", + "node_modules/next-svg": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/next-svg/-/next-svg-1.0.7.tgz", + "integrity": "sha512-NjwEp7UmjuzurD0DWkIGp7QK6GIgE4ms169er/QBpLZB2J44F8h4cQYN1GdanfP1s0GbvJ9yGVspfUTKdolmTA==", + "license": "ISC", "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "@svgr/webpack": "^8.1.0", + "next": "^14.1.0", + "react": "^18.2.0", + "react-dom": "^18.2.0" } }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", - "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "node_modules/next-svg/node_modules/@next/env": { + "version": "14.2.35", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.35.tgz", + "integrity": "sha512-DuhvCtj4t9Gwrx80dmz2F4t/zKQ4ktN8WrMwOuVzkJfBilwAwGr6v16M5eI8yCuZ63H9TTuEU09Iu2HqkzFPVQ==", + "license": "MIT" + }, + "node_modules/next-svg/node_modules/@next/swc-darwin-arm64": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.33.tgz", + "integrity": "sha512-HqYnb6pxlsshoSTubdXKu15g3iivcbsMXg4bYpjL2iS/V6aQot+iyF4BUc2qA/J/n55YtvE4PHMKWBKGCF/+wA==", + "cpu": [ + "arm64" + ], "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/micromark-factory-destination": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", - "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } + "node_modules/next-svg/node_modules/@next/swc-darwin-x64": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.33.tgz", + "integrity": "sha512-8HGBeAE5rX3jzKvF593XTTFg3gxeU4f+UWnswa6JPhzaR6+zblO5+fjltJWIZc4aUalqTclvN2QtTC37LxvZAA==", + "cpu": [ + "x64" ], "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/micromark-factory-label": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", - "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } + "node_modules/next-svg/node_modules/@next/swc-linux-arm64-gnu": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.33.tgz", + "integrity": "sha512-JXMBka6lNNmqbkvcTtaX8Gu5by9547bukHQvPoLe9VRBx1gHwzf5tdt4AaezW85HAB3pikcvyqBToRTDA4DeLw==", + "cpu": [ + "arm64" ], "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } + "node_modules/next-svg/node_modules/@next/swc-linux-arm64-musl": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.33.tgz", + "integrity": "sha512-Bm+QulsAItD/x6Ih8wGIMfRJy4G73tu1HJsrccPW6AfqdZd0Sfm5Imhgkgq2+kly065rYMnCOxTBvmvFY1BKfg==", + "cpu": [ + "arm64" ], "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/micromark-factory-title": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", - "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } + "node_modules/next-svg/node_modules/@next/swc-linux-x64-gnu": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.33.tgz", + "integrity": "sha512-FnFn+ZBgsVMbGDsTqo8zsnRzydvsGV8vfiWwUo1LD8FTmPTdV+otGSWKc4LJec0oSexFnCYVO4hX8P8qQKaSlg==", + "cpu": [ + "x64" ], "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/micromark-factory-whitespace": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", - "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } + "node_modules/next-svg/node_modules/@next/swc-linux-x64-musl": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.33.tgz", + "integrity": "sha512-345tsIWMzoXaQndUTDv1qypDRiebFxGYx9pYkhwY4hBRaOLt8UGfiWKr9FSSHs25dFIf8ZqIFaPdy5MljdoawA==", + "cpu": [ + "x64" ], "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } + "node_modules/next-svg/node_modules/@next/swc-win32-arm64-msvc": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.33.tgz", + "integrity": "sha512-nscpt0G6UCTkrT2ppnJnFsYbPDQwmum4GNXYTeoTIdsmMydSKFz9Iny2jpaRupTb+Wl298+Rh82WKzt9LCcqSQ==", + "cpu": [ + "arm64" ], "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/micromark-util-chunked": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", - "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } + "node_modules/next-svg/node_modules/@next/swc-win32-x64-msvc": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.33.tgz", + "integrity": "sha512-nOjfZMy8B94MdisuzZo9/57xuFVLHJaDj5e/xrduJp9CV2/HrfxTRH2fbyLe+K9QT41WBLUd4iXX3R7jBp0EUg==", + "cpu": [ + "x64" ], "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/next-svg/node_modules/@swc/helpers": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", + "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", + "license": "Apache-2.0", "dependencies": { - "micromark-util-symbol": "^2.0.0" + "@swc/counter": "^0.1.3", + "tslib": "^2.4.0" } }, - "node_modules/micromark-util-classify-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", - "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/next-svg/node_modules/next": { + "version": "14.2.35", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.35.tgz", + "integrity": "sha512-KhYd2Hjt/O1/1aZVX3dCwGXM1QmOV4eNM2UTacK5gipDdPN/oHHK/4oVGy7X8GMfPMsUTUEmGlsy0EY1YGAkig==", "license": "MIT", "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "@next/env": "14.2.35", + "@swc/helpers": "0.5.5", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", + "postcss": "8.4.31", + "styled-jsx": "5.1.1" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=18.17.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "14.2.33", + "@next/swc-darwin-x64": "14.2.33", + "@next/swc-linux-arm64-gnu": "14.2.33", + "@next/swc-linux-arm64-musl": "14.2.33", + "@next/swc-linux-x64-gnu": "14.2.33", + "@next/swc-linux-x64-musl": "14.2.33", + "@next/swc-win32-arm64-msvc": "14.2.33", + "@next/swc-win32-ia32-msvc": "14.2.33", + "@next/swc-win32-x64-msvc": "14.2.33" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.41.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "sass": { + "optional": true + } } }, - "node_modules/micromark-util-combine-extensions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", - "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "node_modules/next-svg/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "funding": [ { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" }, { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "license": "MIT", "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" } }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", - "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/next-svg/node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", "dependencies": { - "micromark-util-symbol": "^2.0.0" + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/micromark-util-decode-string": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", - "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/next-svg/node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "license": "MIT", "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" } }, - "node_modules/micromark-util-encode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", - "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" + "node_modules/next-svg/node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/next-svg/node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" + "babel-plugin-macros": { + "optional": true } - ], - "license": "MIT" + } }, - "node_modules/micromark-util-html-tag-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", - "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "node_modules/next-themes": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.4.6.tgz", + "integrity": "sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "funding": [ { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" }, { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", - "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" }, { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "license": "MIT", "dependencies": { - "micromark-util-symbol": "^2.0.0" + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" } }, - "node_modules/micromark-util-resolve-all": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", - "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/nextra": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/nextra/-/nextra-4.6.1.tgz", + "integrity": "sha512-yz5WMJFZ5c58y14a6Rmwt+SJUYDdIgzWSxwtnpD4XAJTq3mbOqOg3VTaJqLiJjwRSxoFRHNA1yAhnhbvbw9zSg==", "license": "MIT", + "peer": true, "dependencies": { - "micromark-util-types": "^2.0.0" + "@formatjs/intl-localematcher": "^0.6.0", + "@headlessui/react": "^2.1.2", + "@mdx-js/mdx": "^3.0.0", + "@napi-rs/simple-git": "^0.1.9", + "@shikijs/twoslash": "^3.2.1", + "@theguild/remark-mermaid": "^0.3.0", + "@theguild/remark-npm2yarn": "^0.3.2", + "better-react-mathjax": "^2.3.0", + "clsx": "^2.1.0", + "estree-util-to-js": "^2.0.0", + "estree-util-value-to-estree": "^3.3.3", + "fast-glob": "^3.3.2", + "github-slugger": "^2.0.0", + "hast-util-to-estree": "^3.1.0", + "katex": "^0.16.21", + "mdast-util-from-markdown": "^2.0.1", + "mdast-util-gfm": "^3.0.0", + "mdast-util-to-hast": "^13.2.0", + "negotiator": "^1.0.0", + "react-compiler-runtime": "^19.1.0-rc.2", + "react-medium-image-zoom": "^5.2.12", + "rehype-katex": "^7.0.0", + "rehype-pretty-code": "0.14.1", + "rehype-raw": "^7.0.0", + "remark-frontmatter": "^5.0.0", + "remark-gfm": "^4.0.0", + "remark-math": "^6.0.0", + "remark-reading-time": "^2.0.2", + "remark-smartypants": "^3.0.0", + "server-only": "^0.0.1", + "shiki": "^3.2.1", + "slash": "^5.1.0", + "title": "^4.0.1", + "ts-morph": "^27.0.0", + "unist-util-remove": "^4.0.0", + "unist-util-visit": "^5.0.0", + "unist-util-visit-children": "^3.0.0", + "yaml": "^2.3.2", + "zod": "^4.1.12" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "next": ">=14", + "react": ">=18", + "react-dom": ">=18" } }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", - "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/nextra-theme-docs": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/nextra-theme-docs/-/nextra-theme-docs-4.6.1.tgz", + "integrity": "sha512-u5Hh8erVcGOXO1FVrwYBgrEjyzdYQY0k/iAhLd8RofKp+Bru3fyLy9V9W34mfJ0KHKHjv/ldlDTlb4KlL4eIuQ==", "license": "MIT", "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" + "@headlessui/react": "^2.1.2", + "clsx": "^2.1.0", + "next-themes": "^0.4.0", + "react-compiler-runtime": "^19.1.0-rc.2", + "scroll-into-view-if-needed": "^3.1.0", + "zod": "^4.1.12", + "zustand": "^5.0.1" + }, + "peerDependencies": { + "next": ">=14", + "nextra": "4.6.1", + "react": ">=18", + "react-dom": ">=18" } }, - "node_modules/micromark-util-subtokenize": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", - "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/nextra/node_modules/@formatjs/intl-localematcher": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.6.2.tgz", + "integrity": "sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==", "license": "MIT", + "peer": true, "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "tslib": "^2.8.0" } }, - "node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" + "node_modules/nextra/node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } }, - "node_modules/micromark-util-types": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", - "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" + "node_modules/nextra/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "peer": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", "license": "MIT", + "peer": true, "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" + "@types/nlcst": "^2.0.0" }, - "engines": { - "node": ">=8.6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" } }, - "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "license": "ISC", + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "license": "MIT" + }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "license": "MIT", + "peer": true, "dependencies": { - "brace-expansion": "^2.0.1" + "path-key": "^4.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "license": "ISC", + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mrmime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", - "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "node_modules/npm-to-yarn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-to-yarn/-/npm-to-yarn-3.0.1.tgz", + "integrity": "sha512-tt6PvKu4WyzPwWUzy/hvPFqn+uwXO0K1ZHka8az3NnrhWJDmSqI8ncWq0fkL0k/lmmi5tAC11FXwXuh0rFbt1A==", "license": "MIT", "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/nebrelbug/npm-to-yarn?sponsor=1" } }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "license": "MIT", + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=0.10.0" } }, - "node_modules/neotraverse": { - "version": "0.6.18", - "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", - "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, "license": "MIT", "engines": { - "node": ">= 10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/nlcst-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", - "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, "license": "MIT", - "dependencies": { - "@types/nlcst": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 0.4" } }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, "license": "MIT", "dependencies": { - "whatwg-url": "^5.0.0" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" }, "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/node-fetch-native": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", - "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", - "license": "MIT" - }, - "node_modules/node-mock-http": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.3.tgz", - "integrity": "sha512-jN8dK25fsfnMrVsEhluUTPkBFY+6ybu7jSB1n+ri/vOGjJxU8J9CZhpSGkHXSkFjtUhbmoncG/YG9ta5Ludqog==", - "license": "MIT" - }, - "node_modules/node-releases": { - "version": "2.0.21", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.21.tgz", - "integrity": "sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==", - "license": "MIT" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, "engines": { - "node": ">= 6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ofetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.4.1.tgz", - "integrity": "sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==", + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "license": "MIT", + "peer": true, "dependencies": { - "destr": "^2.0.3", - "node-fetch-native": "^1.6.4", - "ufo": "^1.5.4" + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ohash": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", - "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", - "license": "MIT" - }, "node_modules/oniguruma-parser": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.1.tgz", @@ -5752,9 +13976,9 @@ "license": "MIT" }, "node_modules/oniguruma-to-es": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.3.tgz", - "integrity": "sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.4.tgz", + "integrity": "sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==", "license": "MIT", "dependencies": { "oniguruma-parser": "^0.12.1", @@ -5762,85 +13986,142 @@ "regex-recursion": "^6.0.2" } }, - "node_modules/p-limit": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz", - "integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==", + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, "license": "MIT", "dependencies": { - "yocto-queue": "^1.1.1" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8.0" } }, - "node_modules/p-map": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", - "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", "dev": true, "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/p-queue": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz", - "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, "license": "MIT", "dependencies": { - "eventemitter3": "^5.0.1", - "p-timeout": "^6.1.2" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=18" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-timeout": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", - "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, "engines": { - "node": ">=14.16" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/package-json-from-dist": { + "node_modules/package-manager-detector": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", + "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", + "license": "MIT", + "peer": true + }, + "node_modules/parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "license": "BlueOak-1.0.0" + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } }, - "node_modules/package-manager-detector": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.3.0.tgz", - "integrity": "sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==", - "license": "MIT" + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "node_modules/pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", "license": "MIT" }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/parse-latin": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", "license": "MIT", + "peer": true, "dependencies": { "@types/nlcst": "^2.0.0", "@types/unist": "^3.0.0", @@ -5854,11 +14135,19 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/parse-numeric-range": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==", + "license": "ISC", + "peer": true + }, "node_modules/parse5": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", "license": "MIT", + "peer": true, "dependencies": { "entities": "^6.0.0" }, @@ -5866,6 +14155,43 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "license": "MIT", + "peer": true + }, + "node_modules/path-data-parser": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/path-data-parser/-/path-data-parser-0.1.0.tgz", + "integrity": "sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==", + "license": "MIT", + "peer": true + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -5881,27 +14207,31 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "license": "MIT" }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, + "node_modules/path-to-regexp": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", + "license": "MIT", "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "license": "ISC" + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT", + "peer": true }, "node_modules/picocolors": { "version": "1.1.1", @@ -5921,28 +14251,57 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", "license": "MIT", - "engines": { - "node": ">=0.10.0" + "peer": true, + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, + "node_modules/po-parser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/po-parser/-/po-parser-2.1.1.tgz", + "integrity": "sha512-ECF4zHLbUItpUgE3OTtLKlPjeBN+fKEczj2zYjDfCGOzicNs0GK3Vg2IoAYwx7LH/XYw43fZQP6xnZ4TkNxSLQ==", + "license": "MIT" + }, + "node_modules/points-on-curve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/points-on-curve/-/points-on-curve-0.2.0.tgz", + "integrity": "sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==", + "license": "MIT", + "peer": true + }, + "node_modules/points-on-path": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/points-on-path/-/points-on-path-0.2.1.tgz", + "integrity": "sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==", + "license": "MIT", + "peer": true, + "dependencies": { + "path-data-parser": "0.1.0", + "points-on-curve": "0.2.0" } }, - "node_modules/pirates": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", - "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, "license": "MIT", "engines": { - "node": ">= 6" + "node": ">= 0.4" } }, "node_modules/postcss": { "version": "8.5.6", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, "funding": [ { "type": "opencollective", @@ -5967,112 +14326,10 @@ "node": "^10 || ^12 || >=14" } }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", - "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/postcss-load-config": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", - "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "lilconfig": "^3.0.0", - "yaml": "^2.3.4" - }, - "engines": { - "node": ">= 14" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/postcss-nested": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", - "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.1.1" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "license": "MIT", "dependencies": { "cssesc": "^3.0.0", @@ -6082,41 +14339,26 @@ "node": ">=4" } }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "license": "MIT" - }, - "node_modules/prismjs": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", - "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 0.8.0" } }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, "license": "MIT", "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prompts/node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "license": "MIT", - "engines": { - "node": ">=6" + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" } }, "node_modules/property-information": { @@ -6129,6 +14371,16 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -6149,46 +14401,72 @@ ], "license": "MIT" }, - "node_modules/radix3": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", - "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", - "license": "MIT" - }, "node_modules/react": { - "version": "19.1.1", - "resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz", - "integrity": "sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", + "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/react-compiler-runtime": { + "version": "19.1.0-rc.3", + "resolved": "https://registry.npmjs.org/react-compiler-runtime/-/react-compiler-runtime-19.1.0-rc.3.tgz", + "integrity": "sha512-Cssogys2XZu6SqxRdX2xd8cQAf57BBvFbLEBlIa77161lninbKUn/EqbecCe7W3eqDQfg3rIoOwzExzgCh7h/g==", + "license": "MIT", + "peerDependencies": { + "react": "^17.0.0 || ^18.0.0 || ^19.0.0 || ^0.0.0-experimental" + } + }, "node_modules/react-dom": { - "version": "19.1.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.1.tgz", - "integrity": "sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", "license": "MIT", "dependencies": { - "scheduler": "^0.26.0" + "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.1.1" + "react": "^19.2.3" } }, - "node_modules/react-refresh": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", - "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "node_modules/react-icons": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.5.0.tgz", + "integrity": "sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==", "license": "MIT", - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "react": "*" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/react-medium-image-zoom": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/react-medium-image-zoom/-/react-medium-image-zoom-5.4.0.tgz", + "integrity": "sha512-BsE+EnFVQzFIlyuuQrZ9iTwyKpKkqdFZV1ImEQN573QPqGrIUuNni7aF+sZwDcxlsuOMayCr6oO/PZR/yJnbRg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/rpearce" + } + ], + "license": "BSD-3-Clause", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "node_modules/react-remove-scroll": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.1.tgz", - "integrity": "sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==", + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.2.tgz", + "integrity": "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==", "license": "MIT", "dependencies": { "react-remove-scroll-bar": "^2.3.7", @@ -6254,43 +14532,138 @@ } } }, - "node_modules/read-cache": { + "node_modules/readdirp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/reading-time": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", + "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==", + "license": "MIT", + "peer": true + }, + "node_modules/recma-build-jsx": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", "license": "MIT", "dependencies": { - "pify": "^2.3.0" + "@types/estree": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/recma-jsx": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.1.tgz", + "integrity": "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==", "license": "MIT", "dependencies": { - "picomatch": "^2.2.1" + "acorn-jsx": "^5.0.0", + "estree-util-to-js": "^2.0.0", + "recma-parse": "^1.0.0", + "recma-stringify": "^1.0.0", + "unified": "^11.0.0" }, - "engines": { - "node": ">=8.10.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/readdirp/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/recma-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "esast-util-from-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-to-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, "engines": { - "node": ">=8.6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", + "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" } }, "node_modules/regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/regex/-/regex-6.0.1.tgz", - "integrity": "sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", "license": "MIT", "dependencies": { "regex-utilities": "^2.3.0" @@ -6311,16 +14684,76 @@ "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", "license": "MIT" }, - "node_modules/rehype": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", - "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", + "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.2", + "regjsgen": "^0.8.0", + "regjsparser": "^0.13.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.2.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", + "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.1.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/rehype-katex": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.1.tgz", + "integrity": "sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==", "license": "MIT", + "peer": true, "dependencies": { "@types/hast": "^3.0.0", - "rehype-parse": "^9.0.0", - "rehype-stringify": "^10.0.0", - "unified": "^11.0.0" + "@types/katex": "^0.16.0", + "hast-util-from-html-isomorphic": "^2.0.0", + "hast-util-to-text": "^4.0.0", + "katex": "^0.16.0", + "unist-util-visit-parents": "^6.0.0", + "vfile": "^6.0.0" }, "funding": { "type": "opencollective", @@ -6332,6 +14765,7 @@ "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", "license": "MIT", + "peer": true, "dependencies": { "@types/hast": "^3.0.0", "hast-util-from-html": "^2.0.0", @@ -6342,11 +14776,33 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/rehype-pretty-code": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/rehype-pretty-code/-/rehype-pretty-code-0.14.1.tgz", + "integrity": "sha512-IpG4OL0iYlbx78muVldsK86hdfNoht0z63AP7sekQNW2QOTmjxB7RbTO+rhIYNGRljgHxgVZoPwUl6bIC9SbjA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.4", + "hast-util-to-string": "^3.0.0", + "parse-numeric-range": "^1.3.0", + "rehype-parse": "^9.0.0", + "unified": "^11.0.5", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "shiki": "^1.0.0 || ^2.0.0 || ^3.0.0" + } + }, "node_modules/rehype-raw": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", "license": "MIT", + "peer": true, "dependencies": { "@types/hast": "^3.0.0", "hast-util-raw": "^9.0.0", @@ -6357,14 +14813,47 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/rehype-stringify": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", - "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", + "node_modules/rehype-recma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", "license": "MIT", "dependencies": { + "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", - "hast-util-to-html": "^9.0.0", + "hast-util-to-estree": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/remark/-/remark-15.0.1.tgz", + "integrity": "sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-frontmatter": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz", + "integrity": "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-frontmatter": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0", "unified": "^11.0.0" }, "funding": { @@ -6390,6 +14879,37 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-math": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-6.0.0.tgz", + "integrity": "sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-math": "^3.0.0", + "micromark-extension-math": "^3.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.1.tgz", + "integrity": "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==", + "license": "MIT", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-parse": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", @@ -6406,6 +14926,82 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-reading-time": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/remark-reading-time/-/remark-reading-time-2.0.2.tgz", + "integrity": "sha512-ILjIuR0dQQ8pELPgaFvz7ralcSN62rD/L1pTUJgWb4gfua3ZwYEI8mnKGxEQCbrXSUF/OvycTkcUbifGOtOn5A==", + "license": "ISC", + "peer": true, + "dependencies": { + "estree-util-is-identifier-name": "^2.0.0", + "estree-util-value-to-estree": "^3.3.3", + "reading-time": "^1.3.0", + "unist-util-visit": "^3.1.0" + } + }, + "node_modules/remark-reading-time/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT", + "peer": true + }, + "node_modules/remark-reading-time/node_modules/estree-util-is-identifier-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz", + "integrity": "sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==", + "license": "MIT", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-reading-time/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-reading-time/node_modules/unist-util-visit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-3.1.0.tgz", + "integrity": "sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-reading-time/node_modules/unist-util-visit-parents": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz", + "integrity": "sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-rehype": { "version": "11.1.2", "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", @@ -6428,6 +15024,7 @@ "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", "license": "MIT", + "peer": true, "dependencies": { "retext": "^9.0.0", "retext-smartypants": "^6.0.0", @@ -6454,12 +15051,12 @@ } }, "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", "license": "MIT", "dependencies": { - "is-core-module": "^2.16.0", + "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -6473,17 +15070,31 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/restructure": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/restructure/-/restructure-3.0.2.tgz", - "integrity": "sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==", - "license": "MIT" + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } }, "node_modules/retext": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", "license": "MIT", + "peer": true, "dependencies": { "@types/nlcst": "^2.0.0", "retext-latin": "^4.0.0", @@ -6500,6 +15111,7 @@ "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", "license": "MIT", + "peer": true, "dependencies": { "@types/nlcst": "^2.0.0", "parse-latin": "^7.0.0", @@ -6515,6 +15127,7 @@ "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", "license": "MIT", + "peer": true, "dependencies": { "@types/nlcst": "^2.0.0", "nlcst-to-string": "^4.0.0", @@ -6530,6 +15143,7 @@ "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", "license": "MIT", + "peer": true, "dependencies": { "@types/nlcst": "^2.0.0", "nlcst-to-string": "^4.0.0", @@ -6550,45 +15164,24 @@ "node": ">=0.10.0" } }, - "node_modules/rollup": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.3.tgz", - "integrity": "sha512-RIDh866U8agLgiIcdpB+COKnlCreHJLfIhWC3LVflku5YHfpnsIKigRZeFfMfCc4dVcqNVfQQ5gO/afOck064A==", + "node_modules/robust-predicates": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", + "license": "Unlicense", + "peer": true + }, + "node_modules/roughjs": { + "version": "4.6.6", + "resolved": "https://registry.npmjs.org/roughjs/-/roughjs-4.6.6.tgz", + "integrity": "sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==", "license": "MIT", + "peer": true, "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.52.3", - "@rollup/rollup-android-arm64": "4.52.3", - "@rollup/rollup-darwin-arm64": "4.52.3", - "@rollup/rollup-darwin-x64": "4.52.3", - "@rollup/rollup-freebsd-arm64": "4.52.3", - "@rollup/rollup-freebsd-x64": "4.52.3", - "@rollup/rollup-linux-arm-gnueabihf": "4.52.3", - "@rollup/rollup-linux-arm-musleabihf": "4.52.3", - "@rollup/rollup-linux-arm64-gnu": "4.52.3", - "@rollup/rollup-linux-arm64-musl": "4.52.3", - "@rollup/rollup-linux-loong64-gnu": "4.52.3", - "@rollup/rollup-linux-ppc64-gnu": "4.52.3", - "@rollup/rollup-linux-riscv64-gnu": "4.52.3", - "@rollup/rollup-linux-riscv64-musl": "4.52.3", - "@rollup/rollup-linux-s390x-gnu": "4.52.3", - "@rollup/rollup-linux-x64-gnu": "4.52.3", - "@rollup/rollup-linux-x64-musl": "4.52.3", - "@rollup/rollup-openharmony-arm64": "4.52.3", - "@rollup/rollup-win32-arm64-msvc": "4.52.3", - "@rollup/rollup-win32-ia32-msvc": "4.52.3", - "@rollup/rollup-win32-x64-gnu": "4.52.3", - "@rollup/rollup-win32-x64-msvc": "4.52.3", - "fsevents": "~2.3.2" + "hachure-fill": "^0.5.2", + "path-data-parser": "^0.1.0", + "points-on-curve": "^0.2.0", + "points-on-path": "^0.2.1" } }, "node_modules/run-parallel": { @@ -6614,12 +15207,90 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT", + "peer": true + }, "node_modules/scheduler": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", - "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", "license": "MIT" }, + "node_modules/scroll-into-view-if-needed": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", + "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==", + "license": "MIT", + "dependencies": { + "compute-scroll-into-view": "^3.0.2" + } + }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -6629,17 +15300,73 @@ "semver": "bin/semver.js" } }, + "node_modules/server-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/server-only/-/server-only-0.0.1.tgz", + "integrity": "sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==", + "license": "MIT", + "peer": true + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/sharp": { - "version": "0.34.4", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.4.tgz", - "integrity": "sha512-FUH39xp3SBPnxWvd5iib1X8XY7J0K0X7d93sie9CJg2PO8/7gmg89Nve6OjItK53/MlAushNNxteBYfM6DEuoA==", + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", "hasInstallScript": true, "license": "Apache-2.0", "optional": true, "dependencies": { "@img/colour": "^1.0.0", - "detect-libc": "^2.1.0", - "semver": "^7.7.2" + "detect-libc": "^2.1.2", + "semver": "^7.7.3" }, "engines": { "node": "^18.17.0 || ^20.3.0 || >=21.0.0" @@ -6648,34 +15375,36 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.34.4", - "@img/sharp-darwin-x64": "0.34.4", - "@img/sharp-libvips-darwin-arm64": "1.2.3", - "@img/sharp-libvips-darwin-x64": "1.2.3", - "@img/sharp-libvips-linux-arm": "1.2.3", - "@img/sharp-libvips-linux-arm64": "1.2.3", - "@img/sharp-libvips-linux-ppc64": "1.2.3", - "@img/sharp-libvips-linux-s390x": "1.2.3", - "@img/sharp-libvips-linux-x64": "1.2.3", - "@img/sharp-libvips-linuxmusl-arm64": "1.2.3", - "@img/sharp-libvips-linuxmusl-x64": "1.2.3", - "@img/sharp-linux-arm": "0.34.4", - "@img/sharp-linux-arm64": "0.34.4", - "@img/sharp-linux-ppc64": "0.34.4", - "@img/sharp-linux-s390x": "0.34.4", - "@img/sharp-linux-x64": "0.34.4", - "@img/sharp-linuxmusl-arm64": "0.34.4", - "@img/sharp-linuxmusl-x64": "0.34.4", - "@img/sharp-wasm32": "0.34.4", - "@img/sharp-win32-arm64": "0.34.4", - "@img/sharp-win32-ia32": "0.34.4", - "@img/sharp-win32-x64": "0.34.4" + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" } }, "node_modules/sharp/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "license": "ISC", "optional": true, "bin": { @@ -6697,29 +15426,105 @@ "node": ">=8" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shiki": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.20.0.tgz", + "integrity": "sha512-kgCOlsnyWb+p0WU+01RjkCH+eBVsjL1jOwUYWv0YDWkM2/A46+LDKVs5yZCUXjJG6bj4ndFoAg5iLIIue6dulg==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "3.20.0", + "@shikijs/engine-javascript": "3.20.0", + "@shikijs/engine-oniguruma": "3.20.0", + "@shikijs/langs": "3.20.0", + "@shikijs/themes": "3.20.0", + "@shikijs/types": "3.20.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/shiki": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.13.0.tgz", - "integrity": "sha512-aZW4l8Og16CokuCLf8CF8kq+KK2yOygapU5m3+hoGw0Mdosc6fPitjM+ujYarppj5ZIKGyPDPP1vqmQhr+5/0g==", + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, "license": "MIT", "dependencies": { - "@shikijs/core": "3.13.0", - "@shikijs/engine-javascript": "3.13.0", - "@shikijs/engine-oniguruma": "3.13.0", - "@shikijs/langs": "3.13.0", - "@shikijs/themes": "3.13.0", - "@shikijs/types": "3.13.0", - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/signal-exit": { @@ -6727,6 +15532,7 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "license": "ISC", + "peer": true, "engines": { "node": ">=14" }, @@ -6734,22 +15540,36 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "license": "MIT" - }, - "node_modules/smol-toml": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.4.2.tgz", - "integrity": "sha512-rInDH6lCNiEyn3+hH8KVGFdbjc099j47+OSgbMrfDYX1CmXLfdKd7qi6IfcWj2wFxvSVkuI46M+wPGYfEOEj6g==", - "license": "BSD-3-Clause", + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "license": "MIT", + "peer": true, "engines": { - "node": ">= 18" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/sponsors/cyyynthia" + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" } }, "node_modules/source-map-js": { @@ -6771,63 +15591,171 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "license": "MIT", + "node_modules/speech-rule-engine": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.1.2.tgz", + "integrity": "sha512-S6ji+flMEga+1QU79NDbwZ8Ivf0S/MpupQQiIC0rTpU/ZTKgcajijJJb1OcByBQDjrXCN1/DJtGz4ZJeBMPGJw==", + "license": "Apache-2.0", + "peer": true, "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" + "@xmldom/xmldom": "0.9.8", + "commander": "13.1.0", + "wicked-good-xpath": "1.3.0" }, + "bin": { + "sre": "bin/sre" + } + }, + "node_modules/speech-rule-engine/node_modules/commander": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", + "license": "MIT", + "peer": true, "engines": { "node": ">=18" + } + }, + "node_modules/stable-hash": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", + "dev": true, + "license": "MIT" + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/stringify-entities": { @@ -6844,63 +15772,101 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/style-to-js": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", + "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "style-to-object": "1.0.14" } }, - "node_modules/sucrase": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", - "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "node_modules/style-to-object": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", + "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", "license": "MIT", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "^10.3.10", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" + "inline-style-parser": "0.2.7" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", + "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/stylis": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz", + "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", + "license": "MIT", + "peer": true + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=8" } }, "node_modules/supports-preserve-symlinks-flag": { @@ -6915,53 +15881,81 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tailwind-merge": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.1.tgz", - "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/dcastil" - } + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "license": "MIT" }, - "node_modules/tailwindcss": { - "version": "3.4.17", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", - "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", + "node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", "license": "MIT", "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.6.0", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.3.2", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.21.6", - "lilconfig": "^3.1.3", - "micromatch": "^4.0.8", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.1.1", - "postcss": "^8.4.47", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.2", - "postcss-nested": "^6.2.0", - "postcss-selector-parser": "^6.1.2", - "resolve": "^1.22.8", - "sucrase": "^3.35.0" + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" }, "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" + "svgo": "bin/svgo" }, "engines": { "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/system-architecture": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz", + "integrity": "sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tabbable": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.3.0.tgz", + "integrity": "sha512-EIHvdY5bPLuWForiR/AN2Bxngzpuwn1is4asboytXtpTgsArc+WmSJKVLlhdh71u7jFcryDqB2A8lQvj78MkyQ==", + "license": "MIT" + }, + "node_modules/tailwind-merge": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.4.0.tgz", + "integrity": "sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" } }, + "node_modules/tailwindcss": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz", + "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", + "license": "MIT" + }, "node_modules/tailwindcss-animate": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz", @@ -6971,39 +15965,29 @@ "tailwindcss": ">=3.0.0 || insiders" } }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "dev": true, "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0" + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "node_modules/tinyexec": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", "license": "MIT", - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, "engines": { - "node": ">=0.8" + "node": ">=18" } }, - "node_modules/tiny-inflate": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", - "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", - "license": "MIT" - }, - "node_modules/tinyexec": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", - "license": "MIT" - }, "node_modules/tinyglobby": { "version": "0.2.15", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", @@ -7017,7 +16001,35 @@ "node": ">=12.0.0" }, "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/title": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/title/-/title-4.0.1.tgz", + "integrity": "sha512-xRnPkJx9nvE5MF6LkB5e8QJjE2FW8269wTu/LQdf7zZqBgPly0QJPf/CWAo7srj5so4yXfoLEdCFgurlpi47zg==", + "license": "MIT", + "peer": true, + "dependencies": { + "arg": "^5.0.0", + "chalk": "^5.0.0", + "clipboardy": "^4.0.0" + }, + "bin": { + "title": "dist/esm/bin.js" + } + }, + "node_modules/title/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "license": "MIT", + "peer": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/to-regex-range": { @@ -7032,12 +16044,6 @@ "node": ">=8.0" } }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "license": "MIT" - }, "node_modules/trim-lines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", @@ -7058,30 +16064,64 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "license": "Apache-2.0" - }, - "node_modules/tsconfck": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", - "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", + "node_modules/ts-api-utils": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.3.0.tgz", + "integrity": "sha512-6eg3Y9SF7SsAvGzRHQvvc1skDAhwI4YQ32ui1scxD1Ccr0G5qIIbUBT3pFTKX8kmWIQClHobtUdNuaBgwdfdWg==", + "dev": true, "license": "MIT", - "bin": { - "tsconfck": "bin/tsconfck.js" - }, "engines": { - "node": "^18 || >=20" + "node": ">=18.12" }, "peerDependencies": { - "typescript": "^5.0.0" + "typescript": ">=4.8.4" + } + }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.10" + } + }, + "node_modules/ts-morph": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-27.0.2.tgz", + "integrity": "sha512-fhUhgeljcrdZ+9DZND1De1029PrE+cMkIP7ooqkLRTrRLTqcki2AstsyJm0vRNbTbVCNJ0idGlbBrfqc7/nA8w==", + "license": "MIT", + "peer": true, + "dependencies": { + "@ts-morph/common": "~0.28.1", + "code-block-writer": "^13.0.3" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "bin": { + "json5": "lib/cli.js" } }, "node_modules/tslib": { @@ -7090,24 +16130,123 @@ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "license": "0BSD" }, - "node_modules/type-fest": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", - "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", - "license": "(MIT OR CC0-1.0)", + "node_modules/twoslash": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/twoslash/-/twoslash-0.3.6.tgz", + "integrity": "sha512-VuI5OKl+MaUO9UIW3rXKoPgHI3X40ZgB/j12VY6h98Ae1mCBihjPvhOPeJWlxCYcmSbmeZt5ZKkK0dsVtp+6pA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@typescript/vfs": "^1.6.2", + "twoslash-protocol": "0.3.6" + }, + "peerDependencies": { + "typescript": "^5.5.0" + } + }, + "node_modules/twoslash-protocol": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/twoslash-protocol/-/twoslash-protocol-0.3.6.tgz", + "integrity": "sha512-FHGsJ9Q+EsNr5bEbgG3hnbkvEBdW5STgPU824AHUjB4kw0Dn4p8tABT7Ncg1Ie6V0+mDg3Qpy41VafZXcQhWMA==", + "license": "MIT", + "peer": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, "engines": { - "node": ">=16" + "node": ">= 0.8.0" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/typescript": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", - "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -7116,48 +16255,101 @@ "node": ">=14.17" } }, + "node_modules/typescript-eslint": { + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.51.0.tgz", + "integrity": "sha512-jh8ZuM5oEh2PSdyQG9YAEM1TCGuWenLSuSUhf/irbVUNW9O5FhbFVONviN2TgMTBnUmyHv7E56rYnfLZK6TkiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.51.0", + "@typescript-eslint/parser": "8.51.0", + "@typescript-eslint/typescript-estree": "8.51.0", + "@typescript-eslint/utils": "8.51.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, "node_modules/ufo": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", - "license": "MIT" - }, - "node_modules/ultrahtml": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.6.0.tgz", - "integrity": "sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==", - "license": "MIT" + "license": "MIT", + "peer": true }, - "node_modules/uncrypto": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", - "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", - "license": "MIT" + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/undici-types": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.12.0.tgz", - "integrity": "sha512-goOacqME2GYyOZZfb5Lgtu+1IDmAlAEu5xnD3+xTzS10hT0vzpf0SPjkXwAw9Jm+4n/mQGDP3LO8CPbYROeBfQ==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, "license": "MIT" }, - "node_modules/unicode-properties": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", - "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", "license": "MIT", - "dependencies": { - "base64-js": "^1.3.0", - "unicode-trie": "^2.0.0" + "engines": { + "node": ">=4" } }, - "node_modules/unicode-trie": { + "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", - "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "license": "MIT", "dependencies": { - "pako": "^0.2.5", - "tiny-inflate": "^1.0.0" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", + "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", + "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", + "license": "MIT", + "engines": { + "node": ">=4" } }, "node_modules/unified": { @@ -7179,22 +16371,12 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/unifont": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.5.2.tgz", - "integrity": "sha512-LzR4WUqzH9ILFvjLAUU7dK3Lnou/qd5kD+IakBtBK4S15/+x2y9VX+DcWQv6s551R6W+vzwgVS6tFg3XggGBgg==", - "license": "MIT", - "dependencies": { - "css-tree": "^3.0.0", - "ofetch": "^1.4.1", - "ohash": "^2.0.0" - } - }, "node_modules/unist-util-find-after": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", "license": "MIT", + "peer": true, "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" @@ -7205,9 +16387,9 @@ } }, "node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" @@ -7222,6 +16404,7 @@ "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", "license": "MIT", + "peer": true, "dependencies": { "@types/unist": "^3.0.0", "array-iterate": "^2.0.0" @@ -7244,24 +16427,10 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/unist-util-remove-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", - "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" @@ -7271,11 +16440,12 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "node_modules/unist-util-remove": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-4.0.0.tgz", + "integrity": "sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg==", "license": "MIT", + "peer": true, "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", @@ -7286,177 +16456,115 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/unist-util-visit-children": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", - "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" + "unist-util-visit": "^5.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unstorage": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.1.tgz", - "integrity": "sha512-KKGwRTT0iVBCErKemkJCLs7JdxNVfqTPc/85ae1XES0+bsHbc/sFBfVi5kJp156cc51BHinIH2l3k0EZ24vOBQ==", + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", "license": "MIT", "dependencies": { - "anymatch": "^3.1.3", - "chokidar": "^4.0.3", - "destr": "^2.0.5", - "h3": "^1.15.4", - "lru-cache": "^10.4.3", - "node-fetch-native": "^1.6.7", - "ofetch": "^1.4.1", - "ufo": "^1.6.1" - }, - "peerDependencies": { - "@azure/app-configuration": "^1.8.0", - "@azure/cosmos": "^4.2.0", - "@azure/data-tables": "^13.3.0", - "@azure/identity": "^4.6.0", - "@azure/keyvault-secrets": "^4.9.0", - "@azure/storage-blob": "^12.26.0", - "@capacitor/preferences": "^6.0.3 || ^7.0.0", - "@deno/kv": ">=0.9.0", - "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", - "@planetscale/database": "^1.19.0", - "@upstash/redis": "^1.34.3", - "@vercel/blob": ">=0.27.1", - "@vercel/functions": "^2.2.12 || ^3.0.0", - "@vercel/kv": "^1.0.1", - "aws4fetch": "^1.0.20", - "db0": ">=0.2.1", - "idb-keyval": "^6.2.1", - "ioredis": "^5.4.2", - "uploadthing": "^7.4.4" + "@types/unist": "^3.0.0" }, - "peerDependenciesMeta": { - "@azure/app-configuration": { - "optional": true - }, - "@azure/cosmos": { - "optional": true - }, - "@azure/data-tables": { - "optional": true - }, - "@azure/identity": { - "optional": true - }, - "@azure/keyvault-secrets": { - "optional": true - }, - "@azure/storage-blob": { - "optional": true - }, - "@capacitor/preferences": { - "optional": true - }, - "@deno/kv": { - "optional": true - }, - "@netlify/blobs": { - "optional": true - }, - "@planetscale/database": { - "optional": true - }, - "@upstash/redis": { - "optional": true - }, - "@vercel/blob": { - "optional": true - }, - "@vercel/functions": { - "optional": true - }, - "@vercel/kv": { - "optional": true - }, - "aws4fetch": { - "optional": true - }, - "db0": { - "optional": true - }, - "idb-keyval": { - "optional": true - }, - "ioredis": { - "optional": true - }, - "uploadthing": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/unstorage/node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", "license": "MIT", "dependencies": { - "readdirp": "^4.0.1" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" }, - "engines": { - "node": ">= 14.16.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/unist": "^3.0.0" }, "funding": { - "url": "https://paulmillr.com/funding/" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/unstorage/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "license": "ISC" + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/unstorage/node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "node_modules/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "dev": true, + "hasInstallScript": true, "license": "MIT", - "engines": { - "node": ">= 14.18.0" + "dependencies": { + "napi-postinstall": "^0.3.0" }, "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" } }, "node_modules/update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "funding": [ { "type": "opencollective", @@ -7483,6 +16591,16 @@ "browserslist": ">= 4.21.0" } }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, "node_modules/use-callback-ref": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", @@ -7504,6 +16622,29 @@ } } }, + "node_modules/use-intl": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/use-intl/-/use-intl-4.6.1.tgz", + "integrity": "sha512-mUIj6QvJZ7Rk33mLDxRziz1YiBBAnIji8YW4TXXMdYHtaPEbVucrXD3iKQGAqJhbVn0VnjrEtIKYO1B18mfSJw==", + "license": "MIT", + "dependencies": { + "@formatjs/fast-memoize": "^2.2.0", + "@schummar/icu-type-parser": "1.21.5", + "intl-messageformat": "^10.5.14" + }, + "peerDependencies": { + "react": "^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0" + } + }, + "node_modules/use-intl/node_modules/@formatjs/fast-memoize": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.7.tgz", + "integrity": "sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.8.0" + } + }, "node_modules/use-sidecar": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", @@ -7527,9 +16668,9 @@ } }, "node_modules/use-sync-external-store": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz", - "integrity": "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", "license": "MIT", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" @@ -7541,6 +16682,20 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "license": "MIT" }, + "node_modules/uuid": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "peer": true, + "bin": { + "uuid": "dist/esm/bin/uuid" + } + }, "node_modules/vfile": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", @@ -7560,6 +16715,7 @@ "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", "license": "MIT", + "peer": true, "dependencies": { "@types/unist": "^3.0.0", "vfile": "^6.0.0" @@ -7583,145 +16739,72 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/vite": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.6.tgz", - "integrity": "sha512-0msEVHJEScQbhkbVTb/4iHZdJ6SXp/AvxL2sjwYQFfBqleHtnCqv1J3sa9zbWz/6kW1m9Tfzn92vW+kZ1WV6QA==", + "node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", "license": "MIT", - "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.4.4", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" - }, - "bin": { - "vite": "bin/vite.js" - }, + "peer": true, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } + "node": ">=14.0.0" } }, - "node_modules/vite-plugin-static-copy": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/vite-plugin-static-copy/-/vite-plugin-static-copy-2.3.2.tgz", - "integrity": "sha512-iwrrf+JupY4b9stBttRWzGHzZbeMjAHBhkrn67MNACXJVjEMRpCI10Q3AkxdBkl45IHaTfw/CNVevzQhP7yTwg==", - "dev": true, + "node_modules/vscode-languageserver": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", "license": "MIT", + "peer": true, "dependencies": { - "chokidar": "^3.5.3", - "fast-glob": "^3.2.11", - "fs-extra": "^11.1.0", - "p-map": "^7.0.3", - "picocolors": "^1.0.0" + "vscode-languageserver-protocol": "3.17.5" }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "vite": "^5.0.0 || ^6.0.0" + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" } }, - "node_modules/vitefu": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.1.tgz", - "integrity": "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==", + "node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", "license": "MIT", - "workspaces": [ - "tests/deps/*", - "tests/projects/*", - "tests/projects/workspace/packages/*" - ], - "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" - }, - "peerDependenciesMeta": { - "vite": { - "optional": true - } + "peer": true, + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" } }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", + "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==", + "license": "MIT", + "peer": true + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", + "license": "MIT", + "peer": true + }, + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "license": "MIT", + "peer": true + }, "node_modules/web-namespaces": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", "license": "MIT", + "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "license": "BSD-2-Clause" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -7737,127 +16820,112 @@ "node": ">= 8" } }, - "node_modules/which-pm-runs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", - "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/widest-line": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", - "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, "license": "MIT", "dependencies": { - "string-width": "^7.0.0" + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wrap-ansi": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", - "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/wicked-good-xpath": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz", + "integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==", "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } + "peer": true }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/xxhash-wasm": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", - "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", - "license": "MIT" - }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -7865,90 +16933,83 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", - "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", "license": "ISC", + "peer": true, "bin": { "yaml": "bin.mjs" }, "engines": { "node": ">= 14.6" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/yocto-queue": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", - "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", - "license": "MIT", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yocto-spinner": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-0.2.3.tgz", - "integrity": "sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==", - "license": "MIT", - "dependencies": { - "yoctocolors": "^2.1.1" - }, - "engines": { - "node": ">=18.19" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/eemeli" } }, - "node_modules/yoctocolors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", - "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/zod": { - "version": "3.25.76", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.2.tgz", + "integrity": "sha512-b8L8yn4rIVfiXyHAmnr52/ZEpDumlT0bmxiq3Ws1ybrinhflGpt12Hvv54kYnEsGPRs6o/Ka3/ppA2OWY21IVg==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" } }, - "node_modules/zod-to-json-schema": { - "version": "3.24.6", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz", - "integrity": "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==", - "license": "ISC", + "node_modules/zod-validation-error": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", + "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, "peerDependencies": { - "zod": "^3.24.1" + "zod": "^3.25.0 || ^4.0.0" } }, - "node_modules/zod-to-ts": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz", - "integrity": "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==", + "node_modules/zustand": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.9.tgz", + "integrity": "sha512-ALBtUj0AfjJt3uNRQoL1tL2tMvj6Gp/6e39dnfT6uzpelGru8v1tPOGBzayOWbPJvujM8JojDk3E1LxeFisBNg==", + "license": "MIT", + "engines": { + "node": ">=12.20.0" + }, "peerDependencies": { - "typescript": "^4.9.4 || ^5.0.2", - "zod": "^3" + "@types/react": ">=18.0.0", + "immer": ">=9.0.6", + "react": ">=18.0.0", + "use-sync-external-store": ">=1.2.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + }, + "use-sync-external-store": { + "optional": true + } } }, "node_modules/zwitch": { diff --git a/package.json b/package.json index 3dc28a86..6d0cb9c5 100644 --- a/package.json +++ b/package.json @@ -1,48 +1,45 @@ { "name": "flectoneweb", - "type": "module", - "version": "1.1.0", + "version": "1.4.0", + "private": true, "scripts": { - "dev": "astro dev", - "build": "astro build", - "preview": "astro preview", - "astro": "astro", - "install:pulse-ru": "cd pulse/ru && bun install", - "install:pulse-en": "cd pulse/en && bun install", - "dev:pulse-ru": "cd pulse/ru && bun docs:dev", - "dev:pulse-en": "cd pulse/en && bun docs:dev", - "build:pulse-ru": "cd pulse/ru && bun docs:build", - "build:pulse-en": "cd pulse/en && bun docs:build", - "preview:pulse-ru": "cd pulse/ru && bun docs:preview", - "preview:pulse-en": "cd pulse/en && bun docs:preview", - "copy:pulse": "cp -R pulse/ru/.vitepress/dist dist/pulse && cp -R pulse/en/.vitepress/dist dist/en/pulse", - "build:all": "bun run build && bun build:pulse-ru && bun build:pulse-en && bun copy:pulse" + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "eslint" }, "dependencies": { - "@astrojs/react": "^4.2.0", - "@astrojs/tailwind": "^6.0.0", - "@radix-ui/react-avatar": "^1.1.2", - "@radix-ui/react-dialog": "^1.1.5", - "@radix-ui/react-dropdown-menu": "^2.1.5", - "@radix-ui/react-slot": "^1.1.1", - "@radix-ui/react-switch": "^1.1.2", - "@rollup/rollup-win32-x64-msvc": "^4.34.1", - "@types/react": "^19.0.8", - "@types/react-dom": "^19.0.3", - "astro": "^5.2.3", - "bun": "^1.2.22", + "@radix-ui/react-slot": "^1.2.4", + "@types/mdx": "^2.0.13", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", - "embla-carousel-autoplay": "^8.5.2", - "embla-carousel-react": "^8.5.2", - "lucide-react": "^0.474.0", - "react": "^19.0.0", - "react-dom": "^19.0.0", - "tailwind-merge": "^3.0.1", - "tailwindcss": "3.4.17", + "framer-motion": "^12.23.24", + "fumadocs-core": "^16.4.1", + "fumadocs-mdx": "^14.2.3", + "fumadocs-ui": "^16.4.1", + "lucide-react": "^0.562.0", + "next": "^16.0.7", + "next-intl": "^4.5.6", + "next-svg": "^1.0.7", + "next-themes": "^0.4.6", + "nextra-theme-docs": "^4.6.1", + "react": "^19.2.0", + "react-dom": "^19.2.0", + "react-icons": "^5.5.0", + "tailwind-merge": "^3.4.0", "tailwindcss-animate": "^1.0.7" }, "devDependencies": { - "vite-plugin-static-copy": "^2.3.1" + "@svgr/webpack": "^8.1.0", + "@tailwindcss/postcss": "^4", + "@types/js-yaml": "^4.0.9", + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "@types/unist": "^3.0.3", + "eslint": "^9", + "eslint-config-next": "16.0.4", + "tailwindcss": "^4", + "typescript": "^5" } } diff --git a/postcss.config.mjs b/postcss.config.mjs new file mode 100644 index 00000000..61e36849 --- /dev/null +++ b/postcss.config.mjs @@ -0,0 +1,7 @@ +const config = { + plugins: { + "@tailwindcss/postcss": {}, + }, +}; + +export default config; diff --git a/public/chat-en.svg b/public/chat-en.svg new file mode 100644 index 00000000..c1774bc1 --- /dev/null +++ b/public/chat-en.svg @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/chat-ru.svg b/public/chat-ru.svg new file mode 100644 index 00000000..1afb1775 --- /dev/null +++ b/public/chat-ru.svg @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/graph.svg b/public/graph.svg new file mode 100644 index 00000000..d350c31b --- /dev/null +++ b/public/graph.svg @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/language.svg b/public/language.svg new file mode 100644 index 00000000..d4070f7a --- /dev/null +++ b/public/language.svg @@ -0,0 +1,3 @@ + + + diff --git a/pulse/en/public/logo.png b/public/logo.png similarity index 100% rename from pulse/en/public/logo.png rename to public/logo.png diff --git a/public/logo.svg b/public/logo.svg new file mode 100644 index 00000000..45ecc3ca --- /dev/null +++ b/public/logo.svg @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/mix.svg b/public/mix.svg new file mode 100644 index 00000000..385df4a3 --- /dev/null +++ b/public/mix.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/moon.svg b/public/moon.svg new file mode 100644 index 00000000..abe5d706 --- /dev/null +++ b/public/moon.svg @@ -0,0 +1,3 @@ + + + diff --git a/pulse/en/public/advancement1.png b/public/pulse/advancement1.png similarity index 100% rename from pulse/en/public/advancement1.png rename to public/pulse/advancement1.png diff --git a/pulse/en/public/advancement2.png b/public/pulse/advancement2.png similarity index 100% rename from pulse/en/public/advancement2.png rename to public/pulse/advancement2.png diff --git a/pulse/en/public/advancement3.png b/public/pulse/advancement3.png similarity index 100% rename from pulse/en/public/advancement3.png rename to public/pulse/advancement3.png diff --git a/pulse/en/public/afkglobalmessage.png b/public/pulse/afkglobalmessage.png similarity index 100% rename from pulse/en/public/afkglobalmessage.png rename to public/pulse/afkglobalmessage.png diff --git a/pulse/en/public/afksuffix.png b/public/pulse/afksuffix.png similarity index 100% rename from pulse/en/public/afksuffix.png rename to public/pulse/afksuffix.png diff --git a/pulse/en/public/anvil.gif b/public/pulse/anvil.gif similarity index 100% rename from pulse/en/public/anvil.gif rename to public/pulse/anvil.gif diff --git a/pulse/en/public/argument_showcase.png b/public/pulse/argument_showcase.png similarity index 100% rename from pulse/en/public/argument_showcase.png rename to public/pulse/argument_showcase.png diff --git a/pulse/en/public/auto.png b/public/pulse/auto.png similarity index 100% rename from pulse/en/public/auto.png rename to public/pulse/auto.png diff --git a/pulse/en/public/belowname.png b/public/pulse/belowname.png similarity index 100% rename from pulse/en/public/belowname.png rename to public/pulse/belowname.png diff --git a/pulse/en/public/bold.png b/public/pulse/bold.png similarity index 100% rename from pulse/en/public/bold.png rename to public/pulse/bold.png diff --git a/pulse/en/public/book.gif b/public/pulse/book.gif similarity index 100% rename from pulse/en/public/book.gif rename to public/pulse/book.gif diff --git a/pulse/en/public/boosty.svg b/public/pulse/boosty.svg similarity index 100% rename from pulse/en/public/boosty.svg rename to public/pulse/boosty.svg diff --git a/pulse/en/public/bossbar_enderdragon.png b/public/pulse/bossbar_enderdragon.png similarity index 100% rename from pulse/en/public/bossbar_enderdragon.png rename to public/pulse/bossbar_enderdragon.png diff --git a/pulse/en/public/bossbar_raid.png b/public/pulse/bossbar_raid.png similarity index 100% rename from pulse/en/public/bossbar_raid.png rename to public/pulse/bossbar_raid.png diff --git a/pulse/en/public/bossbar_wither.png b/public/pulse/bossbar_wither.png similarity index 100% rename from pulse/en/public/bossbar_wither.png rename to public/pulse/bossbar_wither.png diff --git a/pulse/en/public/brand.png b/public/pulse/brand.png similarity index 100% rename from pulse/en/public/brand.png rename to public/pulse/brand.png diff --git a/pulse/en/public/bubble.gif b/public/pulse/bubble.gif similarity index 100% rename from pulse/en/public/bubble.gif rename to public/pulse/bubble.gif diff --git a/pulse/en/public/bubble.svg b/public/pulse/bubble.svg similarity index 100% rename from pulse/en/public/bubble.svg rename to public/pulse/bubble.svg diff --git a/pulse/en/public/bukkit.svg b/public/pulse/bukkit.svg similarity index 100% rename from pulse/en/public/bukkit.svg rename to public/pulse/bukkit.svg diff --git a/pulse/en/public/bungeecord.svg b/public/pulse/bungeecord.svg similarity index 100% rename from pulse/en/public/bungeecord.svg rename to public/pulse/bungeecord.svg diff --git a/pulse/en/public/caps.png b/public/pulse/caps copy.png similarity index 100% rename from pulse/en/public/caps.png rename to public/pulse/caps copy.png diff --git a/pulse/ru/public/caps.png b/public/pulse/caps.png similarity index 100% rename from pulse/ru/public/caps.png rename to public/pulse/caps.png diff --git a/pulse/en/public/chat.png b/public/pulse/chat.png similarity index 100% rename from pulse/en/public/chat.png rename to public/pulse/chat.png diff --git a/pulse/en/public/chatconsole.png b/public/pulse/chatconsole.png similarity index 100% rename from pulse/en/public/chatconsole.png rename to public/pulse/chatconsole.png diff --git a/pulse/en/public/code.svg b/public/pulse/code.svg similarity index 100% rename from pulse/en/public/code.svg rename to public/pulse/code.svg diff --git a/pulse/en/public/colormessage.png b/public/pulse/colormessage.png similarity index 100% rename from pulse/en/public/colormessage.png rename to public/pulse/colormessage.png diff --git a/pulse/en/public/commandanon.png b/public/pulse/commandanon.png similarity index 100% rename from pulse/en/public/commandanon.png rename to public/pulse/commandanon.png diff --git a/pulse/en/public/commandball.png b/public/pulse/commandball.png similarity index 100% rename from pulse/en/public/commandball.png rename to public/pulse/commandball.png diff --git a/pulse/en/public/commandban.png b/public/pulse/commandban.png similarity index 100% rename from pulse/en/public/commandban.png rename to public/pulse/commandban.png diff --git a/pulse/en/public/commandbanconnect.png b/public/pulse/commandbanconnect.png similarity index 100% rename from pulse/en/public/commandbanconnect.png rename to public/pulse/commandbanconnect.png diff --git a/pulse/en/public/commandbanlist.png b/public/pulse/commandbanlist.png similarity index 100% rename from pulse/en/public/commandbanlist.png rename to public/pulse/commandbanlist.png diff --git a/pulse/en/public/commandbanlistglobalgui.png b/public/pulse/commandbanlistglobalgui.png similarity index 100% rename from pulse/en/public/commandbanlistglobalgui.png rename to public/pulse/commandbanlistglobalgui.png diff --git a/pulse/en/public/commandbanlistplayer.png b/public/pulse/commandbanlistplayer.png similarity index 100% rename from pulse/en/public/commandbanlistplayer.png rename to public/pulse/commandbanlistplayer.png diff --git a/pulse/en/public/commandbanlistplayergui.png b/public/pulse/commandbanlistplayergui.png similarity index 100% rename from pulse/en/public/commandbanlistplayergui.png rename to public/pulse/commandbanlistplayergui.png diff --git a/pulse/en/public/commandbanplayer.png b/public/pulse/commandbanplayer.png similarity index 100% rename from pulse/en/public/commandbanplayer.png rename to public/pulse/commandbanplayer.png diff --git a/pulse/en/public/commandbroadcast.png b/public/pulse/commandbroadcast.png similarity index 100% rename from pulse/en/public/commandbroadcast.png rename to public/pulse/commandbroadcast.png diff --git a/pulse/en/public/commandchatcolor.png b/public/pulse/commandchatcolor.png similarity index 100% rename from pulse/en/public/commandchatcolor.png rename to public/pulse/commandchatcolor.png diff --git a/pulse/en/public/commandchatcolorother.png b/public/pulse/commandchatcolorother.png similarity index 100% rename from pulse/en/public/commandchatcolorother.png rename to public/pulse/commandchatcolorother.png diff --git a/pulse/en/public/commandchatsetting.gif b/public/pulse/commandchatsetting.gif similarity index 100% rename from pulse/en/public/commandchatsetting.gif rename to public/pulse/commandchatsetting.gif diff --git a/pulse/en/public/commandchatstyle.png b/public/pulse/commandchatstyle.png similarity index 100% rename from pulse/en/public/commandchatstyle.png rename to public/pulse/commandchatstyle.png diff --git a/pulse/en/public/commandclearchat.png b/public/pulse/commandclearchat.png similarity index 100% rename from pulse/en/public/commandclearchat.png rename to public/pulse/commandclearchat.png diff --git a/pulse/en/public/commandclearmail.png b/public/pulse/commandclearmail.png similarity index 100% rename from pulse/en/public/commandclearmail.png rename to public/pulse/commandclearmail.png diff --git a/pulse/en/public/commandcoin.png b/public/pulse/commandcoin.png similarity index 100% rename from pulse/en/public/commandcoin.png rename to public/pulse/commandcoin.png diff --git a/pulse/en/public/commanddeletemessage.png b/public/pulse/commanddeletemessage.png similarity index 100% rename from pulse/en/public/commanddeletemessage.png rename to public/pulse/commanddeletemessage.png diff --git a/pulse/en/public/commanddice.png b/public/pulse/commanddice.png similarity index 100% rename from pulse/en/public/commanddice.png rename to public/pulse/commanddice.png diff --git a/pulse/en/public/commanddo.png b/public/pulse/commanddo.png similarity index 100% rename from pulse/en/public/commanddo.png rename to public/pulse/commanddo.png diff --git a/pulse/en/public/commandemit.png b/public/pulse/commandemit.png similarity index 100% rename from pulse/en/public/commandemit.png rename to public/pulse/commandemit.png diff --git a/pulse/en/public/commandflectonepulse.png b/public/pulse/commandflectonepulse.png similarity index 100% rename from pulse/en/public/commandflectonepulse.png rename to public/pulse/commandflectonepulse.png diff --git a/pulse/en/public/commandgeolocate.png b/public/pulse/commandgeolocate.png similarity index 100% rename from pulse/en/public/commandgeolocate.png rename to public/pulse/commandgeolocate.png diff --git a/pulse/en/public/commandhelper.png b/public/pulse/commandhelper.png similarity index 100% rename from pulse/en/public/commandhelper.png rename to public/pulse/commandhelper.png diff --git a/pulse/en/public/commandhelperadmin.png b/public/pulse/commandhelperadmin.png similarity index 100% rename from pulse/en/public/commandhelperadmin.png rename to public/pulse/commandhelperadmin.png diff --git a/pulse/en/public/commandignore.png b/public/pulse/commandignore.png similarity index 100% rename from pulse/en/public/commandignore.png rename to public/pulse/commandignore.png diff --git a/pulse/en/public/commandignorelist.png b/public/pulse/commandignorelist.png similarity index 100% rename from pulse/en/public/commandignorelist.png rename to public/pulse/commandignorelist.png diff --git a/pulse/en/public/commandignorelistgui.png b/public/pulse/commandignorelistgui.png similarity index 100% rename from pulse/en/public/commandignorelistgui.png rename to public/pulse/commandignorelistgui.png diff --git a/pulse/en/public/commandkick.png b/public/pulse/commandkick.png similarity index 100% rename from pulse/en/public/commandkick.png rename to public/pulse/commandkick.png diff --git a/pulse/en/public/commandkickplayer.png b/public/pulse/commandkickplayer.png similarity index 100% rename from pulse/en/public/commandkickplayer.png rename to public/pulse/commandkickplayer.png diff --git a/pulse/en/public/commandmail.png b/public/pulse/commandmail.png similarity index 100% rename from pulse/en/public/commandmail.png rename to public/pulse/commandmail.png diff --git a/pulse/en/public/commandmailplayer.png b/public/pulse/commandmailplayer.png similarity index 100% rename from pulse/en/public/commandmailplayer.png rename to public/pulse/commandmailplayer.png diff --git a/pulse/en/public/commandmaintenance.png b/public/pulse/commandmaintenance.png similarity index 100% rename from pulse/en/public/commandmaintenance.png rename to public/pulse/commandmaintenance.png diff --git a/pulse/en/public/commandmaintenanceserver.png b/public/pulse/commandmaintenanceserver.png similarity index 100% rename from pulse/en/public/commandmaintenanceserver.png rename to public/pulse/commandmaintenanceserver.png diff --git a/pulse/en/public/commandmark.gif b/public/pulse/commandmark.gif similarity index 100% rename from pulse/en/public/commandmark.gif rename to public/pulse/commandmark.gif diff --git a/pulse/en/public/commandme.png b/public/pulse/commandme.png similarity index 100% rename from pulse/en/public/commandme.png rename to public/pulse/commandme.png diff --git a/pulse/en/public/commandmealiase.png b/public/pulse/commandmealiase.png similarity index 100% rename from pulse/en/public/commandmealiase.png rename to public/pulse/commandmealiase.png diff --git a/pulse/en/public/commandmute.png b/public/pulse/commandmute.png similarity index 100% rename from pulse/en/public/commandmute.png rename to public/pulse/commandmute.png diff --git a/pulse/en/public/commandmutelist.png b/public/pulse/commandmutelist.png similarity index 100% rename from pulse/en/public/commandmutelist.png rename to public/pulse/commandmutelist.png diff --git a/pulse/en/public/commandmutelistglobalgui.png b/public/pulse/commandmutelistglobalgui.png similarity index 100% rename from pulse/en/public/commandmutelistglobalgui.png rename to public/pulse/commandmutelistglobalgui.png diff --git a/pulse/en/public/commandmutelistplayergui.png b/public/pulse/commandmutelistplayergui.png similarity index 100% rename from pulse/en/public/commandmutelistplayergui.png rename to public/pulse/commandmutelistplayergui.png diff --git a/pulse/en/public/commandonline.png b/public/pulse/commandonline.png similarity index 100% rename from pulse/en/public/commandonline.png rename to public/pulse/commandonline.png diff --git a/pulse/en/public/commandping.png b/public/pulse/commandping.png similarity index 100% rename from pulse/en/public/commandping.png rename to public/pulse/commandping.png diff --git a/pulse/en/public/commandpoll.png b/public/pulse/commandpoll.png similarity index 100% rename from pulse/en/public/commandpoll.png rename to public/pulse/commandpoll.png diff --git a/pulse/en/public/commandpollend.png b/public/pulse/commandpollend.png similarity index 100% rename from pulse/en/public/commandpollend.png rename to public/pulse/commandpollend.png diff --git a/pulse/en/public/commandpollgui.gif b/public/pulse/commandpollgui.gif similarity index 100% rename from pulse/en/public/commandpollgui.gif rename to public/pulse/commandpollgui.gif diff --git a/pulse/en/public/commandreply.png b/public/pulse/commandreply.png similarity index 100% rename from pulse/en/public/commandreply.png rename to public/pulse/commandreply.png diff --git a/pulse/en/public/commandrockpaperscissors.png b/public/pulse/commandrockpaperscissors.png similarity index 100% rename from pulse/en/public/commandrockpaperscissors.png rename to public/pulse/commandrockpaperscissors.png diff --git a/pulse/en/public/commandsprite.png b/public/pulse/commandsprite.png similarity index 100% rename from pulse/en/public/commandsprite.png rename to public/pulse/commandsprite.png diff --git a/pulse/en/public/commandspy.gif b/public/pulse/commandspy.gif similarity index 100% rename from pulse/en/public/commandspy.gif rename to public/pulse/commandspy.gif diff --git a/pulse/en/public/commandstream.png b/public/pulse/commandstream.png similarity index 100% rename from pulse/en/public/commandstream.png rename to public/pulse/commandstream.png diff --git a/pulse/en/public/commandstreamprefix.png b/public/pulse/commandstreamprefix.png similarity index 100% rename from pulse/en/public/commandstreamprefix.png rename to public/pulse/commandstreamprefix.png diff --git a/pulse/en/public/commandsymbol.png b/public/pulse/commandsymbol.png similarity index 100% rename from pulse/en/public/commandsymbol.png rename to public/pulse/commandsymbol.png diff --git a/pulse/en/public/commandsyntax.png b/public/pulse/commandsyntax.png similarity index 100% rename from pulse/en/public/commandsyntax.png rename to public/pulse/commandsyntax.png diff --git a/pulse/en/public/commandtell.png b/public/pulse/commandtell.png similarity index 100% rename from pulse/en/public/commandtell.png rename to public/pulse/commandtell.png diff --git a/pulse/en/public/commandtellmyself.png b/public/pulse/commandtellmyself.png similarity index 100% rename from pulse/en/public/commandtellmyself.png rename to public/pulse/commandtellmyself.png diff --git a/pulse/en/public/commandtictactoe.png b/public/pulse/commandtictactoe.png similarity index 100% rename from pulse/en/public/commandtictactoe.png rename to public/pulse/commandtictactoe.png diff --git a/pulse/en/public/commandtictactoedefault.png b/public/pulse/commandtictactoedefault.png similarity index 100% rename from pulse/en/public/commandtictactoedefault.png rename to public/pulse/commandtictactoedefault.png diff --git a/pulse/en/public/commandtoponline.png b/public/pulse/commandtoponline.png similarity index 100% rename from pulse/en/public/commandtoponline.png rename to public/pulse/commandtoponline.png diff --git a/pulse/en/public/commandtranslateto.png b/public/pulse/commandtranslateto.png similarity index 100% rename from pulse/en/public/commandtranslateto.png rename to public/pulse/commandtranslateto.png diff --git a/pulse/en/public/commandtry.png b/public/pulse/commandtry.png similarity index 100% rename from pulse/en/public/commandtry.png rename to public/pulse/commandtry.png diff --git a/pulse/en/public/commandunban.png b/public/pulse/commandunban.png similarity index 100% rename from pulse/en/public/commandunban.png rename to public/pulse/commandunban.png diff --git a/pulse/en/public/commandunignore.png b/public/pulse/commandunignore.png similarity index 100% rename from pulse/en/public/commandunignore.png rename to public/pulse/commandunignore.png diff --git a/pulse/en/public/commandunmute.png b/public/pulse/commandunmute.png similarity index 100% rename from pulse/en/public/commandunmute.png rename to public/pulse/commandunmute.png diff --git a/pulse/en/public/commandunwarn.png b/public/pulse/commandunwarn.png similarity index 100% rename from pulse/en/public/commandunwarn.png rename to public/pulse/commandunwarn.png diff --git a/pulse/en/public/commandwarn.png b/public/pulse/commandwarn.png similarity index 100% rename from pulse/en/public/commandwarn.png rename to public/pulse/commandwarn.png diff --git a/pulse/en/public/commandwarnlist.png b/public/pulse/commandwarnlist.png similarity index 100% rename from pulse/en/public/commandwarnlist.png rename to public/pulse/commandwarnlist.png diff --git a/pulse/en/public/commandwarnlistglobalgui.png b/public/pulse/commandwarnlistglobalgui.png similarity index 100% rename from pulse/en/public/commandwarnlistglobalgui.png rename to public/pulse/commandwarnlistglobalgui.png diff --git a/pulse/en/public/commandwarnlistplayergui.png b/public/pulse/commandwarnlistplayergui.png similarity index 100% rename from pulse/en/public/commandwarnlistplayergui.png rename to public/pulse/commandwarnlistplayergui.png diff --git a/pulse/en/public/console.gif b/public/pulse/console.gif similarity index 100% rename from pulse/en/public/console.gif rename to public/pulse/console.gif diff --git a/pulse/en/public/coords.png b/public/pulse/coords.png similarity index 100% rename from pulse/en/public/coords.png rename to public/pulse/coords.png diff --git a/pulse/en/public/deathserver.png b/public/pulse/deathserver.png similarity index 100% rename from pulse/en/public/deathserver.png rename to public/pulse/deathserver.png diff --git a/pulse/en/public/debugstick.png b/public/pulse/debugstick.png similarity index 100% rename from pulse/en/public/debugstick.png rename to public/pulse/debugstick.png diff --git a/pulse/en/public/delete.gif b/public/pulse/delete.gif similarity index 100% rename from pulse/en/public/delete.gif rename to public/pulse/delete.gif diff --git a/pulse/en/public/destinationaction_bar.png b/public/pulse/destinationaction_bar.png similarity index 100% rename from pulse/en/public/destinationaction_bar.png rename to public/pulse/destinationaction_bar.png diff --git a/pulse/en/public/destinationboss_bar.png b/public/pulse/destinationboss_bar.png similarity index 100% rename from pulse/en/public/destinationboss_bar.png rename to public/pulse/destinationboss_bar.png diff --git a/pulse/en/public/destinationtext_screen.png b/public/pulse/destinationtext_screen.png similarity index 100% rename from pulse/en/public/destinationtext_screen.png rename to public/pulse/destinationtext_screen.png diff --git a/pulse/en/public/destinationtitle.png b/public/pulse/destinationtitle.png similarity index 100% rename from pulse/en/public/destinationtitle.png rename to public/pulse/destinationtitle.png diff --git a/pulse/en/public/destinationtoast.png b/public/pulse/destinationtoast.png similarity index 100% rename from pulse/en/public/destinationtoast.png rename to public/pulse/destinationtoast.png diff --git a/pulse/en/public/discord.svg b/public/pulse/discord.svg similarity index 100% rename from pulse/en/public/discord.svg rename to public/pulse/discord.svg diff --git a/pulse/en/public/discordchannelinfo.png b/public/pulse/discordchannelinfo.png similarity index 100% rename from pulse/en/public/discordchannelinfo.png rename to public/pulse/discordchannelinfo.png diff --git a/pulse/en/public/discordcontent.png b/public/pulse/discordcontent.png similarity index 100% rename from pulse/en/public/discordcontent.png rename to public/pulse/discordcontent.png diff --git a/pulse/en/public/discorddevelopers.png b/public/pulse/discorddevelopers.png similarity index 100% rename from pulse/en/public/discorddevelopers.png rename to public/pulse/discorddevelopers.png diff --git a/pulse/en/public/discordembed.png b/public/pulse/discordembed.png similarity index 100% rename from pulse/en/public/discordembed.png rename to public/pulse/discordembed.png diff --git a/pulse/en/public/discordmessage.png b/public/pulse/discordmessage.png similarity index 100% rename from pulse/en/public/discordmessage.png rename to public/pulse/discordmessage.png diff --git a/pulse/en/public/discordminecraftmessage.png b/public/pulse/discordminecraftmessage.png similarity index 100% rename from pulse/en/public/discordminecraftmessage.png rename to public/pulse/discordminecraftmessage.png diff --git a/pulse/en/public/discordpresence.png b/public/pulse/discordpresence.png similarity index 100% rename from pulse/en/public/discordpresence.png rename to public/pulse/discordpresence.png diff --git a/pulse/en/public/discordwebhook.png b/public/pulse/discordwebhook.png similarity index 100% rename from pulse/en/public/discordwebhook.png rename to public/pulse/discordwebhook.png diff --git a/pulse/en/public/documentation.svg b/public/pulse/documentation.svg similarity index 100% rename from pulse/en/public/documentation.svg rename to public/pulse/documentation.svg diff --git a/pulse/en/public/emojimessage.png b/public/pulse/emojimessage.png similarity index 100% rename from pulse/en/public/emojimessage.png rename to public/pulse/emojimessage.png diff --git a/pulse/en/public/emojiminecraft.png b/public/pulse/emojiminecraft.png similarity index 100% rename from pulse/en/public/emojiminecraft.png rename to public/pulse/emojiminecraft.png diff --git a/pulse/en/public/fcolor.png b/public/pulse/fcolor.png similarity index 100% rename from pulse/en/public/fcolor.png rename to public/pulse/fcolor.png diff --git a/pulse/en/public/filter.png b/public/pulse/filter.png similarity index 100% rename from pulse/en/public/filter.png rename to public/pulse/filter.png diff --git a/pulse/en/public/fixation.png b/public/pulse/fixation.png similarity index 100% rename from pulse/en/public/fixation.png rename to public/pulse/fixation.png diff --git a/pulse/en/public/flectonepulse.png b/public/pulse/flectonepulse.png similarity index 100% rename from pulse/en/public/flectonepulse.png rename to public/pulse/flectonepulse.png diff --git a/pulse/en/public/flectonepulseeditor.gif b/public/pulse/flectonepulseeditor.gif similarity index 100% rename from pulse/en/public/flectonepulseeditor.gif rename to public/pulse/flectonepulseeditor.gif diff --git a/pulse/en/public/flood.png b/public/pulse/flood.png similarity index 100% rename from pulse/en/public/flood.png rename to public/pulse/flood.png diff --git a/pulse/en/public/folia.svg b/public/pulse/folia.svg similarity index 100% rename from pulse/en/public/folia.svg rename to public/pulse/folia.svg diff --git a/pulse/en/public/footer.png b/public/pulse/footer.png similarity index 100% rename from pulse/en/public/footer.png rename to public/pulse/footer.png diff --git a/pulse/en/public/gear.svg b/public/pulse/gear.svg similarity index 100% rename from pulse/en/public/gear.svg rename to public/pulse/gear.svg diff --git a/pulse/en/public/github.svg b/public/pulse/github.svg similarity index 100% rename from pulse/en/public/github.svg rename to public/pulse/github.svg diff --git a/pulse/en/public/greeting.png b/public/pulse/greeting.png similarity index 100% rename from pulse/en/public/greeting.png rename to public/pulse/greeting.png diff --git a/pulse/en/public/header.png b/public/pulse/header.png similarity index 100% rename from pulse/en/public/header.png rename to public/pulse/header.png diff --git a/pulse/en/public/hover.png b/public/pulse/hover.png similarity index 100% rename from pulse/en/public/hover.png rename to public/pulse/hover.png diff --git a/pulse/en/public/hoverclick.png b/public/pulse/hoverclick.png similarity index 100% rename from pulse/en/public/hoverclick.png rename to public/pulse/hoverclick.png diff --git a/pulse/en/public/image.png b/public/pulse/image.png similarity index 100% rename from pulse/en/public/image.png rename to public/pulse/image.png diff --git a/pulse/en/public/imagemessage.png b/public/pulse/imagemessage.png similarity index 100% rename from pulse/en/public/imagemessage.png rename to public/pulse/imagemessage.png diff --git a/pulse/en/public/imageminecraft.png b/public/pulse/imageminecraft.png similarity index 100% rename from pulse/en/public/imageminecraft.png rename to public/pulse/imageminecraft.png diff --git a/pulse/en/public/italic.png b/public/pulse/italic.png similarity index 100% rename from pulse/en/public/italic.png rename to public/pulse/italic.png diff --git a/pulse/en/public/item.png b/public/pulse/item.png similarity index 100% rename from pulse/en/public/item.png rename to public/pulse/item.png diff --git a/pulse/en/public/join.png b/public/pulse/join.png similarity index 100% rename from pulse/en/public/join.png rename to public/pulse/join.png diff --git a/pulse/en/public/locale.gif b/public/pulse/locale.gif similarity index 100% rename from pulse/en/public/locale.gif rename to public/pulse/locale.gif diff --git a/pulse/en/public/locale.png b/public/pulse/locale.png similarity index 100% rename from pulse/en/public/locale.png rename to public/pulse/locale.png diff --git a/pulse/ru/public/logo.png b/public/pulse/logo.png similarity index 100% rename from pulse/ru/public/logo.png rename to public/pulse/logo.png diff --git a/pulse/en/public/mention.png b/public/pulse/mention.png similarity index 100% rename from pulse/en/public/mention.png rename to public/pulse/mention.png diff --git a/pulse/en/public/modrinth.svg b/public/pulse/modrinth.svg similarity index 100% rename from pulse/en/public/modrinth.svg rename to public/pulse/modrinth.svg diff --git a/pulse/en/public/motd.png b/public/pulse/motd.png similarity index 100% rename from pulse/en/public/motd.png rename to public/pulse/motd.png diff --git a/pulse/en/public/mute.png b/public/pulse/mute.png similarity index 100% rename from pulse/en/public/mute.png rename to public/pulse/mute.png diff --git a/pulse/en/public/namedisplay.png b/public/pulse/namedisplay.png similarity index 100% rename from pulse/en/public/namedisplay.png rename to public/pulse/namedisplay.png diff --git a/pulse/en/public/nametab.png b/public/pulse/nametab.png similarity index 100% rename from pulse/en/public/nametab.png rename to public/pulse/nametab.png diff --git a/pulse/en/public/nullrecipient.png b/public/pulse/nullrecipient.png similarity index 100% rename from pulse/en/public/nullrecipient.png rename to public/pulse/nullrecipient.png diff --git a/pulse/en/public/obfuscated.png b/public/pulse/obfuscated.png similarity index 100% rename from pulse/en/public/obfuscated.png rename to public/pulse/obfuscated.png diff --git a/pulse/en/public/object.png b/public/pulse/object.png similarity index 100% rename from pulse/en/public/object.png rename to public/pulse/object.png diff --git a/pulse/en/public/objectslot.png b/public/pulse/objectslot.png similarity index 100% rename from pulse/en/public/objectslot.png rename to public/pulse/objectslot.png diff --git a/pulse/en/public/online.png b/public/pulse/online.png similarity index 100% rename from pulse/en/public/online.png rename to public/pulse/online.png diff --git a/pulse/en/public/paper.svg b/public/pulse/paper.svg similarity index 100% rename from pulse/en/public/paper.svg rename to public/pulse/paper.svg diff --git a/pulse/en/public/ping.png b/public/pulse/ping.png similarity index 100% rename from pulse/en/public/ping.png rename to public/pulse/ping.png diff --git a/pulse/en/public/platforms.svg b/public/pulse/platforms.svg similarity index 100% rename from pulse/en/public/platforms.svg rename to public/pulse/platforms.svg diff --git a/pulse/en/public/playercount.png b/public/pulse/playercount.png similarity index 100% rename from pulse/en/public/playercount.png rename to public/pulse/playercount.png diff --git a/pulse/en/public/playerlist.png b/public/pulse/playerlist.png similarity index 100% rename from pulse/en/public/playerlist.png rename to public/pulse/playerlist.png diff --git a/pulse/en/public/playerlistname.png b/public/pulse/playerlistname.png similarity index 100% rename from pulse/en/public/playerlistname.png rename to public/pulse/playerlistname.png diff --git a/pulse/en/public/prompt.png b/public/pulse/prompt.png similarity index 100% rename from pulse/en/public/prompt.png rename to public/pulse/prompt.png diff --git a/public/pulse/pulsecard1.svg b/public/pulse/pulsecard1.svg new file mode 100644 index 00000000..82740556 --- /dev/null +++ b/public/pulse/pulsecard1.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/pulse/pulsecard2.svg b/public/pulse/pulsecard2.svg new file mode 100644 index 00000000..60a70d5d --- /dev/null +++ b/public/pulse/pulsecard2.svg @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/pulse/pulsecard3.svg b/public/pulse/pulsecard3.svg new file mode 100644 index 00000000..c0df1fa1 --- /dev/null +++ b/public/pulse/pulsecard3.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/pulse/pulsestructure.svg b/public/pulse/pulsestructure.svg new file mode 100644 index 00000000..21b86278 --- /dev/null +++ b/public/pulse/pulsestructure.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pulse/en/public/purpur.svg b/public/pulse/purpur.svg similarity index 100% rename from pulse/en/public/purpur.svg rename to public/pulse/purpur.svg diff --git a/pulse/en/public/questionanswer.png b/public/pulse/questionanswer.png similarity index 100% rename from pulse/en/public/questionanswer.png rename to public/pulse/questionanswer.png diff --git a/pulse/en/public/quit.png b/public/pulse/quit.png similarity index 100% rename from pulse/en/public/quit.png rename to public/pulse/quit.png diff --git a/pulse/en/public/rightclick.png b/public/pulse/rightclick.png similarity index 100% rename from pulse/en/public/rightclick.png rename to public/pulse/rightclick.png diff --git a/pulse/en/public/roll_1.png b/public/pulse/roll_1.png similarity index 100% rename from pulse/en/public/roll_1.png rename to public/pulse/roll_1.png diff --git a/pulse/en/public/roll_2.png b/public/pulse/roll_2.png similarity index 100% rename from pulse/en/public/roll_2.png rename to public/pulse/roll_2.png diff --git a/pulse/en/public/roll_3.png b/public/pulse/roll_3.png similarity index 100% rename from pulse/en/public/roll_3.png rename to public/pulse/roll_3.png diff --git a/pulse/en/public/sample1.png b/public/pulse/sample1.png similarity index 100% rename from pulse/en/public/sample1.png rename to public/pulse/sample1.png diff --git a/pulse/en/public/sample2.png b/public/pulse/sample2.png similarity index 100% rename from pulse/en/public/sample2.png rename to public/pulse/sample2.png diff --git a/pulse/en/public/scoreboard.png b/public/pulse/scoreboard.png similarity index 100% rename from pulse/en/public/scoreboard.png rename to public/pulse/scoreboard.png diff --git a/pulse/en/public/server-icon-1.png b/public/pulse/server-icon-1.png similarity index 100% rename from pulse/en/public/server-icon-1.png rename to public/pulse/server-icon-1.png diff --git a/pulse/en/public/server-icon-2.png b/public/pulse/server-icon-2.png similarity index 100% rename from pulse/en/public/server-icon-2.png rename to public/pulse/server-icon-2.png diff --git a/pulse/en/public/servericon.png b/public/pulse/servericon.png similarity index 100% rename from pulse/en/public/servericon.png rename to public/pulse/servericon.png diff --git a/pulse/en/public/signoak.gif b/public/pulse/signoak.gif similarity index 100% rename from pulse/en/public/signoak.gif rename to public/pulse/signoak.gif diff --git a/pulse/en/public/skin.png b/public/pulse/skin.png similarity index 100% rename from pulse/en/public/skin.png rename to public/pulse/skin.png diff --git a/pulse/en/public/skinsrestorer.png b/public/pulse/skinsrestorer.png similarity index 100% rename from pulse/en/public/skinsrestorer.png rename to public/pulse/skinsrestorer.png diff --git a/pulse/en/public/spigot.svg b/public/pulse/spigot.svg similarity index 100% rename from pulse/en/public/spigot.svg rename to public/pulse/spigot.svg diff --git a/pulse/en/public/spoiler.png b/public/pulse/spoiler.png similarity index 100% rename from pulse/en/public/spoiler.png rename to public/pulse/spoiler.png diff --git a/pulse/en/public/spoilermessage.png b/public/pulse/spoilermessage.png similarity index 100% rename from pulse/en/public/spoilermessage.png rename to public/pulse/spoilermessage.png diff --git a/pulse/en/public/spoilerminecraft.png b/public/pulse/spoilerminecraft.png similarity index 100% rename from pulse/en/public/spoilerminecraft.png rename to public/pulse/spoilerminecraft.png diff --git a/pulse/en/public/stats.png b/public/pulse/stats.png similarity index 100% rename from pulse/en/public/stats.png rename to public/pulse/stats.png diff --git a/pulse/en/public/stop.png b/public/pulse/stop.png similarity index 100% rename from pulse/en/public/stop.png rename to public/pulse/stop.png diff --git a/pulse/en/public/strikethrough.png b/public/pulse/strikethrough.png similarity index 100% rename from pulse/en/public/strikethrough.png rename to public/pulse/strikethrough.png diff --git a/pulse/en/public/structure.svg b/public/pulse/structure.svg similarity index 100% rename from pulse/en/public/structure.svg rename to public/pulse/structure.svg diff --git a/pulse/en/public/swear.png b/public/pulse/swear.png similarity index 100% rename from pulse/en/public/swear.png rename to public/pulse/swear.png diff --git a/pulse/en/public/swearsee.png b/public/pulse/swearsee.png similarity index 100% rename from pulse/en/public/swearsee.png rename to public/pulse/swearsee.png diff --git a/pulse/en/public/tab.png b/public/pulse/tab.png similarity index 100% rename from pulse/en/public/tab.png rename to public/pulse/tab.png diff --git a/pulse/en/public/tagimageminecraft.png b/public/pulse/tagimageminecraft.png similarity index 100% rename from pulse/en/public/tagimageminecraft.png rename to public/pulse/tagimageminecraft.png diff --git a/pulse/en/public/task.png b/public/pulse/task.png similarity index 100% rename from pulse/en/public/task.png rename to public/pulse/task.png diff --git a/pulse/en/public/telegramid.png b/public/pulse/telegramid.png similarity index 100% rename from pulse/en/public/telegramid.png rename to public/pulse/telegramid.png diff --git a/pulse/en/public/telegrammessage1.png b/public/pulse/telegrammessage1.png similarity index 100% rename from pulse/en/public/telegrammessage1.png rename to public/pulse/telegrammessage1.png diff --git a/pulse/en/public/telegrammessage2.png b/public/pulse/telegrammessage2.png similarity index 100% rename from pulse/en/public/telegrammessage2.png rename to public/pulse/telegrammessage2.png diff --git a/pulse/en/public/telegramminecraftmessage.png b/public/pulse/telegramminecraftmessage.png similarity index 100% rename from pulse/en/public/telegramminecraftmessage.png rename to public/pulse/telegramminecraftmessage.png diff --git a/pulse/en/public/tps.png b/public/pulse/tps.png similarity index 100% rename from pulse/en/public/tps.png rename to public/pulse/tps.png diff --git a/pulse/en/public/translate.png b/public/pulse/translate.png similarity index 100% rename from pulse/en/public/translate.png rename to public/pulse/translate.png diff --git a/pulse/en/public/twitchclientid.png b/public/pulse/twitchclientid.png similarity index 100% rename from pulse/en/public/twitchclientid.png rename to public/pulse/twitchclientid.png diff --git a/pulse/en/public/twitchmessage.png b/public/pulse/twitchmessage.png similarity index 100% rename from pulse/en/public/twitchmessage.png rename to public/pulse/twitchmessage.png diff --git a/pulse/en/public/twitchminecraftmessage.png b/public/pulse/twitchminecraftmessage.png similarity index 100% rename from pulse/en/public/twitchminecraftmessage.png rename to public/pulse/twitchminecraftmessage.png diff --git a/pulse/en/public/twitchtoken.png b/public/pulse/twitchtoken.png similarity index 100% rename from pulse/en/public/twitchtoken.png rename to public/pulse/twitchtoken.png diff --git a/pulse/en/public/underline.png b/public/pulse/underline.png similarity index 100% rename from pulse/en/public/underline.png rename to public/pulse/underline.png diff --git a/pulse/en/public/update.png b/public/pulse/update.png similarity index 100% rename from pulse/en/public/update.png rename to public/pulse/update.png diff --git a/pulse/en/public/url.png b/public/pulse/url.png similarity index 100% rename from pulse/en/public/url.png rename to public/pulse/url.png diff --git a/pulse/en/public/urlmessage.png b/public/pulse/urlmessage.png similarity index 100% rename from pulse/en/public/urlmessage.png rename to public/pulse/urlmessage.png diff --git a/pulse/en/public/urlminecraft.png b/public/pulse/urlminecraft.png similarity index 100% rename from pulse/en/public/urlminecraft.png rename to public/pulse/urlminecraft.png diff --git a/pulse/en/public/velocity.svg b/public/pulse/velocity.svg similarity index 100% rename from pulse/en/public/velocity.svg rename to public/pulse/velocity.svg diff --git a/pulse/en/public/version.png b/public/pulse/version.png similarity index 100% rename from pulse/en/public/version.png rename to public/pulse/version.png diff --git a/pulse/en/public/weather.png b/public/pulse/weather.png similarity index 100% rename from pulse/en/public/weather.png rename to public/pulse/weather.png diff --git a/pulse/en/public/welcomemessage.png b/public/pulse/welcomemessage.png similarity index 100% rename from pulse/en/public/welcomemessage.png rename to public/pulse/welcomemessage.png diff --git a/pulse/en/public/worldchat.png b/public/pulse/worldchat.png similarity index 100% rename from pulse/en/public/worldchat.png rename to public/pulse/worldchat.png diff --git a/pulse/en/public/worldtab.png b/public/pulse/worldtab.png similarity index 100% rename from pulse/en/public/worldtab.png rename to public/pulse/worldtab.png diff --git a/pulse/en/public/youtube.svg b/public/pulse/youtube.svg similarity index 100% rename from pulse/en/public/youtube.svg rename to public/pulse/youtube.svg diff --git a/public/square.svg b/public/square.svg new file mode 100644 index 00000000..dceef828 --- /dev/null +++ b/public/square.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/squaredark.svg b/public/squaredark.svg new file mode 100644 index 00000000..4a97ee6a --- /dev/null +++ b/public/squaredark.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/sun.svg b/public/sun.svg new file mode 100644 index 00000000..d144d63c --- /dev/null +++ b/public/sun.svg @@ -0,0 +1,3 @@ + + + diff --git a/pulse/en/.vitepress/cache/deps/_metadata.json b/pulse/en/.vitepress/cache/deps/_metadata.json deleted file mode 100644 index f034b4df..00000000 --- a/pulse/en/.vitepress/cache/deps/_metadata.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "hash": "e24a9845", - "configHash": "7bfb2986", - "lockfileHash": "2d4f71ac", - "browserHash": "e87b6787", - "optimized": { - "vue": { - "src": "../../../node_modules/vue/dist/vue.runtime.esm-bundler.js", - "file": "vue.js", - "fileHash": "09704eff", - "needsInterop": false - }, - "vitepress > @vue/devtools-api": { - "src": "../../../node_modules/@vue/devtools-api/dist/index.js", - "file": "vitepress___@vue_devtools-api.js", - "fileHash": "66d92aa6", - "needsInterop": false - }, - "vitepress > @vueuse/core": { - "src": "../../../node_modules/@vueuse/core/index.mjs", - "file": "vitepress___@vueuse_core.js", - "fileHash": "003c33f3", - "needsInterop": false - }, - "vitepress > @vueuse/integrations/useFocusTrap": { - "src": "../../../node_modules/@vueuse/integrations/useFocusTrap.mjs", - "file": "vitepress___@vueuse_integrations_useFocusTrap.js", - "fileHash": "9b42b31a", - "needsInterop": false - }, - "vitepress > mark.js/src/vanilla.js": { - "src": "../../../node_modules/mark.js/src/vanilla.js", - "file": "vitepress___mark__js_src_vanilla__js.js", - "fileHash": "5d7c8ab2", - "needsInterop": false - }, - "vitepress > minisearch": { - "src": "../../../node_modules/minisearch/dist/es/index.js", - "file": "vitepress___minisearch.js", - "fileHash": "a4aa05a0", - "needsInterop": false - } - }, - "chunks": { - "chunk-6F5JWMBQ": { - "file": "chunk-6F5JWMBQ.js" - }, - "chunk-VJWGEPT5": { - "file": "chunk-VJWGEPT5.js" - } - } -} \ No newline at end of file diff --git a/pulse/en/.vitepress/cache/deps/chunk-VJWGEPT5.js b/pulse/en/.vitepress/cache/deps/chunk-VJWGEPT5.js deleted file mode 100644 index 5216b70d..00000000 --- a/pulse/en/.vitepress/cache/deps/chunk-VJWGEPT5.js +++ /dev/null @@ -1,12542 +0,0 @@ -// node_modules/@vue/shared/dist/shared.esm-bundler.js -function makeMap(str) { - const map2 = /* @__PURE__ */ Object.create(null); - for (const key of str.split(",")) map2[key] = 1; - return (val) => val in map2; -} -var EMPTY_OBJ = true ? Object.freeze({}) : {}; -var EMPTY_ARR = true ? Object.freeze([]) : []; -var NOOP = () => { -}; -var NO = () => false; -var isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter -(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97); -var isModelListener = (key) => key.startsWith("onUpdate:"); -var extend = Object.assign; -var remove = (arr, el) => { - const i = arr.indexOf(el); - if (i > -1) { - arr.splice(i, 1); - } -}; -var hasOwnProperty = Object.prototype.hasOwnProperty; -var hasOwn = (val, key) => hasOwnProperty.call(val, key); -var isArray = Array.isArray; -var isMap = (val) => toTypeString(val) === "[object Map]"; -var isSet = (val) => toTypeString(val) === "[object Set]"; -var isDate = (val) => toTypeString(val) === "[object Date]"; -var isRegExp = (val) => toTypeString(val) === "[object RegExp]"; -var isFunction = (val) => typeof val === "function"; -var isString = (val) => typeof val === "string"; -var isSymbol = (val) => typeof val === "symbol"; -var isObject = (val) => val !== null && typeof val === "object"; -var isPromise = (val) => { - return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch); -}; -var objectToString = Object.prototype.toString; -var toTypeString = (value) => objectToString.call(value); -var toRawType = (value) => { - return toTypeString(value).slice(8, -1); -}; -var isPlainObject = (val) => toTypeString(val) === "[object Object]"; -var isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; -var isReservedProp = makeMap( - // the leading comma is intentional so empty string "" is also included - ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" -); -var isBuiltInDirective = makeMap( - "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo" -); -var cacheStringFunction = (fn) => { - const cache = /* @__PURE__ */ Object.create(null); - return (str) => { - const hit = cache[str]; - return hit || (cache[str] = fn(str)); - }; -}; -var camelizeRE = /-(\w)/g; -var camelize = cacheStringFunction( - (str) => { - return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : ""); - } -); -var hyphenateRE = /\B([A-Z])/g; -var hyphenate = cacheStringFunction( - (str) => str.replace(hyphenateRE, "-$1").toLowerCase() -); -var capitalize = cacheStringFunction((str) => { - return str.charAt(0).toUpperCase() + str.slice(1); -}); -var toHandlerKey = cacheStringFunction( - (str) => { - const s = str ? `on${capitalize(str)}` : ``; - return s; - } -); -var hasChanged = (value, oldValue) => !Object.is(value, oldValue); -var invokeArrayFns = (fns, ...arg) => { - for (let i = 0; i < fns.length; i++) { - fns[i](...arg); - } -}; -var def = (obj, key, value, writable = false) => { - Object.defineProperty(obj, key, { - configurable: true, - enumerable: false, - writable, - value - }); -}; -var looseToNumber = (val) => { - const n = parseFloat(val); - return isNaN(n) ? val : n; -}; -var toNumber = (val) => { - const n = isString(val) ? Number(val) : NaN; - return isNaN(n) ? val : n; -}; -var _globalThis; -var getGlobalThis = () => { - return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); -}; -var GLOBALS_ALLOWED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol"; -var isGloballyAllowed = makeMap(GLOBALS_ALLOWED); -function normalizeStyle(value) { - if (isArray(value)) { - const res = {}; - for (let i = 0; i < value.length; i++) { - const item = value[i]; - const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item); - if (normalized) { - for (const key in normalized) { - res[key] = normalized[key]; - } - } - } - return res; - } else if (isString(value) || isObject(value)) { - return value; - } -} -var listDelimiterRE = /;(?![^(]*\))/g; -var propertyDelimiterRE = /:([^]+)/; -var styleCommentRE = /\/\*[^]*?\*\//g; -function parseStringStyle(cssText) { - const ret = {}; - cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => { - if (item) { - const tmp = item.split(propertyDelimiterRE); - tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); - } - }); - return ret; -} -function stringifyStyle(styles) { - if (!styles) return ""; - if (isString(styles)) return styles; - let ret = ""; - for (const key in styles) { - const value = styles[key]; - if (isString(value) || typeof value === "number") { - const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key); - ret += `${normalizedKey}:${value};`; - } - } - return ret; -} -function normalizeClass(value) { - let res = ""; - if (isString(value)) { - res = value; - } else if (isArray(value)) { - for (let i = 0; i < value.length; i++) { - const normalized = normalizeClass(value[i]); - if (normalized) { - res += normalized + " "; - } - } - } else if (isObject(value)) { - for (const name in value) { - if (value[name]) { - res += name + " "; - } - } - } - return res.trim(); -} -function normalizeProps(props) { - if (!props) return null; - let { class: klass, style } = props; - if (klass && !isString(klass)) { - props.class = normalizeClass(klass); - } - if (style) { - props.style = normalizeStyle(style); - } - return props; -} -var HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot"; -var SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view"; -var MATH_TAGS = "annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics"; -var VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr"; -var isHTMLTag = makeMap(HTML_TAGS); -var isSVGTag = makeMap(SVG_TAGS); -var isMathMLTag = makeMap(MATH_TAGS); -var isVoidTag = makeMap(VOID_TAGS); -var specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; -var isSpecialBooleanAttr = makeMap(specialBooleanAttrs); -var isBooleanAttr = makeMap( - specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected` -); -function includeBooleanAttr(value) { - return !!value || value === ""; -} -var isKnownHtmlAttr = makeMap( - `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap` -); -var isKnownSvgAttr = makeMap( - `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan` -); -var isKnownMathMLAttr = makeMap( - `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns` -); -function isRenderableAttrValue(value) { - if (value == null) { - return false; - } - const type = typeof value; - return type === "string" || type === "number" || type === "boolean"; -} -var cssVarNameEscapeSymbolsRE = /[ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g; -function getEscapedCssVarName(key, doubleEscape) { - return key.replace( - cssVarNameEscapeSymbolsRE, - (s) => doubleEscape ? s === '"' ? '\\\\\\"' : `\\\\${s}` : `\\${s}` - ); -} -function looseCompareArrays(a, b) { - if (a.length !== b.length) return false; - let equal = true; - for (let i = 0; equal && i < a.length; i++) { - equal = looseEqual(a[i], b[i]); - } - return equal; -} -function looseEqual(a, b) { - if (a === b) return true; - let aValidType = isDate(a); - let bValidType = isDate(b); - if (aValidType || bValidType) { - return aValidType && bValidType ? a.getTime() === b.getTime() : false; - } - aValidType = isSymbol(a); - bValidType = isSymbol(b); - if (aValidType || bValidType) { - return a === b; - } - aValidType = isArray(a); - bValidType = isArray(b); - if (aValidType || bValidType) { - return aValidType && bValidType ? looseCompareArrays(a, b) : false; - } - aValidType = isObject(a); - bValidType = isObject(b); - if (aValidType || bValidType) { - if (!aValidType || !bValidType) { - return false; - } - const aKeysCount = Object.keys(a).length; - const bKeysCount = Object.keys(b).length; - if (aKeysCount !== bKeysCount) { - return false; - } - for (const key in a) { - const aHasKey = a.hasOwnProperty(key); - const bHasKey = b.hasOwnProperty(key); - if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) { - return false; - } - } - } - return String(a) === String(b); -} -function looseIndexOf(arr, val) { - return arr.findIndex((item) => looseEqual(item, val)); -} -var isRef = (val) => { - return !!(val && val["__v_isRef"] === true); -}; -var toDisplayString = (val) => { - return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val); -}; -var replacer = (_key, val) => { - if (isRef(val)) { - return replacer(_key, val.value); - } else if (isMap(val)) { - return { - [`Map(${val.size})`]: [...val.entries()].reduce( - (entries, [key, val2], i) => { - entries[stringifySymbol(key, i) + " =>"] = val2; - return entries; - }, - {} - ) - }; - } else if (isSet(val)) { - return { - [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v)) - }; - } else if (isSymbol(val)) { - return stringifySymbol(val); - } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) { - return String(val); - } - return val; -}; -var stringifySymbol = (v, i = "") => { - var _a; - return ( - // Symbol.description in es2019+ so we need to cast here to pass - // the lib: es2016 check - isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v - ); -}; - -// node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js -function warn(msg, ...args) { - console.warn(`[Vue warn] ${msg}`, ...args); -} -var activeEffectScope; -var EffectScope = class { - constructor(detached = false) { - this.detached = detached; - this._active = true; - this.effects = []; - this.cleanups = []; - this._isPaused = false; - this.parent = activeEffectScope; - if (!detached && activeEffectScope) { - this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push( - this - ) - 1; - } - } - get active() { - return this._active; - } - pause() { - if (this._active) { - this._isPaused = true; - let i, l; - if (this.scopes) { - for (i = 0, l = this.scopes.length; i < l; i++) { - this.scopes[i].pause(); - } - } - for (i = 0, l = this.effects.length; i < l; i++) { - this.effects[i].pause(); - } - } - } - /** - * Resumes the effect scope, including all child scopes and effects. - */ - resume() { - if (this._active) { - if (this._isPaused) { - this._isPaused = false; - let i, l; - if (this.scopes) { - for (i = 0, l = this.scopes.length; i < l; i++) { - this.scopes[i].resume(); - } - } - for (i = 0, l = this.effects.length; i < l; i++) { - this.effects[i].resume(); - } - } - } - } - run(fn) { - if (this._active) { - const currentEffectScope = activeEffectScope; - try { - activeEffectScope = this; - return fn(); - } finally { - activeEffectScope = currentEffectScope; - } - } else if (true) { - warn(`cannot run an inactive effect scope.`); - } - } - /** - * This should only be called on non-detached scopes - * @internal - */ - on() { - activeEffectScope = this; - } - /** - * This should only be called on non-detached scopes - * @internal - */ - off() { - activeEffectScope = this.parent; - } - stop(fromParent) { - if (this._active) { - this._active = false; - let i, l; - for (i = 0, l = this.effects.length; i < l; i++) { - this.effects[i].stop(); - } - this.effects.length = 0; - for (i = 0, l = this.cleanups.length; i < l; i++) { - this.cleanups[i](); - } - this.cleanups.length = 0; - if (this.scopes) { - for (i = 0, l = this.scopes.length; i < l; i++) { - this.scopes[i].stop(true); - } - this.scopes.length = 0; - } - if (!this.detached && this.parent && !fromParent) { - const last = this.parent.scopes.pop(); - if (last && last !== this) { - this.parent.scopes[this.index] = last; - last.index = this.index; - } - } - this.parent = void 0; - } - } -}; -function effectScope(detached) { - return new EffectScope(detached); -} -function getCurrentScope() { - return activeEffectScope; -} -function onScopeDispose(fn, failSilently = false) { - if (activeEffectScope) { - activeEffectScope.cleanups.push(fn); - } else if (!failSilently) { - warn( - `onScopeDispose() is called when there is no active effect scope to be associated with.` - ); - } -} -var activeSub; -var pausedQueueEffects = /* @__PURE__ */ new WeakSet(); -var ReactiveEffect = class { - constructor(fn) { - this.fn = fn; - this.deps = void 0; - this.depsTail = void 0; - this.flags = 1 | 4; - this.next = void 0; - this.cleanup = void 0; - this.scheduler = void 0; - if (activeEffectScope && activeEffectScope.active) { - activeEffectScope.effects.push(this); - } - } - pause() { - this.flags |= 64; - } - resume() { - if (this.flags & 64) { - this.flags &= ~64; - if (pausedQueueEffects.has(this)) { - pausedQueueEffects.delete(this); - this.trigger(); - } - } - } - /** - * @internal - */ - notify() { - if (this.flags & 2 && !(this.flags & 32)) { - return; - } - if (!(this.flags & 8)) { - batch(this); - } - } - run() { - if (!(this.flags & 1)) { - return this.fn(); - } - this.flags |= 2; - cleanupEffect(this); - prepareDeps(this); - const prevEffect = activeSub; - const prevShouldTrack = shouldTrack; - activeSub = this; - shouldTrack = true; - try { - return this.fn(); - } finally { - if (activeSub !== this) { - warn( - "Active effect was not restored correctly - this is likely a Vue internal bug." - ); - } - cleanupDeps(this); - activeSub = prevEffect; - shouldTrack = prevShouldTrack; - this.flags &= ~2; - } - } - stop() { - if (this.flags & 1) { - for (let link = this.deps; link; link = link.nextDep) { - removeSub(link); - } - this.deps = this.depsTail = void 0; - cleanupEffect(this); - this.onStop && this.onStop(); - this.flags &= ~1; - } - } - trigger() { - if (this.flags & 64) { - pausedQueueEffects.add(this); - } else if (this.scheduler) { - this.scheduler(); - } else { - this.runIfDirty(); - } - } - /** - * @internal - */ - runIfDirty() { - if (isDirty(this)) { - this.run(); - } - } - get dirty() { - return isDirty(this); - } -}; -var batchDepth = 0; -var batchedSub; -var batchedComputed; -function batch(sub, isComputed = false) { - sub.flags |= 8; - if (isComputed) { - sub.next = batchedComputed; - batchedComputed = sub; - return; - } - sub.next = batchedSub; - batchedSub = sub; -} -function startBatch() { - batchDepth++; -} -function endBatch() { - if (--batchDepth > 0) { - return; - } - if (batchedComputed) { - let e = batchedComputed; - batchedComputed = void 0; - while (e) { - const next = e.next; - e.next = void 0; - e.flags &= ~8; - e = next; - } - } - let error; - while (batchedSub) { - let e = batchedSub; - batchedSub = void 0; - while (e) { - const next = e.next; - e.next = void 0; - e.flags &= ~8; - if (e.flags & 1) { - try { - ; - e.trigger(); - } catch (err) { - if (!error) error = err; - } - } - e = next; - } - } - if (error) throw error; -} -function prepareDeps(sub) { - for (let link = sub.deps; link; link = link.nextDep) { - link.version = -1; - link.prevActiveLink = link.dep.activeLink; - link.dep.activeLink = link; - } -} -function cleanupDeps(sub) { - let head; - let tail = sub.depsTail; - let link = tail; - while (link) { - const prev = link.prevDep; - if (link.version === -1) { - if (link === tail) tail = prev; - removeSub(link); - removeDep(link); - } else { - head = link; - } - link.dep.activeLink = link.prevActiveLink; - link.prevActiveLink = void 0; - link = prev; - } - sub.deps = head; - sub.depsTail = tail; -} -function isDirty(sub) { - for (let link = sub.deps; link; link = link.nextDep) { - if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) { - return true; - } - } - if (sub._dirty) { - return true; - } - return false; -} -function refreshComputed(computed3) { - if (computed3.flags & 4 && !(computed3.flags & 16)) { - return; - } - computed3.flags &= ~16; - if (computed3.globalVersion === globalVersion) { - return; - } - computed3.globalVersion = globalVersion; - const dep = computed3.dep; - computed3.flags |= 2; - if (dep.version > 0 && !computed3.isSSR && computed3.deps && !isDirty(computed3)) { - computed3.flags &= ~2; - return; - } - const prevSub = activeSub; - const prevShouldTrack = shouldTrack; - activeSub = computed3; - shouldTrack = true; - try { - prepareDeps(computed3); - const value = computed3.fn(computed3._value); - if (dep.version === 0 || hasChanged(value, computed3._value)) { - computed3._value = value; - dep.version++; - } - } catch (err) { - dep.version++; - throw err; - } finally { - activeSub = prevSub; - shouldTrack = prevShouldTrack; - cleanupDeps(computed3); - computed3.flags &= ~2; - } -} -function removeSub(link, soft = false) { - const { dep, prevSub, nextSub } = link; - if (prevSub) { - prevSub.nextSub = nextSub; - link.prevSub = void 0; - } - if (nextSub) { - nextSub.prevSub = prevSub; - link.nextSub = void 0; - } - if (dep.subsHead === link) { - dep.subsHead = nextSub; - } - if (dep.subs === link) { - dep.subs = prevSub; - if (!prevSub && dep.computed) { - dep.computed.flags &= ~4; - for (let l = dep.computed.deps; l; l = l.nextDep) { - removeSub(l, true); - } - } - } - if (!soft && !--dep.sc && dep.map) { - dep.map.delete(dep.key); - } -} -function removeDep(link) { - const { prevDep, nextDep } = link; - if (prevDep) { - prevDep.nextDep = nextDep; - link.prevDep = void 0; - } - if (nextDep) { - nextDep.prevDep = prevDep; - link.nextDep = void 0; - } -} -function effect(fn, options) { - if (fn.effect instanceof ReactiveEffect) { - fn = fn.effect.fn; - } - const e = new ReactiveEffect(fn); - if (options) { - extend(e, options); - } - try { - e.run(); - } catch (err) { - e.stop(); - throw err; - } - const runner = e.run.bind(e); - runner.effect = e; - return runner; -} -function stop(runner) { - runner.effect.stop(); -} -var shouldTrack = true; -var trackStack = []; -function pauseTracking() { - trackStack.push(shouldTrack); - shouldTrack = false; -} -function resetTracking() { - const last = trackStack.pop(); - shouldTrack = last === void 0 ? true : last; -} -function cleanupEffect(e) { - const { cleanup } = e; - e.cleanup = void 0; - if (cleanup) { - const prevSub = activeSub; - activeSub = void 0; - try { - cleanup(); - } finally { - activeSub = prevSub; - } - } -} -var globalVersion = 0; -var Link = class { - constructor(sub, dep) { - this.sub = sub; - this.dep = dep; - this.version = dep.version; - this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0; - } -}; -var Dep = class { - constructor(computed3) { - this.computed = computed3; - this.version = 0; - this.activeLink = void 0; - this.subs = void 0; - this.map = void 0; - this.key = void 0; - this.sc = 0; - if (true) { - this.subsHead = void 0; - } - } - track(debugInfo) { - if (!activeSub || !shouldTrack || activeSub === this.computed) { - return; - } - let link = this.activeLink; - if (link === void 0 || link.sub !== activeSub) { - link = this.activeLink = new Link(activeSub, this); - if (!activeSub.deps) { - activeSub.deps = activeSub.depsTail = link; - } else { - link.prevDep = activeSub.depsTail; - activeSub.depsTail.nextDep = link; - activeSub.depsTail = link; - } - addSub(link); - } else if (link.version === -1) { - link.version = this.version; - if (link.nextDep) { - const next = link.nextDep; - next.prevDep = link.prevDep; - if (link.prevDep) { - link.prevDep.nextDep = next; - } - link.prevDep = activeSub.depsTail; - link.nextDep = void 0; - activeSub.depsTail.nextDep = link; - activeSub.depsTail = link; - if (activeSub.deps === link) { - activeSub.deps = next; - } - } - } - if (activeSub.onTrack) { - activeSub.onTrack( - extend( - { - effect: activeSub - }, - debugInfo - ) - ); - } - return link; - } - trigger(debugInfo) { - this.version++; - globalVersion++; - this.notify(debugInfo); - } - notify(debugInfo) { - startBatch(); - try { - if (true) { - for (let head = this.subsHead; head; head = head.nextSub) { - if (head.sub.onTrigger && !(head.sub.flags & 8)) { - head.sub.onTrigger( - extend( - { - effect: head.sub - }, - debugInfo - ) - ); - } - } - } - for (let link = this.subs; link; link = link.prevSub) { - if (link.sub.notify()) { - ; - link.sub.dep.notify(); - } - } - } finally { - endBatch(); - } - } -}; -function addSub(link) { - link.dep.sc++; - if (link.sub.flags & 4) { - const computed3 = link.dep.computed; - if (computed3 && !link.dep.subs) { - computed3.flags |= 4 | 16; - for (let l = computed3.deps; l; l = l.nextDep) { - addSub(l); - } - } - const currentTail = link.dep.subs; - if (currentTail !== link) { - link.prevSub = currentTail; - if (currentTail) currentTail.nextSub = link; - } - if (link.dep.subsHead === void 0) { - link.dep.subsHead = link; - } - link.dep.subs = link; - } -} -var targetMap = /* @__PURE__ */ new WeakMap(); -var ITERATE_KEY = Symbol( - true ? "Object iterate" : "" -); -var MAP_KEY_ITERATE_KEY = Symbol( - true ? "Map keys iterate" : "" -); -var ARRAY_ITERATE_KEY = Symbol( - true ? "Array iterate" : "" -); -function track(target, type, key) { - if (shouldTrack && activeSub) { - let depsMap = targetMap.get(target); - if (!depsMap) { - targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); - } - let dep = depsMap.get(key); - if (!dep) { - depsMap.set(key, dep = new Dep()); - dep.map = depsMap; - dep.key = key; - } - if (true) { - dep.track({ - target, - type, - key - }); - } else { - dep.track(); - } - } -} -function trigger(target, type, key, newValue, oldValue, oldTarget) { - const depsMap = targetMap.get(target); - if (!depsMap) { - globalVersion++; - return; - } - const run = (dep) => { - if (dep) { - if (true) { - dep.trigger({ - target, - type, - key, - newValue, - oldValue, - oldTarget - }); - } else { - dep.trigger(); - } - } - }; - startBatch(); - if (type === "clear") { - depsMap.forEach(run); - } else { - const targetIsArray = isArray(target); - const isArrayIndex = targetIsArray && isIntegerKey(key); - if (targetIsArray && key === "length") { - const newLength = Number(newValue); - depsMap.forEach((dep, key2) => { - if (key2 === "length" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) { - run(dep); - } - }); - } else { - if (key !== void 0 || depsMap.has(void 0)) { - run(depsMap.get(key)); - } - if (isArrayIndex) { - run(depsMap.get(ARRAY_ITERATE_KEY)); - } - switch (type) { - case "add": - if (!targetIsArray) { - run(depsMap.get(ITERATE_KEY)); - if (isMap(target)) { - run(depsMap.get(MAP_KEY_ITERATE_KEY)); - } - } else if (isArrayIndex) { - run(depsMap.get("length")); - } - break; - case "delete": - if (!targetIsArray) { - run(depsMap.get(ITERATE_KEY)); - if (isMap(target)) { - run(depsMap.get(MAP_KEY_ITERATE_KEY)); - } - } - break; - case "set": - if (isMap(target)) { - run(depsMap.get(ITERATE_KEY)); - } - break; - } - } - } - endBatch(); -} -function getDepFromReactive(object, key) { - const depMap = targetMap.get(object); - return depMap && depMap.get(key); -} -function reactiveReadArray(array) { - const raw = toRaw(array); - if (raw === array) return raw; - track(raw, "iterate", ARRAY_ITERATE_KEY); - return isShallow(array) ? raw : raw.map(toReactive); -} -function shallowReadArray(arr) { - track(arr = toRaw(arr), "iterate", ARRAY_ITERATE_KEY); - return arr; -} -var arrayInstrumentations = { - __proto__: null, - [Symbol.iterator]() { - return iterator(this, Symbol.iterator, toReactive); - }, - concat(...args) { - return reactiveReadArray(this).concat( - ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x) - ); - }, - entries() { - return iterator(this, "entries", (value) => { - value[1] = toReactive(value[1]); - return value; - }); - }, - every(fn, thisArg) { - return apply(this, "every", fn, thisArg, void 0, arguments); - }, - filter(fn, thisArg) { - return apply(this, "filter", fn, thisArg, (v) => v.map(toReactive), arguments); - }, - find(fn, thisArg) { - return apply(this, "find", fn, thisArg, toReactive, arguments); - }, - findIndex(fn, thisArg) { - return apply(this, "findIndex", fn, thisArg, void 0, arguments); - }, - findLast(fn, thisArg) { - return apply(this, "findLast", fn, thisArg, toReactive, arguments); - }, - findLastIndex(fn, thisArg) { - return apply(this, "findLastIndex", fn, thisArg, void 0, arguments); - }, - // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement - forEach(fn, thisArg) { - return apply(this, "forEach", fn, thisArg, void 0, arguments); - }, - includes(...args) { - return searchProxy(this, "includes", args); - }, - indexOf(...args) { - return searchProxy(this, "indexOf", args); - }, - join(separator) { - return reactiveReadArray(this).join(separator); - }, - // keys() iterator only reads `length`, no optimisation required - lastIndexOf(...args) { - return searchProxy(this, "lastIndexOf", args); - }, - map(fn, thisArg) { - return apply(this, "map", fn, thisArg, void 0, arguments); - }, - pop() { - return noTracking(this, "pop"); - }, - push(...args) { - return noTracking(this, "push", args); - }, - reduce(fn, ...args) { - return reduce(this, "reduce", fn, args); - }, - reduceRight(fn, ...args) { - return reduce(this, "reduceRight", fn, args); - }, - shift() { - return noTracking(this, "shift"); - }, - // slice could use ARRAY_ITERATE but also seems to beg for range tracking - some(fn, thisArg) { - return apply(this, "some", fn, thisArg, void 0, arguments); - }, - splice(...args) { - return noTracking(this, "splice", args); - }, - toReversed() { - return reactiveReadArray(this).toReversed(); - }, - toSorted(comparer) { - return reactiveReadArray(this).toSorted(comparer); - }, - toSpliced(...args) { - return reactiveReadArray(this).toSpliced(...args); - }, - unshift(...args) { - return noTracking(this, "unshift", args); - }, - values() { - return iterator(this, "values", toReactive); - } -}; -function iterator(self2, method, wrapValue) { - const arr = shallowReadArray(self2); - const iter = arr[method](); - if (arr !== self2 && !isShallow(self2)) { - iter._next = iter.next; - iter.next = () => { - const result = iter._next(); - if (result.value) { - result.value = wrapValue(result.value); - } - return result; - }; - } - return iter; -} -var arrayProto = Array.prototype; -function apply(self2, method, fn, thisArg, wrappedRetFn, args) { - const arr = shallowReadArray(self2); - const needsWrap = arr !== self2 && !isShallow(self2); - const methodFn = arr[method]; - if (methodFn !== arrayProto[method]) { - const result2 = methodFn.apply(self2, args); - return needsWrap ? toReactive(result2) : result2; - } - let wrappedFn = fn; - if (arr !== self2) { - if (needsWrap) { - wrappedFn = function(item, index) { - return fn.call(this, toReactive(item), index, self2); - }; - } else if (fn.length > 2) { - wrappedFn = function(item, index) { - return fn.call(this, item, index, self2); - }; - } - } - const result = methodFn.call(arr, wrappedFn, thisArg); - return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result; -} -function reduce(self2, method, fn, args) { - const arr = shallowReadArray(self2); - let wrappedFn = fn; - if (arr !== self2) { - if (!isShallow(self2)) { - wrappedFn = function(acc, item, index) { - return fn.call(this, acc, toReactive(item), index, self2); - }; - } else if (fn.length > 3) { - wrappedFn = function(acc, item, index) { - return fn.call(this, acc, item, index, self2); - }; - } - } - return arr[method](wrappedFn, ...args); -} -function searchProxy(self2, method, args) { - const arr = toRaw(self2); - track(arr, "iterate", ARRAY_ITERATE_KEY); - const res = arr[method](...args); - if ((res === -1 || res === false) && isProxy(args[0])) { - args[0] = toRaw(args[0]); - return arr[method](...args); - } - return res; -} -function noTracking(self2, method, args = []) { - pauseTracking(); - startBatch(); - const res = toRaw(self2)[method].apply(self2, args); - endBatch(); - resetTracking(); - return res; -} -var isNonTrackableKeys = makeMap(`__proto__,__v_isRef,__isVue`); -var builtInSymbols = new Set( - Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol) -); -function hasOwnProperty2(key) { - if (!isSymbol(key)) key = String(key); - const obj = toRaw(this); - track(obj, "has", key); - return obj.hasOwnProperty(key); -} -var BaseReactiveHandler = class { - constructor(_isReadonly = false, _isShallow = false) { - this._isReadonly = _isReadonly; - this._isShallow = _isShallow; - } - get(target, key, receiver) { - if (key === "__v_skip") return target["__v_skip"]; - const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow; - if (key === "__v_isReactive") { - return !isReadonly2; - } else if (key === "__v_isReadonly") { - return isReadonly2; - } else if (key === "__v_isShallow") { - return isShallow2; - } else if (key === "__v_raw") { - if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype - // this means the receiver is a user proxy of the reactive proxy - Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) { - return target; - } - return; - } - const targetIsArray = isArray(target); - if (!isReadonly2) { - let fn; - if (targetIsArray && (fn = arrayInstrumentations[key])) { - return fn; - } - if (key === "hasOwnProperty") { - return hasOwnProperty2; - } - } - const res = Reflect.get( - target, - key, - // if this is a proxy wrapping a ref, return methods using the raw ref - // as receiver so that we don't have to call `toRaw` on the ref in all - // its class methods - isRef2(target) ? target : receiver - ); - if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { - return res; - } - if (!isReadonly2) { - track(target, "get", key); - } - if (isShallow2) { - return res; - } - if (isRef2(res)) { - return targetIsArray && isIntegerKey(key) ? res : res.value; - } - if (isObject(res)) { - return isReadonly2 ? readonly(res) : reactive(res); - } - return res; - } -}; -var MutableReactiveHandler = class extends BaseReactiveHandler { - constructor(isShallow2 = false) { - super(false, isShallow2); - } - set(target, key, value, receiver) { - let oldValue = target[key]; - if (!this._isShallow) { - const isOldValueReadonly = isReadonly(oldValue); - if (!isShallow(value) && !isReadonly(value)) { - oldValue = toRaw(oldValue); - value = toRaw(value); - } - if (!isArray(target) && isRef2(oldValue) && !isRef2(value)) { - if (isOldValueReadonly) { - return false; - } else { - oldValue.value = value; - return true; - } - } - } - const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key); - const result = Reflect.set( - target, - key, - value, - isRef2(target) ? target : receiver - ); - if (target === toRaw(receiver)) { - if (!hadKey) { - trigger(target, "add", key, value); - } else if (hasChanged(value, oldValue)) { - trigger(target, "set", key, value, oldValue); - } - } - return result; - } - deleteProperty(target, key) { - const hadKey = hasOwn(target, key); - const oldValue = target[key]; - const result = Reflect.deleteProperty(target, key); - if (result && hadKey) { - trigger(target, "delete", key, void 0, oldValue); - } - return result; - } - has(target, key) { - const result = Reflect.has(target, key); - if (!isSymbol(key) || !builtInSymbols.has(key)) { - track(target, "has", key); - } - return result; - } - ownKeys(target) { - track( - target, - "iterate", - isArray(target) ? "length" : ITERATE_KEY - ); - return Reflect.ownKeys(target); - } -}; -var ReadonlyReactiveHandler = class extends BaseReactiveHandler { - constructor(isShallow2 = false) { - super(true, isShallow2); - } - set(target, key) { - if (true) { - warn( - `Set operation on key "${String(key)}" failed: target is readonly.`, - target - ); - } - return true; - } - deleteProperty(target, key) { - if (true) { - warn( - `Delete operation on key "${String(key)}" failed: target is readonly.`, - target - ); - } - return true; - } -}; -var mutableHandlers = new MutableReactiveHandler(); -var readonlyHandlers = new ReadonlyReactiveHandler(); -var shallowReactiveHandlers = new MutableReactiveHandler(true); -var shallowReadonlyHandlers = new ReadonlyReactiveHandler(true); -var toShallow = (value) => value; -var getProto = (v) => Reflect.getPrototypeOf(v); -function createIterableMethod(method, isReadonly2, isShallow2) { - return function(...args) { - const target = this["__v_raw"]; - const rawTarget = toRaw(target); - const targetIsMap = isMap(rawTarget); - const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; - const isKeyOnly = method === "keys" && targetIsMap; - const innerIterator = target[method](...args); - const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; - !isReadonly2 && track( - rawTarget, - "iterate", - isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY - ); - return { - // iterator protocol - next() { - const { value, done } = innerIterator.next(); - return done ? { value, done } : { - value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), - done - }; - }, - // iterable protocol - [Symbol.iterator]() { - return this; - } - }; - }; -} -function createReadonlyMethod(type) { - return function(...args) { - if (true) { - const key = args[0] ? `on key "${args[0]}" ` : ``; - warn( - `${capitalize(type)} operation ${key}failed: target is readonly.`, - toRaw(this) - ); - } - return type === "delete" ? false : type === "clear" ? void 0 : this; - }; -} -function createInstrumentations(readonly2, shallow) { - const instrumentations = { - get(key) { - const target = this["__v_raw"]; - const rawTarget = toRaw(target); - const rawKey = toRaw(key); - if (!readonly2) { - if (hasChanged(key, rawKey)) { - track(rawTarget, "get", key); - } - track(rawTarget, "get", rawKey); - } - const { has } = getProto(rawTarget); - const wrap = shallow ? toShallow : readonly2 ? toReadonly : toReactive; - if (has.call(rawTarget, key)) { - return wrap(target.get(key)); - } else if (has.call(rawTarget, rawKey)) { - return wrap(target.get(rawKey)); - } else if (target !== rawTarget) { - target.get(key); - } - }, - get size() { - const target = this["__v_raw"]; - !readonly2 && track(toRaw(target), "iterate", ITERATE_KEY); - return Reflect.get(target, "size", target); - }, - has(key) { - const target = this["__v_raw"]; - const rawTarget = toRaw(target); - const rawKey = toRaw(key); - if (!readonly2) { - if (hasChanged(key, rawKey)) { - track(rawTarget, "has", key); - } - track(rawTarget, "has", rawKey); - } - return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); - }, - forEach(callback, thisArg) { - const observed = this; - const target = observed["__v_raw"]; - const rawTarget = toRaw(target); - const wrap = shallow ? toShallow : readonly2 ? toReadonly : toReactive; - !readonly2 && track(rawTarget, "iterate", ITERATE_KEY); - return target.forEach((value, key) => { - return callback.call(thisArg, wrap(value), wrap(key), observed); - }); - } - }; - extend( - instrumentations, - readonly2 ? { - add: createReadonlyMethod("add"), - set: createReadonlyMethod("set"), - delete: createReadonlyMethod("delete"), - clear: createReadonlyMethod("clear") - } : { - add(value) { - if (!shallow && !isShallow(value) && !isReadonly(value)) { - value = toRaw(value); - } - const target = toRaw(this); - const proto = getProto(target); - const hadKey = proto.has.call(target, value); - if (!hadKey) { - target.add(value); - trigger(target, "add", value, value); - } - return this; - }, - set(key, value) { - if (!shallow && !isShallow(value) && !isReadonly(value)) { - value = toRaw(value); - } - const target = toRaw(this); - const { has, get } = getProto(target); - let hadKey = has.call(target, key); - if (!hadKey) { - key = toRaw(key); - hadKey = has.call(target, key); - } else if (true) { - checkIdentityKeys(target, has, key); - } - const oldValue = get.call(target, key); - target.set(key, value); - if (!hadKey) { - trigger(target, "add", key, value); - } else if (hasChanged(value, oldValue)) { - trigger(target, "set", key, value, oldValue); - } - return this; - }, - delete(key) { - const target = toRaw(this); - const { has, get } = getProto(target); - let hadKey = has.call(target, key); - if (!hadKey) { - key = toRaw(key); - hadKey = has.call(target, key); - } else if (true) { - checkIdentityKeys(target, has, key); - } - const oldValue = get ? get.call(target, key) : void 0; - const result = target.delete(key); - if (hadKey) { - trigger(target, "delete", key, void 0, oldValue); - } - return result; - }, - clear() { - const target = toRaw(this); - const hadItems = target.size !== 0; - const oldTarget = true ? isMap(target) ? new Map(target) : new Set(target) : void 0; - const result = target.clear(); - if (hadItems) { - trigger( - target, - "clear", - void 0, - void 0, - oldTarget - ); - } - return result; - } - } - ); - const iteratorMethods = [ - "keys", - "values", - "entries", - Symbol.iterator - ]; - iteratorMethods.forEach((method) => { - instrumentations[method] = createIterableMethod(method, readonly2, shallow); - }); - return instrumentations; -} -function createInstrumentationGetter(isReadonly2, shallow) { - const instrumentations = createInstrumentations(isReadonly2, shallow); - return (target, key, receiver) => { - if (key === "__v_isReactive") { - return !isReadonly2; - } else if (key === "__v_isReadonly") { - return isReadonly2; - } else if (key === "__v_raw") { - return target; - } - return Reflect.get( - hasOwn(instrumentations, key) && key in target ? instrumentations : target, - key, - receiver - ); - }; -} -var mutableCollectionHandlers = { - get: createInstrumentationGetter(false, false) -}; -var shallowCollectionHandlers = { - get: createInstrumentationGetter(false, true) -}; -var readonlyCollectionHandlers = { - get: createInstrumentationGetter(true, false) -}; -var shallowReadonlyCollectionHandlers = { - get: createInstrumentationGetter(true, true) -}; -function checkIdentityKeys(target, has, key) { - const rawKey = toRaw(key); - if (rawKey !== key && has.call(target, rawKey)) { - const type = toRawType(target); - warn( - `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.` - ); - } -} -var reactiveMap = /* @__PURE__ */ new WeakMap(); -var shallowReactiveMap = /* @__PURE__ */ new WeakMap(); -var readonlyMap = /* @__PURE__ */ new WeakMap(); -var shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); -function targetTypeMap(rawType) { - switch (rawType) { - case "Object": - case "Array": - return 1; - case "Map": - case "Set": - case "WeakMap": - case "WeakSet": - return 2; - default: - return 0; - } -} -function getTargetType(value) { - return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value)); -} -function reactive(target) { - if (isReadonly(target)) { - return target; - } - return createReactiveObject( - target, - false, - mutableHandlers, - mutableCollectionHandlers, - reactiveMap - ); -} -function shallowReactive(target) { - return createReactiveObject( - target, - false, - shallowReactiveHandlers, - shallowCollectionHandlers, - shallowReactiveMap - ); -} -function readonly(target) { - return createReactiveObject( - target, - true, - readonlyHandlers, - readonlyCollectionHandlers, - readonlyMap - ); -} -function shallowReadonly(target) { - return createReactiveObject( - target, - true, - shallowReadonlyHandlers, - shallowReadonlyCollectionHandlers, - shallowReadonlyMap - ); -} -function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { - if (!isObject(target)) { - if (true) { - warn( - `value cannot be made ${isReadonly2 ? "readonly" : "reactive"}: ${String( - target - )}` - ); - } - return target; - } - if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { - return target; - } - const existingProxy = proxyMap.get(target); - if (existingProxy) { - return existingProxy; - } - const targetType = getTargetType(target); - if (targetType === 0) { - return target; - } - const proxy = new Proxy( - target, - targetType === 2 ? collectionHandlers : baseHandlers - ); - proxyMap.set(target, proxy); - return proxy; -} -function isReactive(value) { - if (isReadonly(value)) { - return isReactive(value["__v_raw"]); - } - return !!(value && value["__v_isReactive"]); -} -function isReadonly(value) { - return !!(value && value["__v_isReadonly"]); -} -function isShallow(value) { - return !!(value && value["__v_isShallow"]); -} -function isProxy(value) { - return value ? !!value["__v_raw"] : false; -} -function toRaw(observed) { - const raw = observed && observed["__v_raw"]; - return raw ? toRaw(raw) : observed; -} -function markRaw(value) { - if (!hasOwn(value, "__v_skip") && Object.isExtensible(value)) { - def(value, "__v_skip", true); - } - return value; -} -var toReactive = (value) => isObject(value) ? reactive(value) : value; -var toReadonly = (value) => isObject(value) ? readonly(value) : value; -function isRef2(r) { - return r ? r["__v_isRef"] === true : false; -} -function ref(value) { - return createRef(value, false); -} -function shallowRef(value) { - return createRef(value, true); -} -function createRef(rawValue, shallow) { - if (isRef2(rawValue)) { - return rawValue; - } - return new RefImpl(rawValue, shallow); -} -var RefImpl = class { - constructor(value, isShallow2) { - this.dep = new Dep(); - this["__v_isRef"] = true; - this["__v_isShallow"] = false; - this._rawValue = isShallow2 ? value : toRaw(value); - this._value = isShallow2 ? value : toReactive(value); - this["__v_isShallow"] = isShallow2; - } - get value() { - if (true) { - this.dep.track({ - target: this, - type: "get", - key: "value" - }); - } else { - this.dep.track(); - } - return this._value; - } - set value(newValue) { - const oldValue = this._rawValue; - const useDirectValue = this["__v_isShallow"] || isShallow(newValue) || isReadonly(newValue); - newValue = useDirectValue ? newValue : toRaw(newValue); - if (hasChanged(newValue, oldValue)) { - this._rawValue = newValue; - this._value = useDirectValue ? newValue : toReactive(newValue); - if (true) { - this.dep.trigger({ - target: this, - type: "set", - key: "value", - newValue, - oldValue - }); - } else { - this.dep.trigger(); - } - } - } -}; -function triggerRef(ref2) { - if (ref2.dep) { - if (true) { - ref2.dep.trigger({ - target: ref2, - type: "set", - key: "value", - newValue: ref2._value - }); - } else { - ref2.dep.trigger(); - } - } -} -function unref(ref2) { - return isRef2(ref2) ? ref2.value : ref2; -} -function toValue(source) { - return isFunction(source) ? source() : unref(source); -} -var shallowUnwrapHandlers = { - get: (target, key, receiver) => key === "__v_raw" ? target : unref(Reflect.get(target, key, receiver)), - set: (target, key, value, receiver) => { - const oldValue = target[key]; - if (isRef2(oldValue) && !isRef2(value)) { - oldValue.value = value; - return true; - } else { - return Reflect.set(target, key, value, receiver); - } - } -}; -function proxyRefs(objectWithRefs) { - return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); -} -var CustomRefImpl = class { - constructor(factory) { - this["__v_isRef"] = true; - this._value = void 0; - const dep = this.dep = new Dep(); - const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep)); - this._get = get; - this._set = set; - } - get value() { - return this._value = this._get(); - } - set value(newVal) { - this._set(newVal); - } -}; -function customRef(factory) { - return new CustomRefImpl(factory); -} -function toRefs(object) { - if (!isProxy(object)) { - warn(`toRefs() expects a reactive object but received a plain one.`); - } - const ret = isArray(object) ? new Array(object.length) : {}; - for (const key in object) { - ret[key] = propertyToRef(object, key); - } - return ret; -} -var ObjectRefImpl = class { - constructor(_object, _key, _defaultValue) { - this._object = _object; - this._key = _key; - this._defaultValue = _defaultValue; - this["__v_isRef"] = true; - this._value = void 0; - } - get value() { - const val = this._object[this._key]; - return this._value = val === void 0 ? this._defaultValue : val; - } - set value(newVal) { - this._object[this._key] = newVal; - } - get dep() { - return getDepFromReactive(toRaw(this._object), this._key); - } -}; -var GetterRefImpl = class { - constructor(_getter) { - this._getter = _getter; - this["__v_isRef"] = true; - this["__v_isReadonly"] = true; - this._value = void 0; - } - get value() { - return this._value = this._getter(); - } -}; -function toRef(source, key, defaultValue) { - if (isRef2(source)) { - return source; - } else if (isFunction(source)) { - return new GetterRefImpl(source); - } else if (isObject(source) && arguments.length > 1) { - return propertyToRef(source, key, defaultValue); - } else { - return ref(source); - } -} -function propertyToRef(source, key, defaultValue) { - const val = source[key]; - return isRef2(val) ? val : new ObjectRefImpl(source, key, defaultValue); -} -var ComputedRefImpl = class { - constructor(fn, setter, isSSR) { - this.fn = fn; - this.setter = setter; - this._value = void 0; - this.dep = new Dep(this); - this.__v_isRef = true; - this.deps = void 0; - this.depsTail = void 0; - this.flags = 16; - this.globalVersion = globalVersion - 1; - this.next = void 0; - this.effect = this; - this["__v_isReadonly"] = !setter; - this.isSSR = isSSR; - } - /** - * @internal - */ - notify() { - this.flags |= 16; - if (!(this.flags & 8) && // avoid infinite self recursion - activeSub !== this) { - batch(this, true); - return true; - } else if (true) ; - } - get value() { - const link = true ? this.dep.track({ - target: this, - type: "get", - key: "value" - }) : this.dep.track(); - refreshComputed(this); - if (link) { - link.version = this.dep.version; - } - return this._value; - } - set value(newValue) { - if (this.setter) { - this.setter(newValue); - } else if (true) { - warn("Write operation failed: computed value is readonly"); - } - } -}; -function computed(getterOrOptions, debugOptions, isSSR = false) { - let getter; - let setter; - if (isFunction(getterOrOptions)) { - getter = getterOrOptions; - } else { - getter = getterOrOptions.get; - setter = getterOrOptions.set; - } - const cRef = new ComputedRefImpl(getter, setter, isSSR); - if (debugOptions && !isSSR) { - cRef.onTrack = debugOptions.onTrack; - cRef.onTrigger = debugOptions.onTrigger; - } - return cRef; -} -var TrackOpTypes = { - "GET": "get", - "HAS": "has", - "ITERATE": "iterate" -}; -var TriggerOpTypes = { - "SET": "set", - "ADD": "add", - "DELETE": "delete", - "CLEAR": "clear" -}; -var INITIAL_WATCHER_VALUE = {}; -var cleanupMap = /* @__PURE__ */ new WeakMap(); -var activeWatcher = void 0; -function getCurrentWatcher() { - return activeWatcher; -} -function onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) { - if (owner) { - let cleanups = cleanupMap.get(owner); - if (!cleanups) cleanupMap.set(owner, cleanups = []); - cleanups.push(cleanupFn); - } else if (!failSilently) { - warn( - `onWatcherCleanup() was called when there was no active watcher to associate with.` - ); - } -} -function watch(source, cb, options = EMPTY_OBJ) { - const { immediate, deep, once, scheduler, augmentJob, call } = options; - const warnInvalidSource = (s) => { - (options.onWarn || warn)( - `Invalid watch source: `, - s, - `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.` - ); - }; - const reactiveGetter = (source2) => { - if (deep) return source2; - if (isShallow(source2) || deep === false || deep === 0) - return traverse(source2, 1); - return traverse(source2); - }; - let effect2; - let getter; - let cleanup; - let boundCleanup; - let forceTrigger = false; - let isMultiSource = false; - if (isRef2(source)) { - getter = () => source.value; - forceTrigger = isShallow(source); - } else if (isReactive(source)) { - getter = () => reactiveGetter(source); - forceTrigger = true; - } else if (isArray(source)) { - isMultiSource = true; - forceTrigger = source.some((s) => isReactive(s) || isShallow(s)); - getter = () => source.map((s) => { - if (isRef2(s)) { - return s.value; - } else if (isReactive(s)) { - return reactiveGetter(s); - } else if (isFunction(s)) { - return call ? call(s, 2) : s(); - } else { - warnInvalidSource(s); - } - }); - } else if (isFunction(source)) { - if (cb) { - getter = call ? () => call(source, 2) : source; - } else { - getter = () => { - if (cleanup) { - pauseTracking(); - try { - cleanup(); - } finally { - resetTracking(); - } - } - const currentEffect = activeWatcher; - activeWatcher = effect2; - try { - return call ? call(source, 3, [boundCleanup]) : source(boundCleanup); - } finally { - activeWatcher = currentEffect; - } - }; - } - } else { - getter = NOOP; - warnInvalidSource(source); - } - if (cb && deep) { - const baseGetter = getter; - const depth = deep === true ? Infinity : deep; - getter = () => traverse(baseGetter(), depth); - } - const scope = getCurrentScope(); - const watchHandle = () => { - effect2.stop(); - if (scope && scope.active) { - remove(scope.effects, effect2); - } - }; - if (once && cb) { - const _cb = cb; - cb = (...args) => { - _cb(...args); - watchHandle(); - }; - } - let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; - const job = (immediateFirstRun) => { - if (!(effect2.flags & 1) || !effect2.dirty && !immediateFirstRun) { - return; - } - if (cb) { - const newValue = effect2.run(); - if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) { - if (cleanup) { - cleanup(); - } - const currentWatcher = activeWatcher; - activeWatcher = effect2; - try { - const args = [ - newValue, - // pass undefined as the old value when it's changed for the first time - oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, - boundCleanup - ]; - call ? call(cb, 3, args) : ( - // @ts-expect-error - cb(...args) - ); - oldValue = newValue; - } finally { - activeWatcher = currentWatcher; - } - } - } else { - effect2.run(); - } - }; - if (augmentJob) { - augmentJob(job); - } - effect2 = new ReactiveEffect(getter); - effect2.scheduler = scheduler ? () => scheduler(job, false) : job; - boundCleanup = (fn) => onWatcherCleanup(fn, false, effect2); - cleanup = effect2.onStop = () => { - const cleanups = cleanupMap.get(effect2); - if (cleanups) { - if (call) { - call(cleanups, 4); - } else { - for (const cleanup2 of cleanups) cleanup2(); - } - cleanupMap.delete(effect2); - } - }; - if (true) { - effect2.onTrack = options.onTrack; - effect2.onTrigger = options.onTrigger; - } - if (cb) { - if (immediate) { - job(true); - } else { - oldValue = effect2.run(); - } - } else if (scheduler) { - scheduler(job.bind(null, true), true); - } else { - effect2.run(); - } - watchHandle.pause = effect2.pause.bind(effect2); - watchHandle.resume = effect2.resume.bind(effect2); - watchHandle.stop = watchHandle; - return watchHandle; -} -function traverse(value, depth = Infinity, seen) { - if (depth <= 0 || !isObject(value) || value["__v_skip"]) { - return value; - } - seen = seen || /* @__PURE__ */ new Set(); - if (seen.has(value)) { - return value; - } - seen.add(value); - depth--; - if (isRef2(value)) { - traverse(value.value, depth, seen); - } else if (isArray(value)) { - for (let i = 0; i < value.length; i++) { - traverse(value[i], depth, seen); - } - } else if (isSet(value) || isMap(value)) { - value.forEach((v) => { - traverse(v, depth, seen); - }); - } else if (isPlainObject(value)) { - for (const key in value) { - traverse(value[key], depth, seen); - } - for (const key of Object.getOwnPropertySymbols(value)) { - if (Object.prototype.propertyIsEnumerable.call(value, key)) { - traverse(value[key], depth, seen); - } - } - } - return value; -} - -// node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js -var stack = []; -function pushWarningContext(vnode) { - stack.push(vnode); -} -function popWarningContext() { - stack.pop(); -} -var isWarning = false; -function warn$1(msg, ...args) { - if (isWarning) return; - isWarning = true; - pauseTracking(); - const instance = stack.length ? stack[stack.length - 1].component : null; - const appWarnHandler = instance && instance.appContext.config.warnHandler; - const trace = getComponentTrace(); - if (appWarnHandler) { - callWithErrorHandling( - appWarnHandler, - instance, - 11, - [ - // eslint-disable-next-line no-restricted-syntax - msg + args.map((a) => { - var _a, _b; - return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a); - }).join(""), - instance && instance.proxy, - trace.map( - ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>` - ).join("\n"), - trace - ] - ); - } else { - const warnArgs = [`[Vue warn]: ${msg}`, ...args]; - if (trace.length && // avoid spamming console during tests - true) { - warnArgs.push(` -`, ...formatTrace(trace)); - } - console.warn(...warnArgs); - } - resetTracking(); - isWarning = false; -} -function getComponentTrace() { - let currentVNode = stack[stack.length - 1]; - if (!currentVNode) { - return []; - } - const normalizedStack = []; - while (currentVNode) { - const last = normalizedStack[0]; - if (last && last.vnode === currentVNode) { - last.recurseCount++; - } else { - normalizedStack.push({ - vnode: currentVNode, - recurseCount: 0 - }); - } - const parentInstance = currentVNode.component && currentVNode.component.parent; - currentVNode = parentInstance && parentInstance.vnode; - } - return normalizedStack; -} -function formatTrace(trace) { - const logs = []; - trace.forEach((entry, i) => { - logs.push(...i === 0 ? [] : [` -`], ...formatTraceEntry(entry)); - }); - return logs; -} -function formatTraceEntry({ vnode, recurseCount }) { - const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``; - const isRoot = vnode.component ? vnode.component.parent == null : false; - const open = ` at <${formatComponentName( - vnode.component, - vnode.type, - isRoot - )}`; - const close = `>` + postfix; - return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close]; -} -function formatProps(props) { - const res = []; - const keys = Object.keys(props); - keys.slice(0, 3).forEach((key) => { - res.push(...formatProp(key, props[key])); - }); - if (keys.length > 3) { - res.push(` ...`); - } - return res; -} -function formatProp(key, value, raw) { - if (isString(value)) { - value = JSON.stringify(value); - return raw ? value : [`${key}=${value}`]; - } else if (typeof value === "number" || typeof value === "boolean" || value == null) { - return raw ? value : [`${key}=${value}`]; - } else if (isRef2(value)) { - value = formatProp(key, toRaw(value.value), true); - return raw ? value : [`${key}=Ref<`, value, `>`]; - } else if (isFunction(value)) { - return [`${key}=fn${value.name ? `<${value.name}>` : ``}`]; - } else { - value = toRaw(value); - return raw ? value : [`${key}=`, value]; - } -} -function assertNumber(val, type) { - if (false) return; - if (val === void 0) { - return; - } else if (typeof val !== "number") { - warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`); - } else if (isNaN(val)) { - warn$1(`${type} is NaN - the duration expression might be incorrect.`); - } -} -var ErrorCodes = { - "SETUP_FUNCTION": 0, - "0": "SETUP_FUNCTION", - "RENDER_FUNCTION": 1, - "1": "RENDER_FUNCTION", - "NATIVE_EVENT_HANDLER": 5, - "5": "NATIVE_EVENT_HANDLER", - "COMPONENT_EVENT_HANDLER": 6, - "6": "COMPONENT_EVENT_HANDLER", - "VNODE_HOOK": 7, - "7": "VNODE_HOOK", - "DIRECTIVE_HOOK": 8, - "8": "DIRECTIVE_HOOK", - "TRANSITION_HOOK": 9, - "9": "TRANSITION_HOOK", - "APP_ERROR_HANDLER": 10, - "10": "APP_ERROR_HANDLER", - "APP_WARN_HANDLER": 11, - "11": "APP_WARN_HANDLER", - "FUNCTION_REF": 12, - "12": "FUNCTION_REF", - "ASYNC_COMPONENT_LOADER": 13, - "13": "ASYNC_COMPONENT_LOADER", - "SCHEDULER": 14, - "14": "SCHEDULER", - "COMPONENT_UPDATE": 15, - "15": "COMPONENT_UPDATE", - "APP_UNMOUNT_CLEANUP": 16, - "16": "APP_UNMOUNT_CLEANUP" -}; -var ErrorTypeStrings$1 = { - ["sp"]: "serverPrefetch hook", - ["bc"]: "beforeCreate hook", - ["c"]: "created hook", - ["bm"]: "beforeMount hook", - ["m"]: "mounted hook", - ["bu"]: "beforeUpdate hook", - ["u"]: "updated", - ["bum"]: "beforeUnmount hook", - ["um"]: "unmounted hook", - ["a"]: "activated hook", - ["da"]: "deactivated hook", - ["ec"]: "errorCaptured hook", - ["rtc"]: "renderTracked hook", - ["rtg"]: "renderTriggered hook", - [0]: "setup function", - [1]: "render function", - [2]: "watcher getter", - [3]: "watcher callback", - [4]: "watcher cleanup function", - [5]: "native event handler", - [6]: "component event handler", - [7]: "vnode hook", - [8]: "directive hook", - [9]: "transition hook", - [10]: "app errorHandler", - [11]: "app warnHandler", - [12]: "ref function", - [13]: "async component loader", - [14]: "scheduler flush", - [15]: "component update", - [16]: "app unmount cleanup function" -}; -function callWithErrorHandling(fn, instance, type, args) { - try { - return args ? fn(...args) : fn(); - } catch (err) { - handleError(err, instance, type); - } -} -function callWithAsyncErrorHandling(fn, instance, type, args) { - if (isFunction(fn)) { - const res = callWithErrorHandling(fn, instance, type, args); - if (res && isPromise(res)) { - res.catch((err) => { - handleError(err, instance, type); - }); - } - return res; - } - if (isArray(fn)) { - const values = []; - for (let i = 0; i < fn.length; i++) { - values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)); - } - return values; - } else if (true) { - warn$1( - `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}` - ); - } -} -function handleError(err, instance, type, throwInDev = true) { - const contextVNode = instance ? instance.vnode : null; - const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ; - if (instance) { - let cur = instance.parent; - const exposedInstance = instance.proxy; - const errorInfo = true ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`; - while (cur) { - const errorCapturedHooks = cur.ec; - if (errorCapturedHooks) { - for (let i = 0; i < errorCapturedHooks.length; i++) { - if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) { - return; - } - } - } - cur = cur.parent; - } - if (errorHandler) { - pauseTracking(); - callWithErrorHandling(errorHandler, null, 10, [ - err, - exposedInstance, - errorInfo - ]); - resetTracking(); - return; - } - } - logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction); -} -function logError(err, type, contextVNode, throwInDev = true, throwInProd = false) { - if (true) { - const info = ErrorTypeStrings$1[type]; - if (contextVNode) { - pushWarningContext(contextVNode); - } - warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`); - if (contextVNode) { - popWarningContext(); - } - if (throwInDev) { - throw err; - } else { - console.error(err); - } - } else if (throwInProd) { - throw err; - } else { - console.error(err); - } -} -var queue = []; -var flushIndex = -1; -var pendingPostFlushCbs = []; -var activePostFlushCbs = null; -var postFlushIndex = 0; -var resolvedPromise = Promise.resolve(); -var currentFlushPromise = null; -var RECURSION_LIMIT = 100; -function nextTick(fn) { - const p2 = currentFlushPromise || resolvedPromise; - return fn ? p2.then(this ? fn.bind(this) : fn) : p2; -} -function findInsertionIndex(id) { - let start = flushIndex + 1; - let end = queue.length; - while (start < end) { - const middle = start + end >>> 1; - const middleJob = queue[middle]; - const middleJobId = getId(middleJob); - if (middleJobId < id || middleJobId === id && middleJob.flags & 2) { - start = middle + 1; - } else { - end = middle; - } - } - return start; -} -function queueJob(job) { - if (!(job.flags & 1)) { - const jobId = getId(job); - const lastJob = queue[queue.length - 1]; - if (!lastJob || // fast path when the job id is larger than the tail - !(job.flags & 2) && jobId >= getId(lastJob)) { - queue.push(job); - } else { - queue.splice(findInsertionIndex(jobId), 0, job); - } - job.flags |= 1; - queueFlush(); - } -} -function queueFlush() { - if (!currentFlushPromise) { - currentFlushPromise = resolvedPromise.then(flushJobs); - } -} -function queuePostFlushCb(cb) { - if (!isArray(cb)) { - if (activePostFlushCbs && cb.id === -1) { - activePostFlushCbs.splice(postFlushIndex + 1, 0, cb); - } else if (!(cb.flags & 1)) { - pendingPostFlushCbs.push(cb); - cb.flags |= 1; - } - } else { - pendingPostFlushCbs.push(...cb); - } - queueFlush(); -} -function flushPreFlushCbs(instance, seen, i = flushIndex + 1) { - if (true) { - seen = seen || /* @__PURE__ */ new Map(); - } - for (; i < queue.length; i++) { - const cb = queue[i]; - if (cb && cb.flags & 2) { - if (instance && cb.id !== instance.uid) { - continue; - } - if (checkRecursiveUpdates(seen, cb)) { - continue; - } - queue.splice(i, 1); - i--; - if (cb.flags & 4) { - cb.flags &= ~1; - } - cb(); - if (!(cb.flags & 4)) { - cb.flags &= ~1; - } - } - } -} -function flushPostFlushCbs(seen) { - if (pendingPostFlushCbs.length) { - const deduped = [...new Set(pendingPostFlushCbs)].sort( - (a, b) => getId(a) - getId(b) - ); - pendingPostFlushCbs.length = 0; - if (activePostFlushCbs) { - activePostFlushCbs.push(...deduped); - return; - } - activePostFlushCbs = deduped; - if (true) { - seen = seen || /* @__PURE__ */ new Map(); - } - for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { - const cb = activePostFlushCbs[postFlushIndex]; - if (checkRecursiveUpdates(seen, cb)) { - continue; - } - if (cb.flags & 4) { - cb.flags &= ~1; - } - if (!(cb.flags & 8)) cb(); - cb.flags &= ~1; - } - activePostFlushCbs = null; - postFlushIndex = 0; - } -} -var getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id; -function flushJobs(seen) { - if (true) { - seen = seen || /* @__PURE__ */ new Map(); - } - const check = true ? (job) => checkRecursiveUpdates(seen, job) : NOOP; - try { - for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { - const job = queue[flushIndex]; - if (job && !(job.flags & 8)) { - if (check(job)) { - continue; - } - if (job.flags & 4) { - job.flags &= ~1; - } - callWithErrorHandling( - job, - job.i, - job.i ? 15 : 14 - ); - if (!(job.flags & 4)) { - job.flags &= ~1; - } - } - } - } finally { - for (; flushIndex < queue.length; flushIndex++) { - const job = queue[flushIndex]; - if (job) { - job.flags &= ~1; - } - } - flushIndex = -1; - queue.length = 0; - flushPostFlushCbs(seen); - currentFlushPromise = null; - if (queue.length || pendingPostFlushCbs.length) { - flushJobs(seen); - } - } -} -function checkRecursiveUpdates(seen, fn) { - const count = seen.get(fn) || 0; - if (count > RECURSION_LIMIT) { - const instance = fn.i; - const componentName = instance && getComponentName(instance.type); - handleError( - `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`, - null, - 10 - ); - return true; - } - seen.set(fn, count + 1); - return false; -} -var isHmrUpdating = false; -var hmrDirtyComponents = /* @__PURE__ */ new Map(); -if (true) { - getGlobalThis().__VUE_HMR_RUNTIME__ = { - createRecord: tryWrap(createRecord), - rerender: tryWrap(rerender), - reload: tryWrap(reload) - }; -} -var map = /* @__PURE__ */ new Map(); -function registerHMR(instance) { - const id = instance.type.__hmrId; - let record = map.get(id); - if (!record) { - createRecord(id, instance.type); - record = map.get(id); - } - record.instances.add(instance); -} -function unregisterHMR(instance) { - map.get(instance.type.__hmrId).instances.delete(instance); -} -function createRecord(id, initialDef) { - if (map.has(id)) { - return false; - } - map.set(id, { - initialDef: normalizeClassComponent(initialDef), - instances: /* @__PURE__ */ new Set() - }); - return true; -} -function normalizeClassComponent(component) { - return isClassComponent(component) ? component.__vccOpts : component; -} -function rerender(id, newRender) { - const record = map.get(id); - if (!record) { - return; - } - record.initialDef.render = newRender; - [...record.instances].forEach((instance) => { - if (newRender) { - instance.render = newRender; - normalizeClassComponent(instance.type).render = newRender; - } - instance.renderCache = []; - isHmrUpdating = true; - instance.update(); - isHmrUpdating = false; - }); -} -function reload(id, newComp) { - const record = map.get(id); - if (!record) return; - newComp = normalizeClassComponent(newComp); - updateComponentDef(record.initialDef, newComp); - const instances = [...record.instances]; - for (let i = 0; i < instances.length; i++) { - const instance = instances[i]; - const oldComp = normalizeClassComponent(instance.type); - let dirtyInstances = hmrDirtyComponents.get(oldComp); - if (!dirtyInstances) { - if (oldComp !== record.initialDef) { - updateComponentDef(oldComp, newComp); - } - hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set()); - } - dirtyInstances.add(instance); - instance.appContext.propsCache.delete(instance.type); - instance.appContext.emitsCache.delete(instance.type); - instance.appContext.optionsCache.delete(instance.type); - if (instance.ceReload) { - dirtyInstances.add(instance); - instance.ceReload(newComp.styles); - dirtyInstances.delete(instance); - } else if (instance.parent) { - queueJob(() => { - isHmrUpdating = true; - instance.parent.update(); - isHmrUpdating = false; - dirtyInstances.delete(instance); - }); - } else if (instance.appContext.reload) { - instance.appContext.reload(); - } else if (typeof window !== "undefined") { - window.location.reload(); - } else { - console.warn( - "[HMR] Root or manually mounted instance modified. Full reload required." - ); - } - if (instance.root.ce && instance !== instance.root) { - instance.root.ce._removeChildStyle(oldComp); - } - } - queuePostFlushCb(() => { - hmrDirtyComponents.clear(); - }); -} -function updateComponentDef(oldComp, newComp) { - extend(oldComp, newComp); - for (const key in oldComp) { - if (key !== "__file" && !(key in newComp)) { - delete oldComp[key]; - } - } -} -function tryWrap(fn) { - return (id, arg) => { - try { - return fn(id, arg); - } catch (e) { - console.error(e); - console.warn( - `[HMR] Something went wrong during Vue component hot-reload. Full reload required.` - ); - } - }; -} -var devtools$1; -var buffer = []; -var devtoolsNotInstalled = false; -function emit$1(event, ...args) { - if (devtools$1) { - devtools$1.emit(event, ...args); - } else if (!devtoolsNotInstalled) { - buffer.push({ event, args }); - } -} -function setDevtoolsHook$1(hook, target) { - var _a, _b; - devtools$1 = hook; - if (devtools$1) { - devtools$1.enabled = true; - buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args)); - buffer = []; - } else if ( - // handle late devtools injection - only do this if we are in an actual - // browser environment to avoid the timer handle stalling test runner exit - // (#4815) - typeof window !== "undefined" && // some envs mock window but not fully - window.HTMLElement && // also exclude jsdom - // eslint-disable-next-line no-restricted-syntax - !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("jsdom")) - ) { - const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []; - replay.push((newHook) => { - setDevtoolsHook$1(newHook, target); - }); - setTimeout(() => { - if (!devtools$1) { - target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null; - devtoolsNotInstalled = true; - buffer = []; - } - }, 3e3); - } else { - devtoolsNotInstalled = true; - buffer = []; - } -} -function devtoolsInitApp(app, version2) { - emit$1("app:init", app, version2, { - Fragment, - Text, - Comment, - Static - }); -} -function devtoolsUnmountApp(app) { - emit$1("app:unmount", app); -} -var devtoolsComponentAdded = createDevtoolsComponentHook( - "component:added" - /* COMPONENT_ADDED */ -); -var devtoolsComponentUpdated = createDevtoolsComponentHook( - "component:updated" - /* COMPONENT_UPDATED */ -); -var _devtoolsComponentRemoved = createDevtoolsComponentHook( - "component:removed" - /* COMPONENT_REMOVED */ -); -var devtoolsComponentRemoved = (component) => { - if (devtools$1 && typeof devtools$1.cleanupBuffer === "function" && // remove the component if it wasn't buffered - !devtools$1.cleanupBuffer(component)) { - _devtoolsComponentRemoved(component); - } -}; -function createDevtoolsComponentHook(hook) { - return (component) => { - emit$1( - hook, - component.appContext.app, - component.uid, - component.parent ? component.parent.uid : void 0, - component - ); - }; -} -var devtoolsPerfStart = createDevtoolsPerformanceHook( - "perf:start" - /* PERFORMANCE_START */ -); -var devtoolsPerfEnd = createDevtoolsPerformanceHook( - "perf:end" - /* PERFORMANCE_END */ -); -function createDevtoolsPerformanceHook(hook) { - return (component, type, time) => { - emit$1(hook, component.appContext.app, component.uid, component, type, time); - }; -} -function devtoolsComponentEmit(component, event, params) { - emit$1( - "component:emit", - component.appContext.app, - component, - event, - params - ); -} -var currentRenderingInstance = null; -var currentScopeId = null; -function setCurrentRenderingInstance(instance) { - const prev = currentRenderingInstance; - currentRenderingInstance = instance; - currentScopeId = instance && instance.type.__scopeId || null; - return prev; -} -function pushScopeId(id) { - currentScopeId = id; -} -function popScopeId() { - currentScopeId = null; -} -var withScopeId = (_id) => withCtx; -function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) { - if (!ctx) return fn; - if (fn._n) { - return fn; - } - const renderFnWithContext = (...args) => { - if (renderFnWithContext._d) { - setBlockTracking(-1); - } - const prevInstance = setCurrentRenderingInstance(ctx); - let res; - try { - res = fn(...args); - } finally { - setCurrentRenderingInstance(prevInstance); - if (renderFnWithContext._d) { - setBlockTracking(1); - } - } - if (true) { - devtoolsComponentUpdated(ctx); - } - return res; - }; - renderFnWithContext._n = true; - renderFnWithContext._c = true; - renderFnWithContext._d = true; - return renderFnWithContext; -} -function validateDirectiveName(name) { - if (isBuiltInDirective(name)) { - warn$1("Do not use built-in directive ids as custom directive id: " + name); - } -} -function withDirectives(vnode, directives) { - if (currentRenderingInstance === null) { - warn$1(`withDirectives can only be used inside render functions.`); - return vnode; - } - const instance = getComponentPublicInstance(currentRenderingInstance); - const bindings = vnode.dirs || (vnode.dirs = []); - for (let i = 0; i < directives.length; i++) { - let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i]; - if (dir) { - if (isFunction(dir)) { - dir = { - mounted: dir, - updated: dir - }; - } - if (dir.deep) { - traverse(value); - } - bindings.push({ - dir, - instance, - value, - oldValue: void 0, - arg, - modifiers - }); - } - } - return vnode; -} -function invokeDirectiveHook(vnode, prevVNode, instance, name) { - const bindings = vnode.dirs; - const oldBindings = prevVNode && prevVNode.dirs; - for (let i = 0; i < bindings.length; i++) { - const binding = bindings[i]; - if (oldBindings) { - binding.oldValue = oldBindings[i].value; - } - let hook = binding.dir[name]; - if (hook) { - pauseTracking(); - callWithAsyncErrorHandling(hook, instance, 8, [ - vnode.el, - binding, - vnode, - prevVNode - ]); - resetTracking(); - } - } -} -var TeleportEndKey = Symbol("_vte"); -var isTeleport = (type) => type.__isTeleport; -var isTeleportDisabled = (props) => props && (props.disabled || props.disabled === ""); -var isTeleportDeferred = (props) => props && (props.defer || props.defer === ""); -var isTargetSVG = (target) => typeof SVGElement !== "undefined" && target instanceof SVGElement; -var isTargetMathML = (target) => typeof MathMLElement === "function" && target instanceof MathMLElement; -var resolveTarget = (props, select) => { - const targetSelector = props && props.to; - if (isString(targetSelector)) { - if (!select) { - warn$1( - `Current renderer does not support string target for Teleports. (missing querySelector renderer option)` - ); - return null; - } else { - const target = select(targetSelector); - if (!target && !isTeleportDisabled(props)) { - warn$1( - `Failed to locate Teleport target with selector "${targetSelector}". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.` - ); - } - return target; - } - } else { - if (!targetSelector && !isTeleportDisabled(props)) { - warn$1(`Invalid Teleport target: ${targetSelector}`); - } - return targetSelector; - } -}; -var TeleportImpl = { - name: "Teleport", - __isTeleport: true, - process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) { - const { - mc: mountChildren, - pc: patchChildren, - pbc: patchBlockChildren, - o: { insert, querySelector, createText, createComment } - } = internals; - const disabled = isTeleportDisabled(n2.props); - let { shapeFlag, children, dynamicChildren } = n2; - if (isHmrUpdating) { - optimized = false; - dynamicChildren = null; - } - if (n1 == null) { - const placeholder = n2.el = true ? createComment("teleport start") : createText(""); - const mainAnchor = n2.anchor = true ? createComment("teleport end") : createText(""); - insert(placeholder, container, anchor); - insert(mainAnchor, container, anchor); - const mount = (container2, anchor2) => { - if (shapeFlag & 16) { - if (parentComponent && parentComponent.isCE) { - parentComponent.ce._teleportTarget = container2; - } - mountChildren( - children, - container2, - anchor2, - parentComponent, - parentSuspense, - namespace, - slotScopeIds, - optimized - ); - } - }; - const mountToTarget = () => { - const target = n2.target = resolveTarget(n2.props, querySelector); - const targetAnchor = prepareAnchor(target, n2, createText, insert); - if (target) { - if (namespace !== "svg" && isTargetSVG(target)) { - namespace = "svg"; - } else if (namespace !== "mathml" && isTargetMathML(target)) { - namespace = "mathml"; - } - if (!disabled) { - mount(target, targetAnchor); - updateCssVars(n2, false); - } - } else if (!disabled) { - warn$1( - "Invalid Teleport target on mount:", - target, - `(${typeof target})` - ); - } - }; - if (disabled) { - mount(container, mainAnchor); - updateCssVars(n2, true); - } - if (isTeleportDeferred(n2.props)) { - queuePostRenderEffect(() => { - mountToTarget(); - n2.el.__isMounted = true; - }, parentSuspense); - } else { - mountToTarget(); - } - } else { - if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) { - queuePostRenderEffect(() => { - TeleportImpl.process( - n1, - n2, - container, - anchor, - parentComponent, - parentSuspense, - namespace, - slotScopeIds, - optimized, - internals - ); - delete n1.el.__isMounted; - }, parentSuspense); - return; - } - n2.el = n1.el; - n2.targetStart = n1.targetStart; - const mainAnchor = n2.anchor = n1.anchor; - const target = n2.target = n1.target; - const targetAnchor = n2.targetAnchor = n1.targetAnchor; - const wasDisabled = isTeleportDisabled(n1.props); - const currentContainer = wasDisabled ? container : target; - const currentAnchor = wasDisabled ? mainAnchor : targetAnchor; - if (namespace === "svg" || isTargetSVG(target)) { - namespace = "svg"; - } else if (namespace === "mathml" || isTargetMathML(target)) { - namespace = "mathml"; - } - if (dynamicChildren) { - patchBlockChildren( - n1.dynamicChildren, - dynamicChildren, - currentContainer, - parentComponent, - parentSuspense, - namespace, - slotScopeIds - ); - traverseStaticChildren(n1, n2, true); - } else if (!optimized) { - patchChildren( - n1, - n2, - currentContainer, - currentAnchor, - parentComponent, - parentSuspense, - namespace, - slotScopeIds, - false - ); - } - if (disabled) { - if (!wasDisabled) { - moveTeleport( - n2, - container, - mainAnchor, - internals, - 1 - ); - } else { - if (n2.props && n1.props && n2.props.to !== n1.props.to) { - n2.props.to = n1.props.to; - } - } - } else { - if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) { - const nextTarget = n2.target = resolveTarget( - n2.props, - querySelector - ); - if (nextTarget) { - moveTeleport( - n2, - nextTarget, - null, - internals, - 0 - ); - } else if (true) { - warn$1( - "Invalid Teleport target on update:", - target, - `(${typeof target})` - ); - } - } else if (wasDisabled) { - moveTeleport( - n2, - target, - targetAnchor, - internals, - 1 - ); - } - } - updateCssVars(n2, disabled); - } - }, - remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) { - const { - shapeFlag, - children, - anchor, - targetStart, - targetAnchor, - target, - props - } = vnode; - if (target) { - hostRemove(targetStart); - hostRemove(targetAnchor); - } - doRemove && hostRemove(anchor); - if (shapeFlag & 16) { - const shouldRemove = doRemove || !isTeleportDisabled(props); - for (let i = 0; i < children.length; i++) { - const child = children[i]; - unmount( - child, - parentComponent, - parentSuspense, - shouldRemove, - !!child.dynamicChildren - ); - } - } - }, - move: moveTeleport, - hydrate: hydrateTeleport -}; -function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) { - if (moveType === 0) { - insert(vnode.targetAnchor, container, parentAnchor); - } - const { el, anchor, shapeFlag, children, props } = vnode; - const isReorder = moveType === 2; - if (isReorder) { - insert(el, container, parentAnchor); - } - if (!isReorder || isTeleportDisabled(props)) { - if (shapeFlag & 16) { - for (let i = 0; i < children.length; i++) { - move( - children[i], - container, - parentAnchor, - 2 - ); - } - } - } - if (isReorder) { - insert(anchor, container, parentAnchor); - } -} -function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, { - o: { nextSibling, parentNode, querySelector, insert, createText } -}, hydrateChildren) { - const target = vnode.target = resolveTarget( - vnode.props, - querySelector - ); - if (target) { - const disabled = isTeleportDisabled(vnode.props); - const targetNode = target._lpa || target.firstChild; - if (vnode.shapeFlag & 16) { - if (disabled) { - vnode.anchor = hydrateChildren( - nextSibling(node), - vnode, - parentNode(node), - parentComponent, - parentSuspense, - slotScopeIds, - optimized - ); - vnode.targetStart = targetNode; - vnode.targetAnchor = targetNode && nextSibling(targetNode); - } else { - vnode.anchor = nextSibling(node); - let targetAnchor = targetNode; - while (targetAnchor) { - if (targetAnchor && targetAnchor.nodeType === 8) { - if (targetAnchor.data === "teleport start anchor") { - vnode.targetStart = targetAnchor; - } else if (targetAnchor.data === "teleport anchor") { - vnode.targetAnchor = targetAnchor; - target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor); - break; - } - } - targetAnchor = nextSibling(targetAnchor); - } - if (!vnode.targetAnchor) { - prepareAnchor(target, vnode, createText, insert); - } - hydrateChildren( - targetNode && nextSibling(targetNode), - vnode, - target, - parentComponent, - parentSuspense, - slotScopeIds, - optimized - ); - } - } - updateCssVars(vnode, disabled); - } - return vnode.anchor && nextSibling(vnode.anchor); -} -var Teleport = TeleportImpl; -function updateCssVars(vnode, isDisabled) { - const ctx = vnode.ctx; - if (ctx && ctx.ut) { - let node, anchor; - if (isDisabled) { - node = vnode.el; - anchor = vnode.anchor; - } else { - node = vnode.targetStart; - anchor = vnode.targetAnchor; - } - while (node && node !== anchor) { - if (node.nodeType === 1) node.setAttribute("data-v-owner", ctx.uid); - node = node.nextSibling; - } - ctx.ut(); - } -} -function prepareAnchor(target, vnode, createText, insert) { - const targetStart = vnode.targetStart = createText(""); - const targetAnchor = vnode.targetAnchor = createText(""); - targetStart[TeleportEndKey] = targetAnchor; - if (target) { - insert(targetStart, target); - insert(targetAnchor, target); - } - return targetAnchor; -} -var leaveCbKey = Symbol("_leaveCb"); -var enterCbKey = Symbol("_enterCb"); -function useTransitionState() { - const state = { - isMounted: false, - isLeaving: false, - isUnmounting: false, - leavingVNodes: /* @__PURE__ */ new Map() - }; - onMounted(() => { - state.isMounted = true; - }); - onBeforeUnmount(() => { - state.isUnmounting = true; - }); - return state; -} -var TransitionHookValidator = [Function, Array]; -var BaseTransitionPropsValidators = { - mode: String, - appear: Boolean, - persisted: Boolean, - // enter - onBeforeEnter: TransitionHookValidator, - onEnter: TransitionHookValidator, - onAfterEnter: TransitionHookValidator, - onEnterCancelled: TransitionHookValidator, - // leave - onBeforeLeave: TransitionHookValidator, - onLeave: TransitionHookValidator, - onAfterLeave: TransitionHookValidator, - onLeaveCancelled: TransitionHookValidator, - // appear - onBeforeAppear: TransitionHookValidator, - onAppear: TransitionHookValidator, - onAfterAppear: TransitionHookValidator, - onAppearCancelled: TransitionHookValidator -}; -var recursiveGetSubtree = (instance) => { - const subTree = instance.subTree; - return subTree.component ? recursiveGetSubtree(subTree.component) : subTree; -}; -var BaseTransitionImpl = { - name: `BaseTransition`, - props: BaseTransitionPropsValidators, - setup(props, { slots }) { - const instance = getCurrentInstance(); - const state = useTransitionState(); - return () => { - const children = slots.default && getTransitionRawChildren(slots.default(), true); - if (!children || !children.length) { - return; - } - const child = findNonCommentChild(children); - const rawProps = toRaw(props); - const { mode } = rawProps; - if (mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") { - warn$1(`invalid mode: ${mode}`); - } - if (state.isLeaving) { - return emptyPlaceholder(child); - } - const innerChild = getInnerChild$1(child); - if (!innerChild) { - return emptyPlaceholder(child); - } - let enterHooks = resolveTransitionHooks( - innerChild, - rawProps, - state, - instance, - // #11061, ensure enterHooks is fresh after clone - (hooks) => enterHooks = hooks - ); - if (innerChild.type !== Comment) { - setTransitionHooks(innerChild, enterHooks); - } - let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree); - if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) { - let leavingHooks = resolveTransitionHooks( - oldInnerChild, - rawProps, - state, - instance - ); - setTransitionHooks(oldInnerChild, leavingHooks); - if (mode === "out-in" && innerChild.type !== Comment) { - state.isLeaving = true; - leavingHooks.afterLeave = () => { - state.isLeaving = false; - if (!(instance.job.flags & 8)) { - instance.update(); - } - delete leavingHooks.afterLeave; - oldInnerChild = void 0; - }; - return emptyPlaceholder(child); - } else if (mode === "in-out" && innerChild.type !== Comment) { - leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => { - const leavingVNodesCache = getLeavingNodesForType( - state, - oldInnerChild - ); - leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild; - el[leaveCbKey] = () => { - earlyRemove(); - el[leaveCbKey] = void 0; - delete enterHooks.delayedLeave; - oldInnerChild = void 0; - }; - enterHooks.delayedLeave = () => { - delayedLeave(); - delete enterHooks.delayedLeave; - oldInnerChild = void 0; - }; - }; - } else { - oldInnerChild = void 0; - } - } else if (oldInnerChild) { - oldInnerChild = void 0; - } - return child; - }; - } -}; -function findNonCommentChild(children) { - let child = children[0]; - if (children.length > 1) { - let hasFound = false; - for (const c of children) { - if (c.type !== Comment) { - if (hasFound) { - warn$1( - " can only be used on a single element or component. Use for lists." - ); - break; - } - child = c; - hasFound = true; - if (false) break; - } - } - } - return child; -} -var BaseTransition = BaseTransitionImpl; -function getLeavingNodesForType(state, vnode) { - const { leavingVNodes } = state; - let leavingVNodesCache = leavingVNodes.get(vnode.type); - if (!leavingVNodesCache) { - leavingVNodesCache = /* @__PURE__ */ Object.create(null); - leavingVNodes.set(vnode.type, leavingVNodesCache); - } - return leavingVNodesCache; -} -function resolveTransitionHooks(vnode, props, state, instance, postClone) { - const { - appear, - mode, - persisted = false, - onBeforeEnter, - onEnter, - onAfterEnter, - onEnterCancelled, - onBeforeLeave, - onLeave, - onAfterLeave, - onLeaveCancelled, - onBeforeAppear, - onAppear, - onAfterAppear, - onAppearCancelled - } = props; - const key = String(vnode.key); - const leavingVNodesCache = getLeavingNodesForType(state, vnode); - const callHook3 = (hook, args) => { - hook && callWithAsyncErrorHandling( - hook, - instance, - 9, - args - ); - }; - const callAsyncHook = (hook, args) => { - const done = args[1]; - callHook3(hook, args); - if (isArray(hook)) { - if (hook.every((hook2) => hook2.length <= 1)) done(); - } else if (hook.length <= 1) { - done(); - } - }; - const hooks = { - mode, - persisted, - beforeEnter(el) { - let hook = onBeforeEnter; - if (!state.isMounted) { - if (appear) { - hook = onBeforeAppear || onBeforeEnter; - } else { - return; - } - } - if (el[leaveCbKey]) { - el[leaveCbKey]( - true - /* cancelled */ - ); - } - const leavingVNode = leavingVNodesCache[key]; - if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) { - leavingVNode.el[leaveCbKey](); - } - callHook3(hook, [el]); - }, - enter(el) { - let hook = onEnter; - let afterHook = onAfterEnter; - let cancelHook = onEnterCancelled; - if (!state.isMounted) { - if (appear) { - hook = onAppear || onEnter; - afterHook = onAfterAppear || onAfterEnter; - cancelHook = onAppearCancelled || onEnterCancelled; - } else { - return; - } - } - let called = false; - const done = el[enterCbKey] = (cancelled) => { - if (called) return; - called = true; - if (cancelled) { - callHook3(cancelHook, [el]); - } else { - callHook3(afterHook, [el]); - } - if (hooks.delayedLeave) { - hooks.delayedLeave(); - } - el[enterCbKey] = void 0; - }; - if (hook) { - callAsyncHook(hook, [el, done]); - } else { - done(); - } - }, - leave(el, remove2) { - const key2 = String(vnode.key); - if (el[enterCbKey]) { - el[enterCbKey]( - true - /* cancelled */ - ); - } - if (state.isUnmounting) { - return remove2(); - } - callHook3(onBeforeLeave, [el]); - let called = false; - const done = el[leaveCbKey] = (cancelled) => { - if (called) return; - called = true; - remove2(); - if (cancelled) { - callHook3(onLeaveCancelled, [el]); - } else { - callHook3(onAfterLeave, [el]); - } - el[leaveCbKey] = void 0; - if (leavingVNodesCache[key2] === vnode) { - delete leavingVNodesCache[key2]; - } - }; - leavingVNodesCache[key2] = vnode; - if (onLeave) { - callAsyncHook(onLeave, [el, done]); - } else { - done(); - } - }, - clone(vnode2) { - const hooks2 = resolveTransitionHooks( - vnode2, - props, - state, - instance, - postClone - ); - if (postClone) postClone(hooks2); - return hooks2; - } - }; - return hooks; -} -function emptyPlaceholder(vnode) { - if (isKeepAlive(vnode)) { - vnode = cloneVNode(vnode); - vnode.children = null; - return vnode; - } -} -function getInnerChild$1(vnode) { - if (!isKeepAlive(vnode)) { - if (isTeleport(vnode.type) && vnode.children) { - return findNonCommentChild(vnode.children); - } - return vnode; - } - if (vnode.component) { - return vnode.component.subTree; - } - const { shapeFlag, children } = vnode; - if (children) { - if (shapeFlag & 16) { - return children[0]; - } - if (shapeFlag & 32 && isFunction(children.default)) { - return children.default(); - } - } -} -function setTransitionHooks(vnode, hooks) { - if (vnode.shapeFlag & 6 && vnode.component) { - vnode.transition = hooks; - setTransitionHooks(vnode.component.subTree, hooks); - } else if (vnode.shapeFlag & 128) { - vnode.ssContent.transition = hooks.clone(vnode.ssContent); - vnode.ssFallback.transition = hooks.clone(vnode.ssFallback); - } else { - vnode.transition = hooks; - } -} -function getTransitionRawChildren(children, keepComment = false, parentKey) { - let ret = []; - let keyedFragmentCount = 0; - for (let i = 0; i < children.length; i++) { - let child = children[i]; - const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i); - if (child.type === Fragment) { - if (child.patchFlag & 128) keyedFragmentCount++; - ret = ret.concat( - getTransitionRawChildren(child.children, keepComment, key) - ); - } else if (keepComment || child.type !== Comment) { - ret.push(key != null ? cloneVNode(child, { key }) : child); - } - } - if (keyedFragmentCount > 1) { - for (let i = 0; i < ret.length; i++) { - ret[i].patchFlag = -2; - } - } - return ret; -} -function defineComponent(options, extraOptions) { - return isFunction(options) ? ( - // #8236: extend call and options.name access are considered side-effects - // by Rollup, so we have to wrap it in a pure-annotated IIFE. - (() => extend({ name: options.name }, extraOptions, { setup: options }))() - ) : options; -} -function useId() { - const i = getCurrentInstance(); - if (i) { - return (i.appContext.config.idPrefix || "v") + "-" + i.ids[0] + i.ids[1]++; - } else if (true) { - warn$1( - `useId() is called when there is no active component instance to be associated with.` - ); - } - return ""; -} -function markAsyncBoundary(instance) { - instance.ids = [instance.ids[0] + instance.ids[2]++ + "-", 0, 0]; -} -var knownTemplateRefs = /* @__PURE__ */ new WeakSet(); -function useTemplateRef(key) { - const i = getCurrentInstance(); - const r = shallowRef(null); - if (i) { - const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs; - let desc; - if ((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) { - warn$1(`useTemplateRef('${key}') already exists.`); - } else { - Object.defineProperty(refs, key, { - enumerable: true, - get: () => r.value, - set: (val) => r.value = val - }); - } - } else if (true) { - warn$1( - `useTemplateRef() is called when there is no active component instance to be associated with.` - ); - } - const ret = true ? readonly(r) : r; - if (true) { - knownTemplateRefs.add(ret); - } - return ret; -} -function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) { - if (isArray(rawRef)) { - rawRef.forEach( - (r, i) => setRef( - r, - oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef), - parentSuspense, - vnode, - isUnmount - ) - ); - return; - } - if (isAsyncWrapper(vnode) && !isUnmount) { - if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) { - setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree); - } - return; - } - const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el; - const value = isUnmount ? null : refValue; - const { i: owner, r: ref2 } = rawRef; - if (!owner) { - warn$1( - `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.` - ); - return; - } - const oldRef = oldRawRef && oldRawRef.r; - const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs; - const setupState = owner.setupState; - const rawSetupState = toRaw(setupState); - const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => { - if (true) { - if (hasOwn(rawSetupState, key) && !isRef2(rawSetupState[key])) { - warn$1( - `Template ref "${key}" used on a non-ref value. It will not work in the production build.` - ); - } - if (knownTemplateRefs.has(rawSetupState[key])) { - return false; - } - } - return hasOwn(rawSetupState, key); - }; - if (oldRef != null && oldRef !== ref2) { - if (isString(oldRef)) { - refs[oldRef] = null; - if (canSetSetupRef(oldRef)) { - setupState[oldRef] = null; - } - } else if (isRef2(oldRef)) { - oldRef.value = null; - } - } - if (isFunction(ref2)) { - callWithErrorHandling(ref2, owner, 12, [value, refs]); - } else { - const _isString = isString(ref2); - const _isRef = isRef2(ref2); - if (_isString || _isRef) { - const doSet = () => { - if (rawRef.f) { - const existing = _isString ? canSetSetupRef(ref2) ? setupState[ref2] : refs[ref2] : ref2.value; - if (isUnmount) { - isArray(existing) && remove(existing, refValue); - } else { - if (!isArray(existing)) { - if (_isString) { - refs[ref2] = [refValue]; - if (canSetSetupRef(ref2)) { - setupState[ref2] = refs[ref2]; - } - } else { - ref2.value = [refValue]; - if (rawRef.k) refs[rawRef.k] = ref2.value; - } - } else if (!existing.includes(refValue)) { - existing.push(refValue); - } - } - } else if (_isString) { - refs[ref2] = value; - if (canSetSetupRef(ref2)) { - setupState[ref2] = value; - } - } else if (_isRef) { - ref2.value = value; - if (rawRef.k) refs[rawRef.k] = value; - } else if (true) { - warn$1("Invalid template ref type:", ref2, `(${typeof ref2})`); - } - }; - if (value) { - doSet.id = -1; - queuePostRenderEffect(doSet, parentSuspense); - } else { - doSet(); - } - } else if (true) { - warn$1("Invalid template ref type:", ref2, `(${typeof ref2})`); - } - } -} -var hasLoggedMismatchError = false; -var logMismatchError = () => { - if (hasLoggedMismatchError) { - return; - } - console.error("Hydration completed but contains mismatches."); - hasLoggedMismatchError = true; -}; -var isSVGContainer = (container) => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject"; -var isMathMLContainer = (container) => container.namespaceURI.includes("MathML"); -var getContainerType = (container) => { - if (container.nodeType !== 1) return void 0; - if (isSVGContainer(container)) return "svg"; - if (isMathMLContainer(container)) return "mathml"; - return void 0; -}; -var isComment = (node) => node.nodeType === 8; -function createHydrationFunctions(rendererInternals) { - const { - mt: mountComponent, - p: patch, - o: { - patchProp: patchProp2, - createText, - nextSibling, - parentNode, - remove: remove2, - insert, - createComment - } - } = rendererInternals; - const hydrate2 = (vnode, container) => { - if (!container.hasChildNodes()) { - warn$1( - `Attempting to hydrate existing markup but container is empty. Performing full mount instead.` - ); - patch(null, vnode, container); - flushPostFlushCbs(); - container._vnode = vnode; - return; - } - hydrateNode(container.firstChild, vnode, null, null, null); - flushPostFlushCbs(); - container._vnode = vnode; - }; - const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => { - optimized = optimized || !!vnode.dynamicChildren; - const isFragmentStart = isComment(node) && node.data === "["; - const onMismatch = () => handleMismatch( - node, - vnode, - parentComponent, - parentSuspense, - slotScopeIds, - isFragmentStart - ); - const { type, ref: ref2, shapeFlag, patchFlag } = vnode; - let domType = node.nodeType; - vnode.el = node; - if (true) { - def(node, "__vnode", vnode, true); - def(node, "__vueParentComponent", parentComponent, true); - } - if (patchFlag === -2) { - optimized = false; - vnode.dynamicChildren = null; - } - let nextNode = null; - switch (type) { - case Text: - if (domType !== 3) { - if (vnode.children === "") { - insert(vnode.el = createText(""), parentNode(node), node); - nextNode = node; - } else { - nextNode = onMismatch(); - } - } else { - if (node.data !== vnode.children) { - warn$1( - `Hydration text mismatch in`, - node.parentNode, - ` - - rendered on server: ${JSON.stringify( - node.data - )} - - expected on client: ${JSON.stringify(vnode.children)}` - ); - logMismatchError(); - node.data = vnode.children; - } - nextNode = nextSibling(node); - } - break; - case Comment: - if (isTemplateNode(node)) { - nextNode = nextSibling(node); - replaceNode( - vnode.el = node.content.firstChild, - node, - parentComponent - ); - } else if (domType !== 8 || isFragmentStart) { - nextNode = onMismatch(); - } else { - nextNode = nextSibling(node); - } - break; - case Static: - if (isFragmentStart) { - node = nextSibling(node); - domType = node.nodeType; - } - if (domType === 1 || domType === 3) { - nextNode = node; - const needToAdoptContent = !vnode.children.length; - for (let i = 0; i < vnode.staticCount; i++) { - if (needToAdoptContent) - vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data; - if (i === vnode.staticCount - 1) { - vnode.anchor = nextNode; - } - nextNode = nextSibling(nextNode); - } - return isFragmentStart ? nextSibling(nextNode) : nextNode; - } else { - onMismatch(); - } - break; - case Fragment: - if (!isFragmentStart) { - nextNode = onMismatch(); - } else { - nextNode = hydrateFragment( - node, - vnode, - parentComponent, - parentSuspense, - slotScopeIds, - optimized - ); - } - break; - default: - if (shapeFlag & 1) { - if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) { - nextNode = onMismatch(); - } else { - nextNode = hydrateElement( - node, - vnode, - parentComponent, - parentSuspense, - slotScopeIds, - optimized - ); - } - } else if (shapeFlag & 6) { - vnode.slotScopeIds = slotScopeIds; - const container = parentNode(node); - if (isFragmentStart) { - nextNode = locateClosingAnchor(node); - } else if (isComment(node) && node.data === "teleport start") { - nextNode = locateClosingAnchor(node, node.data, "teleport end"); - } else { - nextNode = nextSibling(node); - } - mountComponent( - vnode, - container, - null, - parentComponent, - parentSuspense, - getContainerType(container), - optimized - ); - if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) { - let subTree; - if (isFragmentStart) { - subTree = createVNode(Fragment); - subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild; - } else { - subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div"); - } - subTree.el = node; - vnode.component.subTree = subTree; - } - } else if (shapeFlag & 64) { - if (domType !== 8) { - nextNode = onMismatch(); - } else { - nextNode = vnode.type.hydrate( - node, - vnode, - parentComponent, - parentSuspense, - slotScopeIds, - optimized, - rendererInternals, - hydrateChildren - ); - } - } else if (shapeFlag & 128) { - nextNode = vnode.type.hydrate( - node, - vnode, - parentComponent, - parentSuspense, - getContainerType(parentNode(node)), - slotScopeIds, - optimized, - rendererInternals, - hydrateNode - ); - } else if (true) { - warn$1("Invalid HostVNode type:", type, `(${typeof type})`); - } - } - if (ref2 != null) { - setRef(ref2, null, parentSuspense, vnode); - } - return nextNode; - }; - const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => { - optimized = optimized || !!vnode.dynamicChildren; - const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode; - const forcePatch = type === "input" || type === "option"; - if (true) { - if (dirs) { - invokeDirectiveHook(vnode, null, parentComponent, "created"); - } - let needCallTransitionHooks = false; - if (isTemplateNode(el)) { - needCallTransitionHooks = needTransition( - null, - // no need check parentSuspense in hydration - transition - ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear; - const content = el.content.firstChild; - if (needCallTransitionHooks) { - transition.beforeEnter(content); - } - replaceNode(content, el, parentComponent); - vnode.el = el = content; - } - if (shapeFlag & 16 && // skip if element has innerHTML / textContent - !(props && (props.innerHTML || props.textContent))) { - let next = hydrateChildren( - el.firstChild, - vnode, - el, - parentComponent, - parentSuspense, - slotScopeIds, - optimized - ); - let hasWarned2 = false; - while (next) { - if (!isMismatchAllowed( - el, - 1 - /* CHILDREN */ - )) { - if (!hasWarned2) { - warn$1( - `Hydration children mismatch on`, - el, - ` -Server rendered element contains more child nodes than client vdom.` - ); - hasWarned2 = true; - } - logMismatchError(); - } - const cur = next; - next = next.nextSibling; - remove2(cur); - } - } else if (shapeFlag & 8) { - let clientText = vnode.children; - if (clientText[0] === "\n" && (el.tagName === "PRE" || el.tagName === "TEXTAREA")) { - clientText = clientText.slice(1); - } - if (el.textContent !== clientText) { - if (!isMismatchAllowed( - el, - 0 - /* TEXT */ - )) { - warn$1( - `Hydration text content mismatch on`, - el, - ` - - rendered on server: ${el.textContent} - - expected on client: ${vnode.children}` - ); - logMismatchError(); - } - el.textContent = vnode.children; - } - } - if (props) { - if (true) { - const isCustomElement = el.tagName.includes("-"); - for (const key in props) { - if (// #11189 skip if this node has directives that have created hooks - // as it could have mutated the DOM in any possible way - !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) { - logMismatchError(); - } - if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers - key[0] === "." || isCustomElement) { - patchProp2(el, key, null, props[key], void 0, parentComponent); - } - } - } else if (props.onClick) { - patchProp2( - el, - "onClick", - null, - props.onClick, - void 0, - parentComponent - ); - } else if (patchFlag & 4 && isReactive(props.style)) { - for (const key in props.style) props.style[key]; - } - } - let vnodeHooks; - if (vnodeHooks = props && props.onVnodeBeforeMount) { - invokeVNodeHook(vnodeHooks, parentComponent, vnode); - } - if (dirs) { - invokeDirectiveHook(vnode, null, parentComponent, "beforeMount"); - } - if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) { - queueEffectWithSuspense(() => { - vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode); - needCallTransitionHooks && transition.enter(el); - dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted"); - }, parentSuspense); - } - } - return el.nextSibling; - }; - const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => { - optimized = optimized || !!parentVNode.dynamicChildren; - const children = parentVNode.children; - const l = children.length; - let hasWarned2 = false; - for (let i = 0; i < l; i++) { - const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]); - const isText = vnode.type === Text; - if (node) { - if (isText && !optimized) { - if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) { - insert( - createText( - node.data.slice(vnode.children.length) - ), - container, - nextSibling(node) - ); - node.data = vnode.children; - } - } - node = hydrateNode( - node, - vnode, - parentComponent, - parentSuspense, - slotScopeIds, - optimized - ); - } else if (isText && !vnode.children) { - insert(vnode.el = createText(""), container); - } else { - if (!isMismatchAllowed( - container, - 1 - /* CHILDREN */ - )) { - if (!hasWarned2) { - warn$1( - `Hydration children mismatch on`, - container, - ` -Server rendered element contains fewer child nodes than client vdom.` - ); - hasWarned2 = true; - } - logMismatchError(); - } - patch( - null, - vnode, - container, - null, - parentComponent, - parentSuspense, - getContainerType(container), - slotScopeIds - ); - } - } - return node; - }; - const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => { - const { slotScopeIds: fragmentSlotScopeIds } = vnode; - if (fragmentSlotScopeIds) { - slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds; - } - const container = parentNode(node); - const next = hydrateChildren( - nextSibling(node), - vnode, - container, - parentComponent, - parentSuspense, - slotScopeIds, - optimized - ); - if (next && isComment(next) && next.data === "]") { - return nextSibling(vnode.anchor = next); - } else { - logMismatchError(); - insert(vnode.anchor = createComment(`]`), container, next); - return next; - } - }; - const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => { - if (!isMismatchAllowed( - node.parentElement, - 1 - /* CHILDREN */ - )) { - warn$1( - `Hydration node mismatch: -- rendered on server:`, - node, - node.nodeType === 3 ? `(text)` : isComment(node) && node.data === "[" ? `(start of fragment)` : ``, - ` -- expected on client:`, - vnode.type - ); - logMismatchError(); - } - vnode.el = null; - if (isFragment) { - const end = locateClosingAnchor(node); - while (true) { - const next2 = nextSibling(node); - if (next2 && next2 !== end) { - remove2(next2); - } else { - break; - } - } - } - const next = nextSibling(node); - const container = parentNode(node); - remove2(node); - patch( - null, - vnode, - container, - next, - parentComponent, - parentSuspense, - getContainerType(container), - slotScopeIds - ); - if (parentComponent) { - parentComponent.vnode.el = vnode.el; - updateHOCHostEl(parentComponent, vnode.el); - } - return next; - }; - const locateClosingAnchor = (node, open = "[", close = "]") => { - let match = 0; - while (node) { - node = nextSibling(node); - if (node && isComment(node)) { - if (node.data === open) match++; - if (node.data === close) { - if (match === 0) { - return nextSibling(node); - } else { - match--; - } - } - } - } - return node; - }; - const replaceNode = (newNode, oldNode, parentComponent) => { - const parentNode2 = oldNode.parentNode; - if (parentNode2) { - parentNode2.replaceChild(newNode, oldNode); - } - let parent = parentComponent; - while (parent) { - if (parent.vnode.el === oldNode) { - parent.vnode.el = parent.subTree.el = newNode; - } - parent = parent.parent; - } - }; - const isTemplateNode = (node) => { - return node.nodeType === 1 && node.tagName === "TEMPLATE"; - }; - return [hydrate2, hydrateNode]; -} -function propHasMismatch(el, key, clientValue, vnode, instance) { - let mismatchType; - let mismatchKey; - let actual; - let expected; - if (key === "class") { - actual = el.getAttribute("class"); - expected = normalizeClass(clientValue); - if (!isSetEqual(toClassSet(actual || ""), toClassSet(expected))) { - mismatchType = 2; - mismatchKey = `class`; - } - } else if (key === "style") { - actual = el.getAttribute("style") || ""; - expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue)); - const actualMap = toStyleMap(actual); - const expectedMap = toStyleMap(expected); - if (vnode.dirs) { - for (const { dir, value } of vnode.dirs) { - if (dir.name === "show" && !value) { - expectedMap.set("display", "none"); - } - } - } - if (instance) { - resolveCssVars(instance, vnode, expectedMap); - } - if (!isMapEqual(actualMap, expectedMap)) { - mismatchType = 3; - mismatchKey = "style"; - } - } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) { - if (isBooleanAttr(key)) { - actual = el.hasAttribute(key); - expected = includeBooleanAttr(clientValue); - } else if (clientValue == null) { - actual = el.hasAttribute(key); - expected = false; - } else { - if (el.hasAttribute(key)) { - actual = el.getAttribute(key); - } else if (key === "value" && el.tagName === "TEXTAREA") { - actual = el.value; - } else { - actual = false; - } - expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false; - } - if (actual !== expected) { - mismatchType = 4; - mismatchKey = key; - } - } - if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) { - const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}="${v}"`; - const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`; - const postSegment = ` - - rendered on server: ${format(actual)} - - expected on client: ${format(expected)} - Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead. - You should fix the source of the mismatch.`; - { - warn$1(preSegment, el, postSegment); - } - return true; - } - return false; -} -function toClassSet(str) { - return new Set(str.trim().split(/\s+/)); -} -function isSetEqual(a, b) { - if (a.size !== b.size) { - return false; - } - for (const s of a) { - if (!b.has(s)) { - return false; - } - } - return true; -} -function toStyleMap(str) { - const styleMap = /* @__PURE__ */ new Map(); - for (const item of str.split(";")) { - let [key, value] = item.split(":"); - key = key.trim(); - value = value && value.trim(); - if (key && value) { - styleMap.set(key, value); - } - } - return styleMap; -} -function isMapEqual(a, b) { - if (a.size !== b.size) { - return false; - } - for (const [key, value] of a) { - if (value !== b.get(key)) { - return false; - } - } - return true; -} -function resolveCssVars(instance, vnode, expectedMap) { - const root = instance.subTree; - if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) { - const cssVars = instance.getCssVars(); - for (const key in cssVars) { - expectedMap.set( - `--${getEscapedCssVarName(key, false)}`, - String(cssVars[key]) - ); - } - } - if (vnode === root && instance.parent) { - resolveCssVars(instance.parent, instance.vnode, expectedMap); - } -} -var allowMismatchAttr = "data-allow-mismatch"; -var MismatchTypeString = { - [ - 0 - /* TEXT */ - ]: "text", - [ - 1 - /* CHILDREN */ - ]: "children", - [ - 2 - /* CLASS */ - ]: "class", - [ - 3 - /* STYLE */ - ]: "style", - [ - 4 - /* ATTRIBUTE */ - ]: "attribute" -}; -function isMismatchAllowed(el, allowedType) { - if (allowedType === 0 || allowedType === 1) { - while (el && !el.hasAttribute(allowMismatchAttr)) { - el = el.parentElement; - } - } - const allowedAttr = el && el.getAttribute(allowMismatchAttr); - if (allowedAttr == null) { - return false; - } else if (allowedAttr === "") { - return true; - } else { - const list = allowedAttr.split(","); - if (allowedType === 0 && list.includes("children")) { - return true; - } - return allowedAttr.split(",").includes(MismatchTypeString[allowedType]); - } -} -var requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1)); -var cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id)); -var hydrateOnIdle = (timeout = 1e4) => (hydrate2) => { - const id = requestIdleCallback(hydrate2, { timeout }); - return () => cancelIdleCallback(id); -}; -function elementIsVisibleInViewport(el) { - const { top, left, bottom, right } = el.getBoundingClientRect(); - const { innerHeight, innerWidth } = window; - return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth); -} -var hydrateOnVisible = (opts) => (hydrate2, forEach) => { - const ob = new IntersectionObserver((entries) => { - for (const e of entries) { - if (!e.isIntersecting) continue; - ob.disconnect(); - hydrate2(); - break; - } - }, opts); - forEach((el) => { - if (!(el instanceof Element)) return; - if (elementIsVisibleInViewport(el)) { - hydrate2(); - ob.disconnect(); - return false; - } - ob.observe(el); - }); - return () => ob.disconnect(); -}; -var hydrateOnMediaQuery = (query) => (hydrate2) => { - if (query) { - const mql = matchMedia(query); - if (mql.matches) { - hydrate2(); - } else { - mql.addEventListener("change", hydrate2, { once: true }); - return () => mql.removeEventListener("change", hydrate2); - } - } -}; -var hydrateOnInteraction = (interactions = []) => (hydrate2, forEach) => { - if (isString(interactions)) interactions = [interactions]; - let hasHydrated = false; - const doHydrate = (e) => { - if (!hasHydrated) { - hasHydrated = true; - teardown(); - hydrate2(); - e.target.dispatchEvent(new e.constructor(e.type, e)); - } - }; - const teardown = () => { - forEach((el) => { - for (const i of interactions) { - el.removeEventListener(i, doHydrate); - } - }); - }; - forEach((el) => { - for (const i of interactions) { - el.addEventListener(i, doHydrate, { once: true }); - } - }); - return teardown; -}; -function forEachElement(node, cb) { - if (isComment(node) && node.data === "[") { - let depth = 1; - let next = node.nextSibling; - while (next) { - if (next.nodeType === 1) { - const result = cb(next); - if (result === false) { - break; - } - } else if (isComment(next)) { - if (next.data === "]") { - if (--depth === 0) break; - } else if (next.data === "[") { - depth++; - } - } - next = next.nextSibling; - } - } else { - cb(node); - } -} -var isAsyncWrapper = (i) => !!i.type.__asyncLoader; -function defineAsyncComponent(source) { - if (isFunction(source)) { - source = { loader: source }; - } - const { - loader, - loadingComponent, - errorComponent, - delay = 200, - hydrate: hydrateStrategy, - timeout, - // undefined = never times out - suspensible = true, - onError: userOnError - } = source; - let pendingRequest = null; - let resolvedComp; - let retries = 0; - const retry = () => { - retries++; - pendingRequest = null; - return load(); - }; - const load = () => { - let thisRequest; - return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => { - err = err instanceof Error ? err : new Error(String(err)); - if (userOnError) { - return new Promise((resolve2, reject) => { - const userRetry = () => resolve2(retry()); - const userFail = () => reject(err); - userOnError(err, userRetry, userFail, retries + 1); - }); - } else { - throw err; - } - }).then((comp) => { - if (thisRequest !== pendingRequest && pendingRequest) { - return pendingRequest; - } - if (!comp) { - warn$1( - `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.` - ); - } - if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) { - comp = comp.default; - } - if (comp && !isObject(comp) && !isFunction(comp)) { - throw new Error(`Invalid async component load result: ${comp}`); - } - resolvedComp = comp; - return comp; - })); - }; - return defineComponent({ - name: "AsyncComponentWrapper", - __asyncLoader: load, - __asyncHydrate(el, instance, hydrate2) { - const doHydrate = hydrateStrategy ? () => { - const teardown = hydrateStrategy( - hydrate2, - (cb) => forEachElement(el, cb) - ); - if (teardown) { - (instance.bum || (instance.bum = [])).push(teardown); - } - } : hydrate2; - if (resolvedComp) { - doHydrate(); - } else { - load().then(() => !instance.isUnmounted && doHydrate()); - } - }, - get __asyncResolved() { - return resolvedComp; - }, - setup() { - const instance = currentInstance; - markAsyncBoundary(instance); - if (resolvedComp) { - return () => createInnerComp(resolvedComp, instance); - } - const onError = (err) => { - pendingRequest = null; - handleError( - err, - instance, - 13, - !errorComponent - ); - }; - if (suspensible && instance.suspense || isInSSRComponentSetup) { - return load().then((comp) => { - return () => createInnerComp(comp, instance); - }).catch((err) => { - onError(err); - return () => errorComponent ? createVNode(errorComponent, { - error: err - }) : null; - }); - } - const loaded = ref(false); - const error = ref(); - const delayed = ref(!!delay); - if (delay) { - setTimeout(() => { - delayed.value = false; - }, delay); - } - if (timeout != null) { - setTimeout(() => { - if (!loaded.value && !error.value) { - const err = new Error( - `Async component timed out after ${timeout}ms.` - ); - onError(err); - error.value = err; - } - }, timeout); - } - load().then(() => { - loaded.value = true; - if (instance.parent && isKeepAlive(instance.parent.vnode)) { - instance.parent.update(); - } - }).catch((err) => { - onError(err); - error.value = err; - }); - return () => { - if (loaded.value && resolvedComp) { - return createInnerComp(resolvedComp, instance); - } else if (error.value && errorComponent) { - return createVNode(errorComponent, { - error: error.value - }); - } else if (loadingComponent && !delayed.value) { - return createVNode(loadingComponent); - } - }; - } - }); -} -function createInnerComp(comp, parent) { - const { ref: ref2, props, children, ce } = parent.vnode; - const vnode = createVNode(comp, props, children); - vnode.ref = ref2; - vnode.ce = ce; - delete parent.vnode.ce; - return vnode; -} -var isKeepAlive = (vnode) => vnode.type.__isKeepAlive; -var KeepAliveImpl = { - name: `KeepAlive`, - // Marker for special handling inside the renderer. We are not using a === - // check directly on KeepAlive in the renderer, because importing it directly - // would prevent it from being tree-shaken. - __isKeepAlive: true, - props: { - include: [String, RegExp, Array], - exclude: [String, RegExp, Array], - max: [String, Number] - }, - setup(props, { slots }) { - const instance = getCurrentInstance(); - const sharedContext = instance.ctx; - if (!sharedContext.renderer) { - return () => { - const children = slots.default && slots.default(); - return children && children.length === 1 ? children[0] : children; - }; - } - const cache = /* @__PURE__ */ new Map(); - const keys = /* @__PURE__ */ new Set(); - let current = null; - if (true) { - instance.__v_cache = cache; - } - const parentSuspense = instance.suspense; - const { - renderer: { - p: patch, - m: move, - um: _unmount, - o: { createElement } - } - } = sharedContext; - const storageContainer = createElement("div"); - sharedContext.activate = (vnode, container, anchor, namespace, optimized) => { - const instance2 = vnode.component; - move(vnode, container, anchor, 0, parentSuspense); - patch( - instance2.vnode, - vnode, - container, - anchor, - instance2, - parentSuspense, - namespace, - vnode.slotScopeIds, - optimized - ); - queuePostRenderEffect(() => { - instance2.isDeactivated = false; - if (instance2.a) { - invokeArrayFns(instance2.a); - } - const vnodeHook = vnode.props && vnode.props.onVnodeMounted; - if (vnodeHook) { - invokeVNodeHook(vnodeHook, instance2.parent, vnode); - } - }, parentSuspense); - if (true) { - devtoolsComponentAdded(instance2); - } - }; - sharedContext.deactivate = (vnode) => { - const instance2 = vnode.component; - invalidateMount(instance2.m); - invalidateMount(instance2.a); - move(vnode, storageContainer, null, 1, parentSuspense); - queuePostRenderEffect(() => { - if (instance2.da) { - invokeArrayFns(instance2.da); - } - const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted; - if (vnodeHook) { - invokeVNodeHook(vnodeHook, instance2.parent, vnode); - } - instance2.isDeactivated = true; - }, parentSuspense); - if (true) { - devtoolsComponentAdded(instance2); - } - }; - function unmount(vnode) { - resetShapeFlag(vnode); - _unmount(vnode, instance, parentSuspense, true); - } - function pruneCache(filter) { - cache.forEach((vnode, key) => { - const name = getComponentName(vnode.type); - if (name && !filter(name)) { - pruneCacheEntry(key); - } - }); - } - function pruneCacheEntry(key) { - const cached = cache.get(key); - if (cached && (!current || !isSameVNodeType(cached, current))) { - unmount(cached); - } else if (current) { - resetShapeFlag(current); - } - cache.delete(key); - keys.delete(key); - } - watch2( - () => [props.include, props.exclude], - ([include, exclude]) => { - include && pruneCache((name) => matches(include, name)); - exclude && pruneCache((name) => !matches(exclude, name)); - }, - // prune post-render after `current` has been updated - { flush: "post", deep: true } - ); - let pendingCacheKey = null; - const cacheSubtree = () => { - if (pendingCacheKey != null) { - if (isSuspense(instance.subTree.type)) { - queuePostRenderEffect(() => { - cache.set(pendingCacheKey, getInnerChild(instance.subTree)); - }, instance.subTree.suspense); - } else { - cache.set(pendingCacheKey, getInnerChild(instance.subTree)); - } - } - }; - onMounted(cacheSubtree); - onUpdated(cacheSubtree); - onBeforeUnmount(() => { - cache.forEach((cached) => { - const { subTree, suspense } = instance; - const vnode = getInnerChild(subTree); - if (cached.type === vnode.type && cached.key === vnode.key) { - resetShapeFlag(vnode); - const da = vnode.component.da; - da && queuePostRenderEffect(da, suspense); - return; - } - unmount(cached); - }); - }); - return () => { - pendingCacheKey = null; - if (!slots.default) { - return current = null; - } - const children = slots.default(); - const rawVNode = children[0]; - if (children.length > 1) { - if (true) { - warn$1(`KeepAlive should contain exactly one component child.`); - } - current = null; - return children; - } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) { - current = null; - return rawVNode; - } - let vnode = getInnerChild(rawVNode); - if (vnode.type === Comment) { - current = null; - return vnode; - } - const comp = vnode.type; - const name = getComponentName( - isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp - ); - const { include, exclude, max } = props; - if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) { - vnode.shapeFlag &= ~256; - current = vnode; - return rawVNode; - } - const key = vnode.key == null ? comp : vnode.key; - const cachedVNode = cache.get(key); - if (vnode.el) { - vnode = cloneVNode(vnode); - if (rawVNode.shapeFlag & 128) { - rawVNode.ssContent = vnode; - } - } - pendingCacheKey = key; - if (cachedVNode) { - vnode.el = cachedVNode.el; - vnode.component = cachedVNode.component; - if (vnode.transition) { - setTransitionHooks(vnode, vnode.transition); - } - vnode.shapeFlag |= 512; - keys.delete(key); - keys.add(key); - } else { - keys.add(key); - if (max && keys.size > parseInt(max, 10)) { - pruneCacheEntry(keys.values().next().value); - } - } - vnode.shapeFlag |= 256; - current = vnode; - return isSuspense(rawVNode.type) ? rawVNode : vnode; - }; - } -}; -var KeepAlive = KeepAliveImpl; -function matches(pattern, name) { - if (isArray(pattern)) { - return pattern.some((p2) => matches(p2, name)); - } else if (isString(pattern)) { - return pattern.split(",").includes(name); - } else if (isRegExp(pattern)) { - pattern.lastIndex = 0; - return pattern.test(name); - } - return false; -} -function onActivated(hook, target) { - registerKeepAliveHook(hook, "a", target); -} -function onDeactivated(hook, target) { - registerKeepAliveHook(hook, "da", target); -} -function registerKeepAliveHook(hook, type, target = currentInstance) { - const wrappedHook = hook.__wdc || (hook.__wdc = () => { - let current = target; - while (current) { - if (current.isDeactivated) { - return; - } - current = current.parent; - } - return hook(); - }); - injectHook(type, wrappedHook, target); - if (target) { - let current = target.parent; - while (current && current.parent) { - if (isKeepAlive(current.parent.vnode)) { - injectToKeepAliveRoot(wrappedHook, type, target, current); - } - current = current.parent; - } - } -} -function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) { - const injected = injectHook( - type, - hook, - keepAliveRoot, - true - /* prepend */ - ); - onUnmounted(() => { - remove(keepAliveRoot[type], injected); - }, target); -} -function resetShapeFlag(vnode) { - vnode.shapeFlag &= ~256; - vnode.shapeFlag &= ~512; -} -function getInnerChild(vnode) { - return vnode.shapeFlag & 128 ? vnode.ssContent : vnode; -} -function injectHook(type, hook, target = currentInstance, prepend = false) { - if (target) { - const hooks = target[type] || (target[type] = []); - const wrappedHook = hook.__weh || (hook.__weh = (...args) => { - pauseTracking(); - const reset = setCurrentInstance(target); - const res = callWithAsyncErrorHandling(hook, target, type, args); - reset(); - resetTracking(); - return res; - }); - if (prepend) { - hooks.unshift(wrappedHook); - } else { - hooks.push(wrappedHook); - } - return wrappedHook; - } else if (true) { - const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, "")); - warn$1( - `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` - ); - } -} -var createHook = (lifecycle) => (hook, target = currentInstance) => { - if (!isInSSRComponentSetup || lifecycle === "sp") { - injectHook(lifecycle, (...args) => hook(...args), target); - } -}; -var onBeforeMount = createHook("bm"); -var onMounted = createHook("m"); -var onBeforeUpdate = createHook( - "bu" -); -var onUpdated = createHook("u"); -var onBeforeUnmount = createHook( - "bum" -); -var onUnmounted = createHook("um"); -var onServerPrefetch = createHook( - "sp" -); -var onRenderTriggered = createHook("rtg"); -var onRenderTracked = createHook("rtc"); -function onErrorCaptured(hook, target = currentInstance) { - injectHook("ec", hook, target); -} -var COMPONENTS = "components"; -var DIRECTIVES = "directives"; -function resolveComponent(name, maybeSelfReference) { - return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name; -} -var NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc"); -function resolveDynamicComponent(component) { - if (isString(component)) { - return resolveAsset(COMPONENTS, component, false) || component; - } else { - return component || NULL_DYNAMIC_COMPONENT; - } -} -function resolveDirective(name) { - return resolveAsset(DIRECTIVES, name); -} -function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) { - const instance = currentRenderingInstance || currentInstance; - if (instance) { - const Component = instance.type; - if (type === COMPONENTS) { - const selfName = getComponentName( - Component, - false - ); - if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) { - return Component; - } - } - const res = ( - // local registration - // check instance[type] first which is resolved for options API - resolve(instance[type] || Component[type], name) || // global registration - resolve(instance.appContext[type], name) - ); - if (!res && maybeSelfReference) { - return Component; - } - if (warnMissing && !res) { - const extra = type === COMPONENTS ? ` -If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``; - warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`); - } - return res; - } else if (true) { - warn$1( - `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().` - ); - } -} -function resolve(registry, name) { - return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]); -} -function renderList(source, renderItem, cache, index) { - let ret; - const cached = cache && cache[index]; - const sourceIsArray = isArray(source); - if (sourceIsArray || isString(source)) { - const sourceIsReactiveArray = sourceIsArray && isReactive(source); - let needsWrap = false; - if (sourceIsReactiveArray) { - needsWrap = !isShallow(source); - source = shallowReadArray(source); - } - ret = new Array(source.length); - for (let i = 0, l = source.length; i < l; i++) { - ret[i] = renderItem( - needsWrap ? toReactive(source[i]) : source[i], - i, - void 0, - cached && cached[i] - ); - } - } else if (typeof source === "number") { - if (!Number.isInteger(source)) { - warn$1(`The v-for range expect an integer value but got ${source}.`); - } - ret = new Array(source); - for (let i = 0; i < source; i++) { - ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]); - } - } else if (isObject(source)) { - if (source[Symbol.iterator]) { - ret = Array.from( - source, - (item, i) => renderItem(item, i, void 0, cached && cached[i]) - ); - } else { - const keys = Object.keys(source); - ret = new Array(keys.length); - for (let i = 0, l = keys.length; i < l; i++) { - const key = keys[i]; - ret[i] = renderItem(source[key], key, i, cached && cached[i]); - } - } - } else { - ret = []; - } - if (cache) { - cache[index] = ret; - } - return ret; -} -function createSlots(slots, dynamicSlots) { - for (let i = 0; i < dynamicSlots.length; i++) { - const slot = dynamicSlots[i]; - if (isArray(slot)) { - for (let j = 0; j < slot.length; j++) { - slots[slot[j].name] = slot[j].fn; - } - } else if (slot) { - slots[slot.name] = slot.key ? (...args) => { - const res = slot.fn(...args); - if (res) res.key = slot.key; - return res; - } : slot.fn; - } - } - return slots; -} -function renderSlot(slots, name, props = {}, fallback, noSlotted) { - if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) { - if (name !== "default") props.name = name; - return openBlock(), createBlock( - Fragment, - null, - [createVNode("slot", props, fallback && fallback())], - 64 - ); - } - let slot = slots[name]; - if (slot && slot.length > 1) { - warn$1( - `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.` - ); - slot = () => []; - } - if (slot && slot._c) { - slot._d = false; - } - openBlock(); - const validSlotContent = slot && ensureValidVNode(slot(props)); - const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch - // key attached in the `createSlots` helper, respect that - validSlotContent && validSlotContent.key; - const rendered = createBlock( - Fragment, - { - key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content - (!validSlotContent && fallback ? "_fb" : "") - }, - validSlotContent || (fallback ? fallback() : []), - validSlotContent && slots._ === 1 ? 64 : -2 - ); - if (!noSlotted && rendered.scopeId) { - rendered.slotScopeIds = [rendered.scopeId + "-s"]; - } - if (slot && slot._c) { - slot._d = true; - } - return rendered; -} -function ensureValidVNode(vnodes) { - return vnodes.some((child) => { - if (!isVNode(child)) return true; - if (child.type === Comment) return false; - if (child.type === Fragment && !ensureValidVNode(child.children)) - return false; - return true; - }) ? vnodes : null; -} -function toHandlers(obj, preserveCaseIfNecessary) { - const ret = {}; - if (!isObject(obj)) { - warn$1(`v-on with no argument expects an object value.`); - return ret; - } - for (const key in obj) { - ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key]; - } - return ret; -} -var getPublicInstance = (i) => { - if (!i) return null; - if (isStatefulComponent(i)) return getComponentPublicInstance(i); - return getPublicInstance(i.parent); -}; -var publicPropertiesMap = ( - // Move PURE marker to new line to workaround compiler discarding it - // due to type annotation - extend(/* @__PURE__ */ Object.create(null), { - $: (i) => i, - $el: (i) => i.vnode.el, - $data: (i) => i.data, - $props: (i) => true ? shallowReadonly(i.props) : i.props, - $attrs: (i) => true ? shallowReadonly(i.attrs) : i.attrs, - $slots: (i) => true ? shallowReadonly(i.slots) : i.slots, - $refs: (i) => true ? shallowReadonly(i.refs) : i.refs, - $parent: (i) => getPublicInstance(i.parent), - $root: (i) => getPublicInstance(i.root), - $host: (i) => i.ce, - $emit: (i) => i.emit, - $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type, - $forceUpdate: (i) => i.f || (i.f = () => { - queueJob(i.update); - }), - $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)), - $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP - }) -); -var isReservedPrefix = (key) => key === "_" || key === "$"; -var hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key); -var PublicInstanceProxyHandlers = { - get({ _: instance }, key) { - if (key === "__v_skip") { - return true; - } - const { ctx, setupState, data, props, accessCache, type, appContext } = instance; - if (key === "__isVue") { - return true; - } - let normalizedProps; - if (key[0] !== "$") { - const n = accessCache[key]; - if (n !== void 0) { - switch (n) { - case 1: - return setupState[key]; - case 2: - return data[key]; - case 4: - return ctx[key]; - case 3: - return props[key]; - } - } else if (hasSetupBinding(setupState, key)) { - accessCache[key] = 1; - return setupState[key]; - } else if (data !== EMPTY_OBJ && hasOwn(data, key)) { - accessCache[key] = 2; - return data[key]; - } else if ( - // only cache other properties when instance has declared (thus stable) - // props - (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key) - ) { - accessCache[key] = 3; - return props[key]; - } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { - accessCache[key] = 4; - return ctx[key]; - } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) { - accessCache[key] = 0; - } - } - const publicGetter = publicPropertiesMap[key]; - let cssModule, globalProperties; - if (publicGetter) { - if (key === "$attrs") { - track(instance.attrs, "get", ""); - markAttrsAccessed(); - } else if (key === "$slots") { - track(instance, "get", key); - } - return publicGetter(instance); - } else if ( - // css module (injected by vue-loader) - (cssModule = type.__cssModules) && (cssModule = cssModule[key]) - ) { - return cssModule; - } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { - accessCache[key] = 4; - return ctx[key]; - } else if ( - // global properties - globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key) - ) { - { - return globalProperties[key]; - } - } else if (currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading - // to infinite warning loop - key.indexOf("__v") !== 0)) { - if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) { - warn$1( - `Property ${JSON.stringify( - key - )} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.` - ); - } else if (instance === currentRenderingInstance) { - warn$1( - `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.` - ); - } - } - }, - set({ _: instance }, key, value) { - const { data, setupState, ctx } = instance; - if (hasSetupBinding(setupState, key)) { - setupState[key] = value; - return true; - } else if (setupState.__isScriptSetup && hasOwn(setupState, key)) { - warn$1(`Cannot mutate - - - - \ No newline at end of file diff --git a/pulse/en/.vitepress/theme/index.ts b/pulse/en/.vitepress/theme/index.ts deleted file mode 100644 index b8e05ca2..00000000 --- a/pulse/en/.vitepress/theme/index.ts +++ /dev/null @@ -1,163 +0,0 @@ -import { h } from 'vue'; -import type { Theme } from 'vitepress'; -import DefaultTheme from 'vitepress/theme'; -import './style.css'; - -import { - NolebaseEnhancedReadabilitiesMenu, - NolebaseEnhancedReadabilitiesScreenMenu, - NolebaseEnhancedReadabilitiesPlugin, LayoutMode, - SpotlightStyle, -} from '@nolebase/vitepress-plugin-enhanced-readabilities/client' - -import '@nolebase/vitepress-plugin-enhanced-readabilities/client/style.css' - -import {NolebaseInlineLinkPreviewPlugin,} from '@nolebase/vitepress-plugin-inline-link-preview/client' - -import '@nolebase/vitepress-plugin-inline-link-preview/client/style.css' - -import AuthorsComponent from "./author/PageAuthors.vue" - -const EMOJI_MAP = { - tip: '💡', - info: 'ℹ️', - warning: '⚠️', - danger: '🔥', - details: '📜', -} as const; - -const YAML_CLASS = 'language-yaml'; -const HIGHLIGHT_CLASS = 'hash-highlight'; -let isHandlerAttached = false; - -const postRenderTasks = () => { - if (import.meta.env.SSR) return; - - injectEmojis(); - highlightHashElement(); - processYamlBlocks(); -}; - -function injectEmojis() { - const processBlock = (block: Element, emoji: string) => { - const title = block.querySelector('.custom-block-title, summary') as HTMLElement | null; - if (!title || title.dataset.emojiAdded) return; - - title.dataset.emojiAdded = 'true'; - title.insertAdjacentHTML('afterbegin', `${emoji} `); - }; - - Object.entries(EMOJI_MAP).forEach(([type, emoji]) => { - const selector = type === 'details' ? 'details.custom-block.details' : `.custom-block.${type}`; - document.querySelectorAll(selector).forEach((block) => { - processBlock(block, emoji); - }); - }); -} - -function highlightHashElement() { - if (import.meta.env.SSR) return; - - document.querySelectorAll(`.${HIGHLIGHT_CLASS}`).forEach((el) => { - el.classList.remove(HIGHLIGHT_CLASS); - }); - - const hash = decodeURIComponent(window.location.hash); - if (!hash) return; - - const target = document.querySelector(hash); - if (!target) return; - - target.classList.add(HIGHLIGHT_CLASS); - - const header = document.querySelector('.VPNavBar') as HTMLElement | null; - const headerHeight = header?.offsetHeight || 60; - const targetPosition = target.getBoundingClientRect().top + window.scrollY - headerHeight; - - window.scrollTo({ - top: targetPosition, - behavior: 'smooth', - }); -} - -function processYamlBlocks() { - if (import.meta.env.SSR) return; - - document.querySelectorAll(`div[class*="${YAML_CLASS}"] pre`).forEach((pre) => { - pre.classList.add('yaml-lines'); - - pre.querySelectorAll('.line').forEach((line) => { - if (line.querySelector('.line-content')) return; - - const wrapper = document.createElement('span'); - wrapper.className = 'line-content'; - wrapper.innerHTML = line.innerHTML; - line.innerHTML = ''; - line.appendChild(wrapper); - }); - }); -} - -const scheduleTask = (fn: () => void) => { - if (import.meta.env.SSR) { - fn(); - } else { - requestAnimationFrame(fn); - } -}; - -export default { - extends: DefaultTheme, - - Layout: () => h(DefaultTheme.Layout, null, { - 'page-after': () => scheduleTask(postRenderTasks), - 'nav-bar-content-after': () => h(NolebaseEnhancedReadabilitiesMenu), - 'nav-screen-content-after': () => h(NolebaseEnhancedReadabilitiesScreenMenu), - "aside-outline-after": () => h(AuthorsComponent), - }), - - enhanceApp({ app, router }) { - app.use(NolebaseEnhancedReadabilitiesPlugin, { - layoutSwitch: { - disableHelp: false, - defaultMode: LayoutMode.BothWidthAdjustable, - contentLayoutMaxWidth: { - disableHelp: false, - defaultMaxWidth: 100 - }, - pageLayoutMaxWidth: { - disableHelp: false, - defaultMaxWidth: 100 - } - }, - spotlight: { - disableHelp: false, - hoverBlockColor: 'rgb(240 197 52 / 10%)', - defaultToggle: true, - defaultStyle: SpotlightStyle.Aside, - } - }); - - app.use(NolebaseInlineLinkPreviewPlugin, { - popupWidth: 800, - popupHeight: 400, - }); - - app.provide('post-render', postRenderTasks); - - router.onAfterRouteChanged = () => { - scheduleTask(postRenderTasks); - }; - - if (!isHandlerAttached && !import.meta.env.SSR) { - window.addEventListener('hashchange', highlightHashElement); - document.addEventListener('click', (e) => { - const target = e.target as HTMLElement; - if (target.closest('.header-anchor, a[href^="#"]')) { - scheduleTask(highlightHashElement); - } - }); - isHandlerAttached = true; - } - }, -} satisfies Theme; \ No newline at end of file diff --git a/pulse/en/.vitepress/theme/style.css b/pulse/en/.vitepress/theme/style.css deleted file mode 100644 index 24206812..00000000 --- a/pulse/en/.vitepress/theme/style.css +++ /dev/null @@ -1,250 +0,0 @@ -:root { - --vp-c-brand-1: #0076c7; - --vp-c-brand-2: #ADD8E6; - --vp-c-indigo-1: #8ec5f6; - --vp-c-indigo-2: #0b94ee; - --vp-c-indigo-3: #0076c7; - --vp-c-indigo-soft: rgba(0, 118, 199, 0.18); - --vp-custom-block-tip-bg: rgba(0, 140, 227, 0.27); - --vp-custom-block-tip-code-bg: rgba(1, 137, 210, 0.19); -} - -:root.dark { - --vp-c-brand-1: #87CEFA; - --vp-c-brand-2: #ADD8E6; - --vp-c-indigo-1: #8ec5f6; - --vp-c-indigo-2: #0b94ee; - --vp-c-indigo-3: #0076c7; - --vp-c-indigo-soft: rgba(0, 118, 199, 0.18); - --vp-c-bg: #1b1b1b; - --vp-c-bg-alt: #222222; - --vp-c-bg-elv: #1b1b1b; - --vp-c-bg-soft: #222222; - --vp-c-gutter: #2e2e32; - --vp-custom-block-info-bg: #222222; - - [bg~="\$vp-nolebase-enhanced-readabilities-menu-background-color"] { - background-color: #222222; - } -} - -.VPButton.medium[data-v-a6f37409] { - border-radius: 8px; -} - -.VPButton.alt[data-v-a6f37409] { - background-color: var(--vp-c-gutter); -} - -.box[data-v-e8895942] { - border-radius: 13px; - border: 1px solid var(--vp-c-divider); -} - -.VPSocialLinks.VPNavBarSocialLinks.social-links { - margin-right: 0; -} - -.vp-code-group .tabs { - box-shadow: none; - border: 1px solid var(--vp-c-divider); -} - -.vp-doc div[class*='language-'], -.vp-block { - border: 1px solid var(--vp-c-divider); -} - -.vp-doc .custom-block { - border: 1px solid var(--vp-c-divider); -} - -.vp-doc table { - display: table; - width: 100%; - border-collapse: separate; - margin: 24px 0; - font-size: 14px; - overflow: hidden; - border-radius: 8px; - line-height: 1.6; - border-spacing: 0; -} - -.vp-doc tr:first-child th:first-child { - border-top-left-radius: 8px; -} - -.vp-doc tr:first-child th:last-child { - border-top-right-radius: 8px; -} - -.vp-doc tr:last-child td:first-child { - border-bottom-left-radius: 8px; -} - -.vp-doc tr:last-child td:last-child { - border-bottom-right-radius: 8px; -} - -.vp-doc th { - background-color: var(--vp-c-bg-soft); - text-align: left; - font-weight: 600; - padding: 12px 16px; - border: 1px solid var(--vp-c-divider); -} - -.vp-doc td { - padding: 12px 16px; - border: 1px solid var(--vp-c-divider); - vertical-align: top; -} - -.vp-doc :not(pre) > code { - background-color: var(--vp-c-bg-alt); -} - -.custom-block.details code, .vp-doc td > code { - background-color: var(--vp-c-gutter); -} - -img { - border-radius: 8px; -} - -div[class*='language-yaml'], -div[class*='language-yml'] { - position: relative; -} - -div[class*='language-yaml'] .line, -div[class*='language-yml'] .line { - position: relative; - display: inline-block; - width: 100%; - z-index: 1; -} - -div[class*='language-yaml'] .line::after, -div[class*='language-yml'] .line::after { - content: ''; - position: absolute; - left: -1.5rem; - right: -1.5rem; - top: 0; - bottom: 0; - background: rgba(66, 185, 131, 0.08); - z-index: -1; - opacity: 0; - transition: opacity 0.15s ease; -} - -div[class*='language-yaml'] .line:hover::after, -div[class*='language-yml'] .line:hover::after { - opacity: 1; -} - -div[class*='language-yaml'] .line::before, -div[class*='language-yml'] .line::before { - content: ''; - position: absolute; - left: -1.5rem; - top: 0; - bottom: 0; - width: 2px; - background: #42b983; - opacity: 0; - transition: opacity 0.15s ease; -} - -div[class*='language-yaml'] .line:hover::before, -div[class*='language-yml'] .line:hover::before { - opacity: 1; -} - -div[class*='language-yaml'] .line > span, -div[class*='language-yml'] .line > span { - display: inline-block; - padding: 0.1rem 0; - white-space: pre; -} - -.dark div[class*='language-yaml'] .line::after, -.dark div[class*='language-yml'] .line::after { - background: rgba(66, 185, 131, 0.15); -} - -.hash-highlight { - position: relative; - overflow: hidden; -} - -.hash-highlight::after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 2px; - background: var(--vp-c-brand-1); - animation: hash-line 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); - transform-origin: left; - opacity: 0.8; -} - -.hash-highlight .header-anchor { - color: var(--vp-c-brand-1) !important; - transition: color 0.3s ease; -} - -.dark .hash-highlight::after { - background: var(--vp-c-brand-2); -} - -.dark .hash-highlight .header-anchor { - color: var(--vp-c-brand-2) !important; -} - -@keyframes hash-line { - 0% { - transform: scaleX(0); - opacity: 0; - } - 40% { - transform: scaleX(1); - opacity: 1; - } - 100% { - transform: scaleX(1); - opacity: 0.8; - } -} - -kbd:not(.DocSearch-Button-Key) { - background-color: #eee !important; - border-radius: 3px; - border: 1px solid #b4b4b4; - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), - 0 2px 0 0 rgba(255, 255, 255, 0.7) inset; - color: #333; - display: inline-block; - font-size: 0.85em; - font-weight: 700; - line-height: 1; - padding: 5px; - white-space: nowrap; -} - -.DocSearch-Button { - background-color: transparent; -} - -.DocSearch-Button-Key { - display: none; -} - -.DocSearch-Button:active, .DocSearch-Button:focus, .DocSearch-Button:hover { - background-color: transparent; - border-color: transparent; -} \ No newline at end of file diff --git a/pulse/en/api/index.md b/pulse/en/api/index.md deleted file mode 100644 index c15a5882..00000000 --- a/pulse/en/api/index.md +++ /dev/null @@ -1,144 +0,0 @@ ---- -order: 100 -authors: - - TheFaser ---- - -# API - -FlectonePulse is a powerful Minecraft plugin for customizing server messages, chat, commands, and integrations, supporting platforms like Bukkit, Spigot, Paper, Purpur, Folia, BungeeCord, Velocity, and Fabric. It uses Google Guice for dependency injection, with most non-model classes annotated as `@Singleton` - -## Dependency Integration - -FlectonePulse is available on Maven Central. Below are configurations for including it in your project using Maven, Gradle (Groovy), or Gradle (Kotlin DSL) - -::: code-group - -```xml - - net.flectone.pulse - core - 1.7.3 - provided - -``` - -```groovy -repositories { - mavenCentral() -} - -dependencies { - compileOnly 'net.flectone.pulse:core:1.7.3' // Replace with latest version -} -``` - -```kotlin -repositories { - mavenCentral() -} - -dependencies { - compileOnly("net.flectone.pulse:core:1.7.3") // Replace with latest version -} -``` - -::: - -For snapshot versions: - -::: code-group - -```xml - - net.flectone.pulse - core - 1.7.4-SNAPSHOT - provided - -``` - -```groovy -repositories { - maven { url 'https://central.sonatype.com/repository/maven-snapshots/' } -} - -dependencies { - compileOnly 'net.flectone.pulse:core:1.7.4-SNAPSHOT' // Replace with latest version -} -``` - -```kotlin -repositories { - maven { url = uri("https://central.sonatype.com/repository/maven-snapshots/") } -} - -dependencies { - compileOnly("net.flectone.pulse:core:1.7.4-SNAPSHOT") // Replace with latest version -} -``` - -::: - -## Bukkit Example - -Below is an example of a Bukkit plugin using FlectonePulse to print "Hello from FlectonePulse" - -### plugin.yml -```yaml -name: MyPlugin -version: 1.0.0 -main: com.example.myplugin.MyPlugin -api-version: 1.13 -softdepend: - - FlectonePulse -``` - -### Example plugin code -```java -package com.example.myplugin; - -import net.flectone.pulse.FlectonePulse; -import net.flectone.pulse.FlectonePulseAPI; -import net.flectone.pulse.util.logging.FLogger; -import org.bukkit.Bukkit; -import org.bukkit.plugin.java.JavaPlugin; - -public class MyPlugin extends JavaPlugin { - - @Override - public void onEnable() { - - if (Bukkit.getPluginManager().getPlugin("FlectonePulse") != null) { - FlectonePulse flectonePulse = FlectonePulseAPI.getInstance(); - - FLogger fLogger = flectonePulse.get(FLogger.class); - fLogger.info("Hello from FlectonePulse"); - } - - } -} -``` - -## Key API Methods - -```java -FlectonePulse flectonePulse = FlectonePulseAPI.getInstance(); - -// Get singleton instance of specified class using Guice dependency injection -// Class clazz = ... -// flectonePulse.get(clazz); -FLogger fLogger = flectonePulse.get(FLogger.class); - -// Check if injector is ready -flectonePulse.isReady(); - -// Reload plugin, throws `ReloadException` on errors -flectonePulse.reload(); -``` - -## Notes - -- Ensure FlectonePulse is installed on the server and listed as a softdepend in `plugin.yml` -- Use `isReady()` to verify the injector is ready before calling `get()` -- For registering listeners, use `ListenerRegistry.class` and the `registerPermanent()` method \ No newline at end of file diff --git a/pulse/en/docs/command/afk/index.md b/pulse/en/docs/command/afk/index.md deleted file mode 100644 index 34c2333c..00000000 --- a/pulse/en/docs/command/afk/index.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/afk` - -Command to toggle AFK mode -![afk](/afkglobalmessage.png) - -::: danger ATTENTION -The command will not work if the [`AFK`](/docs/message/afk/) module is disabled -::: - -[//]: # (command.yml) - - `command.yml → afk` - -<<< @/files/command.yml#afk - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.afk` - -<<< @/files/permission.yml#afk - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/anon/index.md b/pulse/en/docs/command/anon/index.md deleted file mode 100644 index 081eb7c0..00000000 --- a/pulse/en/docs/command/anon/index.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/anon` - -Command for anonymous messages -![command anon](/commandanon.png) - -[//]: # (localization) - - `localizations → language.yml → command.anon` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#anon -<<< @/files/localizations/en_us.yml#anon -::: - -### `format` - -The format of the message that will be sent - -[//]: # (command.yml) - - `command.yml → anon` - - -<<< @/files/command.yml#anon - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.anon` - - -<<< @/files/permission.yml#anon - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/ball/index.md b/pulse/en/docs/command/ball/index.md deleted file mode 100644 index 30755b30..00000000 --- a/pulse/en/docs/command/ball/index.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/ball` - -Command to ask the Magic 8-Ball a question -![command ball](/commandball.png) - -[//]: # (localization) - - `localizations → language.yml → command.ball` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#ball -<<< @/files/localizations/en_us.yml#ball -::: - -### `format` - -Format of the message that will be sent - -### `answers` - -List of possible answers - -[//]: # (command.yml) - - `command.yml → ball` - -<<< @/files/command.yml#ball - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.ball` - -<<< @/files/permission.yml#ball - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/ban/index.md b/pulse/en/docs/command/ban/index.md deleted file mode 100644 index d82f9a82..00000000 --- a/pulse/en/docs/command/ban/index.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/ban` - -Command to ban a player -![command ban](/commandban.png) - -[//]: # (localization) - - `localizations → language.yml → command.ban` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#ban -<<< @/files/localizations/en_us.yml#ban -::: - -### `null_player` - -Message if the entered player is not found - -### `null_time` - -Message if an invalid time is entered - -### `lower_weight_group` - -Message if the command is executed by a player with a group weight lower than the player being moderated - -### `reasons` - -A list with keys and values, where the key is a word and the value is a specific reason - -::: info You can add your own reasons, for example: -```yaml -random_kek: "Random reason" -``` -Then if I type `/ban player 1d random_kek`, the reason will be `Random reason` - -If no reason is specified, `default` will be used -::: - -### `server` - -Message for everyone - -### `person` - -Message for the player - -### `connection_attempt` - -Message if a banned player tries to connect - -[//]: # (command.yml) - - `command.yml → ban` - -<<< @/files/command.yml#ban - - - - -### `check_group_weight` - -Whether to check players' group weights. If the player being moderated has a higher role than the command sender, the command will not execute and the `lower_weight_group` error will be shown - -### `show_connection_attempts` - -If enabled, it will show a message when a banned player tries to connect -![command ban connect](/commandbanconnect.png) - - - -### `time_limits` - -Time limits based on the sender's group. The key is the group weight, and the value is the maximum moderation time in milliseconds (`1` second = `1000` milliseconds) - -::: info EXAMPLE - -```yaml - time_limits: - 20: 35000 - 50: 100000 -``` - -- If a player has a group weight of `10`, the command will NOT be executed -- If a player has a group weight of `20`, the maximum time will be `35000` -- If a player has a group weight of `40`, the maximum time will also be `35000` -- If a player has a group weight of `50` or higher, it will be `100000` - -For unlimited time, use the value `-1` - -::: - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.ban` - -<<< @/files/permission.yml#ban - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/banlist/index.md b/pulse/en/docs/command/banlist/index.md deleted file mode 100644 index b4e14fec..00000000 --- a/pulse/en/docs/command/banlist/index.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/banlist` - -Command to view the list of bans -![command banlist](/commandbanlist.png) - -[//]: # (localization) - - `localizations → language.yml → command.banlist` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#banlist -<<< @/files/localizations/en_us.yml#banlist -::: - -### `empty` - -Message if the list of banned players is empty - -### `null_page` - -Message if the entered page does not exist - -### `null_player` - -Message if the entered player is not found - -### `global` - -::: details Messages for global bans - -#### `header` - -Top part of the list message - -#### `line` - -Format of each ban in the list - -#### `footer` - -Bottom part of the list message -::: - -### `player` - -::: details Messages for player bans - -#### `header` - -Top part of the list message - -#### `line` - -Format of each ban in the list - -#### `footer` - -Bottom part of the list message -::: - -[//]: # (command.yml) - - `command.yml → banlist` - -<<< @/files/command.yml#banlist - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.banlist` - -<<< @/files/permission.yml#banlist - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/broadcast/index.md b/pulse/en/docs/command/broadcast/index.md deleted file mode 100644 index 8dad33ec..00000000 --- a/pulse/en/docs/command/broadcast/index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/broadcast` - -Command for global announcements -![command broadcast](/commandbroadcast.png) - -[//]: # (localization) - - `localizations → language.yml → command.broadcast` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#broadcast -<<< @/files/localizations/en_us.yml#broadcast -::: - -### `format` - -Format of the message that will be sent - -[//]: # (command.yml) - - `command.yml → broadcast` - - -<<< @/files/command.yml#broadcast - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.broadcast` - - -<<< @/files/permission.yml#broadcast - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/chatcolor/index.md b/pulse/en/docs/command/chatcolor/index.md deleted file mode 100644 index d2938e0b..00000000 --- a/pulse/en/docs/command/chatcolor/index.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/chatcolor` - -Command for changing [colors](/docs/message/format/fcolor/) -![command chatcolor](/commandchatcolor.png) - - - -::: info INFORMATION - -You can skip colors using `null` to leave them unchanged. For example, `/chatcolor see null null ` will only replace `` and ``, leaving the first two as they are - -If you have the `other` permission, you can change other players' colors by adding their nickname at the end of the command, for example `/chatcolor see null TheFaser`. You must specify all colors and only then the player's nickname, but you can skip colors as mentioned above - -::: - -[//]: # (localization) - - `localizations → language.yml → command.chatcolor` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#chatcolor -<<< @/files/localizations/en_us.yml#chatcolor -::: - -### `null_player` - -Message if the entered player is not found - -### `null_color` - -Message if the colors are entered incorrectly - -### `null_type` - -Message if the type is entered incorrectly - -### `format` - -Format of the message that will be sent - -[//]: # (command.yml) - - `command.yml → chatcolor` - - -<<< @/files/command.yml#chatcolor - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.chatcolor` - - -<<< @/files/permission.yml#chatcolor - - - - - - -### `colors` - -List of permissions for changing specific types of colors: `SEE` or `OUT` \ No newline at end of file diff --git a/pulse/en/docs/command/chatsetting/index.md b/pulse/en/docs/command/chatsetting/index.md deleted file mode 100644 index 51fb3095..00000000 --- a/pulse/en/docs/command/chatsetting/index.md +++ /dev/null @@ -1,243 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/chatsetting` - -Command for configuring chat -![command chatsetting](/commandchatsetting.gif) - -::: info NOTE - -You can open another player's settings using `/chatsetting TheFaser`. - -If you want to create your own menu through another plugin, you can modify values using `/chatsetting TheFaser ADVANCEMENT`. This will toggle the display of advancements depending on the current state. You can check the state using the placeholder `%flectonepulse_advancement%`. - -Some settings can be assigned values, for example, `/chatsetting TheFaser STREAM_PREFIX kek` will set the player's streamer prefix to `kek`. - -| Setting | -|----------------------| -| `ADVANCEMENT` | -| `AFK` | -| `AFK_SUFFIX` | -| `AUTO` | -| `BALL` | -| `BAN` | -| `BROADCAST` | -| `CHAT` | -| `COIN` | -| `DEATH` | -| `DICE` | -| `DISCORD` | -| `DO` | -| `GREETING` | -| `JOIN` | -| `KICK` | -| `LOCALE` | -| `MAIL` | -| `ME` | -| `MUTE` | -| `POLL` | -| `QUIT` | -| `REPLY` | -| `ROCKPAPERSCISSORS` | -| `SPY` | -| `STREAM` | -| `STREAM_PREFIX` | -| `TELEGRAM` | -| `TELL` | -| `TICTACTOE` | -| `TRANSLATETO` | -| `TRY` | -| `TWITCH` | -| `WARN` | -| `WORLD_PREFIX` | -| `ANON` | - -::: - -[//]: # (localization) - - `localizations → language.yml → command.chatsetting` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#chatsetting -<<< @/files/localizations/en_us.yml#chatsetting -::: - -::: tip NOTE - -The item name and description are displayed in a single line, with line breaks added using `
` - -::: - -### `no_permission` - -Message if a specific permission is required to change the setting - -### `disable` - -::: details Disable messages -#### `you` - -Message if the sender disabled the command in `/chatsetting` - -#### `he` - -Message if the recipient disabled the command in `/chatsetting` - -#### `server` - -Message if the server disabled the command for `/chatsetting` - -::: - -### `inventory` - -Name for the main GUI - -### `checkbox` - -::: details Checkbox settings - -#### `enabled_color` - -Color when the setting is enabled. Replaces `` - -#### `enabled_hover` - -Message if the setting is enabled - -#### `disabled_color` - -Color when the setting is disabled. Replaces `` - -#### `disabled_hover` - -Message if the setting is disabled - -#### `types` - -List of setting types and their names - -::: - -### `menu` - -Each additional menu has: - -::: details Additional menu settings - -#### `item` - -Name and description of the item in the main menu - -#### `inventory` - -GUI name in the additional menu - -#### `types` - -List of items with their names and descriptions - -::: - -[//]: # (command.yml) - - `command.yml → chatsetting` - - -<<< @/files/command.yml#chatsetting - - - - -### `modern` - -::: warning WARNING - -Only works for versions `1.21.6` and newer. Older versions will use the inventory system. - -::: - -::: details New Menu Settings - -#### `enable` - -Enables the use of dialogs instead of inventories - -#### `button_width` - -Width of each button - -#### `columns` - -Number of buttons per row - -::: - -### `checkbox` - -::: details Checkbox settings - -#### `disabled_material` - -Material if the setting is disabled - -#### `enabled_material` - -Material if the setting is enabled - -#### `types` - -List of setting types and their inventory slots - -::: - -### `menu` - -Additional menus - -#### `material` - -Item that redirects to additional menus - -::: details Additional menu settings - -#### `slot` - -Slot position in the main inventory - -#### `types` - -List of setting types with their parameters - -| Type | Description | -|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `CHAT` | The `name` field is the display name, and `material` is the item type that will appear in the inventory for this chat | -| `SEE` and `OUT` | The `name` field is the display name, and `material` is the item type that will appear in the inventory for this chat. Also includes `colors`, where the key is a number and the value is a color. Use `""` to keep the color unchanged | - -::: - - - - -[//]: # (permission.yml) - - `permission.yml → command.chatsetting` - - -<<< @/files/permission.yml#chatsetting - - - -### `settings` - -List of settings and their permissions - - - \ No newline at end of file diff --git a/pulse/en/docs/command/clearchat/index.md b/pulse/en/docs/command/clearchat/index.md deleted file mode 100644 index 977bb409..00000000 --- a/pulse/en/docs/command/clearchat/index.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/clearchat` - -Command for clearing chat -![command clearchat](/commandclearchat.png) - -[//]: # (localization) - - `localizations → language.yml → command.clearchat` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#clearchat -<<< @/files/localizations/en_us.yml#clearchat -::: - -### `null_player` - -Message if the specified player is not found - -### `format` - -Message after clearing the chat - -[//]: # (command.yml) - - `command.yml → clearchat` - - -<<< @/files/command.yml#clearchat - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.clearchat` - - -<<< @/files/permission.yml#clearchat - - - - - diff --git a/pulse/en/docs/command/clearmail/index.md b/pulse/en/docs/command/clearmail/index.md deleted file mode 100644 index 827782db..00000000 --- a/pulse/en/docs/command/clearmail/index.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/clearmail` - -Command to delete sent [mails](/docs/command/mail/) -![command clearmail](/commandclearmail.png) - -[//]: # (localization) - - `localizations → language.yml → command.clearmail` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#clearmail -<<< @/files/localizations/en_us.yml#clearmail -::: - -### `null_mail` - -Message if the entered mail is not found - -### `format` - -Format of the message that will be sent - -[//]: # (command.yml) - - `command.yml → clearmail` - - -<<< @/files/command.yml#clearmail - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.clearmail` - - -<<< @/files/permission.yml#clearmail - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/coin/index.md b/pulse/en/docs/command/coin/index.md deleted file mode 100644 index 09a03bdd..00000000 --- a/pulse/en/docs/command/coin/index.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/coin` - -Command for flipping a coin -![command coin](/commandcoin.png) - -[//]: # (localization) - - `localizations → language.yml → command.coin` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#coin -<<< @/files/localizations/en_us.yml#coin -::: - -### `head` - -Name of one side of the coin - -### `tail` - -Name of the other side of the coin - -### `format` - -Format of the message to be sent - -### `format_draw` - -Message if the coin lands on its edge - -[//]: # (command.yml) - - `command.yml → coin` - - -<<< @/files/command.yml#coin - - - -### `draw` - -Enables the chance (`1%`) for the coin to land on its edge - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.coin` - - -<<< @/files/permission.yml#coin - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/deletemessage/index.md b/pulse/en/docs/command/deletemessage/index.md deleted file mode 100644 index 53a9145b..00000000 --- a/pulse/en/docs/command/deletemessage/index.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/deletemessage` - -Command to delete a chat message, automatically used when clicking the delete icon -![command deletemessage](/commanddeletemessage.png) - -::: warning WARNING - -This command will be useless if the main [`Delete`](/docs/message/format/moderation/delete/) module is disabled - -::: - -[//]: # (localization) - - `localizations → language.yml → command.deletemessage` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#deletemessage -<<< @/files/localizations/en_us.yml#deletemessage -::: - -### `null_message` - -Message displayed when attempting to delete a non-existent message - -### `format` - -Format of the message that will be sent - -[//]: # (command.yml) - - `command.yml → deletemessage` - - -<<< @/files/command.yml#deletemessage - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.deletemessage` - - -<<< @/files/permission.yml#deletemessage - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/dice/index.md b/pulse/en/docs/command/dice/index.md deleted file mode 100644 index 30758583..00000000 --- a/pulse/en/docs/command/dice/index.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/dice` - -Command for rolling dice for luck -![command dice](/commanddice.png) - -[//]: # (localization) - - `localizations → language.yml → command.dice` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#dice -<<< @/files/localizations/en_us.yml#dice -::: - -### `symbols` - -A list of indices (rolled number) and symbols (dice) - -### `format` - -Format of the message to be sent - -[//]: # (command.yml) - - `command.yml → dice` - - -<<< @/files/command.yml#dice - - - - -### `min` - -Minimum number of dice - -### `max` - -Maximum number of dice - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.dice` - - -<<< @/files/permission.yml#dice - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/do/index.md b/pulse/en/docs/command/do/index.md deleted file mode 100644 index 3c5b5bb6..00000000 --- a/pulse/en/docs/command/do/index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/do` - -Command for RP action execution -![command do](/commanddo.png) - -[//]: # (localization) - - `localizations → language.yml → command.do` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#do -<<< @/files/localizations/en_us.yml#do -::: - -### `format` - -Format of the message to be sent - -[//]: # (command.yml) - - `command.yml → do` - - -<<< @/files/command.yml#do - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.do` - - -<<< @/files/permission.yml#do - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/emit/index.md b/pulse/en/docs/command/emit/index.md deleted file mode 100644 index 4f44e910..00000000 --- a/pulse/en/docs/command/emit/index.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/emit` - -Command to use any `destination` with text -![command emit](/commandemit.png) - -This command is only available to server admins by default and was created solely for them. -It is not recommended to give it to regular players. -You can use this command through the console, another plugin, or a datapack, which is convenient if you want to use tools from FlectonePulse (any placeholders and tags will also work). - -To display text to all players at once, you can use `all`, for example `/emit all CHAT hello world`. -Some `destination` types have arguments that can be changed using `{}`. -These arguments are named exactly the same as in the config files. - -Examples -- `/emit TheFaser ACTION_BAR{times={stay=40}} hello world` -- `/emit TheFaser BOSS_BAR{color=RED} hello world` -- `/emit TheFaser BRAND hello world` -- `/emit TheFaser CHAT hello world` -- `/emit TheFaser TITLE hello world` -- `/emit TheFaser SUBTITLE hello world` -- `/emit TheFaser TAB_FOOTER hello world` -- `/emit TheFaser TAB_HEADER hello world` -- `/emit TheFaser TEXT_SCREEN{offset_x=-0.3, offset_y=-0.2} hello world` -- `/emit TheFaser TOAST{icon="minecraft:iron_ingot", style=CHALLENGE} hello world` - -Arguments that are omitted will be default and you don't need to write them all out. If the `destination` is entered incorrectly, the message will be sent to the regular chat - - - -[//]: # (localization) - - `localizations → language.yml → command.emit` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#emit -<<< @/files/localizations/en_us.yml#emit -::: - -### `null_player` - -Message if the entered player is not found - -### `format` - -Format of the message that will be sent - -[//]: # (command.yml) - - `command.yml → emit` - - -<<< @/files/command.yml#emit - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.emit` - - -<<< @/files/permission.yml#emit - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/flectonepulse/index.md b/pulse/en/docs/command/flectonepulse/index.md deleted file mode 100644 index b7ed1f98..00000000 --- a/pulse/en/docs/command/flectonepulse/index.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/flectonepulse` - -Main command of the `FlectonePulse` plugin -![command flectonepulse](/commandflectonepulse.png) - -::: warning WARNING - -On older versions (1.9 and 1.10 for sure) it was noticed that players might get kicked from the server during a reload but this does not affect the plugin - -::: - -[//]: # (localization) - - `localizations → language.yml → command.flectonepulse` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#flectonepulse -<<< @/files/localizations/en_us.yml#flectonepulse -::: - -## `null_host_editor` -Message when the `host` field in config.yml is empty - -## `null_port_editor` -Message when the `port` specified in config.yml is already in use or unavailable - -### `format_false` - -Message displayed when an error occurs - -### `format_true` - -Message format sent when `FlectonePulse` is fully reloaded - -### `format_web_starting` - -Message format sent when the web server starts - -### `format_editor` - -Message format sent when the web server has successfully started - -[//]: # (command.yml) - - `command.yml → flectonepulse` - - -<<< @/files/command.yml#flectonepulse - - - -### `execute_in_main_thread` - -Whether the entire reload will be executed in the server's main thread - -::: info INFORMATION - -This can resolve issues on `Bukkit`, `Spigot`, `Mohist`, or other older/non-standard cores during reload - -::: - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.flectonepulse` - - -<<< @/files/permission.yml#flectonepulse - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/geolocate/index.md b/pulse/en/docs/command/geolocate/index.md deleted file mode 100644 index abed1dce..00000000 --- a/pulse/en/docs/command/geolocate/index.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/geolocate` - -Command for tracking IP addresses and obtaining player information -![command geolocate](/commandgeolocate.png) - -[//]: # (localization) - - `localizations → language.yml → command.geolocate` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#geolocate -<<< @/files/localizations/en_us.yml#geolocate -::: - -### `null_player` - -Message displayed if the entered player is not found - -### `null_or_error` - -Message displayed if an error occurs when retrieving information - -### `format` - -Message format that will be sent - -[//]: # (command.yml) - - `command.yml → geolocate` - - -<<< @/files/command.yml#geolocate - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.geolocate` - - -<<< @/files/permission.yml#geolocate - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/helper/index.md b/pulse/en/docs/command/helper/index.md deleted file mode 100644 index 544b9308..00000000 --- a/pulse/en/docs/command/helper/index.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/helper` - -Command to request assistance -![command helper](/commandhelper.png) - -From the assistant's perspective -![command helper player](/commandhelperadmin.png) - -[//]: # (localization) - - `localizations → language.yml → command.helper` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#helper -<<< @/files/localizations/en_us.yml#helper -::: - -### `null_helper` - -Message displayed if no one on the server is available to help - -### `global` - -Message for those who are supposed to help - -### `player` - -Message for the player - -[//]: # (command.yml) - - `command.yml → helper` - - -<<< @/files/command.yml#helper - - - -### `null_helper` - -Will it be checked that there are no people on server who can respond to request - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.helper` - - -<<< @/files/permission.yml#helper - - - -### `see` - -Permission to view help requests - - - \ No newline at end of file diff --git a/pulse/en/docs/command/ignore/index.md b/pulse/en/docs/command/ignore/index.md deleted file mode 100644 index 54b75150..00000000 --- a/pulse/en/docs/command/ignore/index.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/ignore` - -Command to ignore all messages from a player -![command ignore](/commandignore.png) - -The ignore can be removed by using the command again -![command unignore](/commandunignore.png) - -[//]: # (localization) - - `localizations → language.yml → command.ignore` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#ignore -<<< @/files/localizations/en_us.yml#ignore -::: - -### `null_player` - -Message displayed if the entered player is not found - -### `myself` - -Message displayed if the player tries to ignore themselves - -### `he` - -Message displayed if the recipient is ignoring the sender - -### `you` - -Message displayed if the sender is ignoring the recipient - -### `format_true` - -Message displayed when the player successfully ignores another player - -### `format_false` - -Message displayed when the player removes the ignore - -[//]: # (command.yml) - - `command.yml → ignore` - - -<<< @/files/command.yml#ignore - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.ignore` - - -<<< @/files/permission.yml#ignore - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/ignorelist/index.md b/pulse/en/docs/command/ignorelist/index.md deleted file mode 100644 index 8f4e3b62..00000000 --- a/pulse/en/docs/command/ignorelist/index.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/ignorelist` - -Command to view the list of players you have ignored -![command ignorelist](/commandignorelist.png) - -[//]: # (localization) - - `localizations → language.yml → command.ignorelist` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#ignorelist -<<< @/files/localizations/en_us.yml#ignorelist -::: - -### `empty` - -Message displayed if the ignore list is empty - -### `null_page` - -Message displayed if the entered page does not exist - -### `header` - -The top part of the ignore list message - -### `line` - -Format for each ignored player in the list - -### `footer` - -The bottom part of the ignore list message - -[//]: # (command.yml) - - `command.yml → ignorelist` - - -<<< @/files/command.yml#ignorelist - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.ignorelist` - - -<<< @/files/permission.yml#ignorelist - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/index.md b/pulse/en/docs/command/index.md deleted file mode 100644 index a9c3053f..00000000 --- a/pulse/en/docs/command/index.md +++ /dev/null @@ -1,159 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Commands - -Category responsible for configuring all commands - -[//]: # (localization) - - `localizations → locale.yml → command` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#command -<<< @/files/localizations/en_us.yml#command -::: - -### `exception` - -::: details Messages for incorrect command usage - -#### `execution` - -Message if an error occurs during command execution - -#### `parse_unknown` - -Message if an unknown argument is entered - -#### `parse_boolean` - -Message if a `boolean` argument is expected - -#### `parse_number` - -Message if a `number` argument is expected - -#### `parse_string` - -Message if a `string` argument is expected - -#### `permission` - -Message if the player doesn't have permission for this command - -#### `syntax` - -Message if an incomplete command is entered -![command syntax](/commandsyntax.png) - -::: - -### `prompt` - -::: details Prompt formatting - -#### `message` - -Prompt for commands where a message is entered - -#### `hard` - -Prompt for commands where difficulty is asked - -#### `accept` - -Prompt for commands where something is accepted or rejected - -#### `turn` - -Prompt for commands where something is toggled on or off - -#### `type` - -Prompt for commands where a type is entered - -#### `reason` - -Prompt for commands where a reason is entered - -#### `category` - -Prompt for commands where a category is selected - -#### `id` - -Prompt for commands where an ID is entered - -#### `time` - -Prompt for commands where time is entered - -#### `repeat_time` - -Prompt for commands where repeat time is entered - -#### `multiple_vote` - -Prompt for commands where multiple voting is asked - -#### `player` - -Prompt for commands where a player is entered - -#### `number` - -Prompt for commands where a number is entered - -#### `color` - -Prompt for commands where a color is entered - -#### `language` - -Prompt for commands where a language is entered - -#### `url` - -Prompt for commands where a URL is entered - -#### `move` - -Prompt for commands where a move is selected - -#### `value` - -Prompt for commands where a VALUE is entered - -::: - -[//]: # (command.yml) - - `command.yml` - - -<<< @/files/command.yml#command - - - -### `suggest_invisible_players` - -If enabled, all players will see all other players. But if disabled, a player needs a specific permission to see other players under the invisibility potion effect in commands - -[//]: # (permission.yml) - - `permission.yml → command` - - -<<< @/files/permission.yml#command - - - -### `see_invisible_players_in_suggest` - -Permission to see players under the invisibility potion effect in command suggestions \ No newline at end of file diff --git a/pulse/en/docs/command/kick/index.md b/pulse/en/docs/command/kick/index.md deleted file mode 100644 index c2408a38..00000000 --- a/pulse/en/docs/command/kick/index.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/kick` - -Command to kick a player from the server -![command kick](/commandkick.png) - -[//]: # (localization) - - `localizations → language.yml → command.kick` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#kick -<<< @/files/localizations/en_us.yml#kick -::: - -### `null_player` - -Message displayed if the entered player is not found - -### `reasons` - -A list with keys and values, where the key is the word and the value is the specific reason - -::: info You can add your own reasons, for example: -```yaml -random_kek: "Random reason" -``` -Then, if you type `/kick player random_kek`, the reason will be "Random reason" - -If no reason is specified, the `default` will be used. - -::: - -### `server` - -Message displayed to everyone - -### `person` - -Message displayed to the player - -[//]: # (command.yml) - - `command.yml → kick` - - -<<< @/files/command.yml#kick - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.kick` - - -<<< @/files/permission.yml#kick - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/mail/index.md b/pulse/en/docs/command/mail/index.md deleted file mode 100644 index c2eb734f..00000000 --- a/pulse/en/docs/command/mail/index.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/mail` - -Command to send a message to an offline player -![command mail](/commandmail.png) - -When the player logs in, they will see the message -![command mail player](/commandmailplayer.png) - -If the player is already on the server and the [Tell](/docs/command/tell/) module is enabled, it will be used -![command tell](/commandtell.png) - -[//]: # (localization) - - `localizations → language.yml → command.mail` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#mail -<<< @/files/localizations/en_us.yml#mail -::: - -### `null_player` - -Message displayed if the entered player is not found - -### `sender` - -Message displayed to the sender - -### `receiver` - -Message displayed to the receiver - -[//]: # (command.yml) - - `command.yml → mail` - - -<<< @/files/command.yml#mail - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.mail` - - -<<< @/files/permission.yml#mail - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/maintenance/index.md b/pulse/en/docs/command/maintenance/index.md deleted file mode 100644 index 10305242..00000000 --- a/pulse/en/docs/command/maintenance/index.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/maintenance` - -Command to enable maintenance mode -![command maintenance](/commandmaintenance.png) -![command maintenance server](/commandmaintenanceserver.png) - -[//]: # (localization) - - `localizations → language.yml → command.maintenance` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#maintenance -<<< @/files/localizations/en_us.yml#maintenance -::: - -### `server_description` - -Message when viewing the server while maintenance is enabled - -### `server_version` - -Server version name when maintenance is enabled - -### `kick` - -Reason for kicking players when maintenance mode is enabled - -### `format_true` - -Message when enabling maintenance mode - -### `format_false` - -Message when disabling maintenance mode - -[//]: # (command.yml) - - `command.yml → maintenance` - - -<<< @/files/command.yml#maintenance - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.maintenance` - - -<<< @/files/permission.yml#maintenance - - - -### `join` - -Permission to join the server during maintenance - - - \ No newline at end of file diff --git a/pulse/en/docs/command/me/index.md b/pulse/en/docs/command/me/index.md deleted file mode 100644 index df6bf473..00000000 --- a/pulse/en/docs/command/me/index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/me` - -Command to display an action -![command me](/commandme.png) - -[//]: # (localization) - - `localizations → locale.yml → command.me` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#me -<<< @/files/localizations/en_us.yml#me -::: - -### `format` - -The format of the message that will be sent - -[//]: # (command.yml) - - `command.yml → me` - - -<<< @/files/command.yml#me - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.me` - - -<<< @/files/permission.yml#me - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/mute/index.md b/pulse/en/docs/command/mute/index.md deleted file mode 100644 index 4d674325..00000000 --- a/pulse/en/docs/command/mute/index.md +++ /dev/null @@ -1,111 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/mute` - -Command to mute a player -![command mute](/commandmute.png) - -[//]: # (localization) - - `localizations → locale.yml → command.mute` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#mute -<<< @/files/localizations/en_us.yml#mute -::: - -### `null_player` - -Message when the specified player is not found - -### `null_time` - -Message when the time provided is invalid - -### `lower_weight_group` - -Message if the command is executed by a player with a group weight lower than the player being moderated - -### `suffix` - -Format of the suffix that will be displayed if the player has an active mute, otherwise it will be empty - -### `reasons` - -A list with keys and values, where the key is the word and the value is the specific reason - -::: info YOU CAN ADD YOUR OWN REASONS -```yaml -random_kek: "Random reason" -``` -Then, if you type `/mute player 1d random_kek`, the reason will be `Random reason`. - -If no reason is specified, `default` will be used. -::: - -### `server` - -Message to everyone - -### `person` - -Message to the muted player - -[//]: # (command.yml) - - `command.yml → mute` - - -<<< @/files/command.yml#mute - - - - -### `check_group_weight` - -Whether to check players' group weights If the player being moderated has a higher role than the command sender, the command will not execute and the `lower_weight_group` error will be shown - - - -### `time_limits` - -Time limits based on the sender's group The key is the group weight, and the value is the maximum moderation time in milliseconds (`1` second = `1000` milliseconds) - -::: info EXAMPLE - -```yaml - time_limits: - 20: 35000 - 50: 100000 -``` - -- If a player has a group weight of `10`, the command will NOT be executed -- If a player has a group weight of `20`, the maximum time will be `35000` -- If a player has a group weight of `40`, the maximum time will also be `35000` -- If a player has a group weight of `50` or higher, it will be `100000` - -For unlimited time, use the value `-1` - -::: - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.mute` - - -<<< @/files/permission.yml#mute - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/mutelist/index.md b/pulse/en/docs/command/mutelist/index.md deleted file mode 100644 index be3f8a67..00000000 --- a/pulse/en/docs/command/mutelist/index.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/mutelist` - -Command to view the list of muted players -![command mutelist](/commandmutelist.png) - -[//]: # (localization) - - `localizations → locale.yml → command.mutelist` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#mutelist -<<< @/files/localizations/en_us.yml#mutelist -::: - -### `empty` - -Message when the list of muted players is empty - -### `null_page` - -Message when the specified page does not exist - -### `null_player` - -Message when the specified player is not found - -### `global` - -::: details Messages for global mutes - -#### `header` - -Header part of the mute list message - -#### `line` - -Format for each mute in the list - -#### `footer` - -Footer part of the mute list message -::: - -### `player` - -::: details Messages for player-specific mutes - -#### `header` - -Header part of the mute list message - -#### `line` - -Format for each mute in the list - -#### `footer` - -Footer part of the mute list message -::: - -[//]: # (command.yml) - - `command.yml → mutelist` - - -<<< @/files/command.yml#mutelist - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.mutelist` - - -<<< @/files/permission.yml#mutelist - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/online/index.md b/pulse/en/docs/command/online/index.md deleted file mode 100644 index 23045b15..00000000 --- a/pulse/en/docs/command/online/index.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/online` - -Command to check player online status -![command online](/commandonline.png) - -[//]: # (localization) - - `localizations → locale.yml → command.online` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#online -<<< @/files/localizations/en_us.yml#online -::: - -### `null_player` - -Message when the specified player is not found - -### `format_current` - -Message when the specified player is currently online - -### `format_first` - -Format of the message for `/online first` command - -### `format_last` - -Format of the message for `/online last` command - -### `format_total` - -Format of the message for `/online total` command - -[//]: # (command.yml) - - `command.yml → online` - - -<<< @/files/command.yml#online - - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.online` - - -<<< @/files/permission.yml#online - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/ping/index.md b/pulse/en/docs/command/ping/index.md deleted file mode 100644 index 7ea482e8..00000000 --- a/pulse/en/docs/command/ping/index.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/ping` - -Command to check player latency -![command ping](/commandping.png) - -[//]: # (localization) - - `localizations → locale.yml → command.ping` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#ping -<<< @/files/localizations/en_us.yml#ping -::: - -### `null_player` - -Message when the specified player is not found - -### `format` - -Format of the message to be sent - -[//]: # (command.yml) - - `command.yml → ping` - - -<<< @/files/command.yml#ping - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.ping` - - -<<< @/files/permission.yml#ping - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/poll/index.md b/pulse/en/docs/command/poll/index.md deleted file mode 100644 index 06461f6b..00000000 --- a/pulse/en/docs/command/poll/index.md +++ /dev/null @@ -1,165 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/poll` - -Command for creating polls -![command pollgui](/commandpollgui.gif) - -This can also be done via a command in chat -![command poll](/commandpoll.png) - -::: info INFORMATION - -The interval is specified to resend message about an existing poll to chat - -::: - -[//]: # (localization) - - `localizations → locale.yml → command.poll` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#poll -<<< @/files/localizations/en_us.yml#poll -::: - -### `null_poll` - -Message when the poll is not found - -### `expired` - -Message when the player attempts to vote in an expired poll - -### `already` - -Message when the player attempts to vote again in the same poll - -### `vote_true` - -Message when the player has voted for a particular option - -### `vote_false` - -Message when the player removes their vote - -### `format` -The format of the message that will be sent - -### `answer_template` -Template for each answer - -### `status` - -::: details Headers for each voting status - -#### `start` -Header when the voting starts - -#### `run` -Header when the voting is reposted - -#### `end` -Header when the voting ends -::: - -### `modern` - -::: details Dialog system for creating a poll - -#### `header` - -Dialog name - -#### `input_name` - -Name for "name" field - -#### `input_initial` - -Default text for "name" field - -#### `multiple_name` - -Name for "allow multiple answers" toggle field - -#### `end_time_name` - -Name for duration field - -#### `repeat_time_name` - -Name for interval field - -#### `new_answer-button-name` - -Name for button that creates a new answer - -#### `remove_answer-button-name` - -Name for button that removes the last answer - -#### `input_answer_name` - -Name for new answer field - -#### `input_answers_initial` - -Default text for answer field - -#### `create_button_name` - -Name for button that creates poll - -::: - -[//]: # (command.yml) - - `command.yml → poll` - - -<<< @/files/command.yml#poll - - - -### `enable_gui` - -::: warning WARNING - -Only works for versions `1.21.6` and newer. Command will not be registered in older versions - -::: - -Adds a new command `/pollgui` (depends on command name itself, i.e., `/name` + `gui`) - - - -### `last_id` - -Last poll ID created - - - - - -[//]: # (permission.yml) - - `permission.yml → command.poll` - - -<<< @/files/permission.yml#poll - - - -### `create` - -Permission for creating polls - - - \ No newline at end of file diff --git a/pulse/en/docs/command/reply/index.md b/pulse/en/docs/command/reply/index.md deleted file mode 100644 index f03b33f4..00000000 --- a/pulse/en/docs/command/reply/index.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/reply` - -Command to send a private message to the last player who sent a message -![command reply](/commandreply.png) - -::: danger BE CAREFUL -This command will not work if the [`Tell`](/docs/command/tell/) module is disabled -::: - -[//]: # (localization) - - `localizations → locale.yml → command.reply` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#reply -<<< @/files/localizations/en_us.yml#reply -::: - -### `null_receiver` - -Message when the recipient is not found - -[//]: # (command.yml) - - `command.yml → reply` - - -<<< @/files/command.yml#reply - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.reply` - - -<<< @/files/permission.yml#reply - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/rockpaperscissors/index.md b/pulse/en/docs/command/rockpaperscissors/index.md deleted file mode 100644 index 0795045b..00000000 --- a/pulse/en/docs/command/rockpaperscissors/index.md +++ /dev/null @@ -1,113 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/rockpaperscissors` - -Command to offer to play rock-paper-scissors -![command rockpaperscissors](/commandrockpaperscissors.png) - -[//]: # (localization) - - `localizations → locale.yml → command.rockpaperscissors` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#rockpaperscissors -<<< @/files/localizations/en_us.yml#rockpaperscissors -::: - -### `null_player` - -Message when the entered player is not found - -### `null_game` - -Message when the game does not exist - -### `wrong_move` - -Message when the move is impossible - -### `already` - -Message when the player has already made a move - -### `myself` - -Message when the player decides to play with themselves - -### `sender` - -Message for the sender - -### `receiver` - -Message for the receiver - -### `format_move` - -Message during a move - -### `format_win` - -Message when the player wins - -### `forma_draw` - -Message for a draw - -### `strategies` - -List of strategies and their names - -[//]: # (command.yml) - - `command.yml → rockpaperscissors` - - -<<< @/files/command.yml#rockpaperscissors - - - - -### `strategy` - -Strategies where `key` is the winning item and `value` is the defeated item - -::: info For example, if you want `scissors` to defeat `paper`, you should write: -```yaml -scissors: - - "paper" -``` - -Multiple values can be added, like: -```yaml -scissors: - - "paper" - - "newitem" -``` - -You can define your own keys and values: -```yaml -customvalue: - - "customobject" -``` -::: - - - - -[//]: # (permission.yml) - - `permission.yml → command.rockpaperscissors` - - -<<< @/files/permission.yml#rockpaperscissors - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/sprite/index.md b/pulse/en/docs/command/sprite/index.md deleted file mode 100644 index 8d60df85..00000000 --- a/pulse/en/docs/command/sprite/index.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/sprite` - -Command for searching sprites from Minecraft atlases -![sprite](/commandsprite.png) - -[//]: # (localization) - - `localizations → language.yml → command.sprite` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#sprite -<<< @/files/localizations/en_us.yml#sprite -::: - -### `null_atlas` - -Message if the entered atlas does not exist - -### `null_page` - -Message if the entered page does not exist - -### `download_error` - -Message when downloading an atlas file from the internet fails. Atlases may differ or not exist across different versions, so this error should be considered normal - -### `atlas_downloading` - -Message when starting to download an atlas file from the internet - -### `header` - -The top part of the list message - -### `line_element` - -Format for each component, they will be added one after another - -#### `footer` - -The bottom part of the list message - -[//]: # (command.yml) - - `command.yml → sprite` - - -<<< @/files/command.yml#sprite - - - - - -### `categories` - -List of categories, i.e., available atlases - -::: info INFO -- Each atlas is downloaded only once if it does not exist in the folder `FlectonePulse/minecraft//atlases/` -- Each atlas has the final format `minecraft_textures_atlas_.png.txt` -- Each atlas is downloaded from Flectone's own web server via the link `https://flectone.net/files/r/minecraft//atlases/minecraft_textures_atlas_.png.txt` -- Atlases do not necessarily need to be downloaded from the web server; you can place them manually in advance in the folder `FlectonePulse/minecraft//atlases/` by obtaining them using the `F3 + S` combination in Minecraft -::: - - - - -[//]: # (permission.yml) - - `permission.yml → command.sprite` - - -<<< @/files/permission.yml#sprite - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/spy/index.md b/pulse/en/docs/command/spy/index.md deleted file mode 100644 index 7de1c916..00000000 --- a/pulse/en/docs/command/spy/index.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/spy` - -Command to track player actions -![command spy](/commandspy.gif) - -[//]: # (localization) - - `localizations → locale.yml → command.spy` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#spy -<<< @/files/localizations/en_us.yml#spy -::: - -### `format_true` - -Message when spying is enabled - -### `format_false` - -Message when spying is disabled - -### `format_log` - -Message format that will be sent during the tracking of an action - -[//]: # (command.yml) - - `command.yml → spy` - - -<<< @/files/command.yml#spy - - - - - - -### `categories` - -List of categories with actions that will be tracked - - - - -[//]: # (permission.yml) - - `permission.yml → command.spy` - - -<<< @/files/permission.yml#spy - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/stream/index.md b/pulse/en/docs/command/stream/index.md deleted file mode 100644 index 5b8f22b4..00000000 --- a/pulse/en/docs/command/stream/index.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/stream` - -Command to notify about the start of a stream -![command stream](/commandstream.png) - -If the player has permission for the command, they will receive a prefix when enabling/disabling the stream -![command stream prefix](/commandstreamprefix.png) - -[//]: # (localization) - - `localizations → locale.yml → command.stream` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#stream -<<< @/files/localizations/en_us.yml#stream -::: - -### `already` - -Message if a player who is already streaming tries to start another stream - -### `not` - -Message if a player who is not streaming tries to end the stream - -### `prefix_true` - -Prefix for a player who is currently streaming - -### `prefix_false` - -Prefix for a player who has permission to stream but is not streaming at the moment - -### `url_tag` - -Format for each link in the notification - -### `format_start` - -Notification when a stream starts - -### `format_end` - -Message when a player ends their stream - -[//]: # (command.yml) - - `command.yml → stream` - - -<<< @/files/command.yml#stream - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.stream` - - -<<< @/files/permission.yml#stream - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/symbol/index.md b/pulse/en/docs/command/symbol/index.md deleted file mode 100644 index efccbd48..00000000 --- a/pulse/en/docs/command/symbol/index.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/symbol` - -Command for searching Unicode emoji -![symbol](/commandsymbol.png) - -Huge thanks to @replaceitem for allowing the use of [symbol lists](https://github.com/replaceitem/symbol-chat) - -[//]: # (localization) - - `localizations → locale.yml → command.symbol` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#symbol -<<< @/files/localizations/en_us.yml#symbol -::: - -### `null_category` - -Message if the entered category does not exist - -### `null_page` - -Message if the entered page does not exist - -### `header` - -The top part of the list message - -### `line_element` - -Format for each component, they will be added one after another - -#### `footer` - -The bottom part of the list message - -[//]: # (command.yml) - - `command.yml → symbol` - - -<<< @/files/command.yml#symbol - - - - - -### `categories` - -List of categories and symbols separated by spaces - -::: info WHAT CAN YOU DO WITH THIS? -1. Add your own symbols to the current ones, separated by spaces -2. Rename categories or add your own -::: - - - - -[//]: # (permission.yml) - - `permission.yml → command.symbol` - - -<<< @/files/permission.yml#symbol - - - - diff --git a/pulse/en/docs/command/tell/index.md b/pulse/en/docs/command/tell/index.md deleted file mode 100644 index fc203324..00000000 --- a/pulse/en/docs/command/tell/index.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/tell` - -Command for sending a private message to a player -![command tell](/commandtell.png) - -Can be used for notes if you type your own username -![command tell myself](/commandtellmyself.png) - -[//]: # (localization) - - `localizations → locale.yml → command.tell` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#tell -<<< @/files/localizations/en_us.yml#tell -::: - -### `null_player` - -Message if the entered player is not found - -### `sender` - -Message for the sender - -### `receiver` - -Message for the recipient - -### `myself` - -Message for the sender if they are also the recipient (i.e., for themselves) - -[//]: # (command.yml) - - `command.yml → tell` - - -<<< @/files/command.yml#tell - - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.tell` - - -<<< @/files/permission.yml#tell - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/tictactoe/index.md b/pulse/en/docs/command/tictactoe/index.md deleted file mode 100644 index 9a4f1c36..00000000 --- a/pulse/en/docs/command/tictactoe/index.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/tictactoe` - -Command to challenge someone to play Tic-Tac-Toe -![command tictactoe](/commandtictactoe.png) - -By default, the request is for [Chinese Tic-Tac-Toe](#правила-китайских-крестиков-ноликов), but to play regular Tic-Tac-Toe, use `/tictactoe nickname false` -![command tictactoe default](/commandtictactoedefault.png) - -### Rules of Chinese Tic-Tac-Toe - -1. Each player can place only `3` of their marks. -2. If the game is not finished, the first mark placed by the player is removed and replaced with a new one. -3. This continues in a cycle until the game ends. - -This makes the game more challenging and strategic! - -[//]: # (localization) - - `localizations → locale.yml → command.tictactoe` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#tictactoe -<<< @/files/localizations/en_us.yml#tictactoe -::: - -### `null_player` - -Message if the entered player is not found - -### `myself` - -Message if the entered player tries to play with themselves - -### `wrong_game` - -Message if the specified game does not exist - -### `wrong_move` - -Message if the move is not possible - -### `wrong_by_player` - -Message if one of the players has left the game - -### `symbol` -::: details Messages for symbols -#### `empty` -Format message for an empty cell - -#### `first` -Format message for the first player's cell - -#### `first_remove` -Format message for removing the first player's cell - -#### `first_win` -Format message for the winning cell of the first player - -#### `second` -Format message for the second player's cell - -#### `second_remove` -Format message for removing the second player's cell - -#### `second_win` -Format message for the winning cell of the second player -::: - -### `field` - -Format message for the game field - -### `current_move` - -Format message for the current move information - -### `last_move` - -Format message for the last move information - -### `format_move` - -Format message for announcing the move - -### `format_win` - -Message upon winning - -### `format_draw` - -Message for a draw - -### `sender` - -Message for the sender when sending a request - -### `format_create` - -Message for the recipient when receiving a request - -[//]: # (command.yml) - - `command.yml → tictactoe` - - -<<< @/files/command.yml#tictactoe - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.tictactoe` - - -<<< @/files/permission.yml#tictactoe - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/toponline/index.md b/pulse/en/docs/command/toponline/index.md deleted file mode 100644 index f42a8113..00000000 --- a/pulse/en/docs/command/toponline/index.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/toponline` - -Command to view the top players by playing time -![command toponline](/commandtoponline.png) - -[//]: # (localization) - - `localizations → locale.yml → command.toponline` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#toponline -<<< @/files/localizations/en_us.yml#toponline -::: - -### `null_page` - -Message when the specified page does not exist - -#### `header` - -Header part of the mute list message - -#### `line` - -Format for each mute in the list - -#### `footer` - -Footer part of the mute list message - -[//]: # (command.yml) - - `command.yml → toponline` - - -<<< @/files/command.yml#toponline - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.toponline` - - -<<< @/files/permission.yml#toponline - - - - - diff --git a/pulse/en/docs/command/translateto/index.md b/pulse/en/docs/command/translateto/index.md deleted file mode 100644 index c32f93cc..00000000 --- a/pulse/en/docs/command/translateto/index.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/translateto` - -Command to translate a message from one language to another -![command translateto](/commandtranslateto.png) - -[//]: # (localization) - - `localizations → locale.yml → command.translateto` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#translateto -<<< @/files/localizations/en_us.yml#translateto -::: - -### `null_or_error` - -Message if there was an error during translation - -### `format` - -Format for the message to be sent after translation - -[//]: # (command.yml) - - `command.yml → translateto` - - -<<< @/files/command.yml#translateto - - - - -### `service` - -Translation API to be used (`DEEPL`, `GOOGLE`, `YANDEX`) - -::: danger Attention -`DEEPL` and `YANDEX` require **tokens** and additional setup in `integration.yml` -::: - - - -### `languages` - -List of supported languages used for suggestions during the command - - - - - -[//]: # (permission.yml) - - `permission.yml → command.translateto` - - -<<< @/files/permission.yml#translateto - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/try/index.md b/pulse/en/docs/command/try/index.md deleted file mode 100644 index 255c7e95..00000000 --- a/pulse/en/docs/command/try/index.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/try` - -Command to attempt an action with a random chance of success -![command try](/commandtry.png) - -[//]: # (localization) - - `localizations → locale.yml → command.try` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#try -<<< @/files/localizations/en_us.yml#try -::: - -### `format_true` - -Format for the message that will be sent if the action succeeds - -### `format_false` - -Format for the message that will be sent if the action fails - -[//]: # (command.yml) - - `command.yml → try` - - -<<< @/files/command.yml#try - - - - -### `min` - -Minimum chance for the action to succeed - -### `max` - -Maximum chance for the action to succeed - -### `good` - -Chance threshold above which the action is considered successful - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.try` - - -<<< @/files/permission.yml#try - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/unban/index.md b/pulse/en/docs/command/unban/index.md deleted file mode 100644 index ab4f6b51..00000000 --- a/pulse/en/docs/command/unban/index.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/unban` - -Command to unban a player -![command unban](/commandunban.png) - -[//]: # (localization) - - `localizations → locale.yml → command.unban` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#unban -<<< @/files/localizations/en_us.yml#unban -::: - -### `null_player` - -Message when the player cannot be found - -### `not_banned` - -Message when the player is not banned - -### `lower_weight_group` - -Message if the command is executed by a player with a group weight lower than the player being moderated - -### `format` - -Message when the player is unbanned - -[//]: # (command.yml) - - `command.yml → unban` - - -<<< @/files/command.yml#unban - - - -### `check_group_weight` - -Whether to check players' group weights. If the player being moderated has a higher role than the command sender, the command will not execute and the `lower_weight_group` error will be shown - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.unban` - - -<<< @/files/permission.yml#unban - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/unmute/index.md b/pulse/en/docs/command/unmute/index.md deleted file mode 100644 index dad44323..00000000 --- a/pulse/en/docs/command/unmute/index.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/unmute` - -Command to unmute a player -![command unmute](/commandunmute.png) - -[//]: # (localization) - - `localizations → locale.yml → command.unmute` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#unmute -<<< @/files/localizations/en_us.yml#unmute -::: - -### `null_player` - -Message when the player cannot be found - -### `not_muted` - -Message when the player is not muted - -### `lower_weight_group` - -Message if the command is executed by a player with a group weight lower than the player being moderated - -### `format` - -Message when the player is unmuted - -[//]: # (command.yml) - - `command.yml → unmute` - - -<<< @/files/command.yml#unmute - - - -### `check_group_weight` - -Whether to check players' group weights. If the player being moderated has a higher role than the command sender, the command will not execute and the `lower_weight_group` error will be shown - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.unmute` - - -<<< @/files/permission.yml#unmute - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/unwarn/index.md b/pulse/en/docs/command/unwarn/index.md deleted file mode 100644 index d9fb93d2..00000000 --- a/pulse/en/docs/command/unwarn/index.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/unwarn` - -Command to remove a warning from a player -![command unwarn](/commandunwarn.png) - -[//]: # (localization) - - `localizations → locale.yml → command.unwarn` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#unwarn -<<< @/files/localizations/en_us.yml#unwarn -::: - -### `null_player` - -Message when the player cannot be found - -### `not_warned` - -Message when the player does not have a warning - -### `lower_weight_group` - -Message if the command is executed by a player with a group weight lower than the player being moderated - -### `format` - -Message when the warning is removed - -[//]: # (command.yml) - - `command.yml → unwarn` - - -<<< @/files/command.yml#unwarn - - - -### `check_group_weight` - -Whether to check players' group weights. If the player being moderated has a higher role than the command sender, the command will not execute and the `lower_weight_group` error will be shown - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.unwarn` - - -<<< @/files/permission.yml#unwarn - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/warn/index.md b/pulse/en/docs/command/warn/index.md deleted file mode 100644 index 311a5b36..00000000 --- a/pulse/en/docs/command/warn/index.md +++ /dev/null @@ -1,116 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/warn` - -Command to give a warning to a player -![command warn](/commandwarn.png) - -[//]: # (localization) - - `localizations → locale.yml → command.warn` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#warn -<<< @/files/localizations/en_us.yml#warn -::: - -### `null_player` - -Message when the player cannot be found - -### `null_time` - -Message when an invalid time is entered - -### `lower_weight_group` - -Message if the command is executed by a player with a group weight lower than the player being moderated - -### `reasons` - -A list with keys and values, where the key is a word and the value is a specific reason - -::: info You can write your own reasons, for example: -```yaml -random_kek: "Random reason" -``` -So if you write `/warn player 1d random_kek`, the reason will be `Random reason`. - -If no reason is specified, the `default` reason will be used. -::: - -### `server` - -Message for everyone - -### `person` - -Message for the player - -[//]: # (command.yml) - - `command.yml → warn` - - -<<< @/files/command.yml#warn - - - - -### `check_group_weight` - -Whether to check players' group weights. If the player being moderated has a higher role than the command sender, the command will not execute and the `lower_weight_group` error will be shown - - - -### `time_limits` - -Time limits based on the sender's group. The key is the group weight, and the value is the maximum moderation time in milliseconds (`1` second = `1000` milliseconds) - -::: info EXAMPLE - -```yaml - time_limits: - 20: 35000 - 50: 100000 -``` - -- If a player has a group weight of `10`, the command will NOT be executed -- If a player has a group weight of `20`, the maximum time will be `35000` -- If a player has a group weight of `40`, the maximum time will also be `35000` -- If a player has a group weight of `50` or higher, it will be `100000` - -For unlimited time, use the value `-1` - -::: - - - -### `actions` - -A list where the key is the `number` of warnings, and the value is the `action` to be performed - -::: info For example, if you want to ban the player at `10` warnings: -You should write `10: ban ohh`. This action will be performed if the player has `10` active warnings. -::: - - - - - -[//]: # (permission.yml) - - `permission.yml → command.warn` - - -<<< @/files/permission.yml#warn - - - - \ No newline at end of file diff --git a/pulse/en/docs/command/warnlist/index.md b/pulse/en/docs/command/warnlist/index.md deleted file mode 100644 index fb7de4dc..00000000 --- a/pulse/en/docs/command/warnlist/index.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# `/warnlist` - -Command to view the list of warnings -![command warnlist](/commandwarnlist.png) - -[//]: # (localization) - - `localizations → locale.yml → command.warnlist` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#warnlist -<<< @/files/localizations/en_us.yml#warnlist -::: - -### `empty` - -Message when the list of player warnings is empty - -### `null_page` - -Message when the entered page does not exist - -### `null_player` - -Message when the entered player cannot be found - -### `global` - -::: details Global warning messages - -#### `header` - -Header part of the warning list message - -#### `line` - -Format for each warning in the list - -#### `footer` - -Footer part of the warning list message -::: - -### `player` - -::: details Player-specific warning messages - -#### `header` - -Header part of the warning list message for the player - -#### `line` - -Format for each warning in the player's list - -#### `footer` - -Footer part of the warning list message for the player -::: - -[//]: # (command.yml) - - `command.yml → warnlist` - - -<<< @/files/command.yml#warnlist - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.warnlist` - - -<<< @/files/permission.yml#warnlist - - - - \ No newline at end of file diff --git a/pulse/en/docs/config/cache/index.md b/pulse/en/docs/config/cache/index.md deleted file mode 100644 index a32ac834..00000000 --- a/pulse/en/docs/config/cache/index.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -order: 30 -authors: -- TheFaser ---- - -# Cache - -Configuring cache size and lifetime - -::: warning WARNING - -You MUST NOT delete any of the caches, even if you think it won't be used, a cache must be created as an object - -::: - -[//]: # (config.yml) - - `config.yml → cache` - - -<<< @/files/config.yml#cache - -### `types` - -List of all caches used in `FlectonePulse` - -| Type | Description | -|------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `COOLDOWN` | For storing cooldowns applied to players when using a module. For example, chat message cooldowns or the `/me` command cooldown. This is for storage only, not for enabling cooldowns—each cooldown is enabled separately within its respective module | -| `DIALOG_CLICK` | For tracking the number of clicks in custom dialogs, such as in `/chatsetting`. This allows closing the dialog for people who click in them too often, i.e., spamming | -| `OFFLINE_PLAYERS` | For storing offline players who have left the server but might return. Also stores names that could be players, for example `/tell Notch`. Obviously, `Notch` is not on the server, but to search for such a player `FlectonePulse` uses a series of operations and finally queries the database. If found, it is saved with that data; otherwise, it is stored as an unknown player. Subsequent `/tell Notch` commands will fetch it directly from the cache, bypassing all checks | -| `MODERATION` | For storing moderation results about players. Most often used to avoid querying the database every time a player joins the server | -| `LEGACY_COLOR_MESSAGE` | For storing the results of formatting strings containing legacy formatting, e.g., why replace `&c` with `` every time if it can be taken from the cache. This is necessary because a custom message is formatted for each player, and these messages are often the same | -| `MENTION_MESSAGE` | For storing the formatting results of messages for the `mention` module. This is necessary because a custom message is formatted for each player, and these messages are often the same | -| `SWEAR_MESSAGE` | For storing the formatting results of messages for the `swear` module. This is necessary because a custom message is formatted for each player, and these messages are often the same | -| `REPLACEMENT_MESSAGE` | For storing the formatting results of messages for the `replacement` module. This is necessary because a custom message is formatted for each player, and these messages are often the same | -| `REPLACEMENT_IMAGE` | For storing formatted images for the `replacement` module | -| `TRANSLATE_MESSAGE` | For storing messages that need to be translated | -| `PROFILE_PROPERTY` | For storing player profiles with their skins, to avoid querying `SkinsRestorer` each time and creating them manually | - -::: info PARAMETERS -#### `duration` - -Lifetime of an unused object in the cache, after which it will be deleted - -#### `time_unit` - -Type of lifetime for an unused cache object - -#### `size` - -Maximum cache size - -::: \ No newline at end of file diff --git a/pulse/en/docs/config/command/index.md b/pulse/en/docs/config/command/index.md deleted file mode 100644 index 421195c6..00000000 --- a/pulse/en/docs/config/command/index.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -order: 15 -authors: -- TheFaser ---- - -# Command - -::: warning WARNING -This is not related to the commands module, to configure them go to [command](/docs/command/) -::: - -[//]: # (config.yml) - - `config.yml → command` - - -<<< @/files/config.yml#command - -### `unregister_on_reload` - -::: warning WARNING -Not recommended to enable on older Minecraft versions, otherwise there might be errors/warnings in the server console, but they do not affect the plugin's operation -::: - -- If enabled, `FlectonePulse` will remove and re-add its own commands on `/flectonepulse reload`. This can cause drops in `tps` and `mspt` due to the large number of packets, so it's better to disable this setting if you encounter such a problem. -- If disabled, to correctly disable a command from `FlectonePulse` (in `commands.yml`) you will need to restart the server. - -### `disabled_fabric` - -List of commands **not** from `FlectonePulse` that should be disabled on `Fabric` server startup. This allows replacing already taken commands on `Fabric`, for example `/me` or `/ban` \ No newline at end of file diff --git a/pulse/en/docs/config/database/index.md b/pulse/en/docs/config/database/index.md deleted file mode 100644 index 6a50d851..00000000 --- a/pulse/en/docs/config/database/index.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -order: 5 -authors: -- TheFaser ---- - -# Database - -Storage for important player information - -::: tip INFO -You can use environment variables in database fields, for example `${VALUE}` -::: - -[//]: # (config.yml) - - `config.yml → database` - - -<<< @/files/config.yml#database - -### `ignore_existing_driver` - -Whether to download the database library even if this library already exists on the server - -::: info INFORMATION - -This can solve the issue when other plugins use an outdated library and `FlectonePulse` cannot start properly - -::: - -### `type` - -Type of database used, currently supported: - -| Type | Explanation | -|-----------------|-------------------------------| -| `SQLite` | Local, file-based | -| `MySQL` | Server, requires connection | -| `MariaDB` | Server, requires connection | -| `H2` | Local, file-based | -| `PostgreSQL` | Server, requires connection | - -### `name` - -Database name - -### `host` - -Address of the server where the database is located - -### `port` - -Connection port to the database on the server - -### `user` - -Username to be used for connecting to the database - -### `password` - -Password for connecting to the database - -### `parameters` - -Database connection parameters - -### `prefix` - -::: warning WARNING - -If you change the prefix, it means new tables will be created and previous player data will not be used - -::: - -Database table prefix, if empty, the `fp_` prefix will be used \ No newline at end of file diff --git a/pulse/en/docs/config/editor/index.md b/pulse/en/docs/config/editor/index.md deleted file mode 100644 index bd0f00bc..00000000 --- a/pulse/en/docs/config/editor/index.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -order: 20 -authors: -- TheFaser ---- - -# Web Editor - -Web editing for `FlectonePulse`. The backend server runs where `FlectonePulse` is installed - -![editor](/flectonepulseeditor.gif) - -[//]: # (config.yml) - - `config.yml → editor` - - -<<< @/files/config.yml#editor - -### `host` - -Host (IP) of the current server, domain can also be specified - -### `https` - -Enables `https` operation instead of `http` - -### `port` - -Unused port of the current server \ No newline at end of file diff --git a/pulse/en/docs/config/index.md b/pulse/en/docs/config/index.md deleted file mode 100644 index 6285398d..00000000 --- a/pulse/en/docs/config/index.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -order: -1 -authors: - - TheFaser - - Stokmenn ---- - -# Configuration - -Main configuration for `FlectonePulse`, without which the plugin cannot function - -[//]: # (config.yml) - - `config.yml` - - -<<< @/files/config.yml#version - -### `version` - -The current version of the plugin, used for proper transitions between plugin versions - -::: warning WARNING -Do not change the plugin version unless you know what you're doing! -::: \ No newline at end of file diff --git a/pulse/en/docs/config/language/index.md b/pulse/en/docs/config/language/index.md deleted file mode 100644 index 4154d53c..00000000 --- a/pulse/en/docs/config/language/index.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -order: 1 -authors: -- TheFaser ---- - -# Language - -Language and behavior configuration - -[//]: # (config.yml) - - `config.yml → language` - - -<<< @/files/config.yml#language - -### `type` - -Localization used for all plugin messages - -::: warning WARNING -The selected localization must be from the `localizations` folder -::: - -You can create and use your own localizations, for this: -1. Copy one localization file, for example `ru_ru.yml` -2. Rename it, preferably as in the [game](https://minecraft.wiki/w/Language) -3. Now you can change any messages inside this file - -::: info EXAMPLE -I want to translate the plugin into Belarusian -1. Copy the file `ru_ru.yml` -2. Rename it to `be_by.yml` -![locale](/locale.png) -3. Done! -::: - -### `by_player` - -If enabled, each player's Minecraft localization will be checked and depending on that, the [message](/docs/message/) will be shown - -::: tip INFO - -If you change messages with `by_player` enabled, remember to do it in ALL localization files - -::: - -![locale](/locale.gif) - -If such localization doesn't exist, the localization from `type` will be used \ No newline at end of file diff --git a/pulse/en/docs/config/logger/index.md b/pulse/en/docs/config/logger/index.md deleted file mode 100644 index cf6d7f3d..00000000 --- a/pulse/en/docs/config/logger/index.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -order: 25 -authors: -- TheFaser ---- - -# Logger - -Configuration for everything related to console and logs - -::: warning WARNING -This uses `ANSI` colors for messages, regular colors won't work -::: - -[//]: # (config.yml) - - `config.yml → logger` - - -<<< @/files/config.yml#logger - -### `console` - -Used to display the name when a message is created by the console -![console](/console.gif) - -### `prefix` - -Prefix for all messages written by `FlectonePulse` to the console - -### `description` - -Message on successful startup, `` will be replaced with the current version of `FlectonePulse` - -### `warn` - -Color for warning messages - -### `info` - -Color for information messages - -### `filter` - -Idea taken [from here](https://github.com/Whitescan/ConsoleFilter/blob/master/src/main/java/dev/whitescan/consolefilter/share/LogFilter.java), thanks @Whitescan - -List of messages that should not be shown, using keywords found in the message - -::: info EXAMPLE I WANT TO FILTER -![filter](/filter.png) - -So need to write: -`Unknown or incomplete command` or `command` or `Unknown` -::: \ No newline at end of file diff --git a/pulse/en/docs/config/metrics/index.md b/pulse/en/docs/config/metrics/index.md deleted file mode 100644 index d6ce7076..00000000 --- a/pulse/en/docs/config/metrics/index.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -order: 35 -authors: -- TheFaser ---- - -# Metrics - -Collection of anonymous server information - -::: tip INFO - -`FlectonePulse` does not collect your players' nicknames, does not collect your server's IP, does not collect any personal information about the server. Your server cannot be identified by this information, you have nothing to worry about. All information that is collected can be viewed in the [server analytics](/metrics/) - -::: - -[//]: # (config.yml) - - `config.yml → metrics` - - -<<< @/files/config.yml#metrics - -### `enable` - -Enable/Disable collection of anonymous information - -::: info THANK YOU! - -If you have metrics enabled, you are greatly helping the development of `FlectonePulse` - -::: \ No newline at end of file diff --git a/pulse/en/docs/config/module/index.md b/pulse/en/docs/config/module/index.md deleted file mode 100644 index d8685908..00000000 --- a/pulse/en/docs/config/module/index.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -order: 15 -authors: -- TheFaser ---- - -# Module - -Configuration of the main `FlectonePulse` module - -[//]: # (config.yml) - - `config.yml → module` - - -<<< @/files/config.yml#module - -### `enable` - -Enables or disables the operation of all modules - -- Each module has a parent (the one above it) - -::: info EXAMPLE -```yaml -house: - door: - chair: -``` - -`house` is the parent for `door` and `chair` -::: - -- Each module depends on the parent's `enable` - -::: info EXAMPLE -```yaml -house: - enable: false - door: - enable: true - chair: - enable: true -``` - -`house` is disabled, so regardless of whether `door` and `chair` are enabled - they will also be disabled -::: - -### `use_paper_message_sender` - -If enabled, `FlectonePulse` will use `Paper` as a tool to send a message to the player's chat. How does it work? First, the plugin creates a message internally and obtains a `FlectonePulse.Component`, this object is converted into a regular `String`. Then, `Paper` itself is used to get a `Paper.Component` from this string and send it to the player - -::: warning WARNING - -For this to work, `PacketEvents` must be installed on the server as a separate plugin and the server core must be `Paper` or a fork of it - -::: - -[//]: # (permission.yml) - - `permission.yml` - - -<<< @/files/permission.yml#module - - \ No newline at end of file diff --git a/pulse/en/docs/config/proxy/index.md b/pulse/en/docs/config/proxy/index.md deleted file mode 100644 index 9b89d1f7..00000000 --- a/pulse/en/docs/config/proxy/index.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -order: 10 -authors: -- TheFaser ---- - -# Proxy - -Used for synchronizing multiple servers using BungeeCord/Velocity or Redis - -::: tip INFO -This works on any platform where FlectonePulse is available. For Bukkit and Fabric servers. -::: - -[//]: # (config.yml) - - `config.yml → proxy` - - -<<< @/files/config.yml#proxy - -### `clusters` - -List of clusters the server should connect to. Only used when proxy mode is enabled. -If the list is empty, the server receives all messages from other servers - -::: info HOW TO USE? -Enter the cluster name on all servers where the message should be received and sent -```yaml -clusters: -- "test_cluster" -``` - -This way servers connect with each other and messages will only be between these servers -::: - -### `bungeecord` - -Enables connection with `BungeeCord` - -::: tip HOW TO SET UP? -1. Place the `FlectonePulse-bukkit.jar` file in the `plugins` folder on `BungeeCord`. Even if you have a Fabric server, you need to use `FlectonePulse-bukkit.jar` on `BungeeCord` -2. On all servers that should connect with `BungeeCord`, enable `bungeecord: true` in FlectonePulse -3. The selected database must be `MySQL`, `MariaDB`, or `PostgreSQL` (server-based) -::: - -### `velocity` - -Enables connection with `Velocity` - -::: tip HOW TO SET UP? -1. Place the `FlectonePulse-bukkit.jar` file in the `plugins` folder on `Velocity`. Even if you have a Fabric server, you need to use `FlectonePulse-bukkit.jar` on `Velocity` -2. On all servers that should connect with `Velocity`, enable `velocity: true` in FlectonePulse -3. The selected database must be `MySQL`, `MariaDB`, or `PostgreSQL` (server-based) -::: - -### `redis` - -Used for communication between different servers. For `user` and `password` you can use environment variables, for example `${VALUE}` - -::: details REDIS CONFIGURATION - -#### `enable` - -Enables `Redis` operation - -#### `host` - -Host (IP) of the server where `Redis` is running - -#### `port` - -Port of the server where `Redis` is running - -#### `ssl` - -Enables `SSL` usage - -#### `user` - -Username in `Redis`, if none exists, can be left empty - -#### `password` - -User password in `Redis`, if none exists, can be left empty - -::: \ No newline at end of file diff --git a/pulse/en/docs/index.md b/pulse/en/docs/index.md deleted file mode 100644 index a6e75cf6..00000000 --- a/pulse/en/docs/index.md +++ /dev/null @@ -1,202 +0,0 @@ ---- -title: "Documentation" -authors: - - TheFaser ---- - -
- flectone -
-

FlectonePulse — Documentation

-

Complete guide to setting up and using FlectonePulse

-
- -## Frequently Asked Questions (FAQ) - -### 1. What is FlectonePulse and what is it used for? -FlectonePulse is a plugin for Minecraft servers that allows full customization of messages, chat, commands, and integrations. It supports all popular platforms (Bukkit, Spigot, Paper, Purpur, Folia, BungeeCord, Velocity) and provides a flexible text formatting system, automatic player language detection, and integrations with Discord, Telegram, and Twitch. FlectonePulse works on all versions from 1.8.8 up to the latest - -### 2. How to install FlectonePulse? - -- #### Bukkit -1. Download the plugin from [Modrinth](https://modrinth.com/plugin/flectonepulse) -2. Place the plugin file in your server's `plugins` folder -3. Restart the server -4. Configure the settings in the files - -- #### Fabric -1. Download the mod from [Modrinth](https://modrinth.com/plugin/flectonepulse) -2. Place the mod file in your server's `mods` folder, and also install `PacketEvents` and `Fabric-API` -3. Restart the server -4. Configure the settings in the files - -| File | Documentation Link | Explanation | -|---------------------|--------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `config.yml` | [Configuration](/docs/config/) | Main FlectonePulse configuration, essential for proper operation. This is where the database, plugin language, proxy mode, etc., are configured. | -| `command.yml` | [Commands](/docs/command/) | Configuration of all **custom** commands. They can be used by typing `/flectonepulse:command_name` in Minecraft. | -| `integration.yml` | [Integrations](/docs/integration/) | Configuration of interactions with external plugins and services. | -| `message.yml` | [Messages](/docs/message/) | Configuration of FlectonePulse messages (conditions for their appearance and content).
**Do not confuse with message format configuration**, which is done in the `/localizations/...` files. | -| `localizations/...` | Specified in each section of the commands and messages documentation | This folder contains files with settings for each player language ([see language](/docs/config/language/)). This is where the **format** of messages, i.e., the text, is configured. | -| `permission.yml` | Specified in each section of the commands, messages, and integrations documentation | Configuration of access permissions. By default, permissions are set so that most functions are available to all players without additional configuration. | - -### 3. How to configure message formatting? -FlectonePulse has a versatile text formatting system supporting various color formats, from classic codes to modern gradients. - - - -*For flexibility, you can use `&` or `§` as interchangeable symbols.* - -```yaml -welcome-message: "&lHello !" -``` - -![welcome message](/welcomemessage.png) - -### 4. Can certain plugin features be disabled? -Yes, FlectonePulse uses a modular system. Any feature (commands, messages, or integrations) can be disabled in the `command.yml`, `message.yml`, or `integration.yml` files, respectively. After making changes, restart the plugin with the `/flectonepulse reload` command. - -### 5. How does automatic language detection work? -If the `by_player` option is enabled in `config.yml`, the plugin automatically detects the player's Minecraft language and displays messages from the `localizations/...` folder in that language. If the localization is unavailable, the default language from the configuration is used. Details in the [localization documentation](/docs/config/language/). - -### 6. What integrations does FlectonePulse support? -The plugin integrates with Discord, Telegram, and Twitch, allowing players to communicate across different platforms. It also supports third-party Minecraft plugins, such as preventing muted players from speaking in PlasmoVoice and SimpleVoice. Integration settings are configured in the `integration.yml` file. Details in the [integrations documentation](/docs/integration/). - -### 7. How to use the `/chatsetting` command? -Type the `/chatsetting` command in the chat to configure chat and related features (e.g., color, style, notifications). - -![commandchatsetting](/commandchatsetting.gif) - -### 8. Does FlectonePulse support PlaceholderAPI? -Yes, FlectonePulse is fully compatible with PlaceholderAPI and MiniPlaceholders. Use placeholders in messages. - -### 9. How to use the `/symbol` command? -Type the `/symbol` command in the chat to search for and use Unicode emojis. - -![commandsymbol](/commandsymbol.png) - -### 10. Are there chat-based mini-games? -Yes, players can use built-in mini-games such as tic-tac-toe or rock-paper-scissors. - -![commandtictactoe](/commandtictactoe.png) - -![commandrockpaperscissors](/commandrockpaperscissors.png) - -### 11. How is FlectonePulse different from FlectoneChat? -FlectonePulse is a new project, not an improved version of FlectoneChat. FlectoneChat was an experiment, while FlectonePulse was built with past mistakes in mind, offering more features and customization. - -### 12. How to enable displaying the player's name above their head? -Enable the `name_visible` setting in the `message.yml` file: - -<<< @/files/message.yml#scoreboard - -After making changes, run the `/flectonepulse reload` command. Details in the [configuration documentation](/docs/message/format/scoreboard/). - -### 13. How to configure the player's name display? -Player name (`display`) configuration is done in the `localizations/...` files: - -::: code-group -<<< @/files/localizations/ru_ru.yml#names -<<< @/files/localizations/en_us.yml#names -::: - -After changes, run `/flectonepulse reload`. Details in the [localization documentation](/docs/message/format/names/). - -### 14. How to configure colors in messages and the interface? -Color configuration is done in the `message.yml` file using the `fcolor` module: - -<<< @/files/message.yml#fcolor - -This sets default colors if the player hasn’t chosen their own in `/chatsetting` or `/chatcolor`. You can disable color changes in the respective commands. Details in the [formatting guide](/docs/message/format/color/). - -::: tip TIP -It’s easier to change the 4 colors here than to replace `` in all plugin settings. -::: - -### 15. How to configure the TAB (player list)? -To enable/disable TAB modules, configure the `message.yml` file: - -```yaml -tab: - enable: true - header: - enable: true - footer: - enable: true - playerlistname: - enable: true -``` - -To modify messages, edit the localization file in `localizations/...`: - -```yaml -tab: - header: - lists: - - - " " - - "👾" - - " " - - - " " - - "❤" - - " " - footer: - lists: - - - " " - - "TPS , Online " - - " " - - - " " - - "Hello !" - - " " - playerlistname: - format: "" -``` - -::: warning IMPORTANT -To sort the TAB by donation groups, enable [`tab_sort`](/docs/integration/luckperms/#tab-sort). -::: - -After changes, run `/flectonepulse reload`. Details in the [TAB documentation](/docs/message/tab/). - -### 16. What to do if errors occur? -1. Check the server console for errors and send them to the [Discord community](https://discord.com/channels/861147957365964810/1271850075064369152) for assistance. -2. Ensure you’re using the latest version of the plugin. -3. Review the documentation or get personalized technical support for boosters on [Boosty](https://boosty.to/thefaser). - -### 17. How to contact the developers? -Join the [Discord community](https://discord.flectone.net/) for support and suggestions. Leave a star on [GitHub](https://github.com/Flectone/FlectonePulse) or a review on [SpigotMC](https://www.spigotmc.org/resources/flectonepulse.121618/). - -### 18. When will the new version of FlectonePulse with support for the latest Minecraft version be released? -FlectonePulse likely already supports the latest Minecraft version. Experimental versions are available for download on [GitHub](https://github.com/Flectone/FlectonePulse/actions/) or in the [Discord testers channel](https://discord.com/channels/861147957365964810/1357058707011272926). If a Minecraft version is released and FlectonePulse hasn’t been updated, it’s due to waiting for the release of PacketEvents, the main library used by FlectonePulse for server interaction. Once PacketEvents is released, FlectonePulse will be updated. - -::: danger CAUTION -Use test versions at your own risk. These versions are often not intended for production use and may be unstable or break previous versions of FlectonePulse. -::: - -### 19. Does FlectonePulse work with proxies, and how to configure it? -FlectonePulse supports proxy servers, including BungeeCord and Velocity. The same plugin file must be installed on both the proxy and the server. Configuration files are not created on the proxy—it acts as a bridge. All settings are configured in the server files. A MySQL database connection must be set up in the `config.yml` file on the servers. Additionally, enable either the `velocity` or `bungeecord` mode. Details in the [configuration documentation](/docs/config/proxy/). - -### 20. Does FlectonePulse support servers that run mods and plugins simultaneously, like Arclight or Mohist, and does it work on Fabric? - -FlectonePulse has not been tested on hybrid servers supporting both mods and plugins (e.g., Arclight or Mohist), and no support is planned. The main issue lies with the Libby library used for dependency loading. Theoretically, it's possible to build FlectonePulse with all required dependencies to run on these servers, but there's no guarantee PacketEvents will function correctly. FlectonePulse does work on Fabric, but only on the latest Minecraft version due to the complexity of multi-version support. - -::: info NOTE - -The main issue has been fixed in recent Mohist versions, so FlectonePulse works there without major problems - -::: - -### 21. Is your chat plugin incompatible with FlectonePulse? - -By default, `FlectonePulse` has the `mode: "PACKET"` setting for [chats](/docs/message/chat/#mode). This prevents your plugin from working correctly - -::: info INFO - -You can change this to `mode: "BUKKIT"` to allow other plugins to interact with chat. In rare cases, you may use `mode: "PAPER"` if your plugin uses `Paper` listeners - -::: - -
-

🚀 Start using FlectonePulse today!

-
- modrinth - discord -
\ No newline at end of file diff --git a/pulse/en/docs/integration/advancedban/index.md b/pulse/en/docs/integration/advancedban/index.md deleted file mode 100644 index 74bf156a..00000000 --- a/pulse/en/docs/integration/advancedban/index.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# AdvancedBan - -Integration with `AdvancedBan` checks if a player is muted and prevents them from sending messages, as well as disables moderation commands in `FlectonePulse` - -::: warning WARNING -It's better to manually disable these commands in `command.yml`, as they may not always be disabled automatically -::: - -[//]: # (integration.yml) - - `integration.yml → advancedban` - - -<<< @/files/integration.yml#advancedban - - - -### `disable_flectonepulse_ban` -Disables the `/ban`, `/banlist`, and `/unban` commands in `FlectonePulse` - -### `disable_flectonepulse_mute` -Disables the `/mute`, `/mutelist`, and `/unmute` commands in `FlectonePulse` - -### `disable_flectonepulse_warn` -Disables the `/warn`, `/warnlist`, and `/unwarn` commands in `FlectonePulse` - -### `disable_flectonepulse_kick` -Disables the `/kick` command in `FlectonePulse` - -[//]: # (permission.yml) - - `permission.yml → integration.advancedban` - - -<<< @/files/permission.yml#advancedban - - \ No newline at end of file diff --git a/pulse/en/docs/integration/deepl/index.md b/pulse/en/docs/integration/deepl/index.md deleted file mode 100644 index b21d0201..00000000 --- a/pulse/en/docs/integration/deepl/index.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Deepl - -Integration with Deepl allows translating messages from one language to another, used by the [translation](/docs/command/translateto#service) module - -[//]: # (integration.yml) - - `integration.yml → deepl` - - -<<< @/files/integration.yml#deepl - - - -### `auth_key` - -Authorization token for Deepl - -[//]: # (permission.yml) - - `permission.yml → integration.deepl` - - -<<< @/files/permission.yml#deepl - - \ No newline at end of file diff --git a/pulse/en/docs/integration/discord/index.md b/pulse/en/docs/integration/discord/index.md deleted file mode 100644 index fdd2150c..00000000 --- a/pulse/en/docs/integration/discord/index.md +++ /dev/null @@ -1,355 +0,0 @@ ---- -authors: -- TheFaser ---- - -# Discord - -Integration with Discord allows sending messages: -- from Minecraft to Discord -- from Discord to Minecraft - -![discord message](/discordmessage.png) -![minecraft message](/discordminecraftmessage.png) - -::: info INFORMATION - -For the bot to work correctly, enable three settings for your bot in the [Discord Developer Portal](https://discord.com/developers/applications/): - -![develop](/discorddevelopers.png) - -Also grant the bot the following permissions: `read messages`, `send messages`, and `use webhooks` - -::: - - - -[//]: # (localization) - - `localizations → locale.yml → integration.discord` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#discord -<<< @/files/localizations/en_us.yml#discord -::: - -### `null_player` - -Message if the entered player via `custom_command` is not found - -### `format_reply` - -Message format for the `` tag when the message is a reply to another one - -### `custom_command` - -List of custom integration commands, where the key is the command name and the value is its message format - -::: info EXAMPLE - -```yaml -custom_command: - tps: - content: "" -``` - -A command to get the `tps` value on the server. **Don't forget to create it in inegration.yml** - -::: - -### `Placeholders` - -You can use all placeholders used in the initial message for Minecraft -::: info EXAMPLE FOR BAN MESSAGE -There is a `` placeholder, so I can use `` inside Discord messages -::: - -There are also placeholders that will DEFINITELY be replaced in any message -- `` message sent to Minecraft -- `` message sent to Minecraft without unicode emojis -- `` nickname of the player who sent the message -- `` raw message written by the player -- `` formatted message written by the player -- `` formatted reply message, it will be empty if the main message is not a reply -- Obviously, all placeholders from `PlaceholderAPI` and `FlectonePulse` will also work - -
-The message that will be sent from Discord to Minecraft has its own placeholders: - -| Placeholder | Returns | -|-------------------|------------------------------| -| `` | User global name in Discord | -| `` | User global name in Discord | -| `` | User nickname in Discord | -| `` | User display name in Discord | -| `` | User tag in Discord | - -### `info_channel` - -List of channel IDs and their names, for displaying some information, for example `TPS` - -### `message_channel` - -List of messages with their settings - -::::: details Message configuration - -::: tip INFO - -If a parameter is empty or not written, it will not be used in the final message - -::: - -#### `content` - -Message content -![discord content](/discordcontent.png) - -#### `webhook_avatar` - -Enable Discord webhook with player's avatar. Best to use `https://mc-heads.net/avatar//32.png` -![discord webhook](/discordwebhook.png) - -#### `embed` - -Discord embed message -![discord embed](/discordembed.png) - -##### `color` - -Color of the `embed` message - -##### `title` - -Title of the `embed` message - -##### `url` - -URL for the `embed` message - -##### `author` - -Author of the `embed` message - -###### `name` - -Name of the `embed` message author - -###### `url` - -URL of the `embed` message author - -###### `icon_url` - -URL of the `embed` message author's avatar. If you change it to your own, the URL must contain `` - -##### `description` - -Description of the `embed` message - -##### `thumbnail` - -Small image inside the `embed` message - -##### `fields` - -Bottom fields inside the `embed` message - -###### `name` - -Name of the field inside the `embed` message - -###### `value` - -Value of the field inside the `embed` message - -###### `inline` - -If enabled, the field will be placed in a column with other fields - -##### `image` - -Main image of the `embed` message - -##### `timestamp` - -If enabled, the `embed` message will include creation time - -##### `footer` - -Bottom part of the `embed` message - -###### `text` - -Text in the bottom part of the `embed` message - -###### `icon_url` - -Image in the bottom part of the `embed` message - -::::: - -::: info INFO - -Message with all parameters -![discord](https://docs.discord4j.com/img/embed-preview.png) - -```yaml -message_name: - content: "" - webhook_avatar: "https://mc-heads.net/avatar//32.png" - embed: - color: "" - title: "" - url: "" - author: - name: "" - url: "" - icon_url: "https://mc-heads.net/avatar//16.png" - description: "" - thumbnail: "" - fields: - - name: "" - value: "" - inline: false - image: "" - timestamp: true - footer: - text: "" - icon_url: "https://mc-heads.net/avatar//16.png" -``` -::: - -[//]: # (integration.yml) - - `integration.yml → discord` - - -<<< @/files/integration.yml#discord - - - -::: warning WARNING -- Before enabling, insert the Discord bot **token** -- After enabling, it's **RECOMMENDED** to restart the server, otherwise the plugin may cause freezing -::: - -### `token` - -Discord bot [token](https://discordgsm.com/guide/how-to-get-a-discord-bot-token) for connection. You can use environment variables, for example `${VALUE}` - -### `custom_command` - -List of custom integration commands, the key is the command name and it can be anything. Commands can ONLY be informational, they do not execute anything on the server and will not perform any actions - -| Parameter | Explanation | -|---------------|----------------------------------------------------------------------------------| -| `need_player` | Whether to check the first command argument for a player name, e.g., `!ping TheFaser` | -| `aliases` | List of aliases for using the command | - -::: info EXAMPLE - -```yaml -custom_command: - tps: - need_player: false - aliases: - - "!tps" - - "!tickpersecond" -``` - -A command to get the `tps` value on the server using `!tps` or `!tickpersecond`. **Don't forget to create the message in localization** - -::: - -### `presence` - -![discord presence](/discordpresence.png) - -::: details Bot status configuration -#### `enable` - -Enables or disables custom bot status - -#### `status` - -| Mode | Explanation | -|-----------------|--------------------------------| -| `UNKNOWN` | - | -| `ONLINE` | Online | -| `DO_NOT_DISTURB`| Do not disturb (Online) | -| `IDLE` | Online but idle | -| `INVISIBLE` | Invisible | -| `OFFLINE` | Offline | - -#### `activity` - -Bot activity in Discord - -##### `enable` - -Enables or disables activity - -##### `type` - -| Type | Explanation | -|-------------|-------------| -| `UNKNOWN` | - | -| `STREAMING` | Streaming | -| `LISTENING` | Listening | -| `WATCHING` | Watching | -| `CUSTOM` | - | -| `COMPETING` | Competing | - -##### `name` - -Activity name - -##### `url` - -Activity URL - -::: - -### `channel_info` - -![discord channel info](/discordchannelinfo.png) - -::: details Information channels configuration -#### `enable` - -Whether information channel is needed - - - -### `message_channel` - -List of message types and [channel IDs](https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID-) in Discord - -::: info For example I want messages from Minecraft command `/ban` to be sent to Discord -1. Copy the Discord channel ID `1286666844358316083` -2. Write `COMMAND_BAN: "1286666844358316083"` - -```yaml -message_channel: - COMMAND_BAN: - - "1286666844358316083" -``` - -You don't need to configure localization, by default the message will be sent with the format `` -::: - - - - -[//]: # (permission.yml) - - `permission.yml → integration.discord` - - -<<< @/files/permission.yml#discord - - - \ No newline at end of file diff --git a/pulse/en/docs/integration/floodgate/index.md b/pulse/en/docs/integration/floodgate/index.md deleted file mode 100644 index 9cc2dc0e..00000000 --- a/pulse/en/docs/integration/floodgate/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Floodgate - -Integration with Floodgate allows proper message formatting for Bedrock players when Geyser is on the Proxy while Floodgate is on a specific server - -[//]: # (integration.yml) - - `integration.yml → floodgate` - - -<<< @/files/integration.yml#floodgate - - - -[//]: # (permission.yml) - - `permission.yml → integration.floodgate` - - -<<< @/files/permission.yml#floodgate - - \ No newline at end of file diff --git a/pulse/en/docs/integration/geyser/index.md b/pulse/en/docs/integration/geyser/index.md deleted file mode 100644 index 6b50359e..00000000 --- a/pulse/en/docs/integration/geyser/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Geyser - -Integration with Geyser allows for proper message formatting for `bedrock` players - -[//]: # (integration.yml) - - `integration.yml → geyser` - - -<<< @/files/integration.yml#geyser - - - -[//]: # (permission.yml) - - `permission.yml → integration.geyser` - - -<<< @/files/permission.yml#geyser - - \ No newline at end of file diff --git a/pulse/en/docs/integration/index.md b/pulse/en/docs/integration/index.md deleted file mode 100644 index 283f1cd2..00000000 --- a/pulse/en/docs/integration/index.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Integrations - -Category responsible for configuring all integrations - -[//]: # (integration.yml) - - `integration.yml` - - -<<< @/files/integration.yml#integration - - - -### `avatar_api_url` - -API URL for fetching a player's head avatar. Final URL will look like this: https://mc-heads.net/avatar/59c987a2-4ef3-48e5-a291-00abe9ca8f12/8.png - -### `body_api_url` - -API URL for fetching a player's full body skin. Final URL will look like this: https://mc-heads.net/player/59c987a2-4ef3-48e5-a291-00abe9ca8f12/8.png - -[//]: # (permission.yml) - - `permission.yml → integration` - - -<<< @/files/permission.yml#integration - - \ No newline at end of file diff --git a/pulse/en/docs/integration/interactivechat/index.md b/pulse/en/docs/integration/interactivechat/index.md deleted file mode 100644 index 121f4600..00000000 --- a/pulse/en/docs/integration/interactivechat/index.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -authors: - - TheFaser ---- - -# InteractiveChat - -Integration with the `InteractiveChat` plugin properly formats custom placeholders from `InteractiveChat` - -::: warning WARNING - -There is no and will be no full support for `InteractiveChat`. If achievements, death messages etc. aren't displaying, this is an `InteractiveChat` issue caused by its modification of all packets. This can be fixed by disabling certain features in the `InteractiveChat` config itself. - -::: - -::: warning WARNING - -With `InteractiveChat` enabled, the message deletion module won't work or messages may get duplicated. - -::: - -Personal advice from me, the author of `FlectonePulse`: don't use `InteractiveChat` on your server until its author decides to code it properly. It literally creates noticeable delays in chat messages. - -[//]: # (integration.yml) - - `integration.yml → interactivechat` - - -<<< @/files/integration.yml#interactivechat - - - -[//]: # (permission.yml) - - `permission.yml → integration.interactivechat` - - -<<< @/files/permission.yml#interactivechat - - \ No newline at end of file diff --git a/pulse/en/docs/integration/itemsadder/index.md b/pulse/en/docs/integration/itemsadder/index.md deleted file mode 100644 index 532db901..00000000 --- a/pulse/en/docs/integration/itemsadder/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -authors: - - TheFaser ---- - -# ItemsAdder - -Integration with the `ItemsAdder` plugin properly formats custom font emojis - -[//]: # (integration.yml) - - `integration.yml → itemsadder` - - -<<< @/files/integration.yml#itemsadder - - - -[//]: # (permission.yml) - - `permission.yml → integration.itemsadder` - - -<<< @/files/permission.yml#itemsadder - - \ No newline at end of file diff --git a/pulse/en/docs/integration/libertybans/index.md b/pulse/en/docs/integration/libertybans/index.md deleted file mode 100644 index 2dd0c974..00000000 --- a/pulse/en/docs/integration/libertybans/index.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -authors: - - TheFaser ---- - -# LibertyBans - -Integration with `LibertyBans` checks if a player is muted and prevents them from sending messages, as well as disables moderation commands in `FlectonePulse` - -::: warning WARNING -It's better to manually disable these commands in `command.yml`, as they may not always be disabled automatically -::: - -[//]: # (integration.yml) - - `integration.yml → libertybans` - - -<<< @/files/integration.yml#libertybans - - - -### `disable_flectonepulse_ban` -Disables the `/ban`, `/banlist`, and `/unban` commands in `FlectonePulse` - -### `disable_flectonepulse_mute` -Disables the `/mute`, `/mutelist`, and `/unmute` commands in `FlectonePulse` - -### `disable_flectonepulse_warn` -Disables the `/warn`, `/warnlist`, and `/unwarn` commands in `FlectonePulse` - -### `disable_flectonepulse_kick` -Disables the `/kick` command in `FlectonePulse` - -[//]: # (permission.yml) - - `permission.yml → integration.libertybans` - - -<<< @/files/permission.yml#libertybans - - \ No newline at end of file diff --git a/pulse/en/docs/integration/litebans/index.md b/pulse/en/docs/integration/litebans/index.md deleted file mode 100644 index 573aa625..00000000 --- a/pulse/en/docs/integration/litebans/index.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# LiteBans - -Integration with `LiteBans` checks if a player is muted and prevents them from sending messages, as well as disables moderation commands in `FlectonePulse` - -::: warning WARNING -It's better to manually disable these commands in `command.yml`, as they may not always be disabled automatically -::: - -[//]: # (integration.yml) - - `integration.yml → litebans` - - -<<< @/files/integration.yml#litebans - - - -### `disable_flectonepulse_ban` -Disables the `/ban`, `/banlist`, and `/unban` commands in `FlectonePulse` - -### `disable_flectonepulse_mute` -Disables the `/mute`, `/mutelist`, and `/unmute` commands in `FlectonePulse` - -### `disable_flectonepulse_warn` -Disables the `/warn`, `/warnlist`, and `/unwarn` commands in `FlectonePulse` - -### `disable_flectonepulse_kick` -Disables the `/kick` command in `FlectonePulse` - -[//]: # (permission.yml) - - `permission.yml → integration.litebans` - - -<<< @/files/permission.yml#litebans - - \ No newline at end of file diff --git a/pulse/en/docs/integration/luckperms/index.md b/pulse/en/docs/integration/luckperms/index.md deleted file mode 100644 index d7eb2c25..00000000 --- a/pulse/en/docs/integration/luckperms/index.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# LuckPerms - -Integration with LuckPerms allows: -- Checking permissions for **offline players** -- Sorting players in TAB by [group weight](https://luckperms.net/wiki/Weight) - -[//]: # (integration.yml) - - `integration.yml → luckperms` - - -<<< @/files/integration.yml#luckperms - - - -### `tab_sort` - -Enables or disables sorting in TAB by [group weight](https://luckperms.net/wiki/Weight) - -[//]: # (permission.yml) - - `permission.yml → integration.luckperms` - - -<<< @/files/permission.yml#luckperms - - \ No newline at end of file diff --git a/pulse/en/docs/integration/maintenance/index.md b/pulse/en/docs/integration/maintenance/index.md deleted file mode 100644 index 05ed6afe..00000000 --- a/pulse/en/docs/integration/maintenance/index.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Maintenance - -Integration with the Maintenance plugin allows disabling `MOTD` in `FlectonePulse` when needed, and also disables the `/maintenance` command from `FlectonePulse`. - -[//]: # (integration.yml) - - `integration.yml → maintenance` - - -<<< @/files/integration.yml#maintenance - - - -### `disable_flectonepulse_maintenance` - -Disables the `/maintenance` command in `FlectonePulse` - -[//]: # (permission.yml) - - `permission.yml → integration.maintenance` - - -<<< @/files/permission.yml#integrationmaintenance - - \ No newline at end of file diff --git a/pulse/en/docs/integration/mineplaceholders/index.md b/pulse/en/docs/integration/mineplaceholders/index.md deleted file mode 100644 index bcf095da..00000000 --- a/pulse/en/docs/integration/mineplaceholders/index.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -authors: - - TheFaser ---- - -# MiniPlaceholders - -Integration with MiniPlaceholders allows using any [mini-placeholders](https://github.com/MiniPlaceholders/MiniPlaceholders/wiki/Placeholders) - -::: warning WARNING -To use a mini-placeholder, you must wrap it in `{}` - -Example: `{}` -::: - -[//]: # (integration.yml) - - `integration.yml → miniplaceholders` - - -<<< @/files/integration.yml#miniplaceholders - - - -[//]: # (permission.yml) - - `permission.yml → integration.miniplaceholders` - - -<<< @/files/permission.yml#miniplaceholders - - - -### `use` - -Permission to use MiniPlaceholders placeholders in messages \ No newline at end of file diff --git a/pulse/en/docs/integration/minimotd/index.md b/pulse/en/docs/integration/minimotd/index.md deleted file mode 100644 index de60f861..00000000 --- a/pulse/en/docs/integration/minimotd/index.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# MiniMOTD - -Integration with `MiniMOTD` disables the [Status](/docs/message/status/) module in `FlectonePulse` - -[//]: # (integration.yml) - - `integration.yml → minimotd` - - -<<< @/files/integration.yml#minimotd - - - -### `disable_flectonepulse_status` -Disables the [Status](/docs/message/status/) module - -[//]: # (permission.yml) - - `permission.yml → integration.minimotd` - - -<<< @/files/permission.yml#minimotd - - \ No newline at end of file diff --git a/pulse/en/docs/integration/motd/index.md b/pulse/en/docs/integration/motd/index.md deleted file mode 100644 index 833a7018..00000000 --- a/pulse/en/docs/integration/motd/index.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# MOTD - -::: warning ATTENTION -This is an integration with another plugin `MOTD`. You can configure `MOTD` itself [here](/docs/message/status/motd/) -::: - -Integration with `MOTD` disables the [Status](/docs/message/status/) module in `FlectonePulse` - -[//]: # (integration.yml) - - `integration.yml → motd` - - -<<< @/files/integration.yml#motd - - - -### `disable_flectonepulse_status` -Disables the [Status](/docs/message/status/) module - -[//]: # (permission.yml) - - `permission.yml → integration.motd` - - -<<< @/files/permission.yml#motd - - \ No newline at end of file diff --git a/pulse/en/docs/integration/placeholderapi/index.md b/pulse/en/docs/integration/placeholderapi/index.md deleted file mode 100644 index f2f52982..00000000 --- a/pulse/en/docs/integration/placeholderapi/index.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# PlaceholderAPI - -Integration with PlaceholderAPI: -- Allows using any [placeholders](https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Placeholders) - -::: info EXAMPLE -`%server_tps%`, `%server_online%`, etc., if the corresponding module is installed via `/papi ecloud download module` -::: - -- Adds its own placeholders - -| Placeholder | Returns | -|---------------------------------------------|-----------------------------------------------------------------------| -| `%flectonepulse_advancement%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_afk%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_afk_suffix%` | Returns [AFK suffix](/docs/command/afk/) | -| `%flectonepulse_auto%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_chat_name%` | Returns the type of selected chat, default is `default` | -| `%flectonepulse_death%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_discord%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_fcolor_number%` | Returns the player's [custom](/docs/message/format/fcolor/) color | -| `%flectonepulse_fcolor_out_number%` | Returns the player's [custom OUT](/docs/message/format/fcolor/) color | -| `%flectonepulse_fcolor_see_number%` | Returns the player's [custom SEE](/docs/message/format/fcolor/) color | -| `%flectonepulse_greeting%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_ip%` | Returns the player's IP address | -| `%flectonepulse_join%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_locale%` | Returns the player's current locale | -| `%flectonepulse_online%` | Returns the number of players on the server | -| `%flectonepulse_ping%` | Returns the player's ping | -| `%flectonepulse_player%` | Returns the player's regular name | -| `%flectonepulse_quit%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_stream_prefix%` | Returns the player's [stream](/docs/message/command/stream/) prefix | -| `%flectonepulse_mute_suffix%` | Returns the player's [mute suffix](/docs/command/mute/) | -| `%flectonepulse_spy_status` | Returns string if spy mode is enabled, otherwise empty | -| `%flectonepulse_telegram%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_tps%` | Returns the server's TPS | -| `%flectonepulse_twitch%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_world_prefix%` | Returns the player's [world prefix](/docs/message/format/world/) | -| `%flectonepulse_command_ball%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_command_ban%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_command_broadcast%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_command_coin%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_command_dice%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_command_do%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_command_kick%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_command_mail%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_command_me%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_command_mute%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_command_poll%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_command_reply%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_command_rockpaperscissors%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_command_spy%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_command_stream%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_command_tell%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_command_tictactoe%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_command_translateto%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_command_try%` | Returns `true` if display is enabled, otherwise empty | -| `%flectonepulse_command_warn%` | Returns `true` if display is enabled, otherwise empty | - -[//]: # (integration.yml) - - `integration.yml → placeholderapi` - - -<<< @/files/integration.yml#placeholderapi - - - -[//]: # (permission.yml) - - `permission.yml → integration.placeholderapi` - - -<<< @/files/permission.yml#placeholderapi - - - -### `use` - -Permission to use PlaceholderAPI placeholders in messages \ No newline at end of file diff --git a/pulse/en/docs/integration/plasmovoice/index.md b/pulse/en/docs/integration/plasmovoice/index.md deleted file mode 100644 index 884f7d3b..00000000 --- a/pulse/en/docs/integration/plasmovoice/index.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# PlasmoVoice - -Integration with PlasmoVoice allows muting players who have been muted using `/mute`. Also, if player has ignored another using `/ignore`, they will not hear them -![mute](/mute.png) - -[//]: # (integration.yml) - - `integration.yml → plasmovoice` - - -<<< @/files/integration.yml#plasmovoice - - - -[//]: # (permission.yml) - - `permission.yml → integration.plasmovoice` - - -<<< @/files/permission.yml#plasmovoice - - \ No newline at end of file diff --git a/pulse/en/docs/integration/simplevoice/index.md b/pulse/en/docs/integration/simplevoice/index.md deleted file mode 100644 index 0b74d291..00000000 --- a/pulse/en/docs/integration/simplevoice/index.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# SimpleVoice - -Integration with SimpleVoice allows muting players who have been muted using `/mute`. Also, if player has ignored another using `/ignore`, they will not hear them -![mute](/mute.png) - -[//]: # (integration.yml) - - `integration.yml → simplevoice` - - -<<< @/files/integration.yml#simplevoice - - - -[//]: # (permission.yml) - - `permission.yml → integration.simplevoice` - - -<<< @/files/permission.yml#simplevoice - - \ No newline at end of file diff --git a/pulse/en/docs/integration/skinsrestorer/index.md b/pulse/en/docs/integration/skinsrestorer/index.md deleted file mode 100644 index f2d0a771..00000000 --- a/pulse/en/docs/integration/skinsrestorer/index.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# SkinsRestorer - -Integration with SkinsRestorer allows retrieving skins of **offline players** -![skinsrestorer](/skinsrestorer.png) - -[//]: # (integration.yml) - - `integration.yml → skinsrestorer` - - -<<< @/files/integration.yml#skinsrestorer - - - -[//]: # (permission.yml) - - `permission.yml → integration.skinsrestorer` - - -<<< @/files/permission.yml#skinsrestorer - - \ No newline at end of file diff --git a/pulse/en/docs/integration/supervanish/index.md b/pulse/en/docs/integration/supervanish/index.md deleted file mode 100644 index 1fe511a1..00000000 --- a/pulse/en/docs/integration/supervanish/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# SuperVanish - -Integration with SuperVanish (and PremiumVanish) hides player actions in vanish mode - -[//]: # (integration.yml) - - `integration.yml → supervanish` - - -<<< @/files/integration.yml#supervanish - - - -[//]: # (permission.yml) - - `permission.yml → integration.supervanish` - - -<<< @/files/permission.yml#supervanish - - \ No newline at end of file diff --git a/pulse/en/docs/integration/tab/index.md b/pulse/en/docs/integration/tab/index.md deleted file mode 100644 index 88be3255..00000000 --- a/pulse/en/docs/integration/tab/index.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# TAB - -::: warning IMPORTANT -This is an integration with another plugin `TAB`. You can configure `TAB` itself [here](/docs/message/tab/) -::: - -Integration with `TAB` resolves compatibility issues by disabling certain features in `FlectonePulse`: -- [Scoreboard](/docs/message/format/scoreboard/) -- [Header](/docs/message/tab/header/) -- [Footer](/docs/message/tab/footer/) -- [Player List Name](/docs/message/tab/playerlistname/) - -[//]: # (integration.yml) - - `integration.yml → tab` - - -<<< @/files/integration.yml#tab - - - -### `disable_flectonepulse_scoreboard` - -Disables the [Scoreboard](/docs/message/format/scoreboard/) module - -### `disable_flectonepulse_header` - -Disables the [Header](/docs/message/tab/header/) module - -### `disable_flectonepulse_footer` - -Disables the [Footer](/docs/message/tab/footer/) module - -### `disable_flectonepulse_playerlistname` - -Disables the [Player List Name](/docs/message/tab/playerlistname/) module - -[//]: # (permission.yml) - - `permission.yml → integration.tab` - - -<<< @/files/permission.yml#integrationtab - - \ No newline at end of file diff --git a/pulse/en/docs/integration/telegram/index.md b/pulse/en/docs/integration/telegram/index.md deleted file mode 100644 index 4b3bab54..00000000 --- a/pulse/en/docs/integration/telegram/index.md +++ /dev/null @@ -1,200 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Telegram - -Integration with Telegram allows sending messages: -- From Minecraft to Telegram -- From Telegram to Minecraft - -![telegram message 1](/telegrammessage1.png) -![telegram message 2](/telegrammessage2.png) -![minecraft message](/telegramminecraftmessage.png) - - - -[//]: # (localization) - - `localizations → language.yml → integration.telegram` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#telegram -<<< @/files/localizations/en_us.yml#telegram -::: - -### `null_player` - -Message if the entered player via `custom_command` is not found - -### `format_reply` - -Message format for the `` tag when the message is a reply to another one - -### `custom_command` - -List of custom integration commands, where the key is the command name and the value is its message format - -::: info EXAMPLE - -```yaml -custom_command: - tps: - content: "" -``` - -A command to get the `tps` value on the server. **Don't forget to create it in integration.yml** - -::: - -### `Placeholders` - -You can use all placeholders that are used in the initial message for Minecraft -::: info EXAMPLE FOR A BAN MESSAGE -There is a placeholder ``, so I can use `` inside Telegram messages -::: - -There are also placeholders that WILL DEFINITELY be replaced in any message: -- `` message sent to Minecraft -- `` The message sent to Minecraft without unicode emojis -- `` nickname of player who sent message -- `` raw message written by player -- `` formatted message written by player -- `` formatted reply message, it will be empty if the main message is not a reply -- Obviously, all placeholders from `PlaceholderAPI` and `FlectonePulse` will also work - -
-The message that will be sent from Telegram to Minecraft has its own placeholders: - -| Placeholder | Returns | -|-----------------|------------------------------------------------------| -| `` | User tag in Telegram | -| `` | User tag in Telegram | -| `` | User first name in Telegram | -| `` | User last name in Telegram | -| `` | Telegram chat name (where the message was sent from) | - -### `info_channel` - -List of channel IDs and their names, for displaying certain information, for example `TPS` - -### `message_channel` - -A list of messages with the format of the final message - -::: info IF YOU WANT TO ADD ANOTHER MESSAGE: -1. Take the name from the list of `message types` -2. Insert it into `message_channel`: -```yaml -message_name: "" -``` -::: - -[//]: # (integration.yml) - - `integration.yml → telegram` - - -<<< @/files/integration.yml#telegram - - - -::: warning WARNING -- Before enabling, insert the **token** of the Telegram bot -- After enabling, it is **HIGHLY RECOMMENDED** to restart the server - ::: - -### `parse_mode` - -In which mode the message will be sent to Telegram - -| Mode | What will happen? | -|----------------|----------------------------------------------------------------------------| -| `MARKDOWN` | The message will be formatted according to the outdated Markdown format | -| `MARKDOWN_V2` | The message will be formatted according to the new Markdown format | -| `HTML` | The message will be formatted according to the HTML format | -| `NONE` | The message will not be formatted at all | - -### `token` - -The [token](https://core.telegram.org/bots/faq#how-do-i-create-a-bot) of the bot for connection. You can use environment variables, for example `${VALUE}` - -### `custom_command` - -List of custom integration commands, the key is the command name and it can be anything. Commands can ONLY be informational, they do not execute anything on the server and will not perform any actions - -| Parameter | Explanation | -|---------------|----------------------------------------------------------------------------------| -| `need_player` | Whether to check the first command argument for a player name, e.g., `!ping TheFaser` | -| `aliases` | List of aliases for using the command | - -::: info EXAMPLE - -```yaml -custom_command: - tps: - need_player: false - aliases: - - "!tps" - - "!tickpersecond" -``` - -A command to get the `tps` value on the server using `!tps` or `!tickpersecond`. **Don't forget to create the message in localization** - -::: - -### `channel_info` - -::: details Channel information settings -#### `enable` - -Whether the information channel is needed - - - -### `message_channel` - -A list of message types and chat IDs in Telegram. - -::: info For example, I want messages from the `/ban` command in Minecraft to be sent to Telegram: -1. Copy the chat ID where the message should be sent (`-1002341720267_49`). - -If the bot is connected and added to the channel, you can use the `/id` command in Telegram to find out the channel ID - -2. Write: -```yaml -message_channel: - COMMAND_BAN: - - "-1002341720267_49" -``` - -There can be as many chats as you want, as long as the bot has access to them from [secrets](/docs/secrets/telegram/). You don't need to configure localization, by default the message will be sent with the format `` -::: - -::: danger IMPORTANT - -If your channel is a Forum (Topic), the ID of the **MAIN** channel should be specified without `_`. - -1. The ID of my main channel (it always ends with `_1`) is `-1002341720267_1`. -2. Therefore, you need to enter **ONLY** `-1002341720267`. - -For other chats in the forum, this rule does not apply, and you need to enter the **FULL** ID - -::: - - - - -[//]: # (permission.yml) - - `permission.yml → integration.telegram` - - -<<< @/files/permission.yml#telegram - - - \ No newline at end of file diff --git a/pulse/en/docs/integration/triton/index.md b/pulse/en/docs/integration/triton/index.md deleted file mode 100644 index d10f6dd6..00000000 --- a/pulse/en/docs/integration/triton/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Triton - -Integration with Triton allows using custom localization for **players**. - -[//]: # (integration.yml) - - `integration.yml → triton` - - -<<< @/files/integration.yml#triton - - - -[//]: # (permission.yml) - - `permission.yml → integration.triton` - - -<<< @/files/permission.yml#triton - - \ No newline at end of file diff --git a/pulse/en/docs/integration/twitch/index.md b/pulse/en/docs/integration/twitch/index.md deleted file mode 100644 index eaf575ac..00000000 --- a/pulse/en/docs/integration/twitch/index.md +++ /dev/null @@ -1,181 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Twitch - -Integration with Twitch allows: -- sending messages from Minecraft to Twitch -- sending messages from Twitch to Minecraft -- subscribing to Twitch stream starts - -![twitch message](/twitchmessage.png) -![minecraft message](/twitchminecraftmessage.png) - - - -[//]: # (localization) - - `localizations → locale.yml → integration.twitch` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#twitch -<<< @/files/localizations/en_us.yml#twitch -::: - -### `null_player` - -Message if the entered player via `custom_command` is not found - -### `format_reply` - -Message format for the `` tag when the message is a reply to another one - -### `custom_command` - -List of custom integration commands, where the key is the command name and the value is its message format - -::: info EXAMPLE - -```yaml -custom_command: - tps: - content: "" -``` - -A command to get the `tps` value on the server. **Don't forget to create it in integration.yml** - -::: - -### `Placeholders` - -You can use all the placeholders that are used in the initial Minecraft message -::: tip EXAMPLE FOR A BLOCK MESSAGE -There is a placeholder ``, so I can use `` inside Twitch messages -::: - -There are also placeholders that WILL DEFINITELY be replaced in any message -- `` message sent to Minecraft -- `` message sent to Minecraft without Unicode emojis -- `` player’s nickname who sent message -- `` raw message written by player -- `` formatted message written by player -- `` formatted reply message, it will be empty if the main message is not a reply -- Obviously, all placeholders from `PlaceholderAPI` and `FlectonePulse` will also work - -
-The message that will be sent from Twitch to Minecraft has its own placeholders: - -| Placeholder | What it returns | -|----------------|-----------------------------------------------------------| -| `` | The user's nickname on Twitch | - -### `message_channel` - -A list of messages with the format of the final message - -::: tip IF YOU WANT TO ADD ANOTHER MESSAGE: -1. Take the name from the list of `message types` -2. Insert into `message_channel` -```yaml -message_name: "" -``` -::: - -[//]: # (integration.yml) - - `integration.yml → twitch` - - -<<< @/files/integration.yml#twitch - - - -::: warning WARNING -- Before enabling, insert the **token** and **client ID** for Twitch -- After enabling, it is **RECOMMENDED** to restart the server, otherwise, the plugin might cause freezing - ::: - -### `client_id` - -[User identifier](https://twitchtokengenerator.com/). You can use environment variables, for example `${VALUE}` -![client id](/twitchclientid.png) - -### `token` - -[User token](https://twitchtokengenerator.com/) for connecting. You can use environment variables, for example `${VALUE}` -![token](/twitchtoken.png) - -### `custom_command` - -List of custom integration commands, the key is the command name and it can be anything. Commands can ONLY be informational, they do not execute anything on the server and will not perform any actions - -| Parameter | Explanation | -|---------------|----------------------------------------------------------------------------------| -| `need_player` | Whether to check the first command argument for a player name, e.g., `!ping TheFaser` | -| `aliases` | List of aliases for using the command | - -::: info EXAMPLE - -```yaml -custom_command: - tps: - need_player: false - aliases: - - "!tps" - - "!tickpersecond" -``` - -A command to get the `tps` value on the server using `!tps` or `!tickpersecond`. **Don't forget to create the message in localization** - -::: - -### `message_channel` - -A list of message types and Twitch channel names - -::: tip For example, I want to send a `/ban` command message from Minecraft to Twitch -1. Copy the names of the Twitch channels to send the message to (`faseri4ka`) -2. Write: -```yaml -message_channel: - COMMAND_BAN: - - "faseri4ka" // [!code highlight] -``` - -There can be any number of channels, as long as the connected account has access to them. You don't need to configure localization, by default the message will be sent with the format `` -::: - -### `follow_channel` - -A list where the key is the channel name, and the value is a list of commands to be executed when the stream starts - -::: tip For example, I want to track the stream start for `faseri4ka` and write `stream start https://twitch.tv/faseri4ka` -1. Copy the channel name `faseri4ka` -2. Write: -```yaml -follow_channel: - faseri4ka: - - "stream start https://twitch.tv/faseri4ka" -``` - -- Up to 10 channels can be tracked at once, as long as the connected account has access to them -- There can be any number of commands to be executed when the stream starts -::: - - - - -[//]: # (permission.yml) - - `permission.yml → integration.twitch` - - -<<< @/files/permission.yml#twitch - - - \ No newline at end of file diff --git a/pulse/en/docs/integration/vault/index.md b/pulse/en/docs/integration/vault/index.md deleted file mode 100644 index 506fed00..00000000 --- a/pulse/en/docs/integration/vault/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Vault - -Integration with Vault allows checking permissions for **offline players** - -[//]: # (integration.yml) - - `integration.yml → vault` - - -<<< @/files/integration.yml#vault - - - -[//]: # (permission.yml) - - `permission.yml → integration.vault` - - -<<< @/files/permission.yml#vault - - \ No newline at end of file diff --git a/pulse/en/docs/integration/yandex/index.md b/pulse/en/docs/integration/yandex/index.md deleted file mode 100644 index 4e9db303..00000000 --- a/pulse/en/docs/integration/yandex/index.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Yandex - -Integration with Yandex allows translating messages from one language to another, used by the [translation](/docs/command/translateto#service) module - -[//]: # (integration.yml) - - `integration.yml → yandex` - - -<<< @/files/integration.yml#yandex - - - -### `token` - -Authorization token for Yandex [`iam_token`](https://yandex.cloud/ru/docs/translate/api-ref/authentication) - -### `folder_id` - -Folder ID with access - -[//]: # (permission.yml) - - `permission.yml → integration.yandex` - - -<<< @/files/permission.yml#yandex - - \ No newline at end of file diff --git a/pulse/en/docs/message/afk/index.md b/pulse/en/docs/message/afk/index.md deleted file mode 100644 index f61ae548..00000000 --- a/pulse/en/docs/message/afk/index.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# AFK - -A player goes AFK if they do nothing for a certain period of time -![afk global message](/afkglobalmessage.png) - -If a player is AFK, they receive a specific suffix -![afk suffix](/afksuffix.png) - -[//]: # (localization) - - `localizations → language.yml → message.afk` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#afk -<<< @/files/localizations/en_us.yml#afk -::: - -### `suffix` - -The suffix assigned to a player when they go AFK -![afksuffix](/afksuffix.png) - -### `format_true` - -Message when a player goes AFK - -### `format_false` - -Message when a player returns - -[//]: # (message.yml) - - `message.yml → afk` - - -<<< @/files/message.yml#afk - - - - -### `delay` - -How long (in [ticks](https://minecraft.wiki/w/Tick)) a player must be inactive to go AFK - -### `ignore` - -List of actions that are ignored and do not affect AFK status - -| Actions that can be ignored | -|----------------------------| -| Any command names | -| `chat` - when a player types in chat | -| `quit` - when a player logs out | - -::: info EXAMPLE -If I add the command `tell` to the list and a player is AFK, they can use the `tell` command without leaving AFK mode -::: - - - - - -[//]: # (permission.yml) - - `permission.yml → message.afk` - - -<<< @/files/permission.yml#afk - - - - diff --git a/pulse/en/docs/message/anvil/index.md b/pulse/en/docs/message/anvil/index.md deleted file mode 100644 index 44763961..00000000 --- a/pulse/en/docs/message/anvil/index.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Anvil - -Module responsible for messages in the anvil when renaming items -![anvil](/anvil.gif) - -[//]: # (message.yml) - - `message.yml → anvil` - - -<<< @/files/message.yml#anvil - - - -[//]: # (permission.yml) - - `permission.yml → message.anvil` - - -<<< @/files/permission.yml#anvil - - diff --git a/pulse/en/docs/message/auto/index.md b/pulse/en/docs/message/auto/index.md deleted file mode 100644 index 5171742b..00000000 --- a/pulse/en/docs/message/auto/index.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Auto - -Server message sent at regular intervals -![auto](/auto.png) - -[//]: # (localization) - - `localizations → language.yml → message.auto` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#auto -<<< @/files/localizations/en_us.yml#auto -::: - -### `types` - -Types of automatic messages with a list - -[//]: # (message.yml) - - `message.yml → auto` - - -<<< @/files/message.yml#auto - - - -### `types` - -Types of automatic messages - -::: info YOU CAN CREATE YOUR OWN -```yaml - types: - newauto: - random: true - destination: - type: "CHAT" - ticker: - enable: true - period: 9000 - sound: - enable: false -``` -::: - -- -- -- -- - -[//]: # (permission.yml) - - `permission.yml → message.auto` - - -<<< @/files/permission.yml#auto - - - -### `types` - -Types of automatic messages and their sound permissions - -- diff --git a/pulse/en/docs/message/book/index.md b/pulse/en/docs/message/book/index.md deleted file mode 100644 index 3e97c758..00000000 --- a/pulse/en/docs/message/book/index.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Book - -Module responsible for messages in books and their titles -![book](/book.gif) - -[//]: # (message.yml) - - `message.yml → book` - - -<<< @/files/message.yml#book - - - -[//]: # (permission.yml) - - `permission.yml → message.book` - - -<<< @/files/permission.yml#book - - diff --git a/pulse/en/docs/message/bossbar/index.md b/pulse/en/docs/message/bossbar/index.md deleted file mode 100644 index ac5893d8..00000000 --- a/pulse/en/docs/message/bossbar/index.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Boss Bar - -The module responsible for messages in vanilla boss bars -![bossbar raid](/bossbar_raid.png) -![bossbar wither](/bossbar_wither.png) -![bossbar enderdragon](/bossbar_enderdragon.png) - -[//]: # (localization) - - `localizations → язык.yml → message.bossbar` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#bossbar -<<< @/files/localizations/en_us.yml#bossbar -::: - -### `announce` - -List of messages upon entering a specific boss bar, where the key is the boss bar name (e.g., `entity.minecraft.ender_dragon`) - -### `types` - -List of vanilla boss bar messages. The key `event.minecraft.raid.raiders_remaining` is special; it is automatically added to raid messages if necessary - -[//]: # (message.yml) - - `message.yml → bossbar` - - -<<< @/files/message.yml#bossbar - - - -### `announce` - -Can be used to notify a player that they have entered the "dragon" zone (or any other). This does not affect the main boss bar, only adds functionality. It will trigger every time a player enters a boss bar zone - -The key is the boss bar name (e.g., `entity.minecraft.ender_dragon`), and the value is where it will be sent - -::: info EXAMPLE - -I want a message "It's the dragon!" to appear in the player's chat when they enter the dragon's boss bar zone -```yaml -announce: - entity.minecraft.ender_dragon: - destination: - type: "CHAT" - sound: - enable: false -``` - -You also need to add the message in localization - -```yaml -announce: - entity.minecraft.ender_dragon: "It's the dragon!" -``` - -::: - -[//]: # (permission.yml) - - `permission.yml → message.bossbar` - - -<<< @/files/permission.yml#bossbar - - \ No newline at end of file diff --git a/pulse/en/docs/message/brand/index.md b/pulse/en/docs/message/brand/index.md deleted file mode 100644 index 10fbfaf0..00000000 --- a/pulse/en/docs/message/brand/index.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Brand - -Module responsible for the brand message in F3 debug screen -![brand](/brand.png) - -::: warning WARNING - -If a proxy (Velocity or BungeeCord) is being used, changing the brand is completely impossible - -::: - -[//]: # (localization) - - `localizations → language.yml → message.brand` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#brand -<<< @/files/localizations/en_us.yml#brand -::: - -### `values` - -List of brand messages - -::: warning ONLY BASIC COLORS CAN BE USED - -::: - - -[//]: # (message.yml) - - `message.yml → brand` - - -<<< @/files/message.yml#brand - - - - - - -[//]: # (permission.yml) - - `permission.yml → message.brand` - - -<<< @/files/permission.yml#brand - - diff --git a/pulse/en/docs/message/bubble/index.md b/pulse/en/docs/message/bubble/index.md deleted file mode 100644 index 1cccd6c8..00000000 --- a/pulse/en/docs/message/bubble/index.md +++ /dev/null @@ -1,136 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Bubble - -Module responsible for overhead messages -![bubble](/bubble.gif) - -Idea taken from [LightChatBubbles](https://github.com/atesin/LightChatBubbles) - -### Duration Formula - -```java -long duration = (countWords + handicapChars) / readSpeed * 60; -``` - -[//]: # (localization) - - `localizations → language.yml → message.bubble` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#bubble -<<< @/files/localizations/en_us.yml#bubble -::: - -### `format` - -Format of the overhead message - -[//]: # (message.yml) - - `message.yml → bubble` - - -<<< @/files/message.yml#bubble - - - -### `max_count` - -Maximum number of overhead messages displayed simultaneously - -### `max_length` - -Maximum length of a single overhead message. If the text is longer, it will be split into multiple parts - -### `elevation` - -How high overhead will the message be - -### `distance` - -How far away a player's overhead message can be seen - -### `read_speed` - -Reading speed in words per minute - -### `handicap_chars` - -Additional time for short messages - -### `word_break_hint` - -A hint symbol placed when a word breaks across two lines - -### `interaction` - -Allows adjusting the spacing between messages or legacy `area effect cloud` is used - -::: warning WARNING -This will only be used for servers running version `1.21.3` or higher. -::: - -::: details SETTING -#### `enable` - -Enables functionality - -#### `height` - -The spacing between each message -::: - -### `modern` - -Overhead messages via Text Display - -::: warning WARNING -This will only be used for servers running version `1.19.4` or higher -::: - -::: details CONFIGURATION -#### `enable` - -Enables functionality - -#### `has_shadow` - -Enables text shadow - -#### `see_through` - -Enables text transparency against water and clouds (so you cannot see through water) - -#### `scale` - -Scales the size of the message - -#### `background` - -Background color of the message, including transparency (alpha channel) [Color picker website](https://rgbacolorpicker.com/color-wheel-picker) - -#### `billboard` - -| Type | Explanation | -|----------------|----------------------------------------------------------------| -| `FIXED` | Position remains unchanged | -| `VERTICAL` | Position adjusts relative to the vertical axis | -| `HORIZONTAL` | Position adjusts relative to the horizontal axis | -| `CENTER` | Position adjusts relative to both horizontal and vertical axes | -::: - -[//]: # (permission.yml) - - `permission.yml → message.bubble` - - -<<< @/files/permission.yml#bubble - - \ No newline at end of file diff --git a/pulse/en/docs/message/chat/index.md b/pulse/en/docs/message/chat/index.md deleted file mode 100644 index a98ed49c..00000000 --- a/pulse/en/docs/message/chat/index.md +++ /dev/null @@ -1,210 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn - - Bakinu ---- - -# Chat - -A module responsible for messages sent by players in chat -![chat](/chat.png) - -::: info HOW TO DISABLE LOCAL CHAT? - -In `message.yml`, disable `local` by setting `enable: false`, and also set an empty `trigger: ""` for `global` - -```yaml -chat: - enable: true - mode: "BUKKIT" - priority: "NORMAL" - types: - local: - enable: false # set to false - global: - enable: true - cancel: false - range: "PROXY" - priority: 5 - trigger: "" # make it empty - null_receiver: - enable: true - destination: - type: "ACTION_BAR" - times: - stay: 20 - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -``` - -::: - -[//]: # (localization) - - `localizations → language.yml → message.chat` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#chat -<<< @/files/localizations/en_us.yml#chat -::: - -### `null_chat` - -Message if nothing was sent to chat - -### `null_receiver` - -Message if no one saw the player's message - -### `types` - -List of chats and their formats - -[//]: # (message.yml) - - `message.yml → chat` - - -<<< @/files/message.yml#chat - - - -### `mode` - -Chat processing mode - -| Type | Explanation | -|-----------|------------------------------------------------------------------------------------------| -| `PACKET` | Chat messages are processed via packets (fully asynchronous) | -| `BUKKIT` | Chat messages are processed via `Bukkit` (asynchronous, but only in a single chat thread) | -| `PAPER` | Chat messages are processed via `Paper` (asynchronous, but only in a single chat thread) | - -::: warning WARNING - -If you need another plugin to see chat messages, set `mode: "BUKKIT"`. In rare cases where a plugin relies on `Paper` listeners, use `mode: "PAPER"` - -::: - -### `event_priority` - -The priority of a chat message event. Change this value if there is a conflict with other plugins that also use the chat - -| Type | Explanation | -|-----------|---------------------------------------------------------------------------| -| `LOWEST` | The chat message will be processed before all other plugins | -| `LOW` | The chat message will be processed after plugins with `LOWEST` priority | -| `NORMAL` | The chat message will be processed after plugins with `LOW` priority | -| `HIGH` | The chat message will be processed after plugins with `NORMAL` priority | -| `HIGHEST` | The chat message will be processed after plugins with `HIGH` priority | -| `MONITOR` | The chat message will only be observed (no modifications allowed) | - -### `types` - -List of all chats with their configuration, you can add your own. By default, any chat looks like this - -```yaml -chat_name: - enable: true - cancel: true - range: PROXY - priority: number - trigger: "trigger" - null-receiver: - enable: true - destination: - type: "ACTION_BAR" - times: - stay: 20 - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -``` - -### `enable` - -Enables chat functionality - -### `null_recipient` - -![null recipient](/nullrecipient.png) - -Message if no one saw the player's message - -::: details SETTINGS - -#### `enable` - -Enables the functionality - -#### `destination` - -Where the message will be sent - -::: - -### `cancel` - -- If `true`, the chat event is canceled for other plugins -- If you need another chat-related plugin (e.g., DiscordSRV) to work, set this to `false` -- If `false`, this also causes duplication in the console - ![chat console](/chatconsole.png) - - - -### `priority` - -Chat priority, used for selection when mulinfole chats have the same `trigger`. The chat with the higher priority is chosen - -::: info EXAMPLE CHATS -```yaml -admin: - priority: 20 - trigger: "!" // [!code highlight] -helper: - priority: 10 - trigger: "!" // [!code highlight] -``` - -If a player has permission for both chats, the plugin will select `admin` because it has a higher `priority` -::: - -### `trigger` - -The prefix that a message must start with to be sent to a specific chat - -::: info `trigger` VALUE CAN BE ANYTHING: -- `!`, `admin`, `.f`, etc. -- Empty, i.e., `trigger: ""`, meaning any message fits this chat - ::: - -In the final message, `trigger` is removed. For example, if a player sends `!hello`, the result will be `hello` without `!` - - - - - -[//]: # (permission.yml) - - `permission.yml → message.chat` - - -<<< @/files/permission.yml#chat - - - -### `types` - -List of chats and their permissions - - - diff --git a/pulse/en/docs/message/format/fcolor/index.md b/pulse/en/docs/message/format/fcolor/index.md deleted file mode 100644 index d6cf8b63..00000000 --- a/pulse/en/docs/message/format/fcolor/index.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Color - -The tag `fcolor` is used for individual color settings for each player - -Usage: `` - -![color message](/colormessage.png) - - - -[//]: # (message.yml) - - `message.yml → format.fcolor` - - -<<< @/files/message.yml#fcolor - - - -### `default_colors` - -List of all default colors used. Each number represents a specific color. By default: -- `` - primary color -- `` - highlighted primary color (e.g. for names) -- `` - local chat messages -- `` - global chat messages - -::: info EXAMPLE COLOR -```yaml -1: "" -``` -`1` - color ID for `` -To use this tag, write `` -::: - -[//]: # (permission.yml) - - `permission.yml → message.format.fcolor` - - -<<< @/files/permission.yml#fcolor - - - -### `colors` - -Available `` variants and their required permissions \ No newline at end of file diff --git a/pulse/en/docs/message/format/fixation/index.md b/pulse/en/docs/message/format/fixation/index.md deleted file mode 100644 index 396f3f8f..00000000 --- a/pulse/en/docs/message/format/fixation/index.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Fixation - -The module formats the player's message so that the first letter is capitalized, and there is a period at the end - -![fixation](/fixation.png) - -[//]: # (message.yml) - - `message.yml → format.fixation` - - -<<< @/files/message.yml#fixation - - - -### `end_dot` - -Determines whether a period will be added at the end of the message if there isn't one - -### `first_letter_uppercase` - -Determines whether the first letter of the message will always be uppercase - -### `non_dot_symbols` - -A list of symbols (can also be words) after which a period should not be added - -[//]: # (permission.yml) - - `permission.yml → message.format.fixation` - - -<<< @/files/permission.yml#fixation - - diff --git a/pulse/en/docs/message/format/index.md b/pulse/en/docs/message/format/index.md deleted file mode 100644 index 8535f7b8..00000000 --- a/pulse/en/docs/message/format/index.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Format - -The module responsible for formatting sent messages - -[//]: # (message.yml) - - `message.yml → format` - - -<<< @/files/message.yml#format - - - -### `convert_legacy_color` - -Enables formatting of legacy colors - - - -### `adventure_tags` - -These are [Kyori tags](https://docs.advntr.dev/minimessage/format.html#standard-tags) that may appear in messages. - -| Tag | Usage | Description | -|---------------------------|------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------| -| `` | [Hover](https://docs.advntr.dev/minimessage/format.html#hover) | Text displayed when hovering over | -| `` | [Click](https://docs.advntr.dev/minimessage/format.html#click) | Action triggered when clicked | -| `` | [Color](https://docs.advntr.dev/minimessage/format.html#color) | Color | -| `` | [Keybind](https://docs.advntr.dev/minimessage/format.html#keybind) | Key setup for the message | -| `` | [Translatable](https://docs.advntr.dev/minimessage/format.html#translatable) | Message using the player's locale | -| `` | [Translatable](https://docs.advntr.dev/minimessage/format.html#translatable) | Message with fallback translation using the player's locale | -| `` | [Insertion](https://docs.advntr.dev/minimessage/format.html#insertion) | Text insertion in chat with SHIFT | -| `` | [Font](https://docs.advntr.dev/minimessage/format.html#font) | Change font for text | -| `` | [Decoration](https://docs.advntr.dev/minimessage/format.html#decoration) | Standard Minecraft decorations `bold`, `italic`, `underlined`, `strikethrough`, `obfuscated` | -| `` | [Gradient](https://docs.advntr.dev/minimessage/format.html#gradient) | Gradient text color | -| `` | [Rainbow](https://docs.advntr.dev/minimessage/format.html#rainbow) | Rainbow-colored text | -| `` | [Reset](https://docs.advntr.dev/minimessage/format.html#reset) | Reset all tags and decorations | -| `` | [Newline](https://docs.advntr.dev/minimessage/format.html#newline) | Newline, replaces `\n` | -| `` | [Transition](https://docs.advntr.dev/minimessage/format.html#transition) | Transition between two colors | -| `` | [Selector](https://docs.advntr.dev/minimessage/format.html#selector) | Mob selector | -| `` | [Score](https://docs.advntr.dev/minimessage/format.html#score) | Team score (scoreboard) | -| `` | [NBT](https://docs.advntr.dev/minimessage/format.html#nbt) | Insertion of NBT component | -| ... | ... | ... | - -[//]: # (permission.yml) - - `permission.yml → message.format` - - -<<< @/files/permission.yml#format - - - -### `legacy_colors` - -This allows player to use legacy colors in their messages - - - -::: tip NOTE - -If you need player's chat colors to be formatted, use `flectonepulse.module.message.format.color` - -::: - -### `adventure_tags` - -List of tags and their respective permissions diff --git a/pulse/en/docs/message/format/mention/index.md b/pulse/en/docs/message/format/mention/index.md deleted file mode 100644 index 79a86995..00000000 --- a/pulse/en/docs/message/format/mention/index.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Mention - -::: warning WARNING - -By default, server administrators cannot be mentioned due to the `bypass` permission - -::: - -This formatting allows mentioning (pinging) a user in a message. Donation groups can also be mentioned, for example `@default` -![mention](/mention.png) - -[//]: # (localization) - - `localizations → locale.yml → message.format.mention` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#mention -<<< @/files/localizations/en_us.yml#mention -::: - -### `person` - -Message to the player when mentioned - -### `format` - -Message when it is a mention of a player - -[//]: # (message.yml) - - `message.yml → format.mention` - - -<<< @/files/message.yml#mention - - - -### `trigger` - -Symbol with which the mention message should start -::: info EXAMPLE -If I want to mention `Flectone`, I should write `@Flectone` -![mention](/mention.png) -::: - -### `everyone_tag` - -The word that, when combined with the `trigger`, will mention all players on the server. To use this, you must have the `flectonepulse.module.message.format.mention.group.default` permission - - - - -[//]: # (permission.yml) - - `permission.yml → message.format.mention` - - -<<< @/files/permission.yml#mention - - - -### `group` - -Permission for mentioning a donation group, for example `@default` - -::: tip INFO - -Each group checks for its own permission `flectonepulse.module.message.format.mention.group.group_name` - -::: - -### `bypass` - -Permission to ignore mentions - - diff --git a/pulse/en/docs/message/format/moderation/caps/index.md b/pulse/en/docs/message/format/moderation/caps/index.md deleted file mode 100644 index a444fccf..00000000 --- a/pulse/en/docs/message/format/moderation/caps/index.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Caps - -This formatting removes caps from a message -![caps](/caps.png) - -[//]: # (message.yml) - - `message.yml → format.moderation.caps` - - -<<< @/files/message.yml#caps - -### `trigger` - -Percentage of letters that should be uppercase for the message to be modified - -::: tip HOW TO PROPERLY WRITE PERCENTAGE -`0.7` is `70%`, and `1.0` is `100%`, i.e. the whole message -::: - -[//]: # (permission.yml) - - `permission.yml → message.format.moderation.caps` - - -<<< @/files/permission.yml#caps - - - -### `bypass` - -Permission to ignore formatting diff --git a/pulse/en/docs/message/format/moderation/delete/index.md b/pulse/en/docs/message/format/moderation/delete/index.md deleted file mode 100644 index ea3b904f..00000000 --- a/pulse/en/docs/message/format/moderation/delete/index.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Delete - -This formatting replaces `` and allows deleting messages in chat -![delete](/delete.gif) - -::: warning WARNING - -With a large number of players, it may cause slightly higher memory usage due to message storage. Rough estimates: 100 players = 5-10 MB - -::: - -::: warning WARNING - -This module is incompatible with the InteractiveChat plugin - -::: - -[//]: # (localization) - - `localizations → locale.yml → message.format.moderation.delete` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#delete -<<< @/files/localizations/en_us.yml#delete -::: - -### `placeholder` - -Placeholder that replaces each `` if the player has permission to delete messages (otherwise remains empty) - -### `format` - -Message format that will be sent upon deletion - -[//]: # (message.yml) - - `message.yml → format.moderation.delete` - - -<<< @/files/message.yml#delete - - - -### `history_length` - -The maximum number of messages stored in each player's chat history - -[//]: # (permission.yml) - - `permission.yml → message.format.moderation.delete` - - -<<< @/files/permission.yml#delete - - diff --git a/pulse/en/docs/message/format/moderation/flood/index.md b/pulse/en/docs/message/format/moderation/flood/index.md deleted file mode 100644 index 90cf5925..00000000 --- a/pulse/en/docs/message/format/moderation/flood/index.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Flood - -This formatting removes flood in the message -![caps](/caps.png) - -[//]: # (message.yml) - - `message.yml → format.moderation.flood` - - -<<< @/files/message.yml#flood - - - -### `trim_to_single` - -Whether to replace ALL flood with a single letter or word, otherwise the flood will be reduced to the limit of `max_repeated_symbols` or `max_repeated_words` - -### `max_repeated_symbols` - -Maximum number of identical letters - -### `max_repeated_words` - -Maximum number of identical words - -[//]: # (permission.yml) - - `permission.yml → message.format.moderation.flood` - - -<<< @/files/permission.yml#flood - - - -### `bypass` - -Permission to bypass the formatting \ No newline at end of file diff --git a/pulse/en/docs/message/format/moderation/index.md b/pulse/en/docs/message/format/moderation/index.md deleted file mode 100644 index a6655ab0..00000000 --- a/pulse/en/docs/message/format/moderation/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Moderation - -Module responsible for message moderation - -[//]: # (message.yml) - - `message.yml → format.moderation` - - -<<< @/files/message.yml#moderation - - - -[//]: # (permission.yml) - - `permission.yml → message.format.moderation` - - -<<< @/files/permission.yml#moderation - - diff --git a/pulse/en/docs/message/format/moderation/newbie/index.md b/pulse/en/docs/message/format/moderation/newbie/index.md deleted file mode 100644 index b53d8d63..00000000 --- a/pulse/en/docs/message/format/moderation/newbie/index.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Newbie - -This module prevents new players from sending messages for a certain period of time - -::: warning WARNING - -A "newbie" is considered any player who has never been on the server before - -::: - -[//]: # (localization) - - `localizations → language.yml → message.format.moderation.newbie` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#newbie -<<< @/files/localizations/en_us.yml#newbie -::: - -### `reason` - -The reason that will be used for the mute message - -[//]: # (message.yml) - - `message.yml → format.moderation.newbie` - - -<<< @/files/message.yml#newbie - - - -### `mode` - -| Mode | Explanation | -|----------------|-------------------------------------------------------------------| -| `PLAYED_TIME` | How much time has been played on the server | -| `SINCE_JOIN` | How much time has passed since the first connection to the server | - -### `timeout` - -Duration in seconds during which new players cannot send messages - -[//]: # (permission.yml) - - `permission.yml → message.format.moderation.newbie` - - -<<< @/files/permission.yml#newbie - - - -### `bypass` - -Permission to ignore this module's restrictions \ No newline at end of file diff --git a/pulse/en/docs/message/format/moderation/swear/index.md b/pulse/en/docs/message/format/moderation/swear/index.md deleted file mode 100644 index 3a1a0e8c..00000000 --- a/pulse/en/docs/message/format/moderation/swear/index.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Swear - -This formatting hides the player's profanity -![swear](/swear.png) - -[//]: # (localization) - - `localizations → locale.yml → message.format.moderation.swear` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#swear -<<< @/files/localizations/en_us.yml#swear -::: - -### `symbol` - -Symbol that replaces each letter of the profanity - -[//]: # (message.yml) - - `message.yml → format.moderation.swear` - - -<<< @/files/message.yml#swear - - - -### `trigger` - -List of [regular expressions](https://javarush.com/groups/posts/regulyarnye-vyrazheniya-v-java) to identify profanity - -::: info EXAMPLE -- For ip `\\b((?:\\d{1,3}\\.){3}\\d{1,3})\\b` -- For url `(?i)\\b((https?:\\/\\/)?([\\w\\.а-яА-Я-]+\\.([a-z]{2,4}|[рР][фФ]|[уУ][кК][рР]))\\b(:\\d{2,7})?(\\/\\S+)?)` -::: - -[//]: # (permission.yml) - - `permission.yml → message.format.moderation.swear` - - -<<< @/files/permission.yml#swear - - - -### `bypass` - -Permission to ignore formatting - -### `see` - -Permission to view the content of the forbidden word diff --git a/pulse/en/docs/message/format/names/index.md b/pulse/en/docs/message/format/names/index.md deleted file mode 100644 index 8cef8f1d..00000000 --- a/pulse/en/docs/message/format/names/index.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Name - -Module responsible for the player's name -![name tab](/nametab.png) -![name display](/namedisplay.png) - -[//]: # (localization) - - `localizations → locale.yml → message.format.names` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#names -<<< @/files/localizations/en_us.yml#names -::: - -### `constant` - -A message that will be formatted from the sender on the server where it was sent. It can be used in any message via `` - -::: info NOTE -If you're experiencing issues with messages on `Velocity` or `BungeeCord`, this is the solution to your problem: - -```yaml -constant: "%player_name%" -display: "" -``` -::: - -### `display` - -Responsible for the player's name -![name display](/namedisplay.png) - -### `entity` - -Responsible for the entity's name - -### `unknown` - -Responsible for unknown entity name - -### `invisible` - -Responsible for the player name when under invisibility - -[//]: # (message.yml) - - `message.yml → format.names` - - -<<< @/files/message.yml#names - - - -### `should_check_invisibility` - -Whether to check if the player is under an invisibility potion effect. If enabled, the name `invisible` will be used - -[//]: # (permission.yml) - - `permission.yml → message.format.names` - - -<<< @/files/permission.yml#names - - diff --git a/pulse/en/docs/message/format/object/index.md b/pulse/en/docs/message/format/object/index.md deleted file mode 100644 index 868c5b57..00000000 --- a/pulse/en/docs/message/format/object/index.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -authors: -- TheFaser ---- - -# Object - -::: warning WARNING - -The module will only work for players using version `1.21.9` and above. For others, it will not be displayed - -::: - -::: warning WARNING - -Heads and sprites can be colored in config files. To prevent this, you need to use a white color before them. For example: `` - -::: - -Module responsible for heads and symbols in chat -![object](/object.png) - -[//]: # (localization) - - `localizations → language.yml → message.format.object` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#object -<<< @/files/localizations/en_us.yml#object -::: - -### `default_symbol` - -Symbol for regular `` and ``, if the recipient cannot see the final object (for `` and `` this is specified manually) - -[//]: # (message.yml) - - `message.yml → format.object` - - -<<< @/files/message.yml#object - - - -### `player_head` - -Enables formatting of the `` placeholder. It can be used in different ways -- `` returns the head of the player who wrote the message -- `` returns the head of the player whose nickname was written inside -- `` returns the head of the player with the second layer disabled, whose nickname was written inside -- If the specified nickname doesn't exist, the head will have a random default skin -- `` will return the player's head or the text specified as the first argument if the recipient cannot see heads in chat. For example, `` will return Notch's head, and in the console, it will be the word `hello` - -::: tip NOTE - -The `` is already built into the `playerlistname` module by default and it only works for players who have the unofficial game. For licensed versions, the tab will be normal - -::: - -### `sprite` - -Enables formatting of the `` placeholder. It can be used in different ways -- ``, returns an icon from the `blocks` atlas, for example `` (this is the same as ``) -- ``, returns an icon from the specified atlas, for example `` -- If the sprite is specified incorrectly, it will be an unknown texture. Using a resource pack you can create your own sprites -- `` returns an sprite or the text specified as the first argument if the recipient cannot see sprites in chat. For example, `` returns the oak sprite, and in the console, it will be the word `hello` - -The easiest way to find atlas and sprite names is by using the [command /sprite](/docs/command/sprite/) -![command sprite](/commandsprite.png) - -You can also find them in the folder created using the `F3 + S` combination inside Minecraft. There, you will find `minecraft_textures_atlas_...` files in both `.txt` and `.png` formats, which you can use to locate the appropriate sprite -::: info EXAMPLE - -There is a `gui` atlas with the name `minecraft_textures_atlas_gui.png.txt`. In it you can find a line with `minecraft:container/slot x=494 y=54 w=18 h=18` - -Using these coordinates you can visually find it in the `.png` atlas (to see what it looks like). To display it inside Minecraft, you need to remove the `minecraft:` prefix - -As a result, we get `` -![object slot](/objectslot.png) - -::: - -### `need_extra_space` - -Enables adding extra space for `` and `` written in config files. No space is added in player messages - -[//]: # (permission.yml) - - `permission.yml → message.format.object` - - -<<< @/files/permission.yml#object - - \ No newline at end of file diff --git a/pulse/en/docs/message/format/questionanswer/index.md b/pulse/en/docs/message/format/questionanswer/index.md deleted file mode 100644 index 6d93a96a..00000000 --- a/pulse/en/docs/message/format/questionanswer/index.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Questionanswer - -Module responsible for answering a player's question -![question](/questionanswer.png) - -[//]: # (localization) - - `localizations → locale.yml → message.format.question-answer` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#questionanswer -<<< @/files/localizations/en_us.yml#questionanswer -::: - -### `questions` - -List of questions and their corresponding answers - - -[//]: # (message.yml) - - `message.yml → format.questionanswer` - - -<<< @/files/message.yml#questionanswer - - - -### `questions` - -List of questions with their settings - - - - - - -- ### `target` - -[Regular expression](https://javarush.com/groups/posts/regulyarnye-vyrazheniya-v-java) to match the question - -[//]: # (permission.yml) - - `permission.yml → message.format.question-answer` - - -<<< @/files/permission.yml#questionanswer - - - -### `questions` - -List of questions with permissions - - - diff --git a/pulse/en/docs/message/format/replacement/index.md b/pulse/en/docs/message/format/replacement/index.md deleted file mode 100644 index 646d1837..00000000 --- a/pulse/en/docs/message/format/replacement/index.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Replacement - -Used to replace triggers with specific values - -![ping](/ping.png) - - -![tps](/tps.png) - - -![online](/online.png) - - -![coords](/coords.png) - - -![stats](/stats.png) - - -![skin](/skin.png) - - -![item](/item.png) - -::: warning WARNING - -`PacketEvents` currently does not support properly displaying detailed item information on hover. The item will have an "empty" description without enchantments. To solve this issue, you can enable [use_paper_message_sender](/docs/config/module/#use_paper_message_sender), but this is a workaround - -::: - - -![url](/url.png) - - -![image](/image.png) - - -![spoiler](/spoiler.png) - - -![bold](/bold.png) - - -![italic](/italic.png) - - -![underline](/underline.png) - - -![obfuscated](/obfuscated.png) - - -![strikethrough](/strikethrough.png) - -[//]: # (localization) - - `localizations → language.yml → message.format.replacement` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#replacement -<<< @/files/localizations/en_us.yml#replacement -::: - -### `spoiler_symbol` - -Character that will replace each letter in words marked as `spoiler` - -### `values` - -A list of messages where the key is the name and the value is what will be displayed instead of the trigger - -[//]: # (message.yml) - - `message.yml → format.replacement` - - -<<< @/files/message.yml#replacement - - - -### `triggers` - -List of all available triggers where the key is the name and the value is the `trigger` itself in regex format - -::: warning WARNING - -If you're adding a new trigger, make sure to also add it to the localization file (i.e. specify what it should be replaced with) - -::: - -[//]: # (permission.yml) - - `permission.yml → message.format.replacement` - - -<<< @/files/permission.yml#replacement - - diff --git a/pulse/en/docs/message/format/scoreboard/index.md b/pulse/en/docs/message/format/scoreboard/index.md deleted file mode 100644 index 82f85e83..00000000 --- a/pulse/en/docs/message/format/scoreboard/index.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Scoreboard - -Module responsible for proper `team` functionality and integration with: -- [Objectives](/docs/message/objective/) -- [Tab](/docs/message/tab/) - -::: warning WARNING -If you experience issues with `TAB` (such as sorting problems) or other plugins using `scoreboard`, you should disable this module -::: - -[//]: # (message.yml) - - `message.yml → format.scoreboard` - - -<<< @/files/message.yml#scoreboard - - - -### `name_visible` - -Enables player name display above heads - -### `color` - -Team color (if `name_visible` is enabled, names will use this color) - -### `prefix` - -Text displayed before player names - -### `suffix` - -Text displayed after player names - - - -[//]: # (permission.yml) - - `permission.yml → message.format.scoreboard` - - -<<< @/files/permission.yml#scoreboard - - \ No newline at end of file diff --git a/pulse/en/docs/message/format/translate/index.md b/pulse/en/docs/message/format/translate/index.md deleted file mode 100644 index 2b4ec1ef..00000000 --- a/pulse/en/docs/message/format/translate/index.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Translate - -The `translate` tag is used for translating a message into another language - -![translate](/translate.png) - -[//]: # (localization) - - `localizations → locale.yml → message.format.translate` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#translate -<<< @/files/localizations/en_us.yml#translate -::: - -### `action` - -Message for translation, which specifies the execution of a command when clicked - -[//]: # (message.yml) - - `message.yml → format.translate` - - -<<< @/files/message.yml#translate - - - -[//]: # (permission.yml) - - `permission.yml → message.format.translate` - - -<<< @/files/permission.yml#translate - - diff --git a/pulse/en/docs/message/format/world/index.md b/pulse/en/docs/message/format/world/index.md deleted file mode 100644 index c34ffdc1..00000000 --- a/pulse/en/docs/message/format/world/index.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# World - -The module responsible for the `` tag, i.e., for the world dimension color -![world tab](/worldtab.png) -![world chat](/worldchat.png) - -[//]: # (message.yml) - - `message.yml → format.world` - - -<<< @/files/message.yml#world - - - -### `mode` - -The mode for determining the world from the available options - -| Mode | Description | -|----------|-----------------------------------------------------------------------------| -| `TYPE` | The world is determined by its type name, for example, the normal world is `normal` | -| `NAME` | The world is determined by the name of its folder | - -### `values` - -List of worlds and their `` - -[//]: # (permission.yml) - - `permission.yml → message.format.world` - - -<<< @/files/permission.yml#world - - diff --git a/pulse/en/docs/message/greeting/index.md b/pulse/en/docs/message/greeting/index.md deleted file mode 100644 index 0e0330e8..00000000 --- a/pulse/en/docs/message/greeting/index.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Greeting - -Message from the server to the player when they connect -![greeting](/greeting.png) - -[//]: # (localization) - - `localizations → locale.yml → message.greeting` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#greeting -<<< @/files/localizations/en_us.yml#greeting -::: - -### `format` - -Personalized message to the player upon connection - -[//]: # (message.yml) - - `message.yml → greeting` - - -<<< @/files/message.yml#greeting - - - - - -[//]: # (permission.yml) - - `permission.yml → message.greeting` - - -<<< @/files/permission.yml#greeting - - - diff --git a/pulse/en/docs/message/index.md b/pulse/en/docs/message/index.md deleted file mode 100644 index 3b79be13..00000000 --- a/pulse/en/docs/message/index.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Messages - -Configuration of messages in `FlectonePulse` (why they appear and how) - -[//]: # (localization) - - `localizations → locale.yml` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#message -<<< @/files/localizations/en_us.yml#message -::: - -### `cooldown` - -Message displayed when used too frequently, if `cooldown` is enabled - -### `time` - -Time messages - -- #### `format` - -Time formatting ([Apache DurationFormatUtils](https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/time/DurationFormatUtils.html)) - -- #### `permanent` - -Time formatting if it is `-1`, i.e., forever - -- #### `zero` - -Time formatting if it equals zero - -[//]: # (message.yml) - - `message.yml` - - -<<< @/files/message.yml#message - - - -[//]: # (permission.yml) - - `permission.yml → message` - - -<<< @/files/permission.yml#message - - diff --git a/pulse/en/docs/message/join/index.md b/pulse/en/docs/message/join/index.md deleted file mode 100644 index 5eaab58c..00000000 --- a/pulse/en/docs/message/join/index.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Join - -Message from the server when a player connects -![join](/join.png) - -[//]: # (localization) - - `localizations → locale.yml → message.join` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#join -<<< @/files/localizations/en_us.yml#join -::: - -### `format` - -Message when connecting to the server - -### `format_first_time` - -Message when connecting to the server for the first time - -[//]: # (message.yml) - - `message.yml → join` - - -<<< @/files/message.yml#join - - - -### `first` - -Enables the message for a player's very first connection to the server - - - - - -[//]: # (permission.yml) - - `permission.yml → message.join` - - -<<< @/files/permission.yml#join - - - diff --git a/pulse/en/docs/message/objective/belowname/index.md b/pulse/en/docs/message/objective/belowname/index.md deleted file mode 100644 index bc4d96dc..00000000 --- a/pulse/en/docs/message/objective/belowname/index.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Belowname - -::: warning WARNING - -If the name display in the `scoreboard` module is disabled (`name_visible: false`), then the value under the nickname will not be shown. - -::: - -[ScoreBoard value](https://ru.minecraft.wiki/w/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%81%D1%87%D1%91%D1%82%D0%B0_%D0%B8%D0%B3%D1%80%D0%BE%D0%B2%D1%8B%D1%85_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9) displayed under the player's name -![below name](/belowname.png) - -[//]: # (localization) - - `localizations → язык.yml → message.belowname` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#belowname -<<< @/files/localizations/en_us.yml#belowname -::: - -### `format` - -The message that will be displayed below the nickname - -[//]: # (message.yml) - - `message.yml → objective.belowname` - - -<<< @/files/message.yml#belowname - - - -### `mode` - -Mode for displaying the value, with available options - - - -::: info EXAMPLE MODE `PING` -This will return the player's ping -![below name](/belowname.png) -::: - - - -[//]: # (permission.yml) - - `permission.yml → message.objective.belowname` - - -<<< @/files/permission.yml#belowname - - diff --git a/pulse/en/docs/message/objective/index.md b/pulse/en/docs/message/objective/index.md deleted file mode 100644 index 908cdf28..00000000 --- a/pulse/en/docs/message/objective/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Objective - -This module is responsible for [ScoreBoard values](https://ru.minecraft.wiki/w/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%81%D1%87%D1%91%D1%82%D0%B0_%D0%B8%D0%B3%D1%80%D0%BE%D0%B2%D1%8B%D1%85_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9) of the player - -[//]: # (message.yml) - - `message.yml → objective` - - -<<< @/files/message.yml#objective - - - -[//]: # (permission.yml) - - `permission.yml → message.objective` - - -<<< @/files/permission.yml#objective - - diff --git a/pulse/en/docs/message/objective/tabname/index.md b/pulse/en/docs/message/objective/tabname/index.md deleted file mode 100644 index ec5a28d0..00000000 --- a/pulse/en/docs/message/objective/tabname/index.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Tabname - -[ScoreBoard value](https://ru.minecraft.wiki/w/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%81%D1%87%D1%91%D1%82%D0%B0_%D0%B8%D0%B3%D1%80%D0%BE%D0%B2%D1%8B%D1%85_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9) displayed in the TAB list -![player list](/playerlist.png) - -[//]: # (localization) - - `localizations → language.yml → message.tabname` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#tabname -<<< @/files/localizations/en_us.yml#tabname -::: - -### `format` - -The message that will be shown after the nickname - -[//]: # (message.yml) - - `message.yml → objective.tabname` - - -<<< @/files/message.yml#tabname - - - -### `mode` - -Mode for displaying the value, with available options - - - -::: info EXAMPLE MODE `PING` -This will return the player's ping -![player list](/playerlist.png) -::: - - - -[//]: # (permission.yml) - - `permission.yml → message.objective.tabname` - - -<<< @/files/permission.yml#tabname - - diff --git a/pulse/en/docs/message/quit/index.md b/pulse/en/docs/message/quit/index.md deleted file mode 100644 index 7d61fd66..00000000 --- a/pulse/en/docs/message/quit/index.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Quit - -Message from the server when a player disconnects -![quit](/quit.png) - -[//]: # (localization) - - localizations → language.yml → message.quit - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#quit -<<< @/files/localizations/en_us.yml#quit -::: - -### format - -Message upon disconnecting from the server - -[//]: # (message.yml) - - message.yml → quit - - -<<< @/files/message.yml#quit - - - - - - -[//]: # (permission.yml) - - permission.yml → message.quit - - -<<< @/files/permission.yml#quit - - - diff --git a/pulse/en/docs/message/rightclick/index.md b/pulse/en/docs/message/rightclick/index.md deleted file mode 100644 index dc1d642b..00000000 --- a/pulse/en/docs/message/rightclick/index.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Right Click - -A module where **Right Click** on a player creates a message above the player's inventory -![right click](/rightclick.png) - -[//]: # (localization) - - `localizations → language.yml → message.rightclick` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#rightclick -<<< @/files/localizations/en_us.yml#rightclick -::: - -### `format` - -The message that will be sent to the player who right-clicked on another player - -[//]: # (message.yml) - - `message.yml → rightclick` - - -<<< @/files/message.yml#rightclick - - - -### `should_check_sneaking` - -Whether to check if the player is pressing shift during right-click - -### `hide_name_when_invisible` - -Whether to hide the nickname of a player who is invisible - - - - - -[//]: # (permission.yml) - - `permission.yml → message.rightclick` - - -<<< @/files/permission.yml#rightclick - - - - diff --git a/pulse/en/docs/message/sidebar/index.md b/pulse/en/docs/message/sidebar/index.md deleted file mode 100644 index 2df0bd86..00000000 --- a/pulse/en/docs/message/sidebar/index.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Sidebar - -Messages on the right side of the screen -![scoreboard](/scoreboard.png) - -[//]: # (localization) - - `localizations → language.yml → message.sidebar` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#sidebar -<<< @/files/localizations/en_us.yml#sidebar -::: - -### `values` - -List of messages where `- -` separates different formats - -[//]: # (message.yml) - - `message.yml → sidebar` - - -<<< @/files/message.yml#sidebar - - - - - -[//]: # (permission.yml) - - `permission.yml → message.sidebar` - - -<<< @/files/permission.yml#sidebar - - diff --git a/pulse/en/docs/message/sign/index.md b/pulse/en/docs/message/sign/index.md deleted file mode 100644 index 5b7eb19e..00000000 --- a/pulse/en/docs/message/sign/index.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Sign - -Module responsible for messages on the sign -![sign](/signoak.gif) - -[//]: # (message.yml) - - `message.yml → sign` - - -<<< @/files/message.yml#sign - - - -[//]: # (permission.yml) - - `permission.yml → message.sign` - - -<<< @/files/permission.yml#sign - - diff --git a/pulse/en/docs/message/status/icon/index.md b/pulse/en/docs/message/status/icon/index.md deleted file mode 100644 index 496931e6..00000000 --- a/pulse/en/docs/message/status/icon/index.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Icon - -Module responsible for the server image -![server icon](/servericon.png) - -[//]: # (message.yml) - - `message.yml → status.icon` - - -<<< @/files/message.yml#icon - - - -### `random` - -If enabled, the image will be selected randomly, otherwise in order - -### `values` - -`server-icon-1.png` ![server icon 1](/server-icon-1.png) - - -`server-icon-2.png` ![server icon 2](/server-icon-2.png) - -List of image names to be displayed - -::: danger IMAGE MUST -1. Be located inside the `/FlectonePulse/images/` folder -2. Have the size **ONLY** `64x64` - ::: - -[//]: # (permission.yml) - - `permission.yml → message.status.icon` - - -<<< @/files/permission.yml#icon - - diff --git a/pulse/en/docs/message/status/index.md b/pulse/en/docs/message/status/index.md deleted file mode 100644 index 9d6bab6b..00000000 --- a/pulse/en/docs/message/status/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Status - -Module responsible for everything that happens when viewing the server before connecting - -[//]: # (message.yml) - - `message.yml → status` - - -<<< @/files/message.yml#status - - - -[//]: # (permission.yml) - - `permission.yml → message.status` - - -<<< @/files/permission.yml#status - - diff --git a/pulse/en/docs/message/status/motd/index.md b/pulse/en/docs/message/status/motd/index.md deleted file mode 100644 index c4d96ad8..00000000 --- a/pulse/en/docs/message/status/motd/index.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# MOTD - -Module responsible for the server's welcome message -![motd](/motd.png) - -[//]: # (localization) - - `localizations → language.yml → message.status.motd` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#motd -<<< @/files/localizations/en_us.yml#motd -::: - -### `values` - -List of messages to be displayed - -[//]: # (message.yml) - - `message.yml → status.motd` - - -<<< @/files/message.yml#motd - - - - -[//]: # (permission.yml) - - `permission.yml → message.status.motd` - - -<<< @/files/permission.yml#motd - - diff --git a/pulse/en/docs/message/status/players/index.md b/pulse/en/docs/message/status/players/index.md deleted file mode 100644 index e2d0de71..00000000 --- a/pulse/en/docs/message/status/players/index.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Players - -Module responsible for the number of players on the server -![player count](/playercount.png) - -[//]: # (localization) - - `localizations → language.yml → message.status.players` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#players -<<< @/files/localizations/en_us.yml#players -::: - -### `samples` - -List of server players. The placeholder `` adds all players on the server to the list - -::: info EXAMPLES OF USAGE - -You can add any messages -```yaml -samples: - - name: "This is a Minecraft server!" - id: null - - name: "" - id: null -``` -![sample1](/sample1.png) - -or create fake players -```yaml -samples: - - name: "Notch" - id: null - - name: "" - id: null -``` -![sample2](/sample2.png) -::: - -::: warning WARNING - -Only available colors can be used - -::: - -### `full` - -Message when the server is full - -[//]: # (message.yml) - - `message.yml → status.players` - - -<<< @/files/message.yml#players - - - -### `control` - -If enabled, the player will not be allowed to join the server if the number of players exceeds the [specified](#max) amount - -### `max` - -Maximum number of players on the server - -### `online` - -Number that allows you to specify any number of online players - -::: info INFORMATION - -The number can be anything, but `-69` indicates the current online count - -::: - -[//]: # (permission.yml) - - `permission.yml → message.status.players` - - -<<< @/files/permission.yml#players - - - -### `bypass` - -Permission to connect to a full server diff --git a/pulse/en/docs/message/status/version/index.md b/pulse/en/docs/message/status/version/index.md deleted file mode 100644 index 0c22937f..00000000 --- a/pulse/en/docs/message/status/version/index.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Version - -Module responsible for the server version -![version](/version.png) - -[//]: # (localization) - - `localizations → locale.yml → message.status.version` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#version -<<< @/files/localizations/en_us.yml#version -::: - -### `name` - -Server version name - -[//]: # (message.yml) - - `message.yml → status.version` - - -<<< @/files/message.yml#version - - - -### `protocol` - -[Protocol](https://minecraft.wiki/w/Protocol_version) version of the server - -::: info INFORMATION - -The number can be any, but `-1` refers to the current protocol - -::: - -[//]: # (permission.yml) - - `permission.yml → message.status.version` - - -<<< @/files/permission.yml#version - - diff --git a/pulse/en/docs/message/tab/footer/index.md b/pulse/en/docs/message/tab/footer/index.md deleted file mode 100644 index 9c7adcf5..00000000 --- a/pulse/en/docs/message/tab/footer/index.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Footer - -Module responsible for the text at the bottom of the TAB -![footer](/footer.png) - -[//]: # (localization) - - `localizations → locale.yml → message.tab.footer` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#footer -<<< @/files/localizations/en_us.yml#footer -::: - -### `lists` - -List of messages, where `- -` separates different formats - -[//]: # (message.yml) - - `message.yml → tab.footer` - - -<<< @/files/message.yml#footer - - - - - - -[//]: # (permission.yml) - - `permission.yml → message.tab.footer` - - -<<< @/files/permission.yml#footer - - diff --git a/pulse/en/docs/message/tab/header/index.md b/pulse/en/docs/message/tab/header/index.md deleted file mode 100644 index 07b1d67e..00000000 --- a/pulse/en/docs/message/tab/header/index.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Header - -Module responsible for the text at the top of the TAB -![header](/header.png) - -[//]: # (localization) - - `localizations → locale.yml → message.tab.header` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#header -<<< @/files/localizations/en_us.yml#header -::: - -### `lists` - -List of messages, where `- -` separates different formats - -[//]: # (message.yml) - - `message.yml → tab.header` - - -<<< @/files/message.yml#header - - - - - - -[//]: # (permission.yml) - - `permission.yml → message.tab.header` - - -<<< @/files/permission.yml#header - - diff --git a/pulse/en/docs/message/tab/index.md b/pulse/en/docs/message/tab/index.md deleted file mode 100644 index 544a8961..00000000 --- a/pulse/en/docs/message/tab/index.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Tab - -Category responsible for messages in the TAB - -::: warning IMPORTANT -To ensure the TAB list is sorted based on the donor group, enable [`tab_sort`](/docs/integration/luckperms/#tab-sort) -::: - -[//]: # (message.yml) - - `message.yml → tab` - - -<<< @/files/message.yml#tab - - - -[//]: # (permission.yml) - - `permission.yml → message.tab` - - -<<< @/files/permission.yml#tab - - diff --git a/pulse/en/docs/message/tab/playerlistname/index.md b/pulse/en/docs/message/tab/playerlistname/index.md deleted file mode 100644 index 622b076f..00000000 --- a/pulse/en/docs/message/tab/playerlistname/index.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -authors: - - TheFaser - - Stokmenn ---- - -# Playerlistname - -Module responsible for the player's name in the TAB -![player list name](/playerlistname.png) - -[//]: # (localization) - - `localizations → locale.yml → message.tab.playerlistname` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#playerlistname -<<< @/files/localizations/en_us.yml#playerlistname -::: - -### `format` - -Message in the TAB list - -[//]: # (message.yml) - - `message.yml → tab.playerlistname` - - -<<< @/files/message.yml#playerlistname - - - -### `proxy_mode` - -If enabled, players on different servers will be synchronized in one TAB. This requires enabling proxy mode in `FlectonePulse` - -::: warning WARNING -1. This works on versions 1.19.4 and above -2. Between servers, players won't be able to see each other's ping in TAB (it will always be -1 if the player is on another server) -3. For correct skin display, SkinsRestorer in proxy mode is required -::: - - - -[//]: # (permission.yml) - - `permission.yml → message.tab.playerlistname` - - -<<< @/files/permission.yml#playerlistname - - diff --git a/pulse/en/docs/message/update/index.md b/pulse/en/docs/message/update/index.md deleted file mode 100644 index 2eb7bc09..00000000 --- a/pulse/en/docs/message/update/index.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Update - -Notification about a new `FlectonePulse` version release. Only sent to admins and console -![update](/update.png) - -[//]: # (localization) - - `localizations → language.yml → message.update` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#update -<<< @/files/localizations/en_us.yml#update -::: - -### `format_player` - -The message displayed to admin players - -### `format_console` - -The message displayed in the console - -[//]: # (message.yml) - - `message.yml → update` - - -<<< @/files/message.yml#update - - - - - -[//]: # (permission.yml) - - `permission.yml → message.update` - - -<<< @/files/permission.yml#update - - - \ No newline at end of file diff --git a/pulse/en/docs/message/vanilla/index.md b/pulse/en/docs/message/vanilla/index.md deleted file mode 100644 index d7b4d715..00000000 --- a/pulse/en/docs/message/vanilla/index.md +++ /dev/null @@ -1,138 +0,0 @@ ---- -authors: -- TheFaser ---- - -# Vanilla - -Any message from the server that a player receives -![death server](/deathserver.png) \ -![task](/task.png)\ -![weather](/weather.png)\ -![debugstick](/debugstick.png) - -## Potential issues with - -### `Advancements` - -Check and enable the game rule for sending advancements using `/gamerule announceAdvancements true` - -### `Blaze and Caves` - -For `Blaze and Caves` advancements to display correctly, you need to enable vanilla advancement display in it -![advancement1](/advancement1.png)\ -![advancement2](/advancement2.png)\ -![advancement3](/advancement3.png) - -### `Commands` - -Check and enable the game rule for sending command feedback using `/gamerule sendCommandFeedback true` - - -[//]: # (localization) - - `localizations → language.yml → message.vanilla` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#vanilla -<<< @/files/localizations/en_us.yml#vanilla -::: - -### `format_player` - -Format for displaying players in arguments - -### `format_entity` - -Format for displaying mobs in arguments - -### `types` - -List of messages where the key is the translation key - -::: tip YOU CAN ADD ANY MESSAGE -1. Take the command `/random roll 1..100` - -![roll 1](/roll_1.png) - -2. Its translation key will be `commands.random.roll`, which can be viewed on [this site](https://mcasset.cloud/1.21.8/assets/minecraft/lang/en_us.json) - -![roll 2](/roll_2.png) - -3. Write this key in `types`, replacing each `%s` argument with ``, ``, etc. - -```yaml -types: - commands.random.roll: " rolled (from to )" -``` - -4. After reloading with `/flectonepuse reload`, the message will be changed as we made it - -![roll 3](/roll_3.png) - -::: - -::: info INFO - -- `` returns the argument's internal text -- `` returns the argument's internal text without the `[]` brackets -- `` returns the argument's internal style -- `` returns the main internal hover text component -- `` returns the `another_number` internal hover text component -- `` returns the hover component's style -- If the message has no arguments, `` does not need to be written -- If the message does not have the argument specified, for example ``, it will be replaced with an empty string -- Arguments always follow the order specified in Minecraft's English localization. When adding another localization, the same argument order as in English must be used, but they can be rearranged. For example, `` can come before ``, this is not a problem - -For example, to configure an advancement message you can do this: `🌠 -> «» - ` - -![advancement showcase](/argument_showcase.png) - -::: - -[//]: # (message.yml) - - `message.yml → vanilla` - - -<<< @/files/message.yml#vanilla - - - -### `types` - -List of message groups that are united by some common feature. Each parameter inside is optional - -::::: details GROUP CONFIGURATION - -#### `multi_message` - -Whether this message is global for everyone. If enabled, it will be sent once from the sender, and all other messages will be canceled. This is not visually noticeable, but is used for proper integration with `Proxy` and external services. - -::: info EXAMPLE - -The message about receiving an advancement is sent to each player separately. If you enable `multi_message`, the message will be sent when the player who received the advancement receives the advancement message. Then this message will be sent to everyone on their behalf, allowing it to be correctly sent to `Proxy` and integrations - -::: - -#### `name` - -Group name in uppercase. Used to specify these messages in integrations (e.g., in `Discord`) and in `/chatsetting` to enable/disable display - - - - - -::::: - -[//]: # (permission.yml) - - `permission.yml → message.vanilla` - - -<<< @/files/permission.yml#vanilla - - - \ No newline at end of file diff --git a/pulse/en/index.md b/pulse/en/index.md deleted file mode 100644 index 06a50782..00000000 --- a/pulse/en/index.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -layout: home - -hero: - name: "FlectonePulse" - tagline: Every message under your control! - image: - src: /platforms.svg - actions: - - theme: brand - text: Technical support - link: https://boosty.to/thefaser - - theme: alt - text: Documentation - link: /docs/ - - theme: alt - text: Download - link: https://modrinth.com/plugin/flectonepulse/versions/ - -features: - - icon: - width: 290 - src: /caps.png - title: Customization of multiple messages - details: Customize almost any message that your player sees. Any FlectonePulse action can be disabled - link: /docs/message/ - - icon: - width: 500 - src: /commandtictactoe.png - title: Over 30 interesting commands - details: Make the chat more user-friendly. Players will also be able to use built-in mini-games - link: /docs/command/ - - icon: - width: 500 - src: /discordmessage.png - title: Integration with other projects - details: Allow players to communicate across different platforms. Full integrations with Discord, Twitch, and Telegram - link: /docs/integration/ ---- - -
-
-
-
- -
- -
-
-
-
- - -
\ No newline at end of file diff --git a/pulse/en/metrics/index.md b/pulse/en/metrics/index.md deleted file mode 100644 index f95330c5..00000000 --- a/pulse/en/metrics/index.md +++ /dev/null @@ -1,191 +0,0 @@ ---- -title: "Metrics" -authors: - - TheFaser ---- - - - - - -
- - -
{{ overlayCaption }}
-
- -# Server Analytics - -This page contains key graphs about server operations: -which versions are being used, memory consumption, -active modules, server distribution, -enabled modes, and player activity over recent days. -Click on any image to view it in larger size. - -::: tip NOTE -You can disable this data collection for your server at any time [here](/docs/config#metrics) -::: - -
- -
- Main Time Series -

Activity (7 days)

-
- -
- Server Versions -

Server versions

-
- -
- Core Counts -

CPU core count

-
- -
- RAM Usage -

RAM usage

-
- -
- Modules Status -

Module status

-
- -
- Project Versions -

FlectonePulse versions

-
- -
- Project Languages -

FlectonePulse languages

-
- -
- Server Types -

Server types

-
- -
- System Architectures -

System architecture

-
- -
- Operating Systems -

Operating systems

-
- -
- Java Versions -

Java versions

-
- -
- Proxy Modes -

Proxy modes

-
- -
- Online Mode -

Online / offline

-
- -
- Server Locations -

Server geography

-
- -
- Database Modes -

Database modes

-
- -
\ No newline at end of file diff --git a/pulse/en/package.json b/pulse/en/package.json deleted file mode 100644 index 33a91ca2..00000000 --- a/pulse/en/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "devDependencies": { - "vitepress": "2.0.0-alpha.4" - }, - "scripts": { - "docs:dev": "vitepress dev", - "docs:build": "vitepress build", - "docs:preview": "vitepress preview" - }, - "dependencies": { - "@nolebase/vitepress-plugin-enhanced-readabilities": "^2.16.0", - "@nolebase/vitepress-plugin-inline-link-preview": "^2.16.0", - "vitepress-sidebar": "^1.31.1" - } -} diff --git a/pulse/en/parts/aliases.md b/pulse/en/parts/aliases.md deleted file mode 100644 index 5b81db7b..00000000 --- a/pulse/en/parts/aliases.md +++ /dev/null @@ -1,7 +0,0 @@ -### `aliases` - -List of aliases for using the command - -::: info ALIASES CAN BE ANYTHING -For example, `newcommand`, `новаякоманда`, `ban`, `me`, etc. -::: \ No newline at end of file diff --git a/pulse/en/parts/color.md b/pulse/en/parts/color.md deleted file mode 100644 index fcdd09bd..00000000 --- a/pulse/en/parts/color.md +++ /dev/null @@ -1,19 +0,0 @@ - -| Color | -|----------------| -| `AQUA` | -| `BLACK` | -| `BLUE` | -| `DARK_AQUA` | -| `DARK_BLUE` | -| `DARK_GRAY` | -| `DARK_GREEN` | -| `DARK_PURPLE` | -| `DARK_RED` | -| `GOLD` | -| `GRAY` | -| `GREEN` | -| `RED` | -| `LIGHT_PURPLE` | -| `WHITE` | -| `YELLOW` | \ No newline at end of file diff --git a/pulse/en/parts/cooldown.md b/pulse/en/parts/cooldown.md deleted file mode 100644 index 964f42dc..00000000 --- a/pulse/en/parts/cooldown.md +++ /dev/null @@ -1,21 +0,0 @@ -### `cooldown` - -::: details Usage cooldown - -How to use? - -Replace `false` with `true` and restart `FlectonePulse` using the `/flectonepulse reload` command. Additional cooldown settings will appear AUTOMATICALLY - -The cooldown configuration will look like this: -```yaml -cooldown: - enable: true - duration: 60 -``` - -| Field | Type | Explanation | -|-------------|------------|---------------------------------------------------------------------------------| -| `enable` | `boolean` | Enables the cooldown functionality | -| `duration` | `long` | How many [ticks](https://minecraft.fandom.com/wiki/Tick) must pass between uses | - -::: \ No newline at end of file diff --git a/pulse/en/parts/destination.md b/pulse/en/parts/destination.md deleted file mode 100644 index 90bc5fc7..00000000 --- a/pulse/en/parts/destination.md +++ /dev/null @@ -1,211 +0,0 @@ -### `destination` - -::::: details Where the message will be sent - -| Type | Explanation | Requires additional setup? | -|----------------|--------------------------------------------------|----------------------------| -| `ACTION_BAR` | Message above the player's inventory | Yes | -| `BOSS_BAR` | Message at the top of the screen | Yes | -| `BRAND` | Message in the F3 menu | No | -| `CHAT` | Message in the chat | No | -| `TEXT_SCREEN` | Message anywhere on the screen | Yes | -| `TITLE` | Full-screen message | Yes | -| `SUBTITLE` | Full-screen message (bottom line) | Yes | -| `TAB_HEADER` | Message in the TAB list (top) | No | -| `TAB_FOOTER` | Message in the TAB list (bottom) | No | -| `TOAST` | Message in the top right corner (achievement) | Yes | - -To change this, replace the value `type: here` and restart `FlectonePulse` using the command `/flectonepulse reload`. Additional settings will appear AUTOMATICALLY. - -
- -#### `ACTION_BAR` -![action bar](/destinationaction_bar.png) - -```yaml -destination: - type: "ACTION_BAR" - times: - stay: 60 -``` - -#### - `times` - -| Field | Explanation | -|----------|-------------------------------------------| -| `stay` | Time in ticks to keep the message visible | - -
- -#### `BOSS_BAR` - -![action bar](/destinationboss_bar.png) - -```yaml -destination: - type: "BOSS_BAR" - duration: 100 - health: 1.0 - overlay: "PROGRESS" - color: "BLUE" - play_boos_music: false - create_world_fog: false - darken_screen: false -``` - -#### - `duration` - -Duration for displaying the message. - -#### - `health` - -How full the boss bar will be. - -#### - `overlay` - -| Type | Explanation | -|---------------|---------------------------------| -| `PROGRESS` | A single line | -| `NOTCHED_6` | Divided into 6 parts | -| `NOTCHED_10` | Divided into 10 parts | -| `NOTCHED_12` | Divided into 12 parts | -| `NOTCHED_20` | Divided into 20 parts | - -#### - `color` - -Display color. - -| Type | -|----------| -| `PINK` | -| `BLUE` | -| `RED` | -| `GREEN` | -| `YELLOW` | -| `PURPLE` | -| `WHITE` | - -#### - `play_boos_music` - -Whether to play boss music with the message - -#### - `create_world_fog` - -Whether to create world fog with the message - -#### - `darken_screen` - -Whether to darken the screen with the message - -
- -#### `TEXT_SCREEN` -![text screen](/destinationtext_screen.png) - -::: warning WARNING - -This only works on version 1.19.4 and above. On older versions, `CHAT` will be used instead - -::: - -```yaml -destination: - type: "TEXT_SCREEN" - background: "#00000040" - has_shadow: false - animation_time: 2 - live_time: 10 - width: 100000 - scale: 0.5 - offset_x: 0.0 - offset_y: -0.3 - offset_z: -0.8 -``` - -#### - `background` - -The background color of the message, which includes transparency (alpha channel). [Website for choosing a color](https://rgbacolorpicker.com/color-wheel-picker) - -#### - `has_shadow` - -Enables text shadow - -#### `see_through` - -Enables text transparency against water and clouds (so you cannot see through water) - -#### - `animation_time` - -Time in seconds for the appearance and disappearance animations. If set to 0 or less, there will be no animation - -#### - `live_time` - -Time in seconds for the text to be displayed. If set to 0 or less, the text won't appear - -#### - `width` - -Text length per line in pixels. If the text is longer, it will wrap to the next line - -#### - `scale` - -Text size. If negative, the text will be flipped - -#### - `offset_x` - -Offset along the X coordinate (right +, left -) relative to the center of the player's screen - -#### - `offset_y` - -Offset along the Y coordinate (up +, down -) relative to the center of the player's screen - -#### - `offset_z` - -Offset along the Z coordinate (forward +, backward -) relative to the center of the player's screen - -
- -#### `TITLE` (or `SUBTITLE`) -![title](/destinationtitle.png) - -```yaml -destination: - type: "TITLE" (or "SUBTITLE") - subtext: "" - times: - fade_in: 20 - stay: 60 - fade_out: 20 -``` - -#### - `subtext` - -Message for the second part of the display. For example, if `TITLE` is selected, `subtext` will be shown below it, and vice versa - -#### - `times` - -| Field | Explanation | -|------------|---------------------------------------------| -| `fade_in` | Time in ticks for the message to appear | -| `stay` | Time in ticks to keep the message visible | -| `fade_out` | Time in ticks for the message to disappear | - -
- -#### `TOAST` -![toast](/destinationtoast.png) -```yaml -destination: - type: "TOAST" - icon: "minecraft:diamond" - style: "TASK" -``` - -#### - `icon` - -Achievement icon, which can be any Minecraft item (must specify the full path) - -#### - `style` - -Achievement type (`TASK` regular, `GOAL` goal, `CHALLENGE` challenge) - -::::: \ No newline at end of file diff --git a/pulse/en/parts/enable.md b/pulse/en/parts/enable.md deleted file mode 100644 index 692eb85a..00000000 --- a/pulse/en/parts/enable.md +++ /dev/null @@ -1,3 +0,0 @@ -### `enable` - -Enables or disables the functionality of the module \ No newline at end of file diff --git a/pulse/en/parts/fcolor.md b/pulse/en/parts/fcolor.md deleted file mode 100644 index 9a028184..00000000 --- a/pulse/en/parts/fcolor.md +++ /dev/null @@ -1,16 +0,0 @@ -::: info HOW DOES `` WORK? - -`` is a placeholder that gets replaced with values from [`default_colors`](/docs/message/format/fcolor/#default-colors) or, if the player has their own, with the player's colors. - -The value of `` can be anything, but the command only allows colors in any format and ``. There can be as many of these values as needed, with the maximum being the highest digit from [`default_colors`](/docs/message/format/fcolor/#default-colors). - -Each digit represents a specific color. By default: `` is used for the primary color, `` for the primary color with highlighting (e.g., names), `` for messages in local chat, and `` for messages in global chat. - -`` has several states. By default, it's `see`—colors that the player will see for ALL messages ONLY for themselves, unless replaced by `out`—colors that ALL players will see for THIS player's messages (i.e., the personal colors of this specific player). - -Still confused? There's an explanation in the image below, or here's an example: A player enters the command `/chatcolor see red red red red`. This means the player sees all messages in red for themselves, but other players see messages according to their own settings. Now, suppose the player writes `/chatcolor out green green green green`. This means all messages from this player will be green for both them and other players. It's important to understand that `out` overrides colors from `see` if they exist, meaning the player will also see other messages in green for themselves. - -For beginners: `see` is for personalizing YOUR OWN colors, while `out` is for colors that OTHER players will see. - -![fcolor](/fcolor.png) -::: \ No newline at end of file diff --git a/pulse/en/parts/legacyColors.md b/pulse/en/parts/legacyColors.md deleted file mode 100644 index 15e6fbea..00000000 --- a/pulse/en/parts/legacyColors.md +++ /dev/null @@ -1,6 +0,0 @@ -| **Input Color** | **Converted to** | -|-------------------------------------------------------|---------------------------------------------------------------| -| `&0`-`&9`, `&a`-`&f` | ``, `` ... `` | -| `&l`/`&m`/`&n`/`&o`/`&k`/`&r` | `` / `` / `` / `` / `` / `` | -| `&#rrggbb`, `#rrggbb`, `&x&r&r&g&g&b&b`, `<##rrggbb>` | `<#rrggbb>` | -| MiniMessage Tags | ``, ``, ``, ``, etc. | \ No newline at end of file diff --git a/pulse/en/parts/messageTag.md b/pulse/en/parts/messageTag.md deleted file mode 100644 index 45669b0b..00000000 --- a/pulse/en/parts/messageTag.md +++ /dev/null @@ -1,38 +0,0 @@ -#### Message Types - -| Type | Explanation | -|-------------------------------|----------------------------------------------| -| `CHAT_GLOBAL` | `global` chat message | -| `CHAT_LOCAL` | `local` chat message | -| `AFK` | Message from the `afk` action | -| `ADVANCEMENT` | Achievement message | -| `DEATH` | Death message | -| `JOIN` | Message when a player joins the server | -| `QUIT` | Message when a player leaves the server | -| `FROM_DISCORD_TO_MINECRAFT` | Message from Discord to Minecraft | -| `FROM_TWITCH_TO_MINECRAFT` | Message from Twitch to Minecraft | -| `FROM_TELEGRAM_TO_MINECRAFT` | Message from Telegram to Minecraft | -| `COMMAND_ME` | Message from the `/me` command | -| `COMMAND_BALL` | Message from the `/ball` command | -| `COMMAND_BAN` | Message from the `/ban` command | -| `COMMAND_BROADCAST` | Message from the `/broadcast` command | -| `COMMAND_COIN` | Message from the `/coin` command | -| `COMMAND_DICE` | Message from the `/dice` command | -| `COMMAND_DO` | Message from the `/do` command | -| `COMMAND_HELPER` | Message from the `/helper` command | -| `COMMAND_MUTE` | Message from the `/mute` command | -| `COMMAND_POLL_CREATE_MESSAGE` | Message from the `/poll` command | -| `COMMAND_SPY` | Player messages tracking for `/spy` command | -| `COMMAND_STREAM` | Message from the `/stream` command | -| `COMMAND_TRANSLATETO` | Message from the `/translateto` command | -| `COMMAND_TRY` | Message from the `/try` command | -| `COMMAND_WARN` | Message from the `/warn` command | -| `COMMAND_KICK` | Message from the `/kick` command | -| `SERVER_ENABLE` | Message when the server starts | -| `SERVER_DISABLE` | Message when the server shuts down | - -::: info NOTE - -If you have custom chats with their own names, for example `admin`, you will need to specify `CHAT_ADMIN`. If you have custom groups from the `vanilla` module, you need to specify their name - -::: \ No newline at end of file diff --git a/pulse/en/parts/objective.md b/pulse/en/parts/objective.md deleted file mode 100644 index 987f191a..00000000 --- a/pulse/en/parts/objective.md +++ /dev/null @@ -1,8 +0,0 @@ -| Mode | What it returns | -|----------|--------------------------------------| -| `HEALTH` | Current player's HP value | -| `LEVEL` | Current player's level value | -| `FOOD` | Current player's saturation value | -| `PING` | Current player's ping | -| `ARMOR` | Current player's armor value | -| `ATTACK` | Current player's attack damage value | \ No newline at end of file diff --git a/pulse/en/parts/perPage.md b/pulse/en/parts/perPage.md deleted file mode 100644 index fbc9ff9a..00000000 --- a/pulse/en/parts/perPage.md +++ /dev/null @@ -1,3 +0,0 @@ -### `per_page` - -Number of components per page \ No newline at end of file diff --git a/pulse/en/parts/permission/cooldown.md b/pulse/en/parts/permission/cooldown.md deleted file mode 100644 index d8227074..00000000 --- a/pulse/en/parts/permission/cooldown.md +++ /dev/null @@ -1,3 +0,0 @@ -### `cooldown_bypass` - -Permission to bypass the cooldown between uses \ No newline at end of file diff --git a/pulse/en/parts/permission/other.md b/pulse/en/parts/permission/other.md deleted file mode 100644 index 246e6935..00000000 --- a/pulse/en/parts/permission/other.md +++ /dev/null @@ -1,3 +0,0 @@ -### `other` - -Permission to use on another player \ No newline at end of file diff --git a/pulse/en/parts/permission/permissionTier3.md b/pulse/en/parts/permission/permissionTier3.md deleted file mode 100644 index 550d3b0f..00000000 --- a/pulse/en/parts/permission/permissionTier3.md +++ /dev/null @@ -1,14 +0,0 @@ -### `name` - -Permission name - -### `type` - -Permission type - -| Type | Explanation | -|-----------|-----------------------------------------------------------------------------| -| `TRUE` | Available to any player | -| `FALSE` | Not available to anyone, must be granted separately (e.g., using LuckPerms) | -| `OP` | Available to server operators | -| `NOT_OP` | Available to not server operators | \ No newline at end of file diff --git a/pulse/en/parts/permission/permissionTier4.md b/pulse/en/parts/permission/permissionTier4.md deleted file mode 100644 index 2e7a09cf..00000000 --- a/pulse/en/parts/permission/permissionTier4.md +++ /dev/null @@ -1,14 +0,0 @@ -#### `name` - -Permission name - -#### `type` - -Permission type - -| Type | Explanation | -|-----------|-----------------------------------------------------------------------------| -| `TRUE` | Available to any player | -| `FALSE` | Not available to anyone, must be granted separately (e.g., using LuckPerms) | -| `OP` | Available to server operators | -| `NOT_OP` | Available to not server operators | \ No newline at end of file diff --git a/pulse/en/parts/permission/sound.md b/pulse/en/parts/permission/sound.md deleted file mode 100644 index 6daa5955..00000000 --- a/pulse/en/parts/permission/sound.md +++ /dev/null @@ -1,3 +0,0 @@ -### `sound` - -Permission to use sound \ No newline at end of file diff --git a/pulse/en/parts/random.md b/pulse/en/parts/random.md deleted file mode 100644 index e0e9f3a0..00000000 --- a/pulse/en/parts/random.md +++ /dev/null @@ -1,3 +0,0 @@ -### `random` - -If enabled, messages will be selected randomly; otherwise, they will be selected in order \ No newline at end of file diff --git a/pulse/en/parts/range.md b/pulse/en/parts/range.md deleted file mode 100644 index c2bf4cd1..00000000 --- a/pulse/en/parts/range.md +++ /dev/null @@ -1,14 +0,0 @@ -### `range` - -::: details How far in blocks the message will be displayed - -| Value | Explanation | -|--------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `WORLD_TYPE` | The message will only be sent to players who have the permission `flectonepulse.world.type.dimension_name` | -| `WORLD_NAME` | The message will only be sent to players who have the permission `flectonepulse.world.name.world_folder_name` | -| `PROXY` | The message will be sent to all players on the server and on [Proxy](/docs/config/#bungeecord) | -| `SERVER` | The message will be sent to all players on the server | -| `PLAYER` | The message will only be sent to the sender | -| Any number greater than `0` (e.g., `range: 100`) | The message will be sent to players whose distance from the sender is **less** than this number. Players must also be in the same world as the sender | - -::: \ No newline at end of file diff --git a/pulse/en/parts/sound.md b/pulse/en/parts/sound.md deleted file mode 100644 index 550e9455..00000000 --- a/pulse/en/parts/sound.md +++ /dev/null @@ -1,26 +0,0 @@ -### `sound` - -::: details Sound playback - -How to use? - -Replace `false` with `true` and restart `FlectonePulse` using the `/flectonepulse reload` command. Additional sound settings will appear AUTOMATICALLY - -```yaml -sound: - enable: true - volume: 1.0 - pitch: 1.0 - category: "HOSTILE" - name: "minecraft:entity.llama.spit" -``` - -| Field | Type | Explanation | -|-------------|------------|--------------------------------------------------------------------------------------------------------------------| -| `enable` | `boolean` | Enables sound functionality | -| `volume` | `float` | Sound volume from `0` to `1.0` | -| `pitch` | `float` | Sound pitch from `0` to `1.0` | -| `category` | `String` | Category from `MASTER`, `MUSIC`, `RECORD`, `WEATHER`, `BLOCK`, `HOSTILE`, `NEUTRAL`, `PLAYER`, `AMBIENT`, `VOICE` | -| `name` | `String` | Sound name, for example `minecraft:entity.llama.spit` | - -::: \ No newline at end of file diff --git a/pulse/en/parts/suggestOfflinePlayers.md b/pulse/en/parts/suggestOfflinePlayers.md deleted file mode 100644 index ad9dc01e..00000000 --- a/pulse/en/parts/suggestOfflinePlayers.md +++ /dev/null @@ -1,6 +0,0 @@ -### `suggest_offline_players` - -If enabled, it suggests all player nicknames who have been on the server; otherwise, only nicknames of players who are online. -::: info NOTE -This only affects text suggestions -::: \ No newline at end of file diff --git a/pulse/en/parts/ticker.md b/pulse/en/parts/ticker.md deleted file mode 100644 index 7d9f7316..00000000 --- a/pulse/en/parts/ticker.md +++ /dev/null @@ -1,15 +0,0 @@ -### `ticker` - -Updates every certain interval of time - -::: info HOW TO USE TICKER? -Change false to true and restart FlectonePulse using the /flectonepulse reload command. Additional ticker settings will appear AUTOMATICALLY - -#### `enable` - -Whether to update or not - -#### `period` - -How often in [ticks](https://minecraft.fandom.com/wiki/Tick) it should update -::: \ No newline at end of file diff --git a/pulse/en/parts/vanillaWarn.md b/pulse/en/parts/vanillaWarn.md deleted file mode 100644 index 167c96ae..00000000 --- a/pulse/en/parts/vanillaWarn.md +++ /dev/null @@ -1,15 +0,0 @@ - -::: warning WARNING - -This is not a new message added by FlectonePulse. This is a modification (customization) of messages that are displayed by Minecraft itself - -::: - - - -::: warning WARNING - -This is not a new command added by FlectonePulse. This is a modification (customization) of messages that are displayed when using a vanilla Minecraft command - -::: - \ No newline at end of file diff --git a/pulse/en/parts/words.md b/pulse/en/parts/words.md deleted file mode 100644 index 13d07c9c..00000000 --- a/pulse/en/parts/words.md +++ /dev/null @@ -1,19 +0,0 @@ - -**Path** - - - -## 🌍 Localization - - - -## ⚙️ Setting - - - -## 🔐 Permissions - - - -### `Default` - \ No newline at end of file diff --git a/pulse/en/scripts/region.py b/pulse/en/scripts/region.py deleted file mode 100644 index d94f39a0..00000000 --- a/pulse/en/scripts/region.py +++ /dev/null @@ -1,36 +0,0 @@ -import yaml -import re -import sys - -def process_yaml_with_regions(input_file, output_file): - with open(input_file, "r", encoding="utf-8") as f: - lines = f.readlines() - - output_lines = [] - current_region = None - - for i, line in enumerate(lines): - match = re.match(r'# https://.*/([^/]+)/$', line.strip()) - if match: - if current_region: - output_lines.append(f"#endregion {current_region}\n") - current_region = match.group(1) - output_lines.append(f"#region {current_region}\n") - continue - - output_lines.append(line) - - if current_region: - output_lines.append(f"#endregion {current_region}\n") - - with open(output_file, "w", encoding="utf-8") as f: - f.writelines(output_lines) - -if __name__ == "__main__": - if len(sys.argv) != 3: - print("Использование: python script.py input.yml output.yml") - sys.exit(1) - - input_file = sys.argv[1] - output_file = sys.argv[2] - process_yaml_with_regions(input_file, output_file) \ No newline at end of file diff --git a/pulse/ru/.vitepress/config.mts b/pulse/ru/.vitepress/config.mts deleted file mode 100644 index 842dc3d0..00000000 --- a/pulse/ru/.vitepress/config.mts +++ /dev/null @@ -1,179 +0,0 @@ -import {defineConfig} from 'vitepress' -import {generateSidebar} from 'vitepress-sidebar' - -import {InlineLinkPreviewElementTransform} from '@nolebase/vitepress-plugin-inline-link-preview/markdown-it' - -const modrinth = '' -const boosty = '' - -export default defineConfig({ - vite: { - plugins: [ - { - name: 'api-to-string', - enforce: 'pre', - - resolveId(id) { - if (/^\/api\//.test(id) && !id.endsWith('.md')) { - return id - } - return null - }, - - load(id) { - if (/^\/api\//.test(id) && !id.endsWith('.md')) { - return `export default ${JSON.stringify(id)};` - } - return null - } - }, - ], - optimizeDeps: { - exclude: [ - '@nolebase/vitepress-plugin-enhanced-readabilities/client', - 'vitepress', - '@nolebase/ui', - '@nolebase/vitepress-plugin-inline-link-preview/client', - - ], - }, - ssr: { - noExternal: [ - '@nolebase/vitepress-plugin-enhanced-readabilities', - '@nolebase/ui', - '@nolebase/vitepress-plugin-inline-link-preview', - ], - }, - }, - - lang: "ru-RU", - base: '/pulse/', - title: "FlectonePulse", - description: "Каждое сообщение под вашим контролем!", - lastUpdated: true, - ignoreDeadLinks: true, - cleanUrls: true, - metaChunk: true, - - head: [ - ['link', { rel: "apple-touch-icon", sizes: "180x180", href: "/assets/favicons/apple-touch-icon.png"}], - ['link', { rel: "icon", type: "image/png", sizes: "32x32", href: "/assets/favicons/favicon-32x32.png"}], - ['link', { rel: "icon", type: "image/png", sizes: "16x16", href: "/assets/favicons/favicon-16x16.png"}], - ['link', { rel: "manifest", href: "/assets/favicons/site.webmanifest"}], - ['link', { rel: "shortcut icon", href: "/assets/favicons/favicon.ico"}], - ['meta', { property: 'og:title', content: 'FlectonePulse' }], - ['meta', { property: 'og:description', content: 'Каждое сообщение под вашим контролем!' }], - ['meta', { property: 'og:type', content: 'website' }], - ['meta', { property: 'og:url', content: 'https://flectone.net/pulse/' }], - ['meta', { property: 'og:image', content: '/assets/favicons/favicon.ico' }] - ], - - themeConfig: { - logo: '/logo.png', - socialLinks: [ - { - icon: { svg: boosty }, - link: 'https://boosty.to/thefaser', - ariaLabel: 'Boosty', - }, - { icon: 'github', link: 'https://github.com/flectone/FlectonePulse' }, - { - icon: { svg: modrinth }, - link: 'https://modrinth.com/plugin/flectonepulse', - ariaLabel: 'Modrinth', - }, - { icon: 'discord', link: 'https://discord.flectone.net' }, - ], - - nav: [ - { text: 'Документация', link: '/docs/' }, - { text: 'Аналитика', link: '/metrics/' }, - { text: 'API', link: '/api/' }, - { - text: 'Языки', - items: [ - { text: "Русский", link: 'https://flectone.net/pulse/'}, - { text: "English", link: 'https://flectone.net/en/pulse/'} - ] - }, - ], - - lastUpdated: { - text: 'Обновлено' - }, - outline: { - label: "Содержание страницы", - level: [2, 3] - }, - - docFooter: { - prev: 'Предыдущая страница', - next: 'Следующая страница' - }, - - darkModeSwitchLabel: 'Оформление', - darkModeSwitchTitle: "Переключить на тёмную тему", - lightModeSwitchTitle: "Переключить на светлую тему", - sidebarMenuLabel: 'Меню', - returnToTopLabel: 'Вернуться к началу', - langMenuLabel: 'Изменить язык', - editLink: { - pattern: 'https://github.com/Flectone/FlectonePulseWeb/edit/master/pulse/ru/:path', - text: 'Редактировать эту страницу на GitHub' - }, - - search: { - provider: 'local', - options: { - translations: { - button: { - buttonText: 'Поиск', - buttonAriaLabel: 'Поиск' - }, - modal: { - displayDetails: 'Отобразить подробный список', - resetButtonTitle: 'Сбросить поиск', - backButtonTitle: 'Закрыть поиск', - noResultsText: 'Нет результатов по запросу', - footer: { - selectText: 'выбрать', - selectKeyAriaLabel: 'выбрать', - navigateText: 'перейти', - navigateUpKeyAriaLabel: 'стрелка вверх', - navigateDownKeyAriaLabel: 'стрелка вниз', - closeText: 'закрыть', - closeKeyAriaLabel: 'esc' - } - } - } - }, - }, - - notFound: { - title: 'СТРАНИЦА НЕ НАЙДЕНА', - quote: 'Но если вы не измените направление и продолжите искать, вы можете оказаться там, куда направляетесь.', - linkLabel: 'вернуться на главную', - linkText: 'Вернуться на главную', - code: '404' - }, - - sidebar: generateSidebar({ - collapseDepth: 1, - capitalizeFirst: true, - - useTitleFromFileHeading: true, - useFolderTitleFromIndexFile: true, - useFolderLinkFromIndexFile: true, - useTitleFromFrontmatter: true, - - sortMenusByFrontmatterOrder: true, - excludePattern: ['parts/'] - }), - }, - - markdown: { - config(md) { - md.use(InlineLinkPreviewElementTransform) - } - }, -}) diff --git a/pulse/ru/.vitepress/theme/author/PageAuthors.vue b/pulse/ru/.vitepress/theme/author/PageAuthors.vue deleted file mode 100644 index 61ff0754..00000000 --- a/pulse/ru/.vitepress/theme/author/PageAuthors.vue +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/pulse/ru/.vitepress/theme/index.ts b/pulse/ru/.vitepress/theme/index.ts deleted file mode 100644 index b07c234b..00000000 --- a/pulse/ru/.vitepress/theme/index.ts +++ /dev/null @@ -1,255 +0,0 @@ -import {h} from 'vue'; -import type {Theme} from 'vitepress'; -import DefaultTheme from 'vitepress/theme'; -import './style.css'; - -import { - LayoutMode, - NolebaseEnhancedReadabilitiesMenu, - NolebaseEnhancedReadabilitiesPlugin, - NolebaseEnhancedReadabilitiesScreenMenu, - SpotlightStyle, -} from '@nolebase/vitepress-plugin-enhanced-readabilities/client' - -import '@nolebase/vitepress-plugin-enhanced-readabilities/client/style.css' - -import {NolebaseInlineLinkPreviewPlugin,} from '@nolebase/vitepress-plugin-inline-link-preview/client' - -import '@nolebase/vitepress-plugin-inline-link-preview/client/style.css' - -import AuthorsComponent from "./author/PageAuthors.vue" - -const EMOJI_MAP = { - tip: '💡', - info: 'ℹ️', - warning: '⚠️', - danger: '🔥', - details: '📜', -} as const; - -const YAML_CLASS = 'language-yaml'; -const HIGHLIGHT_CLASS = 'hash-highlight'; -let isHandlerAttached = false; - -const postRenderTasks = () => { - if (import.meta.env.SSR) return; - - injectEmojis(); - highlightHashElement(); - processYamlBlocks(); -}; - -function injectEmojis() { - const processBlock = (block: Element, emoji: string) => { - const title = block.querySelector('.custom-block-title, summary') as HTMLElement | null; - if (!title || title.dataset.emojiAdded) return; - - title.dataset.emojiAdded = 'true'; - title.insertAdjacentHTML('afterbegin', `${emoji} `); - }; - - Object.entries(EMOJI_MAP).forEach(([type, emoji]) => { - const selector = type === 'details' ? 'details.custom-block.details' : `.custom-block.${type}`; - document.querySelectorAll(selector).forEach((block) => { - processBlock(block, emoji); - }); - }); -} - -function highlightHashElement() { - if (import.meta.env.SSR) return; - - document.querySelectorAll(`.${HIGHLIGHT_CLASS}`).forEach((el) => { - el.classList.remove(HIGHLIGHT_CLASS); - }); - - const hash = decodeURIComponent(window.location.hash); - if (!hash) return; - - const target = document.querySelector(hash); - if (!target) return; - - target.classList.add(HIGHLIGHT_CLASS); - - const header = document.querySelector('.VPNavBar') as HTMLElement | null; - const headerHeight = header?.offsetHeight || 60; - const targetPosition = target.getBoundingClientRect().top + window.scrollY - headerHeight; - - window.scrollTo({ - top: targetPosition, - behavior: 'smooth', - }); -} - -function processYamlBlocks() { - if (import.meta.env.SSR) return; - - document.querySelectorAll(`div[class*="${YAML_CLASS}"] pre`).forEach((pre) => { - pre.classList.add('yaml-lines'); - - pre.querySelectorAll('.line').forEach((line) => { - if (line.querySelector('.line-content')) return; - - const wrapper = document.createElement('span'); - wrapper.className = 'line-content'; - wrapper.innerHTML = line.innerHTML; - line.innerHTML = ''; - line.appendChild(wrapper); - }); - }); -} - -const scheduleTask = (fn: () => void) => { - if (import.meta.env.SSR) { - fn(); - } else { - requestAnimationFrame(fn); - } -}; - -export default { - extends: DefaultTheme, - - Layout: () => h(DefaultTheme.Layout, null, { - 'nav-bar-content-after': () => h(NolebaseEnhancedReadabilitiesMenu), - 'nav-screen-content-after': () => h(NolebaseEnhancedReadabilitiesScreenMenu), - 'page-after': () => scheduleTask(postRenderTasks), - "aside-outline-after": () => h(AuthorsComponent), - }), - - enhanceApp({ app, router }) { - app.use(NolebaseEnhancedReadabilitiesPlugin, { - locales: { - 'ru-RU': { - title: { - title: 'Режим чтения', - titleAriaLabel: 'Режим чтения' - }, - layoutSwitch: { - title: 'Переключение макета', - titleAriaLabel: 'Переключение макета', - titleHelpMessage: 'Настройте ширину контента и боковой панели', - titleScreenNavWarningMessage: 'Навигационное меню может быть скрыто при изменении макета', - - optionFullWidth: 'Полная ширина', - optionFullWidthAriaLabel: 'Полная ширина контента и боковой панели', - optionFullWidthHelpMessage: 'Максимально расширяет контент и боковую панель', - - optionSidebarWidthAdjustableOnly: 'Только боковая панель', - optionSidebarWidthAdjustableOnlyAriaLabel: 'Регулируемая только боковая панель', - optionSidebarWidthAdjustableOnlyHelpMessage: 'Регулируется только ширина боковой панели', - - optionBothWidthAdjustable: 'Обе регулируемые', - optionBothWidthAdjustableAriaLabel: 'Регулируемые контент и боковая панель', - optionBothWidthAdjustableHelpMessage: 'Регулируется ширина и контента и боковой панели', - - optionOriginalWidth: 'Оригинальная ширина', - optionOriginalWidthAriaLabel: 'Оригинальная ширина макета', - optionOriginalWidthHelpMessage: 'Стандартная ширина как в VitePress', - - contentLayoutMaxWidth: { - title: 'Макс. ширина контента', - titleAriaLabel: 'Максимальная ширина контента', - titleHelpMessage: 'Регулировка максимальной ширины области контента', - titleScreenNavWarningMessage: 'Навигация может быть скрыта при увеличении ширины', - slider: 'Ширина контента', - sliderAriaLabel: 'Регулировка ширины контента', - sliderHelpMessage: 'Перетащите для изменения ширины контента' - }, - - pageLayoutMaxWidth: { - title: 'Макс. ширина страницы', - titleAriaLabel: 'Максимальная ширина страницы', - titleHelpMessage: 'Регулировка максимальной ширины всей страницы', - titleScreenNavWarningMessage: 'Навигация может быть скрыта при увеличении ширины', - slider: 'Ширина страницы', - sliderAriaLabel: 'Регулировка ширины страницы', - sliderHelpMessage: 'Перетащите для изменения ширины всей страницы' - } - }, - spotlight: { - title: 'Подсветка', - titleAriaLabel: 'Режим подсветки', - titleHelpMessage: 'Подсвечивает текущий абзац для лучшей читаемости', - titleScreenNavWarningMessage: 'Навигация может быть скрыта при включенной подсветке', - - optionOn: 'Включить', - optionOnAriaLabel: 'Включить подсветку', - optionOnHelpMessage: 'Активирует режим подсветки', - - optionOff: 'Выключить', - optionOffAriaLabel: 'Выключить подсветку', - optionOffHelpMessage: 'Деактивирует режим подсветки', - - styles: { - title: 'Стиль подсветки', - titleAriaLabel: 'Стиль подсветки текста', - titleHelpMessage: 'Выберите стиль подсветки текущего абзаца', - titleScreenNavWarningMessage: 'Навигация может быть скрыта при изменении стиля подсветки', - - optionUnder: 'Подчеркивание', - optionUnderAriaLabel: 'Подсветка в виде подчеркивания', - optionUnderHelpMessage: 'Подсвечивает текст подчеркиванием', - - optionAside: 'Боковая полоса', - optionAsideAriaLabel: 'Подсветка в виде боковой полосы', - optionAsideHelpMessage: 'Подсвечивает текст боковой полосой' - } - }, - } - }, - layoutSwitch: { - disableHelp: false, - defaultMode: LayoutMode.BothWidthAdjustable, - contentLayoutMaxWidth: { - disableHelp: false, - defaultMaxWidth: 100 - }, - pageLayoutMaxWidth: { - disableHelp: false, - defaultMaxWidth: 100 - } - }, - spotlight: { - disableHelp: false, - hoverBlockColor: 'rgb(240 197 52 / 10%)', - defaultToggle: true, - defaultStyle: SpotlightStyle.Aside, - } - }); - - app.use(NolebaseInlineLinkPreviewPlugin, { - popupWidth: 800, - popupHeight: 400, - locales: { - 'ru-RU': { - popup: { - loading: 'Загружаем превью...', - loadingAriaLabel: 'Превью страницы загружается', - openInCurrentPage: 'Нажмите, чтобы перейти на страницу', - openInCurrentPageAriaLabel: 'Открыть оригинал страницы', - iframeAriaLabel: 'Предпросмотр связанной страницы' - } - }, - } - }); - - app.provide('post-render', postRenderTasks); - - router.onAfterRouteChanged = () => { - scheduleTask(postRenderTasks); - }; - - if (!isHandlerAttached && !import.meta.env.SSR) { - window.addEventListener('hashchange', highlightHashElement); - document.addEventListener('click', (e) => { - const target = e.target as HTMLElement; - if (target.closest('.header-anchor, a[href^="#"]')) { - scheduleTask(highlightHashElement); - } - }); - isHandlerAttached = true; - } - }, - -} satisfies Theme; \ No newline at end of file diff --git a/pulse/ru/.vitepress/theme/style.css b/pulse/ru/.vitepress/theme/style.css deleted file mode 100644 index 24206812..00000000 --- a/pulse/ru/.vitepress/theme/style.css +++ /dev/null @@ -1,250 +0,0 @@ -:root { - --vp-c-brand-1: #0076c7; - --vp-c-brand-2: #ADD8E6; - --vp-c-indigo-1: #8ec5f6; - --vp-c-indigo-2: #0b94ee; - --vp-c-indigo-3: #0076c7; - --vp-c-indigo-soft: rgba(0, 118, 199, 0.18); - --vp-custom-block-tip-bg: rgba(0, 140, 227, 0.27); - --vp-custom-block-tip-code-bg: rgba(1, 137, 210, 0.19); -} - -:root.dark { - --vp-c-brand-1: #87CEFA; - --vp-c-brand-2: #ADD8E6; - --vp-c-indigo-1: #8ec5f6; - --vp-c-indigo-2: #0b94ee; - --vp-c-indigo-3: #0076c7; - --vp-c-indigo-soft: rgba(0, 118, 199, 0.18); - --vp-c-bg: #1b1b1b; - --vp-c-bg-alt: #222222; - --vp-c-bg-elv: #1b1b1b; - --vp-c-bg-soft: #222222; - --vp-c-gutter: #2e2e32; - --vp-custom-block-info-bg: #222222; - - [bg~="\$vp-nolebase-enhanced-readabilities-menu-background-color"] { - background-color: #222222; - } -} - -.VPButton.medium[data-v-a6f37409] { - border-radius: 8px; -} - -.VPButton.alt[data-v-a6f37409] { - background-color: var(--vp-c-gutter); -} - -.box[data-v-e8895942] { - border-radius: 13px; - border: 1px solid var(--vp-c-divider); -} - -.VPSocialLinks.VPNavBarSocialLinks.social-links { - margin-right: 0; -} - -.vp-code-group .tabs { - box-shadow: none; - border: 1px solid var(--vp-c-divider); -} - -.vp-doc div[class*='language-'], -.vp-block { - border: 1px solid var(--vp-c-divider); -} - -.vp-doc .custom-block { - border: 1px solid var(--vp-c-divider); -} - -.vp-doc table { - display: table; - width: 100%; - border-collapse: separate; - margin: 24px 0; - font-size: 14px; - overflow: hidden; - border-radius: 8px; - line-height: 1.6; - border-spacing: 0; -} - -.vp-doc tr:first-child th:first-child { - border-top-left-radius: 8px; -} - -.vp-doc tr:first-child th:last-child { - border-top-right-radius: 8px; -} - -.vp-doc tr:last-child td:first-child { - border-bottom-left-radius: 8px; -} - -.vp-doc tr:last-child td:last-child { - border-bottom-right-radius: 8px; -} - -.vp-doc th { - background-color: var(--vp-c-bg-soft); - text-align: left; - font-weight: 600; - padding: 12px 16px; - border: 1px solid var(--vp-c-divider); -} - -.vp-doc td { - padding: 12px 16px; - border: 1px solid var(--vp-c-divider); - vertical-align: top; -} - -.vp-doc :not(pre) > code { - background-color: var(--vp-c-bg-alt); -} - -.custom-block.details code, .vp-doc td > code { - background-color: var(--vp-c-gutter); -} - -img { - border-radius: 8px; -} - -div[class*='language-yaml'], -div[class*='language-yml'] { - position: relative; -} - -div[class*='language-yaml'] .line, -div[class*='language-yml'] .line { - position: relative; - display: inline-block; - width: 100%; - z-index: 1; -} - -div[class*='language-yaml'] .line::after, -div[class*='language-yml'] .line::after { - content: ''; - position: absolute; - left: -1.5rem; - right: -1.5rem; - top: 0; - bottom: 0; - background: rgba(66, 185, 131, 0.08); - z-index: -1; - opacity: 0; - transition: opacity 0.15s ease; -} - -div[class*='language-yaml'] .line:hover::after, -div[class*='language-yml'] .line:hover::after { - opacity: 1; -} - -div[class*='language-yaml'] .line::before, -div[class*='language-yml'] .line::before { - content: ''; - position: absolute; - left: -1.5rem; - top: 0; - bottom: 0; - width: 2px; - background: #42b983; - opacity: 0; - transition: opacity 0.15s ease; -} - -div[class*='language-yaml'] .line:hover::before, -div[class*='language-yml'] .line:hover::before { - opacity: 1; -} - -div[class*='language-yaml'] .line > span, -div[class*='language-yml'] .line > span { - display: inline-block; - padding: 0.1rem 0; - white-space: pre; -} - -.dark div[class*='language-yaml'] .line::after, -.dark div[class*='language-yml'] .line::after { - background: rgba(66, 185, 131, 0.15); -} - -.hash-highlight { - position: relative; - overflow: hidden; -} - -.hash-highlight::after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 2px; - background: var(--vp-c-brand-1); - animation: hash-line 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); - transform-origin: left; - opacity: 0.8; -} - -.hash-highlight .header-anchor { - color: var(--vp-c-brand-1) !important; - transition: color 0.3s ease; -} - -.dark .hash-highlight::after { - background: var(--vp-c-brand-2); -} - -.dark .hash-highlight .header-anchor { - color: var(--vp-c-brand-2) !important; -} - -@keyframes hash-line { - 0% { - transform: scaleX(0); - opacity: 0; - } - 40% { - transform: scaleX(1); - opacity: 1; - } - 100% { - transform: scaleX(1); - opacity: 0.8; - } -} - -kbd:not(.DocSearch-Button-Key) { - background-color: #eee !important; - border-radius: 3px; - border: 1px solid #b4b4b4; - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), - 0 2px 0 0 rgba(255, 255, 255, 0.7) inset; - color: #333; - display: inline-block; - font-size: 0.85em; - font-weight: 700; - line-height: 1; - padding: 5px; - white-space: nowrap; -} - -.DocSearch-Button { - background-color: transparent; -} - -.DocSearch-Button-Key { - display: none; -} - -.DocSearch-Button:active, .DocSearch-Button:focus, .DocSearch-Button:hover { - background-color: transparent; - border-color: transparent; -} \ No newline at end of file diff --git a/pulse/ru/api/index.md b/pulse/ru/api/index.md deleted file mode 100644 index f46fc6fc..00000000 --- a/pulse/ru/api/index.md +++ /dev/null @@ -1,142 +0,0 @@ ---- -order: 100 -authors: - - TheFaser ---- - -# API - -FlectonePulse — это мощный плагин для Minecraft, позволяющий настраивать сообщения сервера, чат, команды и интеграции. Поддерживает платформы Bukkit, Spigot, Paper, Purpur, Folia, BungeeCord, Velocity и Fabric. Использует Google Guice для внедрения зависимостей, при этом большинство классов (кроме моделей) помечены аннотацией `@Singleton` - -## Подключение зависимости - -FlectonePulse доступен в Maven Central. Ниже приведены конфигурации для подключения в проекте через Maven, Gradle (Groovy) или Gradle (Kotlin DSL) - -::: code-group - -```xml - - net.flectone.pulse - core - 1.7.3 - provided - -``` - -```groovy -repositories { - mavenCentral() -} - -dependencies { - compileOnly 'net.flectone.pulse:core:1.7.3' // Замените на актуальную версию -} -``` - -```kotlin -repositories { - mavenCentral() -} - -dependencies { - compileOnly("net.flectone.pulse:core:1.7.3") // Замените на актуальную версию -} -``` - -::: - -Для snapshot-версий: - -::: code-group - -```xml - - net.flectone.pulse - core - 1.7.4-SNAPSHOT - provided - -``` - -```groovy -repositories { - maven { url 'https://central.sonatype.com/repository/maven-snapshots/' } -} - -dependencies { - compileOnly 'net.flectone.pulse:core:1.7.4-SNAPSHOT' // Замените на актуальную версию -} -``` - -```kotlin -repositories { - maven { url = uri("https://central.sonatype.com/repository/maven-snapshots/") } -} - -dependencies { - compileOnly("net.flectone.pulse:core:1.7.4-SNAPSHOT") // Замените на актуальную версию -} -``` - -::: - -## Пример для Bukkit - -Пример плагина для Bukkit, использующего FlectonePulse для вывода сообщения "Hello from FlectonePulse" - -### plugin.yml -```yaml -name: MyPlugin -version: 1.0.0 -main: com.example.myplugin.MyPlugin -api-version: 1.13 -softdepend: - - FlectonePulse -``` - -### Пример кода плагина -```java -package com.example.myplugin; - -import net.flectone.pulse.FlectonePulse; -import net.flectone.pulse.FlectonePulseAPI; -import net.flectone.pulse.util.logging.FLogger; -import org.bukkit.Bukkit; -import org.bukkit.plugin.java.JavaPlugin; - -public class MyPlugin extends JavaPlugin { - - @Override - public void onEnable() { - if (Bukkit.getPluginManager().getPlugin("FlectonePulse") != null) { - FlectonePulse flectonePulse = FlectonePulseAPI.getInstance(); - - FLogger fLogger = flectonePulse.get(FLogger.class); - fLogger.info("Hello from FlectonePulse"); - } - } -} -``` - -## Ключевые методы API - -```java -FlectonePulse flectonePulse = FlectonePulseAPI.getInstance(); - -// Получение singleton-экземпляр указанного класса через внедрение зависимостей Guice -// Class clazz = ... -// flectonePulse.get(clazz); -FLogger fLogger = flectonePulse.get(FLogger.class); - -// Проверка, готов ли инжектор к работе -flectonePulse.isReady(); - -// Перезагружает плагин, выбрасывая `ReloadException` при ошибках -flectonePulse.reload(); -``` - -## Примечания - -- Убедитесь, что FlectonePulse установлен на сервере и указан как softdepend в `plugin.yml` -- Используйте `isReady()`, чтобы проверить готовность инжектора перед вызовом `get()` -- Для регистрации слушателей, используйте `ListenerRegistry.class` и метод `registerPermanent()` \ No newline at end of file diff --git a/pulse/ru/docs/command/afk/index.md b/pulse/ru/docs/command/afk/index.md deleted file mode 100644 index 1e6d2b78..00000000 --- a/pulse/ru/docs/command/afk/index.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/afk` - -Комманда для смены режима AFK -![afk](/afkglobalmessage.png) - -::: danger ВНИМАТЕЛЬНО -Комманда не будет работать, если модуль [`AFK`](/docs/message/afk/) выключен -::: - -[//]: # (command.yml) - - `command.yml → afk` - -<<< @/files/command.yml#afk - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.afk` - -<<< @/files/permission.yml#afk - - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/anon/index.md b/pulse/ru/docs/command/anon/index.md deleted file mode 100644 index 9feae23f..00000000 --- a/pulse/ru/docs/command/anon/index.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/anon` - -Комманда для анонимного сообщения -![command anon](/commandanon.png) - -[//]: # (localization) - - `localizations → язык.yml → command.anon` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#anon -<<< @/files/localizations/en_us.yml#anon -::: - -### `format` - -Формат сообщения, которое будет отправлено - -[//]: # (command.yml) - - `command.yml → anon` - - -<<< @/files/command.yml#anon - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.anon` - - -<<< @/files/permission.yml#anon - - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/ball/index.md b/pulse/ru/docs/command/ball/index.md deleted file mode 100644 index 1aea766e..00000000 --- a/pulse/ru/docs/command/ball/index.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/ball` - -Комманда для того, чтобы задать вопрос Магическому Шару -![command ball](/commandball.png) - -[//]: # (localization) - - `localizations → язык.yml → command.ball` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#ball -<<< @/files/localizations/en_us.yml#ball -::: - -### `format` - -Формат сообщения, которое будет отправлено - -### `answers` - -Список возможных ответов - -[//]: # (command.yml) - - `command.yml → ball` - -<<< @/files/command.yml#ball - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.ball` - -<<< @/files/permission.yml#ball - - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/ban/index.md b/pulse/ru/docs/command/ban/index.md deleted file mode 100644 index 51b80eed..00000000 --- a/pulse/ru/docs/command/ban/index.md +++ /dev/null @@ -1,113 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/ban` - -Комманда для того, чтобы заблокировать игрока -![command ban](/commandban.png) - -[//]: # (localization) - - `localizations → язык.yml → command.ban` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#ban -<<< @/files/localizations/en_us.yml#ban -::: - -### `null_player` - -Сообщение, если введённый игрок не найден - -### `null_time` - -Сообщение, если введено невозможное время - -### `lower_weight_group` - -Сообщение, если комманда исполняется от игрока с группой ниже, чем у игрока на которого применяется модерация - -### `reasons` - -Список с ключами и значениями, где ключом является слово, а значением конкретная причина - -::: info Можно вписывать свои причины, например -```yaml -random_kek: "Random reason" -``` -Тогда если я напишу `/ban player 1d random_kek`, то причиной будет `Random reason` - -Если причина не указана, будет использоваться `default` -::: - -### `server` - -Сообщение для всех - -### `person` - -Сообщение для игрока - -### `connection_attempt` - -Сообщение, если заблокированный игрок пытался подключиться - -[//]: # (command.yml) - - `command.yml → ban` - -<<< @/files/command.yml#ban - - - - -### `check_group_weight` - -Будут ли проверяться группы игроков. Если игрок, на которого применяется модерация, имеет роль выше, чем отправитель комманды, то комманда не выполнится и будет ошибка `lower_weight_group` - -### `show_connection_attempts` - -Если включено, то будет показывать сообщение, что заблокированный игрок пытался подключиться -![command ban connect](/commandbanconnect.png) - - - -### `time_limits` - -Лимиты по времени в зависимости от группы отправителя. Ключом является вес группы, а значением - максимальное количество времени модерации в милисекундах (`1` секунда = `1000` милисекунд) - -::: info ПРИМЕР - -```yaml - time_limits: - 20: 35000 - 50: 100000 -``` - -- Если игрок имеет вес группы `10`, команда НЕ будет выполнена -- Если игрок имеет вес группы `20`, максимальное количество времени будет `35000` -- Если игрок имеет вес группы `40`, максимальное количество времени также будет `35000` -- Если игрок имеет вес группы `50` и выше, то будет `100000` - -Для безграничного времени нужно использовать значение `-1` - -::: - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.ban` - -<<< @/files/permission.yml#ban - - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/banlist/index.md b/pulse/ru/docs/command/banlist/index.md deleted file mode 100644 index bab8e9c6..00000000 --- a/pulse/ru/docs/command/banlist/index.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/banlist` - -Комманда для того, чтобы посмотреть список блокировок -![command banlist](/commandbanlist.png) - -[//]: # (localization) - - `localizations → язык.yml → command.banlist` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#banlist -<<< @/files/localizations/en_us.yml#banlist -::: - -### `empty` - -Сообщение, если список заблокированных игроков пуст - -### `null_page` - -Сообщение, если введённая страница не существует - -### `null_player` - -Сообщение, если введённый игрок не найден - -### `global` - -::: details Сообщения для глобальных блокировок - -#### `header` - -Верхняя часть сообщения списка - -#### `line` - -Формат каждого бана из списка - -#### `footer` - -Нижняя часть сообщения списка -::: - -### `player` - -::: details Сообщения для блокировок игрока - -#### `header` - -Верхняя часть сообщения списка - -#### `line` - -Формат каждого бана из списка - -#### `footer` - -Нижняя часть сообщения списка -::: - -[//]: # (command.yml) - - `command.yml → banlist` - -<<< @/files/command.yml#banlist - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.banlist` - -<<< @/files/permission.yml#banlist - - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/broadcast/index.md b/pulse/ru/docs/command/broadcast/index.md deleted file mode 100644 index 28692d70..00000000 --- a/pulse/ru/docs/command/broadcast/index.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/broadcast` - -Комманда для глобального оповещения -![command broadcast](/commandbroadcast.png) - -[//]: # (localization) - - `localizations → язык.yml → command.broadcast` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#broadcast -<<< @/files/localizations/en_us.yml#broadcast -::: - -### `format` - -Формат сообщения, которое будет отправлено - -[//]: # (command.yml) - - `command.yml → broadcast` - - -<<< @/files/command.yml#broadcast - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.broadcast` - - -<<< @/files/permission.yml#broadcast - - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/chatcolor/index.md b/pulse/ru/docs/command/chatcolor/index.md deleted file mode 100644 index ef494ba3..00000000 --- a/pulse/ru/docs/command/chatcolor/index.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/chatcolor` - -Комманда для смены [цветов](/docs/message/format/fcolor/) -![command chatcolor](/commandchatcolor.png) - - - -::: info ИНФОРМАЦИЯ - -Можно пропускать цвета с помощью `null`, чтобы их не заменять. Например `/chatcolor see null null ` заменит только `` и ``, а первые два нет - -Если есть пермишен `other`, то можно изменять цвета других игроков, дописывая их ник в конце команды, например `/chatcolor see null TheFaser`. Нужно указывать все цвета и только после этого ник игрока, но вы можете пропускать цвета, как об этом написано выше - -::: - -[//]: # (localization) - - `localizations → язык.yml → command.chatcolor` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#chatcolor -<<< @/files/localizations/en_us.yml#chatcolor -::: - -### `null_player` - -Сообщение, если введённый игрок не найден - -### `null_color` - -Сообщение, если неправильно введены цвета - -### `null_type` - -Сообщение, если неправильно введён тип - -### `format` - -Формат сообщения, которое будет отправлено - -[//]: # (command.yml) - - `command.yml → chatcolor` - - -<<< @/files/command.yml#chatcolor - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.chatcolor` - - -<<< @/files/permission.yml#chatcolor - - - - - - -### `colors` - -Список прав для изменения конкретных видов цветов: `SEE` или `OUT` \ No newline at end of file diff --git a/pulse/ru/docs/command/clearchat/index.md b/pulse/ru/docs/command/clearchat/index.md deleted file mode 100644 index a3ae8d4a..00000000 --- a/pulse/ru/docs/command/clearchat/index.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/clearchat` - -Комманда для очищения чата -![command clearchat](/commandclearchat.png) - -[//]: # (localization) - - `localizations → язык.yml → command.clearchat` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#clearchat -<<< @/files/localizations/en_us.yml#clearchat -::: - -### `null_player` - -Сообщение, если введённый игрок не найден - -### `format` - -Сообщение после очищения чата - -[//]: # (command.yml) - - `command.yml → clearchat` - - -<<< @/files/command.yml#clearchat - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.clearchat` - - -<<< @/files/permission.yml#clearchat - - - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/clearmail/index.md b/pulse/ru/docs/command/clearmail/index.md deleted file mode 100644 index acb56635..00000000 --- a/pulse/ru/docs/command/clearmail/index.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/clearmail` - -Комманда для удаления отправленных [писем](/docs/command/mail/) -![command clearmail](/commandclearmail.png) - -[//]: # (localization) - - `localizations → язык.yml → command.clearmail` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#clearmail -<<< @/files/localizations/en_us.yml#clearmail -::: - -### `null_mail` - -Сообщение, если введённое письмо не найдено - -### `format` - -Формат сообщения, которое будет отправлено - -[//]: # (command.yml) - - `command.yml → clearmail` - - -<<< @/files/command.yml#clearmail - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.clearmail` - - -<<< @/files/permission.yml#clearmail - - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/coin/index.md b/pulse/ru/docs/command/coin/index.md deleted file mode 100644 index db0ef4c0..00000000 --- a/pulse/ru/docs/command/coin/index.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/coin` - -Комманда для подбрасывания монетки -![command coin](/commandcoin.png) - -[//]: # (localization) - - `localizations → язык.yml → command.coin` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#coin -<<< @/files/localizations/en_us.yml#coin -::: - -### `head` - -Название стороны монетки - -### `tail` - -Название другой стороны монетки - -### `format` - -Формат сообщения, которое будет отправлено - -### `format_draw` - -Сообщение, если монетка упала на ребро - -[//]: # (command.yml) - - `command.yml → coin` - - -<<< @/files/command.yml#coin - - - -### `draw` - -Включает шанс (`1%`) выпадения монетки на ребро - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.coin` - - -<<< @/files/permission.yml#coin - - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/deletemessage/index.md b/pulse/ru/docs/command/deletemessage/index.md deleted file mode 100644 index 3d203b91..00000000 --- a/pulse/ru/docs/command/deletemessage/index.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/deletemessage` - -Комманда для удаления сообщения в чате, используется автоматически при наведении на значок с удалением -![command deletemessage](/commanddeletemessage.png) - -::: warning ПРЕДУПРЕЖДЕНИЕ - -Команда будет бесполезной, если выключен основной модуль [`Delete`](/docs/message/format/moderation/delete/) - -::: - -[//]: # (localization) - - `localizations → язык.yml → command.deletemessage` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#deletemessage -<<< @/files/localizations/en_us.yml#deletemessage -::: - -### `null_message` - -Сообщение, если при удалении сообщения не существует - -### `format` - -Формат сообщения, которое будет отправлено - -[//]: # (command.yml) - - `command.yml → deletemessage` - - -<<< @/files/command.yml#deletemessage - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.deletemessage` - - -<<< @/files/permission.yml#deletemessage - - - - diff --git a/pulse/ru/docs/command/dice/index.md b/pulse/ru/docs/command/dice/index.md deleted file mode 100644 index 36ec6aec..00000000 --- a/pulse/ru/docs/command/dice/index.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/dice` - -Комманда для броска кубиков на удачу -![command dice](/commanddice.png) - -[//]: # (localization) - - `localizations → язык.yml → command.dice` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#dice -<<< @/files/localizations/en_us.yml#dice -::: - -### `symbols` - -Список индексов (выпавшее число) и символов (кубики) - -### `format` - -Формат сообщения, которое будет отправлено - -[//]: # (command.yml) - - `command.yml → dice` - - -<<< @/files/command.yml#dice - - - - -### `min` - -Минимальное количество кубиков - -### `max` - -Максимальное количество кубиков - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.dice` - - -<<< @/files/permission.yml#dice - - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/do/index.md b/pulse/ru/docs/command/do/index.md deleted file mode 100644 index 622f7715..00000000 --- a/pulse/ru/docs/command/do/index.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/do` - -Комманда для РП выполнения действия -![command do](/commanddo.png) - -[//]: # (localization) - - `localizations → язык.yml → command.do` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#do -<<< @/files/localizations/en_us.yml#do -::: - -### `format` - -Формат сообщения, которое будет отправлено - -[//]: # (command.yml) - - `command.yml → do` - - -<<< @/files/command.yml#do - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.do` - - -<<< @/files/permission.yml#do - - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/flectonepulse/index.md b/pulse/ru/docs/command/flectonepulse/index.md deleted file mode 100644 index ed05b552..00000000 --- a/pulse/ru/docs/command/flectonepulse/index.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/flectonepulse` - -Главная комманда плагина `FlectonePulse` -![command flectonepulse](/commandflectonepulse.png) - -::: warning ПРЕДУПРЕЖДЕНИЕ - -На старых версиях (1.9 и 1.10 точно) было замечено, что игроков при перезагрузки может кикать с сервера, но на работу плагина это не влияет - -::: - -[//]: # (localization) - - `localizations → язык.yml → command.flectonepulse` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#flectonepulse -<<< @/files/localizations/en_us.yml#flectonepulse -::: - -### `null_host_editor` - -Сообщение, когда поле `host` в config.yml пустое - -### `null_port_editor` - -Сообщение, когда `port`, который указан в config.yml, занят или недоступен - -### `format_false` - -Сообщение при возникновении ошибки - -### `format_true` - -Формат сообщения, которое будет отправлено при перезагрузке всего `FlectonePulse` - -### `format_web_starting` - -Формат сообщения, которое будет отправлено при старте веб-сервера - -### `format_editor` - -Формат сообщения, которое будет отправлено при успешном запуске веб-сервера - -[//]: # (command.yml) - - `command.yml → flectonepulse` - - -<<< @/files/command.yml#flectonepulse - - - -### `execute_in_main_thread` - -Будет ли выполняться вся перезагрузка в главном потоке сервера - -::: info ИНФОРМАЦИЯ - -Это может решить проблемы на `Bukkit`, `Spigot`, `Mohist` или других старых/нестандартных ядрах при перезагрузке - -::: - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.flectonepulse` - - -<<< @/files/permission.yml#flectonepulse - - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/geolocate/index.md b/pulse/ru/docs/command/geolocate/index.md deleted file mode 100644 index cf0faabd..00000000 --- a/pulse/ru/docs/command/geolocate/index.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/geolocate` - -Комманда для отслеживания IP-адреса и получения информации об игроке -![command geolocate](/commandgeolocate.png) - -[//]: # (localization) - - `localizations → язык.yml → command.geolocate` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#geolocate -<<< @/files/localizations/en_us.yml#geolocate -::: - -### `null_player` - -Сообщение, если введённый игрок не найден - -### `null_or_error` - -Сообщение, если произошла ошибка при получении информации - -### `format` - -Формат сообщения, которое будет отправлено - -[//]: # (command.yml) - - `command.yml → geolocate` - - -<<< @/files/command.yml#geolocate - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.geolocate` - - -<<< @/files/permission.yml#geolocate - - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/helper/index.md b/pulse/ru/docs/command/helper/index.md deleted file mode 100644 index 4b41028f..00000000 --- a/pulse/ru/docs/command/helper/index.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/helper` - -Комманда для того, чтобы попросить помощь -![command helper](/commandhelper.png) - -От лица помощника -![command helper player](/commandhelperadmin.png) - -[//]: # (localization) - - `localizations → язык.yml → command.helper` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#helper -<<< @/files/localizations/en_us.yml#helper -::: - -### `null_helper` - -Сообщение, если на сервере нет людей, которые смогут помочь - -### `global` - -Сообщение для тех, кто должен помочь - -### `player` - -Сообщение для игрока - -[//]: # (command.yml) - - `command.yml → helper` - - -<<< @/files/command.yml#helper - - - -### `null_helper` - -Будет ли проверяться, что на сервере нет людей, способные ответить на запрос - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.helper` - - -<<< @/files/permission.yml#helper - - - -### `see` - -Право для просмотра запросов о помощи - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/ignore/index.md b/pulse/ru/docs/command/ignore/index.md deleted file mode 100644 index d9473136..00000000 --- a/pulse/ru/docs/command/ignore/index.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/ignore` - -Комманда для игнорирования всех сообщений от игрока -![command ignore](/commandignore.png) - -Убирается игнорирование с помощью повторного использования -![command unignore](/commandunignore.png) - -[//]: # (localization) - - `localizations → язык.yml → command.ignore` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#ignore -<<< @/files/localizations/en_us.yml#ignore -::: - -### `null_player` - -Сообщение, если введённый игрок не найден - -### `myself` - -Сообщение, если игрок пытается игнорировать самого себя - -### `he` - -Сообщение, если получатель игнорирует отправителя - -### `you` - -Сообщение, если отправитель игнорирует получателя - -### `format_true` - -Сообщение при успешном игнорировании - -### `format_false` - -Сообщение при снятии игнорирования - -[//]: # (command.yml) - - `command.yml → ignore` - - -<<< @/files/command.yml#ignore - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.ignore` - - -<<< @/files/permission.yml#ignore - - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/ignorelist/index.md b/pulse/ru/docs/command/ignorelist/index.md deleted file mode 100644 index 96f90f6b..00000000 --- a/pulse/ru/docs/command/ignorelist/index.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/ignorelist` - -Комманда для того, чтобы посмотреть список своих игнорирований -![command ignorelist](/commandignorelist.png) - -[//]: # (localization) - - `localizations → язык.yml → command.ignorelist` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#ignorelist -<<< @/files/localizations/en_us.yml#ignorelist -::: - -### `empty` - -Сообщение, если список игнорируемых игроков пуст - -### `null_page` - -Сообщение, если введённая страница не существует - -### `header` - -Верхняя часть сообщения списка - -### `line` - -Формат каждого игнорирования из списка - -### `footer` - -Нижняя часть сообщения списка - -[//]: # (command.yml) - - `command.yml → ignorelist` - - -<<< @/files/command.yml#ignorelist - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.ignorelist` - - -<<< @/files/permission.yml#ignorelist - - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/index.md b/pulse/ru/docs/command/index.md deleted file mode 100644 index 782df392..00000000 --- a/pulse/ru/docs/command/index.md +++ /dev/null @@ -1,158 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Комманды - -Категория, отвечающая за настройку всех комманд - -[//]: # (localization) - - `localizations → язык.yml → command` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#command -<<< @/files/localizations/en_us.yml#command -::: - -### `exception` - -::: details Сообщения при неправильном использовании команды - -#### `execution` - -Сообщение, если во время выполнении команды произошла ошибка - -#### `parse_unknown` - -Сообщение, если введён неизвестный аргумент - -#### `parse_boolean` - -Сообщение, если ожидался аргумент `boolean` - -#### `parse_number` - -Сообщение, если ожидался аргумент `number` - -#### `parse_string` - -Сообщение, если ожидался аргумент `string` - -#### `permission` - -Сообщение, если у игрока нет прав для этой комманды - -#### `syntax` - -Сообщение, если введена неполная комманда -![command syntax](/commandsyntax.png) - -::: - -### `prompt` - -::: details Форматирование подсказок - -#### `message` - -Подсказка для комманд, в которых вводится сообщение - -#### `hard` - -Подсказка для комманд, в которых спрашивается про сложность - -#### `accept` - -Подсказка для комманд, в которых что-то принимается или отклоняется - -#### `turn` - -Подсказка для комманд, в которых что-то включается или выключается - -#### `type` - -Подсказка для комманд, в которые вводится тип - -#### `reason` - -Подсказка для комманд, в которых вводится причина - -#### `category` - -Подсказка для комманд, в которых выбирается категория - -#### `id` - -Подсказка для комманд, в которых вводится айди - -#### `time` - -Подсказка для комманд, в которых вводится время - -#### `repeat_time` - -Подсказка для комманд, в которых вводится время для повторения - -#### `multiple_vote` - -Подсказка для комманд, в которых спрашивается про мульти голосование - -#### `player` - -Подсказка для комманд, в которых вводится игрок - -#### `number` - -Подсказка для комманд, в которых вводится число - -#### `color` - -Подсказка для комманд, в которых вводится цвет - -#### `language` - -Подсказка для комманд, в которых вводится язык - -#### `url` - -Подсказка для комманд, в которых вводится ссылка - -#### `move` - -Подсказка для комманд, в которых выбирается ход - -#### `value` - -Подсказка для комманд, в которых выбирает значение -::: - -[//]: # (command.yml) - - `command.yml` - - -<<< @/files/command.yml#command - - - -### `suggest_invisible_players` - -Если включено, то всем игрокам будут показываться все другие игроки. Но если выключено, то игроку нужно отдельное право, чтобы видеть других игроков под зельем невидимости в коммандах - -[//]: # (permission.yml) - - `permission.yml → command` - - -<<< @/files/permission.yml#command - - - -### `see_invisible_players_in_suggest` - -Право для того, чтобы видеть игроков под зельем невидимости в подсказках комманд - diff --git a/pulse/ru/docs/command/kick/index.md b/pulse/ru/docs/command/kick/index.md deleted file mode 100644 index dbcf2066..00000000 --- a/pulse/ru/docs/command/kick/index.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/kick` - -Комманда для исключения игрока с сервера -![command kick](/commandkick.png) - -[//]: # (localization) - - `localizations → язык.yml → command.kick` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#kick -<<< @/files/localizations/en_us.yml#kick -::: - -### `null_player` - -Сообщение, если введённый игрок не найден - -### `reasons` - -Список с ключами и значениями, где ключом является слово, а значением конкретная причина - -::: info Можно вписывать свои причины, например -```yaml -random_kek: "Random reason" -``` -Тогда если я напишу `/kick player random_kek`, то причиной будет `Random reason` - -Если причина не указана, будет использоваться `default` - -::: - -### `server` - -Сообщение для всех - -### `person` - -Сообщение для игрока - -[//]: # (command.yml) - - `command.yml → kick` - - -<<< @/files/command.yml#kick - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.kick` - - -<<< @/files/permission.yml#kick - - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/mail/index.md b/pulse/ru/docs/command/mail/index.md deleted file mode 100644 index bc27af15..00000000 --- a/pulse/ru/docs/command/mail/index.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/mail` - -Комманда для того, чтобы написать оффлайн игроку письмо -![command mail](/commandmail.png) - -Когда игрок, которому написали письмо, зайдёт на сервер, он увидит это -![command mail player](/commandmailplayer.png) - -Если игрок уже на сервере и модуль [Tell](/docs/command/tell/) включен, то он будет использован -![command tell](/commandtell.png) - -[//]: # (localization) - - `localizations → язык.yml → command.mail` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#mail -<<< @/files/localizations/en_us.yml#mail -::: - -### `null_player` - -Сообщение, если введённый игрок не найден - -### `sender` - -Сообщение для отправителя - -### `receiver` - -Сообщение для получателя - -[//]: # (command.yml) - - `command.yml → mail` - - -<<< @/files/command.yml#mail - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.mail` - - -<<< @/files/permission.yml#mail - - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/maintenance/index.md b/pulse/ru/docs/command/maintenance/index.md deleted file mode 100644 index 28eb845d..00000000 --- a/pulse/ru/docs/command/maintenance/index.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/maintenance` - -Комманда для включения технических работ -![command maintenance](/commandmaintenance.png) -![command maintenance server](/commandmaintenanceserver.png) - -[//]: # (localization) - - `localizations → язык.yml → command.maintenance` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#maintenance -<<< @/files/localizations/en_us.yml#maintenance -::: - -### `server_description` - -Сообщения при просмотре сервера, если включены технические работы - -### `server_version` - -Название версии сервера, если включены технические работы - -### `kick` - -Причина исключения с сервера при включении технических работ - -### `format_true` - -Сообщение при включении технических работ - -### `format_false` - -Сообщение при отключении технических работ - -[//]: # (command.yml) - - `command.yml → maintenance` - - -<<< @/files/command.yml#maintenance - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.maintenance` - - -<<< @/files/permission.yml#maintenance - - - -### `join` - -Право для подключения к серверу во время технических работ - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/me/index.md b/pulse/ru/docs/command/me/index.md deleted file mode 100644 index ea06be9e..00000000 --- a/pulse/ru/docs/command/me/index.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/me` - -Комманда для отображения действия -![command me](/commandme.png) - -[//]: # (localization) - - `localizations → язык.yml → command.me` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#me -<<< @/files/localizations/en_us.yml#me -::: - -### `format` - -Формат сообщения, которое будет отправлено - -[//]: # (command.yml) - - `command.yml → me` - - -<<< @/files/command.yml#me - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.me` - - -<<< @/files/permission.yml#me - - - - \ No newline at end of file diff --git a/pulse/ru/docs/command/mutelist/index.md b/pulse/ru/docs/command/mutelist/index.md deleted file mode 100644 index 273156ba..00000000 --- a/pulse/ru/docs/command/mutelist/index.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/mutelist` - -Комманда для того, чтобы посмотреть список мутов -![command mutelist](/commandmutelist.png) - -[//]: # (localization) - - `localizations → язык.yml → command.mutelist` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#mutelist -<<< @/files/localizations/en_us.yml#mutelist -::: - -### `empty` - -Сообщение, если список игроков с мутами пуст - -### `null_page` - -Сообщение, если введённая страница не существует - -### `null_player` - -Сообщение, если введённый игрок не найден - -### `global` - -::: details Сообщения для глобальных мутов - -#### `header` - -Верхняя часть сообщения списка - -#### `line` - -Формат каждого мута из списка - -#### `footer` - -Нижняя часть сообщения списка -::: - -### `player` - -::: details Сообщения для мутов игрока - -#### `header` - -Верхняя часть сообщения списка - -#### `line` - -Формат каждого мута из списка - -#### `footer` - -Нижняя часть сообщения списка -::: - -[//]: # (command.yml) - - `command.yml → mutelist` - - -<<< @/files/command.yml#mutelist - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.mutelist` - - -<<< @/files/permission.yml#mutelist - - - - - diff --git a/pulse/ru/docs/command/online/index.md b/pulse/ru/docs/command/online/index.md deleted file mode 100644 index ff58da6e..00000000 --- a/pulse/ru/docs/command/online/index.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/online` - -Комманда для того, чтобы узнать информацию об онлайне игрока -![command online](/commandonline.png) - -[//]: # (localization) - - `localizations → язык.yml → command.online` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#online -<<< @/files/localizations/en_us.yml#online -::: - -### `null_player` - -Сообщение, если введённый игрок не найден - -### `format_current` - -Сообщение, если введённый игрок на сервере - -### `format_first` - -Формат сообщения `/online first`, которое будет отправлено - -### `format_last` - -Формат сообщения `/online last`, которое будет отправлено - -### `format_total` - -Формат сообщения `/online total`, которое будет отправлено - -[//]: # (command.yml) - - `command.yml → online` - - -<<< @/files/command.yml#online - - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.online` - - -<<< @/files/permission.yml#online - - - - - diff --git a/pulse/ru/docs/command/ping/index.md b/pulse/ru/docs/command/ping/index.md deleted file mode 100644 index 4c93951a..00000000 --- a/pulse/ru/docs/command/ping/index.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/ping` - -Комманда для того, чтобы узнать информацию об задержке игрока -![command ping](/commandping.png) - -[//]: # (localization) - - `localizations → язык.yml → command.ping` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#ping -<<< @/files/localizations/en_us.yml#ping -::: - -### `null_player` - -Сообщение, если введённый игрок не найден - -### `format` - -Формат сообщения, которое будет отправлено - -[//]: # (command.yml) - - `command.yml → ping` - - -<<< @/files/command.yml#ping - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.ping` - - -<<< @/files/permission.yml#ping - - - - - diff --git a/pulse/ru/docs/command/reply/index.md b/pulse/ru/docs/command/reply/index.md deleted file mode 100644 index 5ddba144..00000000 --- a/pulse/ru/docs/command/reply/index.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/reply` - -Комманда для того, чтобы написать личное сообщение последнему написавшему игроку -![command reply](/commandreply.png) - -::: danger ВНИМАТЕЛЬНО -Комманда не будет работать, если модуль [`Tell`](/docs/command/tell/) выключен -::: - -[//]: # (localization) - - `localizations → язык.yml → command.reply` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#reply -<<< @/files/localizations/en_us.yml#reply -::: - -### `null_receiver` - -Сообщение, если получатель не найден - -[//]: # (command.yml) - - `command.yml → reply` - - -<<< @/files/command.yml#reply - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.reply` - - -<<< @/files/permission.yml#reply - - - - - diff --git a/pulse/ru/docs/command/rockpaperscissors/index.md b/pulse/ru/docs/command/rockpaperscissors/index.md deleted file mode 100644 index 54f1222d..00000000 --- a/pulse/ru/docs/command/rockpaperscissors/index.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/rockpaperscissors` - -Комманда для того, чтобы предложить поиграть в камень-ножницы-бумага -![command rockpaperscissors](/commandrockpaperscissors.png) - -[//]: # (localization) - - `localizations → язык.yml → command.rockpaperscissors` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#rockpaperscissors -<<< @/files/localizations/en_us.yml#rockpaperscissors -::: - -### `null_player` - -Сообщение, если введённый игрок не найден - -### `null_game` - -Сообщение, если игры не существует - -### `wrong_move` - -Сообщение при невозможном ходе - -### `already` - -Сообщение, если игрок уже сделал ход - -### `myself` - -Сообщение, если игрок решил поиграть с самим собой - -### `sender` - -Сообщение для отправителя - -### `receiver` - -Сообщение для получателя - -### `format_move` - -Сообщение при ходе - -### `format_win` - -Сообщение при победе - -### `forma_draw` - -Сообщение при ничье - -### `strategies` - -Список стратегий и их названий - -[//]: # (command.yml) - - `command.yml → rockpaperscissors` - - -<<< @/files/command.yml#rockpaperscissors - - - - -### `strategy` - -Стратегии, где `ключом` является тот, кто побеждает `значение` - -::: info Например я хочу, чтобы `ножницы` побеждали `paper` -Значит я должен написать -```yaml -scissors: - - "paper" -``` - -Значений может быть несколько т.е. -```yaml -scissors: - - "paper" - - "newitem" -``` - -Можно сделать свои ключи и значения -```yaml -customvalue: - - "customobject" -``` -::: - - - - -[//]: # (permission.yml) - - `permission.yml → command.rockpaperscissors` - - -<<< @/files/permission.yml#rockpaperscissors - - - - - diff --git a/pulse/ru/docs/command/spy/index.md b/pulse/ru/docs/command/spy/index.md deleted file mode 100644 index ade291b0..00000000 --- a/pulse/ru/docs/command/spy/index.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/spy` - -Комманда для отслеживания за действиями игроков -![command spy](/commandspy.gif) - -[//]: # (localization) - - `localizations → язык.yml → command.spy` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#spy -<<< @/files/localizations/en_us.yml#spy -::: - -### `format_true` - -Сообщение при включении слежки - -### `format_false` - -Сообщение при выключении слежки - -### `format_log` - -Формат сообщения, которое будет отправлено при слежке за действием - -[//]: # (command.yml) - - `command.yml → spy` - - -<<< @/files/command.yml#spy - - - - - - -### `categories` - -Список категорий с действиями, за которыми происходит слежка - - - - -[//]: # (permission.yml) - - `permission.yml → command.spy` - - -<<< @/files/permission.yml#spy - - - - - diff --git a/pulse/ru/docs/command/stream/index.md b/pulse/ru/docs/command/stream/index.md deleted file mode 100644 index ed05d1f2..00000000 --- a/pulse/ru/docs/command/stream/index.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/stream` - -Комманда для оповещения о запуске трансляции -![command stream](/commandstream.png) - -Если игрок имеет право на комманду, то ему выдаётся префикс при включении/выключении -![command stream prefix](/commandstreamprefix.png) - -[//]: # (localization) - - `localizations → язык.yml → command.stream` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#stream -<<< @/files/localizations/en_us.yml#stream -::: - -### `already` - -Сообщение, если игрок, который ведёт трансляцию, пытается запустить ещё одну трансляцию - -### `not` - -Сообщение, если игрок, который не ведёт трансляцию, пытается закончить трансляцию - -### `prefix_true` - -Префикс игрока, который в данный момент ведёт трансляцию - -### `prefix_false` - -Префикс игрока, который имеет право вести трансляцию, но в данный момент не ведёт её - -### `url_tag` - -Формат каждой ссылки в оповещении - -### `format_start` - -Оповещение о начале трансляции - -### `format_end` - -Сообщение, если игрок закончил трансляцию - -[//]: # (command.yml) - - `command.yml → stream` - - -<<< @/files/command.yml#stream - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.stream` - - -<<< @/files/permission.yml#stream - - - - - diff --git a/pulse/ru/docs/command/symbol/index.md b/pulse/ru/docs/command/symbol/index.md deleted file mode 100644 index 68a0b821..00000000 --- a/pulse/ru/docs/command/symbol/index.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/symbol` - -Комманда для поиска unicode символа -![symbol](/commandsymbol.png) - -Огромное спасибо @replaceitem за право использования [списками](https://github.com/replaceitem/symbol-chat) символов - -[//]: # (localization) - - `localizations → язык.yml → command.symbol` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#symbol -<<< @/files/localizations/en_us.yml#symbol -::: - -### `null_category` - -Сообщение, если введённая категория не существует - -### `null_page` - -Сообщение, если введённая страница не существует - -### `header` - -Верхняя часть сообщения списка - -### `line_element` - -Формат для каждого компонента, они будут добавляться друг за другом - -#### `footer` - -Нижняя часть сообщения списка - -[//]: # (command.yml) - - `command.yml → symbol` - - -<<< @/files/command.yml#symbol - - - - - -### `categories` - -Список категорий и символов разделённых пробелами - -::: info ЧТО МОЖНО С ЭТИМ ДЕЛАТЬ? -1. Добавлять свои символы к уже текущим через пробел -2. Переименовывать категории или добавлять свои -::: - - - - -[//]: # (permission.yml) - - `permission.yml → command.symbol` - - -<<< @/files/permission.yml#symbol - - - - - diff --git a/pulse/ru/docs/command/tell/index.md b/pulse/ru/docs/command/tell/index.md deleted file mode 100644 index bd074311..00000000 --- a/pulse/ru/docs/command/tell/index.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/tell` - -Комманда для того, чтобы написать личное сообщение игроку -![command tell](/commandtell.png) - -Можно использовать для заметок, если вписать свой же ник -![command tell myself](/commandtellmyself.png) - -[//]: # (localization) - - `localizations → язык.yml → command.tell` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#tell -<<< @/files/localizations/en_us.yml#tell -::: - -### `null_player` - -Сообщение, если введённый игрок не найден - -### `sender` - -Сообщение для отправителя - -### `receiver` - -Сообщение для получателя - -### `myself` - -Сообщение для отправителя, если он и есть получатель т.е. для себя - -[//]: # (command.yml) - - `command.yml → tell` - - -<<< @/files/command.yml#tell - - - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.tell` - - -<<< @/files/permission.yml#tell - - - - - diff --git a/pulse/ru/docs/command/toponline/index.md b/pulse/ru/docs/command/toponline/index.md deleted file mode 100644 index e5d9dd22..00000000 --- a/pulse/ru/docs/command/toponline/index.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/toponline` - -Комманда для того, чтобы посмотреть топ игроков по наигранному времени -![command toponline](/commandtoponline.png) - -[//]: # (localization) - - `localizations → язык.yml → command.toponline` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#toponline -<<< @/files/localizations/en_us.yml#toponline -::: - -### `null_page` - -Сообщение, если введённая страница не существует - -#### `header` - -Верхняя часть сообщения списка - -#### `line` - -Формат каждого мута из списка - -#### `footer` - -Нижняя часть сообщения списка - -[//]: # (command.yml) - - `command.yml → toponline` - - -<<< @/files/command.yml#toponline - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.toponline` - - -<<< @/files/permission.yml#toponline - - - - - diff --git a/pulse/ru/docs/command/translateto/index.md b/pulse/ru/docs/command/translateto/index.md deleted file mode 100644 index a153a63c..00000000 --- a/pulse/ru/docs/command/translateto/index.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/translateto` - -Комманда для перевода сообщения с одного языка на другой -![command translateto](/commandtranslateto.png) - -[//]: # (localization) - - `localizations → язык.yml → command.translateto` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#translateto -<<< @/files/localizations/en_us.yml#translateto -::: - -### `null_or_error` - -Сообщение, если произошла ошибка при переводе - -### `format` - -Формат сообщения, которое будет отправлено - -[//]: # (command.yml) - - `command.yml → translateto` - - -<<< @/files/command.yml#translateto - - - - -### `service` - -Вид АПИ (`DEEPL`, `GOOGLE`, `YANDEX`), который будет использоваться при переводе - -::: danger ВНИМАТЕЛЬНО -`DEEPL` и `YANDEX` требуют **токен** и отдельную настройку в `integration.yml` -::: - - - -### `languages` - -Список языков, который используется только для подсказки при использовании комманды - - - - - -[//]: # (permission.yml) - - `permission.yml → command.translateto` - - -<<< @/files/permission.yml#translateto - - - - - diff --git a/pulse/ru/docs/command/try/index.md b/pulse/ru/docs/command/try/index.md deleted file mode 100644 index 28390e6a..00000000 --- a/pulse/ru/docs/command/try/index.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/try` - -Комманда для отображения выполнения действия с шансом -![command try](/commandtry.png) - -[//]: # (localization) - - `localizations → язык.yml → command.try` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#try -<<< @/files/localizations/en_us.yml#try -::: - -### `format_true` - -Формат сообщения, которое будет отправлено, если действие выполнено успешно - -### `format_false` - -Формат сообщения, которое будет отправлено, если действие выполнено неуспешно - -[//]: # (command.yml) - - `command.yml → try` - - -<<< @/files/command.yml#try - - - - -### `min` - -Минимальный шанс выполнения действия - -### `max` - -Максимальный шанс выполнения действия - -### `good` - -Шанс выполнения действия, с которого считается, что оно выполнено успешно - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.try` - - -<<< @/files/permission.yml#try - - - - - diff --git a/pulse/ru/docs/command/unban/index.md b/pulse/ru/docs/command/unban/index.md deleted file mode 100644 index 690af165..00000000 --- a/pulse/ru/docs/command/unban/index.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/unban` - -Комманда для того, чтобы разблокировать игрока -![command unban](/commandunban.png) - -[//]: # (localization) - - `localizations → язык.yml → command.unban` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#unban -<<< @/files/localizations/en_us.yml#unban -::: - -### `null_player` - -Сообщение, если введённый игрок не найден - -### `not_banned` - -Сообщение, если введённый игрок не заблокирован - -### `lower_weight_group` - -Сообщение, если комманда исполняется от игрока с группой ниже, чем у игрока на которого применяется модерация - -### `format` - -Сообщение при разблокировке - -[//]: # (command.yml) - - `command.yml → unban` - - -<<< @/files/command.yml#unban - - - -### `check_group_weight` - -Будут ли проверяться группы игроков. Если игрок, на которого применяется модерация, имеет роль выше, чем отправитель комманды, то комманда не выполнится и будет ошибка `lower_weight_group` - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.unban` - - -<<< @/files/permission.yml#unban - - - - - diff --git a/pulse/ru/docs/command/unmute/index.md b/pulse/ru/docs/command/unmute/index.md deleted file mode 100644 index 9a07a1c3..00000000 --- a/pulse/ru/docs/command/unmute/index.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/unmute` - -Комманда для того, чтобы размутить игрока -![command unmute](/commandunmute.png) - -[//]: # (localization) - - `localizations → язык.yml → command.unmute` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#unmute -<<< @/files/localizations/en_us.yml#unmute -::: - -### `null_player` - -Сообщение, если введённый игрок не найден - -### `not_muted` - -Сообщение, если введённый игрок не замучен - -### `lower_weight_group` - -Сообщение, если комманда исполняется от игрока с группой ниже, чем у игрока на которого применяется модерация - -### `format` - -Сообщение при размуте - -[//]: # (command.yml) - - `command.yml → unmute` - - -<<< @/files/command.yml#unmute - - - -### `check_group_weight` - -Будут ли проверяться группы игроков. Если игрок, на которого применяется модерация, имеет роль выше, чем отправитель комманды, то комманда не выполнится и будет ошибка `lower_weight_group` - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.unmute` - - -<<< @/files/permission.yml#unmute - - - - - diff --git a/pulse/ru/docs/command/unwarn/index.md b/pulse/ru/docs/command/unwarn/index.md deleted file mode 100644 index 0ced2cdf..00000000 --- a/pulse/ru/docs/command/unwarn/index.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/unwarn` - -Комманда для того, чтобы снять предупреждение с игрока -![command unwarn](/commandunwarn.png) - -[//]: # (localization) - - `localizations → язык.yml → command.unwarn` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#unwarn -<<< @/files/localizations/en_us.yml#unwarn -::: - -### `null_player` - -Сообщение, если введённый игрок не найден - -### `not_warned` - -Сообщение, если введённый игрок не имеет предупреждения - -### `lower_weight_group` - -Сообщение, если комманда исполняется от игрока с группой ниже, чем у игрока на которого применяется модерация - -### `format` - -Сообщение при снятии предупреждения - -[//]: # (command.yml) - - `command.yml → unwarn` - - -<<< @/files/command.yml#unwarn - - - -### `check_group_weight` - -Будут ли проверяться группы игроков. Если игрок, на которого применяется модерация, имеет роль выше, чем отправитель комманды, то комманда не выполнится и будет ошибка `lower_weight_group` - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.unwarn` - - -<<< @/files/permission.yml#unwarn - - - - - diff --git a/pulse/ru/docs/command/warnlist/index.md b/pulse/ru/docs/command/warnlist/index.md deleted file mode 100644 index 53e1f833..00000000 --- a/pulse/ru/docs/command/warnlist/index.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -authors: - - TheFaser ---- - -# `/warnlist` - -Комманда для того, чтобы посмотреть список предупреждений -![command warnlist](/commandwarnlist.png) - -[//]: # (localization) - - `localizations → язык.yml → command.warnlist` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#warnlist -<<< @/files/localizations/en_us.yml#warnlist -::: - -### `empty` - -Сообщение, если список игроков предупреждений пуст - -### `null_page` - -Сообщение, если введённая страница не существует - -### `null_player` - -Сообщение, если введённый игрок не найден - -### `global` - -::: details Сообщения для глобальных предупреждений - -#### `header` - -Верхняя часть сообщения списка - -#### `line` - -Формат каждого предупреждения из списка - -#### `footer` - -Нижняя часть сообщения списка -::: - -### `player` - -::: details Сообщения для предупреждений игрока - -#### `header` - -Верхняя часть сообщения списка - -#### `line` - -Формат каждого предупреждения из списка - -#### `footer` - -Нижняя часть сообщения списка -::: - -[//]: # (command.yml) - - `command.yml → warnlist` - - -<<< @/files/command.yml#warnlist - - - - - - - -[//]: # (permission.yml) - - `permission.yml → command.warnlist` - - -<<< @/files/permission.yml#warnlist - - - - - diff --git a/pulse/ru/docs/config/editor/index.md b/pulse/ru/docs/config/editor/index.md deleted file mode 100644 index 4fb08e9a..00000000 --- a/pulse/ru/docs/config/editor/index.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -order: 20 -authors: - - TheFaser ---- - -# Веб-редактор - -Веб-редактирование для `FlectonePulse`. Backend сервер запускается тамже, где установлен `FlectonePuls` - -![editor](/flectonepulseeditor.gif) - -[//]: # (config.yml) - - `config.yml → editor` - - -<<< @/files/config.yml#editor - -### `host` - -Хост (айпи) текущего сервера, можно указывать и домен - -### `https` - -Включает работу `https`, вместо `http` - -### `port` - -Незанятый порт текущего сервера - diff --git a/pulse/ru/docs/config/index.md b/pulse/ru/docs/config/index.md deleted file mode 100644 index 4d1623f2..00000000 --- a/pulse/ru/docs/config/index.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -order: -1 -authors: - - TheFaser ---- - -# Конфигурация - -Основная конфигурация `FlectonePulse`, без которой невозможна работа - -[//]: # (config.yml) - - `config.yml` - - -<<< @/files/config.yml#version - -### `version` - -Текущая версия плагина, используемая для корректного перехода между версиями плагина - -::: warning ПРЕДУПРЕЖДЕНИЕ -Не изменяй версию плагина, если не знаешь, что делаешь! -::: \ No newline at end of file diff --git a/pulse/ru/docs/integration/advancedban/index.md b/pulse/ru/docs/integration/advancedban/index.md deleted file mode 100644 index bd0075c6..00000000 --- a/pulse/ru/docs/integration/advancedban/index.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -authors: - - TheFaser ---- - -# AdvancedBan - -Интеграция с плагином `AdvancedBan` проверяет мут игрока и не позволяет ему писать сообщение, а также отключает команды модерации `FlectonePulse` - -::: warning ПРЕДУПРЕЖДЕНИЕ -Лучше выключить команды самому в `command.yml`, потому что не всегда команды выключаются сами -::: - -[//]: # (integration.yml) - - `integration.yml → advancedban` - - -<<< @/files/integration.yml#advancedban - - - -### `disable_flectonepulse_ban` - -Выключает команды `/ban`, `/banlist` и `/unban` в `FlectonePulse` - -### `disable_flectonepulse_mute` - -Выключает команды `/mute`, `/mutelist` и `/unmute` в `FlectonePulse` - -### `disable_flectonepulse_warn` - -Выключает команды `/warn`, `/warnlist` и `/unwarn` в `FlectonePulse` - -### `disable_flectonepulse_kick` - -Выключает команды `/kick` в `FlectonePulse` - -[//]: # (permission.yml) - - `permission.yml → integration.advancedban` - - -<<< @/files/permission.yml#advancedban - - \ No newline at end of file diff --git a/pulse/ru/docs/integration/deepl/index.md b/pulse/ru/docs/integration/deepl/index.md deleted file mode 100644 index 8ce8fb74..00000000 --- a/pulse/ru/docs/integration/deepl/index.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Deepl - -Интеграция с Deepl позволяет переводить сообщения с одного языка на другой, используется модулем [перевода](/docs/command/translateto#service) - -[//]: # (integration.yml) - - `integration.yml → deepl` - - -<<< @/files/integration.yml#deepl - - - -### `auth_key` - -Токен авторизации для Deepl - -[//]: # (permission.yml) - - `permission.yml → integration.deepl` - - -<<< @/files/permission.yml#deepl - - \ No newline at end of file diff --git a/pulse/ru/docs/integration/floodgate/index.md b/pulse/ru/docs/integration/floodgate/index.md deleted file mode 100644 index bb8f21b2..00000000 --- a/pulse/ru/docs/integration/floodgate/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Floodgate - -Интеграция с Floodgate позволяет правильно форматировать сообщения для `bedrock` игроков, когда Geyser стоит на Proxy, а сам Floodgate на конкретном сервере - -[//]: # (integration.yml) - - `integration.yml → floodgate` - - -<<< @/files/integration.yml#floodgate - - - -[//]: # (permission.yml) - - `permission.yml → integration.floodgate` - - -<<< @/files/permission.yml#floodgate - - \ No newline at end of file diff --git a/pulse/ru/docs/integration/geyser/index.md b/pulse/ru/docs/integration/geyser/index.md deleted file mode 100644 index 7c099f29..00000000 --- a/pulse/ru/docs/integration/geyser/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Geyser - -Интеграция с Geyser позволяет правильно форматировать сообщения для `bedrock` игроков - -[//]: # (integration.yml) - - `integration.yml → geyser` - - -<<< @/files/integration.yml#geyser - - - -[//]: # (permission.yml) - - `permission.yml → integration.geyser` - - -<<< @/files/permission.yml#geyser - - \ No newline at end of file diff --git a/pulse/ru/docs/integration/index.md b/pulse/ru/docs/integration/index.md deleted file mode 100644 index 7e362e6d..00000000 --- a/pulse/ru/docs/integration/index.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Интеграции - -Категория, отвечающая за настройку всех интеграций - -[//]: # (integration.yml) - - `integration.yml` - - -<<< @/files/integration.yml#integration - - - -### `avatar_api_url` - -Ссылка на API для отображения головы игрока. Итоговая ссылка будет выглядеть так https://mc-heads.net/avatar/59c987a2-4ef3-48e5-a291-00abe9ca8f12/8.png - -### `body_api_url` - -Ссылка на API для отображения всего скина игрока. Итоговая ссылка будет выглядеть так https://mc-heads.net/player/59c987a2-4ef3-48e5-a291-00abe9ca8f12/8.png - -[//]: # (permission.yml) - - `permission.yml → integration` - - -<<< @/files/permission.yml#integration - - - diff --git a/pulse/ru/docs/integration/itemsadder/index.md b/pulse/ru/docs/integration/itemsadder/index.md deleted file mode 100644 index f9847b32..00000000 --- a/pulse/ru/docs/integration/itemsadder/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -authors: - - TheFaser ---- - -# ItemsAdder - -Интеграция с плагином `ItemsAdder` правильно форматирует кастомные font смайлики - -[//]: # (integration.yml) - - `integration.yml → itemsadder` - - -<<< @/files/integration.yml#itemsadder - - - -[//]: # (permission.yml) - - `permission.yml → integration.itemsadder` - - -<<< @/files/permission.yml#itemsadder - - \ No newline at end of file diff --git a/pulse/ru/docs/integration/libertybans/index.md b/pulse/ru/docs/integration/libertybans/index.md deleted file mode 100644 index 058cf5e2..00000000 --- a/pulse/ru/docs/integration/libertybans/index.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -authors: - - TheFaser ---- - -# LibertyBans - -Интеграция с плагином `LibertyBans` проверяет мут игрока и не позволяет ему писать сообщение, а также отключает команды модерации `FlectonePulse` - -::: warning ПРЕДУПРЕЖДЕНИЕ -Лучше выключить команды самому в `command.yml`, потому что не всегда команды выключаются сами -::: - -[//]: # (integration.yml) - - `integration.yml → libertybans` - - -<<< @/files/integration.yml#libertybans - - - -### `disable_flectonepulse_ban` - -Выключает команды `/ban`, `/banlist` и `/unban` в `FlectonePulse` - -### `disable_flectonepulse_mute` - -Выключает команды `/mute`, `/mutelist` и `/unmute` в `FlectonePulse` - -### `disable_flectonepulse_warn` - -Выключает команды `/warn`, `/warnlist` и `/unwarn` в `FlectonePulse` - -### `disable_flectonepulse_kick` - -Выключает команды `/kick` в `FlectonePulse` - -[//]: # (permission.yml) - - `permission.yml → integration.libertybans` - - -<<< @/files/permission.yml#libertybans - - \ No newline at end of file diff --git a/pulse/ru/docs/integration/litebans/index.md b/pulse/ru/docs/integration/litebans/index.md deleted file mode 100644 index 66572b71..00000000 --- a/pulse/ru/docs/integration/litebans/index.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -authors: - - TheFaser ---- - -# LiteBans - -Интеграция с плагином `LiteBans` проверяет мут игрока и не позволяет ему писать сообщение, а также отключает команды модерации `FlectonePulse` - -::: warning ПРЕДУПРЕЖДЕНИЕ -Лучше выключить команды самому в `command.yml`, потому что не всегда команды выключаются сами -::: - -[//]: # (integration.yml) - - `integration.yml → litebans` - - -<<< @/files/integration.yml#litebans - - - -### `disable_flectonepulse_ban` - -Выключает команды `/ban`, `/banlist` и `/unban` в `FlectonePulse` - -### `disable_flectonepulse_mute` - -Выключает команды `/mute`, `/mutelist` и `/unmute` в `FlectonePulse` - -### `disable_flectonepulse_warn` - -Выключает команды `/warn`, `/warnlist` и `/unwarn` в `FlectonePulse` - -### `disable_flectonepulse_kick` - -Выключает команды `/kick` в `FlectonePulse` - -[//]: # (permission.yml) - - `permission.yml → integration.litebans` - - -<<< @/files/permission.yml#litebans - - \ No newline at end of file diff --git a/pulse/ru/docs/integration/luckperms/index.md b/pulse/ru/docs/integration/luckperms/index.md deleted file mode 100644 index 9b193b24..00000000 --- a/pulse/ru/docs/integration/luckperms/index.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -authors: - - TheFaser ---- - -# LuckPerms - -Интеграция с плагином LuckPerms позволяет: -- Проверять права у **оффлайн игроков** -- Сортировать игроков в ТАБе по [весу группы](https://luckperms.net/wiki/Weight) - -[//]: # (integration.yml) - - `integration.yml → luckperms` - - -<<< @/files/integration.yml#luckperms - - - -### `tab_sort` - -Включает или выключает сортировку в ТАБе по [весу группы](https://luckperms.net/wiki/Weight) - -[//]: # (permission.yml) - - `permission.yml → integration.luckperms` - - -<<< @/files/permission.yml#luckperms - - \ No newline at end of file diff --git a/pulse/ru/docs/integration/maintenance/index.md b/pulse/ru/docs/integration/maintenance/index.md deleted file mode 100644 index 15d1a867..00000000 --- a/pulse/ru/docs/integration/maintenance/index.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Maintenance - -Интеграция с плагином Maintenance позволяет отключать `MOTD` у `FlectonePulse` в нужный момент, а также отключает команду `/maintenance` от `FlectonePulse` - -[//]: # (integration.yml) - - `integration.yml → maintenance` - - -<<< @/files/integration.yml#maintenance - - - -### `disable_flectonepulse_maintenance` - -Выключает команду `/maintenance` в `FlectonePulse` - -[//]: # (permission.yml) - - `permission.yml → integration.maintenance` - - -<<< @/files/permission.yml#integrationmaintenance - - \ No newline at end of file diff --git a/pulse/ru/docs/integration/mineplaceholders/index.md b/pulse/ru/docs/integration/mineplaceholders/index.md deleted file mode 100644 index ca69de89..00000000 --- a/pulse/ru/docs/integration/mineplaceholders/index.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -authors: - - TheFaser ---- - -# MiniPlaceholders - -Интеграция с плагином MiniPlaceholders позволяет использовать любые [мини-плейсхолдеры](https://github.com/MiniPlaceholders/MiniPlaceholders/wiki/Placeholders) - -::: warning ПРЕДУПРЕЖДЕНИЕ -Чтобы использовать мини-плейсхолдер, его обязательно нужно обернуть в `{}` - -Пример `{}` -::: - -[//]: # (integration.yml) - - `integration.yml → miniplaceholders` - - -<<< @/files/integration.yml#miniplaceholders - - - -[//]: # (permission.yml) - - `permission.yml → integration.miniplaceholders` - - -<<< @/files/permission.yml#miniplaceholders - - - -### `use` - -Право для использования плейсхолдеров из MiniPlaceholders в сообщении \ No newline at end of file diff --git a/pulse/ru/docs/integration/minimotd/index.md b/pulse/ru/docs/integration/minimotd/index.md deleted file mode 100644 index 374974c1..00000000 --- a/pulse/ru/docs/integration/minimotd/index.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -authors: - - TheFaser ---- - -# MiniMOTD - -Интеграция с плагином `MiniMOTD` отключает модуль [Статус](/docs/message/status/) в `FlectonePulse` - -[//]: # (integration.yml) - - `integration.yml → minimotd` - - -<<< @/files/integration.yml#minimotd - - - -### `disable_flectonepulse_status` - -Выключает модуль [Статус](/docs/message/status/) - -[//]: # (permission.yml) - - `permission.yml → integration.minimotd` - - -<<< @/files/permission.yml#minimotd - - \ No newline at end of file diff --git a/pulse/ru/docs/integration/motd/index.md b/pulse/ru/docs/integration/motd/index.md deleted file mode 100644 index 1f35c8bb..00000000 --- a/pulse/ru/docs/integration/motd/index.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -authors: - - TheFaser ---- - -# MOTD - -::: warning ВНИМАТЕЛЬНО -Это интеграция с другим плагином на `MOTD`, настроить сам `MOTD` можно [тут](/docs/message/status/motd/) -::: - -Интеграция с плагином `MOTD` отключает модуль [Статус](/docs/message/status/) в `FlectonePulse` - -[//]: # (integration.yml) - - `integration.yml → motd` - - -<<< @/files/integration.yml#motd - - - -### `disable_flectonepulse_status` - -Выключает модуль [Статус](/docs/message/status/) - -[//]: # (permission.yml) - - `permission.yml → integration.motd` - - -<<< @/files/permission.yml#motd - - \ No newline at end of file diff --git a/pulse/ru/docs/integration/plasmovoice/index.md b/pulse/ru/docs/integration/plasmovoice/index.md deleted file mode 100644 index 17eace8f..00000000 --- a/pulse/ru/docs/integration/plasmovoice/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -authors: - - TheFaser ---- - -# PlasmoVoice - -Интеграция с плагином PlasmoVoice позволяет мутить игроков, которые были замучены с помощью `/mute`. Также, если один игрок заигнорировал другого с помощью `/ignore`, он его не будет слышать. -![mute](/mute.png) - -[//]: # (integration.yml) - - `integration.yml → plasmovoice` - - -<<< @/files/integration.yml#plasmovoice - - - -[//]: # (permission.yml) - - `permission.yml → integration.plasmovoice` - - -<<< @/files/permission.yml#plasmovoice - - \ No newline at end of file diff --git a/pulse/ru/docs/integration/simplevoice/index.md b/pulse/ru/docs/integration/simplevoice/index.md deleted file mode 100644 index 89bac72b..00000000 --- a/pulse/ru/docs/integration/simplevoice/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -authors: - - TheFaser ---- - -# SimpleVoice - -Интеграция с плагином SimpleVoice позволяет мутить игроков, которые были замучены с помощью `/mute`. Также, если один игрок заигнорировал другого с помощью `/ignore`, он его не будет слышать. -![mute](/mute.png) - -[//]: # (integration.yml) - - `integration.yml → simplevoice` - - -<<< @/files/integration.yml#simplevoice - - - -[//]: # (permission.yml) - - `permission.yml → integration.simplevoice` - - -<<< @/files/permission.yml#simplevoice - - \ No newline at end of file diff --git a/pulse/ru/docs/integration/skinsrestorer/index.md b/pulse/ru/docs/integration/skinsrestorer/index.md deleted file mode 100644 index 0411ba02..00000000 --- a/pulse/ru/docs/integration/skinsrestorer/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -authors: - - TheFaser ---- - -# SkinsRestorer - -Интеграция с плагином SkinsRestorer позволяет получать скины **оффлайн игроков** -![skinsrestorer](/skinsrestorer.png) - -[//]: # (integration.yml) - - `integration.yml → skinsrestorer` - - -<<< @/files/integration.yml#skinsrestorer - - - -[//]: # (permission.yml) - - `permission.yml → integration.skinsrestorer` - - -<<< @/files/permission.yml#skinsrestorer - - \ No newline at end of file diff --git a/pulse/ru/docs/integration/supervanish/index.md b/pulse/ru/docs/integration/supervanish/index.md deleted file mode 100644 index bcf3af6a..00000000 --- a/pulse/ru/docs/integration/supervanish/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -authors: - - TheFaser ---- - -# SuperVanish - -Интеграция с плагином SuperVanish (и PremiumVanish) скрывает действия игроков в ванише - -[//]: # (integration.yml) - - `integration.yml → supervanish` - - -<<< @/files/integration.yml#supervanish - - - -[//]: # (permission.yml) - - `permission.yml → integration.supervanish` - - -<<< @/files/permission.yml#supervanish - - \ No newline at end of file diff --git a/pulse/ru/docs/integration/tab/index.md b/pulse/ru/docs/integration/tab/index.md deleted file mode 100644 index e7c48039..00000000 --- a/pulse/ru/docs/integration/tab/index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -authors: - - TheFaser ---- - -# TAB - -::: warning ВНИМАТЕЛЬНО -Это интеграция с другим плагином на `TAB`, настроить сам `TAB` можно [тут](/docs/message/tab/) -::: - -Интеграция с плагином `TAB` устраняет проблемы совместимости, выключая работу некоторых модулей в `FlectonePulse`: -- [Скорборд](/docs/message/format/scoreboard/) -- [Верхнее](/docs/message/tab/header/) -- [Нижнее](/docs/message/tab/footer/) -- [Имя в списке](/docs/message/tab/playerlistname/) - -[//]: # (integration.yml) - - `integration.yml → tab` - - -<<< @/files/integration.yml#tab - - - -### `disable_flectonepulse_scorebord` - -Выключает модуль [Скорборд](/docs/message/format/scoreboard/) - -### `disable_flectonepulse_header` - -Выключает модуль [Верхнее](/docs/message/tab/header/) - -### `disable_flectonepulse_footer` - -Выключает модуль [Нижнее](/docs/message/tab/footer/) - -### `disable_flectonepulse_playerlistname` - -Выключает модуль [Имя в списке](/docs/message/tab/playerlistname/) - -[//]: # (permission.yml) - - `permission.yml → integration.tab` - - -<<< @/files/permission.yml#integrationtab - - \ No newline at end of file diff --git a/pulse/ru/docs/integration/triton/index.md b/pulse/ru/docs/integration/triton/index.md deleted file mode 100644 index 9e8157f1..00000000 --- a/pulse/ru/docs/integration/triton/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Triton - -Интеграция с Triton позволяет использовать кастомную локализацию **игроков** - -[//]: # (integration.yml) - - `integration.yml → triton` - - -<<< @/files/integration.yml#triton - - - -[//]: # (permission.yml) - - `permission.yml → integration.triton` - - -<<< @/files/permission.yml#triton - - \ No newline at end of file diff --git a/pulse/ru/docs/integration/vault/index.md b/pulse/ru/docs/integration/vault/index.md deleted file mode 100644 index 7ac17948..00000000 --- a/pulse/ru/docs/integration/vault/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Vault - -Интеграция с Vault позволяет проверять права у **оффлайн игроков** - -[//]: # (integration.yml) - - `integration.yml → vault` - - -<<< @/files/integration.yml#vault - - - -[//]: # (permission.yml) - - `permission.yml → integration.vault` - - -<<< @/files/permission.yml#vault - - \ No newline at end of file diff --git a/pulse/ru/docs/integration/yandex/index.md b/pulse/ru/docs/integration/yandex/index.md deleted file mode 100644 index f02da146..00000000 --- a/pulse/ru/docs/integration/yandex/index.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Яндекс - -Интеграция с Яндексом позволяет переводить сообщения с одного языка на другой, используется модулем [перевода](/docs/command/translateto#service) - -[//]: # (integration.yml) - - `integration.yml → yandex` - - -<<< @/files/integration.yml#yandex - - - -### `token` - -Токен авторизации для Яндекса [`iam_token`](https://yandex.cloud/ru/docs/translate/api-ref/authentication) - -### `folder_id` - -Идентификатор папки, к которой есть доступ - -[//]: # (permission.yml) - - `permission.yml → integration.yandex` - - -<<< @/files/permission.yml#yandex - - \ No newline at end of file diff --git a/pulse/ru/docs/message/afk/index.md b/pulse/ru/docs/message/afk/index.md deleted file mode 100644 index 21447a3f..00000000 --- a/pulse/ru/docs/message/afk/index.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Афк - -Игрок становится АФК, если ничего не делает какой-то промежуток времени -![afk global message](/afkglobalmessage.png) - -Если человек АФК, то ему выдаётся определённый суффикс -![afk suffix](/afksuffix.png) - -[//]: # (localization) - - `localizations → язык.yml → message.afk` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#afk -<<< @/files/localizations/en_us.yml#afk -::: - -### `suffix` - -Суффикс, который выдаётся игроку, если он встал в АФК -![afksuffix](/afksuffix.png) - -### `format_true` - -Сообщение, если игрок отошёл - -### `format_false` - -Сообщение, если игрок вернулся - -[//]: # (message.yml) - - `message.yml → afk` - - -<<< @/files/message.yml#afk - - - - -### `delay` - -Сколько времени в [тиках](https://ru.minecraft.wiki/w/%D0%A2%D0%B0%D0%BA%D1%82) игрок ничего не должен делать, чтобы встать в АФК - -### `ignore` - -Список действий, которые игнорируются и не влияют на режим АФК - -| Действия, которые можно игнорировать | -|--------------------------------------| -| Любые названия комманд | -| `chat` - когда игрок пишет в чат | -| `quit` - когда игрок выходит | - -::: info НАПРИМЕР -Если я впишу в список комманду `tell` и игрок будет в режиме АФК, то он сможет использовать комманду `tell` и его не выкинет с режима АФК -::: - - - - - -[//]: # (permission.yml) - - `permission.yml → message.afk` - - -<<< @/files/permission.yml#afk - - - - \ No newline at end of file diff --git a/pulse/ru/docs/message/anvil/index.md b/pulse/ru/docs/message/anvil/index.md deleted file mode 100644 index dda5e891..00000000 --- a/pulse/ru/docs/message/anvil/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Наковальня - -Модуль, отвечающий за сообщения в наковальне при переименовании -![anvil](/anvil.gif) - -[//]: # (message.yml) - - `message.yml → anvil` - - -<<< @/files/message.yml#anvil - - - -[//]: # (permission.yml) - - `permission.yml → message.anvil` - - -<<< @/files/permission.yml#anvil - - \ No newline at end of file diff --git a/pulse/ru/docs/message/auto/index.md b/pulse/ru/docs/message/auto/index.md deleted file mode 100644 index 4e7b0886..00000000 --- a/pulse/ru/docs/message/auto/index.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Автоматическое - -Сообщение от сервера раз в какой-то промежуток времени -![auto](/auto.png) - -[//]: # (localization) - - `localizations → язык.yml → message.auto` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#auto -<<< @/files/localizations/en_us.yml#auto -::: - -### `types` - -Виды автоматических сообщений со списком - -[//]: # (message.yml) - - `message.yml → auto` - - -<<< @/files/message.yml#auto - - - -### `types` - -Виды автоматических сообщений - -::: info МОЖНО СОЗДАВАТЬ СВОИ -```yaml - types: - newauto: - random: true - destination: - type: "CHAT" - ticker: - enable: true - period: 9000 - sound: - enable: false -``` -::: - -- -- -- -- - -[//]: # (permission.yml) - - `permission.yml → message.auto` - - -<<< @/files/permission.yml#auto - - - -### `types` - -Виды автоматических сообщений и их прав на звуки - -- \ No newline at end of file diff --git a/pulse/ru/docs/message/book/index.md b/pulse/ru/docs/message/book/index.md deleted file mode 100644 index 29fd4c2e..00000000 --- a/pulse/ru/docs/message/book/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Книга - -Модуль, отвечающий за сообщения в книге и названии этой книги -![book](/book.gif) - -[//]: # (message.yml) - - `message.yml → book` - - -<<< @/files/message.yml#book - - - -[//]: # (permission.yml) - - `permission.yml → message.book` - - -<<< @/files/permission.yml#book - - \ No newline at end of file diff --git a/pulse/ru/docs/message/brand/index.md b/pulse/ru/docs/message/brand/index.md deleted file mode 100644 index 49fd2a48..00000000 --- a/pulse/ru/docs/message/brand/index.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Бренд - -Модуль, отвечающий за сообщение бренда в F3 -![brand](/brand.png) - -::: warning ПРЕДУПРЕЖДЕНИЕ - -Если используется прокси (Velocity или BungeeCord), то изменение brand полностью невозможно - -::: - -[//]: # (localization) - - `localizations → язык.yml → message.brand` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#brand -<<< @/files/localizations/en_us.yml#brand -::: - -### `values` - -Список сообщений для бренда - -::: warning МОЖНО ИСПОЛЬЗОВАТЬ ТОЛЬКО ОБЫЧНЫЕ ЦВЕТА - -::: - - -[//]: # (message.yml) - - `message.yml → brand` - - -<<< @/files/message.yml#brand - - - - - - -[//]: # (permission.yml) - - `permission.yml → message.brand` - - -<<< @/files/permission.yml#brand - - \ No newline at end of file diff --git a/pulse/ru/docs/message/format/fixation/index.md b/pulse/ru/docs/message/format/fixation/index.md deleted file mode 100644 index bc614fc2..00000000 --- a/pulse/ru/docs/message/format/fixation/index.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Фиксация - -Модуль форматирует сообщение игрока так, что первая буква - заглавная, а в конце есть точка - -![fixation](/fixation.png) - -[//]: # (message.yml) - - `message.yml → format.fixation` - - -<<< @/files/message.yml#fixation - - - -### `end_dot` - -Будет ли в конце сообщения добавлена точка, если её нет - -### `first_letter_uppercase` - -Будет ли первая буква в сообщении всегда заглавной - -### `non_dot_symbols` - -Список символов (могут быть и слова), после которых не нужно ставить точку - -[//]: # (permission.yml) - - `permission.yml → message.format.fixation` - - -<<< @/files/permission.yml#fixation - - \ No newline at end of file diff --git a/pulse/ru/docs/message/format/moderation/caps/index.md b/pulse/ru/docs/message/format/moderation/caps/index.md deleted file mode 100644 index 7cc868ba..00000000 --- a/pulse/ru/docs/message/format/moderation/caps/index.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Капс - -Это форматирование убирает капс в сообщении -![caps](/caps.png) - -[//]: # (message.yml) - - `message.yml → format.moderation.caps` - - -<<< @/files/message.yml#caps - - - -### `trigger` - -Процент букв, которые должны быть в верхнем регистре, чтобы сообщение было изменено - -::: info КАК ПРАВИЛЬНО НАПИСАТЬ ПРОЦЕНТ -`0.7` это `70%`, а `1.0` это `100%` т.е всё сообщение -::: - -[//]: # (permission.yml) - - `permission.yml → message.format.moderation.caps` - - -<<< @/files/permission.yml#caps - - - -### `bypass` - -Право для игнорирования форматирования \ No newline at end of file diff --git a/pulse/ru/docs/message/format/moderation/delete/index.md b/pulse/ru/docs/message/format/moderation/delete/index.md deleted file mode 100644 index 9a7a6a64..00000000 --- a/pulse/ru/docs/message/format/moderation/delete/index.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Удаление - -Это форматирование заменяет `` и позволяет удалять сообщения в чате -![delete](/delete.gif) - -::: warning ПРЕДУПРЕЖДЕНИЕ - -При большом количестве игроков может вызывать немного больше потребление памяти из-за хранения сообщений. По примерным расчётам 100 игроков = 5-10 мбайт - -::: - -::: warning ПРЕДУПРЕЖДЕНИЕ - -Этот модуль несовместим с плагином InteractiveChat - -::: - -[//]: # (localization) - - `localizations → язык.yml → message.format.moderation.delete` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#delete -<<< @/files/localizations/en_us.yml#delete -::: - -### `placeholder` - -Плейсхолдер, которым заменяется каждый ``, если у игрока есть права на удаление сообщения, иначе будет пусто - -### `format` - -Формат сообщения, которое будет отправлено при удалении - -[//]: # (message.yml) - - `message.yml → format.moderation.delete` - - -<<< @/files/message.yml#delete - - - -### `history_length` - -Сколько максимально сообщений будет храниться в истории у каждого игрока - -[//]: # (permission.yml) - - `permission.yml → message.format.moderation.delete` - - -<<< @/files/permission.yml#delete - - \ No newline at end of file diff --git a/pulse/ru/docs/message/format/moderation/flood/index.md b/pulse/ru/docs/message/format/moderation/flood/index.md deleted file mode 100644 index 7a6396bd..00000000 --- a/pulse/ru/docs/message/format/moderation/flood/index.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Флуд - -Это форматирование удаляет флуд в сообщении -![caps](/caps.png) - -[//]: # (message.yml) - - `message.yml → format.moderation.flood` - - -<<< @/files/message.yml#flood - - - -### `trim_to_single` - -Заменять ли ВЕСЬ флуд на одну букву/слово или просто сокращать до лимита `max_repeated_symbols`/`max_repeated_words` - -### `max_repeated_symbols` - -Максимальное количество одинаковых букв подряд - -### `max_repeated_words` - -Максимальное количество одинаковых слов подряд - -[//]: # (permission.yml) - - `permission.yml → message.format.moderation.flood` - - -<<< @/files/permission.yml#flood - - - -### `bypass` -Право на обход данного форматирования \ No newline at end of file diff --git a/pulse/ru/docs/message/format/moderation/index.md b/pulse/ru/docs/message/format/moderation/index.md deleted file mode 100644 index ddc2e42a..00000000 --- a/pulse/ru/docs/message/format/moderation/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Модерация - -Модуль, отвечающий за модерацию сообщений - -[//]: # (message.yml) - - `message.yml → format.moderation` - - -<<< @/files/message.yml#moderation - - - -[//]: # (permission.yml) - - `permission.yml → message.format.moderation` - - -<<< @/files/permission.yml#moderation - - \ No newline at end of file diff --git a/pulse/ru/docs/message/format/moderation/newbie/index.md b/pulse/ru/docs/message/format/moderation/newbie/index.md deleted file mode 100644 index 419edd15..00000000 --- a/pulse/ru/docs/message/format/moderation/newbie/index.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Новичок - -Этот модуль запрещает новичкам сервера писать сообщение определённое время - -::: warning ПРЕДУПРЕЖДЕНИЕ - -Новичком сервера считается тот игрок, который никогда не был на сервере - -::: - -[//]: # (localization) - - `localizations → язык.yml → message.format.moderation.newbie` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#newbie -<<< @/files/localizations/en_us.yml#newbie -::: - -### `reason` - -Причина, которая будет использована для сообщения в муте - -[//]: # (message.yml) - - `message.yml → format.moderation.newbie` - - -<<< @/files/message.yml#newbie - - - -### `mode` - -| Режим | Объяснение | -|-----------------|----------------------------------------------------------------| -| `PLAYED_TIME` | Сколько наиграно времени на сервере | -| `SINCE_JOIN` | Сколько прошло времени с момента первого подключения на сервер | - -### `timeout` - -Время в секундах, сколько новичку нельзя писать сообщение - -[//]: # (permission.yml) - - `permission.yml → message.format.moderation.newbie` - - -<<< @/files/permission.yml#newbie - - - -### `bypass` - -Право для игнорирования этого модуля \ No newline at end of file diff --git a/pulse/ru/docs/message/format/moderation/swear/index.md b/pulse/ru/docs/message/format/moderation/swear/index.md deleted file mode 100644 index 021904a8..00000000 --- a/pulse/ru/docs/message/format/moderation/swear/index.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Ругательство - -Это форматирование скрывает ругательство игрока -![swear](/swear.png) - -[//]: # (localization) - - `localizations → язык.yml → message.format.moderation.swear` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#swear -<<< @/files/localizations/en_us.yml#swear -::: - -### `symbol` - -Символ, которым заменяется каждая буква ругательства - -[//]: # (message.yml) - - `message.yml → format.moderation.swear` - - -<<< @/files/message.yml#swear - - - -### `trigger` - -Список [регулярных выражений](https://javarush.com/groups/posts/regulyarnye-vyrazheniya-v-java) для того, чтобы определять ругательство - -::: info НАПРИМЕР -- Для цифренного айпи `\\b((?:\\d{1,3}\\.){3}\\d{1,3})\\b` -- Для буквенного айпи `(?i)\\b((https?:\\/\\/)?([\\w\\.а-яА-Я-]+\\.([a-z]{2,4}|[рР][фФ]|[уУ][кК][рР]))\\b(:\\d{2,7})?(\\/\\S+)?)` -::: - -[//]: # (permission.yml) - - `permission.yml → message.format.moderation.swear` - - -<<< @/files/permission.yml#swear - - - -### `bypass` - -Право для игнорирования форматирования - -### `see` - -Право для просмотра содержимого в запрещённом слове \ No newline at end of file diff --git a/pulse/ru/docs/message/format/names/index.md b/pulse/ru/docs/message/format/names/index.md deleted file mode 100644 index 18e876fc..00000000 --- a/pulse/ru/docs/message/format/names/index.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Имя - -Модуль, отвечающий за имя игрока -![name tab](/nametab.png) -![name display](/namedisplay.png) - -[//]: # (localization) - - `localizations → язык.yml → message.format.names` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#names -<<< @/files/localizations/en_us.yml#names -::: - -### `constant` - -Сообщение, которое будет форматироваться от отправителя на сервере, откуда было отправлено. Его можно использовать в любом сообщении с помощью `` - -::: info ПРИМЕЧАНИЕ -Если у тебя возникают проблемы в сообщениях для `Velocity` или `BungeeCord`, то это решение твоей проблемы: - -```yaml -constant: "%player_name%" -display: "" -``` - -::: - - -### `display` - -Отвечает за имя игрока -![name display](/namedisplay.png) - -### `entity` - -Отвечает за имя сущности - -### `unknown` - -Отвечает за имя сущности, если его не удалось узнать - -### `invisible` - -Отвечает за имя игрока, если он под зельем невидимости - -[//]: # (message.yml) - - `message.yml → format.names` - - -<<< @/files/message.yml#names - - - -### `should_check_invisibility` - -Нужно ли проверять, что игрок под зельем невидимости. Если да, то будет использовано имя `invisible` - -[//]: # (permission.yml) - - `permission.yml → message.format.names` - - -<<< @/files/permission.yml#names - - \ No newline at end of file diff --git a/pulse/ru/docs/message/format/questionanswer/index.md b/pulse/ru/docs/message/format/questionanswer/index.md deleted file mode 100644 index 8c11ed7d..00000000 --- a/pulse/ru/docs/message/format/questionanswer/index.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Вопрос-Ответ - -Модуль, отвечающий за ответ на вопрос игрока -![question](/questionanswer.png) - -[//]: # (localization) - - `localizations → язык.yml → message.format.question_answer` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#questionanswer -<<< @/files/localizations/en_us.yml#questionanswer -::: - -### `questions` - -Список вопросов и ответов на эти вопросы - - -[//]: # (message.yml) - - `message.yml → format.questionanswer` - - -<<< @/files/message.yml#questionanswer - - - -### `questions` - -Список вопросов с их настройкой - - - - - -### `target` - -[Регулярное выражение](https://javarush.com/groups/posts/regulyarnye-vyrazheniya-v-java) для поиска вопроса - -[//]: # (permission.yml) - - `permission.yml → message.format.question_answer` - - -<<< @/files/permission.yml#questionanswer - - - -### `questions` - -Список вопросов с правами - - - \ No newline at end of file diff --git a/pulse/ru/docs/message/format/replacement/index.md b/pulse/ru/docs/message/format/replacement/index.md deleted file mode 100644 index 1ea6dfb1..00000000 --- a/pulse/ru/docs/message/format/replacement/index.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Замена - -Используется для замены триггеров на определённые значения - -![ping](/ping.png) - - -![tps](/tps.png) - - -![online](/online.png) - - -![coords](/coords.png) - - -![stats](/stats.png) - - -![skin](/skin.png) - - -![item](/item.png) - -::: warning ПРЕДУПРЕЖДЕНИЕ - -`PacketEvents` в данный момент не поддерживает при наведении правильное отображение подробной информации о предмете. Предмет будет иметь "пустое" описание без зачарований. Чтобы решить эту проблему, можно включить [use_paper_message_sender](/docs/config/module/#use_paper_message_sender), но это костыль - -::: - -![url](/url.png) - - -![image](/image.png) - - -![spoiler](/spoiler.png) - - -![bold](/bold.png) - - -![italic](/italic.png) - - -![underline](/underline.png) - - -![obfuscated](/obfuscated.png) - - -![strikethrough](/strikethrough.png) - -[//]: # (localization) - - `localizations → язык.yml → message.format.replacement` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#replacement -<<< @/files/localizations/en_us.yml#replacement -::: - -### `spoiler_symbol` - -Символ, который будет заменять каждую букву слов у `spoiler` - -### `values` - -Список сообщений, где ключом является название, а значением, что будет показано вместо триггера - -[//]: # (message.yml) - - `message.yml → format.replacement` - - -<<< @/files/message.yml#replacement - - - -### `triggers` - -Список всех доступных триггеров, где ключом является название, а значением сам `trigger` в формате регулярного выражения - -::: warning ПРЕДУПРЕЖДЕНИЕ - -Если ты добавляшеь новый триггер, то обязательно добавь его также и в файл локализации, т.е. на что он будет заменяться - -::: - -[//]: # (permission.yml) - - `permission.yml → message.format.replacement` - - -<<< @/files/permission.yml#replacement - - \ No newline at end of file diff --git a/pulse/ru/docs/message/format/scoreboard/index.md b/pulse/ru/docs/message/format/scoreboard/index.md deleted file mode 100644 index 04334648..00000000 --- a/pulse/ru/docs/message/format/scoreboard/index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Скорборд - -Модуль, отвечающий правильную работу `team` и модулей -- [Значения](/docs/message/objective/) -- [Таб](/docs/message/tab/) - -::: warning ПРЕДУПРЕЖДЕНИЕ -Если возникают проблемы с `TAB` (например сортировка в ТАБе) или другим плагином, использующим `scoreboard`, нужно выключить этот модуль -::: - -[//]: # (message.yml) - - `message.yml → format.scoreboard` - - -<<< @/files/message.yml#scoreboard - - - -### `name_visible` - -Включает отображение имени над игроком - -### `color` - -Цвет команды игрока, если включено `name_visible`, то имя будет такого же цвета - -### `prefix` - -Сообщение перед именем над головой - -### `suffix` - -Сообщение после имени над головой - - - -[//]: # (permission.yml) - - `permission.yml → message.format.scoreboard` - - -<<< @/files/permission.yml#scoreboard - - \ No newline at end of file diff --git a/pulse/ru/docs/message/format/translate/index.md b/pulse/ru/docs/message/format/translate/index.md deleted file mode 100644 index f696b699..00000000 --- a/pulse/ru/docs/message/format/translate/index.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Перевод - -Тег `translate` используется для перевода сообщения на другой язык - -![translate](/translate.png) - -[//]: # (localization) - - `localizations → язык.yml → message.format.translate` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#translate -<<< @/files/localizations/en_us.yml#translate -::: - -### `action` - -Сообщение для перевода, в котором прописано выполнение комманды при нажатии - -[//]: # (message.yml) - - `message.yml → format.translate` - - -<<< @/files/message.yml#translate - - - -[//]: # (permission.yml) - - `permission.yml → message.format.translate` - - -<<< @/files/permission.yml#translate - - \ No newline at end of file diff --git a/pulse/ru/docs/message/format/world/index.md b/pulse/ru/docs/message/format/world/index.md deleted file mode 100644 index 424db68f..00000000 --- a/pulse/ru/docs/message/format/world/index.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Измерение - -Модуль, отвечающий за тег `` т.е. за цвет измерения -![world tab](/worldtab.png) -![world chat](/worldchat.png) - -[//]: # (message.yml) - - `message.yml → format.world` - - -<<< @/files/message.yml#world - - - -### `mode` - -Режим определения мира из доступных - -| Режим | Описание | -|----------|--------------------------------------------------------------------------| -| `TYPE` | Мир определяется по названию его типа, например обычный мир это `normal` | -| `NAME` | Мир определяется по названию его папки | - -### `values` - -Список миров и их `` - -[//]: # (permission.yml) - - `permission.yml → message.format.world` - - -<<< @/files/permission.yml#world - - \ No newline at end of file diff --git a/pulse/ru/docs/message/greeting/index.md b/pulse/ru/docs/message/greeting/index.md deleted file mode 100644 index bebf8bef..00000000 --- a/pulse/ru/docs/message/greeting/index.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Приветствие - -Сообщение от сервера лично игроку, когда он подключился -![greeting](/greeting.png) - -[//]: # (localization) - - `localizations → язык.yml → message.greeting` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#greeting -<<< @/files/localizations/en_us.yml#greeting -::: - -### `format` - -Личное сообщение игроку при подключении - -[//]: # (message.yml) - - `message.yml → greeting` - - -<<< @/files/message.yml#greeting - - - - - -[//]: # (permission.yml) - - `permission.yml → message.greeting` - - -<<< @/files/permission.yml#greeting - - - \ No newline at end of file diff --git a/pulse/ru/docs/message/index.md b/pulse/ru/docs/message/index.md deleted file mode 100644 index 24c210a9..00000000 --- a/pulse/ru/docs/message/index.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Сообщения - -Настройка сообщений `FlectonePulse` (из-за чего появляются и как) - -[//]: # (localization) - - `localizations → язык.yml` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#message -<<< @/files/localizations/en_us.yml#message -::: - -### `cooldown` - -Сообщение, которое показывается при слишком частом использовании, если включен `cooldown` - -### `time` - -Сообщения времени - -- #### `format` - -Форматирование времени ([Apache DurationFormatUtils](https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/time/DurationFormatUtils.html)) - -- #### `permanent` - -Форматирование времени, если оно `-1` т.е. навсегда - -- #### `zero` - -Форматирование времени, если оно равно нулю - -[//]: # (message.yml) - - `message.yml` - - -<<< @/files/message.yml#message - - - -[//]: # (permission.yml) - - `permission.yml → message` - - -<<< @/files/permission.yml#message - - \ No newline at end of file diff --git a/pulse/ru/docs/message/join/index.md b/pulse/ru/docs/message/join/index.md deleted file mode 100644 index 9ac12f27..00000000 --- a/pulse/ru/docs/message/join/index.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Подключение - -Сообщение от сервера, когда игрок подключился -![join](/join.png) - -[//]: # (localization) - - `localizations → язык.yml → message.join` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#join -<<< @/files/localizations/en_us.yml#join -::: - -### `format` - -Сообщение при подключении на сервер - -### `format_first_time` - -Сообщение при первом подключении на сервер - -[//]: # (message.yml) - - `message.yml → join` - - -<<< @/files/message.yml#join - - - -### `first` - -Включает сообщение о самом первом подключении игрока на сервер - - - - - -[//]: # (permission.yml) - - `permission.yml → message.join` - - -<<< @/files/permission.yml#join - - - \ No newline at end of file diff --git a/pulse/ru/docs/message/objective/belowname/index.md b/pulse/ru/docs/message/objective/belowname/index.md deleted file mode 100644 index 6b2f8401..00000000 --- a/pulse/ru/docs/message/objective/belowname/index.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Под ником - -::: warning ПРЕДУПРЕЖДЕНИЕ - -Если в модуле `scoreboard` отображение имени выключен (`name_visible: false`), то значение под ником не будет показываться - -::: - -[ScoreBoard значение](https://ru.minecraft.wiki/w/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%81%D1%87%D1%91%D1%82%D0%B0_%D0%B8%D0%B3%D1%80%D0%BE%D0%B2%D1%8B%D1%85_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9) игрока под его ником -![below name](/belowname.png) - -[//]: # (localization) - - `localizations → язык.yml → message.belowname` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#belowname -<<< @/files/localizations/en_us.yml#belowname -::: - -### `format` - -Сообщение, которое будет показано под ником - -[//]: # (message.yml) - - `message.yml → objective.belowname` - - -<<< @/files/message.yml#belowname - - - -### `mode` - -Режим цифрового отображения значения из доступных - - - -::: info НАПРИМЕР РЕЖИМ `PING` -Значит будет возвращаться пинг игрока -![below name](/belowname.png) -::: - - - -[//]: # (permission.yml) - - `permission.yml → message.objective.belowname` - - -<<< @/files/permission.yml#belowname - - \ No newline at end of file diff --git a/pulse/ru/docs/message/objective/index.md b/pulse/ru/docs/message/objective/index.md deleted file mode 100644 index 6a879d2b..00000000 --- a/pulse/ru/docs/message/objective/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Значения - -Модуль, отвечающий за [ScoreBoard значения](https://ru.minecraft.wiki/w/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%81%D1%87%D1%91%D1%82%D0%B0_%D0%B8%D0%B3%D1%80%D0%BE%D0%B2%D1%8B%D1%85_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9) игрока - -[//]: # (message.yml) - - `message.yml → objective` - - -<<< @/files/message.yml#objective - - - -[//]: # (permission.yml) - - `permission.yml → message.objective` - - -<<< @/files/permission.yml#objective - - \ No newline at end of file diff --git a/pulse/ru/docs/message/objective/tabname/index.md b/pulse/ru/docs/message/objective/tabname/index.md deleted file mode 100644 index 0a5babfb..00000000 --- a/pulse/ru/docs/message/objective/tabname/index.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -authors: - - TheFaser ---- - -# В табе - -[ScoreBoard значение](https://ru.minecraft.wiki/w/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%81%D1%87%D1%91%D1%82%D0%B0_%D0%B8%D0%B3%D1%80%D0%BE%D0%B2%D1%8B%D1%85_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9) игрока в ТАБе -![player list](/playerlist.png) - -[//]: # (localization) - - `localizations → язык.yml → message.tabname` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#tabname -<<< @/files/localizations/en_us.yml#tabname -::: - -### `format` - -Сообщение, которое будет показано после ника - -[//]: # (message.yml) - - `message.yml → objective.tabname` - - -<<< @/files/message.yml#tabname - - - -### `mode` - -Режим цифрового отображения значения из доступных - - - -::: info НАПРИМЕР РЕЖИМ `PING` -Значит будет возвращаться пинг игрока -![player list](/playerlist.png) -::: - - - -[//]: # (permission.yml) - - `permission.yml → message.objective.tabname` - - -<<< @/files/permission.yml#tabname - - \ No newline at end of file diff --git a/pulse/ru/docs/message/quit/index.md b/pulse/ru/docs/message/quit/index.md deleted file mode 100644 index 12a7035e..00000000 --- a/pulse/ru/docs/message/quit/index.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Отключение - -Сообщение от сервера, когда игрок отключился -![quit](/quit.png) - -[//]: # (localization) - - `localizations → язык.yml → message.quit` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#quit -<<< @/files/localizations/en_us.yml#quit -::: - -### `format` - -Сообщение при отключении с сервера - -[//]: # (message.yml) - - `message.yml → quit` - - -<<< @/files/message.yml#quit - - - - - - -[//]: # (permission.yml) - - `permission.yml → message.quit` - - -<<< @/files/permission.yml#quit - - - \ No newline at end of file diff --git a/pulse/ru/docs/message/rightclick/index.md b/pulse/ru/docs/message/rightclick/index.md deleted file mode 100644 index 6d6d0fd6..00000000 --- a/pulse/ru/docs/message/rightclick/index.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Правое нажатие - -Модуль, при котором **ПКМ** по игроку создаёт сообщение над инвентарём игрока -![right click](/rightclick.png) - -[//]: # (localization) - - `localizations → язык.yml → message.rightclick` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#rightclick -<<< @/files/localizations/en_us.yml#rightclick -::: - -### `format` - -Сообщение, которое будет отправлено игроку, нажавшему на другого игрока - -[//]: # (message.yml) - - `message.yml → rightclick` - - -<<< @/files/message.yml#rightclick - - - -### `should_check_sneaking` - -Нужно ли проверять, что игрок нажимает шифт, во время ПКМ - -### `hide_name_when_invisible` - -Нужно ли скрывать ник игрока, который находится в невидимости - - - - - -[//]: # (permission.yml) - - `permission.yml → message.rightclick` - - -<<< @/files/permission.yml#rightclick - - - - \ No newline at end of file diff --git a/pulse/ru/docs/message/sidebar/index.md b/pulse/ru/docs/message/sidebar/index.md deleted file mode 100644 index b03563d7..00000000 --- a/pulse/ru/docs/message/sidebar/index.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Сайдбар - -Сообщения в правой части экрана -![scoreboard](/scoreboard.png) - -[//]: # (localization) - - `localizations → язык.yml → message.sidebar` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#sidebar -<<< @/files/localizations/en_us.yml#sidebar -::: - -### `values` - -Список сообщений, где `- -` разделяет разные форматы - -[//]: # (message.yml) - - `message.yml → sidebar` - - -<<< @/files/message.yml#sidebar - - - - - -[//]: # (permission.yml) - - `permission.yml → message.sidebar` - - -<<< @/files/permission.yml#sidebar - - \ No newline at end of file diff --git a/pulse/ru/docs/message/sign/index.md b/pulse/ru/docs/message/sign/index.md deleted file mode 100644 index f8651ba9..00000000 --- a/pulse/ru/docs/message/sign/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Табличка - -Модуль, отвечающий за сообщения на табличке -![sign](/signoak.gif) - -[//]: # (message.yml) - - `message.yml → sign` - - -<<< @/files/message.yml#sign - - - -[//]: # (permission.yml) - - `permission.yml → message.sign` - - -<<< @/files/permission.yml#sign - - \ No newline at end of file diff --git a/pulse/ru/docs/message/status/icon/index.md b/pulse/ru/docs/message/status/icon/index.md deleted file mode 100644 index 139ef9ec..00000000 --- a/pulse/ru/docs/message/status/icon/index.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Иконка - -Модуль отвечающий за изображение сервера -![server icon](/servericon.png) - -[//]: # (message.yml) - - `message.yml → status.icon` - - -<<< @/files/message.yml#icon - - - -### `random` - -Если включено, то изображение будет выбираться случайным образом, иначе по порядку - -### `values` - -`server-icon-1.png` ![server icon 1](/server-icon-1.png) - - -`server-icon-2.png` ![server icon 2](/server-icon-2.png) - -Список названий изображений, которые должны отображаться - -::: danger ИЗОБРАЖЕНИЕ ДОЛЖНО -1. Находиться внутри папки `/FlectonePulse/images/` -2. Иметь размер **ТОЛЬКО** `64x64` - ::: - -[//]: # (permission.yml) - - `permission.yml → message.status.icon` - - -<<< @/files/permission.yml#icon - - \ No newline at end of file diff --git a/pulse/ru/docs/message/status/index.md b/pulse/ru/docs/message/status/index.md deleted file mode 100644 index 33853218..00000000 --- a/pulse/ru/docs/message/status/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Статус - -Модуль, который отвечает за всё, что происходит при просмотре сервера перед подключением - -[//]: # (message.yml) - - `message.yml → status` - - -<<< @/files/message.yml#status - - - -[//]: # (permission.yml) - - `permission.yml → message.status` - - -<<< @/files/permission.yml#status - - \ No newline at end of file diff --git a/pulse/ru/docs/message/status/motd/index.md b/pulse/ru/docs/message/status/motd/index.md deleted file mode 100644 index 8818a8b4..00000000 --- a/pulse/ru/docs/message/status/motd/index.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Описание - -Модуль отвечающий за приветственное сообщение сервера -![motd](/motd.png) - -[//]: # (localization) - - `localizations → язык.yml → message.status.motd` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#motd -<<< @/files/localizations/en_us.yml#motd -::: - -### `values` - -Список сообщений, которые будут показываться - -[//]: # (message.yml) - - `message.yml → status.motd` - - -<<< @/files/message.yml#motd - - - - -[//]: # (permission.yml) - - `permission.yml → message.status.motd` - - -<<< @/files/permission.yml#motd - - \ No newline at end of file diff --git a/pulse/ru/docs/message/status/players/index.md b/pulse/ru/docs/message/status/players/index.md deleted file mode 100644 index 44e54f3d..00000000 --- a/pulse/ru/docs/message/status/players/index.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Игроки - -Модуль отвечающий за количество игроков на сервере -![player count](/playercount.png) - -[//]: # (localization) - - `localizations → язык.yml → message.status.players` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#players -<<< @/files/localizations/en_us.yml#players -::: - -### `samples` - -Список игроков сервера. Плейсхолдер `` добавляет всех игроков сервера к списку - -::: info ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ - -Можно добавлять любые сообщения -```yaml -samples: - - name: "Это сервер в майнкрафте!" - id: null - - name: "" - id: null -``` -![sample1](/sample1.png) - -или создавать фейковых игроков -```yaml -samples: - - name: "Notch" - id: null - - name: "" - id: null -``` -![sample2](/sample2.png) -::: - -::: warning ПРЕДУПРЕЖДЕНИЕ - -Можно использовать только доступные цвета - -::: - -### `full` - -Сообщение при подключении на полный сервер - -[//]: # (message.yml) - - `message.yml → status.players` - - -<<< @/files/message.yml#players - - - -### `control` - -Если включено, то игрока не будет впускать на сервер при большем количестве игроков, чем [указано](#max) - -### `max` - -Максимальное количество игроков на сервере - -### `online` - -Число, которое позволяет указать любой онлайн на сервере - -::: info ИНФОРМАЦИЯ - -Число может быть любым, но `-69` указывает на текущий онлайн - -::: - -[//]: # (permission.yml) - - `permission.yml → message.status.players` - - -<<< @/files/permission.yml#players - - - -### `bypass` - -Право для подключения на полный сервер \ No newline at end of file diff --git a/pulse/ru/docs/message/status/version/index.md b/pulse/ru/docs/message/status/version/index.md deleted file mode 100644 index ff66164f..00000000 --- a/pulse/ru/docs/message/status/version/index.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Версия - -Модуль отвечающий за версию сервера -![version](/version.png) - -[//]: # (localization) - - `localizations → язык.yml → message.status.version` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#version -<<< @/files/localizations/en_us.yml#version -::: - -### `name` - -Название версии сервера - -[//]: # (message.yml) - - `message.yml → status.version` - - -<<< @/files/message.yml#version - - - -### `protocol` - -[Протокол](https://minecraft.wiki/w/Protocol_version) сервера - -::: info ИНФОРМАЦИЯ - -Число может быть любым, но `-1` указывает на текущий протокол - -::: - -[//]: # (permission.yml) - - `permission.yml → message.status.version` - - -<<< @/files/permission.yml#version - - \ No newline at end of file diff --git a/pulse/ru/docs/message/tab/footer/index.md b/pulse/ru/docs/message/tab/footer/index.md deleted file mode 100644 index ba72f5be..00000000 --- a/pulse/ru/docs/message/tab/footer/index.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Нижнее - -Модуль, отвечающий за текст в нижней части ТАБа -![footer](/footer.png) - -[//]: # (localization) - - `localizations → язык.yml → message.tab.footer` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#footer -<<< @/files/localizations/en_us.yml#footer -::: - -### `lists` - -Список сообщений, где `- -` разделяет разные форматы - -[//]: # (message.yml) - - `message.yml → tab.footer` - - -<<< @/files/message.yml#footer - - - - - - -[//]: # (permission.yml) - - `permission.yml → message.tab.footer` - - -<<< @/files/permission.yml#footer - - \ No newline at end of file diff --git a/pulse/ru/docs/message/tab/header/index.md b/pulse/ru/docs/message/tab/header/index.md deleted file mode 100644 index 65051080..00000000 --- a/pulse/ru/docs/message/tab/header/index.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Верхнее - -Модуль, отвечающий за текст в верхней части ТАБа -![header](/header.png) - -[//]: # (localization) - - `localizations → язык.yml → message.tab.header` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#header -<<< @/files/localizations/en_us.yml#header -::: - -### `lists` - -Список сообщений, где `- -` разделяет разные форматы - -[//]: # (message.yml) - - `message.yml → tab.header` - - -<<< @/files/message.yml#header - - - - - - -[//]: # (permission.yml) - - `permission.yml → message.tab.header` - - -<<< @/files/permission.yml#header - - \ No newline at end of file diff --git a/pulse/ru/docs/message/tab/index.md b/pulse/ru/docs/message/tab/index.md deleted file mode 100644 index cad4e46c..00000000 --- a/pulse/ru/docs/message/tab/index.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Таб - -Категория, отвечающая за сообщения в ТАБе - -::: warning ВАЖНО -Чтобы ТАБ сортировался в зависимости от донатной группы, включи [`tab_sort`](/docs/integration/luckperms/#tab-sort) -::: - -[//]: # (message.yml) - - `message.yml → tab` - - -<<< @/files/message.yml#tab - - - -[//]: # (permission.yml) - - `permission.yml → message.tab` - - -<<< @/files/permission.yml#tab - - \ No newline at end of file diff --git a/pulse/ru/docs/message/tab/playerlistname/index.md b/pulse/ru/docs/message/tab/playerlistname/index.md deleted file mode 100644 index bebb8aea..00000000 --- a/pulse/ru/docs/message/tab/playerlistname/index.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Имя в списке - -Модуль, отвечающий за имя игрока в ТАБе -![player list name](/playerlistname.png) - -[//]: # (localization) - - `localizations → язык.yml → message.tab.playerlistname` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#playerlistname -<<< @/files/localizations/en_us.yml#playerlistname -::: - -### `format` - -Сообщение в списке ТАБа - -[//]: # (message.yml) - - `message.yml → tab.playerlistname` - - -<<< @/files/message.yml#playerlistname - - - -### `proxy_mode` - -Если включено, то игроки на разных серверах будут синхронизированы в одном ТАБе. Для этого требуется включение прокси режима в `FlectonePulse` - -::: warning ПРЕДУПРЕЖДЕНИЕ -1. Это работает на версиях 1.19.4 и выше -2. Между серверами игроки не смогут по ТАБу узнать пинг другого игрока (он всегда будет -1, если игрок на другом сервере) -3. Для корректного отображения скинов требуется SkinsRestorer в режиме прокси -::: - - - -[//]: # (permission.yml) - - `permission.yml → message.tab.playerlistname` - - -<<< @/files/permission.yml#playerlistname - - \ No newline at end of file diff --git a/pulse/ru/docs/message/update/index.md b/pulse/ru/docs/message/update/index.md deleted file mode 100644 index 38a55d21..00000000 --- a/pulse/ru/docs/message/update/index.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -authors: - - TheFaser ---- - -# Обновление - -Оповещение о том, что вышла новая версия `FlectonePulse`. Пишется только админам и в консоль -![update](/update.png) - -[//]: # (localization) - - `localizations → язык.yml → message.update` - - - -::: code-group -<<< @/files/localizations/ru_ru.yml#update -<<< @/files/localizations/en_us.yml#update -::: - -### `format_player` - -Сообщение для игрока админа - -### `format_console` - -Сообщение для консоли - -[//]: # (message.yml) - - `message.yml → update` - - -<<< @/files/message.yml#update - - - - - -[//]: # (permission.yml) - - `permission.yml → message.update` - - -<<< @/files/permission.yml#update - - - \ No newline at end of file diff --git a/pulse/ru/files/command.yml b/pulse/ru/files/command.yml deleted file mode 100644 index 987bd179..00000000 --- a/pulse/ru/files/command.yml +++ /dev/null @@ -1,955 +0,0 @@ -# ___ ___ __ ___ __ ___ -# |__ | |__ / ` | / \ |\ | |__ -# | |___ |___ \__, | \__/ | \| |___ -# __ __ ___ -# |__) | | | /__` |__ -# | \__/ |___ .__/ |___ /\ -# / \ -# __/\___ ____/\_____ ___/ \______ -# \/ \/ -# -#region command -enable: true -suggest_invisible_players: true -#endregion command -#region afk -afk: - enable: true - aliases: - - "afk" - cooldown: - enable: false - sound: - enable: false -#endregion afk -#region anon -anon: - enable: true - range: "PROXY" - aliases: - - "anon" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion anon -#region ball -ball: - enable: true - range: "PROXY" - aliases: - - "ball" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion ball -#region ban -ban: - enable: true - suggest_offline_players: true - show_connection_attempts: true - check_group_weight: true - range: "PROXY" - time_limits: - 0: -1 - aliases: - - "ban" - - "tempban" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion ban -#region banlist -banlist: - enable: true - per_page: 4 - aliases: - - "banlist" - cooldown: - enable: false - sound: - enable: false -#endregion banlist -#region broadcast -broadcast: - enable: true - range: "PROXY" - aliases: - - "broadcast" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion broadcast -#region chatcolor -chatcolor: - enable: true - aliases: - - "chatcolor" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion chatcolor -#region chatsetting -chatsetting: - enable: true - aliases: - - "chatsetting" - modern: - enable: true - button_width: 100 - columns: 5 - checkbox: - disabled_material: "RED_DYE" - enabled_material: "LIME_DYE" - types: - AFK: 9 - ADVANCEMENT: 10 - CHAT: 11 - COMMAND_ANON: 12 - COMMAND_BALL: 13 - COMMAND_BROADCAST: 14 - COMMAND_COIN: 15 - COMMAND_DICE: 16 - COMMAND_DO: 17 - COMMAND_MAIL: 18 - COMMAND_ME: 19 - COMMAND_POLL: 20 - COMMAND_ROCKPAPERSCISSORS: 21 - COMMAND_STREAM: 22 - COMMAND_TELL: 23 - COMMAND_TICTACTOE: 24 - COMMAND_TRY: 25 - DEATH: 26 - FROM_DISCORD_TO_MINECRAFT: 27 - FROM_TELEGRAM_TO_MINECRAFT: 28 - FROM_TWITCH_TO_MINECRAFT: 29 - JOIN: 30 - QUIT: 31 - SLEEP: 32 - menu: - material: "LIGHT_BLUE_DYE" - chat: - slot: 0 - types: - - name: "default" - material: "ARROW" - - name: "local" - material: "WHITE_DYE" - - name: "global" - material: "BLACK_DYE" - see: - slot: 1 - types: - - name: "default" - material: "ARROW" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "white" - material: "WHITE_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "light_gray" - material: "LIGHT_GRAY_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "gray" - material: "GRAY_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "black" - material: "BLACK_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "brown" - material: "BROWN_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "red" - material: "RED_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "orange" - material: "ORANGE_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "yellow" - material: "YELLOW_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "lime" - material: "LIME_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "green" - material: "GREEN_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "cyan" - material: "CYAN_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "light_blue" - material: "LIGHT_BLUE_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "blue" - material: "BLUE_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "purple" - material: "PURPLE_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "magenta" - material: "MAGENTA_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "pink" - material: "PINK_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - out: - slot: 2 - types: - - name: "default" - material: "ARROW" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "white" - material: "WHITE_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "light_gray" - material: "LIGHT_GRAY_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "gray" - material: "GRAY_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "black" - material: "BLACK_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "brown" - material: "BROWN_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "red" - material: "RED_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "orange" - material: "ORANGE_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "yellow" - material: "YELLOW_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "lime" - material: "LIME_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "green" - material: "GREEN_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "cyan" - material: "CYAN_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "light_blue" - material: "LIGHT_BLUE_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "blue" - material: "BLUE_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "purple" - material: "PURPLE_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "magenta" - material: "MAGENTA_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - - name: "pink" - material: "PINK_DYE" - colors: - 1: "" - 2: "" - 3: "" - 4: "" - cooldown: - enable: false - sound: - enable: false -#endregion chatsetting -#region clearchat -clearchat: - enable: true - aliases: - - "clearchat" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion clearchat -#region clearmail -clearmail: - enable: true - aliases: - - "clearmail" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion clearmail -#region coin -coin: - enable: true - draw: true - range: "PROXY" - aliases: - - "coin" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion coin -#region deletemessage -deletemessage: - enable: true - aliases: - - "deletemessage" - destination: - type: "ACTION_BAR" - times: - stay: 60 - cooldown: - enable: false - sound: - enable: false -#endregion deletemessage -#region dice -dice: - enable: true - range: "PROXY" - min: 1 - max: 6 - aliases: - - "dice" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion dice -#region do -do: - enable: true - range: "PROXY" - aliases: - - "do" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion do -#region emit -emit: - enable: true - aliases: - - "emit" - cooldown: - enable: false - sound: - enable: false -#endregion emit -#region flectonepulse -flectonepulse: - enable: true - execute_in_main_thread: false - aliases: - - "flectonepulse" - - "fp" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion flectonepulse -#region geolocate -geolocate: - enable: true - suggest_offline_players: true - aliases: - - "geolocate" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion geolocate -#region helper -helper: - enable: true - null_helper: true - range: "PROXY" - aliases: - - "helper" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion helper -#region ignore -ignore: - enable: true - suggest_offline_players: true - aliases: - - "ignore" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion ignore -#region ignorelist -ignorelist: - enable: true - per_page: 4 - aliases: - - "ignorelist" - cooldown: - enable: false - sound: - enable: false -#endregion ignorelist -#region kick -kick: - enable: true - range: "PROXY" - aliases: - - "kick" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion kick -#region mail -mail: - enable: true - aliases: - - "mail" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion mail -#region maintenance -maintenance: - enable: true - turned_on: false - aliases: - - "maintenance" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion maintenance -#region me -me: - enable: true - range: "PROXY" - aliases: - - "me" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion me -#region mute -mute: - enable: true - suggest_offline_players: true - check_group_weight: true - range: "PROXY" - time_limits: - 0: -1 - aliases: - - "mute" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion mute -#region mutelist -mutelist: - enable: true - per_page: 4 - aliases: - - "mutelist" - cooldown: - enable: false - sound: - enable: false -#endregion mutelist -#region online -online: - enable: true - suggest_offline_players: true - range: "PROXY" - aliases: - - "online" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion online -#region ping -ping: - enable: true - aliases: - - "ping" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion ping -#region poll -poll: - enable: true - enable_gui: true - last_id: 1 - range: "PROXY" - aliases: - - "poll" - cooldown: - enable: false - sound: - enable: false -#endregion poll -#region reply -reply: - enable: true - aliases: - - "reply" - - "r" - cooldown: - enable: false - sound: - enable: false -#endregion reply -#region rockpaperscissors -rockpaperscissors: - enable: true - aliases: - - "rockpaperscissors" - - "rps" - strategies: - rock: - - "scissors" - paper: - - "rock" - scissors: - - "paper" - cooldown: - enable: false - sound: - enable: false -#endregion rockpaperscissors -#region sprite -sprite: - enable: true - per_page: 16 - aliases: - - "sprite" - categories: - - "armor_trims" - - "banner_patterns" - - "beds" - - "blocks" - - "celestials" - - "chest" - - "decorated_pot" - - "gui" - - "items" - - "map_decorations" - - "paintings" - - "particles" - - "shield_patterns" - - "shulker_boxes" - - "signs" - cooldown: - enable: false - sound: - enable: false -#endregion sprite -#region spy -spy: - enable: true - range: "PROXY" - aliases: - - "spy" - categories: - command: - - "tell" - - "msg" - - "w" - - "message" - - "send" - - "m" - - "anon" - action: - - "anvil" - - "book" - - "sign" - - "local" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion spy -#region stream -stream: - enable: true - range: "PROXY" - aliases: - - "stream" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: true - volume: 1.0 - pitch: 1.0 - category: "BLOCK" - name: "minecraft:block.note_block.bell" -#endregion stream -#region symbol -symbol: - enable: true - per_page: 16 - aliases: - - "symbol" - categories: - activities: "⚽ ⚾ ⛷ ⛸ ⛹ ⛺ 🎘 🎙 🎤 🎞 🎟 🎠 🎡 🎢 🎥 🎦 🎧 🎨 🎩 🎪 🎫 🎬 🎭 🎮 🕹 🎯 🎰 🎱 🎲 🎳 🎴 🎽 🎾 🎿 🏀 🏁 🏂 🏃 🏄 🏇 🏈 🏉 🏊 🏋 🏌 🏍 🏎 🏏 🏐 🏑 🏒 🏓 🥊 🥋 🥌 🥍 🥎 🥏 🪀 🪁 🪂 🪃 🪄 🪅 🪆 🤺 🤻 🤼 🤽 🤾 🤿 🧗 🧘 🤳 🤷 🤸 🤹 🏕 🏖 🏸 🏹 💒 🎀 🎁 🧧 🎂 🎃 🎄 🎅 🎆 🎇 🎈 🎉 🎊 🎋 🎌 🎍 🎎 🎏 🎐 🎑" - animals: "🐀 🐁 🐂 🐃 🐄 🐅 🐆 🐇 🐈 🐉 🐊 🐋 🐌 🐍 🐎 🐏 🐐 🐑 🐒 🐓 🐔 🐕 🐖 🐗 🐘 🐙 🐚 🐛 🐜 🐝 🐞 🐟 🐠 🐡 🐢 🐣 🐤 🐥 🐦 🐧 🐨 🐩 🐪 🐫 🐬 🐭 🐮 🐯 🐰 🐱 🐲 🐳 🐴 🐵 🐶 🐷 🐸 🐹 🐺 🐻 🐼 🐽 🐾 🐿 🕷 🕸 🦀 🦁 🦂 🦃 🦄 🦅 🦆 🦇 🦈 🦉 🦊 🦋 🦌 🦍 🦎 🦏 🦐 🦑 🦒 🦓 🦔 🦕 🦖 🦗 🦘 🦙 🦚 🦛 🦜 🦝 🦞 🦟 🦠 🦡 🦢 🦣 🦤 🦥 🦦 🦧 🦨 🦩 🦪 🦫 🦬 🦭 🦮 🪰 🪱 🪲 🪳 🪹 🪺 🪼 🪿 🫎 🫏" - arrows: "🡠 🡡 🡢 🡣 🡤 🡥 🡦 🡧 🡨 🡩 🡪 🡫 🡬 🡭 🡮 🡯 🢀 🢁 🢂 🢃 🢄 🢅 🢆 🢇 ← ↑ → ↓ ↔ ⇄ ⇵ ⇏ ⇒ ⇔ 🠘 🠙 🠚 🠛 🔙 🔚 🔛 🔜 🔝 🗘 🢴 🢵 🢶 🢷 🢸 🢹 🢺 🢻" - body: "👀 👁 👂 🦻 👃 👄 👅 💋 🗢 🫆 💪 🦴 🦵 🦶 🦷 🦾 🦿 🧠 🫀 🫁 🫦" - clothes: "👑 👒 👓 🕶 👔 👕 👖 👗 👘 👙 👚 👛 👜 👝 👞 👟 👠 👡 👢 🥻 🥼 🥽 🥾 🥿 🦺 🦯 🧢 🧣 🧤 🧥 🧦 🩰 🩱 🩲 🩳 🩴 🪖" - environment: "☼ ☽ ☾ ☀ 🌄 🌅 ☁ ☂ ☔ 🌂 ☄ ★ ☆ ⛅ ⛆ ☃ ⛄ ⛇ ⛈ ❄ 🌀 🌁 🌈 🌊 🌋 🌢 💧 🌣 🌤 🌥 🌦 🌧 🌨 🌩 🌪 🌫 🌬 🌆 🌇 🌉 ⭐ ⭑ ⭒ ⯪ ⯫ 🔯 🌃 🌌 🌞 🌟 🌠 🌍 🌎 🌏 🌐 🗺 🪐 🌑 🌒 🌓 🌔 🌕 🌖 🌗 🌘 🌙 🌚 🌛 🌜 🌝 🏔 🏜 🏝 🏞" - faces: "☹ ☺ ☻ 😀 😁 😂 😃 😄 😅 😆 😇 😈 😉 😊 😋 😌 😍 😎 😏 😐 😑 😒 😓 😔 😕 😖 😗 😘 😙 😚 😛 😜 😝 😞 😟 😠 😡 😢 😣 😤 😥 😦 😧 😨 😩 😪 😫 😬 😭 😮 😯 😰 😱 😲 😳 😴 🫩 😵 😶 😷 😸 😹 😺 😻 😼 😽 😾 😿 🙀 🙁 🙂 🙃 🙄 🙅 🙆 🙇 🙈 🙉 🙊 🙋 🙌 🙍 🙎 🙏 🤐 🤑 🤒 🤓 🤔 🤕 🤗 🤠 🤡 🤢 🤣 🤤 🤥 🤦 🤧 🤨 🤩 🤪 🤫 🤬 🤭 🤮 🤯 🥰 🥱 🥲 🥳 🥴 🥵 🥶 🥷 🥸 🥹 🥺 🧐 🫠 🫡 🫢 🫣 🫤 🫥 🫨" - food: "☕ 🌭 🌮 🌯 🌰 🌶 🍅 🍆 🍇 🍈 🍉 🍊 🍋 🍌 🍍 🍎 🍏 🍐 🍑 🍒 🍓 🍔 🍕 🍖 🍗 🍘 🍙 🍚 🍛 🍜 🍝 🍞 🍟 🍠 🍡 🍢 🍣 🍤 🍥 🍦 🍧 🍨 🍩 🍪 🍫 🍬 🍭 🍮 🍯 🍰 🍱 🍲 🍳 🍴 🍵 🍶 🍷 🍸 🍹 🍺 🍻 🍼 🍽 🍾 🍿 🥐 🥑 🥒 🥓 🥔 🥕 🫜 🥖 🥗 🥘 🥙 🥚 🥛 🥜 🥝 🥞 🥟 🥠 🥡 🥢 🥣 🥤 🥥 🥦 🥧 🥨 🥩 🥪 🥫 🥬 🥭 🥮 🥯 🧀 🧁 🧂 🧃 🧄 🧅 🧆 🧇 🧈 🧉 🧊 🧋 🫐 🫑 🫒 🫓 🫔 🫕 🫖 🫗 🫘 🫙 🫚 🫛" - greenery: "🌱 🌲 🌳 🌴 🌵 🌷 ⚘ 🌸 🌹 🥀 💮 🌺 🌻 🌼 🌽 🌾 🌿 🍀 🍁 🍂 🍃 🍄 🪾 🏵 🏶 🪴 🪷 🪸 🪻" - hands: "☜ ☝ ☞ ☟ ✊ ✋ ✌ ✍ 👆 👇 👈 👉 👊 👋 👌 👍 👎 👏 👐 🖎 🖏 🖐 🖑 🖒 🖓 🖔 🖕 🖖 🖗 🖘 🖙 🖚 🖛 🖜 🖝 🖞 🖟 🖠 🖡 🖢 🖣 🤌 🤏 🤘 🤙 🤚 🤛 🤜 🤝 🤞 🤟 🤲 🫰 🫱 🫲 🫳 🫴 🫵 🫶 🫷 🫸" - misc: "⏏ ⏩ ⏪ ⏫ ⏬ ⏭ ⏮ ⏯ ⏰ ⏱ ⏲ ⏳ ⏴ ⏵ ⏶ ⏷ ⏸ ⏹ ⏺ ⏻ ⏼ ⌚ ⌛ 🕐 🕑 🕒 🕓 🕔 🕕 🕖 🕗 🕘 🕙 🕚 🕛 🕜 🕝 🕞 🕟 🕠 🕡 🕢 🕣 🕤 🕥 🕦 🕧 🔅 🔆 🔇 🔈 🔉 🔊 🕨 🕩 🕪 🕫 🕬 🕭 🔋 🪫 🔌 🔍 🔎 🛜 🗔 🗕 🗖 🗗 🗘 🗙 🗚 🗛 ✉ 💌 📧 📨 📩 🖂 🖃 🖄 🖅 🖆 🪪 ⚐ ⚑ ⚕ ⚖ ⚙ ⛭ ⛮ ⚠ ⚡ ⚰ ⚱ ♔ ♕ ♖ ♗ ♘ ♙ ♚ ♛ ♜ ♝ ♞ ♟ ♠ ♡ ♢ ♣ ♤ ♥ ♦ ♧ ⚀ ⚁ ⚂ ⚃ ⚄ ⚅ ⛀ ⛁ ⛂ ⛃ 💠 🔰 💢 💤 💥 🔥 💦 💨 🫧 🫟 💫 💬 💭 🗨 🗩 🗪 🗫 🗬 🗭 🗮 🗯 🗰 🗱 🗲 💱 💲 💳 💴 💵 💶 💷 💸 🪙 💹 📈 📉 📊 🗠" - numbers: "🯰 🯱 🯲 🯳 🯴 🯵 🯶 🯷 🯸 🯹 ½ ↉ ⅓ ⅔ ¼ ¾ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅐ ⅛ ⅜ ⅝ ⅞ ⅑ ⅒ ⅟ ⓪ ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳ ⓿ ➊ ➋ ➌ ➍ ➎ ➏ ➐ ➑ ➒ ➓ Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ Ⅺ Ⅻ Ⅼ Ⅽ Ⅾ Ⅿ" - people: "👣 👤 👥 👦 👧 👨 👩 🧑 🧒 🧓 🧔 🧕 👪 👫 👬 👭 🧍 🧎 🚹 🚺 🚼 🛉 🛊 🧏 👮 👯 👰 👱 👲 🤶 👳 👴 👵 👶 👷 👸 👹 👺 👼 🤰 🫂 🫃 🫄 🤱 🧖 👻 👽 👾 🤖 🧌 👿 ☠ 💀 🕱 💁 💂 🤴 🫅 🤵 💃 🕺 💆 💇 💏 💑 🗣 🦸 🦹 🕴 🕵 🧙 🧚 🧛 🧜 🧝 🧞 🧟" - shapes: "🔲 🔳 🔴 🔵 🔶 🔷 🔸 🔹 🔺 🔻 🔼 🔽 💓 💔 💕 💖 💗 💘 💙 💚 💛 💜 🖤 💝 💞 💟 🤍 🤎 🧡 🩵 🩶 🩷 ❣ ❤ ❥ ❦ ❧ 🎔 │ ┤ ╡ ╢ ╖ ╕ ╣ ║ ╗ ╝ ╜ ╛ ┐ └ ┴ ┬ ├ ─ ┼ ╞ ╟ ╚ ╔ ╩ ╦ ╠ ═ ╬ ╧ ╨ ╤ ╥ ╙ ╘ ╒ ╓ ╫ ╪ ┘ ┌ ▁ ▂ ▃ ▄ ▅ ▆ ▇ █ ▉ ▊ ▋ ▌ ▍ ▎ ▏ ▕ ▐ ▔ ▀ ▝ ▖ ▗ ▘ ▙ ▛ ▜ ▟ ▞ ▚" - symbols: "♩ ♪ ♫ ♬ ♭ ♮ ♯ 🎜 🎝 🎵 🎶 🎼 ♲ ♻ ☮ ☯ 🕆 🕇 🕈 🕉 🕊 🕎 🕏 ☐ ☑ ☒ ✓ ✔ ✕ ✖ ✗ ✘ ❌ ❎ 🗴 🗵 🗶 🗷 🗸 🗹 ♿ 🔞 ⛔ 🕲 🚫 🚬 🚭 🚮 🚯 🚰 🚱 🛆 🛇 🛈 🛑 🔟 🔠 🔡 🔢 🔣 🔤 🆑 🆒 🆓 🆔 🆕 🆖 🆗 🆘 🆙 🆚 ❓ ❔ ❕ ❗ ❛ ❜ ❝ ❞ ❟ ❠ 💯 🏱 🏲 🏳 🏴 🚩" - things: "⛏ 🪓 🪏 ⚒ ⚓ ⚔ 🎣 🗡 🔱 ⚗ ⛓ 🛠 🛡 🪚 🪛 ✀ ✁ ✂ ✃ ✄ ✎ ✏ ✐ ✑ ✒ 🖉 🖊 🖋 🖌 🖍 🌡 🏷 🎒 🎓 🎕 💐 🎖 🎗 🏅 🥇 🥈 🥉 🏆 🎚 🎛 🎷 🎸 🎹 🎺 🎻 🪇 🪈 🪕 🪗 🪘 🪉 🏺 💄 💅 🪨 🪵 🪶 🪽 💈 💉 💊 🧪 🧫 🩸 🩹 🩺 🩻 🩼 🧬 🧭 🧮 🧯 🧰 🧱 🧲 🧳 🧴 🧵 🧶 🧷 🧸 🧹 🧺 🧻 🧼 🧽 🧾 🧿 💍 💎 💡 💣 🧨 🥁 🥂 🥃 🥄 🥅 🥆 🧩 🪠 🪡 🪢 🪣 🪤 🪥 🪦 🪧 💩 💰 💺 💻 💼 💽 🖭 🖴 💾 🖪 🖫 🖬 💿 📀 🖸 📁 📂 🖿 🗀 🗁 🗂 🗃 🗄 📃 📄 📅 📆 📇 🖹 🖺 🖻 🖼 🖽 🖾 📋 📌 📍 🖈 📎 🖇 📏 📐 📑 📒 📓 📔 📕 📖 📗 📘 📙 📚 📛 📜 📝 🗅 🗆 🗇 🗈 🗉 🗊 🗋 🗌 🗍 🗎 🗏 🗐 🗑 🗒 🗓 📞 📟 📠 📡 📢 📣 📤 📥 📦 📪 📫 📬 📭 📮 📯 📰 📱 📲 📳 📴 📵 📶 🕻 🕼 🕽 🕾 🕿 🖀 🖁 📷 📸 📹 📺 📻 📼 📽 📾 📿 🖥 🖦 🖧 🖨 🖩 🖮 🖯 🖰 🖱 🖲 🖳 🖵 🖶 🖷 🔏 🔐 🔑 🔒 🔓 🔔 🔕 🔖 🔗 🔘 🔦 🔧 🔨 🔩 🔪 🔫 🔬 🔭 🔮 🪒 🪔 🕮 🕯 🕰 🗳 🛍 🛎 🛢 🗜 🗝 🗞 🗟 🕳" - transport: "⛟ ⛴ ⛵ ✈ ⛩ ⛪ ⛫ ⛰ ⛱ ⛲ ⛳ ⛽ 🗻 🗼 🗽 🗾 🗿 🚀 🚁 🚂 🚃 🚄 🚅 🚆 🚇 🚈 🚉 🚊 🛲 🚋 🚌 🚍 🚎 🚏 🚐 🚑 🚒 🛱 🚓 🚔 🚕 🚖 🚗 🛻 🚘 🚙 🚚 🚛 🚜 🚝 🚞 🚟 🚠 🚡 🚢 🛳 🚣 🚤 🛶 🛥 🛦 🛧 🛨 🛩 🛪 🛫 🛬 🛰 🛴 🛵 🛹 🛼 🛺 🛷 🦼 🦽 🛸 🛒 🚥 🚦 🚧 🚨 🏗 🏘 🏙 🏚 🏛 🏟 🏠 🏡 🏢 🏣 🏤 🏥 🏦 🏧 🏨 🏩 🏪 🏫 🏬 🏭 🏮 🏯 🏰 🕋 🕌 🕍 🛐 🛓 🛔 🛕 🛖 🚲 🚳 🚴 🚵 🚶 🚷 🚸 🚪 🪑 🪟 🪜 🪝 🪞 🚻 🚽 🚾 🚿 🛀 🛁 🛂 🛃 🛄 🛅 🛋 🛌 🛏 🛗 🛝 🛞 🛟 🛣 🛤" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion symbol -#region tell -tell: - enable: true - suggest_offline_players: false - range: "PROXY" - aliases: - - "tell" - - "msg" - - "w" - - "message" - - "send" - - "m" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion tell -#region tictactoe -tictactoe: - enable: true - aliases: - - "tictactoe" - - "ttt" - cooldown: - enable: false - sound: - enable: false -#endregion tictactoe -#region toponline -toponline: - enable: true - per_page: 10 - aliases: - - "toponline" - cooldown: - enable: false - sound: - enable: false -#endregion toponline -#region translateto -translateto: - enable: true - range: "PLAYER" - service: "GOOGLE" - aliases: - - "translateto" - languages: - - "en_us" - - "ru_ru" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion translateto -#region try -try: - enable: true - range: "PROXY" - min: 0 - max: 100 - good: 50 - aliases: - - "try" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion try -#region unban -unban: - enable: true - check_group_weight: true - range: "PROXY" - aliases: - - "unban" - - "pardon" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion unban -#region unmute -unmute: - enable: true - check_group_weight: true - range: "PROXY" - aliases: - - "unmute" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion unmute -#region unwarn -unwarn: - enable: true - check_group_weight: true - range: "PROXY" - aliases: - - "unwarn" - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion unwarn -#region warn -warn: - enable: true - suggest_offline_players: true - check_group_weight: true - range: "PROXY" - time_limits: - 0: -1 - aliases: - - "warn" - actions: - 2: "mute 1h" - 3: "ban 1h" - 5: "ban " - destination: - type: "CHAT" - cooldown: - enable: false - sound: - enable: false -#endregion warn -#region warnlist -warnlist: - enable: true - per_page: 4 - aliases: - - "warnlist" - cooldown: - enable: false - sound: - enable: false -#endregion warnlist diff --git a/pulse/ru/files/config.yml b/pulse/ru/files/config.yml deleted file mode 100644 index 6ff09eed..00000000 --- a/pulse/ru/files/config.yml +++ /dev/null @@ -1,143 +0,0 @@ -# ___ ___ __ ___ __ ___ -# |__ | |__ / ` | / \ |\ | |__ -# | |___ |___ \__, | \__/ | \| |___ -# __ __ ___ -# |__) | | | /__` |__ -# | \__/ |___ .__/ |___ /\ -# / \ -# __/\___ ____/\_____ ___/ \______ -# \/ \/ -# -# region version -version: "1.7.3" -# endregion version -#region language -language: - type: "en_us" - by_player: true -#endregion language -#region database -database: - ignore_existing_driver: false - type: "H2" - name: "flectonepulse" - host: "127.0.0.1" - port: "3306" - user: "root" - password: "1234" - parameters: "?autoReconnect=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8" - prefix: "" -#endregion database -#region proxy -proxy: - clusters: [] - bungeecord: false - velocity: false - redis: - enable: false - host: "127.0.0.1" - port: 6379 - ssl: false - user: "" - password: "" -#endregion proxy -#region command -command: - unregister_on_reload: false - disabled_fabric: - - "msg" - - "banlist" - - "kick" - - "w" - - "tell" - - "me" - - "pardon" - - "ban" -#endregion command -#region module -module: - enable: true - use_paper_message_sender: false -#endregion module -#region editor -editor: - host: "" - https: false - port: 25566 -#endregion editor -#region logger -logger: - console: "Console" - prefix: "\e[0;34m(FlectonePulse) \e[0m" - description: - - " \e[0;34m ___ ___ __ ___ __ ___ \e[0m" - - " \e[0;34m|__ | |__ / ` | / \\ |\\ | |__ \e[0m" - - " \e[0;34m| |___ |___ \\__, | \\__/ | \\| |___ \e[0m" - - " \e[0;34m __ __ ___ \e[0;96m \e[0m" - - " \e[0;34m|__) | | | /__` |__ \e[0;96m \e[0m" - - " \e[0;34m| \\__/ |___ .__/ |___\e[0;96m /\\ \e[0m" - - " \e[0;96m / \\ v \e[0m" - - " \e[0;96m__/\\___ ____/\\_____ ___/ \\______ \e[0m" - - " \e[0;96m \\/ \\/ \e[0m" - warn: "\e[0;93m" - info: "\e[0;96m" - filter: - - "Paper Async Command Builder" - - "Caught previously unhandled exception :" - - "Error received from Telegram GetUpdates Request" - - "OkHttp TaskRunner" - - "Exception in thread \"ForkJoinPool" - - "FlectonePulseDatabase - " -#endregion logger -#region cache -cache: - types: - COOLDOWN: - duration: 5 - time_unit: "HOURS" - size: 5000 - DIALOG_CLICK: - duration: 1 - time_unit: "SECONDS" - size: 100 - OFFLINE_PLAYERS: - duration: 1 - time_unit: "HOURS" - size: 1000 - MODERATION: - duration: 1 - time_unit: "HOURS" - size: 5000 - LEGACY_COLOR_MESSAGE: - duration: 10 - time_unit: "MINUTES" - size: 100000 - MENTION_MESSAGE: - duration: 10 - time_unit: "MINUTES" - size: 1000 - SWEAR_MESSAGE: - duration: 10 - time_unit: "MINUTES" - size: 100000 - REPLACEMENT_MESSAGE: - duration: 10 - time_unit: "MINUTES" - size: 100000 - REPLACEMENT_IMAGE: - duration: 10 - time_unit: "MINUTES" - size: 100 - TRANSLATE_MESSAGE: - duration: 1 - time_unit: "HOURS" - size: 5000 - PROFILE_PROPERTY: - duration: 1 - time_unit: "HOURS" - size: 1000 -#endregion cache -#region metrics -metrics: - enable: true -#endregion metrics diff --git a/pulse/ru/files/integration.yml b/pulse/ru/files/integration.yml deleted file mode 100644 index 2c3c85cc..00000000 --- a/pulse/ru/files/integration.yml +++ /dev/null @@ -1,210 +0,0 @@ -# ___ ___ __ ___ __ ___ -# |__ | |__ / ` | / \ |\ | |__ -# | |___ |___ \__, | \__/ | \| |___ -# __ __ ___ -# |__) | | | /__` |__ -# | \__/ |___ .__/ |___ /\ -# / \ -# __/\___ ____/\_____ ___/ \______ -# \/ \/ -# -#region integration -enable: true -avatar_api_url: "https://mc-heads.net/avatar//8.png" -body_api_url: "https://mc-heads.net/player//16.png" -#endregion integration -#region advancedban -advancedban: - enable: true - disable_flectonepulse_ban: true - disable_flectonepulse_mute: true - disable_flectonepulse_warn: true - disable_flectonepulse_kick: true -#endregion advancedban -#region deepl -deepl: - enable: false - auth_key: "" -#endregion deepl -#region discord -discord: - enable: false - token: "" - custom_command: - ping: - need_player: true - aliases: - - "!ping" - presence: - enable: true - status: "ONLINE" - activity: - enable: true - type: "PLAYING" - name: "FlectonePulse" - url: "https://flectone.net/pulse/" - channel_info: - enable: false - ticker: - enable: true - period: 1200 - message_channel: - FROM_DISCORD_TO_MINECRAFT: - - "123456" - CHAT_GLOBAL: - - "123456" - destination: - type: "CHAT" - sound: - enable: false -#endregion discord -#region floodgate -floodgate: - enable: true -#endregion floodgate -#region geyser -geyser: - enable: true -#endregion geyser -#region interactivechat -interactivechat: - enable: true -#endregion interactivechat -#region itemsadder -itemsadder: - enable: true -#endregion itemsadder -#region libertybans -libertybans: - enable: true - disable_flectonepulse_ban: true - disable_flectonepulse_mute: true - disable_flectonepulse_warn: true - disable_flectonepulse_kick: true -#endregion libertybans -#region litebans -litebans: - enable: true - disable_flectonepulse_ban: true - disable_flectonepulse_mute: true - disable_flectonepulse_warn: true - disable_flectonepulse_kick: true -#endregion litebans -#region luckperms -luckperms: - enable: true - tab_sort: true -#endregion luckperms -#region maintenance -maintenance: - enable: true - disable_flectonepulse_maintenance: true -#endregion maintenance -#region minimotd -minimotd: - enable: true - disable_flectonepulse_status: true -#endregion minimotd -#region miniplaceholders -miniplaceholders: - enable: true -#endregion miniplaceholders -#region motd -motd: - enable: true - disable_flectonepulse_status: true -#endregion motd -#region placeholderapi -placeholderapi: - enable: true -#endregion placeholderapi -#region plasmovoice -plasmovoice: - enable: true -#endregion plasmovoice -#region simplevoice -simplevoice: - enable: true -#endregion simplevoice -#region skinsrestorer -skinsrestorer: - enable: true -#endregion skinsrestorer -#region supervanish -supervanish: - enable: true -#endregion supervanish -#region tab -tab: - enable: true - disable_flectonepulse_scoreboard: true - disable_flectonepulse_header: true - disable_flectonepulse_footer: true - disable_flectonepulse_playerlistname: false -#endregion tab -#region telegram -telegram: - enable: false - parse_mode: "NONE" - token: "" - custom_command: - id: - need_player: false - aliases: - - "!id" - ping: - need_player: true - aliases: - - "!ping" - channel_info: - enable: false - ticker: - enable: true - period: 1200 - message_channel: - FROM_TELEGRAM_TO_MINECRAFT: - - "123456" - CHAT_GLOBAL: - - "123456" - destination: - type: "CHAT" - sound: - enable: false -#endregion telegram -#region triton -triton: - enable: true -#endregion triton -#region twitch -twitch: - enable: false - client_id: "" - token: "" - custom_command: - ping: - need_player: true - aliases: - - "!ping" - message_channel: - FROM_TWITCH_TO_MINECRAFT: - - "faseri4ka" - CHAT_GLOBAL: - - "faseri4ka" - follow_channel: - faseri4ka: - - "stream start https://twitch.tv/faseri4ka" - destination: - type: "CHAT" - sound: - enable: false -#endregion twitch -#region vault -vault: - enable: true -#endregion vault -#region yandex -yandex: - enable: false - token: "" - folder_id: "" -#endregion yandex diff --git a/pulse/ru/files/localizations/en_us.yml b/pulse/ru/files/localizations/en_us.yml deleted file mode 100644 index a39ab094..00000000 --- a/pulse/ru/files/localizations/en_us.yml +++ /dev/null @@ -1,1074 +0,0 @@ -# ___ ___ __ ___ __ ___ -# |__ | |__ / ` | / \ |\ | |__ -# | |___ |___ \__, | \__/ | \| |___ -# __ __ ___ -# |__) | | | /__` |__ -# | \__/ |___ .__/ |___ /\ -# / \ -# __/\___ ____/\_____ ___/ \______ -# \/ \/ -# -#region message -cooldown: "Too fast, you'll be able to use it in
" - person: "🔒 BAN 🔒

Date:

Time: