���Root Mod By V1rus_Alfa
User / IP
:
216.73.217.78
Host / Server
:
195.214.235.115 / npln.ir
System
:
Linux damavand.pws-dns.net 5.14.0-503.35.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 4 05:23:43 EDT 2025 x86_64
Command
|
Upload
|
Mass Deface
|
Create
:
/
home2
/
cutunixc
/
.trash
/
.nuxt.2
/
dist
/
server
/
Viewing: server.mjs.map.json
{"file":"server.mjs","mappings":"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A;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAC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","names":["$fetch","defineGetter","plugin","provide","plugins","_a","input","global","createH3Error","ref","entry","globalKey","_globalThis","generateRouteKey","createRadixRouter","categoryHEeVKZbjtsMeta","dimensionscU8I5vmGf8Meta","listM9gzApzT7xMeta","startdX7ZGjjPK7Meta","indexusxI0dLoIsMeta","index504FAFFiNRMeta","register_45otposhDnwkTpcMeta","logoutKYh9BesBWZMeta","paymentrhNIh1GTKPMeta","_91id_93AjoNP9cWWVMeta","indexpxq5S0XNCrMeta","listoj4B3D4mqaMeta","settingtBsTN3JnYNMeta","_91id_93YgzZGXlcLAMeta","_91id_93IH1Ku6DRbHMeta","createBPfwzmrd7IMeta","_91id_93JeHWkp9wlUMeta","_91id_93LBREf9DHdJMeta","units6twbcPZW1HMeta","index","defaultPageTransition","resolve","resolve2","__executeAsync","createRouter","_b","_c","createError","isPlainObject","MutationType","open","state","store","assign","$reset","options","cache","isEqual","parse","config","navigate","__appConfig","format","code","src","des","locale__home_cutunixc_analyze_cutunix_com_locales_fa_index_js","locale__home_cutunixc_analyze_cutunix_com_locales_en_index_js","getComposer","getLocale","normalizedLocales","localeCodes","vueI18nConfigs","localeLoaders","localePath","useNuxtCookie","useCookie","warnMessages","errorMessages","context","isLiteral","resource","baseCompile","initFeatureFlags","type","version","code$1","inc$1","getWarnMessage","inc","VERSION","resolveValue","msg","source","message","locale","locales","_context","messages","mergeLocaleMessage","composer","switchLocalePath","_getLocaleCookie","_getBrowserLocale","_setLocaleCookie","__temp","__restore","appConfig","colors","baseURL","notifications","notification","router_jmwsqit4Rs","plugin_vue3_A0OWXRrUgq","set","useVueRouterRoute","defaultLayoutTransition","defaultKeepaliveConfig","_getIcon","Iconify","_sfc_main","_ssrRenderComponent","_mergeProps","UIcon","_ssrRenderAttrs","_ssrRenderVNode","_createVNode","_resolveDynamicComponent","_ssrRenderClass","_ssrInterpolate","_ssrRenderSlot","_withCtx","_push","_parent","_renderSlot","ULink","_createBlock","_createCommentVNode","UAvatar","UButton","_ssrRenderList","_ssrRenderStyle","UNotification","_ssrRenderTeleport","_createSlots","_renderList","RootComponent"],"sources":["../../../virtual:nuxt:/home/cutunixc/analyze.cutunix.com/.nuxt/fetch.mjs","../../../virtual:nuxt:/home/cutunixc/analyze.cutunix.com/.nuxt/nuxt.config.mjs","../../../node_modules/nuxt/dist/app/nuxt.js","../../../node_modules/ufo/dist/index.mjs","../../../node_modules/nuxt/dist/app/components/injections.js","../../../node_modules/nuxt/dist/app/composables/router.js","../../../node_modules/nuxt/dist/app/composables/error.js","../../../node_modules/@unhead/vue/dist/shared/vue.40986ab9.mjs","../../../node_modules/@unhead/vue/dist/shared/vue.65b7bcda.mjs","../../../node_modules/@unhead/vue/dist/index.mjs","../../../virtual:nuxt:/home/cutunixc/analyze.cutunix.com/.nuxt/unhead-plugins.mjs","../../../node_modules/nuxt/dist/head/runtime/plugins/unhead.js","../../../node_modules/unctx/dist/index.mjs","../../../node_modules/nuxt/dist/pages/runtime/utils.js","../../../node_modules/nuxt/dist/app/composables/manifest.js","../../../virtual:nuxt:/home/cutunixc/analyze.cutunix.com/.nuxt/routes.mjs","../../../node_modules/nuxt/dist/app/components/utils.js","../../../node_modules/nuxt/dist/pages/runtime/router.options.js","../../../virtual:nuxt:/home/cutunixc/analyze.cutunix.com/.nuxt/router.options.mjs","../../../node_modules/nuxt/dist/pages/runtime/validate.js","../../../node_modules/nuxt/dist/app/middleware/manifest-route-rule.js","../../../virtual:nuxt:/home/cutunixc/analyze.cutunix.com/.nuxt/middleware.mjs","../../../node_modules/nuxt/dist/pages/runtime/plugins/router.js","../../../node_modules/nuxt/dist/app/composables/payload.js","../../../node_modules/nuxt/dist/app/plugins/revive-payload.server.js","../../../node_modules/nuxt/dist/app/compat/capi.js","../../../node_modules/nuxt/dist/app/compat/vue-demi.js","../../../node_modules/pinia/dist/pinia.mjs","../../../node_modules/nuxt/dist/app/composables/asyncData.js","../../../node_modules/nuxt/dist/app/composables/state.js","../../../node_modules/nuxt/dist/app/composables/ssr.js","../../../node_modules/nuxt/dist/app/composables/cookie.js","../../../node_modules/nuxt/dist/app/composables/preload.js","../../../node_modules/nuxt/dist/app/components/client-only.js","../../../node_modules/nuxt/dist/app/components/nuxt-link.js","../../app.config.mjs","../../../node_modules/nuxt/dist/app/config.js","../../../node_modules/@pinia/nuxt/dist/runtime/plugin.vue3.mjs","../../../node_modules/@nuxt/icon/dist/runtime/components/index.js?nuxt_component=async&nuxt_component_name=Icon&nuxt_component_export=default","../../../virtual:nuxt:/home/cutunixc/analyze.cutunix.com/.nuxt/components.plugin.mjs","../../../node_modules/@intlify/shared/dist/shared.mjs","../../../node_modules/is-https/dist/index.mjs","../../i18n.options.mjs","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/utils.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/messages.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/compatibles/utils.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/compatibles/routing.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/compatibles/head.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/extends/router.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/utils.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/internal.js","../../../node_modules/@intlify/message-compiler/dist/message-compiler.mjs","../../../node_modules/@intlify/core-base/dist/core-base.mjs","../../../node_modules/vue-i18n/dist/vue-i18n.mjs","../../../node_modules/@nuxtjs/i18n/dist/runtime/composables/index.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/switch-locale-path-ssr.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/extends/i18n.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/i18n.js","../../../node_modules/@nuxt/ui/dist/runtime/composables/useSlideover.js","../../../node_modules/@nuxt/ui/dist/runtime/plugins/slideovers.js","../../../node_modules/@nuxt/ui/dist/runtime/composables/useModal.js","../../../node_modules/@nuxt/ui/dist/runtime/plugins/modals.js","../../../node_modules/@nuxt/ui/dist/runtime/utils/lodash.js","../../../node_modules/@nuxt/ui/dist/runtime/utils/link.js","../../../node_modules/@nuxt/ui/dist/runtime/utils/index.js","../../../virtual:nuxt:/home/cutunixc/analyze.cutunix.com/.nuxt/tailwind.config/theme/colors.mjs","../../../node_modules/@nuxt/ui/dist/runtime/plugins/colors.js","../../../virtual:nuxt:/home/cutunixc/analyze.cutunix.com/.nuxt/color-mode-options.mjs","../../../node_modules/@nuxtjs/color-mode/dist/runtime/plugin.server.js","../../../node_modules/@nuxt/icon/dist/runtime/plugin.js","../../../node_modules/@nuxt/ui/dist/runtime/composables/useToast.js","../../../plugins/api.ts","../../../virtual:nuxt:/home/cutunixc/analyze.cutunix.com/.nuxt/plugins/server.mjs","../../../node_modules/@vite-pwa/nuxt/dist/runtime/components/VitePwaManifest.mjs","../../../node_modules/nuxt/dist/app/composables/loading-indicator.js","../../../node_modules/nuxt/dist/app/components/nuxt-loading-indicator.js","../../../virtual:nuxt:/home/cutunixc/analyze.cutunix.com/.nuxt/layouts.mjs","../../../node_modules/nuxt/dist/app/components/nuxt-layout.js","../../../node_modules/nuxt/dist/app/components/route-provider.js","../../../node_modules/nuxt/dist/pages/runtime/page.js","../../../node_modules/@nuxt/icon/dist/runtime/components/shared.js","../../../node_modules/@nuxt/icon/dist/runtime/components/css.js","../../../node_modules/@nuxt/icon/dist/runtime/components/svg.js","../../../node_modules/@nuxt/icon/dist/runtime/components/index.js","../../../node_modules/@nuxt/ui/dist/runtime/components/elements/Icon.vue","../../../node_modules/@nuxt/ui/dist/runtime/composables/useUI.js","../../../node_modules/@nuxt/ui/dist/runtime/ui.config/elements/avatar.js","../../../node_modules/@nuxt/ui/dist/runtime/ui.config/elements/button.js","../../../node_modules/@nuxt/ui/dist/runtime/ui.config/popper.js","../../../node_modules/@nuxt/ui/dist/runtime/ui.config/forms/input.js","../../../node_modules/@nuxt/ui/dist/runtime/ui.config/forms/inputMenu.js","../../../node_modules/@nuxt/ui/dist/runtime/ui.config/forms/textarea.js","../../../node_modules/@nuxt/ui/dist/runtime/ui.config/forms/select.js","../../../node_modules/@nuxt/ui/dist/runtime/ui.config/forms/selectMenu.js","../../../node_modules/@nuxt/ui/dist/runtime/ui.config/overlays/notification.js","../../../node_modules/@nuxt/ui/dist/runtime/ui.config/overlays/notifications.js","../../../node_modules/@nuxt/ui/dist/runtime/components/elements/Avatar.vue","../../../node_modules/@nuxt/ui/dist/runtime/components/elements/Link.vue","../../../node_modules/@nuxt/ui/dist/runtime/composables/useButtonGroup.js","../../../node_modules/@nuxt/ui/dist/runtime/components/elements/Button.vue","../../../node_modules/@nuxt/ui/dist/runtime/composables/useTimer.js","../../../node_modules/@nuxt/ui/dist/runtime/components/overlays/Notification.vue","../../../node_modules/@nuxt/ui/dist/runtime/components/overlays/Notifications.vue","../../../app.vue","../../../node_modules/nuxt/dist/app/components/nuxt-error-page.vue","../../../node_modules/nuxt/dist/app/components/nuxt-root.vue","../../../node_modules/nuxt/dist/app/entry.js"],"sourcesContent":["import { $fetch } from 'ofetch'\nimport { baseURL } from '#internal/nuxt/paths'\nif (!globalThis.$fetch) {\n globalThis.$fetch = $fetch.create({\n baseURL: baseURL()\n })\n}","export const appHead = {\"meta\":[{\"charset\":\"utf-8\"},{\"name\":\"viewport\",\"content\":\"initial-scale=1, user-scalable=no, width=device-width, height=device-height, viewport-fit=cover\"},{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"},{\"name\":\"referrer\",\"content\":\"origin\"},{\"name\":\"apple-touch-fullscreen\",\"content\":\"yes\"},{\"name\":\"apple-mobile-web-app-capable\",\"content\":\"yes\"},{\"name\":\"description\",\"content\":\"کارگاه خدمات ام دی اف کات یونیکس ارائه دهنده خدمات برش اتوماتیک، وکیوم، CNC، PVC- فروش انواع ورقهای ام دی اف و انواع اکسسوری های داخلی\"},{\"name\":\"og:description\",\"content\":\"کارگاه خدمات ام دی اف کات یونیکس ارائه دهنده خدمات برش اتوماتیک، وکیوم، CNC، PVC- فروش انواع ورقهای ام دی اف و انواع اکسسوری های داخلی\"},{\"name\":\"og:image\",\"content\":\"/apple-touch-icon.png\"},{\"name\":\"og:site_name\",\"content\":\"کات یونیکس | وب اپلیکیشن آنالیز یونیت\"},{\"name\":\"og:title\",\"content\":\"کات یونیکس | وب اپلیکیشن آنالیز یونیت\"},{\"name\":\"twitter:description\",\"content\":\"کارگاه خدمات ام دی اف کات یونیکس ارائه دهنده خدمات برش اتوماتیک، وکیوم، CNC، PVC- فروش انواع ورقهای ام دی اف و انواع اکسسوری های داخلی\"},{\"name\":\"twitter:title\",\"content\":\"کات یونیکس | وب اپلیکیشن آنالیز یونیت\"},{\"name\":\"twitter:site_name\",\"content\":\"کات یونیکس | وب اپلیکیشن آنالیز یونیت\"},{\"name\":\"twitter:image\",\"content\":\"/apple-touch-icon.png\"},{\"name\":\"theme-color\",\"content\":\"#ff5722\"}],\"link\":[{\"rel\":\"icon\",\"href\":\"/favicon.ico\"},{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-touch-icon.png\"}],\"style\":[],\"script\":[],\"noscript\":[],\"title\":\"کات یونیکس | وب اپلیکیشن آنالیز یونیت\"}\n\nexport const appBaseURL = \"/\"\n\nexport const appBuildAssetsDir = \"/_nuxt/\"\n\nexport const appCdnURL = \"\"\n\nexport const appLayoutTransition = false\n\nexport const appPageTransition = false\n\nexport const appViewTransition = false\n\nexport const appKeepalive = false\n\nexport const appRootId = \"__nuxt\"\n\nexport const appRootTag = \"div\"\n\nexport const appRootAttrs = {\"id\":\"__nuxt\"}\n\nexport const appTeleportTag = \"div\"\n\nexport const appTeleportId = \"teleports\"\n\nexport const appTeleportAttrs = {\"id\":\"teleports\"}\n\nexport const renderJsonPayloads = true\n\nexport const componentIslands = false\n\nexport const payloadExtraction = true\n\nexport const cookieStore = true\n\nexport const appManifest = true\n\nexport const remoteComponentIslands = false\n\nexport const selectiveClient = false\n\nexport const devPagesDir = null\n\nexport const devRootDir = null\n\nexport const devLogs = false\n\nexport const nuxtLinkDefaults = {\"componentName\":\"NuxtLink\",\"prefetch\":true,\"prefetchOn\":{\"visibility\":true}}\n\nexport const asyncDataDefaults = {\"value\":null,\"errorValue\":null,\"deep\":true}\n\nexport const resetAsyncDataToUndefined = true\n\nexport const nuxtDefaultErrorValue = null\n\nexport const fetchDefaults = {}\n\nexport const vueAppRootContainer = '#__nuxt'\n\nexport const viewTransition = false\n\nexport const appId = \"nuxt-app\"\n\nexport const outdatedBuildInterval = 3600000\n\nexport const multiApp = false","import { effectScope, getCurrentInstance, getCurrentScope, hasInjectionContext, reactive, shallowReactive } from \"vue\";\nimport { createHooks } from \"hookable\";\nimport { getContext } from \"unctx\";\nimport { appId, multiApp } from \"#build/nuxt.config.mjs\";\nfunction getNuxtAppCtx(id = appId || \"nuxt-app\") {\n return getContext(id, {\n asyncContext: !!__NUXT_ASYNC_CONTEXT__ && import.meta.server\n });\n}\nexport const NuxtPluginIndicator = \"__nuxt_plugin\";\nexport function createNuxtApp(options) {\n let hydratingCount = 0;\n const nuxtApp = {\n _id: options.id || appId || \"nuxt-app\",\n _scope: effectScope(),\n provide: void 0,\n globalName: \"nuxt\",\n versions: {\n get nuxt() {\n return __NUXT_VERSION__;\n },\n get vue() {\n return nuxtApp.vueApp.version;\n }\n },\n payload: shallowReactive({\n data: shallowReactive({}),\n state: reactive({}),\n once: /* @__PURE__ */ new Set(),\n _errors: shallowReactive({})\n }),\n static: {\n data: {}\n },\n runWithContext(fn) {\n if (nuxtApp._scope.active && !getCurrentScope()) {\n return nuxtApp._scope.run(() => callWithNuxt(nuxtApp, fn));\n }\n return callWithNuxt(nuxtApp, fn);\n },\n isHydrating: import.meta.client,\n deferHydration() {\n if (!nuxtApp.isHydrating) {\n return () => {\n };\n }\n hydratingCount++;\n let called = false;\n return () => {\n if (called) {\n return;\n }\n called = true;\n hydratingCount--;\n if (hydratingCount === 0) {\n nuxtApp.isHydrating = false;\n return nuxtApp.callHook(\"app:suspense:resolve\");\n }\n };\n },\n _asyncDataPromises: {},\n _asyncData: shallowReactive({}),\n _payloadRevivers: {},\n ...options\n };\n if (import.meta.server) {\n nuxtApp.payload.serverRendered = true;\n }\n if (import.meta.client) {\n const __NUXT__ = multiApp ? window.__NUXT__?.[nuxtApp._id] : window.__NUXT__;\n if (__NUXT__) {\n for (const key in __NUXT__) {\n switch (key) {\n case \"data\":\n case \"state\":\n case \"_errors\":\n Object.assign(nuxtApp.payload[key], __NUXT__[key]);\n break;\n default:\n nuxtApp.payload[key] = __NUXT__[key];\n }\n }\n }\n }\n nuxtApp.hooks = createHooks();\n nuxtApp.hook = nuxtApp.hooks.hook;\n if (import.meta.server) {\n const contextCaller = async function(hooks, args) {\n for (const hook of hooks) {\n await nuxtApp.runWithContext(() => hook(...args));\n }\n };\n nuxtApp.hooks.callHook = (name, ...args) => nuxtApp.hooks.callHookWith(contextCaller, name, ...args);\n }\n nuxtApp.callHook = nuxtApp.hooks.callHook;\n nuxtApp.provide = (name, value) => {\n const $name = \"$\" + name;\n defineGetter(nuxtApp, $name, value);\n defineGetter(nuxtApp.vueApp.config.globalProperties, $name, value);\n };\n defineGetter(nuxtApp.vueApp, \"$nuxt\", nuxtApp);\n defineGetter(nuxtApp.vueApp.config.globalProperties, \"$nuxt\", nuxtApp);\n if (import.meta.server) {\n if (nuxtApp.ssrContext) {\n nuxtApp.ssrContext.nuxt = nuxtApp;\n nuxtApp.ssrContext._payloadReducers = {};\n nuxtApp.payload.path = nuxtApp.ssrContext.url;\n }\n nuxtApp.ssrContext = nuxtApp.ssrContext || {};\n if (nuxtApp.ssrContext.payload) {\n Object.assign(nuxtApp.payload, nuxtApp.ssrContext.payload);\n }\n nuxtApp.ssrContext.payload = nuxtApp.payload;\n nuxtApp.ssrContext.config = {\n public: options.ssrContext.runtimeConfig.public,\n app: options.ssrContext.runtimeConfig.app\n };\n }\n if (import.meta.client) {\n window.addEventListener(\"nuxt.preloadError\", (event) => {\n nuxtApp.callHook(\"app:chunkError\", { error: event.payload });\n });\n window.useNuxtApp = window.useNuxtApp || useNuxtApp;\n const unreg = nuxtApp.hook(\"app:error\", (...args) => {\n console.error(\"[nuxt] error caught during app initialization\", ...args);\n });\n nuxtApp.hook(\"app:mounted\", unreg);\n }\n const runtimeConfig = import.meta.server ? options.ssrContext.runtimeConfig : nuxtApp.payload.config;\n nuxtApp.provide(\"config\", import.meta.client && import.meta.dev ? wrappedConfig(runtimeConfig) : runtimeConfig);\n return nuxtApp;\n}\nexport function registerPluginHooks(nuxtApp, plugin) {\n if (plugin.hooks) {\n nuxtApp.hooks.addHooks(plugin.hooks);\n }\n}\nexport async function applyPlugin(nuxtApp, plugin) {\n if (typeof plugin === \"function\") {\n const { provide } = await nuxtApp.runWithContext(() => plugin(nuxtApp)) || {};\n if (provide && typeof provide === \"object\") {\n for (const key in provide) {\n nuxtApp.provide(key, provide[key]);\n }\n }\n }\n}\nexport async function applyPlugins(nuxtApp, plugins) {\n const resolvedPlugins = [];\n const unresolvedPlugins = [];\n const parallels = [];\n const errors = [];\n let promiseDepth = 0;\n async function executePlugin(plugin) {\n const unresolvedPluginsForThisPlugin = plugin.dependsOn?.filter((name) => plugins.some((p) => p._name === name) && !resolvedPlugins.includes(name)) ?? [];\n if (unresolvedPluginsForThisPlugin.length > 0) {\n unresolvedPlugins.push([new Set(unresolvedPluginsForThisPlugin), plugin]);\n } else {\n const promise = applyPlugin(nuxtApp, plugin).then(async () => {\n if (plugin._name) {\n resolvedPlugins.push(plugin._name);\n await Promise.all(unresolvedPlugins.map(async ([dependsOn, unexecutedPlugin]) => {\n if (dependsOn.has(plugin._name)) {\n dependsOn.delete(plugin._name);\n if (dependsOn.size === 0) {\n promiseDepth++;\n await executePlugin(unexecutedPlugin);\n }\n }\n }));\n }\n });\n if (plugin.parallel) {\n parallels.push(promise.catch((e) => errors.push(e)));\n } else {\n await promise;\n }\n }\n }\n for (const plugin of plugins) {\n if (import.meta.server && nuxtApp.ssrContext?.islandContext && plugin.env?.islands === false) {\n continue;\n }\n registerPluginHooks(nuxtApp, plugin);\n }\n for (const plugin of plugins) {\n if (import.meta.server && nuxtApp.ssrContext?.islandContext && plugin.env?.islands === false) {\n continue;\n }\n await executePlugin(plugin);\n }\n await Promise.all(parallels);\n if (promiseDepth) {\n for (let i = 0; i < promiseDepth; i++) {\n await Promise.all(parallels);\n }\n }\n if (errors.length) {\n throw errors[0];\n }\n}\n// @__NO_SIDE_EFFECTS__\nexport function defineNuxtPlugin(plugin) {\n if (typeof plugin === \"function\") {\n return plugin;\n }\n const _name = plugin._name || plugin.name;\n delete plugin.name;\n return Object.assign(plugin.setup || (() => {\n }), plugin, { [NuxtPluginIndicator]: true, _name });\n}\nexport const definePayloadPlugin = defineNuxtPlugin;\nexport function isNuxtPlugin(plugin) {\n return typeof plugin === \"function\" && NuxtPluginIndicator in plugin;\n}\nexport function callWithNuxt(nuxt, setup, args) {\n const fn = () => args ? setup(...args) : setup();\n const nuxtAppCtx = getNuxtAppCtx(nuxt._id);\n if (import.meta.server) {\n return nuxt.vueApp.runWithContext(() => nuxtAppCtx.callAsync(nuxt, fn));\n } else {\n nuxtAppCtx.set(nuxt);\n return nuxt.vueApp.runWithContext(fn);\n }\n}\nexport function tryUseNuxtApp(id) {\n let nuxtAppInstance;\n if (hasInjectionContext()) {\n nuxtAppInstance = getCurrentInstance()?.appContext.app.$nuxt;\n }\n nuxtAppInstance = nuxtAppInstance || getNuxtAppCtx(id).tryUse();\n return nuxtAppInstance || null;\n}\nexport function useNuxtApp(id) {\n const nuxtAppInstance = tryUseNuxtApp(id);\n if (!nuxtAppInstance) {\n if (import.meta.dev) {\n throw new Error(\"[nuxt] A composable that requires access to the Nuxt instance was called outside of a plugin, Nuxt hook, Nuxt middleware, or Vue setup function. This is probably not a Nuxt bug. Find out more at `https://nuxt.com/docs/guide/concepts/auto-imports#vue-and-nuxt-composables`.\");\n } else {\n throw new Error(\"[nuxt] instance unavailable\");\n }\n }\n return nuxtAppInstance;\n}\n// @__NO_SIDE_EFFECTS__\nexport function useRuntimeConfig(_event) {\n return useNuxtApp().$config;\n}\nfunction defineGetter(obj, key, val) {\n Object.defineProperty(obj, key, { get: () => val });\n}\nexport function defineAppConfig(config) {\n return config;\n}\nconst loggedKeys = /* @__PURE__ */ new Set();\nfunction wrappedConfig(runtimeConfig) {\n if (!import.meta.dev || import.meta.server) {\n return runtimeConfig;\n }\n const keys = Object.keys(runtimeConfig).map((key) => `\\`${key}\\``);\n const lastKey = keys.pop();\n return new Proxy(runtimeConfig, {\n get(target, p, receiver) {\n if (typeof p === \"string\" && p !== \"public\" && !(p in target) && !p.startsWith(\"__v\")) {\n if (!loggedKeys.has(p)) {\n loggedKeys.add(p);\n console.warn(`[nuxt] Could not access \\`${p}\\`. The only available runtime config keys on the client side are ${keys.join(\", \")} and ${lastKey}. See https://nuxt.com/docs/guide/going-further/runtime-config for more information.`);\n }\n }\n return Reflect.get(target, p, receiver);\n }\n });\n}\n","const n = /[^\\0-\\x7E]/;\nconst t = /[\\x2E\\u3002\\uFF0E\\uFF61]/g;\nconst o = {\n overflow: \"Overflow Error\",\n \"not-basic\": \"Illegal Input\",\n \"invalid-input\": \"Invalid Input\"\n};\nconst e = Math.floor;\nconst r = String.fromCharCode;\nfunction s(n2) {\n throw new RangeError(o[n2]);\n}\nconst c = function(n2, t2) {\n return n2 + 22 + 75 * (n2 < 26) - ((t2 != 0) << 5);\n};\nconst u = function(n2, t2, o2) {\n let r2 = 0;\n for (n2 = o2 ? e(n2 / 700) : n2 >> 1, n2 += e(n2 / t2); n2 > 455; r2 += 36) {\n n2 = e(n2 / 35);\n }\n return e(r2 + 36 * n2 / (n2 + 38));\n};\nfunction toASCII(o2) {\n return function(n2, o3) {\n const e2 = n2.split(\"@\");\n let r2 = \"\";\n e2.length > 1 && (r2 = e2[0] + \"@\", n2 = e2[1]);\n const s2 = function(n3, t2) {\n const o4 = [];\n let e3 = n3.length;\n for (; e3--; ) {\n o4[e3] = t2(n3[e3]);\n }\n return o4;\n }((n2 = n2.replace(t, \".\")).split(\".\"), o3).join(\".\");\n return r2 + s2;\n }(o2, function(t2) {\n return n.test(t2) ? \"xn--\" + function(n2) {\n const t3 = [];\n const o3 = (n2 = function(n3) {\n const t4 = [];\n let o4 = 0;\n const e2 = n3.length;\n for (; o4 < e2; ) {\n const r2 = n3.charCodeAt(o4++);\n if (r2 >= 55296 && r2 <= 56319 && o4 < e2) {\n const e3 = n3.charCodeAt(o4++);\n (64512 & e3) == 56320 ? t4.push(((1023 & r2) << 10) + (1023 & e3) + 65536) : (t4.push(r2), o4--);\n } else {\n t4.push(r2);\n }\n }\n return t4;\n }(n2)).length;\n let f = 128;\n let i = 0;\n let l = 72;\n for (const o4 of n2) {\n o4 < 128 && t3.push(r(o4));\n }\n const h = t3.length;\n let p = h;\n for (h && t3.push(\"-\"); p < o3; ) {\n let o4 = 2147483647;\n for (const t4 of n2) {\n t4 >= f && t4 < o4 && (o4 = t4);\n }\n const a = p + 1;\n o4 - f > e((2147483647 - i) / a) && s(\"overflow\"), i += (o4 - f) * a, f = o4;\n for (const o5 of n2) {\n if (o5 < f && ++i > 2147483647 && s(\"overflow\"), o5 == f) {\n let n3 = i;\n for (let o6 = 36; ; o6 += 36) {\n const s2 = o6 <= l ? 1 : o6 >= l + 26 ? 26 : o6 - l;\n if (n3 < s2) {\n break;\n }\n const u2 = n3 - s2;\n const f2 = 36 - s2;\n t3.push(r(c(s2 + u2 % f2, 0))), n3 = e(u2 / f2);\n }\n t3.push(r(c(n3, 0))), l = u(i, a, p == h), i = 0, ++p;\n }\n }\n ++i, ++f;\n }\n return t3.join(\"\");\n }(t2) : t2;\n });\n}\n\nconst HASH_RE = /#/g;\nconst AMPERSAND_RE = /&/g;\nconst SLASH_RE = /\\//g;\nconst EQUAL_RE = /=/g;\nconst IM_RE = /\\?/g;\nconst PLUS_RE = /\\+/g;\nconst ENC_CARET_RE = /%5e/gi;\nconst ENC_BACKTICK_RE = /%60/gi;\nconst ENC_CURLY_OPEN_RE = /%7b/gi;\nconst ENC_PIPE_RE = /%7c/gi;\nconst ENC_CURLY_CLOSE_RE = /%7d/gi;\nconst ENC_SPACE_RE = /%20/gi;\nconst ENC_SLASH_RE = /%2f/gi;\nconst ENC_ENC_SLASH_RE = /%252f/gi;\nfunction encode(text) {\n return encodeURI(\"\" + text).replace(ENC_PIPE_RE, \"|\");\n}\nfunction encodeHash(text) {\n return encode(text).replace(ENC_CURLY_OPEN_RE, \"{\").replace(ENC_CURLY_CLOSE_RE, \"}\").replace(ENC_CARET_RE, \"^\");\n}\nfunction encodeQueryValue(input) {\n return encode(typeof input === \"string\" ? input : JSON.stringify(input)).replace(PLUS_RE, \"%2B\").replace(ENC_SPACE_RE, \"+\").replace(HASH_RE, \"%23\").replace(AMPERSAND_RE, \"%26\").replace(ENC_BACKTICK_RE, \"`\").replace(ENC_CARET_RE, \"^\").replace(SLASH_RE, \"%2F\");\n}\nfunction encodeQueryKey(text) {\n return encodeQueryValue(text).replace(EQUAL_RE, \"%3D\");\n}\nfunction encodePath(text) {\n return encode(text).replace(HASH_RE, \"%23\").replace(IM_RE, \"%3F\").replace(ENC_ENC_SLASH_RE, \"%2F\").replace(AMPERSAND_RE, \"%26\").replace(PLUS_RE, \"%2B\");\n}\nfunction encodeParam(text) {\n return encodePath(text).replace(SLASH_RE, \"%2F\");\n}\nfunction decode(text = \"\") {\n try {\n return decodeURIComponent(\"\" + text);\n } catch {\n return \"\" + text;\n }\n}\nfunction decodePath(text) {\n return decode(text.replace(ENC_SLASH_RE, \"%252F\"));\n}\nfunction decodeQueryKey(text) {\n return decode(text.replace(PLUS_RE, \" \"));\n}\nfunction decodeQueryValue(text) {\n return decode(text.replace(PLUS_RE, \" \"));\n}\nfunction encodeHost(name = \"\") {\n return toASCII(name);\n}\n\nfunction parseQuery(parametersString = \"\") {\n const object = {};\n if (parametersString[0] === \"?\") {\n parametersString = parametersString.slice(1);\n }\n for (const parameter of parametersString.split(\"&\")) {\n const s = parameter.match(/([^=]+)=?(.*)/) || [];\n if (s.length < 2) {\n continue;\n }\n const key = decodeQueryKey(s[1]);\n if (key === \"__proto__\" || key === \"constructor\") {\n continue;\n }\n const value = decodeQueryValue(s[2] || \"\");\n if (object[key] === void 0) {\n object[key] = value;\n } else if (Array.isArray(object[key])) {\n object[key].push(value);\n } else {\n object[key] = [object[key], value];\n }\n }\n return object;\n}\nfunction encodeQueryItem(key, value) {\n if (typeof value === \"number\" || typeof value === \"boolean\") {\n value = String(value);\n }\n if (!value) {\n return encodeQueryKey(key);\n }\n if (Array.isArray(value)) {\n return value.map((_value) => `${encodeQueryKey(key)}=${encodeQueryValue(_value)}`).join(\"&\");\n }\n return `${encodeQueryKey(key)}=${encodeQueryValue(value)}`;\n}\nfunction stringifyQuery(query) {\n return Object.keys(query).filter((k) => query[k] !== void 0).map((k) => encodeQueryItem(k, query[k])).filter(Boolean).join(\"&\");\n}\n\nconst PROTOCOL_STRICT_REGEX = /^[\\s\\w\\0+.-]{2,}:([/\\\\]{1,2})/;\nconst PROTOCOL_REGEX = /^[\\s\\w\\0+.-]{2,}:([/\\\\]{2})?/;\nconst PROTOCOL_RELATIVE_REGEX = /^([/\\\\]\\s*){2,}[^/\\\\]/;\nconst PROTOCOL_SCRIPT_RE = /^[\\s\\0]*(blob|data|javascript|vbscript):$/i;\nconst TRAILING_SLASH_RE = /\\/$|\\/\\?|\\/#/;\nconst JOIN_LEADING_SLASH_RE = /^\\.?\\//;\nfunction isRelative(inputString) {\n return [\"./\", \"../\"].some((string_) => inputString.startsWith(string_));\n}\nfunction hasProtocol(inputString, opts = {}) {\n if (typeof opts === \"boolean\") {\n opts = { acceptRelative: opts };\n }\n if (opts.strict) {\n return PROTOCOL_STRICT_REGEX.test(inputString);\n }\n return PROTOCOL_REGEX.test(inputString) || (opts.acceptRelative ? PROTOCOL_RELATIVE_REGEX.test(inputString) : false);\n}\nfunction isScriptProtocol(protocol) {\n return !!protocol && PROTOCOL_SCRIPT_RE.test(protocol);\n}\nfunction hasTrailingSlash(input = \"\", respectQueryAndFragment) {\n if (!respectQueryAndFragment) {\n return input.endsWith(\"/\");\n }\n return TRAILING_SLASH_RE.test(input);\n}\nfunction withoutTrailingSlash(input = \"\", respectQueryAndFragment) {\n if (!respectQueryAndFragment) {\n return (hasTrailingSlash(input) ? input.slice(0, -1) : input) || \"/\";\n }\n if (!hasTrailingSlash(input, true)) {\n return input || \"/\";\n }\n let path = input;\n let fragment = \"\";\n const fragmentIndex = input.indexOf(\"#\");\n if (fragmentIndex >= 0) {\n path = input.slice(0, fragmentIndex);\n fragment = input.slice(fragmentIndex);\n }\n const [s0, ...s] = path.split(\"?\");\n const cleanPath = s0.endsWith(\"/\") ? s0.slice(0, -1) : s0;\n return (cleanPath || \"/\") + (s.length > 0 ? `?${s.join(\"?\")}` : \"\") + fragment;\n}\nfunction withTrailingSlash(input = \"\", respectQueryAndFragment) {\n if (!respectQueryAndFragment) {\n return input.endsWith(\"/\") ? input : input + \"/\";\n }\n if (hasTrailingSlash(input, true)) {\n return input || \"/\";\n }\n let path = input;\n let fragment = \"\";\n const fragmentIndex = input.indexOf(\"#\");\n if (fragmentIndex >= 0) {\n path = input.slice(0, fragmentIndex);\n fragment = input.slice(fragmentIndex);\n if (!path) {\n return fragment;\n }\n }\n const [s0, ...s] = path.split(\"?\");\n return s0 + \"/\" + (s.length > 0 ? `?${s.join(\"?\")}` : \"\") + fragment;\n}\nfunction hasLeadingSlash(input = \"\") {\n return input.startsWith(\"/\");\n}\nfunction withoutLeadingSlash(input = \"\") {\n return (hasLeadingSlash(input) ? input.slice(1) : input) || \"/\";\n}\nfunction withLeadingSlash(input = \"\") {\n return hasLeadingSlash(input) ? input : \"/\" + input;\n}\nfunction cleanDoubleSlashes(input = \"\") {\n return input.split(\"://\").map((string_) => string_.replace(/\\/{2,}/g, \"/\")).join(\"://\");\n}\nfunction withBase(input, base) {\n if (isEmptyURL(base) || hasProtocol(input)) {\n return input;\n }\n const _base = withoutTrailingSlash(base);\n if (input.startsWith(_base)) {\n return input;\n }\n return joinURL(_base, input);\n}\nfunction withoutBase(input, base) {\n if (isEmptyURL(base)) {\n return input;\n }\n const _base = withoutTrailingSlash(base);\n if (!input.startsWith(_base)) {\n return input;\n }\n const trimmed = input.slice(_base.length);\n return trimmed[0] === \"/\" ? trimmed : \"/\" + trimmed;\n}\nfunction withQuery(input, query) {\n const parsed = parseURL(input);\n const mergedQuery = { ...parseQuery(parsed.search), ...query };\n parsed.search = stringifyQuery(mergedQuery);\n return stringifyParsedURL(parsed);\n}\nfunction getQuery(input) {\n return parseQuery(parseURL(input).search);\n}\nfunction isEmptyURL(url) {\n return !url || url === \"/\";\n}\nfunction isNonEmptyURL(url) {\n return url && url !== \"/\";\n}\nfunction joinURL(base, ...input) {\n let url = base || \"\";\n for (const segment of input.filter((url2) => isNonEmptyURL(url2))) {\n if (url) {\n const _segment = segment.replace(JOIN_LEADING_SLASH_RE, \"\");\n url = withTrailingSlash(url) + _segment;\n } else {\n url = segment;\n }\n }\n return url;\n}\nfunction joinRelativeURL(..._input) {\n const JOIN_SEGMENT_SPLIT_RE = /\\/(?!\\/)/;\n const input = _input.filter(Boolean);\n const segments = [];\n let segmentsDepth = 0;\n for (const i of input) {\n if (!i || i === \"/\") {\n continue;\n }\n for (const [sindex, s] of i.split(JOIN_SEGMENT_SPLIT_RE).entries()) {\n if (!s || s === \".\") {\n continue;\n }\n if (s === \"..\") {\n if (segments.length === 1 && hasProtocol(segments[0])) {\n continue;\n }\n segments.pop();\n segmentsDepth--;\n continue;\n }\n if (sindex === 1 && segments[segments.length - 1]?.endsWith(\":/\")) {\n segments[segments.length - 1] += \"/\" + s;\n continue;\n }\n segments.push(s);\n segmentsDepth++;\n }\n }\n let url = segments.join(\"/\");\n if (segmentsDepth >= 0) {\n if (input[0]?.startsWith(\"/\") && !url.startsWith(\"/\")) {\n url = \"/\" + url;\n } else if (input[0]?.startsWith(\"./\") && !url.startsWith(\"./\")) {\n url = \"./\" + url;\n }\n } else {\n url = \"../\".repeat(-1 * segmentsDepth) + url;\n }\n if (input[input.length - 1]?.endsWith(\"/\") && !url.endsWith(\"/\")) {\n url += \"/\";\n }\n return url;\n}\nfunction withHttp(input) {\n return withProtocol(input, \"http://\");\n}\nfunction withHttps(input) {\n return withProtocol(input, \"https://\");\n}\nfunction withoutProtocol(input) {\n return withProtocol(input, \"\");\n}\nfunction withProtocol(input, protocol) {\n let match = input.match(PROTOCOL_REGEX);\n if (!match) {\n match = input.match(/^\\/{2,}/);\n }\n if (!match) {\n return protocol + input;\n }\n return protocol + input.slice(match[0].length);\n}\nfunction normalizeURL(input) {\n const parsed = parseURL(input);\n parsed.pathname = encodePath(decodePath(parsed.pathname));\n parsed.hash = encodeHash(decode(parsed.hash));\n parsed.host = encodeHost(decode(parsed.host));\n parsed.search = stringifyQuery(parseQuery(parsed.search));\n return stringifyParsedURL(parsed);\n}\nfunction resolveURL(base = \"\", ...inputs) {\n if (typeof base !== \"string\") {\n throw new TypeError(\n `URL input should be string received ${typeof base} (${base})`\n );\n }\n const filteredInputs = inputs.filter((input) => isNonEmptyURL(input));\n if (filteredInputs.length === 0) {\n return base;\n }\n const url = parseURL(base);\n for (const inputSegment of filteredInputs) {\n const urlSegment = parseURL(inputSegment);\n if (urlSegment.pathname) {\n url.pathname = withTrailingSlash(url.pathname) + withoutLeadingSlash(urlSegment.pathname);\n }\n if (urlSegment.hash && urlSegment.hash !== \"#\") {\n url.hash = urlSegment.hash;\n }\n if (urlSegment.search && urlSegment.search !== \"?\") {\n if (url.search && url.search !== \"?\") {\n const queryString = stringifyQuery({\n ...parseQuery(url.search),\n ...parseQuery(urlSegment.search)\n });\n url.search = queryString.length > 0 ? \"?\" + queryString : \"\";\n } else {\n url.search = urlSegment.search;\n }\n }\n }\n return stringifyParsedURL(url);\n}\nfunction isSamePath(p1, p2) {\n return decode(withoutTrailingSlash(p1)) === decode(withoutTrailingSlash(p2));\n}\nfunction isEqual(a, b, options = {}) {\n if (!options.trailingSlash) {\n a = withTrailingSlash(a);\n b = withTrailingSlash(b);\n }\n if (!options.leadingSlash) {\n a = withLeadingSlash(a);\n b = withLeadingSlash(b);\n }\n if (!options.encoding) {\n a = decode(a);\n b = decode(b);\n }\n return a === b;\n}\nfunction withFragment(input, hash) {\n if (!hash || hash === \"#\") {\n return input;\n }\n const parsed = parseURL(input);\n parsed.hash = hash === \"\" ? \"\" : \"#\" + encodeHash(hash);\n return stringifyParsedURL(parsed);\n}\nfunction withoutFragment(input) {\n return stringifyParsedURL({ ...parseURL(input), hash: \"\" });\n}\nfunction withoutHost(input) {\n const parsed = parseURL(input);\n return (parsed.pathname || \"/\") + parsed.search + parsed.hash;\n}\n\nconst protocolRelative = Symbol.for(\"ufo:protocolRelative\");\nfunction parseURL(input = \"\", defaultProto) {\n const _specialProtoMatch = input.match(\n /^[\\s\\0]*(blob:|data:|javascript:|vbscript:)(.*)/i\n );\n if (_specialProtoMatch) {\n const [, _proto, _pathname = \"\"] = _specialProtoMatch;\n return {\n protocol: _proto.toLowerCase(),\n pathname: _pathname,\n href: _proto + _pathname,\n auth: \"\",\n host: \"\",\n search: \"\",\n hash: \"\"\n };\n }\n if (!hasProtocol(input, { acceptRelative: true })) {\n return defaultProto ? parseURL(defaultProto + input) : parsePath(input);\n }\n const [, protocol = \"\", auth, hostAndPath = \"\"] = input.replace(/\\\\/g, \"/\").match(/^[\\s\\0]*([\\w+.-]{2,}:)?\\/\\/([^/@]+@)?(.*)/) || [];\n let [, host = \"\", path = \"\"] = hostAndPath.match(/([^#/?]*)(.*)?/) || [];\n if (protocol === \"file:\") {\n path = path.replace(/\\/(?=[A-Za-z]:)/, \"\");\n }\n const { pathname, search, hash } = parsePath(path);\n return {\n protocol: protocol.toLowerCase(),\n auth: auth ? auth.slice(0, Math.max(0, auth.length - 1)) : \"\",\n host,\n pathname,\n search,\n hash,\n [protocolRelative]: !protocol\n };\n}\nfunction parsePath(input = \"\") {\n const [pathname = \"\", search = \"\", hash = \"\"] = (input.match(/([^#?]*)(\\?[^#]*)?(#.*)?/) || []).splice(1);\n return {\n pathname,\n search,\n hash\n };\n}\nfunction parseAuth(input = \"\") {\n const [username, password] = input.split(\":\");\n return {\n username: decode(username),\n password: decode(password)\n };\n}\nfunction parseHost(input = \"\") {\n const [hostname, port] = (input.match(/([^/:]*):?(\\d+)?/) || []).splice(1);\n return {\n hostname: decode(hostname),\n port\n };\n}\nfunction stringifyParsedURL(parsed) {\n const pathname = parsed.pathname || \"\";\n const search = parsed.search ? (parsed.search.startsWith(\"?\") ? \"\" : \"?\") + parsed.search : \"\";\n const hash = parsed.hash || \"\";\n const auth = parsed.auth ? parsed.auth + \"@\" : \"\";\n const host = parsed.host || \"\";\n const proto = parsed.protocol || parsed[protocolRelative] ? (parsed.protocol || \"\") + \"//\" : \"\";\n return proto + auth + host + pathname + search + hash;\n}\nconst FILENAME_STRICT_REGEX = /\\/([^/]+\\.[^/]+)$/;\nconst FILENAME_REGEX = /\\/([^/]+)$/;\nfunction parseFilename(input = \"\", { strict }) {\n const { pathname } = parseURL(input);\n const matches = strict ? pathname.match(FILENAME_STRICT_REGEX) : pathname.match(FILENAME_REGEX);\n return matches ? matches[1] : void 0;\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass $URL {\n constructor(input = \"\") {\n __publicField(this, \"protocol\");\n __publicField(this, \"host\");\n __publicField(this, \"auth\");\n __publicField(this, \"pathname\");\n __publicField(this, \"query\", {});\n __publicField(this, \"hash\");\n if (typeof input !== \"string\") {\n throw new TypeError(\n `URL input should be string received ${typeof input} (${input})`\n );\n }\n const parsed = parseURL(input);\n this.protocol = decode(parsed.protocol);\n this.host = decode(parsed.host);\n this.auth = decode(parsed.auth);\n this.pathname = decodePath(parsed.pathname);\n this.query = parseQuery(parsed.search);\n this.hash = decode(parsed.hash);\n }\n get hostname() {\n return parseHost(this.host).hostname;\n }\n get port() {\n return parseHost(this.host).port || \"\";\n }\n get username() {\n return parseAuth(this.auth).username;\n }\n get password() {\n return parseAuth(this.auth).password || \"\";\n }\n get hasProtocol() {\n return this.protocol.length;\n }\n get isAbsolute() {\n return this.hasProtocol || this.pathname[0] === \"/\";\n }\n get search() {\n const q = stringifyQuery(this.query);\n return q.length > 0 ? \"?\" + q : \"\";\n }\n get searchParams() {\n const p = new URLSearchParams();\n for (const name in this.query) {\n const value = this.query[name];\n if (Array.isArray(value)) {\n for (const v of value) {\n p.append(name, v);\n }\n } else {\n p.append(\n name,\n typeof value === \"string\" ? value : JSON.stringify(value)\n );\n }\n }\n return p;\n }\n get origin() {\n return (this.protocol ? this.protocol + \"//\" : \"\") + encodeHost(this.host);\n }\n get fullpath() {\n return encodePath(this.pathname) + this.search + encodeHash(this.hash);\n }\n get encodedAuth() {\n if (!this.auth) {\n return \"\";\n }\n const { username, password } = parseAuth(this.auth);\n return encodeURIComponent(username) + (password ? \":\" + encodeURIComponent(password) : \"\");\n }\n get href() {\n const auth = this.encodedAuth;\n const originWithAuth = (this.protocol ? this.protocol + \"//\" : \"\") + (auth ? auth + \"@\" : \"\") + encodeHost(this.host);\n return this.hasProtocol && this.isAbsolute ? originWithAuth + this.fullpath : this.fullpath;\n }\n append(url) {\n if (url.hasProtocol) {\n throw new Error(\"Cannot append a URL with protocol\");\n }\n Object.assign(this.query, url.query);\n if (url.pathname) {\n this.pathname = withTrailingSlash(this.pathname) + withoutLeadingSlash(url.pathname);\n }\n if (url.hash) {\n this.hash = url.hash;\n }\n }\n toJSON() {\n return this.href;\n }\n toString() {\n return this.href;\n }\n}\nfunction createURL(input) {\n return new $URL(input);\n}\n\nexport { $URL, cleanDoubleSlashes, createURL, decode, decodePath, decodeQueryKey, decodeQueryValue, encode, encodeHash, encodeHost, encodeParam, encodePath, encodeQueryItem, encodeQueryKey, encodeQueryValue, getQuery, hasLeadingSlash, hasProtocol, hasTrailingSlash, isEmptyURL, isEqual, isNonEmptyURL, isRelative, isSamePath, isScriptProtocol, joinRelativeURL, joinURL, normalizeURL, parseAuth, parseFilename, parseHost, parsePath, parseQuery, parseURL, resolveURL, stringifyParsedURL, stringifyQuery, withBase, withFragment, withHttp, withHttps, withLeadingSlash, withProtocol, withQuery, withTrailingSlash, withoutBase, withoutFragment, withoutHost, withoutLeadingSlash, withoutProtocol, withoutTrailingSlash };\n","export const LayoutMetaSymbol = Symbol(\"layout-meta\");\nexport const PageRouteSymbol = Symbol(\"route\");\n","import { getCurrentInstance, hasInjectionContext, inject, onScopeDispose } from \"vue\";\nimport { sanitizeStatusCode } from \"h3\";\nimport { hasProtocol, isScriptProtocol, joinURL, withQuery } from \"ufo\";\nimport { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { PageRouteSymbol } from \"../components/injections.js\";\nimport { createError, showError } from \"./error.js\";\nexport const useRouter = () => {\n return useNuxtApp()?.$router;\n};\nexport const useRoute = () => {\n if (import.meta.dev && isProcessingMiddleware()) {\n console.warn(\"[nuxt] Calling `useRoute` within middleware may lead to misleading results. Instead, use the (to, from) arguments passed to the middleware to access the new and old routes.\");\n }\n if (hasInjectionContext()) {\n return inject(PageRouteSymbol, useNuxtApp()._route);\n }\n return useNuxtApp()._route;\n};\nexport const onBeforeRouteLeave = (guard) => {\n const unsubscribe = useRouter().beforeEach((to, from, next) => {\n if (to === from) {\n return;\n }\n return guard(to, from, next);\n });\n onScopeDispose(unsubscribe);\n};\nexport const onBeforeRouteUpdate = (guard) => {\n const unsubscribe = useRouter().beforeEach(guard);\n onScopeDispose(unsubscribe);\n};\n// @__NO_SIDE_EFFECTS__\nexport function defineNuxtRouteMiddleware(middleware) {\n return middleware;\n}\nexport const addRouteMiddleware = (name, middleware, options = {}) => {\n const nuxtApp = useNuxtApp();\n const global = options.global || typeof name !== \"string\";\n const mw = typeof name !== \"string\" ? name : middleware;\n if (!mw) {\n console.warn(\"[nuxt] No route middleware passed to `addRouteMiddleware`.\", name);\n return;\n }\n if (global) {\n nuxtApp._middleware.global.push(mw);\n } else {\n nuxtApp._middleware.named[name] = mw;\n }\n};\nconst isProcessingMiddleware = () => {\n try {\n if (useNuxtApp()._processingMiddleware) {\n return true;\n }\n } catch {\n return false;\n }\n return false;\n};\nexport const navigateTo = (to, options) => {\n if (!to) {\n to = \"/\";\n }\n const toPath = typeof to === \"string\" ? to : \"path\" in to ? resolveRouteObject(to) : useRouter().resolve(to).href;\n if (import.meta.client && options?.open) {\n const { target = \"_blank\", windowFeatures = {} } = options.open;\n const features = Object.entries(windowFeatures).filter(([_, value]) => value !== void 0).map(([feature, value]) => `${feature.toLowerCase()}=${value}`).join(\", \");\n open(toPath, target, features);\n return Promise.resolve();\n }\n const isExternalHost = hasProtocol(toPath, { acceptRelative: true });\n const isExternal = options?.external || isExternalHost;\n if (isExternal) {\n if (!options?.external) {\n throw new Error(\"Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.\");\n }\n const { protocol } = new URL(toPath, import.meta.client ? window.location.href : \"http://localhost\");\n if (protocol && isScriptProtocol(protocol)) {\n throw new Error(`Cannot navigate to a URL with '${protocol}' protocol.`);\n }\n }\n const inMiddleware = isProcessingMiddleware();\n if (import.meta.client && !isExternal && inMiddleware) {\n return to;\n }\n const router = useRouter();\n const nuxtApp = useNuxtApp();\n if (import.meta.server) {\n if (nuxtApp.ssrContext) {\n const fullPath = typeof to === \"string\" || isExternal ? toPath : router.resolve(to).fullPath || \"/\";\n const location2 = isExternal ? toPath : joinURL(useRuntimeConfig().app.baseURL, fullPath);\n const redirect = async function(response) {\n await nuxtApp.callHook(\"app:redirected\");\n const encodedLoc = location2.replace(/\"/g, \"%22\");\n const encodedHeader = encodeURL(location2, isExternalHost);\n nuxtApp.ssrContext._renderResponse = {\n statusCode: sanitizeStatusCode(options?.redirectCode || 302, 302),\n body: `<!DOCTYPE html><html><head><meta http-equiv=\"refresh\" content=\"0; url=${encodedLoc}\"></head></html>`,\n headers: { location: encodedHeader }\n };\n return response;\n };\n if (!isExternal && inMiddleware) {\n router.afterEach((final) => final.fullPath === fullPath ? redirect(false) : void 0);\n return to;\n }\n return redirect(!inMiddleware ? void 0 : (\n /* abort route navigation */\n false\n ));\n }\n }\n if (isExternal) {\n nuxtApp._scope.stop();\n if (options?.replace) {\n location.replace(toPath);\n } else {\n location.href = toPath;\n }\n if (inMiddleware) {\n if (!nuxtApp.isHydrating) {\n return false;\n }\n return new Promise(() => {\n });\n }\n return Promise.resolve();\n }\n return options?.replace ? router.replace(to) : router.push(to);\n};\nexport const abortNavigation = (err) => {\n if (import.meta.dev && !isProcessingMiddleware()) {\n throw new Error(\"abortNavigation() is only usable inside a route middleware handler.\");\n }\n if (!err) {\n return false;\n }\n err = createError(err);\n if (err.fatal) {\n useNuxtApp().runWithContext(() => showError(err));\n }\n throw err;\n};\nexport const setPageLayout = (layout) => {\n const nuxtApp = useNuxtApp();\n if (import.meta.server) {\n if (import.meta.dev && getCurrentInstance() && nuxtApp.payload.state._layout !== layout) {\n console.warn(\"[warn] [nuxt] `setPageLayout` should not be called to change the layout on the server within a component as this will cause hydration errors.\");\n }\n nuxtApp.payload.state._layout = layout;\n }\n if (import.meta.dev && nuxtApp.isHydrating && nuxtApp.payload.serverRendered && nuxtApp.payload.state._layout !== layout) {\n console.warn(\"[warn] [nuxt] `setPageLayout` should not be called to change the layout during hydration as this will cause hydration errors.\");\n }\n const inMiddleware = isProcessingMiddleware();\n if (inMiddleware || import.meta.server || nuxtApp.isHydrating) {\n const unsubscribe = useRouter().beforeResolve((to) => {\n to.meta.layout = layout;\n unsubscribe();\n });\n }\n if (!inMiddleware) {\n useRoute().meta.layout = layout;\n }\n};\nexport function resolveRouteObject(to) {\n return withQuery(to.path || \"\", to.query || {}) + (to.hash || \"\");\n}\nexport function encodeURL(location2, isExternalHost = false) {\n const url = new URL(location2, \"http://localhost\");\n if (!isExternalHost) {\n return url.pathname + url.search + url.hash;\n }\n if (location2.startsWith(\"//\")) {\n return url.toString().replace(url.protocol, \"\");\n }\n return url.toString();\n}\n","import { createError as createH3Error } from \"h3\";\nimport { toRef } from \"vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { useRouter } from \"./router.js\";\nimport { nuxtDefaultErrorValue } from \"#build/nuxt.config.mjs\";\nexport const NUXT_ERROR_SIGNATURE = \"__nuxt_error\";\nexport const useError = () => toRef(useNuxtApp().payload, \"error\");\nexport const showError = (error) => {\n const nuxtError = createError(error);\n try {\n const nuxtApp = useNuxtApp();\n const error2 = useError();\n if (import.meta.client) {\n nuxtApp.hooks.callHook(\"app:error\", nuxtError);\n }\n error2.value = error2.value || nuxtError;\n } catch {\n throw nuxtError;\n }\n return nuxtError;\n};\nexport const clearError = async (options = {}) => {\n const nuxtApp = useNuxtApp();\n const error = useError();\n nuxtApp.callHook(\"app:error:cleared\", options);\n if (options.redirect) {\n await useRouter().replace(options.redirect);\n }\n error.value = nuxtDefaultErrorValue;\n};\nexport const isNuxtError = (error) => !!error && typeof error === \"object\" && NUXT_ERROR_SIGNATURE in error;\nexport const createError = (error) => {\n const nuxtError = createH3Error(error);\n Object.defineProperty(nuxtError, NUXT_ERROR_SIGNATURE, {\n value: true,\n configurable: false,\n writable: false\n });\n return nuxtError;\n};\n","import { version, unref, nextTick, inject } from 'vue';\nimport { createServerHead as createServerHead$1, createHead as createHead$1, getActiveHead } from 'unhead';\nimport { defineHeadPlugin } from '@unhead/shared';\n\nconst Vue3 = version[0] === \"3\";\n\nfunction resolveUnref(r) {\n return typeof r === \"function\" ? r() : unref(r);\n}\nfunction resolveUnrefHeadInput(ref) {\n if (ref instanceof Promise)\n return ref;\n const root = resolveUnref(ref);\n if (!ref || !root)\n return root;\n if (Array.isArray(root))\n return root.map((r) => resolveUnrefHeadInput(r));\n if (typeof root === \"object\") {\n const resolved = {};\n for (const k in root) {\n if (!Object.prototype.hasOwnProperty.call(root, k)) {\n continue;\n }\n if (k === \"titleTemplate\" || k[0] === \"o\" && k[1] === \"n\") {\n resolved[k] = unref(root[k]);\n continue;\n }\n resolved[k] = resolveUnrefHeadInput(root[k]);\n }\n return resolved;\n }\n return root;\n}\n\nconst VueReactivityPlugin = defineHeadPlugin({\n hooks: {\n \"entries:resolve\": (ctx) => {\n for (const entry of ctx.entries)\n entry.resolvedInput = resolveUnrefHeadInput(entry.input);\n }\n }\n});\n\nconst headSymbol = \"usehead\";\nfunction vueInstall(head) {\n const plugin = {\n install(app) {\n if (Vue3) {\n app.config.globalProperties.$unhead = head;\n app.config.globalProperties.$head = head;\n app.provide(headSymbol, head);\n }\n }\n };\n return plugin.install;\n}\nfunction createServerHead(options = {}) {\n const head = createServerHead$1(options);\n head.use(VueReactivityPlugin);\n head.install = vueInstall(head);\n return head;\n}\nfunction createHead(options = {}) {\n options.domDelayFn = options.domDelayFn || ((fn) => nextTick(() => setTimeout(() => fn(), 0)));\n const head = createHead$1(options);\n head.use(VueReactivityPlugin);\n head.install = vueInstall(head);\n return head;\n}\n\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__unhead_injection_handler__\";\nfunction setHeadInjectionHandler(handler) {\n _global[globalKey] = handler;\n}\nfunction injectHead() {\n if (globalKey in _global) {\n return _global[globalKey]();\n }\n const head = inject(headSymbol);\n if (!head && process.env.NODE_ENV !== \"production\")\n console.warn(\"Unhead is missing Vue context, falling back to shared context. This may have unexpected results.\");\n return head || getActiveHead();\n}\n\nexport { Vue3 as V, createServerHead as a, createHead as c, headSymbol as h, injectHead as i, resolveUnrefHeadInput as r, setHeadInjectionHandler as s };\n","import { ref, watchEffect, watch, getCurrentInstance, onBeforeUnmount, onDeactivated, onActivated } from 'vue';\nimport { i as injectHead, r as resolveUnrefHeadInput } from './vue.40986ab9.mjs';\n\nfunction useHead(input, options = {}) {\n const head = options.head || injectHead();\n if (head) {\n if (!head.ssr)\n return clientUseHead(head, input, options);\n return head.push(input, options);\n }\n}\nfunction clientUseHead(head, input, options = {}) {\n const deactivated = ref(false);\n const resolvedInput = ref({});\n watchEffect(() => {\n resolvedInput.value = deactivated.value ? {} : resolveUnrefHeadInput(input);\n });\n const entry = head.push(resolvedInput.value, options);\n watch(resolvedInput, (e) => {\n entry.patch(e);\n });\n const vm = getCurrentInstance();\n if (vm) {\n onBeforeUnmount(() => {\n entry.dispose();\n });\n onDeactivated(() => {\n deactivated.value = true;\n });\n onActivated(() => {\n deactivated.value = false;\n });\n }\n return entry;\n}\n\nexport { useHead as u };\n","import { resolveScriptKey, useScript as useScript$1 } from 'unhead';\nexport { CapoPlugin, HashHydrationPlugin, createHeadCore } from 'unhead';\nimport { V as Vue3, h as headSymbol, i as injectHead } from './shared/vue.40986ab9.mjs';\nexport { c as createHead, a as createServerHead, r as resolveUnrefHeadInput, s as setHeadInjectionHandler } from './shared/vue.40986ab9.mjs';\nimport { getCurrentInstance, onMounted, ref, onScopeDispose } from 'vue';\nimport { u as useHead } from './shared/vue.65b7bcda.mjs';\nimport { composableNames, whitelistSafeInput, unpackMeta } from '@unhead/shared';\n\nconst VueHeadMixin = {\n created() {\n let source = false;\n if (Vue3) {\n const instance = getCurrentInstance();\n if (!instance)\n return;\n const options = instance.type;\n if (!options || !(\"head\" in options))\n return;\n source = typeof options.head === \"function\" ? () => options.head.call(instance.proxy) : options.head;\n } else {\n const head = this.$options.head;\n if (head) {\n source = typeof head === \"function\" ? () => head.call(this) : head;\n }\n }\n source && useHead(source);\n }\n};\n\nconst Vue2ProvideUnheadPlugin = (_Vue, head) => {\n _Vue.mixin({\n beforeCreate() {\n const options = this.$options;\n const origProvide = options.provide;\n options.provide = function() {\n let origProvideResult;\n if (typeof origProvide === \"function\")\n origProvideResult = origProvide.call(this);\n else\n origProvideResult = origProvide || {};\n return {\n ...origProvideResult,\n [headSymbol]: head\n };\n };\n }\n });\n};\n\nconst coreComposableNames = [\n \"injectHead\"\n];\nconst unheadVueComposablesImports = {\n \"@unhead/vue\": [...coreComposableNames, ...composableNames]\n};\n\nfunction useHeadSafe(input, options = {}) {\n return useHead(input, { ...options, transform: whitelistSafeInput });\n}\n\nfunction useSeoMeta(input, options) {\n const { title, titleTemplate, ...meta } = input;\n return useHead({\n title,\n titleTemplate,\n // @ts-expect-error runtime type\n _flatMeta: meta\n }, {\n ...options,\n transform(t) {\n const meta2 = unpackMeta({ ...t._flatMeta });\n delete t._flatMeta;\n return {\n // @ts-expect-error runtime type\n ...t,\n meta: meta2\n };\n }\n });\n}\n\nfunction useServerHead(input, options = {}) {\n const head = options.head || injectHead();\n delete options.head;\n if (head)\n return head.push(input, { ...options, mode: \"server\" });\n}\n\nfunction useServerHeadSafe(input, options = {}) {\n return useHeadSafe(input, { ...options, mode: \"server\" });\n}\n\nfunction useServerSeoMeta(input, options) {\n return useSeoMeta(input, { ...options, mode: \"server\" });\n}\n\nfunction useScript(_input, _options) {\n const input = typeof _input === \"string\" ? { src: _input } : _input;\n const head = injectHead();\n const options = _options || {};\n options.head = head;\n options.eventContext = getCurrentInstance();\n const scope = getCurrentInstance();\n if (scope && !options.trigger)\n options.trigger = onMounted;\n const key = resolveScriptKey(input);\n if (head._scripts?.[key])\n return head._scripts[key];\n let script;\n const status = ref(\"awaitingLoad\");\n const _ = head.hooks.hook(\"script:updated\", ({ script: s }) => {\n if (script && s.id === script.id) {\n status.value = s.status;\n if (s.status === \"removed\") {\n _();\n }\n }\n });\n script = useScript$1(input, options);\n if (scope) {\n const _registerCb = (key2, cb) => {\n if (!script._cbs[key2]) {\n cb(script.instance);\n return () => {\n };\n }\n let i = script._cbs[key2].push(cb);\n const destroy = () => {\n if (i) {\n script._cbs[key2]?.splice(i - 1, 1);\n i = null;\n }\n };\n onScopeDispose(destroy);\n return destroy;\n };\n script.onLoaded = (cb) => _registerCb(\"loaded\", cb);\n script.onError = (cb) => _registerCb(\"error\", cb);\n }\n return new Proxy(script, {\n get(_2, key2, a) {\n if (key2 === \"status\")\n return status;\n return Reflect.get(_2, key2, a);\n }\n });\n}\n\nexport { Vue2ProvideUnheadPlugin, VueHeadMixin, injectHead, unheadVueComposablesImports, useHead, useHeadSafe, useScript, useSeoMeta, useServerHead, useServerHeadSafe, useServerSeoMeta };\n","import { CapoPlugin } from \"/home/cutunixc/analyze.cutunix.com/node_modules/@unhead/vue/dist/index.mjs\";\nexport default import.meta.server ? [CapoPlugin({ track: true })] : [];","import { createHead as createClientHead, setHeadInjectionHandler } from \"@unhead/vue\";\nimport { renderDOMHead } from \"@unhead/dom\";\nimport { defineNuxtPlugin, useNuxtApp } from \"#app/nuxt\";\nimport unheadPlugins from \"#build/unhead-plugins.mjs\";\nexport default defineNuxtPlugin({\n name: \"nuxt:head\",\n enforce: \"pre\",\n setup(nuxtApp) {\n const head = import.meta.server ? nuxtApp.ssrContext.head : createClientHead({\n plugins: unheadPlugins\n });\n setHeadInjectionHandler(\n // need a fresh instance of the nuxt app to avoid parallel requests interfering with each other\n () => useNuxtApp().vueApp._context.provides.usehead\n );\n nuxtApp.vueApp.use(head);\n if (import.meta.client) {\n let pauseDOMUpdates = true;\n const syncHead = async () => {\n pauseDOMUpdates = false;\n await renderDOMHead(head);\n };\n head.hooks.hook(\"dom:beforeRender\", (context) => {\n context.shouldRender = !pauseDOMUpdates;\n });\n nuxtApp.hooks.hook(\"page:start\", () => {\n pauseDOMUpdates = true;\n });\n nuxtApp.hooks.hook(\"page:finish\", () => {\n if (!nuxtApp.isHydrating) {\n syncHead();\n }\n });\n nuxtApp.hooks.hook(\"app:error\", syncHead);\n nuxtApp.hooks.hook(\"app:suspense:resolve\", syncHead);\n }\n }\n});\n","function createContext(opts = {}) {\n let currentInstance;\n let isSingleton = false;\n const checkConflict = (instance) => {\n if (currentInstance && currentInstance !== instance) {\n throw new Error(\"Context conflict\");\n }\n };\n let als;\n if (opts.asyncContext) {\n const _AsyncLocalStorage = opts.AsyncLocalStorage || globalThis.AsyncLocalStorage;\n if (_AsyncLocalStorage) {\n als = new _AsyncLocalStorage();\n } else {\n console.warn(\"[unctx] `AsyncLocalStorage` is not provided.\");\n }\n }\n const _getCurrentInstance = () => {\n if (als && currentInstance === void 0) {\n const instance = als.getStore();\n if (instance !== void 0) {\n return instance;\n }\n }\n return currentInstance;\n };\n return {\n use: () => {\n const _instance = _getCurrentInstance();\n if (_instance === void 0) {\n throw new Error(\"Context is not available\");\n }\n return _instance;\n },\n tryUse: () => {\n return _getCurrentInstance();\n },\n set: (instance, replace) => {\n if (!replace) {\n checkConflict(instance);\n }\n currentInstance = instance;\n isSingleton = true;\n },\n unset: () => {\n currentInstance = void 0;\n isSingleton = false;\n },\n call: (instance, callback) => {\n checkConflict(instance);\n currentInstance = instance;\n try {\n return als ? als.run(instance, callback) : callback();\n } finally {\n if (!isSingleton) {\n currentInstance = void 0;\n }\n }\n },\n async callAsync(instance, callback) {\n currentInstance = instance;\n const onRestore = () => {\n currentInstance = instance;\n };\n const onLeave = () => currentInstance === instance ? onRestore : void 0;\n asyncHandlers.add(onLeave);\n try {\n const r = als ? als.run(instance, callback) : callback();\n if (!isSingleton) {\n currentInstance = void 0;\n }\n return await r;\n } finally {\n asyncHandlers.delete(onLeave);\n }\n }\n };\n}\nfunction createNamespace(defaultOpts = {}) {\n const contexts = {};\n return {\n get(key, opts = {}) {\n if (!contexts[key]) {\n contexts[key] = createContext({ ...defaultOpts, ...opts });\n }\n contexts[key];\n return contexts[key];\n }\n };\n}\nconst _globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof global !== \"undefined\" ? global : typeof window !== \"undefined\" ? window : {};\nconst globalKey = \"__unctx__\";\nconst defaultNamespace = _globalThis[globalKey] || (_globalThis[globalKey] = createNamespace());\nconst getContext = (key, opts = {}) => defaultNamespace.get(key, opts);\nconst useContext = (key, opts = {}) => getContext(key, opts).use;\nconst asyncHandlersKey = \"__unctx_async_handlers__\";\nconst asyncHandlers = _globalThis[asyncHandlersKey] || (_globalThis[asyncHandlersKey] = /* @__PURE__ */ new Set());\nfunction executeAsync(function_) {\n const restores = [];\n for (const leaveHandler of asyncHandlers) {\n const restore2 = leaveHandler();\n if (restore2) {\n restores.push(restore2);\n }\n }\n const restore = () => {\n for (const restore2 of restores) {\n restore2();\n }\n };\n let awaitable = function_();\n if (awaitable && typeof awaitable === \"object\" && \"catch\" in awaitable) {\n awaitable = awaitable.catch((error) => {\n restore();\n throw error;\n });\n }\n return [awaitable, restore];\n}\nfunction withAsyncContext(function_, transformed) {\n if (!transformed) {\n console.warn(\n \"[unctx] `withAsyncContext` needs transformation for async context support in\",\n function_,\n \"\\n\",\n function_.toString()\n );\n }\n return function_;\n}\n\nexport { createContext, createNamespace, defaultNamespace, executeAsync, getContext, useContext, withAsyncContext };\n","import { KeepAlive, h } from \"vue\";\nconst interpolatePath = (route, match) => {\n return match.path.replace(/(:\\w+)\\([^)]+\\)/g, \"$1\").replace(/(:\\w+)[?+*]/g, \"$1\").replace(/:\\w+/g, (r) => route.params[r.slice(1)]?.toString() || \"\");\n};\nexport const generateRouteKey = (routeProps, override) => {\n const matchedRoute = routeProps.route.matched.find((m) => m.components?.default === routeProps.Component.type);\n const source = override ?? matchedRoute?.meta.key ?? (matchedRoute && interpolatePath(routeProps.route, matchedRoute));\n return typeof source === \"function\" ? source(routeProps.route) : source;\n};\nexport const wrapInKeepAlive = (props, children) => {\n return { default: () => import.meta.client && props ? h(KeepAlive, props === true ? {} : props, children) : children };\n};\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n","import { createMatcherFromExport, createRouter as createRadixRouter, toRouteMatcher } from \"radix3\";\nimport { defu } from \"defu\";\nimport { useRuntimeConfig } from \"../nuxt.js\";\nimport { appManifest as isAppManifestEnabled } from \"#build/nuxt.config.mjs\";\nimport { buildAssetsURL } from \"#internal/nuxt/paths\";\nlet manifest;\nlet matcher;\nfunction fetchManifest() {\n if (!isAppManifestEnabled) {\n throw new Error(\"[nuxt] app manifest should be enabled with `experimental.appManifest`\");\n }\n manifest = $fetch(buildAssetsURL(`builds/meta/${useRuntimeConfig().app.buildId}.json`), {\n responseType: \"json\"\n });\n manifest.then((m) => {\n matcher = createMatcherFromExport(m.matcher);\n }).catch((e) => {\n console.error(\"[nuxt] Error fetching app manifest.\", e);\n });\n return manifest;\n}\nexport function getAppManifest() {\n if (!isAppManifestEnabled) {\n throw new Error(\"[nuxt] app manifest should be enabled with `experimental.appManifest`\");\n }\n return manifest || fetchManifest();\n}\nexport async function getRouteRules(url) {\n if (import.meta.server) {\n const _routeRulesMatcher = toRouteMatcher(\n createRadixRouter({ routes: useRuntimeConfig().nitro.routeRules })\n );\n return defu({}, ..._routeRulesMatcher.matchAll(url).reverse());\n }\n await getAppManifest();\n if (!matcher) {\n console.error(\"[nuxt] Error creating app manifest matcher.\", matcher);\n return {};\n }\n try {\n return defu({}, ...matcher.matchAll(url).reverse());\n } catch (e) {\n console.error(\"[nuxt] Error matching route rules.\", e);\n return {};\n }\n}\n","import { default as categoryHEeVKZbjtsMeta } from \"/home/cutunixc/analyze.cutunix.com/pages/analyze/category.vue?macro=true\";\nimport { default as dimensionscU8I5vmGf8Meta } from \"/home/cutunixc/analyze.cutunix.com/pages/analyze/dimensions.vue?macro=true\";\nimport { default as listM9gzApzT7xMeta } from \"/home/cutunixc/analyze.cutunix.com/pages/analyze/list.vue?macro=true\";\nimport { default as startdX7ZGjjPK7Meta } from \"/home/cutunixc/analyze.cutunix.com/pages/analyze/start.vue?macro=true\";\nimport { default as indexusxI0dLoIsMeta } from \"/home/cutunixc/analyze.cutunix.com/pages/index.vue?macro=true\";\nimport { default as index504FAFFiNRMeta } from \"/home/cutunixc/analyze.cutunix.com/pages/login/index.vue?macro=true\";\nimport { default as register_45otposhDnwkTpcMeta } from \"/home/cutunixc/analyze.cutunix.com/pages/login/register-otp.vue?macro=true\";\nimport { default as logoutKYh9BesBWZMeta } from \"/home/cutunixc/analyze.cutunix.com/pages/logout.vue?macro=true\";\nimport { default as paymentrhNIh1GTKPMeta } from \"/home/cutunixc/analyze.cutunix.com/pages/payment.vue?macro=true\";\nimport { default as _91id_93AjoNP9cWWVMeta } from \"/home/cutunixc/analyze.cutunix.com/pages/projects/[id].vue?macro=true\";\nimport { default as indexpxq5S0XNCrMeta } from \"/home/cutunixc/analyze.cutunix.com/pages/projects/index.vue?macro=true\";\nimport { default as listoj4B3D4mqaMeta } from \"/home/cutunixc/analyze.cutunix.com/pages/projects/list.vue?macro=true\";\nimport { default as settingtBsTN3JnYNMeta } from \"/home/cutunixc/analyze.cutunix.com/pages/setting.vue?macro=true\";\nimport { default as _91id_93YgzZGXlcLAMeta } from \"/home/cutunixc/analyze.cutunix.com/pages/unit/[id].vue?macro=true\";\nimport { default as _91id_93IH1Ku6DRbHMeta } from \"/home/cutunixc/analyze.cutunix.com/pages/unit/edit/[id].vue?macro=true\";\nimport { default as createBPfwzmrd7IMeta } from \"/home/cutunixc/analyze.cutunix.com/pages/unit/make/create.vue?macro=true\";\nimport { default as _91id_93JeHWkp9wlUMeta } from \"/home/cutunixc/analyze.cutunix.com/pages/unit/make/update/[id].vue?macro=true\";\nimport { default as _91id_93LBREf9DHdJMeta } from \"/home/cutunixc/analyze.cutunix.com/pages/unit/setting/[id].vue?macro=true\";\nimport { default as units6twbcPZW1HMeta } from \"/home/cutunixc/analyze.cutunix.com/pages/units.vue?macro=true\";\nexport default [\n {\n name: \"analyze-category___fa___default\",\n path: \"/analyze/category\",\n meta: categoryHEeVKZbjtsMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/analyze/category.vue\").then(m => m.default || m)\n },\n {\n name: \"analyze-category___fa\",\n path: \"/fa/analyze/category\",\n meta: categoryHEeVKZbjtsMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/analyze/category.vue\").then(m => m.default || m)\n },\n {\n name: \"analyze-category___en\",\n path: \"/en/analyze/category\",\n meta: categoryHEeVKZbjtsMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/analyze/category.vue\").then(m => m.default || m)\n },\n {\n name: \"analyze-dimensions___fa___default\",\n path: \"/analyze/dimensions\",\n meta: dimensionscU8I5vmGf8Meta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/analyze/dimensions.vue\").then(m => m.default || m)\n },\n {\n name: \"analyze-dimensions___fa\",\n path: \"/fa/analyze/dimensions\",\n meta: dimensionscU8I5vmGf8Meta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/analyze/dimensions.vue\").then(m => m.default || m)\n },\n {\n name: \"analyze-dimensions___en\",\n path: \"/en/analyze/dimensions\",\n meta: dimensionscU8I5vmGf8Meta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/analyze/dimensions.vue\").then(m => m.default || m)\n },\n {\n name: \"analyze-list___fa___default\",\n path: \"/analyze/list\",\n meta: listM9gzApzT7xMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/analyze/list.vue\").then(m => m.default || m)\n },\n {\n name: \"analyze-list___fa\",\n path: \"/fa/analyze/list\",\n meta: listM9gzApzT7xMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/analyze/list.vue\").then(m => m.default || m)\n },\n {\n name: \"analyze-list___en\",\n path: \"/en/analyze/list\",\n meta: listM9gzApzT7xMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/analyze/list.vue\").then(m => m.default || m)\n },\n {\n name: \"analyze-start___fa___default\",\n path: \"/analyze/start\",\n meta: startdX7ZGjjPK7Meta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/analyze/start.vue\").then(m => m.default || m)\n },\n {\n name: \"analyze-start___fa\",\n path: \"/fa/analyze/start\",\n meta: startdX7ZGjjPK7Meta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/analyze/start.vue\").then(m => m.default || m)\n },\n {\n name: \"analyze-start___en\",\n path: \"/en/analyze/start\",\n meta: startdX7ZGjjPK7Meta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/analyze/start.vue\").then(m => m.default || m)\n },\n {\n name: \"index___fa___default\",\n path: \"/\",\n meta: indexusxI0dLoIsMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/index.vue\").then(m => m.default || m)\n },\n {\n name: \"index___fa\",\n path: \"/fa\",\n meta: indexusxI0dLoIsMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/index.vue\").then(m => m.default || m)\n },\n {\n name: \"index___en\",\n path: \"/en\",\n meta: indexusxI0dLoIsMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/index.vue\").then(m => m.default || m)\n },\n {\n name: \"login___fa___default\",\n path: \"/login\",\n meta: index504FAFFiNRMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/login/index.vue\").then(m => m.default || m)\n },\n {\n name: \"login___fa\",\n path: \"/fa/login\",\n meta: index504FAFFiNRMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/login/index.vue\").then(m => m.default || m)\n },\n {\n name: \"login___en\",\n path: \"/en/login\",\n meta: index504FAFFiNRMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/login/index.vue\").then(m => m.default || m)\n },\n {\n name: \"login-register-otp___fa___default\",\n path: \"/login/register-otp\",\n meta: register_45otposhDnwkTpcMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/login/register-otp.vue\").then(m => m.default || m)\n },\n {\n name: \"login-register-otp___fa\",\n path: \"/fa/login/register-otp\",\n meta: register_45otposhDnwkTpcMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/login/register-otp.vue\").then(m => m.default || m)\n },\n {\n name: \"login-register-otp___en\",\n path: \"/en/login/register-otp\",\n meta: register_45otposhDnwkTpcMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/login/register-otp.vue\").then(m => m.default || m)\n },\n {\n name: \"logout___fa___default\",\n path: \"/logout\",\n meta: logoutKYh9BesBWZMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/logout.vue\").then(m => m.default || m)\n },\n {\n name: \"logout___fa\",\n path: \"/fa/logout\",\n meta: logoutKYh9BesBWZMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/logout.vue\").then(m => m.default || m)\n },\n {\n name: \"logout___en\",\n path: \"/en/logout\",\n meta: logoutKYh9BesBWZMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/logout.vue\").then(m => m.default || m)\n },\n {\n name: \"payment___fa___default\",\n path: \"/payment\",\n meta: paymentrhNIh1GTKPMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/payment.vue\").then(m => m.default || m)\n },\n {\n name: \"payment___fa\",\n path: \"/fa/payment\",\n meta: paymentrhNIh1GTKPMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/payment.vue\").then(m => m.default || m)\n },\n {\n name: \"payment___en\",\n path: \"/en/payment\",\n meta: paymentrhNIh1GTKPMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/payment.vue\").then(m => m.default || m)\n },\n {\n name: \"projects-id___fa___default\",\n path: \"/projects/:id()\",\n meta: _91id_93AjoNP9cWWVMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/projects/[id].vue\").then(m => m.default || m)\n },\n {\n name: \"projects-id___fa\",\n path: \"/fa/projects/:id()\",\n meta: _91id_93AjoNP9cWWVMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/projects/[id].vue\").then(m => m.default || m)\n },\n {\n name: \"projects-id___en\",\n path: \"/en/projects/:id()\",\n meta: _91id_93AjoNP9cWWVMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/projects/[id].vue\").then(m => m.default || m)\n },\n {\n name: \"projects___fa___default\",\n path: \"/projects\",\n meta: indexpxq5S0XNCrMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/projects/index.vue\").then(m => m.default || m)\n },\n {\n name: \"projects___fa\",\n path: \"/fa/projects\",\n meta: indexpxq5S0XNCrMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/projects/index.vue\").then(m => m.default || m)\n },\n {\n name: \"projects___en\",\n path: \"/en/projects\",\n meta: indexpxq5S0XNCrMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/projects/index.vue\").then(m => m.default || m)\n },\n {\n name: \"projects-list___fa___default\",\n path: \"/projects/list\",\n meta: listoj4B3D4mqaMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/projects/list.vue\").then(m => m.default || m)\n },\n {\n name: \"projects-list___fa\",\n path: \"/fa/projects/list\",\n meta: listoj4B3D4mqaMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/projects/list.vue\").then(m => m.default || m)\n },\n {\n name: \"projects-list___en\",\n path: \"/en/projects/list\",\n meta: listoj4B3D4mqaMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/projects/list.vue\").then(m => m.default || m)\n },\n {\n name: \"setting___fa___default\",\n path: \"/setting\",\n meta: settingtBsTN3JnYNMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/setting.vue\").then(m => m.default || m)\n },\n {\n name: \"setting___fa\",\n path: \"/fa/setting\",\n meta: settingtBsTN3JnYNMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/setting.vue\").then(m => m.default || m)\n },\n {\n name: \"setting___en\",\n path: \"/en/setting\",\n meta: settingtBsTN3JnYNMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/setting.vue\").then(m => m.default || m)\n },\n {\n name: \"unit-id___fa___default\",\n path: \"/unit/:id()\",\n meta: _91id_93YgzZGXlcLAMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/unit/[id].vue\").then(m => m.default || m)\n },\n {\n name: \"unit-id___fa\",\n path: \"/fa/unit/:id()\",\n meta: _91id_93YgzZGXlcLAMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/unit/[id].vue\").then(m => m.default || m)\n },\n {\n name: \"unit-id___en\",\n path: \"/en/unit/:id()\",\n meta: _91id_93YgzZGXlcLAMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/unit/[id].vue\").then(m => m.default || m)\n },\n {\n name: \"unit-edit-id___fa___default\",\n path: \"/unit/edit/:id()\",\n meta: _91id_93IH1Ku6DRbHMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/unit/edit/[id].vue\").then(m => m.default || m)\n },\n {\n name: \"unit-edit-id___fa\",\n path: \"/fa/unit/edit/:id()\",\n meta: _91id_93IH1Ku6DRbHMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/unit/edit/[id].vue\").then(m => m.default || m)\n },\n {\n name: \"unit-edit-id___en\",\n path: \"/en/unit/edit/:id()\",\n meta: _91id_93IH1Ku6DRbHMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/unit/edit/[id].vue\").then(m => m.default || m)\n },\n {\n name: \"unit-make-create___fa___default\",\n path: \"/unit/make/create\",\n meta: createBPfwzmrd7IMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/unit/make/create.vue\").then(m => m.default || m)\n },\n {\n name: \"unit-make-create___fa\",\n path: \"/fa/unit/make/create\",\n meta: createBPfwzmrd7IMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/unit/make/create.vue\").then(m => m.default || m)\n },\n {\n name: \"unit-make-create___en\",\n path: \"/en/unit/make/create\",\n meta: createBPfwzmrd7IMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/unit/make/create.vue\").then(m => m.default || m)\n },\n {\n name: \"unit-make-update-id___fa___default\",\n path: \"/unit/make/update/:id()\",\n meta: _91id_93JeHWkp9wlUMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/unit/make/update/[id].vue\").then(m => m.default || m)\n },\n {\n name: \"unit-make-update-id___fa\",\n path: \"/fa/unit/make/update/:id()\",\n meta: _91id_93JeHWkp9wlUMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/unit/make/update/[id].vue\").then(m => m.default || m)\n },\n {\n name: \"unit-make-update-id___en\",\n path: \"/en/unit/make/update/:id()\",\n meta: _91id_93JeHWkp9wlUMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/unit/make/update/[id].vue\").then(m => m.default || m)\n },\n {\n name: \"unit-setting-id___fa___default\",\n path: \"/unit/setting/:id()\",\n meta: _91id_93LBREf9DHdJMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/unit/setting/[id].vue\").then(m => m.default || m)\n },\n {\n name: \"unit-setting-id___fa\",\n path: \"/fa/unit/setting/:id()\",\n meta: _91id_93LBREf9DHdJMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/unit/setting/[id].vue\").then(m => m.default || m)\n },\n {\n name: \"unit-setting-id___en\",\n path: \"/en/unit/setting/:id()\",\n meta: _91id_93LBREf9DHdJMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/unit/setting/[id].vue\").then(m => m.default || m)\n },\n {\n name: \"units___fa___default\",\n path: \"/units\",\n meta: units6twbcPZW1HMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/units.vue\").then(m => m.default || m)\n },\n {\n name: \"units___fa\",\n path: \"/fa/units\",\n meta: units6twbcPZW1HMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/units.vue\").then(m => m.default || m)\n },\n {\n name: \"units___en\",\n path: \"/en/units\",\n meta: units6twbcPZW1HMeta || {},\n component: () => import(\"/home/cutunixc/analyze.cutunix.com/pages/units.vue\").then(m => m.default || m)\n }\n]","import { h } from \"vue\";\nimport { isString, isPromise, isArray, isObject } from \"@vue/shared\";\nimport { START_LOCATION } from \"#build/pages\";\nexport const _wrapIf = (component, props, slots) => {\n props = props === true ? {} : props;\n return { default: () => props ? h(component, props, slots) : slots.default?.() };\n};\nfunction generateRouteKey(route) {\n const source = route?.meta.key ?? route.path.replace(/(:\\w+)\\([^)]+\\)/g, \"$1\").replace(/(:\\w+)[?+*]/g, \"$1\").replace(/:\\w+/g, (r) => route.params[r.slice(1)]?.toString() || \"\");\n return typeof source === \"function\" ? source(route) : source;\n}\nexport function isChangingPage(to, from) {\n if (to === from || from === START_LOCATION) {\n return false;\n }\n if (generateRouteKey(to) !== generateRouteKey(from)) {\n return true;\n }\n const areComponentsSame = to.matched.every(\n (comp, index) => comp.components && comp.components.default === from.matched[index]?.components?.default\n );\n if (areComponentsSame) {\n return false;\n }\n return true;\n}\nexport function createBuffer() {\n let appendable = false;\n const buffer = [];\n return {\n getBuffer() {\n return buffer;\n },\n push(item) {\n const isStringItem = isString(item);\n if (appendable && isStringItem) {\n buffer[buffer.length - 1] += item;\n } else {\n buffer.push(item);\n }\n appendable = isStringItem;\n if (isPromise(item) || isArray(item) && item.hasAsync) {\n buffer.hasAsync = true;\n }\n }\n };\n}\nexport function vforToArray(source) {\n if (isArray(source)) {\n return source;\n } else if (isString(source)) {\n return source.split(\"\");\n } else if (typeof source === \"number\") {\n if (import.meta.dev && !Number.isInteger(source)) {\n console.warn(`The v-for range expect an integer value but got ${source}.`);\n }\n const array = [];\n for (let i = 0; i < source; i++) {\n array[i] = i;\n }\n return array;\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n return Array.from(\n source,\n (item) => item\n );\n } else {\n const keys = Object.keys(source);\n const array = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n array[i] = source[key];\n }\n return array;\n }\n }\n return [];\n}\nexport function getFragmentHTML(element, withoutSlots = false) {\n if (element) {\n if (element.nodeName === \"#comment\" && element.nodeValue === \"[\") {\n return getFragmentChildren(element, [], withoutSlots);\n }\n if (withoutSlots) {\n const clone = element.cloneNode(true);\n clone.querySelectorAll(\"[data-island-slot]\").forEach((n) => {\n n.innerHTML = \"\";\n });\n return [clone.outerHTML];\n }\n return [element.outerHTML];\n }\n return null;\n}\nfunction getFragmentChildren(element, blocks = [], withoutSlots = false) {\n if (element && element.nodeName) {\n if (isEndFragment(element)) {\n return blocks;\n } else if (!isStartFragment(element)) {\n const clone = element.cloneNode(true);\n if (withoutSlots) {\n clone.querySelectorAll(\"[data-island-slot]\").forEach((n) => {\n n.innerHTML = \"\";\n });\n }\n blocks.push(clone.outerHTML);\n }\n getFragmentChildren(element.nextSibling, blocks, withoutSlots);\n }\n return blocks;\n}\nfunction isStartFragment(element) {\n return element.nodeName === \"#comment\" && element.nodeValue === \"[\";\n}\nfunction isEndFragment(element) {\n return element.nodeName === \"#comment\" && element.nodeValue === \"]\";\n}\n","import { useNuxtApp } from \"#app/nuxt\";\nimport { isChangingPage } from \"#app/components/utils\";\nimport { useRouter } from \"#app/composables/router\";\nimport { appPageTransition as defaultPageTransition } from \"#build/nuxt.config.mjs\";\nexport default {\n scrollBehavior(to, from, savedPosition) {\n const nuxtApp = useNuxtApp();\n const behavior = useRouter().options?.scrollBehaviorType ?? \"auto\";\n let position = savedPosition || void 0;\n const routeAllowsScrollToTop = typeof to.meta.scrollToTop === \"function\" ? to.meta.scrollToTop(to, from) : to.meta.scrollToTop;\n if (!position && from && to && routeAllowsScrollToTop !== false && isChangingPage(to, from)) {\n position = { left: 0, top: 0 };\n }\n if (to.path === from.path) {\n if (from.hash && !to.hash) {\n return { left: 0, top: 0 };\n }\n if (to.hash) {\n return { el: to.hash, top: _getHashElementScrollMarginTop(to.hash), behavior };\n }\n return false;\n }\n const hasTransition = (route) => !!(route.meta.pageTransition ?? defaultPageTransition);\n const hookToWait = hasTransition(from) && hasTransition(to) ? \"page:transition:finish\" : \"page:finish\";\n return new Promise((resolve) => {\n nuxtApp.hooks.hookOnce(hookToWait, async () => {\n await new Promise((resolve2) => setTimeout(resolve2, 0));\n if (to.hash) {\n position = { el: to.hash, top: _getHashElementScrollMarginTop(to.hash), behavior };\n }\n resolve(position);\n });\n });\n }\n};\nfunction _getHashElementScrollMarginTop(selector) {\n try {\n const elem = document.querySelector(selector);\n if (elem) {\n return (Number.parseFloat(getComputedStyle(elem).scrollMarginTop) || 0) + (Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop) || 0);\n }\n } catch {\n }\n return 0;\n}\n","import routerOptions0 from \"/home/cutunixc/analyze.cutunix.com/node_modules/nuxt/dist/pages/runtime/router.options\";\nconst configRouterOptions = {\n hashMode: false,\n scrollBehaviorType: \"auto\"\n}\nexport default {\n...configRouterOptions,\n...routerOptions0,\n}","import { createError, showError } from \"#app/composables/error\";\nimport { useNuxtApp } from \"#app/nuxt\";\nimport { defineNuxtRouteMiddleware, useRouter } from \"#app/composables/router\";\nexport default defineNuxtRouteMiddleware(async (to) => {\n if (!to.meta?.validate) {\n return;\n }\n const nuxtApp = useNuxtApp();\n const router = useRouter();\n const result = await Promise.resolve(to.meta.validate(to));\n if (result === true) {\n return;\n }\n const error = createError({\n statusCode: result && result.statusCode || 404,\n statusMessage: result && result.statusMessage || `Page Not Found: ${to.fullPath}`,\n data: {\n path: to.fullPath\n }\n });\n const unsub = router.beforeResolve((final) => {\n unsub();\n if (final === to) {\n const unsub2 = router.afterEach(async () => {\n unsub2();\n await nuxtApp.runWithContext(() => showError(error));\n window?.history.pushState({}, \"\", to.fullPath);\n });\n return false;\n }\n });\n});\n","import { hasProtocol } from \"ufo\";\nimport { defineNuxtRouteMiddleware } from \"../composables/router.js\";\nimport { getRouteRules } from \"../composables/manifest.js\";\nexport default defineNuxtRouteMiddleware(async (to) => {\n if (import.meta.server || import.meta.test) {\n return;\n }\n const rules = await getRouteRules(to.path);\n if (rules.redirect) {\n if (hasProtocol(rules.redirect, { acceptRelative: true })) {\n window.location.href = rules.redirect;\n return false;\n }\n return rules.redirect;\n }\n});\n","import validate from \"/home/cutunixc/analyze.cutunix.com/node_modules/nuxt/dist/pages/runtime/validate.js\";\nimport manifest_45route_45rule from \"/home/cutunixc/analyze.cutunix.com/node_modules/nuxt/dist/app/middleware/manifest-route-rule.js\";\nexport const globalMiddleware = [\n validate,\n manifest_45route_45rule\n]\nexport const namedMiddleware = {\n auth: () => import(\"/home/cutunixc/analyze.cutunix.com/middleware/auth.ts\")\n}","import { isReadonly, reactive, shallowReactive, shallowRef } from \"vue\";\nimport { START_LOCATION, createMemoryHistory, createRouter, createWebHashHistory, createWebHistory } from \"vue-router\";\nimport { createError } from \"h3\";\nimport { isEqual, withoutBase } from \"ufo\";\nimport { toArray } from \"../utils.js\";\nimport { getRouteRules } from \"#app/composables/manifest\";\nimport { defineNuxtPlugin, useRuntimeConfig } from \"#app/nuxt\";\nimport { clearError, showError, useError } from \"#app/composables/error\";\nimport { navigateTo } from \"#app/composables/router\";\nimport { appManifest as isAppManifestEnabled } from \"#build/nuxt.config.mjs\";\nimport _routes from \"#build/routes\";\nimport routerOptions from \"#build/router.options\";\nimport { globalMiddleware, namedMiddleware } from \"#build/middleware\";\nfunction createCurrentLocation(base, location, renderedPath) {\n const { pathname, search, hash } = location;\n const hashPos = base.indexOf(\"#\");\n if (hashPos > -1) {\n const slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1;\n let pathFromHash = hash.slice(slicePos);\n if (pathFromHash[0] !== \"/\") {\n pathFromHash = \"/\" + pathFromHash;\n }\n return withoutBase(pathFromHash, \"\");\n }\n const displayedPath = withoutBase(pathname, base);\n const path = !renderedPath || isEqual(displayedPath, renderedPath, { trailingSlash: true }) ? displayedPath : renderedPath;\n return path + (path.includes(\"?\") ? \"\" : search) + hash;\n}\nconst plugin = defineNuxtPlugin({\n name: \"nuxt:router\",\n enforce: \"pre\",\n async setup(nuxtApp) {\n let routerBase = useRuntimeConfig().app.baseURL;\n if (routerOptions.hashMode && !routerBase.includes(\"#\")) {\n routerBase += \"#\";\n }\n const history = routerOptions.history?.(routerBase) ?? (import.meta.client ? routerOptions.hashMode ? createWebHashHistory(routerBase) : createWebHistory(routerBase) : createMemoryHistory(routerBase));\n const routes = routerOptions.routes ? await routerOptions.routes(_routes) ?? _routes : _routes;\n let startPosition;\n const router = createRouter({\n ...routerOptions,\n scrollBehavior: (to, from, savedPosition) => {\n if (from === START_LOCATION) {\n startPosition = savedPosition;\n return;\n }\n if (routerOptions.scrollBehavior) {\n router.options.scrollBehavior = routerOptions.scrollBehavior;\n if (\"scrollRestoration\" in window.history) {\n const unsub = router.beforeEach(() => {\n unsub();\n window.history.scrollRestoration = \"manual\";\n });\n }\n return routerOptions.scrollBehavior(to, START_LOCATION, startPosition || savedPosition);\n }\n },\n history,\n routes\n });\n if (import.meta.client && \"scrollRestoration\" in window.history) {\n window.history.scrollRestoration = \"auto\";\n }\n nuxtApp.vueApp.use(router);\n const previousRoute = shallowRef(router.currentRoute.value);\n router.afterEach((_to, from) => {\n previousRoute.value = from;\n });\n Object.defineProperty(nuxtApp.vueApp.config.globalProperties, \"previousRoute\", {\n get: () => previousRoute.value\n });\n const initialURL = import.meta.server ? nuxtApp.ssrContext.url : createCurrentLocation(routerBase, window.location, nuxtApp.payload.path);\n const _route = shallowRef(router.currentRoute.value);\n const syncCurrentRoute = () => {\n _route.value = router.currentRoute.value;\n };\n nuxtApp.hook(\"page:finish\", syncCurrentRoute);\n router.afterEach((to, from) => {\n if (to.matched[0]?.components?.default === from.matched[0]?.components?.default) {\n syncCurrentRoute();\n }\n });\n const route = {};\n for (const key in _route.value) {\n Object.defineProperty(route, key, {\n get: () => _route.value[key]\n });\n }\n nuxtApp._route = shallowReactive(route);\n nuxtApp._middleware = nuxtApp._middleware || {\n global: [],\n named: {}\n };\n const error = useError();\n if (import.meta.client || !nuxtApp.ssrContext?.islandContext) {\n router.afterEach(async (to, _from, failure) => {\n delete nuxtApp._processingMiddleware;\n if (import.meta.client && !nuxtApp.isHydrating && error.value) {\n await nuxtApp.runWithContext(clearError);\n }\n if (failure) {\n await nuxtApp.callHook(\"page:loading:end\");\n }\n if (import.meta.server && failure?.type === 4) {\n return;\n }\n if (to.matched.length === 0) {\n await nuxtApp.runWithContext(() => showError(createError({\n statusCode: 404,\n fatal: false,\n statusMessage: `Page not found: ${to.fullPath}`,\n data: {\n path: to.fullPath\n }\n })));\n } else if (import.meta.server && to.redirectedFrom && to.fullPath !== initialURL) {\n await nuxtApp.runWithContext(() => navigateTo(to.fullPath || \"/\"));\n }\n });\n }\n try {\n if (import.meta.server) {\n await router.push(initialURL);\n }\n await router.isReady();\n } catch (error2) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n const resolvedInitialRoute = import.meta.client && initialURL !== router.currentRoute.value.fullPath ? router.resolve(initialURL) : router.currentRoute.value;\n syncCurrentRoute();\n if (import.meta.server && nuxtApp.ssrContext?.islandContext) {\n return { provide: { router } };\n }\n const initialLayout = nuxtApp.payload.state._layout;\n router.beforeEach(async (to, from) => {\n await nuxtApp.callHook(\"page:loading:start\");\n to.meta = reactive(to.meta);\n if (nuxtApp.isHydrating && initialLayout && !isReadonly(to.meta.layout)) {\n to.meta.layout = initialLayout;\n }\n nuxtApp._processingMiddleware = true;\n if (import.meta.client || !nuxtApp.ssrContext?.islandContext) {\n const middlewareEntries = /* @__PURE__ */ new Set([...globalMiddleware, ...nuxtApp._middleware.global]);\n for (const component of to.matched) {\n const componentMiddleware = component.meta.middleware;\n if (!componentMiddleware) {\n continue;\n }\n for (const entry of toArray(componentMiddleware)) {\n middlewareEntries.add(entry);\n }\n }\n if (isAppManifestEnabled) {\n const routeRules = await nuxtApp.runWithContext(() => getRouteRules(to.path));\n if (routeRules.appMiddleware) {\n for (const key in routeRules.appMiddleware) {\n if (routeRules.appMiddleware[key]) {\n middlewareEntries.add(key);\n } else {\n middlewareEntries.delete(key);\n }\n }\n }\n }\n for (const entry of middlewareEntries) {\n const middleware = typeof entry === \"string\" ? nuxtApp._middleware.named[entry] || await namedMiddleware[entry]?.().then((r) => r.default || r) : entry;\n if (!middleware) {\n if (import.meta.dev) {\n throw new Error(`Unknown route middleware: '${entry}'. Valid middleware: ${Object.keys(namedMiddleware).map((mw) => `'${mw}'`).join(\", \")}.`);\n }\n throw new Error(`Unknown route middleware: '${entry}'.`);\n }\n const result = await nuxtApp.runWithContext(() => middleware(to, from));\n if (import.meta.server || !nuxtApp.payload.serverRendered && nuxtApp.isHydrating) {\n if (result === false || result instanceof Error) {\n const error2 = result || createError({\n statusCode: 404,\n statusMessage: `Page Not Found: ${initialURL}`\n });\n await nuxtApp.runWithContext(() => showError(error2));\n return false;\n }\n }\n if (result === true) {\n continue;\n }\n if (result || result === false) {\n return result;\n }\n }\n }\n });\n router.onError(async () => {\n delete nuxtApp._processingMiddleware;\n await nuxtApp.callHook(\"page:loading:end\");\n });\n nuxtApp.hooks.hookOnce(\"app:created\", async () => {\n try {\n if (\"name\" in resolvedInitialRoute) {\n resolvedInitialRoute.name = void 0;\n }\n await router.replace({\n ...resolvedInitialRoute,\n force: true\n });\n router.options.scrollBehavior = routerOptions.scrollBehavior;\n } catch (error2) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n });\n return { provide: { router } };\n }\n});\nexport default plugin;\n","import { hasProtocol, joinURL, withoutTrailingSlash } from \"ufo\";\nimport { parse } from \"devalue\";\nimport { useHead } from \"@unhead/vue\";\nimport { getCurrentInstance, onServerPrefetch, reactive } from \"vue\";\nimport { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { useRoute } from \"./router.js\";\nimport { getAppManifest, getRouteRules } from \"./manifest.js\";\nimport { appId, appManifest, multiApp, payloadExtraction, renderJsonPayloads } from \"#build/nuxt.config.mjs\";\nexport async function loadPayload(url, opts = {}) {\n if (import.meta.server || !payloadExtraction) {\n return null;\n }\n const payloadURL = await _getPayloadURL(url, opts);\n const nuxtApp = useNuxtApp();\n const cache = nuxtApp._payloadCache = nuxtApp._payloadCache || {};\n if (payloadURL in cache) {\n return cache[payloadURL];\n }\n cache[payloadURL] = isPrerendered(url).then((prerendered) => {\n if (!prerendered) {\n cache[payloadURL] = null;\n return null;\n }\n return _importPayload(payloadURL).then((payload) => {\n if (payload) {\n return payload;\n }\n delete cache[payloadURL];\n return null;\n });\n });\n return cache[payloadURL];\n}\nexport function preloadPayload(url, opts = {}) {\n const nuxtApp = useNuxtApp();\n const promise = _getPayloadURL(url, opts).then((payloadURL) => {\n nuxtApp.runWithContext(() => useHead({\n link: [\n { rel: \"modulepreload\", href: payloadURL }\n ]\n }));\n });\n if (import.meta.server) {\n onServerPrefetch(() => promise);\n }\n return promise;\n}\nconst filename = renderJsonPayloads ? \"_payload.json\" : \"_payload.js\";\nasync function _getPayloadURL(url, opts = {}) {\n const u = new URL(url, \"http://localhost\");\n if (u.host !== \"localhost\" || hasProtocol(u.pathname, { acceptRelative: true })) {\n throw new Error(\"Payload URL must not include hostname: \" + url);\n }\n const config = useRuntimeConfig();\n const hash = opts.hash || (opts.fresh ? Date.now() : config.app.buildId);\n const cdnURL = config.app.cdnURL;\n const baseOrCdnURL = cdnURL && await isPrerendered(url) ? cdnURL : config.app.baseURL;\n return joinURL(baseOrCdnURL, u.pathname, filename + (hash ? `?${hash}` : \"\"));\n}\nasync function _importPayload(payloadURL) {\n if (import.meta.server || !payloadExtraction) {\n return null;\n }\n const payloadPromise = renderJsonPayloads ? fetch(payloadURL).then((res) => res.text().then(parsePayload)) : import(\n /* webpackIgnore: true */\n /* @vite-ignore */\n payloadURL\n ).then((r) => r.default || r);\n try {\n return await payloadPromise;\n } catch (err) {\n console.warn(\"[nuxt] Cannot load payload \", payloadURL, err);\n }\n return null;\n}\nexport async function isPrerendered(url = useRoute().path) {\n if (!appManifest) {\n return !!useNuxtApp().payload.prerenderedAt;\n }\n url = withoutTrailingSlash(url);\n const manifest = await getAppManifest();\n if (manifest.prerendered.includes(url)) {\n return true;\n }\n const rules = await getRouteRules(url);\n return !!rules.prerender && !rules.redirect;\n}\nlet payloadCache = null;\nexport async function getNuxtClientPayload() {\n if (import.meta.server) {\n return null;\n }\n if (payloadCache) {\n return payloadCache;\n }\n const el = multiApp ? document.querySelector(`[data-nuxt-data=\"${appId}\"]`) : document.getElementById(\"__NUXT_DATA__\");\n if (!el) {\n return {};\n }\n const inlineData = await parsePayload(el.textContent || \"\");\n const externalData = el.dataset.src ? await _importPayload(el.dataset.src) : void 0;\n payloadCache = {\n ...inlineData,\n ...externalData,\n ...multiApp ? window.__NUXT__?.[appId] : window.__NUXT__\n };\n if (payloadCache.config?.public) {\n payloadCache.config.public = reactive(payloadCache.config.public);\n }\n return payloadCache;\n}\nexport async function parsePayload(payload) {\n return await parse(payload, useNuxtApp()._payloadRevivers);\n}\nexport function definePayloadReducer(name, reduce) {\n if (import.meta.server) {\n useNuxtApp().ssrContext._payloadReducers[name] = reduce;\n }\n}\nexport function definePayloadReviver(name, revive) {\n if (import.meta.dev && getCurrentInstance()) {\n console.warn(\"[nuxt] [definePayloadReviver] This function must be called in a Nuxt plugin that is `unshift`ed to the beginning of the Nuxt plugins array.\");\n }\n if (import.meta.client) {\n useNuxtApp()._payloadRevivers[name] = revive;\n }\n}\n","import { isReactive, isRef, isShallow, toRaw } from \"vue\";\nimport { definePayloadReducer } from \"../composables/payload.js\";\nimport { isNuxtError } from \"../composables/error.js\";\nimport { defineNuxtPlugin } from \"../nuxt.js\";\nimport { componentIslands } from \"#build/nuxt.config.mjs\";\nconst reducers = {\n NuxtError: (data) => isNuxtError(data) && data.toJSON(),\n EmptyShallowRef: (data) => isRef(data) && isShallow(data) && !data.value && (typeof data.value === \"bigint\" ? \"0n\" : JSON.stringify(data.value) || \"_\"),\n EmptyRef: (data) => isRef(data) && !data.value && (typeof data.value === \"bigint\" ? \"0n\" : JSON.stringify(data.value) || \"_\"),\n ShallowRef: (data) => isRef(data) && isShallow(data) && data.value,\n ShallowReactive: (data) => isReactive(data) && isShallow(data) && toRaw(data),\n Ref: (data) => isRef(data) && data.value,\n Reactive: (data) => isReactive(data) && toRaw(data)\n};\nif (componentIslands) {\n reducers.Island = (data) => data && data?.__nuxt_island;\n}\nexport default defineNuxtPlugin({\n name: \"nuxt:revive-payload:server\",\n setup() {\n for (const reducer in reducers) {\n definePayloadReducer(reducer, reducers[reducer]);\n }\n }\n});\n","export * from \"vue\";\nexport const install = () => {\n};\nexport function set(target, key, val) {\n if (Array.isArray(target)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val;\n }\n target[key] = val;\n return val;\n}\nexport function del(target, key) {\n if (Array.isArray(target)) {\n target.splice(key, 1);\n return;\n }\n delete target[key];\n}\n","export * from \"./capi.js\";\nexport const Vue2 = void 0;\nexport const isVue2 = false;\nexport const isVue3 = true;\n","/*!\n * pinia v2.2.2\n * (c) 2024 Eduardo San Martin Morote\n * @license MIT\n */\nimport { hasInjectionContext, inject, toRaw, watch, unref, markRaw, effectScope, ref, isVue2, isRef, isReactive, set, getCurrentScope, onScopeDispose, getCurrentInstance, reactive, toRef, del, nextTick, computed, toRefs } from 'vue-demi';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * setActivePinia must be called to handle SSR at the top of functions like\n * `fetch`, `setup`, `serverPrefetch` and others\n */\nlet activePinia;\n/**\n * Sets or unsets the active pinia. Used in SSR and internally when calling\n * actions and getters\n *\n * @param pinia - Pinia instance\n */\n// @ts-expect-error: cannot constrain the type of the return\nconst setActivePinia = (pinia) => (activePinia = pinia);\n/**\n * Get the currently active pinia if there is any.\n */\nconst getActivePinia = () => (hasInjectionContext() && inject(piniaSymbol)) || activePinia;\nconst piniaSymbol = ((process.env.NODE_ENV !== 'production') ? Symbol('pinia') : /* istanbul ignore next */ Symbol());\n\nfunction isPlainObject(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\no) {\n return (o &&\n typeof o === 'object' &&\n Object.prototype.toString.call(o) === '[object Object]' &&\n typeof o.toJSON !== 'function');\n}\n// type DeepReadonly<T> = { readonly [P in keyof T]: DeepReadonly<T[P]> }\n// TODO: can we change these to numbers?\n/**\n * Possible types for SubscriptionCallback\n */\nvar MutationType;\n(function (MutationType) {\n /**\n * Direct mutation of the state:\n *\n * - `store.name = 'new name'`\n * - `store.$state.name = 'new name'`\n * - `store.list.push('new item')`\n */\n MutationType[\"direct\"] = \"direct\";\n /**\n * Mutated the state with `$patch` and an object\n *\n * - `store.$patch({ name: 'newName' })`\n */\n MutationType[\"patchObject\"] = \"patch object\";\n /**\n * Mutated the state with `$patch` and a function\n *\n * - `store.$patch(state => state.name = 'newName')`\n */\n MutationType[\"patchFunction\"] = \"patch function\";\n // maybe reset? for $state = {} and $reset\n})(MutationType || (MutationType = {}));\n\nconst IS_CLIENT = typeof window !== 'undefined';\n\n/*\n * FileSaver.js A saveAs() FileSaver implementation.\n *\n * Originally by Eli Grey, adapted as an ESM module by Eduardo San Martin\n * Morote.\n *\n * License : MIT\n */\n// The one and only way of getting global scope in all environments\n// https://stackoverflow.com/q/3277182/1008999\nconst _global = /*#__PURE__*/ (() => typeof window === 'object' && window.window === window\n ? window\n : typeof self === 'object' && self.self === self\n ? self\n : typeof global === 'object' && global.global === global\n ? global\n : typeof globalThis === 'object'\n ? globalThis\n : { HTMLElement: null })();\nfunction bom(blob, { autoBom = false } = {}) {\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (autoBom &&\n /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(0xfeff), blob], { type: blob.type });\n }\n return blob;\n}\nfunction download(url, name, opts) {\n const xhr = new XMLHttpRequest();\n xhr.open('GET', url);\n xhr.responseType = 'blob';\n xhr.onload = function () {\n saveAs(xhr.response, name, opts);\n };\n xhr.onerror = function () {\n console.error('could not download file');\n };\n xhr.send();\n}\nfunction corsEnabled(url) {\n const xhr = new XMLHttpRequest();\n // use sync to avoid popup blocker\n xhr.open('HEAD', url, false);\n try {\n xhr.send();\n }\n catch (e) { }\n return xhr.status >= 200 && xhr.status <= 299;\n}\n// `a.click()` doesn't work for all browsers (#465)\nfunction click(node) {\n try {\n node.dispatchEvent(new MouseEvent('click'));\n }\n catch (e) {\n const evt = document.createEvent('MouseEvents');\n evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null);\n node.dispatchEvent(evt);\n }\n}\nconst _navigator = typeof navigator === 'object' ? navigator : { userAgent: '' };\n// Detect WebView inside a native macOS app by ruling out all browsers\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\nconst isMacOSWebView = /*#__PURE__*/ (() => /Macintosh/.test(_navigator.userAgent) &&\n /AppleWebKit/.test(_navigator.userAgent) &&\n !/Safari/.test(_navigator.userAgent))();\nconst saveAs = !IS_CLIENT\n ? () => { } // noop\n : // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView or mini program\n typeof HTMLAnchorElement !== 'undefined' &&\n 'download' in HTMLAnchorElement.prototype &&\n !isMacOSWebView\n ? downloadSaveAs\n : // Use msSaveOrOpenBlob as a second approach\n 'msSaveOrOpenBlob' in _navigator\n ? msSaveAs\n : // Fallback to using FileReader and a popup\n fileSaverSaveAs;\nfunction downloadSaveAs(blob, name = 'download', opts) {\n const a = document.createElement('a');\n a.download = name;\n a.rel = 'noopener'; // tabnabbing\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n if (typeof blob === 'string') {\n // Support regular links\n a.href = blob;\n if (a.origin !== location.origin) {\n if (corsEnabled(a.href)) {\n download(blob, name, opts);\n }\n else {\n a.target = '_blank';\n click(a);\n }\n }\n else {\n click(a);\n }\n }\n else {\n // Support blobs\n a.href = URL.createObjectURL(blob);\n setTimeout(function () {\n URL.revokeObjectURL(a.href);\n }, 4e4); // 40s\n setTimeout(function () {\n click(a);\n }, 0);\n }\n}\nfunction msSaveAs(blob, name = 'download', opts) {\n if (typeof blob === 'string') {\n if (corsEnabled(blob)) {\n download(blob, name, opts);\n }\n else {\n const a = document.createElement('a');\n a.href = blob;\n a.target = '_blank';\n setTimeout(function () {\n click(a);\n });\n }\n }\n else {\n // @ts-ignore: works on windows\n navigator.msSaveOrOpenBlob(bom(blob, opts), name);\n }\n}\nfunction fileSaverSaveAs(blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open('', '_blank');\n if (popup) {\n popup.document.title = popup.document.body.innerText = 'downloading...';\n }\n if (typeof blob === 'string')\n return download(blob, name, opts);\n const force = blob.type === 'application/octet-stream';\n const isSafari = /constructor/i.test(String(_global.HTMLElement)) || 'safari' in _global;\n const isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) &&\n typeof FileReader !== 'undefined') {\n // Safari doesn't allow downloading of blob URLs\n const reader = new FileReader();\n reader.onloadend = function () {\n let url = reader.result;\n if (typeof url !== 'string') {\n popup = null;\n throw new Error('Wrong reader.result type');\n }\n url = isChromeIOS\n ? url\n : url.replace(/^data:[^;]*;/, 'data:attachment/file;');\n if (popup) {\n popup.location.href = url;\n }\n else {\n location.assign(url);\n }\n popup = null; // reverse-tabnabbing #460\n };\n reader.readAsDataURL(blob);\n }\n else {\n const url = URL.createObjectURL(blob);\n if (popup)\n popup.location.assign(url);\n else\n location.href = url;\n popup = null; // reverse-tabnabbing #460\n setTimeout(function () {\n URL.revokeObjectURL(url);\n }, 4e4); // 40s\n }\n}\n\n/**\n * Shows a toast or console.log\n *\n * @param message - message to log\n * @param type - different color of the tooltip\n */\nfunction toastMessage(message, type) {\n const piniaMessage = '🍍 ' + message;\n if (typeof __VUE_DEVTOOLS_TOAST__ === 'function') {\n // No longer available :(\n __VUE_DEVTOOLS_TOAST__(piniaMessage, type);\n }\n else if (type === 'error') {\n console.error(piniaMessage);\n }\n else if (type === 'warn') {\n console.warn(piniaMessage);\n }\n else {\n console.log(piniaMessage);\n }\n}\nfunction isPinia(o) {\n return '_a' in o && 'install' in o;\n}\n\n/**\n * This file contain devtools actions, they are not Pinia actions.\n */\n// ---\nfunction checkClipboardAccess() {\n if (!('clipboard' in navigator)) {\n toastMessage(`Your browser doesn't support the Clipboard API`, 'error');\n return true;\n }\n}\nfunction checkNotFocusedError(error) {\n if (error instanceof Error &&\n error.message.toLowerCase().includes('document is not focused')) {\n toastMessage('You need to activate the \"Emulate a focused page\" setting in the \"Rendering\" panel of devtools.', 'warn');\n return true;\n }\n return false;\n}\nasync function actionGlobalCopyState(pinia) {\n if (checkClipboardAccess())\n return;\n try {\n await navigator.clipboard.writeText(JSON.stringify(pinia.state.value));\n toastMessage('Global state copied to clipboard.');\n }\n catch (error) {\n if (checkNotFocusedError(error))\n return;\n toastMessage(`Failed to serialize the state. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nasync function actionGlobalPasteState(pinia) {\n if (checkClipboardAccess())\n return;\n try {\n loadStoresState(pinia, JSON.parse(await navigator.clipboard.readText()));\n toastMessage('Global state pasted from clipboard.');\n }\n catch (error) {\n if (checkNotFocusedError(error))\n return;\n toastMessage(`Failed to deserialize the state from clipboard. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nasync function actionGlobalSaveState(pinia) {\n try {\n saveAs(new Blob([JSON.stringify(pinia.state.value)], {\n type: 'text/plain;charset=utf-8',\n }), 'pinia-state.json');\n }\n catch (error) {\n toastMessage(`Failed to export the state as JSON. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nlet fileInput;\nfunction getFileOpener() {\n if (!fileInput) {\n fileInput = document.createElement('input');\n fileInput.type = 'file';\n fileInput.accept = '.json';\n }\n function openFile() {\n return new Promise((resolve, reject) => {\n fileInput.onchange = async () => {\n const files = fileInput.files;\n if (!files)\n return resolve(null);\n const file = files.item(0);\n if (!file)\n return resolve(null);\n return resolve({ text: await file.text(), file });\n };\n // @ts-ignore: TODO: changed from 4.3 to 4.4\n fileInput.oncancel = () => resolve(null);\n fileInput.onerror = reject;\n fileInput.click();\n });\n }\n return openFile;\n}\nasync function actionGlobalOpenStateFile(pinia) {\n try {\n const open = getFileOpener();\n const result = await open();\n if (!result)\n return;\n const { text, file } = result;\n loadStoresState(pinia, JSON.parse(text));\n toastMessage(`Global state imported from \"${file.name}\".`);\n }\n catch (error) {\n toastMessage(`Failed to import the state from JSON. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nfunction loadStoresState(pinia, state) {\n for (const key in state) {\n const storeState = pinia.state.value[key];\n // store is already instantiated, patch it\n if (storeState) {\n Object.assign(storeState, state[key]);\n }\n else {\n // store is not instantiated, set the initial state\n pinia.state.value[key] = state[key];\n }\n }\n}\n\nfunction formatDisplay(display) {\n return {\n _custom: {\n display,\n },\n };\n}\nconst PINIA_ROOT_LABEL = '🍍 Pinia (root)';\nconst PINIA_ROOT_ID = '_root';\nfunction formatStoreForInspectorTree(store) {\n return isPinia(store)\n ? {\n id: PINIA_ROOT_ID,\n label: PINIA_ROOT_LABEL,\n }\n : {\n id: store.$id,\n label: store.$id,\n };\n}\nfunction formatStoreForInspectorState(store) {\n if (isPinia(store)) {\n const storeNames = Array.from(store._s.keys());\n const storeMap = store._s;\n const state = {\n state: storeNames.map((storeId) => ({\n editable: true,\n key: storeId,\n value: store.state.value[storeId],\n })),\n getters: storeNames\n .filter((id) => storeMap.get(id)._getters)\n .map((id) => {\n const store = storeMap.get(id);\n return {\n editable: false,\n key: id,\n value: store._getters.reduce((getters, key) => {\n getters[key] = store[key];\n return getters;\n }, {}),\n };\n }),\n };\n return state;\n }\n const state = {\n state: Object.keys(store.$state).map((key) => ({\n editable: true,\n key,\n value: store.$state[key],\n })),\n };\n // avoid adding empty getters\n if (store._getters && store._getters.length) {\n state.getters = store._getters.map((getterName) => ({\n editable: false,\n key: getterName,\n value: store[getterName],\n }));\n }\n if (store._customProperties.size) {\n state.customProperties = Array.from(store._customProperties).map((key) => ({\n editable: true,\n key,\n value: store[key],\n }));\n }\n return state;\n}\nfunction formatEventData(events) {\n if (!events)\n return {};\n if (Array.isArray(events)) {\n // TODO: handle add and delete for arrays and objects\n return events.reduce((data, event) => {\n data.keys.push(event.key);\n data.operations.push(event.type);\n data.oldValue[event.key] = event.oldValue;\n data.newValue[event.key] = event.newValue;\n return data;\n }, {\n oldValue: {},\n keys: [],\n operations: [],\n newValue: {},\n });\n }\n else {\n return {\n operation: formatDisplay(events.type),\n key: formatDisplay(events.key),\n oldValue: events.oldValue,\n newValue: events.newValue,\n };\n }\n}\nfunction formatMutationType(type) {\n switch (type) {\n case MutationType.direct:\n return 'mutation';\n case MutationType.patchFunction:\n return '$patch';\n case MutationType.patchObject:\n return '$patch';\n default:\n return 'unknown';\n }\n}\n\n// timeline can be paused when directly changing the state\nlet isTimelineActive = true;\nconst componentStateTypes = [];\nconst MUTATIONS_LAYER_ID = 'pinia:mutations';\nconst INSPECTOR_ID = 'pinia';\nconst { assign: assign$1 } = Object;\n/**\n * Gets the displayed name of a store in devtools\n *\n * @param id - id of the store\n * @returns a formatted string\n */\nconst getStoreType = (id) => '🍍 ' + id;\n/**\n * Add the pinia plugin without any store. Allows displaying a Pinia plugin tab\n * as soon as it is added to the application.\n *\n * @param app - Vue application\n * @param pinia - pinia instance\n */\nfunction registerPiniaDevtools(app, pinia) {\n setupDevtoolsPlugin({\n id: 'dev.esm.pinia',\n label: 'Pinia 🍍',\n logo: 'https://pinia.vuejs.org/logo.svg',\n packageName: 'pinia',\n homepage: 'https://pinia.vuejs.org',\n componentStateTypes,\n app,\n }, (api) => {\n if (typeof api.now !== 'function') {\n toastMessage('You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\n }\n api.addTimelineLayer({\n id: MUTATIONS_LAYER_ID,\n label: `Pinia 🍍`,\n color: 0xe5df88,\n });\n api.addInspector({\n id: INSPECTOR_ID,\n label: 'Pinia 🍍',\n icon: 'storage',\n treeFilterPlaceholder: 'Search stores',\n actions: [\n {\n icon: 'content_copy',\n action: () => {\n actionGlobalCopyState(pinia);\n },\n tooltip: 'Serialize and copy the state',\n },\n {\n icon: 'content_paste',\n action: async () => {\n await actionGlobalPasteState(pinia);\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n },\n tooltip: 'Replace the state with the content of your clipboard',\n },\n {\n icon: 'save',\n action: () => {\n actionGlobalSaveState(pinia);\n },\n tooltip: 'Save the state as a JSON file',\n },\n {\n icon: 'folder_open',\n action: async () => {\n await actionGlobalOpenStateFile(pinia);\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n },\n tooltip: 'Import the state from a JSON file',\n },\n ],\n nodeActions: [\n {\n icon: 'restore',\n tooltip: 'Reset the state (with \"$reset\")',\n action: (nodeId) => {\n const store = pinia._s.get(nodeId);\n if (!store) {\n toastMessage(`Cannot reset \"${nodeId}\" store because it wasn't found.`, 'warn');\n }\n else if (typeof store.$reset !== 'function') {\n toastMessage(`Cannot reset \"${nodeId}\" store because it doesn't have a \"$reset\" method implemented.`, 'warn');\n }\n else {\n store.$reset();\n toastMessage(`Store \"${nodeId}\" reset.`);\n }\n },\n },\n ],\n });\n api.on.inspectComponent((payload, ctx) => {\n const proxy = (payload.componentInstance &&\n payload.componentInstance.proxy);\n if (proxy && proxy._pStores) {\n const piniaStores = payload.componentInstance.proxy._pStores;\n Object.values(piniaStores).forEach((store) => {\n payload.instanceData.state.push({\n type: getStoreType(store.$id),\n key: 'state',\n editable: true,\n value: store._isOptionsAPI\n ? {\n _custom: {\n value: toRaw(store.$state),\n actions: [\n {\n icon: 'restore',\n tooltip: 'Reset the state of this store',\n action: () => store.$reset(),\n },\n ],\n },\n }\n : // NOTE: workaround to unwrap transferred refs\n Object.keys(store.$state).reduce((state, key) => {\n state[key] = store.$state[key];\n return state;\n }, {}),\n });\n if (store._getters && store._getters.length) {\n payload.instanceData.state.push({\n type: getStoreType(store.$id),\n key: 'getters',\n editable: false,\n value: store._getters.reduce((getters, key) => {\n try {\n getters[key] = store[key];\n }\n catch (error) {\n // @ts-expect-error: we just want to show it in devtools\n getters[key] = error;\n }\n return getters;\n }, {}),\n });\n }\n });\n }\n });\n api.on.getInspectorTree((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n let stores = [pinia];\n stores = stores.concat(Array.from(pinia._s.values()));\n payload.rootNodes = (payload.filter\n ? stores.filter((store) => '$id' in store\n ? store.$id\n .toLowerCase()\n .includes(payload.filter.toLowerCase())\n : PINIA_ROOT_LABEL.toLowerCase().includes(payload.filter.toLowerCase()))\n : stores).map(formatStoreForInspectorTree);\n }\n });\n // Expose pinia instance as $pinia to window\n globalThis.$pinia = pinia;\n api.on.getInspectorState((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID\n ? pinia\n : pinia._s.get(payload.nodeId);\n if (!inspectedStore) {\n // this could be the selected store restored for a different project\n // so it's better not to say anything here\n return;\n }\n if (inspectedStore) {\n // Expose selected store as $store to window\n if (payload.nodeId !== PINIA_ROOT_ID)\n globalThis.$store = toRaw(inspectedStore);\n payload.state = formatStoreForInspectorState(inspectedStore);\n }\n }\n });\n api.on.editInspectorState((payload, ctx) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID\n ? pinia\n : pinia._s.get(payload.nodeId);\n if (!inspectedStore) {\n return toastMessage(`store \"${payload.nodeId}\" not found`, 'error');\n }\n const { path } = payload;\n if (!isPinia(inspectedStore)) {\n // access only the state\n if (path.length !== 1 ||\n !inspectedStore._customProperties.has(path[0]) ||\n path[0] in inspectedStore.$state) {\n path.unshift('$state');\n }\n }\n else {\n // Root access, we can omit the `.value` because the devtools API does it for us\n path.unshift('state');\n }\n isTimelineActive = false;\n payload.set(inspectedStore, path, payload.state.value);\n isTimelineActive = true;\n }\n });\n api.on.editComponentState((payload) => {\n if (payload.type.startsWith('🍍')) {\n const storeId = payload.type.replace(/^🍍\\s*/, '');\n const store = pinia._s.get(storeId);\n if (!store) {\n return toastMessage(`store \"${storeId}\" not found`, 'error');\n }\n const { path } = payload;\n if (path[0] !== 'state') {\n return toastMessage(`Invalid path for store \"${storeId}\":\\n${path}\\nOnly state can be modified.`);\n }\n // rewrite the first entry to be able to directly set the state as\n // well as any other path\n path[0] = '$state';\n isTimelineActive = false;\n payload.set(store, path, payload.state.value);\n isTimelineActive = true;\n }\n });\n });\n}\nfunction addStoreToDevtools(app, store) {\n if (!componentStateTypes.includes(getStoreType(store.$id))) {\n componentStateTypes.push(getStoreType(store.$id));\n }\n setupDevtoolsPlugin({\n id: 'dev.esm.pinia',\n label: 'Pinia 🍍',\n logo: 'https://pinia.vuejs.org/logo.svg',\n packageName: 'pinia',\n homepage: 'https://pinia.vuejs.org',\n componentStateTypes,\n app,\n settings: {\n logStoreChanges: {\n label: 'Notify about new/deleted stores',\n type: 'boolean',\n defaultValue: true,\n },\n // useEmojis: {\n // label: 'Use emojis in messages ⚡️',\n // type: 'boolean',\n // defaultValue: true,\n // },\n },\n }, (api) => {\n // gracefully handle errors\n const now = typeof api.now === 'function' ? api.now.bind(api) : Date.now;\n store.$onAction(({ after, onError, name, args }) => {\n const groupId = runningActionId++;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🛫 ' + name,\n subtitle: 'start',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n },\n groupId,\n },\n });\n after((result) => {\n activeAction = undefined;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🛬 ' + name,\n subtitle: 'end',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n result,\n },\n groupId,\n },\n });\n });\n onError((error) => {\n activeAction = undefined;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n logType: 'error',\n title: '💥 ' + name,\n subtitle: 'end',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n error,\n },\n groupId,\n },\n });\n });\n }, true);\n store._customProperties.forEach((name) => {\n watch(() => unref(store[name]), (newValue, oldValue) => {\n api.notifyComponentUpdate();\n api.sendInspectorState(INSPECTOR_ID);\n if (isTimelineActive) {\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: 'Change',\n subtitle: name,\n data: {\n newValue,\n oldValue,\n },\n groupId: activeAction,\n },\n });\n }\n }, { deep: true });\n });\n store.$subscribe(({ events, type }, state) => {\n api.notifyComponentUpdate();\n api.sendInspectorState(INSPECTOR_ID);\n if (!isTimelineActive)\n return;\n // rootStore.state[store.id] = state\n const eventData = {\n time: now(),\n title: formatMutationType(type),\n data: assign$1({ store: formatDisplay(store.$id) }, formatEventData(events)),\n groupId: activeAction,\n };\n if (type === MutationType.patchFunction) {\n eventData.subtitle = '⤵️';\n }\n else if (type === MutationType.patchObject) {\n eventData.subtitle = '🧩';\n }\n else if (events && !Array.isArray(events)) {\n eventData.subtitle = events.type;\n }\n if (events) {\n eventData.data['rawEvent(s)'] = {\n _custom: {\n display: 'DebuggerEvent',\n type: 'object',\n tooltip: 'raw DebuggerEvent[]',\n value: events,\n },\n };\n }\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: eventData,\n });\n }, { detached: true, flush: 'sync' });\n const hotUpdate = store._hotUpdate;\n store._hotUpdate = markRaw((newStore) => {\n hotUpdate(newStore);\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🔥 ' + store.$id,\n subtitle: 'HMR update',\n data: {\n store: formatDisplay(store.$id),\n info: formatDisplay(`HMR update`),\n },\n },\n });\n // update the devtools too\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n });\n const { $dispose } = store;\n store.$dispose = () => {\n $dispose();\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n api.getSettings().logStoreChanges &&\n toastMessage(`Disposed \"${store.$id}\" store 🗑`);\n };\n // trigger an update so it can display new registered stores\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n api.getSettings().logStoreChanges &&\n toastMessage(`\"${store.$id}\" store installed 🆕`);\n });\n}\nlet runningActionId = 0;\nlet activeAction;\n/**\n * Patches a store to enable action grouping in devtools by wrapping the store with a Proxy that is passed as the\n * context of all actions, allowing us to set `runningAction` on each access and effectively associating any state\n * mutation to the action.\n *\n * @param store - store to patch\n * @param actionNames - list of actionst to patch\n */\nfunction patchActionForGrouping(store, actionNames, wrapWithProxy) {\n // original actions of the store as they are given by pinia. We are going to override them\n const actions = actionNames.reduce((storeActions, actionName) => {\n // use toRaw to avoid tracking #541\n storeActions[actionName] = toRaw(store)[actionName];\n return storeActions;\n }, {});\n for (const actionName in actions) {\n store[actionName] = function () {\n // the running action id is incremented in a before action hook\n const _actionId = runningActionId;\n const trackedStore = wrapWithProxy\n ? new Proxy(store, {\n get(...args) {\n activeAction = _actionId;\n return Reflect.get(...args);\n },\n set(...args) {\n activeAction = _actionId;\n return Reflect.set(...args);\n },\n })\n : store;\n // For Setup Stores we need https://github.com/tc39/proposal-async-context\n activeAction = _actionId;\n const retValue = actions[actionName].apply(trackedStore, arguments);\n // this is safer as async actions in Setup Stores would associate mutations done outside of the action\n activeAction = undefined;\n return retValue;\n };\n }\n}\n/**\n * pinia.use(devtoolsPlugin)\n */\nfunction devtoolsPlugin({ app, store, options }) {\n // HMR module\n if (store.$id.startsWith('__hot:')) {\n return;\n }\n // detect option api vs setup api\n store._isOptionsAPI = !!options.state;\n // Do not overwrite actions mocked by @pinia/testing (#2298)\n if (!store._p._testing) {\n patchActionForGrouping(store, Object.keys(options.actions), store._isOptionsAPI);\n // Upgrade the HMR to also update the new actions\n const originalHotUpdate = store._hotUpdate;\n toRaw(store)._hotUpdate = function (newStore) {\n originalHotUpdate.apply(this, arguments);\n patchActionForGrouping(store, Object.keys(newStore._hmrPayload.actions), !!store._isOptionsAPI);\n };\n }\n addStoreToDevtools(app, \n // FIXME: is there a way to allow the assignment from Store<Id, S, G, A> to StoreGeneric?\n store);\n}\n\n/**\n * Creates a Pinia instance to be used by the application\n */\nfunction createPinia() {\n const scope = effectScope(true);\n // NOTE: here we could check the window object for a state and directly set it\n // if there is anything like it with Vue 3 SSR\n const state = scope.run(() => ref({}));\n let _p = [];\n // plugins added before calling app.use(pinia)\n let toBeInstalled = [];\n const pinia = markRaw({\n install(app) {\n // this allows calling useStore() outside of a component setup after\n // installing pinia's plugin\n setActivePinia(pinia);\n if (!isVue2) {\n pinia._a = app;\n app.provide(piniaSymbol, pinia);\n app.config.globalProperties.$pinia = pinia;\n /* istanbul ignore else */\n if ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT) {\n registerPiniaDevtools(app, pinia);\n }\n toBeInstalled.forEach((plugin) => _p.push(plugin));\n toBeInstalled = [];\n }\n },\n use(plugin) {\n if (!this._a && !isVue2) {\n toBeInstalled.push(plugin);\n }\n else {\n _p.push(plugin);\n }\n return this;\n },\n _p,\n // it's actually undefined here\n // @ts-expect-error\n _a: null,\n _e: scope,\n _s: new Map(),\n state,\n });\n // pinia devtools rely on dev only features so they cannot be forced unless\n // the dev build of Vue is used. Avoid old browsers like IE11.\n if ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && typeof Proxy !== 'undefined') {\n pinia.use(devtoolsPlugin);\n }\n return pinia;\n}\n/**\n * Dispose a Pinia instance by stopping its effectScope and removing the state, plugins and stores. This is mostly\n * useful in tests, with both a testing pinia or a regular pinia and in applications that use multiple pinia instances.\n * Once disposed, the pinia instance cannot be used anymore.\n *\n * @param pinia - pinia instance\n */\nfunction disposePinia(pinia) {\n pinia._e.stop();\n pinia._s.clear();\n pinia._p.splice(0);\n pinia.state.value = {};\n // @ts-expect-error: non valid\n pinia._a = null;\n}\n\n/**\n * Checks if a function is a `StoreDefinition`.\n *\n * @param fn - object to test\n * @returns true if `fn` is a StoreDefinition\n */\nconst isUseStore = (fn) => {\n return typeof fn === 'function' && typeof fn.$id === 'string';\n};\n/**\n * Mutates in place `newState` with `oldState` to _hot update_ it. It will\n * remove any key not existing in `newState` and recursively merge plain\n * objects.\n *\n * @param newState - new state object to be patched\n * @param oldState - old state that should be used to patch newState\n * @returns - newState\n */\nfunction patchObject(newState, oldState) {\n // no need to go through symbols because they cannot be serialized anyway\n for (const key in oldState) {\n const subPatch = oldState[key];\n // skip the whole sub tree\n if (!(key in newState)) {\n continue;\n }\n const targetValue = newState[key];\n if (isPlainObject(targetValue) &&\n isPlainObject(subPatch) &&\n !isRef(subPatch) &&\n !isReactive(subPatch)) {\n newState[key] = patchObject(targetValue, subPatch);\n }\n else {\n // objects are either a bit more complex (e.g. refs) or primitives, so we\n // just set the whole thing\n if (isVue2) {\n set(newState, key, subPatch);\n }\n else {\n newState[key] = subPatch;\n }\n }\n }\n return newState;\n}\n/**\n * Creates an _accept_ function to pass to `import.meta.hot` in Vite applications.\n *\n * @example\n * ```js\n * const useUser = defineStore(...)\n * if (import.meta.hot) {\n * import.meta.hot.accept(acceptHMRUpdate(useUser, import.meta.hot))\n * }\n * ```\n *\n * @param initialUseStore - return of the defineStore to hot update\n * @param hot - `import.meta.hot`\n */\nfunction acceptHMRUpdate(initialUseStore, hot) {\n // strip as much as possible from iife.prod\n if (!(process.env.NODE_ENV !== 'production')) {\n return () => { };\n }\n return (newModule) => {\n const pinia = hot.data.pinia || initialUseStore._pinia;\n if (!pinia) {\n // this store is still not used\n return;\n }\n // preserve the pinia instance across loads\n hot.data.pinia = pinia;\n // console.log('got data', newStore)\n for (const exportName in newModule) {\n const useStore = newModule[exportName];\n // console.log('checking for', exportName)\n if (isUseStore(useStore) && pinia._s.has(useStore.$id)) {\n // console.log('Accepting update for', useStore.$id)\n const id = useStore.$id;\n if (id !== initialUseStore.$id) {\n console.warn(`The id of the store changed from \"${initialUseStore.$id}\" to \"${id}\". Reloading.`);\n // return import.meta.hot.invalidate()\n return hot.invalidate();\n }\n const existingStore = pinia._s.get(id);\n if (!existingStore) {\n console.log(`[Pinia]: skipping hmr because store doesn't exist yet`);\n return;\n }\n useStore(pinia, existingStore);\n }\n }\n };\n}\n\nconst noop = () => { };\nfunction addSubscription(subscriptions, callback, detached, onCleanup = noop) {\n subscriptions.push(callback);\n const removeSubscription = () => {\n const idx = subscriptions.indexOf(callback);\n if (idx > -1) {\n subscriptions.splice(idx, 1);\n onCleanup();\n }\n };\n if (!detached && getCurrentScope()) {\n onScopeDispose(removeSubscription);\n }\n return removeSubscription;\n}\nfunction triggerSubscriptions(subscriptions, ...args) {\n subscriptions.slice().forEach((callback) => {\n callback(...args);\n });\n}\n\nconst fallbackRunWithContext = (fn) => fn();\n/**\n * Marks a function as an action for `$onAction`\n * @internal\n */\nconst ACTION_MARKER = Symbol();\n/**\n * Action name symbol. Allows to add a name to an action after defining it\n * @internal\n */\nconst ACTION_NAME = Symbol();\nfunction mergeReactiveObjects(target, patchToApply) {\n // Handle Map instances\n if (target instanceof Map && patchToApply instanceof Map) {\n patchToApply.forEach((value, key) => target.set(key, value));\n }\n else if (target instanceof Set && patchToApply instanceof Set) {\n // Handle Set instances\n patchToApply.forEach(target.add, target);\n }\n // no need to go through symbols because they cannot be serialized anyway\n for (const key in patchToApply) {\n if (!patchToApply.hasOwnProperty(key))\n continue;\n const subPatch = patchToApply[key];\n const targetValue = target[key];\n if (isPlainObject(targetValue) &&\n isPlainObject(subPatch) &&\n target.hasOwnProperty(key) &&\n !isRef(subPatch) &&\n !isReactive(subPatch)) {\n // NOTE: here I wanted to warn about inconsistent types but it's not possible because in setup stores one might\n // start the value of a property as a certain type e.g. a Map, and then for some reason, during SSR, change that\n // to `undefined`. When trying to hydrate, we want to override the Map with `undefined`.\n target[key] = mergeReactiveObjects(targetValue, subPatch);\n }\n else {\n // @ts-expect-error: subPatch is a valid value\n target[key] = subPatch;\n }\n }\n return target;\n}\nconst skipHydrateSymbol = (process.env.NODE_ENV !== 'production')\n ? Symbol('pinia:skipHydration')\n : /* istanbul ignore next */ Symbol();\nconst skipHydrateMap = /*#__PURE__*/ new WeakMap();\n/**\n * Tells Pinia to skip the hydration process of a given object. This is useful in setup stores (only) when you return a\n * stateful object in the store but it isn't really state. e.g. returning a router instance in a setup store.\n *\n * @param obj - target object\n * @returns obj\n */\nfunction skipHydrate(obj) {\n return isVue2\n ? // in @vue/composition-api, the refs are sealed so defineProperty doesn't work...\n /* istanbul ignore next */ skipHydrateMap.set(obj, 1) && obj\n : Object.defineProperty(obj, skipHydrateSymbol, {});\n}\n/**\n * Returns whether a value should be hydrated\n *\n * @param obj - target variable\n * @returns true if `obj` should be hydrated\n */\nfunction shouldHydrate(obj) {\n return isVue2\n ? /* istanbul ignore next */ !skipHydrateMap.has(obj)\n : !isPlainObject(obj) || !obj.hasOwnProperty(skipHydrateSymbol);\n}\nconst { assign } = Object;\nfunction isComputed(o) {\n return !!(isRef(o) && o.effect);\n}\nfunction createOptionsStore(id, options, pinia, hot) {\n const { state, actions, getters } = options;\n const initialState = pinia.state.value[id];\n let store;\n function setup() {\n if (!initialState && (!(process.env.NODE_ENV !== 'production') || !hot)) {\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value, id, state ? state() : {});\n }\n else {\n pinia.state.value[id] = state ? state() : {};\n }\n }\n // avoid creating a state in pinia.state.value\n const localState = (process.env.NODE_ENV !== 'production') && hot\n ? // use ref() to unwrap refs inside state TODO: check if this is still necessary\n toRefs(ref(state ? state() : {}).value)\n : toRefs(pinia.state.value[id]);\n return assign(localState, actions, Object.keys(getters || {}).reduce((computedGetters, name) => {\n if ((process.env.NODE_ENV !== 'production') && name in localState) {\n console.warn(`[🍍]: A getter cannot have the same name as another state property. Rename one of them. Found with \"${name}\" in store \"${id}\".`);\n }\n computedGetters[name] = markRaw(computed(() => {\n setActivePinia(pinia);\n // it was created just before\n const store = pinia._s.get(id);\n // allow cross using stores\n /* istanbul ignore if */\n if (isVue2 && !store._r)\n return;\n // @ts-expect-error\n // return getters![name].call(context, context)\n // TODO: avoid reading the getter while assigning with a global variable\n return getters[name].call(store, store);\n }));\n return computedGetters;\n }, {}));\n }\n store = createSetupStore(id, setup, options, pinia, hot, true);\n return store;\n}\nfunction createSetupStore($id, setup, options = {}, pinia, hot, isOptionsStore) {\n let scope;\n const optionsForPlugin = assign({ actions: {} }, options);\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && !pinia._e.active) {\n throw new Error('Pinia destroyed');\n }\n // watcher options for $subscribe\n const $subscribeOptions = { deep: true };\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production') && !isVue2) {\n $subscribeOptions.onTrigger = (event) => {\n /* istanbul ignore else */\n if (isListening) {\n debuggerEvents = event;\n // avoid triggering this while the store is being built and the state is being set in pinia\n }\n else if (isListening == false && !store._hotUpdating) {\n // let patch send all the events together later\n /* istanbul ignore else */\n if (Array.isArray(debuggerEvents)) {\n debuggerEvents.push(event);\n }\n else {\n console.error('🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug.');\n }\n }\n };\n }\n // internal state\n let isListening; // set to true at the end\n let isSyncListening; // set to true at the end\n let subscriptions = [];\n let actionSubscriptions = [];\n let debuggerEvents;\n const initialState = pinia.state.value[$id];\n // avoid setting the state for option stores if it is set\n // by the setup\n if (!isOptionsStore && !initialState && (!(process.env.NODE_ENV !== 'production') || !hot)) {\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value, $id, {});\n }\n else {\n pinia.state.value[$id] = {};\n }\n }\n const hotState = ref({});\n // avoid triggering too many listeners\n // https://github.com/vuejs/pinia/issues/1129\n let activeListener;\n function $patch(partialStateOrMutator) {\n let subscriptionMutation;\n isListening = isSyncListening = false;\n // reset the debugger events since patches are sync\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n debuggerEvents = [];\n }\n if (typeof partialStateOrMutator === 'function') {\n partialStateOrMutator(pinia.state.value[$id]);\n subscriptionMutation = {\n type: MutationType.patchFunction,\n storeId: $id,\n events: debuggerEvents,\n };\n }\n else {\n mergeReactiveObjects(pinia.state.value[$id], partialStateOrMutator);\n subscriptionMutation = {\n type: MutationType.patchObject,\n payload: partialStateOrMutator,\n storeId: $id,\n events: debuggerEvents,\n };\n }\n const myListenerId = (activeListener = Symbol());\n nextTick().then(() => {\n if (activeListener === myListenerId) {\n isListening = true;\n }\n });\n isSyncListening = true;\n // because we paused the watcher, we need to manually call the subscriptions\n triggerSubscriptions(subscriptions, subscriptionMutation, pinia.state.value[$id]);\n }\n const $reset = isOptionsStore\n ? function $reset() {\n const { state } = options;\n const newState = state ? state() : {};\n // we use a patch to group all changes into one single subscription\n this.$patch(($state) => {\n // @ts-expect-error: FIXME: shouldn't error?\n assign($state, newState);\n });\n }\n : /* istanbul ignore next */\n (process.env.NODE_ENV !== 'production')\n ? () => {\n throw new Error(`🍍: Store \"${$id}\" is built using the setup syntax and does not implement $reset().`);\n }\n : noop;\n function $dispose() {\n scope.stop();\n subscriptions = [];\n actionSubscriptions = [];\n pinia._s.delete($id);\n }\n /**\n * Helper that wraps function so it can be tracked with $onAction\n * @param fn - action to wrap\n * @param name - name of the action\n */\n const action = (fn, name = '') => {\n if (ACTION_MARKER in fn) {\n fn[ACTION_NAME] = name;\n return fn;\n }\n const wrappedAction = function () {\n setActivePinia(pinia);\n const args = Array.from(arguments);\n const afterCallbackList = [];\n const onErrorCallbackList = [];\n function after(callback) {\n afterCallbackList.push(callback);\n }\n function onError(callback) {\n onErrorCallbackList.push(callback);\n }\n // @ts-expect-error\n triggerSubscriptions(actionSubscriptions, {\n args,\n name: wrappedAction[ACTION_NAME],\n store,\n after,\n onError,\n });\n let ret;\n try {\n ret = fn.apply(this && this.$id === $id ? this : store, args);\n // handle sync errors\n }\n catch (error) {\n triggerSubscriptions(onErrorCallbackList, error);\n throw error;\n }\n if (ret instanceof Promise) {\n return ret\n .then((value) => {\n triggerSubscriptions(afterCallbackList, value);\n return value;\n })\n .catch((error) => {\n triggerSubscriptions(onErrorCallbackList, error);\n return Promise.reject(error);\n });\n }\n // trigger after callbacks\n triggerSubscriptions(afterCallbackList, ret);\n return ret;\n };\n wrappedAction[ACTION_MARKER] = true;\n wrappedAction[ACTION_NAME] = name; // will be set later\n // @ts-expect-error: we are intentionally limiting the returned type to just Fn\n // because all the added properties are internals that are exposed through `$onAction()` only\n return wrappedAction;\n };\n const _hmrPayload = /*#__PURE__*/ markRaw({\n actions: {},\n getters: {},\n state: [],\n hotState,\n });\n const partialStore = {\n _p: pinia,\n // _s: scope,\n $id,\n $onAction: addSubscription.bind(null, actionSubscriptions),\n $patch,\n $reset,\n $subscribe(callback, options = {}) {\n const removeSubscription = addSubscription(subscriptions, callback, options.detached, () => stopWatcher());\n const stopWatcher = scope.run(() => watch(() => pinia.state.value[$id], (state) => {\n if (options.flush === 'sync' ? isSyncListening : isListening) {\n callback({\n storeId: $id,\n type: MutationType.direct,\n events: debuggerEvents,\n }, state);\n }\n }, assign({}, $subscribeOptions, options)));\n return removeSubscription;\n },\n $dispose,\n };\n /* istanbul ignore if */\n if (isVue2) {\n // start as non ready\n partialStore._r = false;\n }\n const store = reactive((process.env.NODE_ENV !== 'production') || ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT)\n ? assign({\n _hmrPayload,\n _customProperties: markRaw(new Set()), // devtools custom properties\n }, partialStore\n // must be added later\n // setupStore\n )\n : partialStore);\n // store the partial store now so the setup of stores can instantiate each other before they are finished without\n // creating infinite loops.\n pinia._s.set($id, store);\n const runWithContext = (pinia._a && pinia._a.runWithContext) || fallbackRunWithContext;\n // TODO: idea create skipSerialize that marks properties as non serializable and they are skipped\n const setupStore = runWithContext(() => pinia._e.run(() => (scope = effectScope()).run(() => setup({ action }))));\n // overwrite existing actions to support $onAction\n for (const key in setupStore) {\n const prop = setupStore[key];\n if ((isRef(prop) && !isComputed(prop)) || isReactive(prop)) {\n // mark it as a piece of state to be serialized\n if ((process.env.NODE_ENV !== 'production') && hot) {\n set(hotState.value, key, toRef(setupStore, key));\n // createOptionStore directly sets the state in pinia.state.value so we\n // can just skip that\n }\n else if (!isOptionsStore) {\n // in setup stores we must hydrate the state and sync pinia state tree with the refs the user just created\n if (initialState && shouldHydrate(prop)) {\n if (isRef(prop)) {\n prop.value = initialState[key];\n }\n else {\n // probably a reactive object, lets recursively assign\n // @ts-expect-error: prop is unknown\n mergeReactiveObjects(prop, initialState[key]);\n }\n }\n // transfer the ref to the pinia state to keep everything in sync\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value[$id], key, prop);\n }\n else {\n pinia.state.value[$id][key] = prop;\n }\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n _hmrPayload.state.push(key);\n }\n // action\n }\n else if (typeof prop === 'function') {\n const actionValue = (process.env.NODE_ENV !== 'production') && hot ? prop : action(prop, key);\n // this a hot module replacement store because the hotUpdate method needs\n // to do it with the right context\n /* istanbul ignore if */\n if (isVue2) {\n set(setupStore, key, actionValue);\n }\n else {\n // @ts-expect-error\n setupStore[key] = actionValue;\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n _hmrPayload.actions[key] = prop;\n }\n // list actions so they can be used in plugins\n // @ts-expect-error\n optionsForPlugin.actions[key] = prop;\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n // add getters for devtools\n if (isComputed(prop)) {\n _hmrPayload.getters[key] = isOptionsStore\n ? // @ts-expect-error\n options.getters[key]\n : prop;\n if (IS_CLIENT) {\n const getters = setupStore._getters ||\n // @ts-expect-error: same\n (setupStore._getters = markRaw([]));\n getters.push(key);\n }\n }\n }\n }\n // add the state, getters, and action properties\n /* istanbul ignore if */\n if (isVue2) {\n Object.keys(setupStore).forEach((key) => {\n set(store, key, setupStore[key]);\n });\n }\n else {\n assign(store, setupStore);\n // allows retrieving reactive objects with `storeToRefs()`. Must be called after assigning to the reactive object.\n // Make `storeToRefs()` work with `reactive()` #799\n assign(toRaw(store), setupStore);\n }\n // use this instead of a computed with setter to be able to create it anywhere\n // without linking the computed lifespan to wherever the store is first\n // created.\n Object.defineProperty(store, '$state', {\n get: () => ((process.env.NODE_ENV !== 'production') && hot ? hotState.value : pinia.state.value[$id]),\n set: (state) => {\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && hot) {\n throw new Error('cannot set hotState');\n }\n $patch(($state) => {\n // @ts-expect-error: FIXME: shouldn't error?\n assign($state, state);\n });\n },\n });\n // add the hotUpdate before plugins to allow them to override it\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n store._hotUpdate = markRaw((newStore) => {\n store._hotUpdating = true;\n newStore._hmrPayload.state.forEach((stateKey) => {\n if (stateKey in store.$state) {\n const newStateTarget = newStore.$state[stateKey];\n const oldStateSource = store.$state[stateKey];\n if (typeof newStateTarget === 'object' &&\n isPlainObject(newStateTarget) &&\n isPlainObject(oldStateSource)) {\n patchObject(newStateTarget, oldStateSource);\n }\n else {\n // transfer the ref\n newStore.$state[stateKey] = oldStateSource;\n }\n }\n // patch direct access properties to allow store.stateProperty to work as\n // store.$state.stateProperty\n set(store, stateKey, toRef(newStore.$state, stateKey));\n });\n // remove deleted state properties\n Object.keys(store.$state).forEach((stateKey) => {\n if (!(stateKey in newStore.$state)) {\n del(store, stateKey);\n }\n });\n // avoid devtools logging this as a mutation\n isListening = false;\n isSyncListening = false;\n pinia.state.value[$id] = toRef(newStore._hmrPayload, 'hotState');\n isSyncListening = true;\n nextTick().then(() => {\n isListening = true;\n });\n for (const actionName in newStore._hmrPayload.actions) {\n const actionFn = newStore[actionName];\n set(store, actionName, action(actionFn, actionName));\n }\n // TODO: does this work in both setup and option store?\n for (const getterName in newStore._hmrPayload.getters) {\n const getter = newStore._hmrPayload.getters[getterName];\n const getterValue = isOptionsStore\n ? // special handling of options api\n computed(() => {\n setActivePinia(pinia);\n return getter.call(store, store);\n })\n : getter;\n set(store, getterName, getterValue);\n }\n // remove deleted getters\n Object.keys(store._hmrPayload.getters).forEach((key) => {\n if (!(key in newStore._hmrPayload.getters)) {\n del(store, key);\n }\n });\n // remove old actions\n Object.keys(store._hmrPayload.actions).forEach((key) => {\n if (!(key in newStore._hmrPayload.actions)) {\n del(store, key);\n }\n });\n // update the values used in devtools and to allow deleting new properties later on\n store._hmrPayload = newStore._hmrPayload;\n store._getters = newStore._getters;\n store._hotUpdating = false;\n });\n }\n if ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT) {\n const nonEnumerable = {\n writable: true,\n configurable: true,\n // avoid warning on devtools trying to display this property\n enumerable: false,\n };\n ['_p', '_hmrPayload', '_getters', '_customProperties'].forEach((p) => {\n Object.defineProperty(store, p, assign({ value: store[p] }, nonEnumerable));\n });\n }\n /* istanbul ignore if */\n if (isVue2) {\n // mark the store as ready before plugins\n store._r = true;\n }\n // apply all plugins\n pinia._p.forEach((extender) => {\n /* istanbul ignore else */\n if ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT) {\n const extensions = scope.run(() => extender({\n store: store,\n app: pinia._a,\n pinia,\n options: optionsForPlugin,\n }));\n Object.keys(extensions || {}).forEach((key) => store._customProperties.add(key));\n assign(store, extensions);\n }\n else {\n assign(store, scope.run(() => extender({\n store: store,\n app: pinia._a,\n pinia,\n options: optionsForPlugin,\n })));\n }\n });\n if ((process.env.NODE_ENV !== 'production') &&\n store.$state &&\n typeof store.$state === 'object' &&\n typeof store.$state.constructor === 'function' &&\n !store.$state.constructor.toString().includes('[native code]')) {\n console.warn(`[🍍]: The \"state\" must be a plain object. It cannot be\\n` +\n `\\tstate: () => new MyClass()\\n` +\n `Found in store \"${store.$id}\".`);\n }\n // only apply hydrate to option stores with an initial state in pinia\n if (initialState &&\n isOptionsStore &&\n options.hydrate) {\n options.hydrate(store.$state, initialState);\n }\n isListening = true;\n isSyncListening = true;\n return store;\n}\n// improves tree shaking\n/*#__NO_SIDE_EFFECTS__*/\nfunction defineStore(\n// TODO: add proper types from above\nidOrOptions, setup, setupOptions) {\n let id;\n let options;\n const isSetupStore = typeof setup === 'function';\n if (typeof idOrOptions === 'string') {\n id = idOrOptions;\n // the option store setup will contain the actual options in this case\n options = isSetupStore ? setupOptions : setup;\n }\n else {\n options = idOrOptions;\n id = idOrOptions.id;\n if ((process.env.NODE_ENV !== 'production') && typeof id !== 'string') {\n throw new Error(`[🍍]: \"defineStore()\" must be passed a store id as its first argument.`);\n }\n }\n function useStore(pinia, hot) {\n const hasContext = hasInjectionContext();\n pinia =\n // in test mode, ignore the argument provided as we can always retrieve a\n // pinia instance with getActivePinia()\n ((process.env.NODE_ENV === 'test') && activePinia && activePinia._testing ? null : pinia) ||\n (hasContext ? inject(piniaSymbol, null) : null);\n if (pinia)\n setActivePinia(pinia);\n if ((process.env.NODE_ENV !== 'production') && !activePinia) {\n throw new Error(`[🍍]: \"getActivePinia()\" was called but there was no active Pinia. Are you trying to use a store before calling \"app.use(pinia)\"?\\n` +\n `See https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.\\n` +\n `This will fail in production.`);\n }\n pinia = activePinia;\n if (!pinia._s.has(id)) {\n // creating the store registers it in `pinia._s`\n if (isSetupStore) {\n createSetupStore(id, setup, options, pinia);\n }\n else {\n createOptionsStore(id, options, pinia);\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n // @ts-expect-error: not the right inferred type\n useStore._pinia = pinia;\n }\n }\n const store = pinia._s.get(id);\n if ((process.env.NODE_ENV !== 'production') && hot) {\n const hotId = '__hot:' + id;\n const newStore = isSetupStore\n ? createSetupStore(hotId, setup, options, pinia, true)\n : createOptionsStore(hotId, assign({}, options), pinia, true);\n hot._hotUpdate(newStore);\n // cleanup the state properties and the store from the cache\n delete pinia.state.value[hotId];\n pinia._s.delete(hotId);\n }\n if ((process.env.NODE_ENV !== 'production') && IS_CLIENT) {\n const currentInstance = getCurrentInstance();\n // save stores in instances to access them devtools\n if (currentInstance &&\n currentInstance.proxy &&\n // avoid adding stores that are just built for hot module replacement\n !hot) {\n const vm = currentInstance.proxy;\n const cache = '_pStores' in vm ? vm._pStores : (vm._pStores = {});\n cache[id] = store;\n }\n }\n // StoreGeneric cannot be casted towards Store\n return store;\n }\n useStore.$id = id;\n return useStore;\n}\n\nlet mapStoreSuffix = 'Store';\n/**\n * Changes the suffix added by `mapStores()`. Can be set to an empty string.\n * Defaults to `\"Store\"`. Make sure to extend the MapStoresCustomization\n * interface if you are using TypeScript.\n *\n * @param suffix - new suffix\n */\nfunction setMapStoreSuffix(suffix // could be 'Store' but that would be annoying for JS\n) {\n mapStoreSuffix = suffix;\n}\n/**\n * Allows using stores without the composition API (`setup()`) by generating an\n * object to be spread in the `computed` field of a component. It accepts a list\n * of store definitions.\n *\n * @example\n * ```js\n * export default {\n * computed: {\n * // other computed properties\n * ...mapStores(useUserStore, useCartStore)\n * },\n *\n * created() {\n * this.userStore // store with id \"user\"\n * this.cartStore // store with id \"cart\"\n * }\n * }\n * ```\n *\n * @param stores - list of stores to map to an object\n */\nfunction mapStores(...stores) {\n if ((process.env.NODE_ENV !== 'production') && Array.isArray(stores[0])) {\n console.warn(`[🍍]: Directly pass all stores to \"mapStores()\" without putting them in an array:\\n` +\n `Replace\\n` +\n `\\tmapStores([useAuthStore, useCartStore])\\n` +\n `with\\n` +\n `\\tmapStores(useAuthStore, useCartStore)\\n` +\n `This will fail in production if not fixed.`);\n stores = stores[0];\n }\n return stores.reduce((reduced, useStore) => {\n // @ts-expect-error: $id is added by defineStore\n reduced[useStore.$id + mapStoreSuffix] = function () {\n return useStore(this.$pinia);\n };\n return reduced;\n }, {});\n}\n/**\n * Allows using state and getters from one store without using the composition\n * API (`setup()`) by generating an object to be spread in the `computed` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapState(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n reduced[key] = function () {\n return useStore(this.$pinia)[key];\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function () {\n const store = useStore(this.$pinia);\n const storeKey = keysOrMapper[key];\n // for some reason TS is unable to infer the type of storeKey to be a\n // function\n return typeof storeKey === 'function'\n ? storeKey.call(this, store)\n : store[storeKey];\n };\n return reduced;\n }, {});\n}\n/**\n * Alias for `mapState()`. You should use `mapState()` instead.\n * @deprecated use `mapState()` instead.\n */\nconst mapGetters = mapState;\n/**\n * Allows directly using actions from your store without using the composition\n * API (`setup()`) by generating an object to be spread in the `methods` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapActions(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function (...args) {\n // @ts-expect-error: FIXME: should work?\n return useStore(this.$pinia)[key](...args);\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function (...args) {\n // @ts-expect-error: FIXME: should work?\n return useStore(this.$pinia)[keysOrMapper[key]](...args);\n };\n return reduced;\n }, {});\n}\n/**\n * Allows using state and getters from one store without using the composition\n * API (`setup()`) by generating an object to be spread in the `computed` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapWritableState(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n // @ts-ignore\n reduced[key] = {\n get() {\n // @ts-expect-error: FIXME: should work?\n return useStore(this.$pinia)[key];\n },\n set(value) {\n // @ts-expect-error: FIXME: should work?\n return (useStore(this.$pinia)[key] = value);\n },\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-ignore\n reduced[key] = {\n get() {\n // @ts-expect-error: FIXME: should work?\n return useStore(this.$pinia)[keysOrMapper[key]];\n },\n set(value) {\n // @ts-expect-error: FIXME: should work?\n return (useStore(this.$pinia)[keysOrMapper[key]] = value);\n },\n };\n return reduced;\n }, {});\n}\n\n/**\n * Creates an object of references with all the state, getters, and plugin-added\n * state properties of the store. Similar to `toRefs()` but specifically\n * designed for Pinia stores so methods and non reactive properties are\n * completely ignored.\n *\n * @param store - store to extract the refs from\n */\nfunction storeToRefs(store) {\n // See https://github.com/vuejs/pinia/issues/852\n // It's easier to just use toRefs() even if it includes more stuff\n if (isVue2) {\n // @ts-expect-error: toRefs include methods and others\n return toRefs(store);\n }\n else {\n store = toRaw(store);\n const refs = {};\n for (const key in store) {\n const value = store[key];\n if (isRef(value) || isReactive(value)) {\n // @ts-expect-error: the key is state or getter\n refs[key] =\n // ---\n toRef(store, key);\n }\n }\n return refs;\n }\n}\n\n/**\n * Vue 2 Plugin that must be installed for pinia to work. Note **you don't need\n * this plugin if you are using Nuxt.js**. Use the `buildModule` instead:\n * https://pinia.vuejs.org/ssr/nuxt.html.\n *\n * @example\n * ```js\n * import Vue from 'vue'\n * import { PiniaVuePlugin, createPinia } from 'pinia'\n *\n * Vue.use(PiniaVuePlugin)\n * const pinia = createPinia()\n *\n * new Vue({\n * el: '#app',\n * // ...\n * pinia,\n * })\n * ```\n *\n * @param _Vue - `Vue` imported from 'vue'.\n */\nconst PiniaVuePlugin = function (_Vue) {\n // Equivalent of\n // app.config.globalProperties.$pinia = pinia\n _Vue.mixin({\n beforeCreate() {\n const options = this.$options;\n if (options.pinia) {\n const pinia = options.pinia;\n // HACK: taken from provide(): https://github.com/vuejs/composition-api/blob/main/src/apis/inject.ts#L31\n /* istanbul ignore else */\n if (!this._provided) {\n const provideCache = {};\n Object.defineProperty(this, '_provided', {\n get: () => provideCache,\n set: (v) => Object.assign(provideCache, v),\n });\n }\n this._provided[piniaSymbol] = pinia;\n // propagate the pinia instance in an SSR friendly way\n // avoid adding it to nuxt twice\n /* istanbul ignore else */\n if (!this.$pinia) {\n this.$pinia = pinia;\n }\n pinia._a = this;\n if (IS_CLIENT) {\n // this allows calling useStore() outside of a component setup after\n // installing pinia's plugin\n setActivePinia(pinia);\n }\n if ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT) {\n registerPiniaDevtools(pinia._a, pinia);\n }\n }\n else if (!this.$pinia && options.parent && options.parent.$pinia) {\n this.$pinia = options.parent.$pinia;\n }\n },\n destroyed() {\n delete this._pStores;\n },\n });\n};\n\nexport { MutationType, PiniaVuePlugin, acceptHMRUpdate, createPinia, defineStore, disposePinia, getActivePinia, mapActions, mapGetters, mapState, mapStores, mapWritableState, setActivePinia, setMapStoreSuffix, skipHydrate, storeToRefs };\n","import { computed, getCurrentInstance, getCurrentScope, onBeforeMount, onScopeDispose, onServerPrefetch, onUnmounted, ref, shallowRef, toRef, unref, watch } from \"vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { toArray } from \"../utils.js\";\nimport { createError } from \"./error.js\";\nimport { onNuxtReady } from \"./ready.js\";\nimport { asyncDataDefaults, resetAsyncDataToUndefined } from \"#build/nuxt.config.mjs\";\nconst isDefer = (dedupe) => dedupe === \"defer\" || dedupe === false;\nexport function useAsyncData(...args) {\n const autoKey = typeof args[args.length - 1] === \"string\" ? args.pop() : void 0;\n if (typeof args[0] !== \"string\") {\n args.unshift(autoKey);\n }\n let [key, _handler, options = {}] = args;\n if (typeof key !== \"string\") {\n throw new TypeError(\"[nuxt] [asyncData] key must be a string.\");\n }\n if (typeof _handler !== \"function\") {\n throw new TypeError(\"[nuxt] [asyncData] handler must be a function.\");\n }\n const nuxtApp = useNuxtApp();\n const handler = import.meta.client || !import.meta.prerender || !nuxtApp.ssrContext?._sharedPrerenderCache ? _handler : () => {\n const value = nuxtApp.ssrContext._sharedPrerenderCache.get(key);\n if (value) {\n return value;\n }\n const promise = Promise.resolve().then(() => nuxtApp.runWithContext(_handler));\n nuxtApp.ssrContext._sharedPrerenderCache.set(key, promise);\n return promise;\n };\n const getDefault = () => asyncDataDefaults.value;\n const getDefaultCachedData = () => nuxtApp.isHydrating ? nuxtApp.payload.data[key] : nuxtApp.static.data[key];\n options.server = options.server ?? true;\n options.default = options.default ?? getDefault;\n options.getCachedData = options.getCachedData ?? getDefaultCachedData;\n options.lazy = options.lazy ?? false;\n options.immediate = options.immediate ?? true;\n options.deep = options.deep ?? asyncDataDefaults.deep;\n options.dedupe = options.dedupe ?? \"cancel\";\n if (import.meta.dev && typeof options.dedupe === \"boolean\") {\n console.warn(\"[nuxt] `boolean` values are deprecated for the `dedupe` option of `useAsyncData` and will be removed in the future. Use 'cancel' or 'defer' instead.\");\n }\n const initialCachedData = options.getCachedData(key, nuxtApp);\n const hasCachedData = initialCachedData != null;\n if (!nuxtApp._asyncData[key] || !options.immediate) {\n nuxtApp.payload._errors[key] ??= asyncDataDefaults.errorValue;\n const _ref = options.deep ? ref : shallowRef;\n nuxtApp._asyncData[key] = {\n data: _ref(hasCachedData ? initialCachedData : options.default()),\n pending: ref(!hasCachedData),\n error: toRef(nuxtApp.payload._errors, key),\n status: ref(\"idle\"),\n _default: options.default\n };\n }\n const asyncData = { ...nuxtApp._asyncData[key] };\n delete asyncData._default;\n asyncData.refresh = asyncData.execute = (opts = {}) => {\n if (nuxtApp._asyncDataPromises[key]) {\n if (isDefer(opts.dedupe ?? options.dedupe)) {\n return nuxtApp._asyncDataPromises[key];\n }\n nuxtApp._asyncDataPromises[key].cancelled = true;\n }\n if (opts._initial || nuxtApp.isHydrating && opts._initial !== false) {\n const cachedData = opts._initial ? initialCachedData : options.getCachedData(key, nuxtApp);\n if (cachedData != null) {\n return Promise.resolve(cachedData);\n }\n }\n asyncData.pending.value = true;\n asyncData.status.value = \"pending\";\n const promise = new Promise(\n (resolve, reject) => {\n try {\n resolve(handler(nuxtApp));\n } catch (err) {\n reject(err);\n }\n }\n ).then(async (_result) => {\n if (promise.cancelled) {\n return nuxtApp._asyncDataPromises[key];\n }\n let result = _result;\n if (options.transform) {\n result = await options.transform(_result);\n }\n if (options.pick) {\n result = pick(result, options.pick);\n }\n if (import.meta.dev && import.meta.server && typeof result === \"undefined\") {\n console.warn(`[nuxt] \\`${options._functionName || \"useAsyncData\"}\\` must return a value (it should not be \\`undefined\\`) or the request may be duplicated on the client side.`);\n }\n nuxtApp.payload.data[key] = result;\n asyncData.data.value = result;\n asyncData.error.value = asyncDataDefaults.errorValue;\n asyncData.status.value = \"success\";\n }).catch((error) => {\n if (promise.cancelled) {\n return nuxtApp._asyncDataPromises[key];\n }\n asyncData.error.value = createError(error);\n asyncData.data.value = unref(options.default());\n asyncData.status.value = \"error\";\n }).finally(() => {\n if (promise.cancelled) {\n return;\n }\n asyncData.pending.value = false;\n delete nuxtApp._asyncDataPromises[key];\n });\n nuxtApp._asyncDataPromises[key] = promise;\n return nuxtApp._asyncDataPromises[key];\n };\n asyncData.clear = () => clearNuxtDataByKey(nuxtApp, key);\n const initialFetch = () => asyncData.refresh({ _initial: true });\n const fetchOnServer = options.server !== false && nuxtApp.payload.serverRendered;\n if (import.meta.server && fetchOnServer && options.immediate) {\n const promise = initialFetch();\n if (getCurrentInstance()) {\n onServerPrefetch(() => promise);\n } else {\n nuxtApp.hook(\"app:created\", async () => {\n await promise;\n });\n }\n }\n if (import.meta.client) {\n const instance = getCurrentInstance();\n if (import.meta.dev && !nuxtApp.isHydrating && !nuxtApp._processingMiddleware && (!instance || instance?.isMounted)) {\n console.warn(`[nuxt] [${options._functionName || \"useAsyncData\"}] Component is already mounted, please use $fetch instead. See https://nuxt.com/docs/getting-started/data-fetching`);\n }\n if (instance && !instance._nuxtOnBeforeMountCbs) {\n instance._nuxtOnBeforeMountCbs = [];\n const cbs = instance._nuxtOnBeforeMountCbs;\n onBeforeMount(() => {\n cbs.forEach((cb) => {\n cb();\n });\n cbs.splice(0, cbs.length);\n });\n onUnmounted(() => cbs.splice(0, cbs.length));\n }\n if (fetchOnServer && nuxtApp.isHydrating && (asyncData.error.value || initialCachedData != null)) {\n asyncData.pending.value = false;\n asyncData.status.value = asyncData.error.value ? \"error\" : \"success\";\n } else if (instance && (nuxtApp.payload.serverRendered && nuxtApp.isHydrating || options.lazy) && options.immediate) {\n instance._nuxtOnBeforeMountCbs.push(initialFetch);\n } else if (options.immediate) {\n initialFetch();\n }\n const hasScope = getCurrentScope();\n if (options.watch) {\n const unsub = watch(options.watch, () => asyncData.refresh());\n if (hasScope) {\n onScopeDispose(unsub);\n }\n }\n const off = nuxtApp.hook(\"app:data:refresh\", async (keys) => {\n if (!keys || keys.includes(key)) {\n await asyncData.refresh();\n }\n });\n if (hasScope) {\n onScopeDispose(off);\n }\n }\n const asyncDataPromise = Promise.resolve(nuxtApp._asyncDataPromises[key]).then(() => asyncData);\n Object.assign(asyncDataPromise, asyncData);\n return asyncDataPromise;\n}\nexport function useLazyAsyncData(...args) {\n const autoKey = typeof args[args.length - 1] === \"string\" ? args.pop() : void 0;\n if (typeof args[0] !== \"string\") {\n args.unshift(autoKey);\n }\n const [key, handler, options = {}] = args;\n if (import.meta.dev && import.meta.client) {\n options._functionName ||= \"useLazyAsyncData\";\n }\n return useAsyncData(key, handler, { ...options, lazy: true }, null);\n}\nexport function useNuxtData(key) {\n const nuxtApp = useNuxtApp();\n if (!(key in nuxtApp.payload.data)) {\n nuxtApp.payload.data[key] = asyncDataDefaults.value;\n }\n return {\n data: computed({\n get() {\n return nuxtApp._asyncData[key]?.data.value ?? nuxtApp.payload.data[key];\n },\n set(value) {\n if (nuxtApp._asyncData[key]) {\n nuxtApp._asyncData[key].data.value = value;\n } else {\n nuxtApp.payload.data[key] = value;\n }\n }\n })\n };\n}\nexport async function refreshNuxtData(keys) {\n if (import.meta.server) {\n return Promise.resolve();\n }\n await new Promise((resolve) => onNuxtReady(resolve));\n const _keys = keys ? toArray(keys) : void 0;\n await useNuxtApp().hooks.callHookParallel(\"app:data:refresh\", _keys);\n}\nexport function clearNuxtData(keys) {\n const nuxtApp = useNuxtApp();\n const _allKeys = Object.keys(nuxtApp.payload.data);\n const _keys = !keys ? _allKeys : typeof keys === \"function\" ? _allKeys.filter(keys) : toArray(keys);\n for (const key of _keys) {\n clearNuxtDataByKey(nuxtApp, key);\n }\n}\nfunction clearNuxtDataByKey(nuxtApp, key) {\n if (key in nuxtApp.payload.data) {\n nuxtApp.payload.data[key] = void 0;\n }\n if (key in nuxtApp.payload._errors) {\n nuxtApp.payload._errors[key] = asyncDataDefaults.errorValue;\n }\n if (nuxtApp._asyncData[key]) {\n nuxtApp._asyncData[key].data.value = resetAsyncDataToUndefined ? void 0 : nuxtApp._asyncData[key]._default();\n nuxtApp._asyncData[key].error.value = asyncDataDefaults.errorValue;\n nuxtApp._asyncData[key].pending.value = false;\n nuxtApp._asyncData[key].status.value = \"idle\";\n }\n if (key in nuxtApp._asyncDataPromises) {\n if (nuxtApp._asyncDataPromises[key]) {\n nuxtApp._asyncDataPromises[key].cancelled = true;\n }\n nuxtApp._asyncDataPromises[key] = void 0;\n }\n}\nfunction pick(obj, keys) {\n const newObj = {};\n for (const key of keys) {\n newObj[key] = obj[key];\n }\n return newObj;\n}\n","import { isRef, toRef } from \"vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { toArray } from \"../utils.js\";\nconst useStateKeyPrefix = \"$s\";\nexport function useState(...args) {\n const autoKey = typeof args[args.length - 1] === \"string\" ? args.pop() : void 0;\n if (typeof args[0] !== \"string\") {\n args.unshift(autoKey);\n }\n const [_key, init] = args;\n if (!_key || typeof _key !== \"string\") {\n throw new TypeError(\"[nuxt] [useState] key must be a string: \" + _key);\n }\n if (init !== void 0 && typeof init !== \"function\") {\n throw new Error(\"[nuxt] [useState] init must be a function: \" + init);\n }\n const key = useStateKeyPrefix + _key;\n const nuxtApp = useNuxtApp();\n const state = toRef(nuxtApp.payload.state, key);\n if (state.value === void 0 && init) {\n const initialValue = init();\n if (isRef(initialValue)) {\n nuxtApp.payload.state[key] = initialValue;\n return initialValue;\n }\n state.value = initialValue;\n }\n return state;\n}\nexport function clearNuxtState(keys) {\n const nuxtApp = useNuxtApp();\n const _allKeys = Object.keys(nuxtApp.payload.state).map((key) => key.substring(useStateKeyPrefix.length));\n const _keys = !keys ? _allKeys : typeof keys === \"function\" ? _allKeys.filter(keys) : toArray(keys);\n for (const _key of _keys) {\n const key = useStateKeyPrefix + _key;\n if (key in nuxtApp.payload.state) {\n nuxtApp.payload.state[key] = void 0;\n }\n }\n}\n","import { setResponseStatus as _setResponseStatus, appendHeader, getRequestHeader, getRequestHeaders } from \"h3\";\nimport { getCurrentInstance } from \"vue\";\nimport { useServerHead } from \"@unhead/vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { toArray } from \"../utils.js\";\nexport function useRequestEvent(nuxtApp = useNuxtApp()) {\n return nuxtApp.ssrContext?.event;\n}\nexport function useRequestHeaders(include) {\n if (import.meta.client) {\n return {};\n }\n const event = useRequestEvent();\n const _headers = event ? getRequestHeaders(event) : {};\n if (!include || !event) {\n return _headers;\n }\n const headers = /* @__PURE__ */ Object.create(null);\n for (const _key of include) {\n const key = _key.toLowerCase();\n const header = _headers[key];\n if (header) {\n headers[key] = header;\n }\n }\n return headers;\n}\nexport function useRequestHeader(header) {\n if (import.meta.client) {\n return void 0;\n }\n const event = useRequestEvent();\n return event ? getRequestHeader(event, header) : void 0;\n}\nexport function useRequestFetch() {\n if (import.meta.client) {\n return globalThis.$fetch;\n }\n return useRequestEvent()?.$fetch || globalThis.$fetch;\n}\nexport function setResponseStatus(arg1, arg2, arg3) {\n if (import.meta.client) {\n return;\n }\n if (arg1 && typeof arg1 !== \"number\") {\n return _setResponseStatus(arg1, arg2, arg3);\n }\n const event = useRequestEvent();\n if (event) {\n return _setResponseStatus(event, arg1, arg2);\n }\n}\nexport function prerenderRoutes(path) {\n if (!import.meta.server || !import.meta.prerender) {\n return;\n }\n const paths = toArray(path);\n appendHeader(useRequestEvent(), \"x-nitro-prerender\", paths.map((p) => encodeURIComponent(p)).join(\", \"));\n}\nconst PREHYDRATE_ATTR_KEY = \"data-prehydrate-id\";\nexport function onPrehydrate(callback, key) {\n if (import.meta.client) {\n return;\n }\n if (typeof callback !== \"string\") {\n throw new TypeError(\"[nuxt] To transform a callback into a string, `onPrehydrate` must be processed by the Nuxt build pipeline. If it is called in a third-party library, make sure to add the library to `build.transpile`.\");\n }\n const vm = getCurrentInstance();\n if (vm && key) {\n vm.attrs[PREHYDRATE_ATTR_KEY] ||= \"\";\n key = \":\" + key + \":\";\n if (!vm.attrs[PREHYDRATE_ATTR_KEY].includes(key)) {\n vm.attrs[PREHYDRATE_ATTR_KEY] += key;\n }\n }\n const code = vm && key ? `document.querySelectorAll('[${PREHYDRATE_ATTR_KEY}*=${JSON.stringify(key)}]').forEach` + callback : callback + \"()\";\n useServerHead({\n script: [{\n key: vm && key ? key : code,\n tagPosition: \"bodyClose\",\n tagPriority: \"critical\",\n innerHTML: code\n }]\n });\n return vm && key ? vm.attrs[PREHYDRATE_ATTR_KEY] : void 0;\n}\n","import { customRef, getCurrentScope, nextTick, onScopeDispose, ref, watch } from \"vue\";\nimport { parse, serialize } from \"cookie-es\";\nimport { deleteCookie, getCookie, getRequestHeader, setCookie } from \"h3\";\nimport destr from \"destr\";\nimport { isEqual } from \"ohash\";\nimport { klona } from \"klona\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { useRequestEvent } from \"./ssr.js\";\nimport { cookieStore } from \"#build/nuxt.config.mjs\";\nconst CookieDefaults = {\n path: \"/\",\n watch: true,\n decode: (val) => destr(decodeURIComponent(val)),\n encode: (val) => encodeURIComponent(typeof val === \"string\" ? val : JSON.stringify(val))\n};\nconst store = import.meta.client && cookieStore ? window.cookieStore : void 0;\nexport function useCookie(name, _opts) {\n const opts = { ...CookieDefaults, ..._opts };\n opts.filter ??= (key) => key === name;\n const cookies = readRawCookies(opts) || {};\n let delay;\n if (opts.maxAge !== void 0) {\n delay = opts.maxAge * 1e3;\n } else if (opts.expires) {\n delay = opts.expires.getTime() - Date.now();\n }\n const hasExpired = delay !== void 0 && delay <= 0;\n const cookieValue = klona(hasExpired ? void 0 : cookies[name] ?? opts.default?.());\n const cookie = import.meta.client && delay && !hasExpired ? cookieRef(cookieValue, delay, opts.watch && opts.watch !== \"shallow\") : ref(cookieValue);\n if (import.meta.dev && hasExpired) {\n console.warn(`[nuxt] not setting cookie \\`${name}\\` as it has already expired.`);\n }\n if (import.meta.client) {\n let channel = null;\n try {\n if (!store && typeof BroadcastChannel !== \"undefined\") {\n channel = new BroadcastChannel(`nuxt:cookies:${name}`);\n }\n } catch {\n }\n const callback = () => {\n if (opts.readonly || isEqual(cookie.value, cookies[name])) {\n return;\n }\n writeClientCookie(name, cookie.value, opts);\n cookies[name] = klona(cookie.value);\n channel?.postMessage({ value: opts.encode(cookie.value) });\n };\n const handleChange = (data) => {\n const value = data.refresh ? readRawCookies(opts)?.[name] : opts.decode(data.value);\n watchPaused = true;\n cookie.value = value;\n cookies[name] = klona(value);\n nextTick(() => {\n watchPaused = false;\n });\n };\n let watchPaused = false;\n const hasScope = !!getCurrentScope();\n if (hasScope) {\n onScopeDispose(() => {\n watchPaused = true;\n callback();\n channel?.close();\n });\n }\n if (store) {\n const changeHandler = (event) => {\n const cookie2 = event.changed.find((c) => c.name === name);\n if (cookie2) {\n handleChange({ value: cookie2.value });\n }\n };\n store.addEventListener(\"change\", changeHandler);\n if (hasScope) {\n onScopeDispose(() => store.removeEventListener(\"change\", changeHandler));\n }\n } else if (channel) {\n channel.onmessage = ({ data }) => handleChange(data);\n }\n if (opts.watch) {\n watch(\n cookie,\n () => {\n if (watchPaused) {\n return;\n }\n callback();\n },\n { deep: opts.watch !== \"shallow\" }\n );\n } else {\n callback();\n }\n } else if (import.meta.server) {\n const nuxtApp = useNuxtApp();\n const writeFinalCookieValue = () => {\n if (opts.readonly || isEqual(cookie.value, cookies[name])) {\n return;\n }\n nuxtApp._cookies ||= {};\n if (name in nuxtApp._cookies) {\n if (isEqual(cookie.value, nuxtApp._cookies[name])) {\n return;\n }\n if (import.meta.dev) {\n console.warn(`[nuxt] cookie \\`${name}\\` was previously set to \\`${opts.encode(nuxtApp._cookies[name])}\\` and is being overridden to \\`${opts.encode(cookie.value)}\\`. This may cause unexpected issues.`);\n }\n }\n nuxtApp._cookies[name] = cookie.value;\n writeServerCookie(useRequestEvent(nuxtApp), name, cookie.value, opts);\n };\n const unhook = nuxtApp.hooks.hookOnce(\"app:rendered\", writeFinalCookieValue);\n nuxtApp.hooks.hookOnce(\"app:error\", () => {\n unhook();\n return writeFinalCookieValue();\n });\n }\n return cookie;\n}\nexport function refreshCookie(name) {\n if (import.meta.server || store || typeof BroadcastChannel === \"undefined\") {\n return;\n }\n new BroadcastChannel(`nuxt:cookies:${name}`)?.postMessage({ refresh: true });\n}\nfunction readRawCookies(opts = {}) {\n if (import.meta.server) {\n return parse(getRequestHeader(useRequestEvent(), \"cookie\") || \"\", opts);\n } else if (import.meta.client) {\n return parse(document.cookie, opts);\n }\n}\nfunction serializeCookie(name, value, opts = {}) {\n if (value === null || value === void 0) {\n return serialize(name, value, { ...opts, maxAge: -1 });\n }\n return serialize(name, value, opts);\n}\nfunction writeClientCookie(name, value, opts = {}) {\n if (import.meta.client) {\n document.cookie = serializeCookie(name, value, opts);\n }\n}\nfunction writeServerCookie(event, name, value, opts = {}) {\n if (event) {\n if (value !== null && value !== void 0) {\n return setCookie(event, name, value, opts);\n }\n if (getCookie(event, name) !== void 0) {\n return deleteCookie(event, name, opts);\n }\n }\n}\nconst MAX_TIMEOUT_DELAY = 2147483647;\nfunction cookieRef(value, delay, shouldWatch) {\n let timeout;\n let unsubscribe;\n let elapsed = 0;\n const internalRef = shouldWatch ? ref(value) : { value };\n if (getCurrentScope()) {\n onScopeDispose(() => {\n unsubscribe?.();\n clearTimeout(timeout);\n });\n }\n return customRef((track, trigger) => {\n if (shouldWatch) {\n unsubscribe = watch(internalRef, trigger);\n }\n function createExpirationTimeout() {\n elapsed = 0;\n clearTimeout(timeout);\n const timeRemaining = delay - elapsed;\n const timeoutLength = timeRemaining < MAX_TIMEOUT_DELAY ? timeRemaining : MAX_TIMEOUT_DELAY;\n timeout = setTimeout(() => {\n elapsed += timeoutLength;\n if (elapsed < delay) {\n return createExpirationTimeout();\n }\n internalRef.value = void 0;\n trigger();\n }, timeoutLength);\n }\n return {\n get() {\n track();\n return internalRef.value;\n },\n set(newValue) {\n createExpirationTimeout();\n internalRef.value = newValue;\n trigger();\n }\n };\n });\n}\n","import { useNuxtApp } from \"../nuxt.js\";\nimport { toArray } from \"../utils.js\";\nimport { useRouter } from \"./router.js\";\nexport const preloadComponents = async (components) => {\n if (import.meta.server) {\n return;\n }\n const nuxtApp = useNuxtApp();\n components = toArray(components);\n await Promise.all(components.map((name) => _loadAsyncComponent(nuxtApp.vueApp._context.components[name])));\n};\nexport const prefetchComponents = (components) => {\n if (import.meta.server) {\n return;\n }\n return preloadComponents(components);\n};\nfunction _loadAsyncComponent(component) {\n if (component?.__asyncLoader && !component.__asyncResolved) {\n return component.__asyncLoader();\n }\n}\nexport async function preloadRouteComponents(to, router = useRouter()) {\n if (import.meta.server) {\n return;\n }\n const { path, matched } = router.resolve(to);\n if (!matched.length) {\n return;\n }\n if (!router._routePreloaded) {\n router._routePreloaded = /* @__PURE__ */ new Set();\n }\n if (router._routePreloaded.has(path)) {\n return;\n }\n const promises = router._preloadPromises = router._preloadPromises || [];\n if (promises.length > 4) {\n return Promise.all(promises).then(() => preloadRouteComponents(to, router));\n }\n router._routePreloaded.add(path);\n const components = matched.map((component) => component.components?.default).filter((component) => typeof component === \"function\");\n for (const component of components) {\n const promise = Promise.resolve(component()).catch(() => {\n }).finally(() => promises.splice(promises.indexOf(promise)));\n promises.push(promise);\n }\n await Promise.all(promises);\n}\n","import { cloneVNode, createElementBlock, createStaticVNode, defineComponent, getCurrentInstance, h, onMounted, provide, ref } from \"vue\";\nimport { isPromise } from \"@vue/shared\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { getFragmentHTML } from \"./utils.js\";\nexport const clientOnlySymbol = Symbol.for(\"nuxt:client-only\");\nexport default defineComponent({\n name: \"ClientOnly\",\n inheritAttrs: false,\n props: [\"fallback\", \"placeholder\", \"placeholderTag\", \"fallbackTag\"],\n setup(_, { slots, attrs }) {\n const mounted = ref(false);\n onMounted(() => {\n mounted.value = true;\n });\n if (import.meta.dev) {\n const nuxtApp = useNuxtApp();\n nuxtApp._isNuxtPageUsed = true;\n nuxtApp._isNuxtLayoutUsed = true;\n }\n provide(clientOnlySymbol, true);\n return (props) => {\n if (mounted.value) {\n return slots.default?.();\n }\n const slot = slots.fallback || slots.placeholder;\n if (slot) {\n return slot();\n }\n const fallbackStr = props.fallback || props.placeholder || \"\";\n const fallbackTag = props.fallbackTag || props.placeholderTag || \"span\";\n return createElementBlock(fallbackTag, attrs, fallbackStr);\n };\n }\n});\nconst cache = /* @__PURE__ */ new WeakMap();\n// @__NO_SIDE_EFFECTS__\nexport function createClientOnly(component) {\n if (cache.has(component)) {\n return cache.get(component);\n }\n const clone = { ...component };\n if (clone.render) {\n clone.render = (ctx, cache2, $props, $setup, $data, $options) => {\n if (import.meta.client && ($setup.mounted$ ?? ctx.mounted$)) {\n const res = component.render?.bind(ctx)(ctx, cache2, $props, $setup, $data, $options);\n return res.children === null || typeof res.children === \"string\" ? cloneVNode(res) : h(res);\n } else {\n const fragment = getFragmentHTML(ctx._.vnode.el ?? null) ?? [\"<div></div>\"];\n return import.meta.client ? createStaticVNode(fragment.join(\"\"), fragment.length) : h(\"div\", ctx.$attrs ?? ctx._.attrs);\n }\n };\n } else if (clone.template) {\n clone.template = `\n <template v-if=\"mounted$\">${component.template}</template>\n <template v-else><div></div></template>\n `;\n }\n clone.setup = (props, ctx) => {\n const nuxtApp = useNuxtApp();\n const mounted$ = ref(import.meta.client && nuxtApp.isHydrating === false);\n const instance = getCurrentInstance();\n if (import.meta.server || nuxtApp.isHydrating) {\n const attrs = { ...instance.attrs };\n const directives = extractDirectives(instance);\n for (const key in attrs) {\n delete instance.attrs[key];\n }\n onMounted(() => {\n Object.assign(instance.attrs, attrs);\n instance.vnode.dirs = directives;\n });\n }\n onMounted(() => {\n mounted$.value = true;\n });\n const setupState = component.setup?.(props, ctx) || {};\n if (isPromise(setupState)) {\n return Promise.resolve(setupState).then((setupState2) => {\n if (typeof setupState2 !== \"function\") {\n setupState2 = setupState2 || {};\n setupState2.mounted$ = mounted$;\n return setupState2;\n }\n return (...args) => {\n if (import.meta.client && (mounted$.value || !nuxtApp.isHydrating)) {\n const res = setupState2(...args);\n return res.children === null || typeof res.children === \"string\" ? cloneVNode(res) : h(res);\n } else {\n const fragment = getFragmentHTML(instance?.vnode.el ?? null) ?? [\"<div></div>\"];\n return import.meta.client ? createStaticVNode(fragment.join(\"\"), fragment.length) : h(\"div\", ctx.attrs);\n }\n };\n });\n } else {\n if (typeof setupState === \"function\") {\n return (...args) => {\n if (mounted$.value) {\n return h(setupState(...args), ctx.attrs);\n }\n const fragment = getFragmentHTML(instance?.vnode.el ?? null) ?? [\"<div></div>\"];\n return import.meta.client ? createStaticVNode(fragment.join(\"\"), fragment.length) : h(\"div\", ctx.attrs);\n };\n }\n return Object.assign(setupState, { mounted$ });\n }\n };\n cache.set(component, clone);\n return clone;\n}\nfunction extractDirectives(instance) {\n if (!instance || !instance.vnode.dirs) {\n return null;\n }\n const directives = instance.vnode.dirs;\n instance.vnode.dirs = null;\n return directives;\n}\n","import { computed, defineComponent, h, inject, onBeforeUnmount, onMounted, provide, ref, resolveComponent } from \"vue\";\nimport { hasProtocol, joinURL, parseQuery, withTrailingSlash, withoutTrailingSlash } from \"ufo\";\nimport { preloadRouteComponents } from \"../composables/preload.js\";\nimport { onNuxtReady } from \"../composables/ready.js\";\nimport { navigateTo, resolveRouteObject, useRouter } from \"../composables/router.js\";\nimport { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { cancelIdleCallback, requestIdleCallback } from \"../compat/idle-callback.js\";\nimport { nuxtLinkDefaults } from \"#build/nuxt.config.mjs\";\nconst firstNonUndefined = (...args) => args.find((arg) => arg !== void 0);\nconst NuxtLinkDevKeySymbol = Symbol(\"nuxt-link-dev-key\");\n// @__NO_SIDE_EFFECTS__\nexport function defineNuxtLink(options) {\n const componentName = options.componentName || \"NuxtLink\";\n function checkPropConflicts(props, main, sub) {\n if (import.meta.dev && props[main] !== void 0 && props[sub] !== void 0) {\n console.warn(`[${componentName}] \\`${main}\\` and \\`${sub}\\` cannot be used together. \\`${sub}\\` will be ignored.`);\n }\n }\n function resolveTrailingSlashBehavior(to, resolve) {\n if (!to || options.trailingSlash !== \"append\" && options.trailingSlash !== \"remove\") {\n return to;\n }\n if (typeof to === \"string\") {\n return applyTrailingSlashBehavior(to, options.trailingSlash);\n }\n const path = \"path\" in to && to.path !== void 0 ? to.path : resolve(to).path;\n const resolvedPath = {\n ...to,\n name: void 0,\n // named routes would otherwise always override trailing slash behavior\n path: applyTrailingSlashBehavior(path, options.trailingSlash)\n };\n return resolvedPath;\n }\n function useNuxtLink(props) {\n const router = useRouter();\n const config = useRuntimeConfig();\n const hasTarget = computed(() => !!props.target && props.target !== \"_self\");\n const isAbsoluteUrl = computed(() => {\n const path = props.to || props.href || \"\";\n return typeof path === \"string\" && hasProtocol(path, { acceptRelative: true });\n });\n const builtinRouterLink = resolveComponent(\"RouterLink\");\n const useBuiltinLink = builtinRouterLink && typeof builtinRouterLink !== \"string\" ? builtinRouterLink.useLink : void 0;\n const isExternal = computed(() => {\n if (props.external) {\n return true;\n }\n const path = props.to || props.href || \"\";\n if (typeof path === \"object\") {\n return false;\n }\n return path === \"\" || isAbsoluteUrl.value;\n });\n const to = computed(() => {\n checkPropConflicts(props, \"to\", \"href\");\n const path = props.to || props.href || \"\";\n if (isExternal.value) {\n return path;\n }\n return resolveTrailingSlashBehavior(path, router.resolve);\n });\n const link = isExternal.value ? void 0 : useBuiltinLink?.({ ...props, to });\n const href = computed(() => {\n if (!to.value || isAbsoluteUrl.value) {\n return to.value;\n }\n if (isExternal.value) {\n const path = typeof to.value === \"object\" && \"path\" in to.value ? resolveRouteObject(to.value) : to.value;\n const href2 = typeof path === \"object\" ? router.resolve(path).href : path;\n return resolveTrailingSlashBehavior(\n href2,\n router.resolve\n /* will not be called */\n );\n }\n if (typeof to.value === \"object\") {\n return router.resolve(to.value)?.href ?? null;\n }\n return resolveTrailingSlashBehavior(\n joinURL(config.app.baseURL, to.value),\n router.resolve\n /* will not be called */\n );\n });\n return {\n to,\n hasTarget,\n isAbsoluteUrl,\n isExternal,\n //\n href,\n isActive: link?.isActive ?? computed(() => to.value === router.currentRoute.value.path),\n isExactActive: link?.isExactActive ?? computed(() => to.value === router.currentRoute.value.path),\n route: link?.route ?? computed(() => router.resolve(to.value)),\n async navigate() {\n await navigateTo(href.value, { replace: props.replace, external: isExternal.value || hasTarget.value });\n }\n };\n }\n return defineComponent({\n name: componentName,\n props: {\n // Routing\n to: {\n type: [String, Object],\n default: void 0,\n required: false\n },\n href: {\n type: [String, Object],\n default: void 0,\n required: false\n },\n // Attributes\n target: {\n type: String,\n default: void 0,\n required: false\n },\n rel: {\n type: String,\n default: void 0,\n required: false\n },\n noRel: {\n type: Boolean,\n default: void 0,\n required: false\n },\n // Prefetching\n prefetch: {\n type: Boolean,\n default: void 0,\n required: false\n },\n prefetchOn: {\n type: [String, Object],\n default: void 0,\n required: false\n },\n noPrefetch: {\n type: Boolean,\n default: void 0,\n required: false\n },\n // Styling\n activeClass: {\n type: String,\n default: void 0,\n required: false\n },\n exactActiveClass: {\n type: String,\n default: void 0,\n required: false\n },\n prefetchedClass: {\n type: String,\n default: void 0,\n required: false\n },\n // Vue Router's `<RouterLink>` additional props\n replace: {\n type: Boolean,\n default: void 0,\n required: false\n },\n ariaCurrentValue: {\n type: String,\n default: void 0,\n required: false\n },\n // Edge cases handling\n external: {\n type: Boolean,\n default: void 0,\n required: false\n },\n // Slot API\n custom: {\n type: Boolean,\n default: void 0,\n required: false\n }\n },\n useLink: useNuxtLink,\n setup(props, { slots }) {\n const router = useRouter();\n const { to, href, navigate, isExternal, hasTarget, isAbsoluteUrl } = useNuxtLink(props);\n const prefetched = ref(false);\n const el = import.meta.server ? void 0 : ref(null);\n const elRef = import.meta.server ? void 0 : (ref2) => {\n el.value = props.custom ? ref2?.$el?.nextElementSibling : ref2?.$el;\n };\n function shouldPrefetch(mode) {\n return !prefetched.value && (typeof props.prefetchOn === \"string\" ? props.prefetchOn === mode : props.prefetchOn?.[mode] ?? options.prefetchOn?.[mode]) && (props.prefetch ?? options.prefetch) !== false && props.noPrefetch !== true && props.target !== \"_blank\" && !isSlowConnection();\n }\n async function prefetch(nuxtApp = useNuxtApp()) {\n if (prefetched.value) {\n return;\n }\n prefetched.value = true;\n const path = typeof to.value === \"string\" ? to.value : isExternal.value ? resolveRouteObject(to.value) : router.resolve(to.value).fullPath;\n await Promise.all([\n nuxtApp.hooks.callHook(\"link:prefetch\", path).catch(() => {\n }),\n !isExternal.value && !hasTarget.value && preloadRouteComponents(to.value, router).catch(() => {\n })\n ]);\n }\n if (import.meta.client) {\n checkPropConflicts(props, \"prefetch\", \"noPrefetch\");\n if (shouldPrefetch(\"visibility\")) {\n const nuxtApp = useNuxtApp();\n let idleId;\n let unobserve = null;\n onMounted(() => {\n const observer = useObserver();\n onNuxtReady(() => {\n idleId = requestIdleCallback(() => {\n if (el?.value?.tagName) {\n unobserve = observer.observe(el.value, async () => {\n unobserve?.();\n unobserve = null;\n await prefetch(nuxtApp);\n });\n }\n });\n });\n });\n onBeforeUnmount(() => {\n if (idleId) {\n cancelIdleCallback(idleId);\n }\n unobserve?.();\n unobserve = null;\n });\n }\n }\n if (import.meta.dev && import.meta.server && !props.custom) {\n const isNuxtLinkChild = inject(NuxtLinkDevKeySymbol, false);\n if (isNuxtLinkChild) {\n console.log(\"[nuxt] [NuxtLink] You can't nest one <a> inside another <a>. This will cause a hydration error on client-side. You can pass the `custom` prop to take full control of the markup.\");\n } else {\n provide(NuxtLinkDevKeySymbol, true);\n }\n }\n return () => {\n if (!isExternal.value && !hasTarget.value) {\n const routerLinkProps = {\n ref: elRef,\n to: to.value,\n activeClass: props.activeClass || options.activeClass,\n exactActiveClass: props.exactActiveClass || options.exactActiveClass,\n replace: props.replace,\n ariaCurrentValue: props.ariaCurrentValue,\n custom: props.custom,\n onPointerenter: shouldPrefetch(\"interaction\") ? prefetch.bind(null, void 0) : void 0,\n onFocus: shouldPrefetch(\"interaction\") ? prefetch.bind(null, void 0) : void 0\n };\n if (!props.custom) {\n if (prefetched.value) {\n routerLinkProps.class = props.prefetchedClass || options.prefetchedClass;\n }\n routerLinkProps.rel = props.rel || void 0;\n }\n return h(\n resolveComponent(\"RouterLink\"),\n routerLinkProps,\n slots.default\n );\n }\n const target = props.target || null;\n checkPropConflicts(props, \"noRel\", \"rel\");\n const rel = firstNonUndefined(\n // converts `\"\"` to `null` to prevent the attribute from being added as empty (`rel=\"\"`)\n props.noRel ? \"\" : props.rel,\n options.externalRelAttribute,\n /*\n * A fallback rel of `noopener noreferrer` is applied for external links or links that open in a new tab.\n * This solves a reverse tabnapping security flaw in browsers pre-2021 as well as improving privacy.\n */\n isAbsoluteUrl.value || hasTarget.value ? \"noopener noreferrer\" : \"\"\n ) || null;\n if (props.custom) {\n if (!slots.default) {\n return null;\n }\n return slots.default({\n href: href.value,\n navigate,\n get route() {\n if (!href.value) {\n return void 0;\n }\n const url = new URL(href.value, import.meta.client ? window.location.href : \"http://localhost\");\n return {\n path: url.pathname,\n fullPath: url.pathname,\n get query() {\n return parseQuery(url.search);\n },\n hash: url.hash,\n params: {},\n name: void 0,\n matched: [],\n redirectedFrom: void 0,\n meta: {},\n href: href.value\n };\n },\n rel,\n target,\n isExternal: isExternal.value || hasTarget.value,\n isActive: false,\n isExactActive: false\n });\n }\n return h(\"a\", { ref: el, href: href.value || null, rel, target }, slots.default?.());\n };\n }\n });\n}\nexport default /* @__PURE__ */ defineNuxtLink(nuxtLinkDefaults);\nfunction applyTrailingSlashBehavior(to, trailingSlash) {\n const normalizeFn = trailingSlash === \"append\" ? withTrailingSlash : withoutTrailingSlash;\n const hasProtocolDifferentFromHttp = hasProtocol(to) && !to.startsWith(\"http\");\n if (hasProtocolDifferentFromHttp) {\n return to;\n }\n return normalizeFn(to, true);\n}\nfunction useObserver() {\n if (import.meta.server) {\n return;\n }\n const nuxtApp = useNuxtApp();\n if (nuxtApp._observer) {\n return nuxtApp._observer;\n }\n let observer = null;\n const callbacks = /* @__PURE__ */ new Map();\n const observe = (element, callback) => {\n if (!observer) {\n observer = new IntersectionObserver((entries) => {\n for (const entry of entries) {\n const callback2 = callbacks.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n if (isVisible && callback2) {\n callback2();\n }\n }\n });\n }\n callbacks.set(element, callback);\n observer.observe(element);\n return () => {\n callbacks.delete(element);\n observer.unobserve(element);\n if (callbacks.size === 0) {\n observer.disconnect();\n observer = null;\n }\n };\n };\n const _observer = nuxtApp._observer = {\n observe\n };\n return _observer;\n}\nfunction isSlowConnection() {\n if (import.meta.server) {\n return;\n }\n const cn = navigator.connection;\n if (cn && (cn.saveData || /2g/.test(cn.effectiveType))) {\n return true;\n }\n return false;\n}\n","\nimport { updateAppConfig } from '#app/config'\nimport { defuFn } from 'defu'\n\nconst inlineConfig = {\n \"nuxt\": {},\n \"icon\": {\n \"provider\": \"server\",\n \"class\": \"\",\n \"aliases\": {},\n \"iconifyApiEndpoint\": \"https://api.iconify.design\",\n \"localApiEndpoint\": \"/api/_nuxt_icon\",\n \"fallbackToApi\": true,\n \"cssSelectorPrefix\": \"i-\",\n \"cssWherePseudo\": true,\n \"mode\": \"css\",\n \"attrs\": {\n \"aria-hidden\": true\n },\n \"collections\": [\n \"academicons\",\n \"akar-icons\",\n \"ant-design\",\n \"arcticons\",\n \"basil\",\n \"bi\",\n \"bitcoin-icons\",\n \"bpmn\",\n \"brandico\",\n \"bx\",\n \"bxl\",\n \"bxs\",\n \"bytesize\",\n \"carbon\",\n \"catppuccin\",\n \"cbi\",\n \"charm\",\n \"ci\",\n \"cib\",\n \"cif\",\n \"cil\",\n \"circle-flags\",\n \"circum\",\n \"clarity\",\n \"codicon\",\n \"covid\",\n \"cryptocurrency\",\n \"cryptocurrency-color\",\n \"dashicons\",\n \"devicon\",\n \"devicon-plain\",\n \"ei\",\n \"el\",\n \"emojione\",\n \"emojione-monotone\",\n \"emojione-v1\",\n \"entypo\",\n \"entypo-social\",\n \"eos-icons\",\n \"ep\",\n \"et\",\n \"eva\",\n \"f7\",\n \"fa\",\n \"fa-brands\",\n \"fa-regular\",\n \"fa-solid\",\n \"fa6-brands\",\n \"fa6-regular\",\n \"fa6-solid\",\n \"fad\",\n \"fe\",\n \"feather\",\n \"file-icons\",\n \"flag\",\n \"flagpack\",\n \"flat-color-icons\",\n \"flat-ui\",\n \"flowbite\",\n \"fluent\",\n \"fluent-emoji\",\n \"fluent-emoji-flat\",\n \"fluent-emoji-high-contrast\",\n \"fluent-mdl2\",\n \"fontelico\",\n \"fontisto\",\n \"formkit\",\n \"foundation\",\n \"fxemoji\",\n \"gala\",\n \"game-icons\",\n \"geo\",\n \"gg\",\n \"gis\",\n \"gravity-ui\",\n \"gridicons\",\n \"grommet-icons\",\n \"guidance\",\n \"healthicons\",\n \"heroicons\",\n \"heroicons-outline\",\n \"heroicons-solid\",\n \"hugeicons\",\n \"humbleicons\",\n \"ic\",\n \"icomoon-free\",\n \"icon-park\",\n \"icon-park-outline\",\n \"icon-park-solid\",\n \"icon-park-twotone\",\n \"iconamoon\",\n \"iconoir\",\n \"icons8\",\n \"il\",\n \"ion\",\n \"iwwa\",\n \"jam\",\n \"la\",\n \"lets-icons\",\n \"line-md\",\n \"logos\",\n \"ls\",\n \"lucide\",\n \"lucide-lab\",\n \"mage\",\n \"majesticons\",\n \"maki\",\n \"map\",\n \"marketeq\",\n \"material-symbols\",\n \"material-symbols-light\",\n \"mdi\",\n \"mdi-light\",\n \"medical-icon\",\n \"memory\",\n \"meteocons\",\n \"mi\",\n \"mingcute\",\n \"mono-icons\",\n \"mynaui\",\n \"nimbus\",\n \"nonicons\",\n \"noto\",\n \"noto-v1\",\n \"octicon\",\n \"oi\",\n \"ooui\",\n \"openmoji\",\n \"oui\",\n \"pajamas\",\n \"pepicons\",\n \"pepicons-pencil\",\n \"pepicons-pop\",\n \"pepicons-print\",\n \"ph\",\n \"pixelarticons\",\n \"prime\",\n \"ps\",\n \"quill\",\n \"radix-icons\",\n \"raphael\",\n \"ri\",\n \"rivet-icons\",\n \"si-glyph\",\n \"simple-icons\",\n \"simple-line-icons\",\n \"skill-icons\",\n \"solar\",\n \"streamline\",\n \"streamline-emojis\",\n \"subway\",\n \"svg-spinners\",\n \"system-uicons\",\n \"tabler\",\n \"tdesign\",\n \"teenyicons\",\n \"token\",\n \"token-branded\",\n \"topcoat\",\n \"twemoji\",\n \"typcn\",\n \"uil\",\n \"uim\",\n \"uis\",\n \"uit\",\n \"uiw\",\n \"unjs\",\n \"vaadin\",\n \"vs\",\n \"vscode-icons\",\n \"websymbol\",\n \"weui\",\n \"whh\",\n \"wi\",\n \"wpf\",\n \"zmdi\",\n \"zondicons\"\n ],\n \"fetchTimeout\": 500\n },\n \"ui\": {\n \"primary\": \"green\",\n \"gray\": \"cool\",\n \"colors\": [\n \"red\",\n \"orange\",\n \"amber\",\n \"yellow\",\n \"lime\",\n \"green\",\n \"emerald\",\n \"teal\",\n \"cyan\",\n \"sky\",\n \"blue\",\n \"indigo\",\n \"violet\",\n \"purple\",\n \"fuchsia\",\n \"pink\",\n \"rose\",\n \"main\",\n \"primary\"\n ],\n \"strategy\": \"merge\"\n }\n}\n\n// Vite - webpack is handled directly in #app/config\nif (import.meta.hot) {\n import.meta.hot.accept((newModule) => {\n updateAppConfig(newModule.default)\n })\n}\n\n\n\nexport default /*@__PURE__*/ defuFn(inlineConfig)\n","import { reactive } from \"vue\";\nimport { klona } from \"klona\";\nimport { useNuxtApp } from \"./nuxt.js\";\nimport __appConfig from \"#build/app.config.mjs\";\nexport const _getAppConfig = () => __appConfig;\nfunction deepDelete(obj, newObj) {\n for (const key in obj) {\n const val = newObj[key];\n if (!(key in newObj)) {\n delete obj[key];\n }\n if (val !== null && typeof val === \"object\") {\n deepDelete(obj[key], newObj[key]);\n }\n }\n}\nfunction deepAssign(obj, newObj) {\n for (const key in newObj) {\n const val = newObj[key];\n if (val !== null && typeof val === \"object\") {\n const defaultVal = Array.isArray(val) ? [] : {};\n obj[key] = obj[key] || defaultVal;\n deepAssign(obj[key], val);\n } else {\n obj[key] = val;\n }\n }\n}\nexport function useAppConfig() {\n const nuxtApp = useNuxtApp();\n if (!nuxtApp._appConfig) {\n nuxtApp._appConfig = import.meta.server ? klona(__appConfig) : reactive(__appConfig);\n }\n return nuxtApp._appConfig;\n}\nexport function updateAppConfig(appConfig) {\n const _appConfig = useAppConfig();\n deepAssign(_appConfig, appConfig);\n}\nif (import.meta.dev) {\n const applyHMR = (newConfig) => {\n const appConfig = useAppConfig();\n if (newConfig && appConfig) {\n deepAssign(appConfig, newConfig);\n deepDelete(appConfig, newConfig);\n }\n };\n if (import.meta.hot) {\n import.meta.hot.accept((newModule) => {\n const newConfig = newModule?._getAppConfig();\n applyHMR(newConfig);\n });\n }\n if (import.meta.webpackHot) {\n import.meta.webpackHot.accept(\"#build/app.config.mjs\", () => {\n applyHMR(__appConfig);\n });\n }\n}\n","import { createPinia, setActivePinia } from \"pinia\";\nimport { defineNuxtPlugin } from \"#app\";\nconst plugin = defineNuxtPlugin((nuxtApp) => {\n const pinia = createPinia();\n nuxtApp.vueApp.use(pinia);\n setActivePinia(pinia);\n if (process.server) {\n nuxtApp.payload.pinia = pinia.state.value;\n } else if (nuxtApp.payload && nuxtApp.payload.pinia) {\n pinia.state.value = nuxtApp.payload.pinia;\n }\n return {\n provide: {\n pinia\n }\n };\n});\nexport default plugin;\n","import { computed, defineComponent, h } from \"vue\";\nimport { NuxtIconCss } from \"./css.js\";\nimport { NuxtIconSvg } from \"./svg.js\";\nimport { useResolvedName } from \"./shared.js\";\nimport { useAppConfig, useNuxtApp } from \"#imports\";\nexport default defineComponent({\n name: \"NuxtIcon\",\n props: {\n name: {\n type: String,\n required: true\n },\n mode: {\n type: String,\n required: false,\n default: null\n },\n size: {\n type: [Number, String],\n required: false,\n default: null\n },\n customize: {\n type: Function,\n required: false\n }\n },\n async setup(props, { slots }) {\n const nuxtApp = useNuxtApp();\n const runtimeOptions = useAppConfig().icon;\n const name = useResolvedName(() => props.name);\n const component = computed(\n () => nuxtApp.vueApp?.component(name.value) || ((props.mode || runtimeOptions.mode) === \"svg\" ? NuxtIconSvg : NuxtIconCss)\n );\n const style = computed(() => {\n const size = props.size || runtimeOptions.size;\n return size ? { fontSize: Number.isNaN(+size) ? size : size + \"px\" } : null;\n });\n const customize = props.customize || runtimeOptions.customize;\n return () => h(\n component.value,\n {\n ...runtimeOptions.attrs,\n name: name.value,\n class: runtimeOptions.class,\n style: style.value,\n customize\n },\n slots\n );\n }\n});\n","import { defineNuxtPlugin } from '#app/nuxt'\nimport { LazyIcon } from '#components'\nconst lazyGlobalComponents = [\n [\"Icon\", LazyIcon],\n \n]\n\nexport default defineNuxtPlugin({\n name: 'nuxt:global-components',\n setup (nuxtApp) {\n for (const [name, component] of lazyGlobalComponents) {\n nuxtApp.vueApp.component(name, component)\n nuxtApp.vueApp.component('Lazy' + name, component)\n }\n }\n})\n","/*!\n * shared v9.14.0\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst inBrowser = typeof window !== 'undefined';\nlet mark;\nlet measure;\nif ((process.env.NODE_ENV !== 'production')) {\n const perf = inBrowser && window.performance;\n if (perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n // @ts-ignore browser compat\n perf.clearMeasures) {\n mark = (tag) => {\n perf.mark(tag);\n };\n measure = (name, startTag, endTag) => {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n };\n }\n}\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name);\nconst generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });\nconst friendlyJSONstringify = (json) => JSON.stringify(json)\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n .replace(/\\u0027/g, '\\\\u0027');\nconst isNumber = (val) => typeof val === 'number' && isFinite(val);\nconst isDate = (val) => toTypeString(val) === '[object Date]';\nconst isRegExp = (val) => toTypeString(val) === '[object RegExp]';\nconst isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0;\nconst assign = Object.assign;\nlet _globalThis;\nconst getGlobalThis = () => {\n // prettier-ignore\n return (_globalThis ||\n (_globalThis =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {}));\n};\nfunction escapeHtml(rawText) {\n return rawText\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n/* eslint-enable */\n/**\n * Useful Utilities By Evan you\n * Modified by kazuya kawaguchi\n * MIT License\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/index.ts\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/codeframe.ts\n */\nconst isArray = Array.isArray;\nconst isFunction = (val) => typeof val === 'function';\nconst isString = (val) => typeof val === 'string';\nconst isBoolean = (val) => typeof val === 'boolean';\nconst isSymbol = (val) => typeof val === 'symbol';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isPromise = (val) => {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst isPlainObject = (val) => {\n if (!isObject(val))\n return false;\n const proto = Object.getPrototypeOf(val);\n return proto === null || proto.constructor === Object;\n};\n// for converting list and named values to displayed strings.\nconst toDisplayString = (val) => {\n return val == null\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === objectToString)\n ? JSON.stringify(val, null, 2)\n : String(val);\n};\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\nconst RANGE = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n const lines = source.split(/\\r?\\n/);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\n if (count >= start) {\n for (let j = i - RANGE; j <= i + RANGE || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(`${line}${' '.repeat(3 - String(line).length)}| ${lines[j]}`);\n const lineLength = lines[j].length;\n if (j === i) {\n // push underline\n const pad = start - (count - lineLength) + 1;\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\n }\n else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + '^'.repeat(length));\n }\n count += lineLength + 1;\n }\n }\n break;\n }\n }\n return res.join('\\n');\n}\nfunction incrementer(code) {\n let current = code;\n return () => ++current;\n}\n\nfunction warn(msg, err) {\n if (typeof console !== 'undefined') {\n console.warn(`[intlify] ` + msg);\n /* istanbul ignore if */\n if (err) {\n console.warn(err.stack);\n }\n }\n}\nconst hasWarned = {};\nfunction warnOnce(msg) {\n if (!hasWarned[msg]) {\n hasWarned[msg] = true;\n warn(msg);\n }\n}\n\n/**\n * Event emitter, forked from the below:\n * - original repository url: https://github.com/developit/mitt\n * - code url: https://github.com/developit/mitt/blob/master/src/index.ts\n * - author: Jason Miller (https://github.com/developit)\n * - license: MIT\n */\n/**\n * Create a event emitter\n *\n * @returns An event emitter\n */\nfunction createEmitter() {\n const events = new Map();\n const emitter = {\n events,\n on(event, handler) {\n const handlers = events.get(event);\n const added = handlers && handlers.push(handler);\n if (!added) {\n events.set(event, [handler]);\n }\n },\n off(event, handler) {\n const handlers = events.get(event);\n if (handlers) {\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n }\n },\n emit(event, payload) {\n (events.get(event) || [])\n .slice()\n .map(handler => handler(payload));\n (events.get('*') || [])\n .slice()\n .map(handler => handler(event, payload));\n }\n };\n return emitter;\n}\n\nconst isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nfunction deepCopy(src, des) {\n // src and des should both be objects, and none of them can be a array\n if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {\n throw new Error('Invalid value');\n }\n const stack = [{ src, des }];\n while (stack.length) {\n const { src, des } = stack.pop();\n Object.keys(src).forEach(key => {\n if (isNotObjectOrIsArray(src[key]) || isNotObjectOrIsArray(des[key])) {\n // replace with src[key] when:\n // src[key] or des[key] is not an object, or\n // src[key] or des[key] is an array\n des[key] = src[key];\n }\n else {\n // src[key] and des[key] are both objects, merge them\n stack.push({ src: src[key], des: des[key] });\n }\n });\n }\n}\n\nexport { assign, createEmitter, deepCopy, escapeHtml, format, friendlyJSONstringify, generateCodeFrame, generateFormatCacheKey, getGlobalThis, hasOwn, inBrowser, incrementer, isArray, isBoolean, isDate, isEmptyObject, isFunction, isNumber, isObject, isPlainObject, isPromise, isRegExp, isString, isSymbol, join, makeSymbol, mark, measure, objectToString, toDisplayString, toTypeString, warn, warnOnce };\n","function isHTTPS(req, trustProxy = true) {\n const _xForwardedProto = trustProxy && req.headers ? req.headers[\"x-forwarded-proto\"] : void 0;\n const protoCheck = typeof _xForwardedProto === \"string\" ? _xForwardedProto.includes(\"https\") : void 0;\n if (protoCheck) {\n return true;\n }\n const _encrypted = req.connection ? req.connection.encrypted : void 0;\n const encryptedCheck = _encrypted !== void 0 ? _encrypted === true : void 0;\n if (encryptedCheck) {\n return true;\n }\n if (protoCheck === void 0 && encryptedCheck === void 0) {\n return void 0;\n }\n return false;\n}\n\nexport default isHTTPS;\n","\n// @ts-nocheck\nimport locale__home_cutunixc_analyze_cutunix_com_locales_fa_index_js from \"../locales/fa/index.js\";\nimport locale__home_cutunixc_analyze_cutunix_com_locales_en_index_js from \"../locales/en/index.js\";\n\n\nexport const localeCodes = [\n \"fa\",\n \"en\"\n]\n\nexport const localeLoaders = {\n \"fa\": [{ key: \"../locales/fa/index.js\", load: () => Promise.resolve(locale__home_cutunixc_analyze_cutunix_com_locales_fa_index_js), cache: true }],\n \"en\": [{ key: \"../locales/en/index.js\", load: () => Promise.resolve(locale__home_cutunixc_analyze_cutunix_com_locales_en_index_js), cache: true }]\n}\n\nexport const vueI18nConfigs = [\n \n]\n\nexport const nuxtI18nOptions = {\n \"experimental\": {\n \"localeDetector\": \"\",\n \"switchLocalePathLinkSSR\": false,\n \"autoImportTranslationFunctions\": false\n },\n \"bundle\": {\n \"compositionOnly\": true,\n \"runtimeOnly\": false,\n \"fullInstall\": true,\n \"dropMessageCompiler\": false\n },\n \"compilation\": {\n \"jit\": true,\n \"strictMessage\": false,\n \"escapeHtml\": true\n },\n \"customBlocks\": {\n \"defaultSFCLang\": \"json\",\n \"globalSFCScope\": false\n },\n \"vueI18n\": \"\",\n \"locales\": [\n {\n \"code\": \"fa\",\n \"language\": \"ir-IR\",\n \"dir\": \"rtl\",\n \"files\": [\n \"/home/cutunixc/analyze.cutunix.com/locales/fa/index.js\"\n ]\n },\n {\n \"code\": \"en\",\n \"language\": \"en-US\",\n \"dir\": \"ltr\",\n \"files\": [\n \"/home/cutunixc/analyze.cutunix.com/locales/en/index.js\"\n ]\n }\n ],\n \"defaultLocale\": \"fa\",\n \"defaultDirection\": \"ltr\",\n \"routesNameSeparator\": \"___\",\n \"trailingSlash\": false,\n \"defaultLocaleRouteNameSuffix\": \"default\",\n \"strategy\": \"prefix_and_default\",\n \"lazy\": false,\n \"langDir\": \"locales/\",\n \"detectBrowserLanguage\": {\n \"alwaysRedirect\": false,\n \"cookieCrossOrigin\": false,\n \"cookieDomain\": null,\n \"cookieKey\": \"i18n_redirected\",\n \"cookieSecure\": false,\n \"fallbackLocale\": \"fa\",\n \"redirectOn\": \"root\",\n \"useCookie\": true\n },\n \"differentDomains\": false,\n \"baseUrl\": \"\",\n \"dynamicRouteParams\": false,\n \"customRoutes\": \"page\",\n \"pages\": {},\n \"skipSettingLocaleOnNavigate\": false,\n \"types\": \"composition\",\n \"debug\": false,\n \"parallelPlugin\": false,\n \"multiDomainLocales\": false,\n \"i18nModules\": []\n}\n\nexport const normalizedLocales = [\n {\n \"code\": \"fa\",\n \"language\": \"ir-IR\",\n \"dir\": \"rtl\",\n \"files\": [\n {\n \"path\": \"/home/cutunixc/analyze.cutunix.com/locales/fa/index.js\"\n }\n ]\n },\n {\n \"code\": \"en\",\n \"language\": \"en-US\",\n \"dir\": \"ltr\",\n \"files\": [\n {\n \"path\": \"/home/cutunixc/analyze.cutunix.com/locales/en/index.js\"\n }\n ]\n }\n]\n\nexport const NUXT_I18N_MODULE_ID = \"@nuxtjs/i18n\"\nexport const parallelPlugin = false\nexport const isSSG = false\n\nexport const DEFAULT_DYNAMIC_PARAMS_KEY = \"nuxtI18n\"\nexport const DEFAULT_COOKIE_KEY = \"i18n_redirected\"\nexport const SWITCH_LOCALE_PATH_LINK_IDENTIFIER = \"nuxt-i18n-slp\"\n","import { isString, isSymbol, isFunction } from \"@intlify/shared\";\nimport { isRef, unref } from \"#imports\";\nexport const inBrowser = typeof window !== \"undefined\";\nexport function getNormalizedLocales(locales) {\n locales = locales || [];\n const normalized = [];\n for (const locale of locales) {\n if (isString(locale)) {\n normalized.push({ code: locale });\n } else {\n normalized.push(locale);\n }\n }\n return normalized;\n}\nfunction isI18nInstance(i18n) {\n return i18n != null && \"global\" in i18n && \"mode\" in i18n;\n}\nfunction isComposer(target) {\n return target != null && !(\"__composer\" in target) && \"locale\" in target && isRef(target.locale);\n}\nexport function isVueI18n(target) {\n return target != null && \"__composer\" in target;\n}\nexport function getI18nTarget(i18n) {\n return isI18nInstance(i18n) ? i18n.global : i18n;\n}\nexport function getComposer(i18n) {\n const target = getI18nTarget(i18n);\n if (isComposer(target)) return target;\n if (isVueI18n(target)) return target.__composer;\n return target;\n}\nexport function getLocale(i18n) {\n return unref(getI18nTarget(i18n).locale);\n}\nexport function getLocales(i18n) {\n return unref(getI18nTarget(i18n).locales);\n}\nexport function getLocaleCodes(i18n) {\n return unref(getI18nTarget(i18n).localeCodes);\n}\nexport function setLocale(i18n, locale) {\n const target = getI18nTarget(i18n);\n if (isRef(target.locale)) {\n target.locale.value = locale;\n } else {\n target.locale = locale;\n }\n}\nexport function adjustRoutePathForTrailingSlash(pagePath, trailingSlash, isChildWithRelativePath) {\n return pagePath.replace(/\\/+$/, \"\") + (trailingSlash ? \"/\" : \"\") || (isChildWithRelativePath ? \"\" : \"/\");\n}\nexport function getRouteName(routeName) {\n if (isString(routeName)) return routeName;\n if (isSymbol(routeName)) return routeName.toString();\n return \"(null)\";\n}\nexport function getLocaleRouteName(routeName, locale, {\n defaultLocale,\n strategy,\n routesNameSeparator,\n defaultLocaleRouteNameSuffix,\n differentDomains\n}) {\n const localizedRoutes = strategy !== \"no_prefix\" || differentDomains;\n let name = getRouteName(routeName) + (localizedRoutes ? routesNameSeparator + locale : \"\");\n if (locale === defaultLocale && strategy === \"prefix_and_default\") {\n name += routesNameSeparator + defaultLocaleRouteNameSuffix;\n }\n return name;\n}\nexport function resolveBaseUrl(baseUrl, context) {\n if (isFunction(baseUrl)) {\n return baseUrl(context);\n }\n return baseUrl;\n}\nfunction matchBrowserLocale(locales, browserLocales) {\n const matchedLocales = [];\n for (const [index, browserCode] of browserLocales.entries()) {\n const matchedLocale = locales.find((l) => l.language.toLowerCase() === browserCode.toLowerCase());\n if (matchedLocale) {\n matchedLocales.push({ code: matchedLocale.code, score: 1 - index / browserLocales.length });\n break;\n }\n }\n for (const [index, browserCode] of browserLocales.entries()) {\n const languageCode = browserCode.split(\"-\")[0].toLowerCase();\n const matchedLocale = locales.find((l) => l.language.split(\"-\")[0].toLowerCase() === languageCode);\n if (matchedLocale) {\n matchedLocales.push({ code: matchedLocale.code, score: 0.999 - index / browserLocales.length });\n break;\n }\n }\n return matchedLocales;\n}\nexport const DefaultBrowserLocaleMatcher = matchBrowserLocale;\nfunction compareBrowserLocale(a, b) {\n if (a.score === b.score) {\n return b.code.length - a.code.length;\n }\n return b.score - a.score;\n}\nexport const DefaultBrowerLocaleComparer = compareBrowserLocale;\nexport function findBrowserLocale(locales, browserLocales, { matcher = DefaultBrowserLocaleMatcher, comparer = DefaultBrowerLocaleComparer } = {}) {\n const normalizedLocales = [];\n for (const l of locales) {\n const { code } = l;\n const language = l.language || code;\n normalizedLocales.push({ code, language });\n }\n const matchedLocales = matcher(normalizedLocales, browserLocales);\n if (matchedLocales.length > 1) {\n matchedLocales.sort(comparer);\n }\n return matchedLocales.length ? matchedLocales[0].code : \"\";\n}\nexport function getLocalesRegex(localeCodes) {\n return new RegExp(`^/(${localeCodes.join(\"|\")})(?:/|$)`, \"i\");\n}\n","import { deepCopy, isFunction, isArray, isObject, isString } from \"@intlify/shared\";\nconst cacheMessages = /* @__PURE__ */ new Map();\nexport async function loadVueI18nOptions(vueI18nConfigs, nuxt) {\n const vueI18nOptions = { messages: {} };\n for (const configFile of vueI18nConfigs) {\n const { default: resolver } = await configFile();\n const resolved = isFunction(resolver) ? await nuxt.runWithContext(async () => await resolver()) : resolver;\n deepCopy(resolved, vueI18nOptions);\n }\n return vueI18nOptions;\n}\nexport function makeFallbackLocaleCodes(fallback, locales) {\n let fallbackLocales = [];\n if (isArray(fallback)) {\n fallbackLocales = fallback;\n } else if (isObject(fallback)) {\n const targets = [...locales, \"default\"];\n for (const locale of targets) {\n if (fallback[locale]) {\n fallbackLocales = [...fallbackLocales, ...fallback[locale].filter(Boolean)];\n }\n }\n } else if (isString(fallback) && locales.every((locale) => locale !== fallback)) {\n fallbackLocales.push(fallback);\n }\n return fallbackLocales;\n}\nexport async function loadInitialMessages(messages, localeLoaders, options) {\n const { defaultLocale, initialLocale, localeCodes, fallbackLocale, lazy } = options;\n if (lazy && fallbackLocale) {\n const fallbackLocales = makeFallbackLocaleCodes(fallbackLocale, [defaultLocale, initialLocale]);\n await Promise.all(fallbackLocales.map((locale) => loadAndSetLocaleMessages(locale, localeLoaders, messages)));\n }\n const locales = lazy ? [...(/* @__PURE__ */ new Set()).add(defaultLocale).add(initialLocale)] : localeCodes;\n await Promise.all(locales.map((locale) => loadAndSetLocaleMessages(locale, localeLoaders, messages)));\n return messages;\n}\nasync function loadMessage(locale, { key, load }) {\n let message = null;\n try {\n __DEBUG__ && console.log(\"loadMessage: (locale) -\", locale);\n const getter = await load().then((r) => r.default || r);\n if (isFunction(getter)) {\n message = await getter(locale);\n __DEBUG__ && console.log(\"loadMessage: dynamic load\", message);\n } else {\n message = getter;\n if (message != null && cacheMessages) {\n cacheMessages.set(key, message);\n }\n __DEBUG__ && console.log(\"loadMessage: load\", message);\n }\n } catch (e) {\n console.error(\"Failed locale loading: \" + e.message);\n }\n return message;\n}\nexport async function loadLocale(locale, localeLoaders, setter) {\n const loaders = localeLoaders[locale];\n if (loaders == null) {\n console.warn(\"Could not find messages for locale code: \" + locale);\n return;\n }\n const targetMessage = {};\n for (const loader of loaders) {\n let message = null;\n if (cacheMessages && cacheMessages.has(loader.key) && loader.cache) {\n __DEBUG__ && console.log(loader.key + \" is already loaded\");\n message = cacheMessages.get(loader.key);\n } else {\n __DEBUG__ && !loader.cache && console.log(loader.key + \" bypassing cache!\");\n __DEBUG__ && console.log(loader.key + \" is loading ...\");\n message = await loadMessage(locale, loader);\n }\n if (message != null) {\n deepCopy(message, targetMessage);\n }\n }\n setter(locale, targetMessage);\n}\nexport async function loadAndSetLocaleMessages(locale, localeLoaders, messages) {\n const setter = (locale2, message) => {\n const base = messages[locale2] || {};\n deepCopy(message, base);\n messages[locale2] = base;\n };\n await loadLocale(locale, localeLoaders, setter);\n}\n","import { assign } from \"@intlify/shared\";\nfunction split(str, index) {\n const result = [str.slice(0, index), str.slice(index)];\n return result;\n}\nexport function routeToObject(route) {\n const { fullPath, query, hash, name, path, params, meta, redirectedFrom, matched } = route;\n return {\n fullPath,\n params,\n query,\n hash,\n name,\n path,\n meta,\n matched,\n redirectedFrom\n };\n}\nexport function resolve({ router }, route, strategy, locale) {\n if (strategy !== \"prefix\") {\n return router.resolve(route);\n }\n const [rootSlash, restPath] = split(route.path, 1);\n const targetPath = `${rootSlash}${locale}${restPath === \"\" ? restPath : `/${restPath}`}`;\n const _route = router.options?.routes?.find((r) => r.path === targetPath);\n if (_route == null) {\n return route;\n }\n const _resolvableRoute = assign({}, route, _route);\n _resolvableRoute.path = targetPath;\n return router.resolve(_resolvableRoute);\n}\n","import { isString, assign } from \"@intlify/shared\";\nimport { hasProtocol, parsePath, parseQuery, withTrailingSlash, withoutTrailingSlash } from \"ufo\";\nimport { DEFAULT_DYNAMIC_PARAMS_KEY } from \"#build/i18n.options.mjs\";\nimport { unref } from \"#imports\";\nimport { resolve, routeToObject } from \"./utils.js\";\nimport { getLocale, getLocaleRouteName, getRouteName } from \"../utils.js\";\nimport { extendPrefixable, extendSwitchLocalePathIntercepter } from \"../../utils.js\";\nconst RESOLVED_PREFIXED = /* @__PURE__ */ new Set([\"prefix_and_default\", \"prefix_except_default\"]);\nfunction prefixable(options) {\n const { currentLocale, defaultLocale, strategy } = options;\n const isDefaultLocale = currentLocale === defaultLocale;\n return !(isDefaultLocale && RESOLVED_PREFIXED.has(strategy)) && // no prefix for any language\n !(strategy === \"no_prefix\");\n}\nexport const DefaultPrefixable = prefixable;\nexport function getRouteBaseName(common, givenRoute) {\n const { routesNameSeparator } = common.runtimeConfig.public.i18n;\n const route = unref(givenRoute);\n if (route == null || !route.name) {\n return;\n }\n const name = getRouteName(route.name);\n return name.split(routesNameSeparator)[0];\n}\nexport function localePath(common, route, locale) {\n if (typeof route === \"string\" && hasProtocol(route, { acceptRelative: true })) {\n return route;\n }\n const localizedRoute = resolveRoute(common, route, locale);\n return localizedRoute == null ? \"\" : localizedRoute.redirectedFrom?.fullPath || localizedRoute.fullPath;\n}\nexport function localeRoute(common, route, locale) {\n const resolved = resolveRoute(common, route, locale);\n return resolved ?? void 0;\n}\nexport function localeLocation(common, route, locale) {\n const resolved = resolveRoute(common, route, locale);\n return resolved ?? void 0;\n}\nexport function resolveRoute(common, route, locale) {\n const { router, i18n } = common;\n const _locale = locale || getLocale(i18n);\n const { defaultLocale, strategy, trailingSlash } = common.runtimeConfig.public.i18n;\n const prefixable2 = extendPrefixable(common.runtimeConfig);\n let _route;\n if (isString(route)) {\n if (route[0] === \"/\") {\n const { pathname: path, search, hash } = parsePath(route);\n const query = parseQuery(search);\n _route = { path, query, hash };\n } else {\n _route = { name: route };\n }\n } else {\n _route = route;\n }\n let localizedRoute = assign({}, _route);\n const isRouteLocationPathRaw = (val) => \"path\" in val && !!val.path && !(\"name\" in val);\n if (isRouteLocationPathRaw(localizedRoute)) {\n const resolvedRoute = resolve(common, localizedRoute, strategy, _locale);\n const resolvedRouteName = getRouteBaseName(common, resolvedRoute);\n if (isString(resolvedRouteName)) {\n localizedRoute = {\n name: getLocaleRouteName(resolvedRouteName, _locale, common.runtimeConfig.public.i18n),\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- FIXME\n params: resolvedRoute.params,\n query: resolvedRoute.query,\n hash: resolvedRoute.hash\n };\n localizedRoute.state = resolvedRoute.state;\n } else {\n if (prefixable2({ currentLocale: _locale, defaultLocale, strategy })) {\n localizedRoute.path = `/${_locale}${localizedRoute.path}`;\n }\n localizedRoute.path = trailingSlash ? withTrailingSlash(localizedRoute.path, true) : withoutTrailingSlash(localizedRoute.path, true);\n }\n } else {\n if (!localizedRoute.name && !(\"path\" in localizedRoute)) {\n localizedRoute.name = getRouteBaseName(common, router.currentRoute.value);\n }\n localizedRoute.name = getLocaleRouteName(localizedRoute.name, _locale, common.runtimeConfig.public.i18n);\n }\n try {\n const resolvedRoute = router.resolve(localizedRoute);\n if (resolvedRoute.name) {\n return resolvedRoute;\n }\n return router.resolve(route);\n } catch (e) {\n if (typeof e === \"object\" && \"type\" in e && e.type === 1) {\n return null;\n }\n }\n}\nexport const DefaultSwitchLocalePathIntercepter = (path) => path;\nfunction getLocalizableMetaFromDynamicParams(common, route) {\n if (common.runtimeConfig.public.i18n.experimental.switchLocalePathLinkSSR) {\n return unref(common.metaState.value);\n }\n const meta = route.meta || {};\n return unref(meta)?.[DEFAULT_DYNAMIC_PARAMS_KEY] || {};\n}\nexport function switchLocalePath(common, locale, _route) {\n const route = _route ?? common.router.currentRoute.value;\n const name = getRouteBaseName(common, route);\n if (!name) {\n return \"\";\n }\n const switchLocalePathIntercepter = extendSwitchLocalePathIntercepter(common.runtimeConfig);\n const routeCopy = routeToObject(route);\n const resolvedParams = getLocalizableMetaFromDynamicParams(common, route)[locale];\n const baseRoute = { ...routeCopy, name, params: { ...routeCopy.params, ...resolvedParams } };\n const path = localePath(common, baseRoute, locale);\n return switchLocalePathIntercepter(path, locale);\n}\n","import { unref, useNuxtApp, useRuntimeConfig } from \"#imports\";\nimport { getComposer, getLocale, getLocales, getNormalizedLocales } from \"../utils.js\";\nimport { getRouteBaseName, localeRoute, switchLocalePath } from \"./routing.js\";\nimport { isArray, isObject } from \"@intlify/shared\";\nimport { joinURL } from \"ufo\";\nexport function localeHead(common, {\n addDirAttribute = false,\n addSeoAttributes: seoAttributes = true,\n identifierAttribute: idAttribute = \"hid\"\n}) {\n const { defaultDirection } = useRuntimeConfig().public.i18n;\n const i18n = getComposer(common.i18n);\n const metaObject = {\n htmlAttrs: {},\n link: [],\n meta: []\n };\n if (unref(i18n.locales) == null || unref(i18n.baseUrl) == null) {\n return metaObject;\n }\n const locale = getLocale(common.i18n);\n const locales = getLocales(common.i18n);\n const currentLocale = getNormalizedLocales(locales).find((l) => l.code === locale) || {\n code: locale\n };\n const currentLanguage = currentLocale.language;\n const currentDir = currentLocale.dir || defaultDirection;\n if (addDirAttribute) {\n metaObject.htmlAttrs.dir = currentDir;\n }\n if (seoAttributes && locale && unref(i18n.locales)) {\n if (currentLanguage) {\n metaObject.htmlAttrs.lang = currentLanguage;\n }\n metaObject.link.push(\n ...getHreflangLinks(common, unref(locales), idAttribute),\n ...getCanonicalLink(common, idAttribute, seoAttributes)\n );\n metaObject.meta.push(\n ...getOgUrl(common, idAttribute, seoAttributes),\n ...getCurrentOgLocale(currentLocale, currentLanguage, idAttribute),\n ...getAlternateOgLocales(unref(locales), currentLanguage, idAttribute)\n );\n }\n return metaObject;\n}\nfunction getBaseUrl() {\n const nuxtApp = useNuxtApp();\n const i18n = getComposer(nuxtApp.$i18n);\n return joinURL(unref(i18n.baseUrl), nuxtApp.$config.app.baseURL);\n}\nexport function getHreflangLinks(common, locales, idAttribute) {\n const baseUrl = getBaseUrl();\n const { defaultLocale, strategy } = useRuntimeConfig().public.i18n;\n const links = [];\n if (strategy === \"no_prefix\") return links;\n const localeMap = /* @__PURE__ */ new Map();\n for (const locale of locales) {\n const localeLanguage = locale.language;\n if (!localeLanguage) {\n console.warn(\"Locale `language` ISO code is required to generate alternate link\");\n continue;\n }\n const [language, region] = localeLanguage.split(\"-\");\n if (language && region && (locale.isCatchallLocale || !localeMap.has(language))) {\n localeMap.set(language, locale);\n }\n localeMap.set(localeLanguage, locale);\n }\n for (const [language, mapLocale] of localeMap.entries()) {\n const localePath = switchLocalePath(common, mapLocale.code);\n if (localePath) {\n links.push({\n [idAttribute]: `i18n-alt-${language}`,\n rel: \"alternate\",\n href: toAbsoluteUrl(localePath, baseUrl),\n hreflang: language\n });\n }\n }\n if (defaultLocale) {\n const localePath = switchLocalePath(common, defaultLocale);\n if (localePath) {\n links.push({\n [idAttribute]: \"i18n-xd\",\n rel: \"alternate\",\n href: toAbsoluteUrl(localePath, baseUrl),\n hreflang: \"x-default\"\n });\n }\n }\n return links;\n}\nexport function getCanonicalUrl(common, baseUrl, seoAttributes) {\n const route = common.router.currentRoute.value;\n const currentRoute = localeRoute(common, {\n ...route,\n path: void 0,\n name: getRouteBaseName(common, route)\n });\n if (!currentRoute) return \"\";\n let href = toAbsoluteUrl(currentRoute.path, baseUrl);\n const canonicalQueries = isObject(seoAttributes) && seoAttributes.canonicalQueries || [];\n const currentRouteQueryParams = currentRoute.query;\n const params = new URLSearchParams();\n for (const queryParamName of canonicalQueries) {\n if (queryParamName in currentRouteQueryParams) {\n const queryParamValue = currentRouteQueryParams[queryParamName];\n if (isArray(queryParamValue)) {\n queryParamValue.forEach((v) => params.append(queryParamName, v || \"\"));\n } else {\n params.append(queryParamName, queryParamValue || \"\");\n }\n }\n }\n const queryString = params.toString();\n if (queryString) {\n href = `${href}?${queryString}`;\n }\n return href;\n}\nexport function getCanonicalLink(common, idAttribute, seoAttributes) {\n const baseUrl = getBaseUrl();\n const href = getCanonicalUrl(common, baseUrl, seoAttributes);\n if (!href) return [];\n return [{ [idAttribute]: \"i18n-can\", rel: \"canonical\", href }];\n}\nexport function getOgUrl(common, idAttribute, seoAttributes) {\n const baseUrl = getBaseUrl();\n const href = getCanonicalUrl(common, baseUrl, seoAttributes);\n if (!href) return [];\n return [{ [idAttribute]: \"i18n-og-url\", property: \"og:url\", content: href }];\n}\nexport function getCurrentOgLocale(currentLocale, currentLanguage, idAttribute) {\n if (!currentLocale || !currentLanguage) return [];\n return [{ [idAttribute]: \"i18n-og\", property: \"og:locale\", content: hypenToUnderscore(currentLanguage) }];\n}\nexport function getAlternateOgLocales(locales, currentLanguage, idAttribute) {\n const alternateLocales = locales.filter((locale) => locale.language && locale.language !== currentLanguage);\n return alternateLocales.map((locale) => ({\n [idAttribute]: `i18n-og-alt-${locale.language}`,\n property: \"og:locale:alternate\",\n content: hypenToUnderscore(locale.language)\n }));\n}\nfunction hypenToUnderscore(str) {\n return (str || \"\").replace(/-/g, \"_\");\n}\nfunction toAbsoluteUrl(urlOrPath, baseUrl) {\n if (urlOrPath.match(/^https?:\\/\\//)) return urlOrPath;\n return joinURL(baseUrl, urlOrPath);\n}\n","import { isString, isObject } from \"@intlify/shared\";\nimport { getLocalesRegex } from \"../utils.js\";\nimport { localeCodes } from \"#build/i18n.options.mjs\";\nimport { useRuntimeConfig } from \"#imports\";\nexport function createLocaleFromRouteGetter() {\n const { routesNameSeparator, defaultLocaleRouteNameSuffix } = useRuntimeConfig().public.i18n;\n const localesPattern = `(${localeCodes.join(\"|\")})`;\n const defaultSuffixPattern = `(?:${routesNameSeparator}${defaultLocaleRouteNameSuffix})?`;\n const regexpName = new RegExp(`${routesNameSeparator}${localesPattern}${defaultSuffixPattern}$`, \"i\");\n const regexpPath = getLocalesRegex(localeCodes);\n const getLocaleFromRoute = (route) => {\n if (isObject(route)) {\n if (route.name) {\n const name = isString(route.name) ? route.name : route.name.toString();\n const matches = name.match(regexpName);\n if (matches && matches.length > 1) {\n return matches[1];\n }\n } else if (route.path) {\n const matches = route.path.match(regexpPath);\n if (matches && matches.length > 1) {\n return matches[1];\n }\n }\n } else if (isString(route)) {\n const matches = route.match(regexpPath);\n if (matches && matches.length > 1) {\n return matches[1];\n }\n }\n return \"\";\n };\n return getLocaleFromRoute;\n}\n","import { joinURL, isEqual } from \"ufo\";\nimport { isString, isFunction, isObject } from \"@intlify/shared\";\nimport { navigateTo, useNuxtApp, useRouter, useRuntimeConfig, useState } from \"#imports\";\nimport {\n NUXT_I18N_MODULE_ID,\n isSSG,\n localeLoaders,\n normalizedLocales\n} from \"#build/i18n.options.mjs\";\nimport {\n wrapComposable,\n detectBrowserLanguage,\n callVueI18nInterfaces,\n getVueI18nPropertyValue,\n defineGetter,\n getLocaleDomain,\n getDomainFromLocale,\n runtimeDetectBrowserLanguage,\n getHost,\n DetectFailure\n} from \"./internal.js\";\nimport { loadLocale, makeFallbackLocaleCodes } from \"./messages.js\";\nimport {\n localeHead,\n localePath,\n localeRoute,\n getRouteBaseName,\n switchLocalePath,\n DefaultPrefixable,\n DefaultSwitchLocalePathIntercepter\n} from \"./routing/compatibles/index.js\";\nimport { getLocale, setLocale, getLocaleCodes, getI18nTarget } from \"./routing/utils.js\";\nimport { createLocaleFromRouteGetter } from \"./routing/extends/router.js\";\nexport function _setLocale(i18n, locale) {\n return callVueI18nInterfaces(i18n, \"setLocale\", locale);\n}\nexport function setCookieLocale(i18n, locale) {\n return callVueI18nInterfaces(i18n, \"setLocaleCookie\", locale);\n}\nexport function setLocaleMessage(i18n, locale, messages) {\n return callVueI18nInterfaces(i18n, \"setLocaleMessage\", locale, messages);\n}\nexport function mergeLocaleMessage(i18n, locale, messages) {\n return callVueI18nInterfaces(i18n, \"mergeLocaleMessage\", locale, messages);\n}\nasync function onBeforeLanguageSwitch(i18n, oldLocale, newLocale, initial, context) {\n return callVueI18nInterfaces(i18n, \"onBeforeLanguageSwitch\", oldLocale, newLocale, initial, context);\n}\nexport function onLanguageSwitched(i18n, oldLocale, newLocale) {\n return callVueI18nInterfaces(i18n, \"onLanguageSwitched\", oldLocale, newLocale);\n}\nexport async function finalizePendingLocaleChange(i18n) {\n return callVueI18nInterfaces(i18n, \"finalizePendingLocaleChange\");\n}\nexport function initCommonComposableOptions(i18n) {\n return {\n i18n: i18n ?? useNuxtApp().$i18n,\n router: useRouter(),\n runtimeConfig: useRuntimeConfig(),\n metaState: useState(\"nuxt-i18n-meta\", () => ({}))\n };\n}\nexport async function loadAndSetLocale(newLocale, i18n, runtimeI18n, initial = false) {\n const { differentDomains, skipSettingLocaleOnNavigate, lazy } = runtimeI18n;\n const opts = runtimeDetectBrowserLanguage(runtimeI18n);\n const nuxtApp = useNuxtApp();\n const oldLocale = getLocale(i18n);\n const localeCodes = getLocaleCodes(i18n);\n function syncCookie(locale = oldLocale) {\n if (opts === false || !opts.useCookie) return;\n if (skipSettingLocaleOnNavigate) return;\n setCookieLocale(i18n, locale);\n }\n __DEBUG__ && console.log(\"setLocale: new -> \", newLocale, \" old -> \", oldLocale, \" initial -> \", initial);\n if (!newLocale) {\n syncCookie();\n return false;\n }\n if (!initial && differentDomains) {\n syncCookie();\n return false;\n }\n if (oldLocale === newLocale) {\n syncCookie();\n return false;\n }\n const localeOverride = await onBeforeLanguageSwitch(i18n, oldLocale, newLocale, initial, nuxtApp);\n if (localeOverride && localeCodes.includes(localeOverride)) {\n if (oldLocale === localeOverride) {\n syncCookie();\n return false;\n }\n newLocale = localeOverride;\n }\n if (lazy) {\n const i18nFallbackLocales = getVueI18nPropertyValue(i18n, \"fallbackLocale\");\n const setter = (locale, message) => mergeLocaleMessage(i18n, locale, message);\n if (i18nFallbackLocales) {\n const fallbackLocales = makeFallbackLocaleCodes(i18nFallbackLocales, [newLocale]);\n await Promise.all(fallbackLocales.map((locale) => loadLocale(locale, localeLoaders, setter)));\n }\n await loadLocale(newLocale, localeLoaders, setter);\n }\n if (skipSettingLocaleOnNavigate) {\n return false;\n }\n syncCookie(newLocale);\n setLocale(i18n, newLocale);\n await onLanguageSwitched(i18n, oldLocale, newLocale);\n return true;\n}\nexport function createLogger(label) {\n return {\n log: console.log.bind(console, `${label}:`)\n // change to this after implementing logger across runtime code\n // log: console.log.bind(console, `[i18n:${label}]`)\n };\n}\nexport function detectLocale(route, routeLocaleGetter, initialLocaleLoader, detectLocaleContext, runtimeI18n) {\n const { strategy, defaultLocale, differentDomains, multiDomainLocales } = runtimeI18n;\n const { localeCookie } = detectLocaleContext;\n const _detectBrowserLanguage = runtimeDetectBrowserLanguage(runtimeI18n);\n const logger = createLogger(\"detectLocale\");\n const initialLocale = isFunction(initialLocaleLoader) ? initialLocaleLoader() : initialLocaleLoader;\n __DEBUG__ && logger.log({ initialLocale });\n const detectedBrowser = detectBrowserLanguage(route, detectLocaleContext, initialLocale);\n __DEBUG__ && logger.log({ detectBrowserLanguage: detectedBrowser });\n if (detectedBrowser.reason === DetectFailure.SSG_IGNORE) {\n return initialLocale;\n }\n if (detectedBrowser.locale && detectedBrowser.from != null) {\n return detectedBrowser.locale;\n }\n let detected = \"\";\n __DEBUG__ && logger.log(\"1/3\", { detected, strategy });\n if (differentDomains || multiDomainLocales) {\n detected ||= getLocaleDomain(normalizedLocales, strategy, route);\n } else if (strategy !== \"no_prefix\") {\n detected ||= routeLocaleGetter(route);\n }\n __DEBUG__ && logger.log(\"2/3\", { detected, detectBrowserLanguage: _detectBrowserLanguage });\n const cookieLocale = _detectBrowserLanguage && _detectBrowserLanguage.useCookie && localeCookie;\n detected ||= cookieLocale || initialLocale || defaultLocale || \"\";\n __DEBUG__ && logger.log(\"3/3\", { detected, cookieLocale, initialLocale, defaultLocale });\n return detected;\n}\nexport function detectRedirect({\n route,\n targetLocale,\n routeLocaleGetter,\n calledWithRouting = false\n}) {\n const nuxtApp = useNuxtApp();\n const common = initCommonComposableOptions();\n const { strategy, differentDomains } = common.runtimeConfig.public.i18n;\n __DEBUG__ && console.log(\"detectRedirect: targetLocale -> \", targetLocale);\n __DEBUG__ && console.log(\"detectRedirect: route -> \", route);\n __DEBUG__ && console.log(\"detectRedirect: calledWithRouting -> \", calledWithRouting, routeLocaleGetter(route.to));\n let redirectPath = \"\";\n const { fullPath: toFullPath } = route.to;\n const isStaticGenerate = isSSG && import.meta.server;\n if (!isStaticGenerate && !differentDomains && (calledWithRouting || strategy !== \"no_prefix\") && routeLocaleGetter(route.to) !== targetLocale) {\n const routePath = nuxtApp.$switchLocalePath(targetLocale) || nuxtApp.$localePath(toFullPath, targetLocale);\n __DEBUG__ && console.log(\"detectRedirect: calculate routePath -> \", routePath, toFullPath);\n if (isString(routePath) && routePath && !isEqual(routePath, toFullPath) && !routePath.startsWith(\"//\")) {\n redirectPath = !(route.from && route.from.fullPath === routePath) ? routePath : \"\";\n }\n }\n if ((differentDomains || isSSG && import.meta.client) && routeLocaleGetter(route.to) !== targetLocale) {\n const routePath = switchLocalePath(common, targetLocale, route.to);\n __DEBUG__ && console.log(\"detectRedirect: calculate domain or ssg routePath -> \", routePath);\n if (isString(routePath) && routePath && !isEqual(routePath, toFullPath) && !routePath.startsWith(\"//\")) {\n redirectPath = routePath;\n }\n }\n return redirectPath;\n}\nfunction isRootRedirectOptions(rootRedirect) {\n return isObject(rootRedirect) && \"path\" in rootRedirect && \"statusCode\" in rootRedirect;\n}\nconst useRedirectState = () => useState(NUXT_I18N_MODULE_ID + \":redirect\", () => \"\");\nfunction _navigate(redirectPath, status) {\n return navigateTo(redirectPath, { redirectCode: status });\n}\nexport async function navigate(args, { status = 302, enableNavigate = false } = {}) {\n const { nuxtApp, i18n, locale, route } = args;\n const { rootRedirect, differentDomains, multiDomainLocales, skipSettingLocaleOnNavigate, configLocales, strategy } = nuxtApp.$config.public.i18n;\n let { redirectPath } = args;\n __DEBUG__ && console.log(\n \"navigate options \",\n status,\n rootRedirect,\n differentDomains,\n skipSettingLocaleOnNavigate,\n enableNavigate\n );\n __DEBUG__ && console.log(\"navigate isSSG\", isSSG);\n if (route.path === \"/\" && rootRedirect) {\n if (isString(rootRedirect)) {\n redirectPath = \"/\" + rootRedirect;\n } else if (isRootRedirectOptions(rootRedirect)) {\n redirectPath = \"/\" + rootRedirect.path;\n status = rootRedirect.statusCode;\n }\n redirectPath = nuxtApp.$localePath(redirectPath, locale);\n __DEBUG__ && console.log(\"navigate: rootRedirect mode redirectPath -> \", redirectPath, \" status -> \", status);\n return _navigate(redirectPath, status);\n }\n if (import.meta.client && skipSettingLocaleOnNavigate) {\n i18n.__pendingLocale = locale;\n i18n.__pendingLocalePromise = new Promise((resolve) => {\n i18n.__resolvePendingLocalePromise = resolve;\n });\n if (!enableNavigate) {\n return;\n }\n }\n if (multiDomainLocales && strategy === \"prefix_except_default\") {\n const host = getHost();\n const currentDomain = configLocales.find((locale2) => {\n if (typeof locale2 !== \"string\") {\n return locale2.defaultForDomains?.find((domain) => domain === host);\n }\n return false;\n });\n const defaultLocaleForDomain = typeof currentDomain !== \"string\" ? currentDomain?.code : void 0;\n if (route.path.startsWith(`/${defaultLocaleForDomain}`)) {\n return _navigate(route.path.replace(`/${defaultLocaleForDomain}`, \"\"), status);\n } else if (!route.path.startsWith(`/${locale}`) && locale !== defaultLocaleForDomain) {\n const getLocaleFromRoute = createLocaleFromRouteGetter();\n const oldLocale = getLocaleFromRoute(route.path);\n if (oldLocale !== \"\") {\n return _navigate(`/${locale + route.path.replace(`/${oldLocale}`, \"\")}`, status);\n } else {\n return _navigate(`/${locale + (route.path === \"/\" ? \"\" : route.path)}`, status);\n }\n } else if (redirectPath && route.path !== redirectPath) {\n return _navigate(redirectPath, status);\n }\n return;\n }\n if (!differentDomains) {\n if (redirectPath) {\n return _navigate(redirectPath, status);\n }\n } else {\n const state = useRedirectState();\n __DEBUG__ && console.log(\"redirect state ->\", state.value, \"redirectPath -> \", redirectPath);\n if (state.value && state.value !== redirectPath) {\n if (import.meta.client) {\n state.value = \"\";\n window.location.assign(redirectPath);\n } else if (import.meta.server) {\n __DEBUG__ && console.log(\"differentDomains servermode \", redirectPath);\n state.value = redirectPath;\n }\n }\n }\n}\nexport function injectNuxtHelpers(nuxt, i18n) {\n defineGetter(nuxt, \"$i18n\", getI18nTarget(i18n));\n defineGetter(nuxt, \"$getRouteBaseName\", wrapComposable(getRouteBaseName));\n defineGetter(nuxt, \"$localePath\", wrapComposable(localePath));\n defineGetter(nuxt, \"$localeRoute\", wrapComposable(localeRoute));\n defineGetter(nuxt, \"$switchLocalePath\", wrapComposable(switchLocalePath));\n defineGetter(nuxt, \"$localeHead\", wrapComposable(localeHead));\n}\nexport function extendPrefixable(runtimeConfig = useRuntimeConfig()) {\n return (opts) => {\n __DEBUG__ && console.log(\"extendPrefixable\", DefaultPrefixable(opts));\n return DefaultPrefixable(opts) && !runtimeConfig.public.i18n.differentDomains;\n };\n}\nexport function extendSwitchLocalePathIntercepter(runtimeConfig = useRuntimeConfig()) {\n return (path, locale) => {\n if (runtimeConfig.public.i18n.differentDomains) {\n const domain = getDomainFromLocale(locale);\n __DEBUG__ && console.log(\"extendSwitchLocalePathIntercepter: domain -> \", domain, \" path -> \", path);\n if (domain) {\n return joinURL(domain, path);\n } else {\n return path;\n }\n } else {\n return DefaultSwitchLocalePathIntercepter(path, locale);\n }\n };\n}\nexport function extendBaseUrl() {\n return () => {\n const ctx = useNuxtApp();\n const { baseUrl, defaultLocale, differentDomains } = ctx.$config.public.i18n;\n if (isFunction(baseUrl)) {\n const baseUrlResult = baseUrl(ctx);\n __DEBUG__ && console.log(\"baseUrl: using localeLoader function -\", baseUrlResult);\n return baseUrlResult;\n }\n const localeCode = isFunction(defaultLocale) ? defaultLocale() : defaultLocale;\n if (differentDomains && localeCode) {\n const domain = getDomainFromLocale(localeCode);\n if (domain) {\n __DEBUG__ && console.log(\"baseUrl: using differentDomains -\", domain);\n return domain;\n }\n }\n if (baseUrl) {\n __DEBUG__ && console.log(\"baseUrl: using runtimeConfig -\", baseUrl);\n return baseUrl;\n }\n return baseUrl;\n };\n}\nexport function getNormalizedLocales(locales) {\n const normalized = [];\n for (const locale of locales) {\n if (isString(locale)) {\n normalized.push({ code: locale });\n continue;\n }\n normalized.push(locale);\n }\n return normalized;\n}\n","import { isArray, isString, isObject } from \"@intlify/shared\";\nimport { hasProtocol } from \"ufo\";\nimport isHTTPS from \"is-https\";\nimport {\n useRequestHeaders,\n useRequestEvent,\n useCookie as useNuxtCookie,\n useRuntimeConfig,\n useNuxtApp,\n unref\n} from \"#imports\";\nimport { NUXT_I18N_MODULE_ID, DEFAULT_COOKIE_KEY, isSSG, localeCodes, normalizedLocales } from \"#build/i18n.options.mjs\";\nimport { findBrowserLocale, getI18nTarget, getLocalesRegex } from \"./routing/utils.js\";\nimport { createLogger, initCommonComposableOptions } from \"./utils.js\";\nexport function formatMessage(message) {\n return NUXT_I18N_MODULE_ID + \" \" + message;\n}\nexport function callVueI18nInterfaces(i18n, name, ...args) {\n const target = getI18nTarget(i18n);\n const [obj, method] = [target, target[name]];\n return Reflect.apply(method, obj, [...args]);\n}\nexport function getVueI18nPropertyValue(i18n, name) {\n const target = getI18nTarget(i18n);\n return unref(target[name]);\n}\nexport function defineGetter(obj, key, val) {\n Object.defineProperty(obj, key, { get: () => val });\n}\nexport function wrapComposable(fn, common = initCommonComposableOptions()) {\n return (...args) => fn(common, ...args);\n}\nexport function parseAcceptLanguage(input) {\n return input.split(\",\").map((tag) => tag.split(\";\")[0]);\n}\nexport function getBrowserLocale() {\n let ret;\n if (import.meta.client) {\n if (navigator.languages) {\n ret = findBrowserLocale(normalizedLocales, navigator.languages);\n __DEBUG__ && console.log(\"getBrowserLocale (navigator.languages, ret) -\", navigator.languages, ret);\n }\n } else if (import.meta.server) {\n const header = useRequestHeaders([\"accept-language\"]);\n __DEBUG__ && console.log(\"getBrowserLocale accept-language\", header);\n const accept = header[\"accept-language\"];\n if (accept) {\n ret = findBrowserLocale(normalizedLocales, parseAcceptLanguage(accept));\n __DEBUG__ && console.log(\"getBrowserLocale ret\", ret);\n }\n }\n return ret;\n}\nexport function getI18nCookie() {\n const detect = runtimeDetectBrowserLanguage();\n const cookieKey = detect && detect.cookieKey || DEFAULT_COOKIE_KEY;\n const date = /* @__PURE__ */ new Date();\n const cookieOptions = {\n expires: new Date(date.setDate(date.getDate() + 365)),\n path: \"/\",\n sameSite: detect && detect.cookieCrossOrigin ? \"none\" : \"lax\",\n secure: detect && detect.cookieCrossOrigin || detect && detect.cookieSecure\n };\n if (detect && detect.cookieDomain) {\n cookieOptions.domain = detect.cookieDomain;\n }\n return useNuxtCookie(cookieKey, cookieOptions);\n}\nexport function getLocaleCookie(cookieRef, detect, defaultLocale) {\n __DEBUG__ && console.log(\"getLocaleCookie\", {\n useCookie: detect && detect.useCookie,\n cookieKey: detect && detect.cookieKey,\n localeCodes\n });\n if (detect === false || !detect.useCookie) {\n return;\n }\n const localeCode = cookieRef.value ?? void 0;\n const env = import.meta.client ? \"client\" : \"server\";\n if (localeCode == null) {\n __DEBUG__ && console.log(`getLocaleCookie (${env}) - none`);\n return;\n }\n if (localeCodes.includes(localeCode)) {\n __DEBUG__ && console.log(`getLocaleCookie (${env}) - locale from cookie: `, localeCode);\n return localeCode;\n }\n if (defaultLocale) {\n __DEBUG__ && console.log(\n `getLocaleCookie (${env}) - unknown locale cookie (${localeCode}), setting to defaultLocale (${defaultLocale})`\n );\n cookieRef.value = defaultLocale;\n return defaultLocale;\n }\n __DEBUG__ && console.log(`getLocaleCookie (${env}) - unknown locale cookie (${localeCode}), unsetting cookie`);\n cookieRef.value = void 0;\n return;\n}\nexport function setLocaleCookie(cookieRef, locale, detect) {\n if (detect === false || !detect.useCookie) {\n return;\n }\n cookieRef.value = locale;\n}\nexport var DetectFailure = /* @__PURE__ */ ((DetectFailure2) => {\n DetectFailure2[\"NOT_FOUND\"] = \"not_found_match\";\n DetectFailure2[\"FIRST_ACCESS\"] = \"first_access_only\";\n DetectFailure2[\"NO_REDIRECT_ROOT\"] = \"not_redirect_on_root\";\n DetectFailure2[\"NO_REDIRECT_NO_PREFIX\"] = \"not_redirect_on_no_prefix\";\n DetectFailure2[\"SSG_IGNORE\"] = \"detect_ignore_on_ssg\";\n return DetectFailure2;\n})(DetectFailure || {});\nvar DetectFrom = /* @__PURE__ */ ((DetectFrom2) => {\n DetectFrom2[\"COOKIE\"] = \"cookie\";\n DetectFrom2[\"NAVIGATOR_HEADER\"] = \"navigator_or_header\";\n DetectFrom2[\"FALLBACK\"] = \"fallback\";\n return DetectFrom2;\n})(DetectFrom || {});\nexport const DefaultDetectBrowserLanguageFromResult = { locale: \"\" };\nexport function detectBrowserLanguage(route, detectLocaleContext, locale = \"\") {\n const logger = createLogger(\"detectBrowserLanguage\");\n const _detect = runtimeDetectBrowserLanguage();\n if (!_detect) {\n return DefaultDetectBrowserLanguageFromResult;\n }\n const { strategy } = useRuntimeConfig().public.i18n;\n const { ssg, callType, firstAccess, localeCookie } = detectLocaleContext;\n __DEBUG__ && logger.log({ ssg, callType, firstAccess });\n if (isSSG && strategy === \"no_prefix\" && (import.meta.server || ssg === \"ssg_ignore\")) {\n return { locale: \"\", reason: \"detect_ignore_on_ssg\" /* SSG_IGNORE */ };\n }\n if (!firstAccess) {\n return { locale: strategy === \"no_prefix\" ? locale : \"\", reason: \"first_access_only\" /* FIRST_ACCESS */ };\n }\n const { redirectOn, alwaysRedirect, useCookie, fallbackLocale } = _detect;\n const path = isString(route) ? route : route.path;\n __DEBUG__ && logger.log({ locale, path, strategy, alwaysRedirect, redirectOn });\n if (strategy !== \"no_prefix\") {\n if (redirectOn === \"root\" && path !== \"/\") {\n __DEBUG__ && logger.log(\"not root\", { path });\n return { locale: \"\", reason: \"not_redirect_on_root\" /* NO_REDIRECT_ROOT */ };\n }\n __DEBUG__ && redirectOn === \"no prefix\" && logger.log(\"no prefix -\", { path });\n if (redirectOn === \"no prefix\" && !alwaysRedirect && path.match(getLocalesRegex(localeCodes))) {\n return { locale: \"\", reason: \"not_redirect_on_no_prefix\" /* NO_REDIRECT_NO_PREFIX */ };\n }\n }\n let from;\n const cookieMatch = useCookie && localeCookie || void 0;\n if (useCookie) {\n from = \"cookie\" /* COOKIE */;\n }\n const browserMatch = getBrowserLocale();\n if (!cookieMatch) {\n from = \"navigator_or_header\" /* NAVIGATOR_HEADER */;\n }\n const matchedLocale = cookieMatch || browserMatch;\n const resolved = matchedLocale || fallbackLocale || \"\";\n if (!matchedLocale && fallbackLocale) {\n from = \"fallback\" /* FALLBACK */;\n }\n __DEBUG__ && logger.log({ locale: resolved, cookieMatch, browserMatch, from });\n return { locale: resolved, from };\n}\nexport function getHost() {\n let host;\n if (import.meta.client) {\n host = window.location.host;\n } else if (import.meta.server) {\n const header = useRequestHeaders([\"x-forwarded-host\", \"host\"]);\n let detectedHost;\n if (\"x-forwarded-host\" in header) {\n detectedHost = header[\"x-forwarded-host\"];\n } else if (\"host\" in header) {\n detectedHost = header[\"host\"];\n }\n host = isArray(detectedHost) ? detectedHost[0] : detectedHost;\n }\n return host;\n}\nexport function getLocaleDomain(locales, strategy, route) {\n let host = getHost() || \"\";\n if (host) {\n __DEBUG__ && console.log(\n `MultiDomainsMultiLocales: locating domain for host: `,\n host,\n strategy,\n isObject(route) ? route.path : route\n );\n let matchingLocale;\n const matchingLocales = locales.filter((locale) => {\n if (locale && locale.domain) {\n let domain = locale.domain;\n if (hasProtocol(locale.domain)) {\n domain = locale.domain.replace(/(http|https):\\/\\//, \"\");\n }\n return domain === host;\n } else if (Array.isArray(locale?.domains)) {\n return locale.domains.includes(host);\n }\n return false;\n });\n if (matchingLocales.length === 1) {\n matchingLocale = matchingLocales[0];\n __DEBUG__ && console.log(`MultiDomainsMultiLocales: found only one matching domain: `, host, matchingLocales[0].code);\n } else if (matchingLocales.length > 1) {\n if (strategy === \"no_prefix\") {\n console.warn(\n formatMessage(\n \"Multiple matching domains found! This is not supported for no_prefix strategy in combination with differentDomains!\"\n )\n );\n matchingLocale = matchingLocales[0];\n } else {\n if (route) {\n const routePath = isObject(route) ? route.path : isString(route) ? route : \"\";\n __DEBUG__ && console.log(`MultiDomainsMultiLocales: Check in matched domain for locale match in path: `, routePath, host);\n if (routePath && routePath !== \"\") {\n const matches = routePath.match(getLocalesRegex(matchingLocales.map((l) => l.code)));\n if (matches && matches.length > 1) {\n matchingLocale = matchingLocales.find((l) => l.code === matches[1]);\n __DEBUG__ && console.log(\n `MultiDomainsMultiLocales: Found matching locale from path. MatchingLocale is now`,\n matchingLocale?.code\n );\n }\n }\n }\n if (!matchingLocale) {\n matchingLocale = matchingLocales.find(\n (l) => Array.isArray(l.defaultForDomains) ? l.defaultForDomains.includes(host) : l.domainDefault\n );\n __DEBUG__ && console.log(\n `MultiDomainsMultiLocales: matching locale not found - trying to get default for this domain. MatchingLocale is now`,\n matchingLocale?.code\n );\n }\n }\n }\n if (matchingLocale) {\n return matchingLocale.code;\n } else {\n host = \"\";\n }\n }\n return host;\n}\nexport function getDomainFromLocale(localeCode) {\n const runtimeConfig = useRuntimeConfig();\n const nuxtApp = useNuxtApp();\n const host = getHost();\n const config = runtimeConfig.public.i18n;\n const lang = normalizedLocales.find((locale) => locale.code === localeCode);\n const domain = config?.locales?.[localeCode]?.domain || lang?.domain || config?.locales?.[localeCode]?.domains?.find((v) => v === host) || lang?.domains?.find((v) => v === host);\n if (domain) {\n if (hasProtocol(domain, { strict: true })) {\n return domain;\n }\n let protocol;\n if (import.meta.server) {\n const {\n node: { req }\n } = useRequestEvent(nuxtApp);\n protocol = req && isHTTPS(req) ? \"https:\" : \"http:\";\n } else {\n protocol = new URL(window.location.origin).protocol;\n }\n return protocol + \"//\" + domain;\n }\n console.warn(formatMessage(\"Could not find domain name for locale \" + localeCode));\n}\nexport const runtimeDetectBrowserLanguage = (opts = useRuntimeConfig().public.i18n) => {\n if (opts?.detectBrowserLanguage === false) return false;\n return opts?.detectBrowserLanguage;\n};\n","/*!\n * message-compiler v9.14.0\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { format, assign, join, isString } from '@intlify/shared';\n\nconst LOCATION_STUB = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 }\n};\nfunction createPosition(line, column, offset) {\n return { line, column, offset };\n}\nfunction createLocation(start, end, source) {\n const loc = { start, end };\n if (source != null) {\n loc.source = source;\n }\n return loc;\n}\n\nconst CompileWarnCodes = {\n USE_MODULO_SYNTAX: 1,\n __EXTEND_POINT__: 2\n};\n/** @internal */\nconst warnMessages = {\n [CompileWarnCodes.USE_MODULO_SYNTAX]: `Use modulo before '{{0}}'.`\n};\nfunction createCompileWarn(code, loc, ...args) {\n const msg = (process.env.NODE_ENV !== 'production') ? format(warnMessages[code] || '', ...(args || [])) : code;\n const message = { message: String(msg), code };\n if (loc) {\n message.location = loc;\n }\n return message;\n}\n\nconst CompileErrorCodes = {\n // tokenizer error codes\n EXPECTED_TOKEN: 1,\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\n UNKNOWN_ESCAPE_SEQUENCE: 4,\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\n UNBALANCED_CLOSING_BRACE: 6,\n UNTERMINATED_CLOSING_BRACE: 7,\n EMPTY_PLACEHOLDER: 8,\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\n INVALID_LINKED_FORMAT: 10,\n // parser error codes\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\n // generator error codes\n UNHANDLED_CODEGEN_NODE_TYPE: 15,\n // minifier error codes\n UNHANDLED_MINIFIER_NODE_TYPE: 16,\n // Special value for higher-order compilers to pick up the last code\n // to avoid collision of error codes. This should always be kept as the last\n // item.\n __EXTEND_POINT__: 17\n};\n/** @internal */\nconst errorMessages = {\n // tokenizer error messages\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\n // parser error messages\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,\n // generator error messages\n [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,\n // minimizer error messages\n [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`\n};\nfunction createCompileError(code, loc, options = {}) {\n const { domain, messages, args } = options;\n const msg = (process.env.NODE_ENV !== 'production')\n ? format((messages || errorMessages)[code] || '', ...(args || []))\n : code;\n const error = new SyntaxError(String(msg));\n error.code = code;\n if (loc) {\n error.location = loc;\n }\n error.domain = domain;\n return error;\n}\n/** @internal */\nfunction defaultOnError(error) {\n throw error;\n}\n\n// eslint-disable-next-line no-useless-escape\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nconst detectHtmlTag = (source) => RE_HTML_TAG.test(source);\n\nconst CHAR_SP = ' ';\nconst CHAR_CR = '\\r';\nconst CHAR_LF = '\\n';\nconst CHAR_LS = String.fromCharCode(0x2028);\nconst CHAR_PS = String.fromCharCode(0x2029);\nfunction createScanner(str) {\n const _buf = str;\n let _index = 0;\n let _line = 1;\n let _column = 1;\n let _peekOffset = 0;\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\n const isLF = (index) => _buf[index] === CHAR_LF;\n const isPS = (index) => _buf[index] === CHAR_PS;\n const isLS = (index) => _buf[index] === CHAR_LS;\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\n const index = () => _index;\n const line = () => _line;\n const column = () => _column;\n const peekOffset = () => _peekOffset;\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\n const currentChar = () => charAt(_index);\n const currentPeek = () => charAt(_index + _peekOffset);\n function next() {\n _peekOffset = 0;\n if (isLineEnd(_index)) {\n _line++;\n _column = 0;\n }\n if (isCRLF(_index)) {\n _index++;\n }\n _index++;\n _column++;\n return _buf[_index];\n }\n function peek() {\n if (isCRLF(_index + _peekOffset)) {\n _peekOffset++;\n }\n _peekOffset++;\n return _buf[_index + _peekOffset];\n }\n function reset() {\n _index = 0;\n _line = 1;\n _column = 1;\n _peekOffset = 0;\n }\n function resetPeek(offset = 0) {\n _peekOffset = offset;\n }\n function skipToPeek() {\n const target = _index + _peekOffset;\n // eslint-disable-next-line no-unmodified-loop-condition\n while (target !== _index) {\n next();\n }\n _peekOffset = 0;\n }\n return {\n index,\n line,\n column,\n peekOffset,\n charAt,\n currentChar,\n currentPeek,\n next,\n peek,\n reset,\n resetPeek,\n skipToPeek\n };\n}\n\nconst EOF = undefined;\nconst DOT = '.';\nconst LITERAL_DELIMITER = \"'\";\nconst ERROR_DOMAIN$3 = 'tokenizer';\nfunction createTokenizer(source, options = {}) {\n const location = options.location !== false;\n const _scnr = createScanner(source);\n const currentOffset = () => _scnr.index();\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\n const _initLoc = currentPosition();\n const _initOffset = currentOffset();\n const _context = {\n currentType: 14 /* TokenTypes.EOF */,\n offset: _initOffset,\n startLoc: _initLoc,\n endLoc: _initLoc,\n lastType: 14 /* TokenTypes.EOF */,\n lastOffset: _initOffset,\n lastStartLoc: _initLoc,\n lastEndLoc: _initLoc,\n braceNest: 0,\n inLinked: false,\n text: ''\n };\n const context = () => _context;\n const { onError } = options;\n function emitError(code, pos, offset, ...args) {\n const ctx = context();\n pos.column += offset;\n pos.offset += offset;\n if (onError) {\n const loc = location ? createLocation(ctx.startLoc, pos) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$3,\n args\n });\n onError(err);\n }\n }\n function getToken(context, type, value) {\n context.endLoc = currentPosition();\n context.currentType = type;\n const token = { type };\n if (location) {\n token.loc = createLocation(context.startLoc, context.endLoc);\n }\n if (value != null) {\n token.value = value;\n }\n return token;\n }\n const getEndToken = (context) => getToken(context, 14 /* TokenTypes.EOF */);\n function eat(scnr, ch) {\n if (scnr.currentChar() === ch) {\n scnr.next();\n return ch;\n }\n else {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n return '';\n }\n }\n function peekSpaces(scnr) {\n let buf = '';\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\n buf += scnr.currentPeek();\n scnr.peek();\n }\n return buf;\n }\n function skipSpaces(scnr) {\n const buf = peekSpaces(scnr);\n scnr.skipToPeek();\n return buf;\n }\n function isIdentifierStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n cc === 95 // _\n );\n }\n function isNumberStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function isNamedIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isListIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\n const ret = isNumberStart(ch);\n scnr.resetPeek();\n return ret;\n }\n function isLiteralStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDotStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 8 /* TokenTypes.LinkedAlias */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \".\" /* TokenChars.LinkedDot */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedModifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 9 /* TokenTypes.LinkedDot */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDelimiterStart(scnr, context) {\n const { currentType } = context;\n if (!(currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */)) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \":\" /* TokenChars.LinkedDelimiter */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedReferStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 10 /* TokenTypes.LinkedDelimiter */) {\n return false;\n }\n const fn = () => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return isIdentifierStart(scnr.peek());\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \":\" /* TokenChars.LinkedDelimiter */ ||\n ch === \".\" /* TokenChars.LinkedDot */ ||\n ch === CHAR_SP ||\n !ch) {\n return false;\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn();\n }\n else {\n // other characters\n return isTextStart(scnr, false);\n }\n };\n const ret = fn();\n scnr.resetPeek();\n return ret;\n }\n function isPluralStart(scnr) {\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"|\" /* TokenChars.Pipe */;\n scnr.resetPeek();\n return ret;\n }\n function detectModuloStart(scnr) {\n const spaces = peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"%\" /* TokenChars.Modulo */ &&\n scnr.peek() === \"{\" /* TokenChars.BraceLeft */;\n scnr.resetPeek();\n return {\n isModulo: ret,\n hasSpace: spaces.length > 0\n };\n }\n function isTextStart(scnr, reset = true) {\n const fn = (hasSpace = false, prev = '', detectModulo = false) => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return prev === \"%\" /* TokenChars.Modulo */ ? false : hasSpace;\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ || !ch) {\n return prev === \"%\" /* TokenChars.Modulo */ ? true : hasSpace;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n scnr.peek();\n return fn(hasSpace, \"%\" /* TokenChars.Modulo */, true);\n }\n else if (ch === \"|\" /* TokenChars.Pipe */) {\n return prev === \"%\" /* TokenChars.Modulo */ || detectModulo\n ? true\n : !(prev === CHAR_SP || prev === CHAR_LF);\n }\n else if (ch === CHAR_SP) {\n scnr.peek();\n return fn(true, CHAR_SP, detectModulo);\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn(true, CHAR_LF, detectModulo);\n }\n else {\n return true;\n }\n };\n const ret = fn();\n reset && scnr.resetPeek();\n return ret;\n }\n function takeChar(scnr, fn) {\n const ch = scnr.currentChar();\n if (ch === EOF) {\n return EOF;\n }\n if (fn(ch)) {\n scnr.next();\n return ch;\n }\n return null;\n }\n function isIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 // $\n );\n }\n function takeIdentifierChar(scnr) {\n return takeChar(scnr, isIdentifier);\n }\n function isNamedIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 || // $\n cc === 45 // -\n );\n }\n function takeNamedIdentifierChar(scnr) {\n return takeChar(scnr, isNamedIdentifier);\n }\n function isDigit(ch) {\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function takeDigit(scnr) {\n return takeChar(scnr, isDigit);\n }\n function isHexDigit(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 48 && cc <= 57) || // 0-9\n (cc >= 65 && cc <= 70) || // A-F\n (cc >= 97 && cc <= 102)); // a-f\n }\n function takeHexDigit(scnr) {\n return takeChar(scnr, isHexDigit);\n }\n function getDigits(scnr) {\n let ch = '';\n let num = '';\n while ((ch = takeDigit(scnr))) {\n num += ch;\n }\n return num;\n }\n function readModulo(scnr) {\n skipSpaces(scnr);\n const ch = scnr.currentChar();\n if (ch !== \"%\" /* TokenChars.Modulo */) {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n }\n scnr.next();\n return \"%\" /* TokenChars.Modulo */;\n }\n function readText(scnr) {\n let buf = '';\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"}\" /* TokenChars.BraceRight */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n !ch) {\n break;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else {\n break;\n }\n }\n else if (ch === CHAR_SP || ch === CHAR_LF) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else if (isPluralStart(scnr)) {\n break;\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n return buf;\n }\n function readNamedIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let name = '';\n while ((ch = takeNamedIdentifierChar(scnr))) {\n name += ch;\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return name;\n }\n function readListIdentifier(scnr) {\n skipSpaces(scnr);\n let value = '';\n if (scnr.currentChar() === '-') {\n scnr.next();\n value += `-${getDigits(scnr)}`;\n }\n else {\n value += getDigits(scnr);\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return value;\n }\n function isLiteral(ch) {\n return ch !== LITERAL_DELIMITER && ch !== CHAR_LF;\n }\n function readLiteral(scnr) {\n skipSpaces(scnr);\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n let ch = '';\n let literal = '';\n while ((ch = takeChar(scnr, isLiteral))) {\n if (ch === '\\\\') {\n literal += readEscapeSequence(scnr);\n }\n else {\n literal += ch;\n }\n }\n const current = scnr.currentChar();\n if (current === CHAR_LF || current === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\n // TODO: Is it correct really?\n if (current === CHAR_LF) {\n scnr.next();\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n }\n return literal;\n }\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n return literal;\n }\n function readEscapeSequence(scnr) {\n const ch = scnr.currentChar();\n switch (ch) {\n case '\\\\':\n case `\\'`: // eslint-disable-line no-useless-escape\n scnr.next();\n return `\\\\${ch}`;\n case 'u':\n return readUnicodeEscapeSequence(scnr, ch, 4);\n case 'U':\n return readUnicodeEscapeSequence(scnr, ch, 6);\n default:\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\n return '';\n }\n }\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\n eat(scnr, unicode);\n let sequence = '';\n for (let i = 0; i < digits; i++) {\n const ch = takeHexDigit(scnr);\n if (!ch) {\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\n break;\n }\n sequence += ch;\n }\n return `\\\\${unicode}${sequence}`;\n }\n function isInvalidIdentifier(ch) {\n return (ch !== \"{\" /* TokenChars.BraceLeft */ &&\n ch !== \"}\" /* TokenChars.BraceRight */ &&\n ch !== CHAR_SP &&\n ch !== CHAR_LF);\n }\n function readInvalidIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let identifiers = '';\n while ((ch = takeChar(scnr, isInvalidIdentifier))) {\n identifiers += ch;\n }\n return identifiers;\n }\n function readLinkedModifier(scnr) {\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n return name;\n }\n function readLinkedRefer(scnr) {\n const fn = (buf) => {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \"(\" /* TokenChars.ParenLeft */ ||\n ch === \")\" /* TokenChars.ParenRight */ ||\n !ch) {\n return buf;\n }\n else if (ch === CHAR_SP) {\n return buf;\n }\n else if (ch === CHAR_LF || ch === DOT) {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n else {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n };\n return fn('');\n }\n function readPlural(scnr) {\n skipSpaces(scnr);\n const plural = eat(scnr, \"|\" /* TokenChars.Pipe */);\n skipSpaces(scnr);\n return plural;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInPlaceholder(scnr, context) {\n let token = null;\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n if (context.braceNest >= 1) {\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 2 /* TokenTypes.BraceLeft */, \"{\" /* TokenChars.BraceLeft */);\n skipSpaces(scnr);\n context.braceNest++;\n return token;\n case \"}\" /* TokenChars.BraceRight */:\n if (context.braceNest > 0 &&\n context.currentType === 2 /* TokenTypes.BraceLeft */) {\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n context.braceNest--;\n context.braceNest > 0 && skipSpaces(scnr);\n if (context.inLinked && context.braceNest === 0) {\n context.inLinked = false;\n }\n return token;\n case \"@\" /* TokenChars.LinkedAlias */:\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = readTokenInLinked(scnr, context) || getEndToken(context);\n context.braceNest = 0;\n return token;\n default: {\n let validNamedIdentifier = true;\n let validListIdentifier = true;\n let validLiteral = true;\n if (isPluralStart(scnr)) {\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (context.braceNest > 0 &&\n (context.currentType === 5 /* TokenTypes.Named */ ||\n context.currentType === 6 /* TokenTypes.List */ ||\n context.currentType === 7 /* TokenTypes.Literal */)) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n context.braceNest = 0;\n return readToken(scnr, context);\n }\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\n token = getToken(context, 5 /* TokenTypes.Named */, readNamedIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\n token = getToken(context, 6 /* TokenTypes.List */, readListIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validLiteral = isLiteralStart(scnr, context))) {\n token = getToken(context, 7 /* TokenTypes.Literal */, readLiteral(scnr));\n skipSpaces(scnr);\n return token;\n }\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\n token = getToken(context, 13 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\n skipSpaces(scnr);\n return token;\n }\n break;\n }\n }\n return token;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInLinked(scnr, context) {\n const { currentType } = context;\n let token = null;\n const ch = scnr.currentChar();\n if ((currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 9 /* TokenTypes.LinkedDot */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */ ||\n currentType === 10 /* TokenTypes.LinkedDelimiter */) &&\n (ch === CHAR_LF || ch === CHAR_SP)) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n switch (ch) {\n case \"@\" /* TokenChars.LinkedAlias */:\n scnr.next();\n token = getToken(context, 8 /* TokenTypes.LinkedAlias */, \"@\" /* TokenChars.LinkedAlias */);\n context.inLinked = true;\n return token;\n case \".\" /* TokenChars.LinkedDot */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 9 /* TokenTypes.LinkedDot */, \".\" /* TokenChars.LinkedDot */);\n case \":\" /* TokenChars.LinkedDelimiter */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 10 /* TokenTypes.LinkedDelimiter */, \":\" /* TokenChars.LinkedDelimiter */);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isLinkedDotStart(scnr, context) ||\n isLinkedDelimiterStart(scnr, context)) {\n skipSpaces(scnr);\n return readTokenInLinked(scnr, context);\n }\n if (isLinkedModifierStart(scnr, context)) {\n skipSpaces(scnr);\n return getToken(context, 12 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));\n }\n if (isLinkedReferStart(scnr, context)) {\n skipSpaces(scnr);\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n // scan the placeholder\n return readTokenInPlaceholder(scnr, context) || token;\n }\n else {\n return getToken(context, 11 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));\n }\n }\n if (currentType === 8 /* TokenTypes.LinkedAlias */) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n context.braceNest = 0;\n context.inLinked = false;\n return readToken(scnr, context);\n }\n }\n // TODO: We need refactoring of token parsing ...\n function readToken(scnr, context) {\n let token = { type: 14 /* TokenTypes.EOF */ };\n if (context.braceNest > 0) {\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n }\n if (context.inLinked) {\n return readTokenInLinked(scnr, context) || getEndToken(context);\n }\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n case \"}\" /* TokenChars.BraceRight */:\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\n scnr.next();\n return getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n case \"@\" /* TokenChars.LinkedAlias */:\n return readTokenInLinked(scnr, context) || getEndToken(context);\n default: {\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n const { isModulo, hasSpace } = detectModuloStart(scnr);\n if (isModulo) {\n return hasSpace\n ? getToken(context, 0 /* TokenTypes.Text */, readText(scnr))\n : getToken(context, 4 /* TokenTypes.Modulo */, readModulo(scnr));\n }\n if (isTextStart(scnr)) {\n return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));\n }\n break;\n }\n }\n return token;\n }\n function nextToken() {\n const { currentType, offset, startLoc, endLoc } = _context;\n _context.lastType = currentType;\n _context.lastOffset = offset;\n _context.lastStartLoc = startLoc;\n _context.lastEndLoc = endLoc;\n _context.offset = currentOffset();\n _context.startLoc = currentPosition();\n if (_scnr.currentChar() === EOF) {\n return getToken(_context, 14 /* TokenTypes.EOF */);\n }\n return readToken(_scnr, _context);\n }\n return {\n nextToken,\n currentOffset,\n currentPosition,\n context\n };\n}\n\nconst ERROR_DOMAIN$2 = 'parser';\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\n switch (match) {\n case `\\\\\\\\`:\n return `\\\\`;\n // eslint-disable-next-line no-useless-escape\n case `\\\\\\'`:\n // eslint-disable-next-line no-useless-escape\n return `\\'`;\n default: {\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\n return String.fromCodePoint(codePoint);\n }\n // invalid ...\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\n return '�';\n }\n }\n}\nfunction createParser(options = {}) {\n const location = options.location !== false;\n const { onError, onWarn } = options;\n function emitError(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onError) {\n const loc = location ? createLocation(start, end) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$2,\n args\n });\n onError(err);\n }\n }\n function emitWarn(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onWarn) {\n const loc = location ? createLocation(start, end) : null;\n onWarn(createCompileWarn(code, loc, args));\n }\n }\n function startNode(type, offset, loc) {\n const node = { type };\n if (location) {\n node.start = offset;\n node.end = offset;\n node.loc = { start: loc, end: loc };\n }\n return node;\n }\n function endNode(node, offset, pos, type) {\n if (type) {\n node.type = type;\n }\n if (location) {\n node.end = offset;\n if (node.loc) {\n node.loc.end = pos;\n }\n }\n }\n function parseText(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseList(tokenizer, index) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(5 /* NodeTypes.List */, offset, loc);\n node.index = parseInt(index, 10);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseNamed(tokenizer, key, modulo) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(4 /* NodeTypes.Named */, offset, loc);\n node.key = key;\n if (modulo === true) {\n node.modulo = true;\n }\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLiteral(tokenizer, value) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(9 /* NodeTypes.Literal */, offset, loc);\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinkedModifier(tokenizer) {\n const token = tokenizer.nextToken();\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\n const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);\n if (token.type !== 12 /* TokenTypes.LinkedModifier */) {\n // empty modifier\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\n node.value = '';\n endNode(node, offset, loc);\n return {\n nextConsumeToken: token,\n node\n };\n }\n // check token\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.value = token.value || '';\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node\n };\n }\n function parseLinkedKey(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinked(tokenizer) {\n const context = tokenizer.context();\n const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);\n let token = tokenizer.nextToken();\n if (token.type === 9 /* TokenTypes.LinkedDot */) {\n const parsed = parseLinkedModifier(tokenizer);\n linkedNode.modifier = parsed.node;\n token = parsed.nextConsumeToken || tokenizer.nextToken();\n }\n // asset check token\n if (token.type !== 10 /* TokenTypes.LinkedDelimiter */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n token = tokenizer.nextToken();\n // skip brace left\n if (token.type === 2 /* TokenTypes.BraceLeft */) {\n token = tokenizer.nextToken();\n }\n switch (token.type) {\n case 11 /* TokenTypes.LinkedKey */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseNamed(tokenizer, token.value || '');\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseList(tokenizer, token.value || '');\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\n break;\n default: {\n // empty key\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\n const nextContext = tokenizer.context();\n const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);\n emptyLinkedKeyNode.value = '';\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\n linkedNode.key = emptyLinkedKeyNode;\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\n return {\n nextConsumeToken: token,\n node: linkedNode\n };\n }\n }\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node: linkedNode\n };\n }\n function parseMessage(tokenizer) {\n const context = tokenizer.context();\n const startOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? tokenizer.currentOffset()\n : context.offset;\n const startLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.endLoc\n : context.startLoc;\n const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);\n node.items = [];\n let nextToken = null;\n let modulo = null;\n do {\n const token = nextToken || tokenizer.nextToken();\n nextToken = null;\n switch (token.type) {\n case 0 /* TokenTypes.Text */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseText(tokenizer, token.value || ''));\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseList(tokenizer, token.value || ''));\n break;\n case 4 /* TokenTypes.Modulo */:\n modulo = true;\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseNamed(tokenizer, token.value || '', !!modulo));\n if (modulo) {\n emitWarn(tokenizer, CompileWarnCodes.USE_MODULO_SYNTAX, context.lastStartLoc, 0, getTokenCaption(token));\n modulo = null;\n }\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseLiteral(tokenizer, token.value || ''));\n break;\n case 8 /* TokenTypes.LinkedAlias */: {\n const parsed = parseLinked(tokenizer);\n node.items.push(parsed.node);\n nextToken = parsed.nextConsumeToken || null;\n break;\n }\n }\n } while (context.currentType !== 14 /* TokenTypes.EOF */ &&\n context.currentType !== 1 /* TokenTypes.Pipe */);\n // adjust message node loc\n const endOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastOffset\n : tokenizer.currentOffset();\n const endLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastEndLoc\n : tokenizer.currentPosition();\n endNode(node, endOffset, endLoc);\n return node;\n }\n function parsePlural(tokenizer, offset, loc, msgNode) {\n const context = tokenizer.context();\n let hasEmptyMessage = msgNode.items.length === 0;\n const node = startNode(1 /* NodeTypes.Plural */, offset, loc);\n node.cases = [];\n node.cases.push(msgNode);\n do {\n const msg = parseMessage(tokenizer);\n if (!hasEmptyMessage) {\n hasEmptyMessage = msg.items.length === 0;\n }\n node.cases.push(msg);\n } while (context.currentType !== 14 /* TokenTypes.EOF */);\n if (hasEmptyMessage) {\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseResource(tokenizer) {\n const context = tokenizer.context();\n const { offset, startLoc } = context;\n const msgNode = parseMessage(tokenizer);\n if (context.currentType === 14 /* TokenTypes.EOF */) {\n return msgNode;\n }\n else {\n return parsePlural(tokenizer, offset, startLoc, msgNode);\n }\n }\n function parse(source) {\n const tokenizer = createTokenizer(source, assign({}, options));\n const context = tokenizer.context();\n const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);\n if (location && node.loc) {\n node.loc.source = source;\n }\n node.body = parseResource(tokenizer);\n if (options.onCacheKey) {\n node.cacheKey = options.onCacheKey(source);\n }\n // assert whether achieved to EOF\n if (context.currentType !== 14 /* TokenTypes.EOF */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n return { parse };\n}\nfunction getTokenCaption(token) {\n if (token.type === 14 /* TokenTypes.EOF */) {\n return 'EOF';\n }\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\n) {\n const _context = {\n ast,\n helpers: new Set()\n };\n const context = () => _context;\n const helper = (name) => {\n _context.helpers.add(name);\n return name;\n };\n return { context, helper };\n}\nfunction traverseNodes(nodes, transformer) {\n for (let i = 0; i < nodes.length; i++) {\n traverseNode(nodes[i], transformer);\n }\n}\nfunction traverseNode(node, transformer) {\n // TODO: if we need pre-hook of transform, should be implemented to here\n switch (node.type) {\n case 1 /* NodeTypes.Plural */:\n traverseNodes(node.cases, transformer);\n transformer.helper(\"plural\" /* HelperNameMap.PLURAL */);\n break;\n case 2 /* NodeTypes.Message */:\n traverseNodes(node.items, transformer);\n break;\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n traverseNode(linked.key, transformer);\n transformer.helper(\"linked\" /* HelperNameMap.LINKED */);\n transformer.helper(\"type\" /* HelperNameMap.TYPE */);\n break;\n }\n case 5 /* NodeTypes.List */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"list\" /* HelperNameMap.LIST */);\n break;\n case 4 /* NodeTypes.Named */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"named\" /* HelperNameMap.NAMED */);\n break;\n }\n // TODO: if we need post-hook of transform, should be implemented to here\n}\n// transform AST\nfunction transform(ast, options = {} // eslint-disable-line\n) {\n const transformer = createTransformer(ast);\n transformer.helper(\"normalize\" /* HelperNameMap.NORMALIZE */);\n // traverse\n ast.body && traverseNode(ast.body, transformer);\n // set meta information\n const context = transformer.context();\n ast.helpers = Array.from(context.helpers);\n}\n\nfunction optimize(ast) {\n const body = ast.body;\n if (body.type === 2 /* NodeTypes.Message */) {\n optimizeMessageNode(body);\n }\n else {\n body.cases.forEach(c => optimizeMessageNode(c));\n }\n return ast;\n}\nfunction optimizeMessageNode(message) {\n if (message.items.length === 1) {\n const item = message.items[0];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n message.static = item.value;\n delete item.value; // optimization for size\n }\n }\n else {\n const values = [];\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (!(item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */)) {\n break;\n }\n if (item.value == null) {\n break;\n }\n values.push(item.value);\n }\n if (values.length === message.items.length) {\n message.static = join(values);\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n delete item.value; // optimization for size\n }\n }\n }\n }\n}\n\nconst ERROR_DOMAIN$1 = 'minifier';\n/* eslint-disable @typescript-eslint/no-explicit-any */\nfunction minify(node) {\n node.t = node.type;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */: {\n const resource = node;\n minify(resource.body);\n resource.b = resource.body;\n delete resource.body;\n break;\n }\n case 1 /* NodeTypes.Plural */: {\n const plural = node;\n const cases = plural.cases;\n for (let i = 0; i < cases.length; i++) {\n minify(cases[i]);\n }\n plural.c = cases;\n delete plural.cases;\n break;\n }\n case 2 /* NodeTypes.Message */: {\n const message = node;\n const items = message.items;\n for (let i = 0; i < items.length; i++) {\n minify(items[i]);\n }\n message.i = items;\n delete message.items;\n if (message.static) {\n message.s = message.static;\n delete message.static;\n }\n break;\n }\n case 3 /* NodeTypes.Text */:\n case 9 /* NodeTypes.Literal */:\n case 8 /* NodeTypes.LinkedModifier */:\n case 7 /* NodeTypes.LinkedKey */: {\n const valueNode = node;\n if (valueNode.value) {\n valueNode.v = valueNode.value;\n delete valueNode.value;\n }\n break;\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n minify(linked.key);\n linked.k = linked.key;\n delete linked.key;\n if (linked.modifier) {\n minify(linked.modifier);\n linked.m = linked.modifier;\n delete linked.modifier;\n }\n break;\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n list.i = list.index;\n delete list.index;\n break;\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n named.k = named.key;\n delete named.key;\n break;\n }\n default:\n if ((process.env.NODE_ENV !== 'production')) {\n throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {\n domain: ERROR_DOMAIN$1,\n args: [node.type]\n });\n }\n }\n delete node.type;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference types=\"source-map-js\" />\nconst ERROR_DOMAIN = 'parser';\nfunction createCodeGenerator(ast, options) {\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\n const location = options.location !== false;\n const _context = {\n filename,\n code: '',\n column: 1,\n line: 1,\n offset: 0,\n map: undefined,\n breakLineCode,\n needIndent: _needIndent,\n indentLevel: 0\n };\n if (location && ast.loc) {\n _context.source = ast.loc.source;\n }\n const context = () => _context;\n function push(code, node) {\n _context.code += code;\n }\n function _newline(n, withBreakLine = true) {\n const _breakLineCode = withBreakLine ? breakLineCode : '';\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\n }\n function indent(withNewLine = true) {\n const level = ++_context.indentLevel;\n withNewLine && _newline(level);\n }\n function deindent(withNewLine = true) {\n const level = --_context.indentLevel;\n withNewLine && _newline(level);\n }\n function newline() {\n _newline(_context.indentLevel);\n }\n const helper = (key) => `_${key}`;\n const needIndent = () => _context.needIndent;\n return {\n context,\n push,\n indent,\n deindent,\n newline,\n helper,\n needIndent\n };\n}\nfunction generateLinkedNode(generator, node) {\n const { helper } = generator;\n generator.push(`${helper(\"linked\" /* HelperNameMap.LINKED */)}(`);\n generateNode(generator, node.key);\n if (node.modifier) {\n generator.push(`, `);\n generateNode(generator, node.modifier);\n generator.push(`, _type`);\n }\n else {\n generator.push(`, undefined, _type`);\n }\n generator.push(`)`);\n}\nfunction generateMessageNode(generator, node) {\n const { helper, needIndent } = generator;\n generator.push(`${helper(\"normalize\" /* HelperNameMap.NORMALIZE */)}([`);\n generator.indent(needIndent());\n const length = node.items.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.items[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push('])');\n}\nfunction generatePluralNode(generator, node) {\n const { helper, needIndent } = generator;\n if (node.cases.length > 1) {\n generator.push(`${helper(\"plural\" /* HelperNameMap.PLURAL */)}([`);\n generator.indent(needIndent());\n const length = node.cases.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.cases[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push(`])`);\n }\n}\nfunction generateResource(generator, node) {\n if (node.body) {\n generateNode(generator, node.body);\n }\n else {\n generator.push('null');\n }\n}\nfunction generateNode(generator, node) {\n const { helper } = generator;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n generateResource(generator, node);\n break;\n case 1 /* NodeTypes.Plural */:\n generatePluralNode(generator, node);\n break;\n case 2 /* NodeTypes.Message */:\n generateMessageNode(generator, node);\n break;\n case 6 /* NodeTypes.Linked */:\n generateLinkedNode(generator, node);\n break;\n case 8 /* NodeTypes.LinkedModifier */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 7 /* NodeTypes.LinkedKey */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 5 /* NodeTypes.List */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"list\" /* HelperNameMap.LIST */)}(${node.index}))`, node);\n break;\n case 4 /* NodeTypes.Named */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"named\" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);\n break;\n case 9 /* NodeTypes.Literal */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 3 /* NodeTypes.Text */:\n generator.push(JSON.stringify(node.value), node);\n break;\n default:\n if ((process.env.NODE_ENV !== 'production')) {\n throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {\n domain: ERROR_DOMAIN,\n args: [node.type]\n });\n }\n }\n}\n// generate code from AST\nconst generate = (ast, options = {} // eslint-disable-line\n) => {\n const mode = isString(options.mode) ? options.mode : 'normal';\n const filename = isString(options.filename)\n ? options.filename\n : 'message.intl';\n const sourceMap = !!options.sourceMap;\n // prettier-ignore\n const breakLineCode = options.breakLineCode != null\n ? options.breakLineCode\n : mode === 'arrow'\n ? ';'\n : '\\n';\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\n const helpers = ast.helpers || [];\n const generator = createCodeGenerator(ast, {\n mode,\n filename,\n sourceMap,\n breakLineCode,\n needIndent\n });\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\n generator.indent(needIndent);\n if (helpers.length > 0) {\n generator.push(`const { ${join(helpers.map(s => `${s}: _${s}`), ', ')} } = ctx`);\n generator.newline();\n }\n generator.push(`return `);\n generateNode(generator, ast);\n generator.deindent(needIndent);\n generator.push(`}`);\n delete ast.helpers;\n const { code, map } = generator.context();\n return {\n ast,\n code,\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\n };\n};\n\nfunction baseCompile(source, options = {}) {\n const assignedOptions = assign({}, options);\n const jit = !!assignedOptions.jit;\n const enalbeMinify = !!assignedOptions.minify;\n const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;\n // parse source codes\n const parser = createParser(assignedOptions);\n const ast = parser.parse(source);\n if (!jit) {\n // transform ASTs\n transform(ast, assignedOptions);\n // generate javascript codes\n return generate(ast, assignedOptions);\n }\n else {\n // optimize ASTs\n enambeOptimize && optimize(ast);\n // minimize ASTs\n enalbeMinify && minify(ast);\n // In JIT mode, no ast transform, no code generation.\n return { ast, code: '' };\n }\n}\n\nexport { CompileErrorCodes, CompileWarnCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createCompileWarn, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages, warnMessages };\n","/*!\n * core-base v9.14.0\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, isObject, isFunction, isString, isNumber, isPlainObject, assign, join, toDisplayString, isArray, incrementer, format as format$1, isPromise, isBoolean, warn, isRegExp, warnOnce, escapeHtml, inBrowser, mark, measure, isEmptyObject, generateCodeFrame, generateFormatCacheKey, isDate } from '@intlify/shared';\nimport { CompileWarnCodes, CompileErrorCodes, createCompileError, detectHtmlTag, defaultOnError, baseCompile as baseCompile$1 } from '@intlify/message-compiler';\nexport { CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\n\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n if (typeof __INTLIFY_JIT_COMPILATION__ !== 'boolean') {\n getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n}\n\nconst pathStateMachine = [];\npathStateMachine[0 /* States.BEFORE_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [0 /* States.BEFORE_PATH */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[1 /* States.IN_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[2 /* States.BEFORE_IDENT */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [2 /* States.BEFORE_IDENT */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */]\n};\npathStateMachine[3 /* States.IN_IDENT */] = {\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */, 1 /* Actions.PUSH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */, 1 /* Actions.PUSH */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */, 1 /* Actions.PUSH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */, 1 /* Actions.PUSH */]\n};\npathStateMachine[4 /* States.IN_SUB_PATH */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [\n 4 /* States.IN_SUB_PATH */,\n 2 /* Actions.INC_SUB_PATH_DEPTH */\n ],\n [\"]\" /* PathCharTypes.RIGHT_BRACKET */]: [1 /* States.IN_PATH */, 3 /* Actions.PUSH_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */]\n};\npathStateMachine[5 /* States.IN_SINGLE_QUOTE */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */]\n};\npathStateMachine[6 /* States.IN_DOUBLE_QUOTE */] = {\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */]\n};\n/**\n * Check if an expression is a literal value.\n */\nconst literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral(exp) {\n return literalValueRE.test(exp);\n}\n/**\n * Strip quotes from a string\n */\nfunction stripQuotes(str) {\n const a = str.charCodeAt(0);\n const b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\n}\n/**\n * Determine the type of a character in a keypath.\n */\nfunction getPathCharType(ch) {\n if (ch === undefined || ch === null) {\n return \"o\" /* PathCharTypes.END_OF_FAIL */;\n }\n const code = ch.charCodeAt(0);\n switch (code) {\n case 0x5b: // [\n case 0x5d: // ]\n case 0x2e: // .\n case 0x22: // \"\n case 0x27: // '\n return ch;\n case 0x5f: // _\n case 0x24: // $\n case 0x2d: // -\n return \"i\" /* PathCharTypes.IDENT */;\n case 0x09: // Tab (HT)\n case 0x0a: // Newline (LF)\n case 0x0d: // Return (CR)\n case 0xa0: // No-break space (NBSP)\n case 0xfeff: // Byte Order Mark (BOM)\n case 0x2028: // Line Separator (LS)\n case 0x2029: // Paragraph Separator (PS)\n return \"w\" /* PathCharTypes.WORKSPACE */;\n }\n return \"i\" /* PathCharTypes.IDENT */;\n}\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\nfunction formatSubPath(path) {\n const trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(parseInt(path))) {\n return false;\n }\n return isLiteral(trimmed)\n ? stripQuotes(trimmed)\n : \"*\" /* PathCharTypes.ASTARISK */ + trimmed;\n}\n/**\n * Parse a string path into an array of segments\n */\nfunction parse(path) {\n const keys = [];\n let index = -1;\n let mode = 0 /* States.BEFORE_PATH */;\n let subPathDepth = 0;\n let c;\n let key; // eslint-disable-line\n let newChar;\n let type;\n let transition;\n let action;\n let typeMap;\n const actions = [];\n actions[0 /* Actions.APPEND */] = () => {\n if (key === undefined) {\n key = newChar;\n }\n else {\n key += newChar;\n }\n };\n actions[1 /* Actions.PUSH */] = () => {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n actions[2 /* Actions.INC_SUB_PATH_DEPTH */] = () => {\n actions[0 /* Actions.APPEND */]();\n subPathDepth++;\n };\n actions[3 /* Actions.PUSH_SUB_PATH */] = () => {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = 4 /* States.IN_SUB_PATH */;\n actions[0 /* Actions.APPEND */]();\n }\n else {\n subPathDepth = 0;\n if (key === undefined) {\n return false;\n }\n key = formatSubPath(key);\n if (key === false) {\n return false;\n }\n else {\n actions[1 /* Actions.PUSH */]();\n }\n }\n };\n function maybeUnescapeQuote() {\n const nextChar = path[index + 1];\n if ((mode === 5 /* States.IN_SINGLE_QUOTE */ &&\n nextChar === \"'\" /* PathCharTypes.SINGLE_QUOTE */) ||\n (mode === 6 /* States.IN_DOUBLE_QUOTE */ &&\n nextChar === \"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */)) {\n index++;\n newChar = '\\\\' + nextChar;\n actions[0 /* Actions.APPEND */]();\n return true;\n }\n }\n while (mode !== null) {\n index++;\n c = path[index];\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue;\n }\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap[\"l\" /* PathCharTypes.ELSE */] || 8 /* States.ERROR */;\n // check parse error\n if (transition === 8 /* States.ERROR */) {\n return;\n }\n mode = transition[0];\n if (transition[1] !== undefined) {\n action = actions[transition[1]];\n if (action) {\n newChar = c;\n if (action() === false) {\n return;\n }\n }\n }\n // check parse finish\n if (mode === 7 /* States.AFTER_PATH */) {\n return keys;\n }\n }\n}\n// path token cache\nconst cache = new Map();\n/**\n * key-value message resolver\n *\n * @remarks\n * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveWithKeyValue(obj, path) {\n return isObject(obj) ? obj[path] : null;\n}\n/**\n * message resolver\n *\n * @remarks\n * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveValue(obj, path) {\n // check object\n if (!isObject(obj)) {\n return null;\n }\n // parse path\n let hit = cache.get(path);\n if (!hit) {\n hit = parse(path);\n if (hit) {\n cache.set(path, hit);\n }\n }\n // check hit\n if (!hit) {\n return null;\n }\n // resolve path value\n const len = hit.length;\n let last = obj;\n let i = 0;\n while (i < len) {\n const val = last[hit[i]];\n if (val === undefined) {\n return null;\n }\n if (isFunction(last)) {\n return null;\n }\n last = val;\n i++;\n }\n return last;\n}\n\nconst DEFAULT_MODIFIER = (str) => str;\nconst DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line\nconst DEFAULT_MESSAGE_DATA_TYPE = 'text';\nconst DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : join(values);\nconst DEFAULT_INTERPOLATE = toDisplayString;\nfunction pluralDefault(choice, choicesLength) {\n choice = Math.abs(choice);\n if (choicesLength === 2) {\n // prettier-ignore\n return choice\n ? choice > 1\n ? 1\n : 0\n : 1;\n }\n return choice ? Math.min(choice, 2) : 0;\n}\nfunction getPluralIndex(options) {\n // prettier-ignore\n const index = isNumber(options.pluralIndex)\n ? options.pluralIndex\n : -1;\n // prettier-ignore\n return options.named && (isNumber(options.named.count) || isNumber(options.named.n))\n ? isNumber(options.named.count)\n ? options.named.count\n : isNumber(options.named.n)\n ? options.named.n\n : index\n : index;\n}\nfunction normalizeNamed(pluralIndex, props) {\n if (!props.count) {\n props.count = pluralIndex;\n }\n if (!props.n) {\n props.n = pluralIndex;\n }\n}\nfunction createMessageContext(options = {}) {\n const locale = options.locale;\n const pluralIndex = getPluralIndex(options);\n const pluralRule = isObject(options.pluralRules) &&\n isString(locale) &&\n isFunction(options.pluralRules[locale])\n ? options.pluralRules[locale]\n : pluralDefault;\n const orgPluralRule = isObject(options.pluralRules) &&\n isString(locale) &&\n isFunction(options.pluralRules[locale])\n ? pluralDefault\n : undefined;\n const plural = (messages) => {\n return messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\n };\n const _list = options.list || [];\n const list = (index) => _list[index];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _named = options.named || {};\n isNumber(options.pluralIndex) && normalizeNamed(pluralIndex, _named);\n const named = (key) => _named[key];\n function message(key) {\n // prettier-ignore\n const msg = isFunction(options.messages)\n ? options.messages(key)\n : isObject(options.messages)\n ? options.messages[key]\n : false;\n return !msg\n ? options.parent\n ? options.parent.message(key) // resolve from parent messages\n : DEFAULT_MESSAGE\n : msg;\n }\n const _modifier = (name) => options.modifiers\n ? options.modifiers[name]\n : DEFAULT_MODIFIER;\n const normalize = isPlainObject(options.processor) && isFunction(options.processor.normalize)\n ? options.processor.normalize\n : DEFAULT_NORMALIZE;\n const interpolate = isPlainObject(options.processor) &&\n isFunction(options.processor.interpolate)\n ? options.processor.interpolate\n : DEFAULT_INTERPOLATE;\n const type = isPlainObject(options.processor) && isString(options.processor.type)\n ? options.processor.type\n : DEFAULT_MESSAGE_DATA_TYPE;\n const linked = (key, ...args) => {\n const [arg1, arg2] = args;\n let type = 'text';\n let modifier = '';\n if (args.length === 1) {\n if (isObject(arg1)) {\n modifier = arg1.modifier || modifier;\n type = arg1.type || type;\n }\n else if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n }\n else if (args.length === 2) {\n if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n if (isString(arg2)) {\n type = arg2 || type;\n }\n }\n const ret = message(key)(ctx);\n const msg = \n // The message in vnode resolved with linked are returned as an array by processor.nomalize\n type === 'vnode' && isArray(ret) && modifier\n ? ret[0]\n : ret;\n return modifier ? _modifier(modifier)(msg, type) : msg;\n };\n const ctx = {\n [\"list\" /* HelperNameMap.LIST */]: list,\n [\"named\" /* HelperNameMap.NAMED */]: named,\n [\"plural\" /* HelperNameMap.PLURAL */]: plural,\n [\"linked\" /* HelperNameMap.LINKED */]: linked,\n [\"message\" /* HelperNameMap.MESSAGE */]: message,\n [\"type\" /* HelperNameMap.TYPE */]: type,\n [\"interpolate\" /* HelperNameMap.INTERPOLATE */]: interpolate,\n [\"normalize\" /* HelperNameMap.NORMALIZE */]: normalize,\n [\"values\" /* HelperNameMap.VALUES */]: assign({}, _list, _named)\n };\n return ctx;\n}\n\nlet devtools = null;\nfunction setDevToolsHook(hook) {\n devtools = hook;\n}\nfunction getDevToolsHook() {\n return devtools;\n}\nfunction initI18nDevTools(i18n, version, meta) {\n // TODO: queue if devtools is undefined\n devtools &&\n devtools.emit(\"i18n:init\" /* IntlifyDevToolsHooks.I18nInit */, {\n timestamp: Date.now(),\n i18n,\n version,\n meta\n });\n}\nconst translateDevTools = /* #__PURE__*/ createDevToolsHook(\"function:translate\" /* IntlifyDevToolsHooks.FunctionTranslate */);\nfunction createDevToolsHook(hook) {\n return (payloads) => devtools && devtools.emit(hook, payloads);\n}\n\nconst code$1 = CompileWarnCodes.__EXTEND_POINT__;\nconst inc$1 = incrementer(code$1);\nconst CoreWarnCodes = {\n NOT_FOUND_KEY: code$1, // 2\n FALLBACK_TO_TRANSLATE: inc$1(), // 3\n CANNOT_FORMAT_NUMBER: inc$1(), // 4\n FALLBACK_TO_NUMBER_FORMAT: inc$1(), // 5\n CANNOT_FORMAT_DATE: inc$1(), // 6\n FALLBACK_TO_DATE_FORMAT: inc$1(), // 7\n EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: inc$1(), // 8\n __EXTEND_POINT__: inc$1() // 9\n};\n/** @internal */\nconst warnMessages = {\n [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,\n [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\n [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\n [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]: `This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`\n};\nfunction getWarnMessage(code, ...args) {\n return format$1(warnMessages[code], ...args);\n}\n\nconst code = CompileErrorCodes.__EXTEND_POINT__;\nconst inc = incrementer(code);\nconst CoreErrorCodes = {\n INVALID_ARGUMENT: code, // 17\n INVALID_DATE_ARGUMENT: inc(), // 18\n INVALID_ISO_DATE_ARGUMENT: inc(), // 19\n NOT_SUPPORT_NON_STRING_MESSAGE: inc(), // 20\n NOT_SUPPORT_LOCALE_PROMISE_VALUE: inc(), // 21\n NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: inc(), // 22\n NOT_SUPPORT_LOCALE_TYPE: inc(), // 23\n __EXTEND_POINT__: inc() // 24\n};\nfunction createCoreError(code) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages } : undefined);\n}\n/** @internal */\nconst errorMessages = {\n [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',\n [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +\n 'Make sure your Date represents a valid date.',\n [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string',\n [CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE]: 'Not support non-string message',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE]: 'cannot support promise value',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION]: 'cannot support async function',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE]: 'cannot support locale type'\n};\n\n/** @internal */\nfunction getLocale(context, options) {\n return options.locale != null\n ? resolveLocale(options.locale)\n : resolveLocale(context.locale);\n}\nlet _resolveLocale;\n/** @internal */\nfunction resolveLocale(locale) {\n if (isString(locale)) {\n return locale;\n }\n else {\n if (isFunction(locale)) {\n if (locale.resolvedOnce && _resolveLocale != null) {\n return _resolveLocale;\n }\n else if (locale.constructor.name === 'Function') {\n const resolve = locale();\n if (isPromise(resolve)) {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);\n }\n return (_resolveLocale = resolve);\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION);\n }\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE);\n }\n }\n}\n/**\n * Fallback with simple implemenation\n *\n * @remarks\n * A fallback locale function implemented with a simple fallback algorithm.\n *\n * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithSimple(ctx, fallback, start // eslint-disable-line @typescript-eslint/no-unused-vars\n) {\n // prettier-ignore\n return [...new Set([\n start,\n ...(isArray(fallback)\n ? fallback\n : isObject(fallback)\n ? Object.keys(fallback)\n : isString(fallback)\n ? [fallback]\n : [start])\n ])];\n}\n/**\n * Fallback with locale chain\n *\n * @remarks\n * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nSee [Fallbacking](../guide/essentials/fallback)\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithLocaleChain(ctx, fallback, start) {\n const startLocale = isString(start) ? start : DEFAULT_LOCALE;\n const context = ctx;\n if (!context.__localeChainCache) {\n context.__localeChainCache = new Map();\n }\n let chain = context.__localeChainCache.get(startLocale);\n if (!chain) {\n chain = [];\n // first block defined by start\n let block = [start];\n // while any intervening block found\n while (isArray(block)) {\n block = appendBlockToChain(chain, block, fallback);\n }\n // prettier-ignore\n // last block defined by default\n const defaults = isArray(fallback) || !isPlainObject(fallback)\n ? fallback\n : fallback['default']\n ? fallback['default']\n : null;\n // convert defaults to array\n block = isString(defaults) ? [defaults] : defaults;\n if (isArray(block)) {\n appendBlockToChain(chain, block, false);\n }\n context.__localeChainCache.set(startLocale, chain);\n }\n return chain;\n}\nfunction appendBlockToChain(chain, block, blocks) {\n let follow = true;\n for (let i = 0; i < block.length && isBoolean(follow); i++) {\n const locale = block[i];\n if (isString(locale)) {\n follow = appendLocaleToChain(chain, block[i], blocks);\n }\n }\n return follow;\n}\nfunction appendLocaleToChain(chain, locale, blocks) {\n let follow;\n const tokens = locale.split('-');\n do {\n const target = tokens.join('-');\n follow = appendItemToChain(chain, target, blocks);\n tokens.splice(-1, 1);\n } while (tokens.length && follow === true);\n return follow;\n}\nfunction appendItemToChain(chain, target, blocks) {\n let follow = false;\n if (!chain.includes(target)) {\n follow = true;\n if (target) {\n follow = target[target.length - 1] !== '!';\n const locale = target.replace(/!/g, '');\n chain.push(locale);\n if ((isArray(blocks) || isPlainObject(blocks)) &&\n blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n follow = blocks[locale];\n }\n }\n }\n return follow;\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Intlify core-base version\n * @internal\n */\nconst VERSION = '9.14.0';\nconst NOT_REOSLVED = -1;\nconst DEFAULT_LOCALE = 'en-US';\nconst MISSING_RESOLVE_VALUE = '';\nconst capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;\nfunction getDefaultLinkedModifiers() {\n return {\n upper: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toUpperCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toUpperCase()\n : val;\n },\n lower: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toLowerCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toLowerCase()\n : val;\n },\n capitalize: (val, type) => {\n // prettier-ignore\n return (type === 'text' && isString(val)\n ? capitalize(val)\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? capitalize(val.children)\n : val);\n }\n };\n}\nlet _compiler;\nfunction registerMessageCompiler(compiler) {\n _compiler = compiler;\n}\nlet _resolver;\n/**\n * Register the message resolver\n *\n * @param resolver - A {@link MessageResolver} function\n *\n * @VueI18nGeneral\n */\nfunction registerMessageResolver(resolver) {\n _resolver = resolver;\n}\nlet _fallbacker;\n/**\n * Register the locale fallbacker\n *\n * @param fallbacker - A {@link LocaleFallbacker} function\n *\n * @VueI18nGeneral\n */\nfunction registerLocaleFallbacker(fallbacker) {\n _fallbacker = fallbacker;\n}\n// Additional Meta for Intlify DevTools\nlet _additionalMeta = null;\n/* #__NO_SIDE_EFFECTS__ */\nconst setAdditionalMeta = (meta) => {\n _additionalMeta = meta;\n};\n/* #__NO_SIDE_EFFECTS__ */\nconst getAdditionalMeta = () => _additionalMeta;\nlet _fallbackContext = null;\nconst setFallbackContext = (context) => {\n _fallbackContext = context;\n};\nconst getFallbackContext = () => _fallbackContext;\n// ID for CoreContext\nlet _cid = 0;\nfunction createCoreContext(options = {}) {\n // setup options\n const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;\n const version = isString(options.version) ? options.version : VERSION;\n const locale = isString(options.locale) || isFunction(options.locale)\n ? options.locale\n : DEFAULT_LOCALE;\n const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;\n const fallbackLocale = isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n isString(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale;\n const messages = isPlainObject(options.messages)\n ? options.messages\n : { [_locale]: {} };\n const datetimeFormats = isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale]: {} }\n ;\n const numberFormats = isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale]: {} }\n ;\n const modifiers = assign({}, options.modifiers || {}, getDefaultLinkedModifiers());\n const pluralRules = options.pluralRules || {};\n const missing = isFunction(options.missing) ? options.missing : null;\n const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n const fallbackFormat = !!options.fallbackFormat;\n const unresolving = !!options.unresolving;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n const processor = isPlainObject(options.processor) ? options.processor : null;\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n const escapeParameter = !!options.escapeParameter;\n const messageCompiler = isFunction(options.messageCompiler)\n ? options.messageCompiler\n : _compiler;\n if ((process.env.NODE_ENV !== 'production') &&\n !false &&\n !false &&\n isFunction(options.messageCompiler)) {\n warnOnce(getWarnMessage(CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER));\n }\n const messageResolver = isFunction(options.messageResolver)\n ? options.messageResolver\n : _resolver || resolveWithKeyValue;\n const localeFallbacker = isFunction(options.localeFallbacker)\n ? options.localeFallbacker\n : _fallbacker || fallbackWithSimple;\n const fallbackContext = isObject(options.fallbackContext)\n ? options.fallbackContext\n : undefined;\n // setup internal options\n const internalOptions = options;\n const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)\n ? internalOptions.__datetimeFormatters\n : new Map()\n ;\n const __numberFormatters = isObject(internalOptions.__numberFormatters)\n ? internalOptions.__numberFormatters\n : new Map()\n ;\n const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};\n _cid++;\n const context = {\n version,\n cid: _cid,\n locale,\n fallbackLocale,\n messages,\n modifiers,\n pluralRules,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackFormat,\n unresolving,\n postTranslation,\n processor,\n warnHtmlMessage,\n escapeParameter,\n messageCompiler,\n messageResolver,\n localeFallbacker,\n fallbackContext,\n onWarn,\n __meta\n };\n {\n context.datetimeFormats = datetimeFormats;\n context.numberFormats = numberFormats;\n context.__datetimeFormatters = __datetimeFormatters;\n context.__numberFormatters = __numberFormatters;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n context.__v_emitter =\n internalOptions.__v_emitter != null\n ? internalOptions.__v_emitter\n : undefined;\n }\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n initI18nDevTools(context, version, __meta);\n }\n return context;\n}\n/** @internal */\nfunction isTranslateFallbackWarn(fallback, key) {\n return fallback instanceof RegExp ? fallback.test(key) : fallback;\n}\n/** @internal */\nfunction isTranslateMissingWarn(missing, key) {\n return missing instanceof RegExp ? missing.test(key) : missing;\n}\n/** @internal */\nfunction handleMissing(context, key, locale, missingWarn, type) {\n const { missing, onWarn } = context;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"missing\" /* VueDevToolsTimelineEvents.MISSING */, {\n locale,\n key,\n type,\n groupId: `${type}:${key}`\n });\n }\n }\n if (missing !== null) {\n const ret = missing(context, locale, key, type);\n return isString(ret) ? ret : key;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && isTranslateMissingWarn(missingWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));\n }\n return key;\n }\n}\n/** @internal */\nfunction updateFallbackLocale(ctx, locale, fallback) {\n const context = ctx;\n context.__localeChainCache = new Map();\n ctx.localeFallbacker(ctx, fallback, locale);\n}\n/** @internal */\nfunction isAlmostSameLocale(locale, compareLocale) {\n if (locale === compareLocale)\n return false;\n return locale.split('-')[0] === compareLocale.split('-')[0];\n}\n/** @internal */\nfunction isImplicitFallback(targetLocale, locales) {\n const index = locales.indexOf(targetLocale);\n if (index === -1) {\n return false;\n }\n for (let i = index + 1; i < locales.length; i++) {\n if (isAlmostSameLocale(targetLocale, locales[i])) {\n return true;\n }\n }\n return false;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nfunction format(ast) {\n const msg = (ctx) => formatParts(ctx, ast);\n return msg;\n}\nfunction formatParts(ctx, ast) {\n const body = ast.b || ast.body;\n if ((body.t || body.type) === 1 /* NodeTypes.Plural */) {\n const plural = body;\n const cases = plural.c || plural.cases;\n return ctx.plural(cases.reduce((messages, c) => [\n ...messages,\n formatMessageParts(ctx, c)\n ], []));\n }\n else {\n return formatMessageParts(ctx, body);\n }\n}\nfunction formatMessageParts(ctx, node) {\n const _static = node.s || node.static;\n if (_static) {\n return ctx.type === 'text'\n ? _static\n : ctx.normalize([_static]);\n }\n else {\n const messages = (node.i || node.items).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []);\n return ctx.normalize(messages);\n }\n}\nfunction formatMessagePart(ctx, node) {\n const type = node.t || node.type;\n switch (type) {\n case 3 /* NodeTypes.Text */: {\n const text = node;\n return (text.v || text.value);\n }\n case 9 /* NodeTypes.Literal */: {\n const literal = node;\n return (literal.v || literal.value);\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n return ctx.interpolate(ctx.named(named.k || named.key));\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n return ctx.interpolate(ctx.list(list.i != null ? list.i : list.index));\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n const modifier = linked.m || linked.modifier;\n return ctx.linked(formatMessagePart(ctx, linked.k || linked.key), modifier ? formatMessagePart(ctx, modifier) : undefined, ctx.type);\n }\n case 7 /* NodeTypes.LinkedKey */: {\n const linkedKey = node;\n return (linkedKey.v || linkedKey.value);\n }\n case 8 /* NodeTypes.LinkedModifier */: {\n const linkedModifier = node;\n return (linkedModifier.v || linkedModifier.value);\n }\n default:\n throw new Error(`unhandled node type on format message part: ${type}`);\n }\n}\n\nconst WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;\nfunction checkHtmlMessage(source, warnHtmlMessage) {\n if (warnHtmlMessage && detectHtmlTag(source)) {\n warn(format$1(WARN_MESSAGE, { source }));\n }\n}\nconst defaultOnCacheKey = (message) => message;\nlet compileCache = Object.create(null);\nfunction onCompileWarn(_warn) {\n if (_warn.code === CompileWarnCodes.USE_MODULO_SYNTAX) {\n warn(`The use of named interpolation with modulo syntax is deprecated. ` +\n `It will be removed in v10.\\n` +\n `reference: https://vue-i18n.intlify.dev/guide/essentials/syntax#rails-i18n-format \\n` +\n `(message compiler warning message: ${_warn.message})`);\n }\n}\nfunction clearCompileCache() {\n compileCache = Object.create(null);\n}\nconst isMessageAST = (val) => isObject(val) &&\n (val.t === 0 || val.type === 0) &&\n ('b' in val || 'body' in val);\nfunction baseCompile(message, options = {}) {\n // error detecting on compile\n let detectError = false;\n const onError = options.onError || defaultOnError;\n options.onError = (err) => {\n detectError = true;\n onError(err);\n };\n // compile with mesasge-compiler\n return { ...baseCompile$1(message, options), detectError };\n}\n/* #__NO_SIDE_EFFECTS__ */\nconst compileToFunction = (message, context) => {\n if (!isString(message)) {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE);\n }\n // set onWarn\n if ((process.env.NODE_ENV !== 'production')) {\n context.onWarn = onCompileWarn;\n }\n {\n // check HTML message\n const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n ? context.warnHtmlMessage\n : true;\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n // check caches\n const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n const cacheKey = onCacheKey(message);\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compile\n const { code, detectError } = baseCompile(message, context);\n // evaluate function\n const msg = new Function(`return ${code}`)();\n // if occurred compile error, don't cache\n return !detectError\n ? (compileCache[cacheKey] = msg)\n : msg;\n }\n};\nfunction compile(message, context) {\n // set onWarn\n if ((process.env.NODE_ENV !== 'production')) {\n context.onWarn = onCompileWarn;\n }\n if (((__INTLIFY_JIT_COMPILATION__ && !__INTLIFY_DROP_MESSAGE_COMPILER__)) &&\n isString(message)) {\n // check HTML message\n const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n ? context.warnHtmlMessage\n : true;\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n // check caches\n const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n const cacheKey = onCacheKey(message);\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compile with JIT mode\n const { ast, detectError } = baseCompile(message, {\n ...context,\n location: (process.env.NODE_ENV !== 'production'),\n jit: true\n });\n // compose message function from AST\n const msg = format(ast);\n // if occurred compile error, don't cache\n return !detectError\n ? (compileCache[cacheKey] = msg)\n : msg;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && !isMessageAST(message)) {\n warn(`the message that is resolve with key '${context.key}' is not supported for jit compilation`);\n return (() => message);\n }\n // AST case (passed from bundler)\n const cacheKey = message.cacheKey;\n if (cacheKey) {\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compose message function from message (AST)\n return (compileCache[cacheKey] =\n format(message));\n }\n else {\n return format(message);\n }\n }\n}\n\nconst NOOP_MESSAGE_FUNCTION = () => '';\nconst isMessageFunction = (val) => isFunction(val);\n// implementation of `translate` function\nfunction translate(context, ...args) {\n const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;\n const [key, options] = parseTranslateArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const escapeParameter = isBoolean(options.escapeParameter)\n ? options.escapeParameter\n : context.escapeParameter;\n const resolvedMessage = !!options.resolvedMessage;\n // prettier-ignore\n const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option\n ? !isBoolean(options.default)\n ? options.default\n : (!messageCompiler ? () => key : key)\n : fallbackFormat // default by `fallbackFormat` option\n ? (!messageCompiler ? () => key : key)\n : '';\n const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== '';\n const locale = getLocale(context, options);\n // escape params\n escapeParameter && escapeParams(options);\n // resolve message format\n // eslint-disable-next-line prefer-const\n let [formatScope, targetLocale, message] = !resolvedMessage\n ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)\n : [\n key,\n locale,\n messages[locale] || {}\n ];\n // NOTE:\n // Fix to work around `ssrTransfrom` bug in Vite.\n // https://github.com/vitejs/vite/issues/4306\n // To get around this, use temporary variables.\n // https://github.com/nuxt/framework/issues/1461#issuecomment-954606243\n let format = formatScope;\n // if you use default message, set it as message format!\n let cacheBaseKey = key;\n if (!resolvedMessage &&\n !(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format))) {\n if (enableDefaultMsg) {\n format = defaultMsgOrKey;\n cacheBaseKey = format;\n }\n }\n // checking message format and target locale\n if (!resolvedMessage &&\n (!(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format)) ||\n !isString(targetLocale))) {\n return unresolving ? NOT_REOSLVED : key;\n }\n // TODO: refactor\n if ((process.env.NODE_ENV !== 'production') && isString(format) && context.messageCompiler == null) {\n warn(`The message format compilation is not supported in this build. ` +\n `Because message compiler isn't included. ` +\n `You need to pre-compilation all message format. ` +\n `So translate function return '${key}'.`);\n return key;\n }\n // setup compile error detecting\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n // compile message format\n const msg = !isMessageFunction(format)\n ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError)\n : format;\n // if occurred compile error, return the message format\n if (occurred) {\n return format;\n }\n // evaluate message with context\n const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);\n const msgContext = createMessageContext(ctxOptions);\n const messaged = evaluateMessage(context, msg, msgContext);\n // if use post translation option, proceed it with handler\n const ret = postTranslation\n ? postTranslation(messaged, key)\n : messaged;\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n // prettier-ignore\n const payloads = {\n timestamp: Date.now(),\n key: isString(key)\n ? key\n : isMessageFunction(format)\n ? format.key\n : '',\n locale: targetLocale || (isMessageFunction(format)\n ? format.locale\n : ''),\n format: isString(format)\n ? format\n : isMessageFunction(format)\n ? format.source\n : '',\n message: ret\n };\n payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});\n translateDevTools(payloads);\n }\n return ret;\n}\nfunction escapeParams(options) {\n if (isArray(options.list)) {\n options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);\n }\n else if (isObject(options.named)) {\n Object.keys(options.named).forEach(key => {\n if (isString(options.named[key])) {\n options.named[key] = escapeHtml(options.named[key]);\n }\n });\n }\n}\nfunction resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {\n const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;\n const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any\n let message = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'translate';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n !isAlmostSameLocale(locale, targetLocale) &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n message =\n messages[targetLocale] || {};\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-resolve-start';\n endTag = 'intlify-message-resolve-end';\n mark && mark(startTag);\n }\n if ((format = resolveValue(message, key)) === null) {\n // if null, resolve with object key path\n format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start && format) {\n emitter.emit(\"message-resolve\" /* VueDevToolsTimelineEvents.MESSAGE_RESOLVE */, {\n type: \"message-resolve\" /* VueDevToolsTimelineEvents.MESSAGE_RESOLVE */,\n key,\n message: format,\n time: end - start,\n groupId: `${type}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message resolve', startTag, endTag);\n }\n }\n if (isString(format) || isMessageAST(format) || isMessageFunction(format)) {\n break;\n }\n if (!isImplicitFallback(targetLocale, locales)) {\n const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n key, targetLocale, missingWarn, type);\n if (missingRet !== key) {\n format = missingRet;\n }\n }\n from = to;\n }\n return [format, targetLocale, message];\n}\nfunction compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError) {\n const { messageCompiler, warnHtmlMessage } = context;\n if (isMessageFunction(format)) {\n const msg = format;\n msg.locale = msg.locale || targetLocale;\n msg.key = msg.key || key;\n return msg;\n }\n if (messageCompiler == null) {\n const msg = (() => format);\n msg.locale = targetLocale;\n msg.key = key;\n return msg;\n }\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-compilation-start';\n endTag = 'intlify-message-compilation-end';\n mark && mark(startTag);\n }\n const msg = messageCompiler(format, getCompileContext(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, onError));\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start) {\n emitter.emit(\"message-compilation\" /* VueDevToolsTimelineEvents.MESSAGE_COMPILATION */, {\n type: \"message-compilation\" /* VueDevToolsTimelineEvents.MESSAGE_COMPILATION */,\n message: format,\n time: end - start,\n groupId: `${'translate'}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message compilation', startTag, endTag);\n }\n }\n msg.locale = targetLocale;\n msg.key = key;\n msg.source = format;\n return msg;\n}\nfunction evaluateMessage(context, msg, msgCtx) {\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-evaluation-start';\n endTag = 'intlify-message-evaluation-end';\n mark && mark(startTag);\n }\n const messaged = msg(msgCtx);\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start) {\n emitter.emit(\"message-evaluation\" /* VueDevToolsTimelineEvents.MESSAGE_EVALUATION */, {\n type: \"message-evaluation\" /* VueDevToolsTimelineEvents.MESSAGE_EVALUATION */,\n value: messaged,\n time: end - start,\n groupId: `${'translate'}:${msg.key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message evaluation', startTag, endTag);\n }\n }\n return messaged;\n}\n/** @internal */\nfunction parseTranslateArgs(...args) {\n const [arg1, arg2, arg3] = args;\n const options = {};\n if (!isString(arg1) &&\n !isNumber(arg1) &&\n !isMessageFunction(arg1) &&\n !isMessageAST(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n // prettier-ignore\n const key = isNumber(arg1)\n ? String(arg1)\n : isMessageFunction(arg1)\n ? arg1\n : arg1;\n if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isString(arg2)) {\n options.default = arg2;\n }\n else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {\n options.named = arg2;\n }\n else if (isArray(arg2)) {\n options.list = arg2;\n }\n if (isNumber(arg3)) {\n options.plural = arg3;\n }\n else if (isString(arg3)) {\n options.default = arg3;\n }\n else if (isPlainObject(arg3)) {\n assign(options, arg3);\n }\n return [key, options];\n}\nfunction getCompileContext(context, locale, key, source, warnHtmlMessage, onError) {\n return {\n locale,\n key,\n warnHtmlMessage,\n onError: (err) => {\n onError && onError(err);\n if ((process.env.NODE_ENV !== 'production')) {\n const _source = getSourceForCodeFrame(source);\n const message = `Message compilation error: ${err.message}`;\n const codeFrame = err.location &&\n _source &&\n generateCodeFrame(_source, err.location.start.offset, err.location.end.offset);\n const emitter = context.__v_emitter;\n if (emitter && _source) {\n emitter.emit(\"compile-error\" /* VueDevToolsTimelineEvents.COMPILE_ERROR */, {\n message: _source,\n error: err.message,\n start: err.location && err.location.start.offset,\n end: err.location && err.location.end.offset,\n groupId: `${'translate'}:${key}`\n });\n }\n console.error(codeFrame ? `${message}\\n${codeFrame}` : message);\n }\n else {\n throw err;\n }\n },\n onCacheKey: (source) => generateFormatCacheKey(locale, key, source)\n };\n}\nfunction getSourceForCodeFrame(source) {\n if (isString(source)) {\n return source;\n }\n else {\n if (source.loc && source.loc.source) {\n return source.loc.source;\n }\n }\n}\nfunction getMessageContextOptions(context, locale, message, options) {\n const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;\n const resolveMessage = (key) => {\n let val = resolveValue(message, key);\n // fallback to root context\n if (val == null && fallbackContext) {\n const [, , message] = resolveMessageFormat(fallbackContext, key, locale, fallbackLocale, fallbackWarn, missingWarn);\n val = resolveValue(message, key);\n }\n if (isString(val) || isMessageAST(val)) {\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n const msg = compileMessageFormat(context, key, locale, val, key, onError);\n return !occurred\n ? msg\n : NOOP_MESSAGE_FUNCTION;\n }\n else if (isMessageFunction(val)) {\n return val;\n }\n else {\n // TODO: should be implemented warning message\n return NOOP_MESSAGE_FUNCTION;\n }\n };\n const ctxOptions = {\n locale,\n modifiers,\n pluralRules,\n messages: resolveMessage\n };\n if (context.processor) {\n ctxOptions.processor = context.processor;\n }\n if (options.list) {\n ctxOptions.list = options.list;\n }\n if (options.named) {\n ctxOptions.named = options.named;\n }\n if (isNumber(options.plural)) {\n ctxOptions.pluralIndex = options.plural;\n }\n return ctxOptions;\n}\n\nconst intlDefined = typeof Intl !== 'undefined';\nconst Availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n};\n\n// implementation of `datetime` function\nfunction datetime(context, ...args) {\n const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __datetimeFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_DATE));\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseDateTimeArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.DateTimeFormat(locale, overrides).format(value);\n }\n // resolve format\n let datetimeFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'datetime format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n datetimeFormat =\n datetimeFormats[targetLocale] || {};\n format = datetimeFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __datetimeFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));\n __datetimeFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst DATETIME_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n 'formatMatcher',\n 'hour12',\n 'timeZone',\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n 'dayPeriod',\n 'numberingSystem',\n 'hourCycle',\n 'fractionalSecondDigits'\n];\n/** @internal */\nfunction parseDateTimeArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = {};\n let overrides = {};\n let value;\n if (isString(arg1)) {\n // Only allow ISO strings - other date formats are often supported,\n // but may cause different results in different browsers.\n const matches = arg1.match(/(\\d{4}-\\d{2}-\\d{2})(T|\\s)?(.*)/);\n if (!matches) {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n // Some browsers can not parse the iso datetime separated by space,\n // this is a compromise solution by replace the 'T'/' ' with 'T'\n const dateTime = matches[3]\n ? matches[3].trim().startsWith('T')\n ? `${matches[1].trim()}${matches[3].trim()}`\n : `${matches[1].trim()}T${matches[3].trim()}`\n : matches[1].trim();\n value = new Date(dateTime);\n try {\n // This will fail if the date is not valid\n value.toISOString();\n }\n catch (e) {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n }\n else if (isDate(arg1)) {\n if (isNaN(arg1.getTime())) {\n throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);\n }\n value = arg1;\n }\n else if (isNumber(arg1)) {\n value = arg1;\n }\n else {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearDateTimeFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__datetimeFormatters.has(id)) {\n continue;\n }\n context.__datetimeFormatters.delete(id);\n }\n}\n\n// implementation of `number` function\nfunction number(context, ...args) {\n const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __numberFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_NUMBER));\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseNumberArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.NumberFormat(locale, overrides).format(value);\n }\n // resolve format\n let numberFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'number format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n numberFormat =\n numberFormats[targetLocale] || {};\n format = numberFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __numberFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));\n __numberFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst NUMBER_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'currencySign',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n 'compactDisplay',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n 'roundingMode',\n 'roundingPriority',\n 'roundingIncrement',\n 'trailingZeroDisplay'\n];\n/** @internal */\nfunction parseNumberArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = {};\n let overrides = {};\n if (!isNumber(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n const value = arg1;\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearNumberFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__numberFormatters.has(id)) {\n continue;\n }\n context.__numberFormatters.delete(id);\n }\n}\n\n{\n initFeatureFlags();\n}\n\nexport { CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compile, compileToFunction, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getLocale, getWarnMessage, handleMissing, initI18nDevTools, isAlmostSameLocale, isImplicitFallback, isMessageAST, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveLocale, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n","/*!\n * vue-i18n v9.14.0\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, incrementer, format, makeSymbol, isPlainObject, isArray, deepCopy, isString, hasOwn, isObject, warn, warnOnce, isBoolean, isRegExp, isFunction, inBrowser, assign, isNumber, createEmitter, isEmptyObject } from '@intlify/shared';\nimport { CoreWarnCodes, CoreErrorCodes, createCompileError, DEFAULT_LOCALE, updateFallbackLocale, setFallbackContext, createCoreContext, clearDateTimeFormat, clearNumberFormat, setAdditionalMeta, getFallbackContext, NOT_REOSLVED, isTranslateFallbackWarn, isTranslateMissingWarn, parseTranslateArgs, translate, MISSING_RESOLVE_VALUE, parseDateTimeArgs, datetime, parseNumberArgs, number, isMessageAST, isMessageFunction, fallbackWithLocaleChain, NUMBER_FORMAT_OPTIONS_KEYS, DATETIME_FORMAT_OPTIONS_KEYS, registerMessageCompiler, compile, compileToFunction, registerMessageResolver, resolveValue, registerLocaleFallbacker, setDevToolsHook } from '@intlify/core-base';\nimport { createVNode, Text, computed, watch, getCurrentInstance, ref, shallowRef, Fragment, defineComponent, h, effectScope, inject, onMounted, onUnmounted, onBeforeMount, isRef } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * Vue I18n Version\n *\n * @remarks\n * Semver format. Same format as the package.json `version` field.\n *\n * @VueI18nGeneral\n */\nconst VERSION = '9.14.0';\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __VUE_I18N_FULL_INSTALL__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;\n }\n if (typeof __VUE_I18N_LEGACY_API__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_LEGACY_API__ = true;\n }\n if (typeof __INTLIFY_JIT_COMPILATION__ !== 'boolean') {\n getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n}\n\nconst code$1 = CoreWarnCodes.__EXTEND_POINT__;\nconst inc$1 = incrementer(code$1);\nconst I18nWarnCodes = {\n FALLBACK_TO_ROOT: code$1, // 9\n NOT_SUPPORTED_PRESERVE: inc$1(), // 10\n NOT_SUPPORTED_FORMATTER: inc$1(), // 11\n NOT_SUPPORTED_PRESERVE_DIRECTIVE: inc$1(), // 12\n NOT_SUPPORTED_GET_CHOICE_INDEX: inc$1(), // 13\n COMPONENT_NAME_LEGACY_COMPATIBLE: inc$1(), // 14\n NOT_FOUND_PARENT_SCOPE: inc$1(), // 15\n IGNORE_OBJ_FLATTEN: inc$1(), // 16\n NOTICE_DROP_ALLOW_COMPOSITION: inc$1(), // 17\n NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG: inc$1() // 18\n};\nconst warnMessages = {\n [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`,\n [I18nWarnCodes.NOT_SUPPORTED_PRESERVE]: `Not supported 'preserve'.`,\n [I18nWarnCodes.NOT_SUPPORTED_FORMATTER]: `Not supported 'formatter'.`,\n [I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE]: `Not supported 'preserveDirectiveContent'.`,\n [I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX]: `Not supported 'getChoiceIndex'.`,\n [I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE]: `Component name legacy compatible: '{name}' -> 'i18n'`,\n [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`,\n [I18nWarnCodes.IGNORE_OBJ_FLATTEN]: `Ignore object flatten: '{key}' key has an string value`,\n [I18nWarnCodes.NOTICE_DROP_ALLOW_COMPOSITION]: `'allowComposition' option will be dropped in the next major version. For more information, please see 👉 https://tinyurl.com/2p97mcze`,\n [I18nWarnCodes.NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG]: `'translateExistCompatible' option will be dropped in the next major version.`\n};\nfunction getWarnMessage(code, ...args) {\n return format(warnMessages[code], ...args);\n}\n\nconst code = CoreErrorCodes.__EXTEND_POINT__;\nconst inc = incrementer(code);\nconst I18nErrorCodes = {\n // composer module errors\n UNEXPECTED_RETURN_TYPE: code, // 24\n // legacy module errors\n INVALID_ARGUMENT: inc(), // 25\n // i18n module errors\n MUST_BE_CALL_SETUP_TOP: inc(), // 26\n NOT_INSTALLED: inc(), // 27\n NOT_AVAILABLE_IN_LEGACY_MODE: inc(), // 28\n // directive module errors\n REQUIRED_VALUE: inc(), // 29\n INVALID_VALUE: inc(), // 30\n // vue-devtools errors\n CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: inc(), // 31\n NOT_INSTALLED_WITH_PROVIDE: inc(), // 32\n // unexpected error\n UNEXPECTED_ERROR: inc(), // 33\n // not compatible legacy vue-i18n constructor\n NOT_COMPATIBLE_LEGACY_VUE_I18N: inc(), // 34\n // bridge support vue 2.x only\n BRIDGE_SUPPORT_VUE_2_ONLY: inc(), // 35\n // need to define `i18n` option in `allowComposition: true` and `useScope: 'local' at `useI18n``\n MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION: inc(), // 36\n // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly\n NOT_AVAILABLE_COMPOSITION_IN_LEGACY: inc(), // 37\n // for enhancement\n __EXTEND_POINT__: inc() // 38\n};\nfunction createI18nError(code, ...args) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages, args } : undefined);\n}\nconst errorMessages = {\n [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: 'Unexpected return type in composer',\n [I18nErrorCodes.INVALID_ARGUMENT]: 'Invalid argument',\n [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: 'Must be called at the top of a `setup` function',\n [I18nErrorCodes.NOT_INSTALLED]: 'Need to install with `app.use` function',\n [I18nErrorCodes.UNEXPECTED_ERROR]: 'Unexpected error',\n [I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE]: 'Not available in legacy mode',\n [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`,\n [I18nErrorCodes.INVALID_VALUE]: `Invalid value`,\n [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`,\n [I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE]: 'Need to install with `provide` function',\n [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: 'Not compatible legacy VueI18n.',\n [I18nErrorCodes.BRIDGE_SUPPORT_VUE_2_ONLY]: 'vue-i18n-bridge support Vue 2.x only',\n [I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION]: 'Must define ‘i18n’ option or custom block in Composition API with using local scope in Legacy API mode',\n [I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: 'Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly'\n};\n\nconst TranslateVNodeSymbol = \n/* #__PURE__*/ makeSymbol('__translateVNode');\nconst DatetimePartsSymbol = /* #__PURE__*/ makeSymbol('__datetimeParts');\nconst NumberPartsSymbol = /* #__PURE__*/ makeSymbol('__numberParts');\nconst EnableEmitter = /* #__PURE__*/ makeSymbol('__enableEmitter');\nconst DisableEmitter = /* #__PURE__*/ makeSymbol('__disableEmitter');\nconst SetPluralRulesSymbol = makeSymbol('__setPluralRules');\nmakeSymbol('__intlifyMeta');\nconst InejctWithOptionSymbol = \n/* #__PURE__*/ makeSymbol('__injectWithOption');\nconst DisposeSymbol = /* #__PURE__*/ makeSymbol('__dispose');\nconst __VUE_I18N_BRIDGE__ = '__VUE_I18N_BRIDGE__';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Transform flat json in obj to normal json in obj\n */\nfunction handleFlatJson(obj) {\n // check obj\n if (!isObject(obj)) {\n return obj;\n }\n for (const key in obj) {\n // check key\n if (!hasOwn(obj, key)) {\n continue;\n }\n // handle for normal json\n if (!key.includes('.')) {\n // recursive process value if value is also a object\n if (isObject(obj[key])) {\n handleFlatJson(obj[key]);\n }\n }\n // handle for flat json, transform to normal json\n else {\n // go to the last object\n const subKeys = key.split('.');\n const lastIndex = subKeys.length - 1;\n let currentObj = obj;\n let hasStringValue = false;\n for (let i = 0; i < lastIndex; i++) {\n if (!(subKeys[i] in currentObj)) {\n currentObj[subKeys[i]] = {};\n }\n if (!isObject(currentObj[subKeys[i]])) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.IGNORE_OBJ_FLATTEN, {\n key: subKeys[i]\n }));\n hasStringValue = true;\n break;\n }\n currentObj = currentObj[subKeys[i]];\n }\n // update last object value, delete old property\n if (!hasStringValue) {\n currentObj[subKeys[lastIndex]] = obj[key];\n delete obj[key];\n }\n // recursive process value if value is also a object\n if (isObject(currentObj[subKeys[lastIndex]])) {\n handleFlatJson(currentObj[subKeys[lastIndex]]);\n }\n }\n }\n return obj;\n}\nfunction getLocaleMessages(locale, options) {\n const { messages, __i18n, messageResolver, flatJson } = options;\n // prettier-ignore\n const ret = (isPlainObject(messages)\n ? messages\n : isArray(__i18n)\n ? {}\n : { [locale]: {} });\n // merge locale messages of i18n custom block\n if (isArray(__i18n)) {\n __i18n.forEach(custom => {\n if ('locale' in custom && 'resource' in custom) {\n const { locale, resource } = custom;\n if (locale) {\n ret[locale] = ret[locale] || {};\n deepCopy(resource, ret[locale]);\n }\n else {\n deepCopy(resource, ret);\n }\n }\n else {\n isString(custom) && deepCopy(JSON.parse(custom), ret);\n }\n });\n }\n // handle messages for flat json\n if (messageResolver == null && flatJson) {\n for (const key in ret) {\n if (hasOwn(ret, key)) {\n handleFlatJson(ret[key]);\n }\n }\n }\n return ret;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getComponentOptions(instance) {\n return instance.type ;\n}\nfunction adjustI18nResources(gl, options, componentOptions // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n let messages = isObject(options.messages) ? options.messages : {};\n if ('__i18nGlobal' in componentOptions) {\n messages = getLocaleMessages(gl.locale.value, {\n messages,\n __i18n: componentOptions.__i18nGlobal\n });\n }\n // merge locale messages\n const locales = Object.keys(messages);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeLocaleMessage(locale, messages[locale]);\n });\n }\n {\n // merge datetime formats\n if (isObject(options.datetimeFormats)) {\n const locales = Object.keys(options.datetimeFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);\n });\n }\n }\n // merge number formats\n if (isObject(options.numberFormats)) {\n const locales = Object.keys(options.numberFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeNumberFormat(locale, options.numberFormats[locale]);\n });\n }\n }\n }\n}\nfunction createTextNode(key) {\n return createVNode(Text, null, key, 0)\n ;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// extend VNode interface\nconst DEVTOOLS_META = '__INTLIFY_META__';\nconst NOOP_RETURN_ARRAY = () => [];\nconst NOOP_RETURN_FALSE = () => false;\nlet composerID = 0;\nfunction defineCoreMissingHandler(missing) {\n return ((ctx, locale, key, type) => {\n return missing(locale, key, getCurrentInstance() || undefined, type);\n });\n}\n// for Intlify DevTools\n/* #__NO_SIDE_EFFECTS__ */\nconst getMetaInfo = () => {\n const instance = getCurrentInstance();\n let meta = null; // eslint-disable-line @typescript-eslint/no-explicit-any\n return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META])\n ? { [DEVTOOLS_META]: meta } // eslint-disable-line @typescript-eslint/no-explicit-any\n : null;\n};\n/**\n * Create composer interface factory\n *\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction createComposer(options = {}, VueI18nLegacy) {\n const { __root, __injectWithOption } = options;\n const _isGlobal = __root === undefined;\n const flatJson = options.flatJson;\n const _ref = inBrowser ? ref : shallowRef;\n const translateExistCompatible = !!options.translateExistCompatible;\n if ((process.env.NODE_ENV !== 'production')) {\n if (translateExistCompatible && !false) {\n warnOnce(getWarnMessage(I18nWarnCodes.NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG));\n }\n }\n let _inheritLocale = isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : true;\n const _locale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.locale.value\n : isString(options.locale)\n ? options.locale\n : DEFAULT_LOCALE);\n const _fallbackLocale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.fallbackLocale.value\n : isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = _ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = _ref(isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} })\n ;\n // prettier-ignore\n const _numberFormats = _ref(isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} })\n ;\n // warning suppress options\n // prettier-ignore\n let _missingWarn = __root\n ? __root.missingWarn\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n let _fallbackWarn = __root\n ? __root.fallbackWarn\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n let _fallbackRoot = __root\n ? __root.fallbackRoot\n : isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n let _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n let _missing = isFunction(options.missing) ? options.missing : null;\n let _runtimeMissing = isFunction(options.missing)\n ? defineCoreMissingHandler(options.missing)\n : null;\n // postTranslation handler\n let _postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n let _warnHtmlMessage = __root\n ? __root.warnHtmlMessage\n : isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n let _escapeParameter = !!options.escapeParameter;\n // custom linked modifiers\n // prettier-ignore\n const _modifiers = __root\n ? __root.modifiers\n : isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n let _pluralRules = options.pluralRules || (__root && __root.pluralRules);\n // runtime context\n // eslint-disable-next-line prefer-const\n let _context;\n const getCoreContext = () => {\n _isGlobal && setFallbackContext(null);\n const ctxOptions = {\n version: VERSION,\n locale: _locale.value,\n fallbackLocale: _fallbackLocale.value,\n messages: _messages.value,\n modifiers: _modifiers,\n pluralRules: _pluralRules,\n missing: _runtimeMissing === null ? undefined : _runtimeMissing,\n missingWarn: _missingWarn,\n fallbackWarn: _fallbackWarn,\n fallbackFormat: _fallbackFormat,\n unresolving: true,\n postTranslation: _postTranslation === null ? undefined : _postTranslation,\n warnHtmlMessage: _warnHtmlMessage,\n escapeParameter: _escapeParameter,\n messageResolver: options.messageResolver,\n messageCompiler: options.messageCompiler,\n __meta: { framework: 'vue' }\n };\n {\n ctxOptions.datetimeFormats = _datetimeFormats.value;\n ctxOptions.numberFormats = _numberFormats.value;\n ctxOptions.__datetimeFormatters = isPlainObject(_context)\n ? _context.__datetimeFormatters\n : undefined;\n ctxOptions.__numberFormatters = isPlainObject(_context)\n ? _context.__numberFormatters\n : undefined;\n }\n if ((process.env.NODE_ENV !== 'production')) {\n ctxOptions.__v_emitter = isPlainObject(_context)\n ? _context.__v_emitter\n : undefined;\n }\n const ctx = createCoreContext(ctxOptions);\n _isGlobal && setFallbackContext(ctx);\n return ctx;\n };\n _context = getCoreContext();\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ]\n ;\n }\n // locale\n const locale = computed({\n get: () => _locale.value,\n set: val => {\n _locale.value = val;\n _context.locale = _locale.value;\n }\n });\n // fallbackLocale\n const fallbackLocale = computed({\n get: () => _fallbackLocale.value,\n set: val => {\n _fallbackLocale.value = val;\n _context.fallbackLocale = _fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, val);\n }\n });\n // messages\n const messages = computed(() => _messages.value);\n // datetimeFormats\n const datetimeFormats = /* #__PURE__*/ computed(() => _datetimeFormats.value);\n // numberFormats\n const numberFormats = /* #__PURE__*/ computed(() => _numberFormats.value);\n // getPostTranslationHandler\n function getPostTranslationHandler() {\n return isFunction(_postTranslation) ? _postTranslation : null;\n }\n // setPostTranslationHandler\n function setPostTranslationHandler(handler) {\n _postTranslation = handler;\n _context.postTranslation = handler;\n }\n // getMissingHandler\n function getMissingHandler() {\n return _missing;\n }\n // setMissingHandler\n function setMissingHandler(handler) {\n if (handler !== null) {\n _runtimeMissing = defineCoreMissingHandler(handler);\n }\n _missing = handler;\n _context.missing = _runtimeMissing;\n }\n function isResolvedTranslateMessage(type, arg // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n return type !== 'translate' || !arg.resolvedMessage;\n }\n const wrapWithDeps = (fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => {\n trackReactivityValues(); // track reactive dependency\n // NOTE: experimental !!\n let ret;\n try {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(getMetaInfo());\n }\n if (!_isGlobal) {\n _context.fallbackContext = __root\n ? getFallbackContext()\n : undefined;\n }\n ret = fn(_context);\n }\n finally {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(null);\n }\n if (!_isGlobal) {\n _context.fallbackContext = undefined;\n }\n }\n if ((warnType !== 'translate exists' && // for not `te` (e.g `t`)\n isNumber(ret) &&\n ret === NOT_REOSLVED) ||\n (warnType === 'translate exists' && !ret) // for `te`\n ) {\n const [key, arg2] = argumentParser();\n if ((process.env.NODE_ENV !== 'production') &&\n __root &&\n isString(key) &&\n isResolvedTranslateMessage(warnType, arg2)) {\n if (_fallbackRoot &&\n (isTranslateFallbackWarn(_fallbackWarn, key) ||\n isTranslateMissingWarn(_missingWarn, key))) {\n warn(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, {\n key,\n type: warnType\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const { __v_emitter: emitter } = _context;\n if (emitter && _fallbackRoot) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type: warnType,\n key,\n to: 'global',\n groupId: `${warnType}:${key}`\n });\n }\n }\n }\n return __root && _fallbackRoot\n ? fallbackSuccess(__root)\n : fallbackFail(key);\n }\n else if (successCondition(ret)) {\n return ret;\n }\n else {\n /* istanbul ignore next */\n throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);\n }\n };\n // t\n function t(...args) {\n return wrapWithDeps(context => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), 'translate', root => Reflect.apply(root.t, root, [...args]), key => key, val => isString(val));\n }\n // rt\n function rt(...args) {\n const [arg1, arg2, arg3] = args;\n if (arg3 && !isObject(arg3)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n return t(...[arg1, arg2, assign({ resolvedMessage: true }, arg3 || {})]);\n }\n // d\n function d(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\n }\n // n\n function n(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\n }\n // for custom processor\n function normalize(values) {\n return values.map(val => isString(val) || isNumber(val) || isBoolean(val)\n ? createTextNode(String(val))\n : val);\n }\n const interpolate = (val) => val;\n const processor = {\n normalize,\n interpolate,\n type: 'vnode'\n };\n // translateVNode, using for `i18n-t` component\n function translateVNode(...args) {\n return wrapWithDeps(context => {\n let ret;\n const _context = context;\n try {\n _context.processor = processor;\n ret = Reflect.apply(translate, null, [_context, ...args]);\n }\n finally {\n _context.processor = null;\n }\n return ret;\n }, () => parseTranslateArgs(...args), 'translate', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n root => root[TranslateVNodeSymbol](...args), key => [createTextNode(key)], val => isArray(val));\n }\n // numberParts, using for `i18n-n` component\n function numberParts(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n root => root[NumberPartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n // datetimeParts, using for `i18n-d` component\n function datetimeParts(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n root => root[DatetimePartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n function setPluralRules(rules) {\n _pluralRules = rules;\n _context.pluralRules = _pluralRules;\n }\n // te\n function te(key, locale) {\n return wrapWithDeps(() => {\n if (!key) {\n return false;\n }\n const targetLocale = isString(locale) ? locale : _locale.value;\n const message = getLocaleMessage(targetLocale);\n const resolved = _context.messageResolver(message, key);\n return !translateExistCompatible\n ? isMessageAST(resolved) ||\n isMessageFunction(resolved) ||\n isString(resolved)\n : resolved != null;\n }, () => [key], 'translate exists', root => {\n return Reflect.apply(root.te, root, [key, locale]);\n }, NOOP_RETURN_FALSE, val => isBoolean(val));\n }\n function resolveMessages(key) {\n let messages = null;\n const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);\n for (let i = 0; i < locales.length; i++) {\n const targetLocaleMessages = _messages.value[locales[i]] || {};\n const messageValue = _context.messageResolver(targetLocaleMessages, key);\n if (messageValue != null) {\n messages = messageValue;\n break;\n }\n }\n return messages;\n }\n // tm\n function tm(key) {\n const messages = resolveMessages(key);\n // prettier-ignore\n return messages != null\n ? messages\n : __root\n ? __root.tm(key) || {}\n : {};\n }\n // getLocaleMessage\n function getLocaleMessage(locale) {\n return (_messages.value[locale] || {});\n }\n // setLocaleMessage\n function setLocaleMessage(locale, message) {\n if (flatJson) {\n const _message = { [locale]: message };\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n message = _message[locale];\n }\n _messages.value[locale] = message;\n _context.messages = _messages.value;\n }\n // mergeLocaleMessage\n function mergeLocaleMessage(locale, message) {\n _messages.value[locale] = _messages.value[locale] || {};\n const _message = { [locale]: message };\n if (flatJson) {\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n }\n message = _message[locale];\n deepCopy(message, _messages.value[locale]);\n _context.messages = _messages.value;\n }\n // getDateTimeFormat\n function getDateTimeFormat(locale) {\n return _datetimeFormats.value[locale] || {};\n }\n // setDateTimeFormat\n function setDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = format;\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // mergeDateTimeFormat\n function mergeDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = assign(_datetimeFormats.value[locale] || {}, format);\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // getNumberFormat\n function getNumberFormat(locale) {\n return _numberFormats.value[locale] || {};\n }\n // setNumberFormat\n function setNumberFormat(locale, format) {\n _numberFormats.value[locale] = format;\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // mergeNumberFormat\n function mergeNumberFormat(locale, format) {\n _numberFormats.value[locale] = assign(_numberFormats.value[locale] || {}, format);\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // for debug\n composerID++;\n // watch root locale & fallbackLocale\n if (__root && inBrowser) {\n watch(__root.locale, (val) => {\n if (_inheritLocale) {\n _locale.value = val;\n _context.locale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n watch(__root.fallbackLocale, (val) => {\n if (_inheritLocale) {\n _fallbackLocale.value = val;\n _context.fallbackLocale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n }\n // define basic composition API!\n const composer = {\n id: composerID,\n locale,\n fallbackLocale,\n get inheritLocale() {\n return _inheritLocale;\n },\n set inheritLocale(val) {\n _inheritLocale = val;\n if (val && __root) {\n _locale.value = __root.locale.value;\n _fallbackLocale.value = __root.fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n },\n get availableLocales() {\n return Object.keys(_messages.value).sort();\n },\n messages,\n get modifiers() {\n return _modifiers;\n },\n get pluralRules() {\n return _pluralRules || {};\n },\n get isGlobal() {\n return _isGlobal;\n },\n get missingWarn() {\n return _missingWarn;\n },\n set missingWarn(val) {\n _missingWarn = val;\n _context.missingWarn = _missingWarn;\n },\n get fallbackWarn() {\n return _fallbackWarn;\n },\n set fallbackWarn(val) {\n _fallbackWarn = val;\n _context.fallbackWarn = _fallbackWarn;\n },\n get fallbackRoot() {\n return _fallbackRoot;\n },\n set fallbackRoot(val) {\n _fallbackRoot = val;\n },\n get fallbackFormat() {\n return _fallbackFormat;\n },\n set fallbackFormat(val) {\n _fallbackFormat = val;\n _context.fallbackFormat = _fallbackFormat;\n },\n get warnHtmlMessage() {\n return _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n _warnHtmlMessage = val;\n _context.warnHtmlMessage = val;\n },\n get escapeParameter() {\n return _escapeParameter;\n },\n set escapeParameter(val) {\n _escapeParameter = val;\n _context.escapeParameter = val;\n },\n t,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n [SetPluralRulesSymbol]: setPluralRules\n };\n {\n composer.datetimeFormats = datetimeFormats;\n composer.numberFormats = numberFormats;\n composer.rt = rt;\n composer.te = te;\n composer.tm = tm;\n composer.d = d;\n composer.n = n;\n composer.getDateTimeFormat = getDateTimeFormat;\n composer.setDateTimeFormat = setDateTimeFormat;\n composer.mergeDateTimeFormat = mergeDateTimeFormat;\n composer.getNumberFormat = getNumberFormat;\n composer.setNumberFormat = setNumberFormat;\n composer.mergeNumberFormat = mergeNumberFormat;\n composer[InejctWithOptionSymbol] = __injectWithOption;\n composer[TranslateVNodeSymbol] = translateVNode;\n composer[DatetimePartsSymbol] = datetimeParts;\n composer[NumberPartsSymbol] = numberParts;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n composer[EnableEmitter] = (emitter) => {\n _context.__v_emitter = emitter;\n };\n composer[DisableEmitter] = () => {\n _context.__v_emitter = undefined;\n };\n }\n return composer;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Convert to I18n Composer Options from VueI18n Options\n *\n * @internal\n */\nfunction convertComposerOptions(options) {\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\n const fallbackLocale = isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : locale;\n const missing = isFunction(options.missing) ? options.missing : undefined;\n const missingWarn = isBoolean(options.silentTranslationWarn) ||\n isRegExp(options.silentTranslationWarn)\n ? !options.silentTranslationWarn\n : true;\n const fallbackWarn = isBoolean(options.silentFallbackWarn) ||\n isRegExp(options.silentFallbackWarn)\n ? !options.silentFallbackWarn\n : true;\n const fallbackRoot = isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n const fallbackFormat = !!options.formatFallbackMessages;\n const modifiers = isPlainObject(options.modifiers) ? options.modifiers : {};\n const pluralizationRules = options.pluralizationRules;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : undefined;\n const warnHtmlMessage = isString(options.warnHtmlInMessage)\n ? options.warnHtmlInMessage !== 'off'\n : true;\n const escapeParameter = !!options.escapeParameterHtml;\n const inheritLocale = isBoolean(options.sync) ? options.sync : true;\n if ((process.env.NODE_ENV !== 'production') && options.formatter) {\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\n }\n if ((process.env.NODE_ENV !== 'production') && options.preserveDirectiveContent) {\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\n }\n let messages = options.messages;\n if (isPlainObject(options.sharedMessages)) {\n const sharedMessages = options.sharedMessages;\n const locales = Object.keys(sharedMessages);\n messages = locales.reduce((messages, locale) => {\n const message = messages[locale] || (messages[locale] = {});\n assign(message, sharedMessages[locale]);\n return messages;\n }, (messages || {}));\n }\n const { __i18n, __root, __injectWithOption } = options;\n const datetimeFormats = options.datetimeFormats;\n const numberFormats = options.numberFormats;\n const flatJson = options.flatJson;\n const translateExistCompatible = options\n .translateExistCompatible;\n return {\n locale,\n fallbackLocale,\n messages,\n flatJson,\n datetimeFormats,\n numberFormats,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackRoot,\n fallbackFormat,\n modifiers,\n pluralRules: pluralizationRules,\n postTranslation,\n warnHtmlMessage,\n escapeParameter,\n messageResolver: options.messageResolver,\n inheritLocale,\n translateExistCompatible,\n __i18n,\n __root,\n __injectWithOption\n };\n}\n/**\n * create VueI18n interface factory\n *\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction createVueI18n(options = {}, VueI18nLegacy) {\n {\n const composer = createComposer(convertComposerOptions(options));\n const { __extender } = options;\n // defines VueI18n\n const vueI18n = {\n // id\n id: composer.id,\n // locale\n get locale() {\n return composer.locale.value;\n },\n set locale(val) {\n composer.locale.value = val;\n },\n // fallbackLocale\n get fallbackLocale() {\n return composer.fallbackLocale.value;\n },\n set fallbackLocale(val) {\n composer.fallbackLocale.value = val;\n },\n // messages\n get messages() {\n return composer.messages.value;\n },\n // datetimeFormats\n get datetimeFormats() {\n return composer.datetimeFormats.value;\n },\n // numberFormats\n get numberFormats() {\n return composer.numberFormats.value;\n },\n // availableLocales\n get availableLocales() {\n return composer.availableLocales;\n },\n // formatter\n get formatter() {\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\n // dummy\n return {\n interpolate() {\n return [];\n }\n };\n },\n set formatter(val) {\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\n },\n // missing\n get missing() {\n return composer.getMissingHandler();\n },\n set missing(handler) {\n composer.setMissingHandler(handler);\n },\n // silentTranslationWarn\n get silentTranslationWarn() {\n return isBoolean(composer.missingWarn)\n ? !composer.missingWarn\n : composer.missingWarn;\n },\n set silentTranslationWarn(val) {\n composer.missingWarn = isBoolean(val) ? !val : val;\n },\n // silentFallbackWarn\n get silentFallbackWarn() {\n return isBoolean(composer.fallbackWarn)\n ? !composer.fallbackWarn\n : composer.fallbackWarn;\n },\n set silentFallbackWarn(val) {\n composer.fallbackWarn = isBoolean(val) ? !val : val;\n },\n // modifiers\n get modifiers() {\n return composer.modifiers;\n },\n // formatFallbackMessages\n get formatFallbackMessages() {\n return composer.fallbackFormat;\n },\n set formatFallbackMessages(val) {\n composer.fallbackFormat = val;\n },\n // postTranslation\n get postTranslation() {\n return composer.getPostTranslationHandler();\n },\n set postTranslation(handler) {\n composer.setPostTranslationHandler(handler);\n },\n // sync\n get sync() {\n return composer.inheritLocale;\n },\n set sync(val) {\n composer.inheritLocale = val;\n },\n // warnInHtmlMessage\n get warnHtmlInMessage() {\n return composer.warnHtmlMessage ? 'warn' : 'off';\n },\n set warnHtmlInMessage(val) {\n composer.warnHtmlMessage = val !== 'off';\n },\n // escapeParameterHtml\n get escapeParameterHtml() {\n return composer.escapeParameter;\n },\n set escapeParameterHtml(val) {\n composer.escapeParameter = val;\n },\n // preserveDirectiveContent\n get preserveDirectiveContent() {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\n return true;\n },\n set preserveDirectiveContent(val) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\n },\n // pluralizationRules\n get pluralizationRules() {\n return composer.pluralRules || {};\n },\n // for internal\n __composer: composer,\n // t\n t(...args) {\n const [arg1, arg2, arg3] = args;\n const options = {};\n let list = null;\n let named = null;\n if (!isString(arg1)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n const key = arg1;\n if (isString(arg2)) {\n options.locale = arg2;\n }\n else if (isArray(arg2)) {\n list = arg2;\n }\n else if (isPlainObject(arg2)) {\n named = arg2;\n }\n if (isArray(arg3)) {\n list = arg3;\n }\n else if (isPlainObject(arg3)) {\n named = arg3;\n }\n // return composer.t(key, (list || named || {}) as any, options)\n return Reflect.apply(composer.t, composer, [\n key,\n (list || named || {}),\n options\n ]);\n },\n rt(...args) {\n return Reflect.apply(composer.rt, composer, [...args]);\n },\n // tc\n tc(...args) {\n const [arg1, arg2, arg3] = args;\n const options = { plural: 1 };\n let list = null;\n let named = null;\n if (!isString(arg1)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n const key = arg1;\n if (isString(arg2)) {\n options.locale = arg2;\n }\n else if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isArray(arg2)) {\n list = arg2;\n }\n else if (isPlainObject(arg2)) {\n named = arg2;\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isArray(arg3)) {\n list = arg3;\n }\n else if (isPlainObject(arg3)) {\n named = arg3;\n }\n // return composer.t(key, (list || named || {}) as any, options)\n return Reflect.apply(composer.t, composer, [\n key,\n (list || named || {}),\n options\n ]);\n },\n // te\n te(key, locale) {\n return composer.te(key, locale);\n },\n // tm\n tm(key) {\n return composer.tm(key);\n },\n // getLocaleMessage\n getLocaleMessage(locale) {\n return composer.getLocaleMessage(locale);\n },\n // setLocaleMessage\n setLocaleMessage(locale, message) {\n composer.setLocaleMessage(locale, message);\n },\n // mergeLocaleMessage\n mergeLocaleMessage(locale, message) {\n composer.mergeLocaleMessage(locale, message);\n },\n // d\n d(...args) {\n return Reflect.apply(composer.d, composer, [...args]);\n },\n // getDateTimeFormat\n getDateTimeFormat(locale) {\n return composer.getDateTimeFormat(locale);\n },\n // setDateTimeFormat\n setDateTimeFormat(locale, format) {\n composer.setDateTimeFormat(locale, format);\n },\n // mergeDateTimeFormat\n mergeDateTimeFormat(locale, format) {\n composer.mergeDateTimeFormat(locale, format);\n },\n // n\n n(...args) {\n return Reflect.apply(composer.n, composer, [...args]);\n },\n // getNumberFormat\n getNumberFormat(locale) {\n return composer.getNumberFormat(locale);\n },\n // setNumberFormat\n setNumberFormat(locale, format) {\n composer.setNumberFormat(locale, format);\n },\n // mergeNumberFormat\n mergeNumberFormat(locale, format) {\n composer.mergeNumberFormat(locale, format);\n },\n // getChoiceIndex\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getChoiceIndex(choice, choicesLength) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX));\n return -1;\n }\n };\n vueI18n.__extender = __extender;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n vueI18n.__enableEmitter = (emitter) => {\n const __composer = composer;\n __composer[EnableEmitter] && __composer[EnableEmitter](emitter);\n };\n vueI18n.__disableEmitter = () => {\n const __composer = composer;\n __composer[DisableEmitter] && __composer[DisableEmitter]();\n };\n }\n return vueI18n;\n }\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst baseFormatProps = {\n tag: {\n type: [String, Object]\n },\n locale: {\n type: String\n },\n scope: {\n type: String,\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n validator: (val /* ComponentI18nScope */) => val === 'parent' || val === 'global',\n default: 'parent' /* ComponentI18nScope */\n },\n i18n: {\n type: Object\n }\n};\n\nfunction getInterpolateArg(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n{ slots }, // SetupContext,\nkeys) {\n if (keys.length === 1 && keys[0] === 'default') {\n // default slot with list\n const ret = slots.default ? slots.default() : [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return ret.reduce((slot, current) => {\n return [\n ...slot,\n // prettier-ignore\n ...(current.type === Fragment ? current.children : [current]\n )\n ];\n }, []);\n }\n else {\n // named slots\n return keys.reduce((arg, key) => {\n const slot = slots[key];\n if (slot) {\n arg[key] = slot();\n }\n return arg;\n }, {});\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getFragmentableTag(tag) {\n return Fragment ;\n}\n\nconst TranslationImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-t',\n props: assign({\n keypath: {\n type: String,\n required: true\n },\n plural: {\n type: [Number, String],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n validator: (val) => isNumber(val) || !isNaN(val)\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const { slots, attrs } = context;\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return () => {\n const keys = Object.keys(slots).filter(key => key !== '_');\n const options = {};\n if (props.locale) {\n options.locale = props.locale;\n }\n if (props.plural !== undefined) {\n options.plural = isString(props.plural) ? +props.plural : props.plural;\n }\n const arg = getInterpolateArg(context, keys);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const children = i18n[TranslateVNodeSymbol](props.keypath, arg, options);\n const assignedAttrs = assign({}, attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return h(tag, assignedAttrs, children);\n };\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Translation Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [TranslationProps](component#translationprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Component Interpolation](../guide/advanced/component)\n *\n * @example\n * ```html\n * <div id=\"app\">\n * <!-- ... -->\n * <i18n keypath=\"term\" tag=\"label\" for=\"tos\">\n * <a :href=\"url\" target=\"_blank\">{{ $t('tos') }}</a>\n * </i18n>\n * <!-- ... -->\n * </div>\n * ```\n * ```js\n * import { createApp } from 'vue'\n * import { createI18n } from 'vue-i18n'\n *\n * const messages = {\n * en: {\n * tos: 'Term of Service',\n * term: 'I accept xxx {0}.'\n * },\n * ja: {\n * tos: '利用規約',\n * term: '私は xxx の{0}に同意します。'\n * }\n * }\n *\n * const i18n = createI18n({\n * locale: 'en',\n * messages\n * })\n *\n * const app = createApp({\n * data: {\n * url: '/term'\n * }\n * }).use(i18n).mount('#app')\n * ```\n *\n * @VueI18nComponent\n */\nconst Translation = TranslationImpl;\nconst I18nT = Translation;\n\nfunction isVNode(target) {\n return isArray(target) && !isString(target[0]);\n}\nfunction renderFormatter(props, context, slotKeys, partFormatter) {\n const { slots, attrs } = context;\n return () => {\n const options = { part: true };\n let overrides = {};\n if (props.locale) {\n options.locale = props.locale;\n }\n if (isString(props.format)) {\n options.key = props.format;\n }\n else if (isObject(props.format)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (isString(props.format.key)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options.key = props.format.key;\n }\n // Filter out number format options only\n overrides = Object.keys(props.format).reduce((options, prop) => {\n return slotKeys.includes(prop)\n ? assign({}, options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any\n : options;\n }, {});\n }\n const parts = partFormatter(...[props.value, options, overrides]);\n let children = [options.key];\n if (isArray(parts)) {\n children = parts.map((part, index) => {\n const slot = slots[part.type];\n const node = slot\n ? slot({ [part.type]: part.value, index, parts })\n : [part.value];\n if (isVNode(node)) {\n node[0].key = `${part.type}-${index}`;\n }\n return node;\n });\n }\n else if (isString(parts)) {\n children = [parts];\n }\n const assignedAttrs = assign({}, attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return h(tag, assignedAttrs, children);\n };\n}\n\nconst NumberFormatImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-n',\n props: assign({\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[NumberPartsSymbol](...args));\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Number Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/number#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.NumberFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat)\n *\n * @VueI18nComponent\n */\nconst NumberFormat = NumberFormatImpl;\nconst I18nN = NumberFormat;\n\nconst DatetimeFormatImpl = /* #__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-d',\n props: assign({\n value: {\n type: [Number, Date],\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[DatetimePartsSymbol](...args));\n }\n});\n/**\n * Datetime Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/datetime#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.DateTimeFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat)\n *\n * @VueI18nComponent\n */\nconst DatetimeFormat = DatetimeFormatImpl;\nconst I18nD = DatetimeFormat;\n\nfunction getComposer$2(i18n, instance) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n return (i18nInternal.__getInstance(instance) || i18n.global);\n }\n else {\n const vueI18n = i18nInternal.__getInstance(instance);\n return vueI18n != null\n ? vueI18n.__composer\n : i18n.global.__composer;\n }\n}\nfunction vTDirective(i18n) {\n const _process = (binding) => {\n const { instance, modifiers, value } = binding;\n /* istanbul ignore if */\n if (!instance || !instance.$) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const composer = getComposer$2(i18n, instance.$);\n if ((process.env.NODE_ENV !== 'production') && modifiers.preserve) {\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE));\n }\n const parsedValue = parseValue(value);\n return [\n Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]),\n composer\n ];\n };\n const register = (el, binding) => {\n const [textContent, composer] = _process(binding);\n if (inBrowser && i18n.global === composer) {\n // global scope only\n el.__i18nWatcher = watch(composer.locale, () => {\n binding.instance && binding.instance.$forceUpdate();\n });\n }\n el.__composer = composer;\n el.textContent = textContent;\n };\n const unregister = (el) => {\n if (inBrowser && el.__i18nWatcher) {\n el.__i18nWatcher();\n el.__i18nWatcher = undefined;\n delete el.__i18nWatcher;\n }\n if (el.__composer) {\n el.__composer = undefined;\n delete el.__composer;\n }\n };\n const update = (el, { value }) => {\n if (el.__composer) {\n const composer = el.__composer;\n const parsedValue = parseValue(value);\n el.textContent = Reflect.apply(composer.t, composer, [\n ...makeParams(parsedValue)\n ]);\n }\n };\n const getSSRProps = (binding) => {\n const [textContent] = _process(binding);\n return { textContent };\n };\n return {\n created: register,\n unmounted: unregister,\n beforeUpdate: update,\n getSSRProps\n };\n}\nfunction parseValue(value) {\n if (isString(value)) {\n return { path: value };\n }\n else if (isPlainObject(value)) {\n if (!('path' in value)) {\n throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, 'path');\n }\n return value;\n }\n else {\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\n }\n}\nfunction makeParams(value) {\n const { path, locale, args, choice, plural } = value;\n const options = {};\n const named = args || {};\n if (isString(locale)) {\n options.locale = locale;\n }\n if (isNumber(choice)) {\n options.plural = choice;\n }\n if (isNumber(plural)) {\n options.plural = plural;\n }\n return [path, named, options];\n}\n\nfunction apply(app, i18n, ...options) {\n const pluginOptions = isPlainObject(options[0])\n ? options[0]\n : {};\n const useI18nComponentName = !!pluginOptions.useI18nComponentName;\n const globalInstall = isBoolean(pluginOptions.globalInstall)\n ? pluginOptions.globalInstall\n : true;\n if ((process.env.NODE_ENV !== 'production') && globalInstall && useI18nComponentName) {\n warn(getWarnMessage(I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE, {\n name: Translation.name\n }));\n }\n if (globalInstall) {\n [!useI18nComponentName ? Translation.name : 'i18n', 'I18nT'].forEach(name => app.component(name, Translation));\n [NumberFormat.name, 'I18nN'].forEach(name => app.component(name, NumberFormat));\n [DatetimeFormat.name, 'I18nD'].forEach(name => app.component(name, DatetimeFormat));\n }\n // install directive\n {\n app.directive('t', vTDirective(i18n));\n }\n}\n\nconst VueDevToolsLabels = {\n [\"vue-devtools-plugin-vue-i18n\" /* VueDevToolsIDs.PLUGIN */]: 'Vue I18n devtools',\n [\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]: 'I18n Resources',\n [\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */]: 'Vue I18n'\n};\nconst VueDevToolsPlaceholders = {\n [\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]: 'Search for scopes ...'\n};\nconst VueDevToolsTimelineColors = {\n [\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */]: 0xffcd19\n};\n\nconst VUE_I18N_COMPONENT_TYPES = 'vue-i18n: composer properties';\nlet devtoolsApi;\nasync function enableDevTools(app, i18n) {\n return new Promise((resolve, reject) => {\n try {\n setupDevtoolsPlugin({\n id: \"vue-devtools-plugin-vue-i18n\" /* VueDevToolsIDs.PLUGIN */,\n label: VueDevToolsLabels[\"vue-devtools-plugin-vue-i18n\" /* VueDevToolsIDs.PLUGIN */],\n packageName: 'vue-i18n',\n homepage: 'https://vue-i18n.intlify.dev',\n logo: 'https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png',\n componentStateTypes: [VUE_I18N_COMPONENT_TYPES],\n app: app // eslint-disable-line @typescript-eslint/no-explicit-any\n }, api => {\n devtoolsApi = api;\n api.on.visitComponentTree(({ componentInstance, treeNode }) => {\n updateComponentTreeTags(componentInstance, treeNode, i18n);\n });\n api.on.inspectComponent(({ componentInstance, instanceData }) => {\n if (componentInstance.vnode.el &&\n componentInstance.vnode.el.__VUE_I18N__ &&\n instanceData) {\n if (i18n.mode === 'legacy') {\n // ignore global scope on legacy mode\n if (componentInstance.vnode.el.__VUE_I18N__ !==\n i18n.global.__composer) {\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\n }\n }\n else {\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\n }\n }\n });\n api.addInspector({\n id: \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */,\n label: VueDevToolsLabels[\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */],\n icon: 'language',\n treeFilterPlaceholder: VueDevToolsPlaceholders[\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]\n });\n api.on.getInspectorTree(payload => {\n if (payload.app === app &&\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {\n registerScope(payload, i18n);\n }\n });\n const roots = new Map();\n api.on.getInspectorState(async (payload) => {\n if (payload.app === app &&\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {\n api.unhighlightElement();\n inspectScope(payload, i18n);\n if (payload.nodeId === 'global') {\n if (!roots.has(payload.app)) {\n const [root] = await api.getComponentInstances(payload.app);\n roots.set(payload.app, root);\n }\n api.highlightElement(roots.get(payload.app));\n }\n else {\n const instance = getComponentInstance(payload.nodeId, i18n);\n instance && api.highlightElement(instance);\n }\n }\n });\n api.on.editInspectorState(payload => {\n if (payload.app === app &&\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {\n editScope(payload, i18n);\n }\n });\n api.addTimelineLayer({\n id: \"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */,\n label: VueDevToolsLabels[\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */],\n color: VueDevToolsTimelineColors[\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */]\n });\n resolve(true);\n });\n }\n catch (e) {\n console.error(e);\n reject(false);\n }\n });\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getI18nScopeLable(instance) {\n return (instance.type.name ||\n instance.type.displayName ||\n instance.type.__file ||\n 'Anonymous');\n}\nfunction updateComponentTreeTags(instance, // eslint-disable-line @typescript-eslint/no-explicit-any\ntreeNode, i18n) {\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n if (instance && instance.vnode.el && instance.vnode.el.__VUE_I18N__) {\n // add custom tags local scope only\n if (instance.vnode.el.__VUE_I18N__ !== global) {\n const tag = {\n label: `i18n (${getI18nScopeLable(instance)} Scope)`,\n textColor: 0x000000,\n backgroundColor: 0xffcd19\n };\n treeNode.tags.push(tag);\n }\n }\n}\nfunction inspectComposer(instanceData, composer) {\n const type = VUE_I18N_COMPONENT_TYPES;\n instanceData.state.push({\n type,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n });\n instanceData.state.push({\n type,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n });\n instanceData.state.push({\n type,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n });\n instanceData.state.push({\n type,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n });\n instanceData.state.push({\n type,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n });\n {\n instanceData.state.push({\n type,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n });\n instanceData.state.push({\n type,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n });\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getLocaleMessageValue(messages) {\n const value = {};\n Object.keys(messages).forEach((key) => {\n const v = messages[key];\n if (isFunction(v) && 'source' in v) {\n value[key] = getMessageFunctionDetails(v);\n }\n else if (isMessageAST(v) && v.loc && v.loc.source) {\n value[key] = v.loc.source;\n }\n else if (isObject(v)) {\n value[key] = getLocaleMessageValue(v);\n }\n else {\n value[key] = v;\n }\n });\n return value;\n}\nconst ESC = {\n '<': '<',\n '>': '>',\n '\"': '"',\n '&': '&'\n};\nfunction escape(s) {\n return s.replace(/[<>\"&]/g, escapeChar);\n}\nfunction escapeChar(a) {\n return ESC[a] || a;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getMessageFunctionDetails(func) {\n const argString = func.source ? `(\"${escape(func.source)}\")` : `(?)`;\n return {\n _custom: {\n type: 'function',\n display: `<span>ƒ</span> ${argString}`\n }\n };\n}\nfunction registerScope(payload, i18n) {\n payload.rootNodes.push({\n id: 'global',\n label: 'Global Scope'\n });\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n for (const [keyInstance, instance] of i18n.__instances) {\n // prettier-ignore\n const composer = i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n if (global === composer) {\n continue;\n }\n payload.rootNodes.push({\n id: composer.id.toString(),\n label: `${getI18nScopeLable(keyInstance)} Scope`\n });\n }\n}\nfunction getComponentInstance(nodeId, i18n) {\n let instance = null;\n if (nodeId !== 'global') {\n for (const [component, composer] of i18n.__instances.entries()) {\n if (composer.id.toString() === nodeId) {\n instance = component;\n break;\n }\n }\n }\n return instance;\n}\nfunction getComposer$1(nodeId, i18n) {\n if (nodeId === 'global') {\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n }\n else {\n const instance = Array.from(i18n.__instances.values()).find(item => item.id.toString() === nodeId);\n if (instance) {\n return i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n }\n else {\n return null;\n }\n }\n}\nfunction inspectScope(payload, i18n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) {\n const composer = getComposer$1(payload.nodeId, i18n);\n if (composer) {\n // TODO:\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n payload.state = makeScopeInspectState(composer);\n }\n return null;\n}\nfunction makeScopeInspectState(composer) {\n const state = {};\n const localeType = 'Locale related info';\n const localeStates = [\n {\n type: localeType,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n },\n {\n type: localeType,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n },\n {\n type: localeType,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n },\n {\n type: localeType,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n }\n ];\n state[localeType] = localeStates;\n const localeMessagesType = 'Locale messages info';\n const localeMessagesStates = [\n {\n type: localeMessagesType,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n }\n ];\n state[localeMessagesType] = localeMessagesStates;\n {\n const datetimeFormatsType = 'Datetime formats info';\n const datetimeFormatsStates = [\n {\n type: datetimeFormatsType,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n }\n ];\n state[datetimeFormatsType] = datetimeFormatsStates;\n const numberFormatsType = 'Datetime formats info';\n const numberFormatsStates = [\n {\n type: numberFormatsType,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n }\n ];\n state[numberFormatsType] = numberFormatsStates;\n }\n return state;\n}\nfunction addTimelineEvent(event, payload) {\n if (devtoolsApi) {\n let groupId;\n if (payload && 'groupId' in payload) {\n groupId = payload.groupId;\n delete payload.groupId;\n }\n devtoolsApi.addTimelineEvent({\n layerId: \"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */,\n event: {\n title: event,\n groupId,\n time: Date.now(),\n meta: {},\n data: payload || {},\n logType: event === \"compile-error\" /* VueDevToolsTimelineEvents.COMPILE_ERROR */\n ? 'error'\n : event === \"fallback\" /* VueDevToolsTimelineEvents.FALBACK */ ||\n event === \"missing\" /* VueDevToolsTimelineEvents.MISSING */\n ? 'warning'\n : 'default'\n }\n });\n }\n}\nfunction editScope(payload, i18n) {\n const composer = getComposer$1(payload.nodeId, i18n);\n if (composer) {\n const [field] = payload.path;\n if (field === 'locale' && isString(payload.state.value)) {\n composer.locale.value = payload.state.value;\n }\n else if (field === 'fallbackLocale' &&\n (isString(payload.state.value) ||\n isArray(payload.state.value) ||\n isObject(payload.state.value))) {\n composer.fallbackLocale.value = payload.state.value;\n }\n else if (field === 'inheritLocale' && isBoolean(payload.state.value)) {\n composer.inheritLocale = payload.state.value;\n }\n }\n}\n\n/**\n * Supports compatibility for legacy vue-i18n APIs\n * This mixin is used when we use vue-i18n@v9.x or later\n */\nfunction defineMixin(vuei18n, composer, i18n) {\n return {\n beforeCreate() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const options = this.$options;\n if (options.i18n) {\n const optionsI18n = options.i18n;\n if (options.__i18n) {\n optionsI18n.__i18n = options.__i18n;\n }\n optionsI18n.__root = composer;\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, optionsI18n);\n }\n else {\n optionsI18n.__injectWithOption = true;\n optionsI18n.__extender = i18n.__vueI18nExtend;\n // atttach local VueI18n instance\n this.$i18n = createVueI18n(optionsI18n);\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else if (options.__i18n) {\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, options);\n }\n else {\n // atttach local VueI18n instance\n this.$i18n = createVueI18n({\n __i18n: options.__i18n,\n __injectWithOption: true,\n __extender: i18n.__vueI18nExtend,\n __root: composer\n });\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else {\n // attach global VueI18n instance\n this.$i18n = vuei18n;\n }\n if (options.__i18nGlobal) {\n adjustI18nResources(composer, options, options);\n }\n // defines vue-i18n legacy APIs\n this.$t = (...args) => this.$i18n.t(...args);\n this.$rt = (...args) => this.$i18n.rt(...args);\n this.$tc = (...args) => this.$i18n.tc(...args);\n this.$te = (key, locale) => this.$i18n.te(key, locale);\n this.$d = (...args) => this.$i18n.d(...args);\n this.$n = (...args) => this.$i18n.n(...args);\n this.$tm = (key) => this.$i18n.tm(key);\n i18n.__setInstance(instance, this.$i18n);\n },\n mounted() {\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$el &&\n this.$i18n) {\n const _vueI18n = this.$i18n;\n this.$el.__VUE_I18N__ = _vueI18n.__composer;\n const emitter = (this.__v_emitter =\n createEmitter());\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n emitter.on('*', addTimelineEvent);\n }\n },\n unmounted() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const _vueI18n = this.$i18n;\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$el &&\n this.$el.__VUE_I18N__) {\n if (this.__v_emitter) {\n this.__v_emitter.off('*', addTimelineEvent);\n delete this.__v_emitter;\n }\n if (this.$i18n) {\n _vueI18n.__disableEmitter && _vueI18n.__disableEmitter();\n delete this.$el.__VUE_I18N__;\n }\n }\n delete this.$t;\n delete this.$rt;\n delete this.$tc;\n delete this.$te;\n delete this.$d;\n delete this.$n;\n delete this.$tm;\n if (_vueI18n.__disposer) {\n _vueI18n.__disposer();\n delete _vueI18n.__disposer;\n delete _vueI18n.__extender;\n }\n i18n.__deleteInstance(instance);\n delete this.$i18n;\n }\n };\n}\nfunction mergeToGlobal(g, options) {\n g.locale = options.locale || g.locale;\n g.fallbackLocale = options.fallbackLocale || g.fallbackLocale;\n g.missing = options.missing || g.missing;\n g.silentTranslationWarn =\n options.silentTranslationWarn || g.silentFallbackWarn;\n g.silentFallbackWarn = options.silentFallbackWarn || g.silentFallbackWarn;\n g.formatFallbackMessages =\n options.formatFallbackMessages || g.formatFallbackMessages;\n g.postTranslation = options.postTranslation || g.postTranslation;\n g.warnHtmlInMessage = options.warnHtmlInMessage || g.warnHtmlInMessage;\n g.escapeParameterHtml = options.escapeParameterHtml || g.escapeParameterHtml;\n g.sync = options.sync || g.sync;\n g.__composer[SetPluralRulesSymbol](options.pluralizationRules || g.pluralizationRules);\n const messages = getLocaleMessages(g.locale, {\n messages: options.messages,\n __i18n: options.__i18n\n });\n Object.keys(messages).forEach(locale => g.mergeLocaleMessage(locale, messages[locale]));\n if (options.datetimeFormats) {\n Object.keys(options.datetimeFormats).forEach(locale => g.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));\n }\n if (options.numberFormats) {\n Object.keys(options.numberFormats).forEach(locale => g.mergeNumberFormat(locale, options.numberFormats[locale]));\n }\n return g;\n}\n\n/**\n * Injection key for {@link useI18n}\n *\n * @remarks\n * The global injection key for I18n instances with `useI18n`. this injection key is used in Web Components.\n * Specify the i18n instance created by {@link createI18n} together with `provide` function.\n *\n * @VueI18nGeneral\n */\nconst I18nInjectionKey = \n/* #__PURE__*/ makeSymbol('global-vue-i18n');\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nfunction createI18n(options = {}, VueI18nLegacy) {\n // prettier-ignore\n const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy)\n ? options.legacy\n : __VUE_I18N_LEGACY_API__;\n // prettier-ignore\n const __globalInjection = isBoolean(options.globalInjection)\n ? options.globalInjection\n : true;\n // prettier-ignore\n const __allowComposition = __VUE_I18N_LEGACY_API__ && __legacyMode\n ? !!options.allowComposition\n : true;\n const __instances = new Map();\n const [globalScope, __global] = createGlobal(options, __legacyMode);\n const symbol = /* #__PURE__*/ makeSymbol((process.env.NODE_ENV !== 'production') ? 'vue-i18n' : '');\n if ((process.env.NODE_ENV !== 'production')) {\n if (__legacyMode && __allowComposition && !false) {\n warn(getWarnMessage(I18nWarnCodes.NOTICE_DROP_ALLOW_COMPOSITION));\n }\n }\n function __getInstance(component) {\n return __instances.get(component) || null;\n }\n function __setInstance(component, instance) {\n __instances.set(component, instance);\n }\n function __deleteInstance(component) {\n __instances.delete(component);\n }\n {\n const i18n = {\n // mode\n get mode() {\n return __VUE_I18N_LEGACY_API__ && __legacyMode\n ? 'legacy'\n : 'composition';\n },\n // allowComposition\n get allowComposition() {\n return __allowComposition;\n },\n // install plugin\n async install(app, ...options) {\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false) {\n app.__VUE_I18N__ = i18n;\n }\n // setup global provider\n app.__VUE_I18N_SYMBOL__ = symbol;\n app.provide(app.__VUE_I18N_SYMBOL__, i18n);\n // set composer & vuei18n extend hook options from plugin options\n if (isPlainObject(options[0])) {\n const opts = options[0];\n i18n.__composerExtend =\n opts.__composerExtend;\n i18n.__vueI18nExtend =\n opts.__vueI18nExtend;\n }\n // global method and properties injection for Composition API\n let globalReleaseHandler = null;\n if (!__legacyMode && __globalInjection) {\n globalReleaseHandler = injectGlobalFields(app, i18n.global);\n }\n // install built-in components and directive\n if (__VUE_I18N_FULL_INSTALL__) {\n apply(app, i18n, ...options);\n }\n // setup mixin for Legacy API\n if (__VUE_I18N_LEGACY_API__ && __legacyMode) {\n app.mixin(defineMixin(__global, __global.__composer, i18n));\n }\n // release global scope\n const unmountApp = app.unmount;\n app.unmount = () => {\n globalReleaseHandler && globalReleaseHandler();\n i18n.dispose();\n unmountApp();\n };\n // setup vue-devtools plugin\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n const ret = await enableDevTools(app, i18n);\n if (!ret) {\n throw createI18nError(I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN);\n }\n const emitter = createEmitter();\n if (__legacyMode) {\n const _vueI18n = __global;\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = __global;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n }\n emitter.on('*', addTimelineEvent);\n }\n },\n // global accessor\n get global() {\n return __global;\n },\n dispose() {\n globalScope.stop();\n },\n // @internal\n __instances,\n // @internal\n __getInstance,\n // @internal\n __setInstance,\n // @internal\n __deleteInstance\n };\n return i18n;\n }\n}\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction useI18n(options = {}) {\n const instance = getCurrentInstance();\n if (instance == null) {\n throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);\n }\n if (!instance.isCE &&\n instance.appContext.app != null &&\n !instance.appContext.app.__VUE_I18N_SYMBOL__) {\n throw createI18nError(I18nErrorCodes.NOT_INSTALLED);\n }\n const i18n = getI18nInstance(instance);\n const gl = getGlobalComposer(i18n);\n const componentOptions = getComponentOptions(instance);\n const scope = getScope(options, componentOptions);\n if (__VUE_I18N_LEGACY_API__) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (i18n.mode === 'legacy' && !options.__useComponent) {\n if (!i18n.allowComposition) {\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE);\n }\n return useI18nForLegacy(instance, scope, gl, options);\n }\n }\n if (scope === 'global') {\n adjustI18nResources(gl, options, componentOptions);\n return gl;\n }\n if (scope === 'parent') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let composer = getComposer(i18n, instance, options.__useComponent);\n if (composer == null) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE));\n }\n composer = gl;\n }\n return composer;\n }\n const i18nInternal = i18n;\n let composer = i18nInternal.__getInstance(instance);\n if (composer == null) {\n const composerOptions = assign({}, options);\n if ('__i18n' in componentOptions) {\n composerOptions.__i18n = componentOptions.__i18n;\n }\n if (gl) {\n composerOptions.__root = gl;\n }\n composer = createComposer(composerOptions);\n if (i18nInternal.__composerExtend) {\n composer[DisposeSymbol] =\n i18nInternal.__composerExtend(composer);\n }\n setupLifeCycle(i18nInternal, instance, composer);\n i18nInternal.__setInstance(instance, composer);\n }\n return composer;\n}\n/**\n * Cast to VueI18n legacy compatible type\n *\n * @remarks\n * This API is provided only with [vue-i18n-bridge](https://vue-i18n.intlify.dev/guide/migration/ways.html#what-is-vue-i18n-bridge).\n *\n * The purpose of this function is to convert an {@link I18n} instance created with {@link createI18n | createI18n(legacy: true)} into a `vue-i18n@v8.x` compatible instance of `new VueI18n` in a TypeScript environment.\n *\n * @param i18n - An instance of {@link I18n}\n * @returns A i18n instance which is casted to {@link VueI18n} type\n *\n * @VueI18nTip\n * :new: provided by **vue-i18n-bridge only**\n *\n * @VueI18nGeneral\n */\n/* #__NO_SIDE_EFFECTS__ */\nconst castToVueI18n = (i18n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) => {\n if (!(__VUE_I18N_BRIDGE__ in i18n)) {\n throw createI18nError(I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N);\n }\n return i18n;\n};\nfunction createGlobal(options, legacyMode, VueI18nLegacy // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n const scope = effectScope();\n {\n const obj = __VUE_I18N_LEGACY_API__ && legacyMode\n ? scope.run(() => createVueI18n(options))\n : scope.run(() => createComposer(options));\n if (obj == null) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n return [scope, obj];\n }\n}\nfunction getI18nInstance(instance) {\n {\n const i18n = inject(!instance.isCE\n ? instance.appContext.app.__VUE_I18N_SYMBOL__\n : I18nInjectionKey);\n /* istanbul ignore if */\n if (!i18n) {\n throw createI18nError(!instance.isCE\n ? I18nErrorCodes.UNEXPECTED_ERROR\n : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE);\n }\n return i18n;\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getScope(options, componentOptions) {\n // prettier-ignore\n return isEmptyObject(options)\n ? ('__i18n' in componentOptions)\n ? 'local'\n : 'global'\n : !options.useScope\n ? 'local'\n : options.useScope;\n}\nfunction getGlobalComposer(i18n) {\n // prettier-ignore\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer\n ;\n}\nfunction getComposer(i18n, target, useComponent = false) {\n let composer = null;\n const root = target.root;\n let current = getParentComponentInstance(target, useComponent);\n while (current != null) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n composer = i18nInternal.__getInstance(current);\n }\n else {\n if (__VUE_I18N_LEGACY_API__) {\n const vueI18n = i18nInternal.__getInstance(current);\n if (vueI18n != null) {\n composer = vueI18n\n .__composer;\n if (useComponent &&\n composer &&\n !composer[InejctWithOptionSymbol] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n composer = null;\n }\n }\n }\n }\n if (composer != null) {\n break;\n }\n if (root === current) {\n break;\n }\n current = current.parent;\n }\n return composer;\n}\nfunction getParentComponentInstance(target, useComponent = false) {\n if (target == null) {\n return null;\n }\n {\n // if `useComponent: true` will be specified, we get lexical scope owner instance for use-case slots\n return !useComponent\n ? target.parent\n : target.vnode.ctx || target.parent; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n}\nfunction setupLifeCycle(i18n, target, composer) {\n let emitter = null;\n {\n onMounted(() => {\n // inject composer instance to DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n target.vnode.el) {\n target.vnode.el.__VUE_I18N__ = composer;\n emitter = createEmitter();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n emitter.on('*', addTimelineEvent);\n }\n }, target);\n onUnmounted(() => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n // remove composer instance from DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n target.vnode.el &&\n target.vnode.el.__VUE_I18N__) {\n emitter && emitter.off('*', addTimelineEvent);\n _composer[DisableEmitter] && _composer[DisableEmitter]();\n delete target.vnode.el.__VUE_I18N__;\n }\n i18n.__deleteInstance(target);\n // dispose extended resources\n const dispose = _composer[DisposeSymbol];\n if (dispose) {\n dispose();\n delete _composer[DisposeSymbol];\n }\n }, target);\n }\n}\nfunction useI18nForLegacy(instance, scope, root, options = {} // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n const isLocalScope = scope === 'local';\n const _composer = shallowRef(null);\n if (isLocalScope &&\n instance.proxy &&\n !(instance.proxy.$options.i18n || instance.proxy.$options.__i18n)) {\n throw createI18nError(I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);\n }\n const _inheritLocale = isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : !isString(options.locale);\n const _locale = ref(\n // prettier-ignore\n !isLocalScope || _inheritLocale\n ? root.locale.value\n : isString(options.locale)\n ? options.locale\n : DEFAULT_LOCALE);\n const _fallbackLocale = ref(\n // prettier-ignore\n !isLocalScope || _inheritLocale\n ? root.fallbackLocale.value\n : isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = ref(isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} });\n // prettier-ignore\n const _numberFormats = ref(isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} });\n // prettier-ignore\n const _missingWarn = isLocalScope\n ? root.missingWarn\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n const _fallbackWarn = isLocalScope\n ? root.fallbackWarn\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n const _fallbackRoot = isLocalScope\n ? root.fallbackRoot\n : isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n const _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n const _missing = isFunction(options.missing) ? options.missing : null;\n // postTranslation handler\n const _postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n const _warnHtmlMessage = isLocalScope\n ? root.warnHtmlMessage\n : isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n const _escapeParameter = !!options.escapeParameter;\n // prettier-ignore\n const _modifiers = isLocalScope\n ? root.modifiers\n : isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n const _pluralRules = options.pluralRules || (isLocalScope && root.pluralRules);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ];\n }\n // locale\n const locale = computed({\n get: () => {\n return _composer.value ? _composer.value.locale.value : _locale.value;\n },\n set: val => {\n if (_composer.value) {\n _composer.value.locale.value = val;\n }\n _locale.value = val;\n }\n });\n // fallbackLocale\n const fallbackLocale = computed({\n get: () => {\n return _composer.value\n ? _composer.value.fallbackLocale.value\n : _fallbackLocale.value;\n },\n set: val => {\n if (_composer.value) {\n _composer.value.fallbackLocale.value = val;\n }\n _fallbackLocale.value = val;\n }\n });\n // messages\n const messages = computed(() => {\n if (_composer.value) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return _composer.value.messages.value;\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return _messages.value;\n }\n });\n const datetimeFormats = computed(() => _datetimeFormats.value);\n const numberFormats = computed(() => _numberFormats.value);\n function getPostTranslationHandler() {\n return _composer.value\n ? _composer.value.getPostTranslationHandler()\n : _postTranslation;\n }\n function setPostTranslationHandler(handler) {\n if (_composer.value) {\n _composer.value.setPostTranslationHandler(handler);\n }\n }\n function getMissingHandler() {\n return _composer.value ? _composer.value.getMissingHandler() : _missing;\n }\n function setMissingHandler(handler) {\n if (_composer.value) {\n _composer.value.setMissingHandler(handler);\n }\n }\n function warpWithDeps(fn) {\n trackReactivityValues();\n return fn();\n }\n function t(...args) {\n return _composer.value\n ? warpWithDeps(() => Reflect.apply(_composer.value.t, null, [...args]))\n : warpWithDeps(() => '');\n }\n function rt(...args) {\n return _composer.value\n ? Reflect.apply(_composer.value.rt, null, [...args])\n : '';\n }\n function d(...args) {\n return _composer.value\n ? warpWithDeps(() => Reflect.apply(_composer.value.d, null, [...args]))\n : warpWithDeps(() => '');\n }\n function n(...args) {\n return _composer.value\n ? warpWithDeps(() => Reflect.apply(_composer.value.n, null, [...args]))\n : warpWithDeps(() => '');\n }\n function tm(key) {\n return _composer.value ? _composer.value.tm(key) : {};\n }\n function te(key, locale) {\n return _composer.value ? _composer.value.te(key, locale) : false;\n }\n function getLocaleMessage(locale) {\n return _composer.value ? _composer.value.getLocaleMessage(locale) : {};\n }\n function setLocaleMessage(locale, message) {\n if (_composer.value) {\n _composer.value.setLocaleMessage(locale, message);\n _messages.value[locale] = message;\n }\n }\n function mergeLocaleMessage(locale, message) {\n if (_composer.value) {\n _composer.value.mergeLocaleMessage(locale, message);\n }\n }\n function getDateTimeFormat(locale) {\n return _composer.value ? _composer.value.getDateTimeFormat(locale) : {};\n }\n function setDateTimeFormat(locale, format) {\n if (_composer.value) {\n _composer.value.setDateTimeFormat(locale, format);\n _datetimeFormats.value[locale] = format;\n }\n }\n function mergeDateTimeFormat(locale, format) {\n if (_composer.value) {\n _composer.value.mergeDateTimeFormat(locale, format);\n }\n }\n function getNumberFormat(locale) {\n return _composer.value ? _composer.value.getNumberFormat(locale) : {};\n }\n function setNumberFormat(locale, format) {\n if (_composer.value) {\n _composer.value.setNumberFormat(locale, format);\n _numberFormats.value[locale] = format;\n }\n }\n function mergeNumberFormat(locale, format) {\n if (_composer.value) {\n _composer.value.mergeNumberFormat(locale, format);\n }\n }\n const wrapper = {\n get id() {\n return _composer.value ? _composer.value.id : -1;\n },\n locale,\n fallbackLocale,\n messages,\n datetimeFormats,\n numberFormats,\n get inheritLocale() {\n return _composer.value ? _composer.value.inheritLocale : _inheritLocale;\n },\n set inheritLocale(val) {\n if (_composer.value) {\n _composer.value.inheritLocale = val;\n }\n },\n get availableLocales() {\n return _composer.value\n ? _composer.value.availableLocales\n : Object.keys(_messages.value);\n },\n get modifiers() {\n return (_composer.value ? _composer.value.modifiers : _modifiers);\n },\n get pluralRules() {\n return (_composer.value ? _composer.value.pluralRules : _pluralRules);\n },\n get isGlobal() {\n return _composer.value ? _composer.value.isGlobal : false;\n },\n get missingWarn() {\n return _composer.value ? _composer.value.missingWarn : _missingWarn;\n },\n set missingWarn(val) {\n if (_composer.value) {\n _composer.value.missingWarn = val;\n }\n },\n get fallbackWarn() {\n return _composer.value ? _composer.value.fallbackWarn : _fallbackWarn;\n },\n set fallbackWarn(val) {\n if (_composer.value) {\n _composer.value.missingWarn = val;\n }\n },\n get fallbackRoot() {\n return _composer.value ? _composer.value.fallbackRoot : _fallbackRoot;\n },\n set fallbackRoot(val) {\n if (_composer.value) {\n _composer.value.fallbackRoot = val;\n }\n },\n get fallbackFormat() {\n return _composer.value ? _composer.value.fallbackFormat : _fallbackFormat;\n },\n set fallbackFormat(val) {\n if (_composer.value) {\n _composer.value.fallbackFormat = val;\n }\n },\n get warnHtmlMessage() {\n return _composer.value\n ? _composer.value.warnHtmlMessage\n : _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n if (_composer.value) {\n _composer.value.warnHtmlMessage = val;\n }\n },\n get escapeParameter() {\n return _composer.value\n ? _composer.value.escapeParameter\n : _escapeParameter;\n },\n set escapeParameter(val) {\n if (_composer.value) {\n _composer.value.escapeParameter = val;\n }\n },\n t,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n rt,\n d,\n n,\n tm,\n te,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getDateTimeFormat,\n setDateTimeFormat,\n mergeDateTimeFormat,\n getNumberFormat,\n setNumberFormat,\n mergeNumberFormat\n };\n function sync(composer) {\n composer.locale.value = _locale.value;\n composer.fallbackLocale.value = _fallbackLocale.value;\n Object.keys(_messages.value).forEach(locale => {\n composer.mergeLocaleMessage(locale, _messages.value[locale]);\n });\n Object.keys(_datetimeFormats.value).forEach(locale => {\n composer.mergeDateTimeFormat(locale, _datetimeFormats.value[locale]);\n });\n Object.keys(_numberFormats.value).forEach(locale => {\n composer.mergeNumberFormat(locale, _numberFormats.value[locale]);\n });\n composer.escapeParameter = _escapeParameter;\n composer.fallbackFormat = _fallbackFormat;\n composer.fallbackRoot = _fallbackRoot;\n composer.fallbackWarn = _fallbackWarn;\n composer.missingWarn = _missingWarn;\n composer.warnHtmlMessage = _warnHtmlMessage;\n }\n onBeforeMount(() => {\n if (instance.proxy == null || instance.proxy.$i18n == null) {\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const composer = (_composer.value = instance.proxy.$i18n\n .__composer);\n if (scope === 'global') {\n _locale.value = composer.locale.value;\n _fallbackLocale.value = composer.fallbackLocale.value;\n _messages.value = composer.messages.value;\n _datetimeFormats.value = composer.datetimeFormats.value;\n _numberFormats.value = composer.numberFormats.value;\n }\n else if (isLocalScope) {\n sync(composer);\n }\n });\n return wrapper;\n}\nconst globalExportProps = [\n 'locale',\n 'fallbackLocale',\n 'availableLocales'\n];\nconst globalExportMethods = ['t', 'rt', 'd', 'n', 'tm', 'te']\n ;\nfunction injectGlobalFields(app, composer) {\n const i18n = Object.create(null);\n globalExportProps.forEach(prop => {\n const desc = Object.getOwnPropertyDescriptor(composer, prop);\n if (!desc) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const wrap = isRef(desc.value) // check computed props\n ? {\n get() {\n return desc.value.value;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set(val) {\n desc.value.value = val;\n }\n }\n : {\n get() {\n return desc.get && desc.get();\n }\n };\n Object.defineProperty(i18n, prop, wrap);\n });\n app.config.globalProperties.$i18n = i18n;\n globalExportMethods.forEach(method => {\n const desc = Object.getOwnPropertyDescriptor(composer, method);\n if (!desc || !desc.value) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n Object.defineProperty(app.config.globalProperties, `$${method}`, desc);\n });\n const dispose = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties.$i18n;\n globalExportMethods.forEach(method => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties[`$${method}`];\n });\n };\n return dispose;\n}\n\n{\n initFeatureFlags();\n}\n// register message compiler at vue-i18n\nif (__INTLIFY_JIT_COMPILATION__) {\n registerMessageCompiler(compile);\n}\nelse {\n registerMessageCompiler(compileToFunction);\n}\n// register message resolver at vue-i18n\nregisterMessageResolver(resolveValue);\n// register fallback locale at vue-i18n\nregisterLocaleFallbacker(fallbackWithLocaleChain);\n// NOTE: experimental !!\nif ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n const target = getGlobalThis();\n target.__INTLIFY__ = true;\n setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);\n}\nif ((process.env.NODE_ENV !== 'production')) ;\n\nexport { DatetimeFormat, I18nD, I18nInjectionKey, I18nN, I18nT, NumberFormat, Translation, VERSION, castToVueI18n, createI18n, useI18n, vTDirective };\n","import { useRequestHeaders, useCookie as useNuxtCookie } from \"#imports\";\nimport { ref, computed, watch, onUnmounted } from \"vue\";\nimport { parseAcceptLanguage, wrapComposable, runtimeDetectBrowserLanguage } from \"../internal.js\";\nimport { localeCodes, normalizedLocales } from \"#build/i18n.options.mjs\";\nimport { getActiveHead } from \"unhead\";\nimport { getNormalizedLocales, initCommonComposableOptions } from \"../utils.js\";\nimport {\n getAlternateOgLocales,\n getCanonicalLink,\n getCurrentOgLocale,\n getHreflangLinks,\n getOgUrl,\n getRouteBaseName,\n localeHead,\n localeLocation,\n localePath,\n localeRoute,\n switchLocalePath\n} from \"../routing/compatibles/index.js\";\nimport { findBrowserLocale, getComposer, getLocale, getLocales } from \"../routing/utils.js\";\nexport * from \"vue-i18n\";\nexport * from \"./shared.js\";\nexport function useSetI18nParams(seoAttributes) {\n const common = initCommonComposableOptions();\n const head = getActiveHead();\n const i18n = getComposer(common.i18n);\n const router = common.router;\n const locale = getLocale(i18n);\n const locales = getNormalizedLocales(getLocales(i18n));\n const _i18nParams = ref({});\n const experimentalSSR = common.runtimeConfig.public.i18n.experimental.switchLocalePathLinkSSR;\n const i18nParams = computed({\n get() {\n return experimentalSSR ? common.metaState.value : router.currentRoute.value.meta.nuxtI18n ?? {};\n },\n set(val) {\n common.metaState.value = val;\n _i18nParams.value = val;\n router.currentRoute.value.meta.nuxtI18n = val;\n }\n });\n const stop = watch(\n () => router.currentRoute.value.fullPath,\n () => {\n router.currentRoute.value.meta.nuxtI18n = experimentalSSR ? common.metaState.value : _i18nParams.value;\n }\n );\n onUnmounted(() => {\n stop();\n });\n const currentLocale = getNormalizedLocales(locales).find((l) => l.code === locale) || { code: locale };\n const currentLocaleLanguage = currentLocale.language;\n const setMeta = () => {\n const metaObject = {\n link: [],\n meta: []\n };\n if (locale && i18n.locales) {\n const idAttribute = \"id\";\n metaObject.link.push(\n ...getHreflangLinks(common, locales, idAttribute),\n ...getCanonicalLink(common, idAttribute, seoAttributes)\n );\n metaObject.meta.push(\n ...getOgUrl(common, idAttribute, seoAttributes),\n ...getCurrentOgLocale(currentLocale, currentLocaleLanguage, idAttribute),\n ...getAlternateOgLocales(locales, currentLocaleLanguage, idAttribute)\n );\n }\n head?.push(metaObject);\n };\n return function(params) {\n i18nParams.value = { ...params };\n setMeta();\n };\n}\nexport function useLocaleHead({\n addDirAttribute = false,\n addSeoAttributes = false,\n identifierAttribute = \"hid\"\n} = {}) {\n const common = initCommonComposableOptions();\n const metaObject = ref({\n htmlAttrs: {},\n link: [],\n meta: []\n });\n function cleanMeta() {\n metaObject.value = {\n htmlAttrs: {},\n link: [],\n meta: []\n };\n }\n function updateMeta() {\n metaObject.value = localeHead(common, {\n addDirAttribute,\n addSeoAttributes,\n identifierAttribute\n });\n }\n if (import.meta.client) {\n const i18n = getComposer(common.i18n);\n const stop = watch(\n [() => common.router.currentRoute.value, i18n.locale],\n () => {\n cleanMeta();\n updateMeta();\n },\n { immediate: true }\n );\n onUnmounted(() => stop());\n } else {\n updateMeta();\n }\n return metaObject;\n}\nexport function useRouteBaseName() {\n return wrapComposable(getRouteBaseName);\n}\nexport function useLocalePath() {\n return wrapComposable(localePath);\n}\nexport function useLocaleRoute() {\n return wrapComposable(localeRoute);\n}\nexport function useLocaleLocation() {\n return wrapComposable(localeLocation);\n}\nexport function useSwitchLocalePath() {\n return wrapComposable(switchLocalePath);\n}\nexport function useBrowserLocale() {\n const headers = useRequestHeaders([\"accept-language\"]);\n return findBrowserLocale(\n normalizedLocales,\n import.meta.client ? navigator.languages : parseAcceptLanguage(headers[\"accept-language\"] || \"\")\n ) || null;\n}\nexport function useCookieLocale() {\n const locale = ref(\"\");\n const detect = runtimeDetectBrowserLanguage();\n if (detect && detect.useCookie) {\n const cookieKey = detect.cookieKey;\n let code = null;\n if (import.meta.client) {\n code = useNuxtCookie(cookieKey).value;\n } else if (import.meta.server) {\n const cookie = useRequestHeaders([\"cookie\"]);\n code = cookie[cookieKey];\n }\n if (code && localeCodes.includes(code)) {\n locale.value = code;\n }\n }\n return locale;\n}\nconst warnRuntimeUsage = (method) => console.warn(\n method + \"() is a compiler-hint helper that is only usable inside the script block of a single file component. Its arguments should be compiled away and passing it at runtime has no effect.\"\n);\nexport function defineI18nRoute(route) {\n if (import.meta.dev) {\n warnRuntimeUsage(\"defineI18nRoute\");\n }\n}\n","import { defineNuxtPlugin } from \"#imports\";\nimport { useSwitchLocalePath } from \"#i18n\";\nimport { SWITCH_LOCALE_PATH_LINK_IDENTIFIER } from \"#build/i18n.options.mjs\";\nexport default defineNuxtPlugin({\n name: \"i18n:plugin:switch-locale-path-ssr\",\n dependsOn: [\"i18n:plugin\"],\n setup(nuxt) {\n if (nuxt.$config.public.i18n.experimental.switchLocalePathLinkSSR !== true) return;\n const switchLocalePath = useSwitchLocalePath();\n const switchLocalePathLinkWrapperExpr = new RegExp(\n [\n `<!--${SWITCH_LOCALE_PATH_LINK_IDENTIFIER}-\\\\[(\\\\w+)\\\\]-->`,\n `.+?`,\n `<!--/${SWITCH_LOCALE_PATH_LINK_IDENTIFIER}-->`\n ].join(\"\"),\n \"g\"\n );\n nuxt.hook(\"app:rendered\", (ctx) => {\n if (ctx.renderResult?.html == null) return;\n ctx.renderResult.html = ctx.renderResult.html.replaceAll(\n switchLocalePathLinkWrapperExpr,\n (match, p1) => match.replace(/href=\"([^\"]+)\"/, `href=\"${encodeURI(switchLocalePath(p1 ?? \"\"))}\"`)\n );\n });\n }\n});\n","import { isObject, isFunction, assign } from \"@intlify/shared\";\nimport { computed, effectScope, ref, watch } from \"#imports\";\nimport { resolveBaseUrl, isVueI18n, getComposer, inBrowser } from \"../utils.js\";\nimport {\n getRouteBaseName,\n localeHead,\n localeLocation,\n localePath,\n localeRoute,\n resolveRoute,\n switchLocalePath\n} from \"../compatibles/index.js\";\nimport { wrapComposable } from \"../../internal.js\";\nimport { initCommonComposableOptions } from \"../../utils.js\";\nexport function extendI18n(i18n, {\n locales = [],\n localeCodes = [],\n baseUrl = \"\",\n hooks = {},\n context = {}\n} = {}) {\n const scope = effectScope();\n const orgInstall = i18n.install;\n i18n.install = (vue, ...options) => {\n const pluginOptions = isPluginOptions(options[0]) ? assign({}, options[0]) : { inject: true };\n if (pluginOptions.inject == null) {\n pluginOptions.inject = true;\n }\n const orgComposerExtend = pluginOptions.__composerExtend;\n pluginOptions.__composerExtend = (localComposer) => {\n const globalComposer2 = getComposer(i18n);\n localComposer.locales = computed(() => globalComposer2.locales.value);\n localComposer.localeCodes = computed(() => globalComposer2.localeCodes.value);\n localComposer.baseUrl = computed(() => globalComposer2.baseUrl.value);\n let orgComposerDispose;\n if (isFunction(orgComposerExtend)) {\n orgComposerDispose = Reflect.apply(orgComposerExtend, pluginOptions, [localComposer]);\n }\n return () => {\n orgComposerDispose && orgComposerDispose();\n };\n };\n if (i18n.mode === \"legacy\") {\n const orgVueI18nExtend = pluginOptions.__vueI18nExtend;\n pluginOptions.__vueI18nExtend = (vueI18n) => {\n extendVueI18n(vueI18n, hooks.onExtendVueI18n);\n let orgVueI18nDispose;\n if (isFunction(orgVueI18nExtend)) {\n orgVueI18nDispose = Reflect.apply(orgVueI18nExtend, pluginOptions, [vueI18n]);\n }\n return () => {\n orgVueI18nDispose && orgVueI18nDispose();\n };\n };\n }\n options[0] = pluginOptions;\n Reflect.apply(orgInstall, i18n, [vue, ...options]);\n const globalComposer = getComposer(i18n);\n scope.run(() => {\n extendComposer(globalComposer, { locales, localeCodes, baseUrl, hooks, context });\n if (i18n.mode === \"legacy\" && isVueI18n(i18n.global)) {\n extendVueI18n(i18n.global, hooks.onExtendVueI18n);\n }\n });\n const app = vue;\n const exported = i18n.mode === \"composition\" ? app.config.globalProperties.$i18n : null;\n if (exported) {\n extendExportedGlobal(exported, globalComposer, hooks.onExtendExportedGlobal);\n }\n if (pluginOptions.inject) {\n const common = initCommonComposableOptions(i18n);\n vue.mixin({\n methods: {\n getRouteBaseName: wrapComposable(getRouteBaseName, common),\n resolveRoute: wrapComposable(resolveRoute, common),\n localePath: wrapComposable(localePath, common),\n localeRoute: wrapComposable(localeRoute, common),\n localeLocation: wrapComposable(localeLocation, common),\n switchLocalePath: wrapComposable(switchLocalePath, common),\n localeHead: wrapComposable(localeHead, common)\n }\n });\n }\n if (app.unmount) {\n const unmountApp = app.unmount;\n app.unmount = () => {\n scope.stop();\n unmountApp();\n };\n }\n };\n return scope;\n}\nfunction extendComposer(composer, options) {\n const { locales, localeCodes, baseUrl, context } = options;\n const _locales = ref(locales);\n const _localeCodes = ref(localeCodes);\n const _baseUrl = ref(\"\");\n composer.locales = computed(() => _locales.value);\n composer.localeCodes = computed(() => _localeCodes.value);\n composer.baseUrl = computed(() => _baseUrl.value);\n if (inBrowser) {\n watch(\n composer.locale,\n () => {\n _baseUrl.value = resolveBaseUrl(baseUrl, context);\n },\n { immediate: true }\n );\n } else {\n _baseUrl.value = resolveBaseUrl(baseUrl, context);\n }\n if (options.hooks && options.hooks.onExtendComposer) {\n options.hooks.onExtendComposer(composer);\n }\n}\nfunction extendPropertyDescriptors(composer, exported, hook) {\n const properties = [\n {\n locales: {\n get() {\n return composer.locales.value;\n }\n },\n localeCodes: {\n get() {\n return composer.localeCodes.value;\n }\n },\n baseUrl: {\n get() {\n return composer.baseUrl.value;\n }\n }\n }\n ];\n hook && properties.push(hook(composer));\n for (const property of properties) {\n for (const [key, descriptor] of Object.entries(property)) {\n Object.defineProperty(exported, key, descriptor);\n }\n }\n}\nfunction extendExportedGlobal(exported, g, hook) {\n extendPropertyDescriptors(g, exported, hook);\n}\nfunction extendVueI18n(vueI18n, hook) {\n const c = getComposer(vueI18n);\n extendPropertyDescriptors(c, vueI18n, hook);\n}\nfunction isPluginOptions(options) {\n return isObject(options) && (\"inject\" in options || \"__composerExtend\" in options || \"__vueI18nExtend\" in options);\n}\n","import { computed } from \"vue\";\nimport { createI18n } from \"vue-i18n\";\nimport {\n defineNuxtPlugin,\n useRoute,\n addRouteMiddleware,\n defineNuxtRouteMiddleware,\n useNuxtApp,\n useRouter\n} from \"#imports\";\nimport {\n localeCodes,\n vueI18nConfigs,\n isSSG,\n localeLoaders,\n parallelPlugin,\n normalizedLocales\n} from \"#build/i18n.options.mjs\";\nimport { loadVueI18nOptions, loadInitialMessages, loadLocale } from \"../messages.js\";\nimport {\n loadAndSetLocale,\n detectLocale,\n detectRedirect,\n navigate,\n injectNuxtHelpers,\n extendBaseUrl,\n _setLocale,\n mergeLocaleMessage\n} from \"../utils.js\";\nimport {\n getBrowserLocale as _getBrowserLocale,\n getLocaleCookie as _getLocaleCookie,\n setLocaleCookie as _setLocaleCookie,\n detectBrowserLanguage,\n getI18nCookie,\n runtimeDetectBrowserLanguage,\n getHost\n} from \"../internal.js\";\nimport { getComposer, getLocale, setLocale } from \"../routing/utils.js\";\nimport { extendI18n, createLocaleFromRouteGetter } from \"../routing/extends/index.js\";\nexport default defineNuxtPlugin({\n name: \"i18n:plugin\",\n parallel: parallelPlugin,\n async setup(nuxt) {\n const route = useRoute();\n const { vueApp: app } = nuxt;\n const nuxtContext = nuxt;\n const host = getHost();\n const { configLocales, defaultLocale, multiDomainLocales, strategy } = nuxtContext.$config.public.i18n;\n const hasDefaultForDomains = configLocales.some(\n (l) => typeof l !== \"string\" && Array.isArray(l.defaultForDomains)\n );\n let defaultLocaleDomain;\n if (defaultLocale) {\n defaultLocaleDomain = defaultLocale;\n } else if (hasDefaultForDomains) {\n const findDefaultLocale = configLocales.find(\n (l) => typeof l === \"string\" || !Array.isArray(l.defaultForDomains) ? false : l.defaultForDomains.includes(host ?? \"\")\n );\n defaultLocaleDomain = findDefaultLocale?.code ?? \"\";\n } else {\n defaultLocaleDomain = \"\";\n }\n if (multiDomainLocales && (strategy === \"prefix_except_default\" || strategy === \"prefix_and_default\")) {\n const router = useRouter();\n router.getRoutes().forEach((route2) => {\n if (route2.name?.toString().includes(\"___default\")) {\n const routeNameLocale = route2.name.toString().split(\"___\")[1];\n if (routeNameLocale !== defaultLocaleDomain) {\n router.removeRoute(route2.name);\n } else {\n const newRouteName = route2.name.toString().replace(\"___default\", \"\");\n route2.name = newRouteName;\n }\n }\n });\n }\n const runtimeI18n = { ...nuxtContext.$config.public.i18n, defaultLocale: defaultLocaleDomain };\n runtimeI18n.baseUrl = extendBaseUrl();\n const _detectBrowserLanguage = runtimeDetectBrowserLanguage();\n __DEBUG__ && console.log(\"isSSG\", isSSG);\n __DEBUG__ && console.log(\"useCookie on setup\", _detectBrowserLanguage && _detectBrowserLanguage.useCookie);\n __DEBUG__ && console.log(\"defaultLocale on setup\", runtimeI18n.defaultLocale);\n const vueI18nOptions = await loadVueI18nOptions(vueI18nConfigs, useNuxtApp());\n vueI18nOptions.messages = vueI18nOptions.messages || {};\n vueI18nOptions.fallbackLocale = vueI18nOptions.fallbackLocale ?? false;\n const getLocaleFromRoute = createLocaleFromRouteGetter();\n const getDefaultLocale = (locale) => locale || vueI18nOptions.locale || \"en-US\";\n const localeCookie = getI18nCookie();\n let initialLocale = detectLocale(\n route,\n getLocaleFromRoute,\n getDefaultLocale(runtimeI18n.defaultLocale),\n {\n ssg: isSSG && runtimeI18n.strategy === \"no_prefix\" ? \"ssg_ignore\" : \"normal\",\n callType: \"setup\",\n firstAccess: true,\n localeCookie: _getLocaleCookie(localeCookie, _detectBrowserLanguage, runtimeI18n.defaultLocale)\n },\n runtimeI18n\n );\n __DEBUG__ && console.log(\"first detect initial locale\", initialLocale);\n vueI18nOptions.messages = await loadInitialMessages(vueI18nOptions.messages, localeLoaders, {\n localeCodes,\n initialLocale,\n lazy: runtimeI18n.lazy,\n defaultLocale: runtimeI18n.defaultLocale,\n fallbackLocale: vueI18nOptions.fallbackLocale\n });\n initialLocale = getDefaultLocale(initialLocale);\n __DEBUG__ && console.log(\"final initial locale:\", initialLocale);\n const i18n = createI18n({ ...vueI18nOptions, locale: initialLocale });\n let notInitialSetup = true;\n const isInitialLocaleSetup = (locale) => initialLocale !== locale && notInitialSetup;\n let ssgModeInitialSetup = true;\n const isSSGModeInitialSetup = () => isSSG && ssgModeInitialSetup;\n if (isSSGModeInitialSetup() && runtimeI18n.strategy === \"no_prefix\" && import.meta.client) {\n nuxt.hook(\"app:mounted\", () => {\n __DEBUG__ && console.log(\"hook app:mounted\");\n const detected = detectBrowserLanguage(\n route,\n {\n ssg: \"ssg_setup\",\n callType: \"setup\",\n firstAccess: true,\n localeCookie: _getLocaleCookie(localeCookie, _detectBrowserLanguage, runtimeI18n.defaultLocale)\n },\n initialLocale\n );\n __DEBUG__ && console.log(\"app:mounted: detectBrowserLanguage (locale, reason, from) -\", Object.values(detected));\n _setLocale(i18n, detected.locale);\n ssgModeInitialSetup = false;\n });\n }\n extendI18n(i18n, {\n locales: runtimeI18n.configLocales,\n localeCodes,\n baseUrl: runtimeI18n.baseUrl,\n context: nuxtContext,\n hooks: {\n onExtendComposer(composer) {\n composer.strategy = runtimeI18n.strategy;\n composer.localeProperties = computed(\n () => normalizedLocales.find((l) => l.code === composer.locale.value) || { code: composer.locale.value }\n );\n composer.setLocale = async (locale) => {\n const localeSetup = isInitialLocaleSetup(locale);\n const modified = await loadAndSetLocale(locale, i18n, runtimeI18n, localeSetup);\n if (modified && localeSetup) {\n notInitialSetup = false;\n }\n const redirectPath = await nuxtContext.runWithContext(\n () => detectRedirect({\n route: { to: route },\n targetLocale: locale,\n routeLocaleGetter: getLocaleFromRoute\n })\n );\n __DEBUG__ && console.log(\"redirectPath on setLocale\", redirectPath);\n await nuxtContext.runWithContext(\n async () => await navigate(\n {\n nuxtApp: nuxtContext,\n i18n,\n redirectPath,\n locale,\n route\n },\n { enableNavigate: true }\n )\n );\n };\n composer.loadLocaleMessages = async (locale) => {\n const setter = (locale2, message) => mergeLocaleMessage(i18n, locale2, message);\n await loadLocale(locale, localeLoaders, setter);\n };\n composer.differentDomains = runtimeI18n.differentDomains;\n composer.defaultLocale = runtimeI18n.defaultLocale;\n composer.getBrowserLocale = () => _getBrowserLocale();\n composer.getLocaleCookie = () => _getLocaleCookie(localeCookie, _detectBrowserLanguage, runtimeI18n.defaultLocale);\n composer.setLocaleCookie = (locale) => _setLocaleCookie(localeCookie, locale, _detectBrowserLanguage);\n composer.onBeforeLanguageSwitch = (oldLocale, newLocale, initialSetup, context) => nuxt.callHook(\"i18n:beforeLocaleSwitch\", { oldLocale, newLocale, initialSetup, context });\n composer.onLanguageSwitched = (oldLocale, newLocale) => nuxt.callHook(\"i18n:localeSwitched\", { oldLocale, newLocale });\n composer.finalizePendingLocaleChange = async () => {\n if (!i18n.__pendingLocale) {\n return;\n }\n setLocale(i18n, i18n.__pendingLocale);\n if (i18n.__resolvePendingLocalePromise) {\n await i18n.__resolvePendingLocalePromise();\n }\n i18n.__pendingLocale = void 0;\n };\n composer.waitForPendingLocaleChange = async () => {\n if (i18n.__pendingLocale && i18n.__pendingLocalePromise) {\n await i18n.__pendingLocalePromise;\n }\n };\n },\n onExtendExportedGlobal(g) {\n return {\n strategy: {\n get() {\n return g.strategy;\n }\n },\n localeProperties: {\n get() {\n return g.localeProperties.value;\n }\n },\n setLocale: {\n get() {\n return async (locale) => Reflect.apply(g.setLocale, g, [locale]);\n }\n },\n differentDomains: {\n get() {\n return g.differentDomains;\n }\n },\n defaultLocale: {\n get() {\n return g.defaultLocale;\n }\n },\n getBrowserLocale: {\n get() {\n return () => Reflect.apply(g.getBrowserLocale, g, []);\n }\n },\n getLocaleCookie: {\n get() {\n return () => Reflect.apply(g.getLocaleCookie, g, []);\n }\n },\n setLocaleCookie: {\n get() {\n return (locale) => Reflect.apply(g.setLocaleCookie, g, [locale]);\n }\n },\n onBeforeLanguageSwitch: {\n get() {\n return (oldLocale, newLocale, initialSetup, context) => Reflect.apply(g.onBeforeLanguageSwitch, g, [oldLocale, newLocale, initialSetup, context]);\n }\n },\n onLanguageSwitched: {\n get() {\n return (oldLocale, newLocale) => Reflect.apply(g.onLanguageSwitched, g, [oldLocale, newLocale]);\n }\n },\n finalizePendingLocaleChange: {\n get() {\n return () => Reflect.apply(g.finalizePendingLocaleChange, g, []);\n }\n },\n waitForPendingLocaleChange: {\n get() {\n return () => Reflect.apply(g.waitForPendingLocaleChange, g, []);\n }\n }\n };\n },\n onExtendVueI18n(composer) {\n return {\n strategy: {\n get() {\n return composer.strategy;\n }\n },\n localeProperties: {\n get() {\n return composer.localeProperties.value;\n }\n },\n setLocale: {\n get() {\n return async (locale) => Reflect.apply(composer.setLocale, composer, [locale]);\n }\n },\n loadLocaleMessages: {\n get() {\n return async (locale) => Reflect.apply(composer.loadLocaleMessages, composer, [locale]);\n }\n },\n differentDomains: {\n get() {\n return composer.differentDomains;\n }\n },\n defaultLocale: {\n get() {\n return composer.defaultLocale;\n }\n },\n getBrowserLocale: {\n get() {\n return () => Reflect.apply(composer.getBrowserLocale, composer, []);\n }\n },\n getLocaleCookie: {\n get() {\n return () => Reflect.apply(composer.getLocaleCookie, composer, []);\n }\n },\n setLocaleCookie: {\n get() {\n return (locale) => Reflect.apply(composer.setLocaleCookie, composer, [locale]);\n }\n },\n onBeforeLanguageSwitch: {\n get() {\n return (oldLocale, newLocale, initialSetup, context) => Reflect.apply(composer.onBeforeLanguageSwitch, composer, [\n oldLocale,\n newLocale,\n initialSetup,\n context\n ]);\n }\n },\n onLanguageSwitched: {\n get() {\n return (oldLocale, newLocale) => Reflect.apply(composer.onLanguageSwitched, composer, [oldLocale, newLocale]);\n }\n },\n finalizePendingLocaleChange: {\n get() {\n return () => Reflect.apply(composer.finalizePendingLocaleChange, composer, []);\n }\n },\n waitForPendingLocaleChange: {\n get() {\n return () => Reflect.apply(composer.waitForPendingLocaleChange, composer, []);\n }\n }\n };\n }\n }\n });\n const pluginOptions = {\n __composerExtend: (c) => {\n const g = getComposer(i18n);\n c.strategy = g.strategy;\n c.localeProperties = computed(() => g.localeProperties.value);\n c.setLocale = g.setLocale;\n c.differentDomains = g.differentDomains;\n c.getBrowserLocale = g.getBrowserLocale;\n c.getLocaleCookie = g.getLocaleCookie;\n c.setLocaleCookie = g.setLocaleCookie;\n c.onBeforeLanguageSwitch = g.onBeforeLanguageSwitch;\n c.onLanguageSwitched = g.onLanguageSwitched;\n c.finalizePendingLocaleChange = g.finalizePendingLocaleChange;\n c.waitForPendingLocaleChange = g.waitForPendingLocaleChange;\n return () => {\n };\n }\n };\n app.use(i18n, pluginOptions);\n injectNuxtHelpers(nuxtContext, i18n);\n let routeChangeCount = 0;\n addRouteMiddleware(\n \"locale-changing\",\n defineNuxtRouteMiddleware(async (to, from) => {\n __DEBUG__ && console.log(\"locale-changing middleware\", to, from);\n const locale = detectLocale(\n to,\n getLocaleFromRoute,\n () => {\n return getLocale(i18n) || getDefaultLocale(runtimeI18n.defaultLocale);\n },\n {\n ssg: isSSGModeInitialSetup() && runtimeI18n.strategy === \"no_prefix\" ? \"ssg_ignore\" : \"normal\",\n callType: \"routing\",\n firstAccess: routeChangeCount === 0,\n localeCookie: _getLocaleCookie(localeCookie, _detectBrowserLanguage, runtimeI18n.defaultLocale)\n },\n runtimeI18n\n );\n __DEBUG__ && console.log(\"detect locale\", locale);\n const localeSetup = isInitialLocaleSetup(locale);\n __DEBUG__ && console.log(\"localeSetup\", localeSetup);\n const modified = await loadAndSetLocale(locale, i18n, runtimeI18n, localeSetup);\n if (modified && localeSetup) {\n notInitialSetup = false;\n }\n const redirectPath = await nuxtContext.runWithContext(\n () => detectRedirect({\n route: { to, from },\n targetLocale: locale,\n routeLocaleGetter: runtimeI18n.strategy === \"no_prefix\" ? () => locale : getLocaleFromRoute,\n calledWithRouting: true\n })\n );\n __DEBUG__ && console.log(\"redirectPath on locale-changing middleware\", redirectPath);\n routeChangeCount++;\n return await nuxtContext.runWithContext(\n async () => navigate({ nuxtApp: nuxtContext, i18n, redirectPath, locale, route: to })\n );\n }),\n { global: true }\n );\n }\n});\n","import { ref, inject } from \"vue\";\nimport { createSharedComposable } from \"@vueuse/core\";\nexport const slidOverInjectionKey = Symbol(\"nuxt-ui.slideover\");\nfunction _useSlideover() {\n const slideoverState = inject(slidOverInjectionKey);\n const isOpen = ref(false);\n function open(component, props) {\n if (!slideoverState) {\n throw new Error(\"useSlideover() is called without provider\");\n }\n slideoverState.value = {\n component,\n props: props ?? {}\n };\n isOpen.value = true;\n }\n async function close() {\n if (!slideoverState) return;\n isOpen.value = false;\n }\n function reset() {\n slideoverState.value = {\n component: \"div\",\n props: {}\n };\n }\n function patch(props) {\n if (!slideoverState) return;\n slideoverState.value = {\n ...slideoverState.value,\n props: {\n ...slideoverState.value.props,\n ...props\n }\n };\n }\n return {\n open,\n close,\n reset,\n patch,\n isOpen\n };\n}\nexport const useSlideover = createSharedComposable(_useSlideover);\n","import { defineNuxtPlugin } from \"#imports\";\nimport { shallowRef } from \"vue\";\nimport { slidOverInjectionKey } from \"../composables/useSlideover.js\";\nexport default defineNuxtPlugin((nuxtApp) => {\n const slideoverState = shallowRef({\n component: \"div\",\n props: {}\n });\n nuxtApp.vueApp.provide(slidOverInjectionKey, slideoverState);\n});\n","import { ref, inject } from \"vue\";\nimport { createSharedComposable } from \"@vueuse/core\";\nexport const modalInjectionKey = Symbol(\"nuxt-ui.modal\");\nfunction _useModal() {\n const modalState = inject(modalInjectionKey);\n const isOpen = ref(false);\n function open(component, props) {\n if (!modalState) {\n throw new Error(\"useModal() is called without provider\");\n }\n modalState.value = {\n component,\n props: props ?? {}\n };\n isOpen.value = true;\n }\n async function close() {\n if (!modalState) return;\n isOpen.value = false;\n }\n function reset() {\n modalState.value = {\n component: \"div\",\n props: {}\n };\n }\n function patch(props) {\n if (!modalState) return;\n modalState.value = {\n ...modalState.value,\n props: {\n ...modalState.value.props,\n ...props\n }\n };\n }\n return {\n open,\n close,\n reset,\n patch,\n isOpen\n };\n}\nexport const useModal = createSharedComposable(_useModal);\n","import { defineNuxtPlugin } from \"#imports\";\nimport { shallowRef } from \"vue\";\nimport { modalInjectionKey } from \"../composables/useModal.js\";\nexport default defineNuxtPlugin((nuxtApp) => {\n const modalState = shallowRef({\n component: \"div\",\n props: {}\n });\n nuxtApp.vueApp.provide(modalInjectionKey, modalState);\n});\n","export function omit(object, keysToOmit) {\n const result = { ...object };\n for (const key of keysToOmit) {\n delete result[key];\n }\n return result;\n}\nexport function get(object, path, defaultValue) {\n if (typeof path === \"string\") {\n path = path.split(\".\").map((key) => {\n const numKey = Number(key);\n return isNaN(numKey) ? key : numKey;\n });\n }\n let result = object;\n for (const key of path) {\n if (result === void 0 || result === null) {\n return defaultValue;\n }\n result = result[key];\n }\n return result !== void 0 ? result : defaultValue;\n}\n","export const nuxtLinkProps = {\n to: {\n type: [String, Object],\n default: void 0,\n required: false\n },\n href: {\n type: [String, Object],\n default: void 0,\n required: false\n },\n // Attributes\n target: {\n type: String,\n default: void 0,\n required: false\n },\n rel: {\n type: String,\n default: void 0,\n required: false\n },\n noRel: {\n type: Boolean,\n default: void 0,\n required: false\n },\n // Prefetching\n prefetch: {\n type: Boolean,\n default: void 0,\n required: false\n },\n noPrefetch: {\n type: Boolean,\n default: void 0,\n required: false\n },\n // Styling\n activeClass: {\n type: String,\n default: void 0,\n required: false\n },\n exactActiveClass: {\n type: String,\n default: void 0,\n required: false\n },\n prefetchedClass: {\n type: String,\n default: void 0,\n required: false\n },\n // Vue Router's `<RouterLink>` additional props\n replace: {\n type: Boolean,\n default: void 0,\n required: false\n },\n ariaCurrentValue: {\n type: String,\n default: void 0,\n required: false\n },\n // Edge cases handling\n external: {\n type: Boolean,\n default: void 0,\n required: false\n }\n};\nconst uLinkProps = {\n as: {\n type: String,\n default: \"button\"\n },\n type: {\n type: String,\n default: \"button\"\n },\n disabled: {\n type: Boolean,\n default: null\n },\n active: {\n type: Boolean,\n default: void 0\n },\n exact: {\n type: Boolean,\n default: false\n },\n exactQuery: {\n type: Boolean,\n default: false\n },\n exactHash: {\n type: Boolean,\n default: false\n },\n inactiveClass: {\n type: String,\n default: void 0\n }\n};\nexport const getNuxtLinkProps = (props) => {\n const keys = Object.keys(nuxtLinkProps);\n return keys.reduce((acc, key) => {\n if (props[key] !== void 0) {\n acc[key] = props[key];\n }\n return acc;\n }, {});\n};\nexport const getULinkProps = (props) => {\n const keys = [...Object.keys(nuxtLinkProps), ...Object.keys(uLinkProps), \"ariaLabel\"];\n return keys.reduce((acc, key) => {\n if (props[key] !== void 0) {\n acc[key] = props[key];\n }\n return acc;\n }, {});\n};\n","import { defu, createDefu } from \"defu\";\nimport { extendTailwindMerge } from \"tailwind-merge\";\nconst customTwMerge = extendTailwindMerge({\n extend: {\n classGroups: {\n icons: [(classPart) => /^i-/.test(classPart)]\n }\n }\n});\nconst defuTwMerge = createDefu((obj, key, value, namespace) => {\n if (namespace === \"default\" || namespace.startsWith(\"default.\")) {\n return false;\n }\n if (namespace === \"popper\" || namespace.startsWith(\"popper.\")) {\n return false;\n }\n if (namespace.endsWith(\"avatar\") && key === \"size\") {\n return false;\n }\n if (namespace.endsWith(\"chip\") && key === \"size\") {\n return false;\n }\n if (namespace.endsWith(\"badge\") && key === \"size\" || key === \"color\" || key === \"variant\") {\n return false;\n }\n if (typeof obj[key] === \"string\" && typeof value === \"string\" && obj[key] && value) {\n obj[key] = customTwMerge(obj[key], value);\n return true;\n }\n});\nexport function mergeConfig(strategy, ...configs) {\n if (strategy === \"override\") {\n return defu({}, ...configs);\n }\n return defuTwMerge({}, ...configs);\n}\nexport function hexToRgb(hex) {\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n hex = hex.replace(shorthandRegex, function(_, r, g, b) {\n return r + r + g + g + b + b;\n });\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? `${parseInt(result[1], 16)} ${parseInt(result[2], 16)} ${parseInt(result[3], 16)}` : null;\n}\nexport function getSlotsChildren(slots) {\n let children = slots.default?.();\n if (children?.length) {\n children = children.flatMap((c) => {\n if (typeof c.type === \"symbol\") {\n if (typeof c.children === \"string\") {\n return;\n }\n return c.children;\n } else if (c.type.name === \"ContentSlot\") {\n return c.ctx.slots.default?.();\n }\n return c;\n }).filter(Boolean);\n }\n return children || [];\n}\nexport function looseToNumber(val) {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n}\nexport * from \"./lodash.js\";\nexport * from \"./link.js\";\n","const _inherit = \"inherit\"\nconst _current = \"currentColor\"\nconst _transparent = \"transparent\"\nconst _black = \"#000\"\nconst _white = \"#fff\"\nconst _slate = {\"50\":\"#f8fafc\",\"100\":\"#f1f5f9\",\"200\":\"#e2e8f0\",\"300\":\"#cbd5e1\",\"400\":\"#94a3b8\",\"500\":\"#64748b\",\"600\":\"#475569\",\"700\":\"#334155\",\"800\":\"#1e293b\",\"900\":\"#0f172a\",\"950\":\"#020617\"}\nconst _gray = {\"50\":\"rgb(var(--color-gray-50) / <alpha-value>)\",\"100\":\"rgb(var(--color-gray-100) / <alpha-value>)\",\"200\":\"rgb(var(--color-gray-200) / <alpha-value>)\",\"300\":\"rgb(var(--color-gray-300) / <alpha-value>)\",\"400\":\"rgb(var(--color-gray-400) / <alpha-value>)\",\"500\":\"rgb(var(--color-gray-500) / <alpha-value>)\",\"600\":\"rgb(var(--color-gray-600) / <alpha-value>)\",\"700\":\"rgb(var(--color-gray-700) / <alpha-value>)\",\"800\":\"rgb(var(--color-gray-800) / <alpha-value>)\",\"900\":\"rgb(var(--color-gray-900) / <alpha-value>)\",\"950\":\"rgb(var(--color-gray-950) / <alpha-value>)\"}\nconst _zinc = {\"50\":\"#fafafa\",\"100\":\"#f4f4f5\",\"200\":\"#e4e4e7\",\"300\":\"#d4d4d8\",\"400\":\"#a1a1aa\",\"500\":\"#71717a\",\"600\":\"#52525b\",\"700\":\"#3f3f46\",\"800\":\"#27272a\",\"900\":\"#18181b\",\"950\":\"#09090b\"}\nconst _neutral = {\"50\":\"#fafafa\",\"100\":\"#f5f5f5\",\"200\":\"#e5e5e5\",\"300\":\"#d4d4d4\",\"400\":\"#a3a3a3\",\"500\":\"#737373\",\"600\":\"#525252\",\"700\":\"#404040\",\"800\":\"#262626\",\"900\":\"#171717\",\"950\":\"#0a0a0a\"}\nconst _stone = {\"50\":\"#fafaf9\",\"100\":\"#f5f5f4\",\"200\":\"#e7e5e4\",\"300\":\"#d6d3d1\",\"400\":\"#a8a29e\",\"500\":\"#78716c\",\"600\":\"#57534e\",\"700\":\"#44403c\",\"800\":\"#292524\",\"900\":\"#1c1917\",\"950\":\"#0c0a09\"}\nconst _red = {\"50\":\"#fef2f2\",\"100\":\"#fee2e2\",\"200\":\"#fecaca\",\"300\":\"#fca5a5\",\"400\":\"#f87171\",\"500\":\"#ef4444\",\"600\":\"#dc2626\",\"700\":\"#b91c1c\",\"800\":\"#991b1b\",\"900\":\"#7f1d1d\",\"950\":\"#450a0a\"}\nconst _orange = {\"50\":\"#fff7ed\",\"100\":\"#ffedd5\",\"200\":\"#fed7aa\",\"300\":\"#fdba74\",\"400\":\"#fb923c\",\"500\":\"#f97316\",\"600\":\"#ea580c\",\"700\":\"#c2410c\",\"800\":\"#9a3412\",\"900\":\"#7c2d12\",\"950\":\"#431407\"}\nconst _amber = {\"50\":\"#fffbeb\",\"100\":\"#fef3c7\",\"200\":\"#fde68a\",\"300\":\"#fcd34d\",\"400\":\"#fbbf24\",\"500\":\"#f59e0b\",\"600\":\"#d97706\",\"700\":\"#b45309\",\"800\":\"#92400e\",\"900\":\"#78350f\",\"950\":\"#451a03\"}\nconst _yellow = {\"50\":\"#fefce8\",\"100\":\"#fef9c3\",\"200\":\"#fef08a\",\"300\":\"#fde047\",\"400\":\"#facc15\",\"500\":\"#eab308\",\"600\":\"#ca8a04\",\"700\":\"#a16207\",\"800\":\"#854d0e\",\"900\":\"#713f12\",\"950\":\"#422006\"}\nconst _lime = {\"50\":\"#f7fee7\",\"100\":\"#ecfccb\",\"200\":\"#d9f99d\",\"300\":\"#bef264\",\"400\":\"#a3e635\",\"500\":\"#84cc16\",\"600\":\"#65a30d\",\"700\":\"#4d7c0f\",\"800\":\"#3f6212\",\"900\":\"#365314\",\"950\":\"#1a2e05\"}\nconst _green = {\"50\":\"#f0fdf4\",\"100\":\"#dcfce7\",\"200\":\"#bbf7d0\",\"300\":\"#86efac\",\"400\":\"#4ade80\",\"500\":\"#22c55e\",\"600\":\"#16a34a\",\"700\":\"#15803d\",\"800\":\"#166534\",\"900\":\"#14532d\",\"950\":\"#052e16\"}\nconst _emerald = {\"50\":\"#ecfdf5\",\"100\":\"#d1fae5\",\"200\":\"#a7f3d0\",\"300\":\"#6ee7b7\",\"400\":\"#34d399\",\"500\":\"#10b981\",\"600\":\"#059669\",\"700\":\"#047857\",\"800\":\"#065f46\",\"900\":\"#064e3b\",\"950\":\"#022c22\"}\nconst _teal = {\"50\":\"#f0fdfa\",\"100\":\"#ccfbf1\",\"200\":\"#99f6e4\",\"300\":\"#5eead4\",\"400\":\"#2dd4bf\",\"500\":\"#14b8a6\",\"600\":\"#0d9488\",\"700\":\"#0f766e\",\"800\":\"#115e59\",\"900\":\"#134e4a\",\"950\":\"#042f2e\"}\nconst _cyan = {\"50\":\"#ecfeff\",\"100\":\"#cffafe\",\"200\":\"#a5f3fc\",\"300\":\"#67e8f9\",\"400\":\"#22d3ee\",\"500\":\"#06b6d4\",\"600\":\"#0891b2\",\"700\":\"#0e7490\",\"800\":\"#155e75\",\"900\":\"#164e63\",\"950\":\"#083344\"}\nconst _sky = {\"50\":\"#f0f9ff\",\"100\":\"#e0f2fe\",\"200\":\"#bae6fd\",\"300\":\"#7dd3fc\",\"400\":\"#38bdf8\",\"500\":\"#0ea5e9\",\"600\":\"#0284c7\",\"700\":\"#0369a1\",\"800\":\"#075985\",\"900\":\"#0c4a6e\",\"950\":\"#082f49\"}\nconst _blue = {\"50\":\"#eff6ff\",\"100\":\"#dbeafe\",\"200\":\"#bfdbfe\",\"300\":\"#93c5fd\",\"400\":\"#60a5fa\",\"500\":\"#3b82f6\",\"600\":\"#2563eb\",\"700\":\"#1d4ed8\",\"800\":\"#1e40af\",\"900\":\"#1e3a8a\",\"950\":\"#172554\"}\nconst _indigo = {\"50\":\"#eef2ff\",\"100\":\"#e0e7ff\",\"200\":\"#c7d2fe\",\"300\":\"#a5b4fc\",\"400\":\"#818cf8\",\"500\":\"#6366f1\",\"600\":\"#4f46e5\",\"700\":\"#4338ca\",\"800\":\"#3730a3\",\"900\":\"#312e81\",\"950\":\"#1e1b4b\"}\nconst _violet = {\"50\":\"#f5f3ff\",\"100\":\"#ede9fe\",\"200\":\"#ddd6fe\",\"300\":\"#c4b5fd\",\"400\":\"#a78bfa\",\"500\":\"#8b5cf6\",\"600\":\"#7c3aed\",\"700\":\"#6d28d9\",\"800\":\"#5b21b6\",\"900\":\"#4c1d95\",\"950\":\"#2e1065\"}\nconst _purple = {\"50\":\"#faf5ff\",\"100\":\"#f3e8ff\",\"200\":\"#e9d5ff\",\"300\":\"#d8b4fe\",\"400\":\"#c084fc\",\"500\":\"#a855f7\",\"600\":\"#9333ea\",\"700\":\"#7e22ce\",\"800\":\"#6b21a8\",\"900\":\"#581c87\",\"950\":\"#3b0764\"}\nconst _fuchsia = {\"50\":\"#fdf4ff\",\"100\":\"#fae8ff\",\"200\":\"#f5d0fe\",\"300\":\"#f0abfc\",\"400\":\"#e879f9\",\"500\":\"#d946ef\",\"600\":\"#c026d3\",\"700\":\"#a21caf\",\"800\":\"#86198f\",\"900\":\"#701a75\",\"950\":\"#4a044e\"}\nconst _pink = {\"50\":\"#fdf2f8\",\"100\":\"#fce7f3\",\"200\":\"#fbcfe8\",\"300\":\"#f9a8d4\",\"400\":\"#f472b6\",\"500\":\"#ec4899\",\"600\":\"#db2777\",\"700\":\"#be185d\",\"800\":\"#9d174d\",\"900\":\"#831843\",\"950\":\"#500724\"}\nconst _rose = {\"50\":\"#fff1f2\",\"100\":\"#ffe4e6\",\"200\":\"#fecdd3\",\"300\":\"#fda4af\",\"400\":\"#fb7185\",\"500\":\"#f43f5e\",\"600\":\"#e11d48\",\"700\":\"#be123c\",\"800\":\"#9f1239\",\"900\":\"#881337\",\"950\":\"#4c0519\"}\nconst _main = {\"600\":\"#ff6232\",\"700\":\"#ff5722\"}\nconst _primary = {\"50\":\"rgb(var(--color-primary-50) / <alpha-value>)\",\"100\":\"rgb(var(--color-primary-100) / <alpha-value>)\",\"200\":\"rgb(var(--color-primary-200) / <alpha-value>)\",\"300\":\"rgb(var(--color-primary-300) / <alpha-value>)\",\"400\":\"rgb(var(--color-primary-400) / <alpha-value>)\",\"500\":\"rgb(var(--color-primary-500) / <alpha-value>)\",\"600\":\"rgb(var(--color-primary-600) / <alpha-value>)\",\"700\":\"rgb(var(--color-primary-700) / <alpha-value>)\",\"800\":\"rgb(var(--color-primary-800) / <alpha-value>)\",\"900\":\"rgb(var(--color-primary-900) / <alpha-value>)\",\"950\":\"rgb(var(--color-primary-950) / <alpha-value>)\",\"DEFAULT\":\"rgb(var(--color-primary-DEFAULT) / <alpha-value>)\"}\nconst _cool = {\"50\":\"#f9fafb\",\"100\":\"#f3f4f6\",\"200\":\"#e5e7eb\",\"300\":\"#d1d5db\",\"400\":\"#9ca3af\",\"500\":\"#6b7280\",\"600\":\"#4b5563\",\"700\":\"#374151\",\"800\":\"#1f2937\",\"900\":\"#111827\",\"950\":\"#030712\"}\nconst config = { \"inherit\": _inherit, \"current\": _current, \"transparent\": _transparent, \"black\": _black, \"white\": _white, \"slate\": _slate, \"gray\": _gray, \"zinc\": _zinc, \"neutral\": _neutral, \"stone\": _stone, \"red\": _red, \"orange\": _orange, \"amber\": _amber, \"yellow\": _yellow, \"lime\": _lime, \"green\": _green, \"emerald\": _emerald, \"teal\": _teal, \"cyan\": _cyan, \"sky\": _sky, \"blue\": _blue, \"indigo\": _indigo, \"violet\": _violet, \"purple\": _purple, \"fuchsia\": _fuchsia, \"pink\": _pink, \"rose\": _rose, \"main\": _main, \"primary\": _primary, \"cool\": _cool, }\nexport { config as default, _inherit, _current, _transparent, _black, _white, _slate, _gray, _zinc, _neutral, _stone, _red, _orange, _amber, _yellow, _lime, _green, _emerald, _teal, _cyan, _sky, _blue, _indigo, _violet, _purple, _fuchsia, _pink, _rose, _main, _primary, _cool }","import { computed } from \"vue\";\nimport { get, hexToRgb } from \"../utils/index.js\";\nimport { defineNuxtPlugin, useAppConfig, useNuxtApp, useHead } from \"#imports\";\nimport colors from \"#tailwind-config/theme/colors\";\nexport default defineNuxtPlugin(() => {\n const appConfig = useAppConfig();\n const nuxtApp = useNuxtApp();\n const root = computed(() => {\n const primary = get(colors, appConfig.ui.primary);\n const gray = get(colors, appConfig.ui.gray);\n if (!primary) {\n console.warn(`[@nuxt/ui] Primary color '${appConfig.ui.primary}' not found in Tailwind config`);\n }\n if (!gray) {\n console.warn(`[@nuxt/ui] Gray color '${appConfig.ui.gray}' not found in Tailwind config`);\n }\n return `:root {\n${Object.entries(primary || colors.green).map(([key, value]) => `--color-primary-${key}: ${hexToRgb(value)};`).join(\"\\n\")}\n--color-primary-DEFAULT: var(--color-primary-500);\n\n${Object.entries(gray || colors.cool).map(([key, value]) => `--color-gray-${key}: ${hexToRgb(value)};`).join(\"\\n\")}\n}\n\n.dark {\n --color-primary-DEFAULT: var(--color-primary-400);\n}\n`;\n });\n const headData = {\n style: [{\n innerHTML: () => root.value,\n tagPriority: -2,\n id: \"nuxt-ui-colors\"\n }]\n };\n if (import.meta.client && nuxtApp.isHydrating && !nuxtApp.payload.serverRendered) {\n const style = document.createElement(\"style\");\n style.innerHTML = root.value;\n style.setAttribute(\"data-nuxt-ui-colors\", \"\");\n document.head.appendChild(style);\n headData.script = [{\n innerHTML: \"document.head.removeChild(document.querySelector('[data-nuxt-ui-colors]'))\"\n }];\n }\n useHead(headData);\n});\n","export const preference = \"light\"\n \nexport const fallback = \"light\"\n \nexport const hid = \"nuxt-color-mode-script\"\n \nexport const globalName = \"__NUXT_COLOR_MODE__\"\n \nexport const componentName = \"ColorScheme\"\n \nexport const classPrefix = \"\"\n \nexport const classSuffix = \"\"\n \nexport const dataValue = \"\"\n \nexport const storageKey = \"nuxt-color-mode\"\n \nexport const disableTransition = false\n \nexport const script = \"\\\"use strict\\\";(()=>{const a=window,e=document.documentElement,c=window.localStorage,d=[\\\"dark\\\",\\\"light\\\"],n=c&&c.getItem&&c.getItem(\\\"nuxt-color-mode\\\")||\\\"light\\\";let l=n===\\\"system\\\"?f():n;const i=e.getAttribute(\\\"data-color-mode-forced\\\");i&&(l=i),r(l),a[\\\"__NUXT_COLOR_MODE__\\\"]={preference:n,value:l,getColorScheme:f,addColorScheme:r,removeColorScheme:u};function r(o){const t=\\\"\\\"+o+\\\"\\\",s=\\\"\\\";e.classList?e.classList.add(t):e.className+=\\\" \\\"+t,s&&e.setAttribute(\\\"data-\\\"+s,o)}function u(o){const t=\\\"\\\"+o+\\\"\\\",s=\\\"\\\";e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp(t,\\\"g\\\"),\\\"\\\"),s&&e.removeAttribute(\\\"data-\\\"+s)}function m(o){return a.matchMedia(\\\"(prefers-color-scheme\\\"+o+\\\")\\\")}function f(){if(a.matchMedia&&m(\\\"\\\").media!==\\\"not all\\\"){for(const o of d)if(m(\\\":\\\"+o).matches)return o}return\\\"light\\\"}})();\"\n ","import { reactive, ref } from \"vue\";\nimport { defineNuxtPlugin, isVue2, isVue3, useHead, useState, useRouter } from \"#imports\";\nimport { preference, hid, script, dataValue } from \"#color-mode-options\";\nconst addScript = (head) => {\n head.script = head.script || [];\n head.script.push({\n hid,\n innerHTML: script\n });\n const serializeProp = \"__dangerouslyDisableSanitizersByTagID\";\n head[serializeProp] = head[serializeProp] || {};\n head[serializeProp][hid] = [\"innerHTML\"];\n};\nexport default defineNuxtPlugin((nuxtApp) => {\n const colorMode = nuxtApp.ssrContext?.islandContext ? ref({}) : useState(\"color-mode\", () => reactive({\n preference,\n value: preference,\n unknown: true,\n forced: false\n })).value;\n const htmlAttrs = {};\n if (isVue2) {\n const app = nuxtApp.nuxt2Context.app;\n if (typeof app.head === \"function\") {\n const originalHead = app.head;\n app.head = function() {\n const head = originalHead.call(this) || {};\n addScript(head);\n head.htmlAttrs = htmlAttrs;\n return head;\n };\n } else {\n addScript(app.head);\n app.head.htmlAttrs = htmlAttrs;\n }\n }\n if (isVue3) {\n useHead({ htmlAttrs });\n }\n useRouter().afterEach((to) => {\n const forcedColorMode = isVue2 ? to.matched[0]?.components.default?.options?.colorMode : to.meta.colorMode;\n if (forcedColorMode && forcedColorMode !== \"system\") {\n colorMode.value = htmlAttrs[\"data-color-mode-forced\"] = forcedColorMode;\n if (dataValue) {\n htmlAttrs[`data-${dataValue}`] = colorMode.value;\n }\n colorMode.forced = true;\n } else if (forcedColorMode === \"system\") {\n console.warn(\"You cannot force the colorMode to system at the page level.\");\n }\n });\n nuxtApp.provide(\"colorMode\", colorMode);\n});\n","import { addAPIProvider, _api, disableCache } from \"@iconify/vue\";\nimport { defineNuxtPlugin, useAppConfig, useRuntimeConfig } from \"#imports\";\nexport default defineNuxtPlugin({\n name: \"@nuxt/icon\",\n setup() {\n const config = useRuntimeConfig();\n const options = useAppConfig().icon;\n _api.setFetch($fetch.native);\n disableCache(\"all\");\n const resources = [];\n if (options.provider === \"server\") {\n const baseURL = config.app?.baseURL?.replace(/\\/$/, \"\") ?? \"\";\n resources.push(baseURL + (options.localApiEndpoint || \"/api/_nuxt_icon\"));\n if (options.fallbackToApi) {\n resources.push(options.iconifyApiEndpoint);\n }\n } else {\n resources.push(options.iconifyApiEndpoint);\n }\n addAPIProvider(\"\", { resources });\n }\n});\n","import { useState } from \"#imports\";\nexport function useToast() {\n const notifications = useState(\"notifications\", () => []);\n function add(notification) {\n const body = {\n id: (/* @__PURE__ */ new Date()).getTime().toString(),\n ...notification\n };\n const index = notifications.value.findIndex((n) => n.id === body.id);\n if (index === -1) {\n notifications.value.push(body);\n }\n return body;\n }\n function remove(id) {\n notifications.value = notifications.value.filter((n) => n.id !== id);\n }\n function update(id, notification) {\n const index = notifications.value.findIndex((n) => n.id === id);\n if (index !== -1) {\n const previous = notifications.value[index];\n notifications.value.splice(index, 1, { ...previous, ...notification });\n }\n }\n function clear() {\n notifications.value = [];\n }\n return {\n add,\n remove,\n update,\n clear\n };\n}\n"," \r\n \r\n\r\nexport default defineNuxtPlugin((nuxtApp) => {\r\n const token = useCookie('token'); \r\n const toast = useToast()\r\n const localePath = useLocalePath() \r\n \r\n const api = $fetch.create({ \r\n onRequest({ request, options, error }) {\r\n if (token.value) {\r\n const headers = options.headers ||= {}\r\n if (Array.isArray(headers)) {\r\n headers.push(['Authorization', `Bearer ${token.value}`])\r\n } else if (headers instanceof Headers) {\r\n headers.set('Authorization', `Bearer ${token.value}`)\r\n } else {\r\n headers.Authorization = `Bearer ${token.value}`\r\n }\r\n }\r\n }, \r\n async onResponseError({ response, options }) {\r\n if(response.status == 401){\r\n navigateTo(localePath('/login'));\r\n }\r\n if(response.status == 403){\r\n navigateTo(localePath('/payment'));\r\n }else if(response.status === 422){\r\n toast.add({ title: response.status + ' : ' +response._data.message ,color:\"red\" }) \r\n } \r\n }\r\n })\r\n \r\n // Expose to useNuxtApp().$api\r\n return {\r\n provide: {\r\n api\r\n }\r\n }\r\n })","import unhead_KgADcZ0jPj from \"/home/cutunixc/analyze.cutunix.com/node_modules/nuxt/dist/head/runtime/plugins/unhead.js\";\nimport router_jmwsqit4Rs from \"/home/cutunixc/analyze.cutunix.com/node_modules/nuxt/dist/pages/runtime/plugins/router.js\";\nimport revive_payload_server_eJ33V7gbc6 from \"/home/cutunixc/analyze.cutunix.com/node_modules/nuxt/dist/app/plugins/revive-payload.server.js\";\nimport plugin_vue3_A0OWXRrUgq from \"/home/cutunixc/analyze.cutunix.com/node_modules/@pinia/nuxt/dist/runtime/plugin.vue3.mjs\";\nimport components_plugin_KR1HBZs4kY from \"/home/cutunixc/analyze.cutunix.com/.nuxt/components.plugin.mjs\";\nimport switch_locale_path_ssr_5csfIgkrBP from \"/home/cutunixc/analyze.cutunix.com/node_modules/@nuxtjs/i18n/dist/runtime/plugins/switch-locale-path-ssr.js\";\nimport i18n_sq1MuCrqbC from \"/home/cutunixc/analyze.cutunix.com/node_modules/@nuxtjs/i18n/dist/runtime/plugins/i18n.js\";\nimport slideovers_X7whXyrIWR from \"/home/cutunixc/analyze.cutunix.com/node_modules/@nuxt/ui/dist/runtime/plugins/slideovers.js\";\nimport modals_oqljskDzoR from \"/home/cutunixc/analyze.cutunix.com/node_modules/@nuxt/ui/dist/runtime/plugins/modals.js\";\nimport colors_ETtiVmZNmO from \"/home/cutunixc/analyze.cutunix.com/node_modules/@nuxt/ui/dist/runtime/plugins/colors.js\";\nimport plugin_server_ano7jnMEqi from \"/home/cutunixc/analyze.cutunix.com/node_modules/@nuxtjs/color-mode/dist/runtime/plugin.server.js\";\nimport plugin_WLsn00x1qh from \"/home/cutunixc/analyze.cutunix.com/node_modules/@nuxt/icon/dist/runtime/plugin.js\";\nimport api_GFfDXud5Cr from \"/home/cutunixc/analyze.cutunix.com/plugins/api.ts\";\nexport default [\n unhead_KgADcZ0jPj,\n router_jmwsqit4Rs,\n revive_payload_server_eJ33V7gbc6,\n plugin_vue3_A0OWXRrUgq,\n components_plugin_KR1HBZs4kY,\n switch_locale_path_ssr_5csfIgkrBP,\n i18n_sq1MuCrqbC,\n slideovers_X7whXyrIWR,\n modals_oqljskDzoR,\n colors_ETtiVmZNmO,\n plugin_server_ano7jnMEqi,\n plugin_WLsn00x1qh,\n api_GFfDXud5Cr\n]","import { defineComponent, ref } from \"vue\";\nimport { pwaInfo } from \"virtual:pwa-info\";\nimport { useHead } from \"#imports\";\nexport default defineComponent({\n async setup() {\n if (pwaInfo) {\n const meta = ref({ link: [] });\n useHead(meta);\n const { webManifest } = pwaInfo;\n if (webManifest) {\n const { href, useCredentials } = webManifest;\n if (useCredentials) {\n meta.value.link.push({\n rel: \"manifest\",\n href,\n crossorigin: \"use-credentials\"\n });\n } else {\n meta.value.link.push({\n rel: \"manifest\",\n href\n });\n }\n }\n }\n return () => null;\n }\n});\n","import { computed, getCurrentScope, onScopeDispose, ref } from \"vue\";\nimport { useNuxtApp } from \"#app/nuxt\";\nfunction defaultEstimatedProgress(duration, elapsed) {\n const completionPercentage = elapsed / duration * 100;\n return 2 / Math.PI * 100 * Math.atan(completionPercentage / 50);\n}\nfunction createLoadingIndicator(opts = {}) {\n const { duration = 2e3, throttle = 200, hideDelay = 500, resetDelay = 400 } = opts;\n const getProgress = opts.estimatedProgress || defaultEstimatedProgress;\n const nuxtApp = useNuxtApp();\n const progress = ref(0);\n const isLoading = ref(false);\n const error = ref(false);\n let done = false;\n let rafId;\n let throttleTimeout;\n let hideTimeout;\n let resetTimeout;\n const start = () => {\n error.value = false;\n set(0);\n };\n function set(at = 0) {\n if (nuxtApp.isHydrating) {\n return;\n }\n if (at >= 100) {\n return finish();\n }\n clear();\n progress.value = at < 0 ? 0 : at;\n if (throttle && import.meta.client) {\n throttleTimeout = setTimeout(() => {\n isLoading.value = true;\n _startProgress();\n }, throttle);\n } else {\n isLoading.value = true;\n _startProgress();\n }\n }\n function _hide() {\n if (import.meta.client) {\n hideTimeout = setTimeout(() => {\n isLoading.value = false;\n resetTimeout = setTimeout(() => {\n progress.value = 0;\n }, resetDelay);\n }, hideDelay);\n }\n }\n function finish(opts2 = {}) {\n progress.value = 100;\n done = true;\n clear();\n _clearTimeouts();\n if (opts2.error) {\n error.value = true;\n }\n if (opts2.force) {\n progress.value = 0;\n isLoading.value = false;\n } else {\n _hide();\n }\n }\n function _clearTimeouts() {\n if (import.meta.client) {\n clearTimeout(hideTimeout);\n clearTimeout(resetTimeout);\n }\n }\n function clear() {\n if (import.meta.client) {\n clearTimeout(throttleTimeout);\n cancelAnimationFrame(rafId);\n }\n }\n function _startProgress() {\n done = false;\n let startTimeStamp;\n function step(timeStamp) {\n if (done) {\n return;\n }\n startTimeStamp ??= timeStamp;\n const elapsed = timeStamp - startTimeStamp;\n progress.value = Math.max(0, Math.min(100, getProgress(duration, elapsed)));\n if (import.meta.client) {\n rafId = requestAnimationFrame(step);\n }\n }\n if (import.meta.client) {\n rafId = requestAnimationFrame(step);\n }\n }\n let _cleanup = () => {\n };\n if (import.meta.client) {\n const unsubLoadingStartHook = nuxtApp.hook(\"page:loading:start\", () => {\n start();\n });\n const unsubLoadingFinishHook = nuxtApp.hook(\"page:loading:end\", () => {\n finish();\n });\n const unsubError = nuxtApp.hook(\"vue:error\", () => finish());\n _cleanup = () => {\n unsubError();\n unsubLoadingStartHook();\n unsubLoadingFinishHook();\n clear();\n };\n }\n return {\n _cleanup,\n progress: computed(() => progress.value),\n isLoading: computed(() => isLoading.value),\n error: computed(() => error.value),\n start,\n set,\n finish,\n clear\n };\n}\nexport function useLoadingIndicator(opts = {}) {\n const nuxtApp = useNuxtApp();\n const indicator = nuxtApp._loadingIndicator = nuxtApp._loadingIndicator || createLoadingIndicator(opts);\n if (import.meta.client && getCurrentScope()) {\n nuxtApp._loadingIndicatorDeps = nuxtApp._loadingIndicatorDeps || 0;\n nuxtApp._loadingIndicatorDeps++;\n onScopeDispose(() => {\n nuxtApp._loadingIndicatorDeps--;\n if (nuxtApp._loadingIndicatorDeps === 0) {\n indicator._cleanup();\n delete nuxtApp._loadingIndicator;\n }\n });\n }\n return indicator;\n}\n","import { defineComponent, h } from \"vue\";\nimport { useLoadingIndicator } from \"#app/composables/loading-indicator\";\nexport default defineComponent({\n name: \"NuxtLoadingIndicator\",\n props: {\n throttle: {\n type: Number,\n default: 200\n },\n duration: {\n type: Number,\n default: 2e3\n },\n height: {\n type: Number,\n default: 3\n },\n color: {\n type: [String, Boolean],\n default: \"repeating-linear-gradient(to right,#00dc82 0%,#34cdfe 50%,#0047e1 100%)\"\n },\n errorColor: {\n type: String,\n default: \"repeating-linear-gradient(to right,#f87171 0%,#ef4444 100%)\"\n },\n estimatedProgress: {\n type: Function,\n required: false\n }\n },\n setup(props, { slots, expose }) {\n const { progress, isLoading, error, start, finish, clear } = useLoadingIndicator({\n duration: props.duration,\n throttle: props.throttle,\n estimatedProgress: props.estimatedProgress\n });\n expose({\n progress,\n isLoading,\n error,\n start,\n finish,\n clear\n });\n return () => h(\"div\", {\n class: \"nuxt-loading-indicator\",\n style: {\n position: \"fixed\",\n top: 0,\n right: 0,\n left: 0,\n pointerEvents: \"none\",\n width: \"auto\",\n height: `${props.height}px`,\n opacity: isLoading.value ? 1 : 0,\n background: error.value ? props.errorColor : props.color || void 0,\n backgroundSize: `${100 / progress.value * 100}% auto`,\n transform: `scaleX(${progress.value}%)`,\n transformOrigin: \"left\",\n transition: \"transform 0.1s, height 0.4s, opacity 0.4s\",\n zIndex: 999999\n }\n }, slots);\n }\n});\n","export default {\n \"auth-login\": () => import(\"/home/cutunixc/analyze.cutunix.com/layouts/auth-login.vue\").then(m => m.default || m),\n auth: () => import(\"/home/cutunixc/analyze.cutunix.com/layouts/auth.vue\").then(m => m.default || m),\n default: () => import(\"/home/cutunixc/analyze.cutunix.com/layouts/default.vue\").then(m => m.default || m),\n \"with-out-footer\": () => import(\"/home/cutunixc/analyze.cutunix.com/layouts/withOutFooter.vue\").then(m => m.default || m)\n}","import { Suspense, Transition, computed, defineComponent, h, inject, mergeProps, nextTick, onMounted, provide, ref, unref } from \"vue\";\nimport { useRoute, useRouter } from \"../composables/router.js\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { _wrapIf } from \"./utils.js\";\nimport { LayoutMetaSymbol, PageRouteSymbol } from \"./injections.js\";\nimport { useRoute as useVueRouterRoute } from \"#build/pages\";\nimport layouts from \"#build/layouts\";\nimport { appLayoutTransition as defaultLayoutTransition } from \"#build/nuxt.config.mjs\";\nconst LayoutLoader = defineComponent({\n name: \"LayoutLoader\",\n inheritAttrs: false,\n props: {\n name: String,\n layoutProps: Object\n },\n async setup(props, context) {\n const LayoutComponent = await layouts[props.name]().then((r) => r.default || r);\n return () => h(LayoutComponent, props.layoutProps, context.slots);\n }\n});\nexport default defineComponent({\n name: \"NuxtLayout\",\n inheritAttrs: false,\n props: {\n name: {\n type: [String, Boolean, Object],\n default: null\n },\n fallback: {\n type: [String, Object],\n default: null\n }\n },\n setup(props, context) {\n const nuxtApp = useNuxtApp();\n const injectedRoute = inject(PageRouteSymbol);\n const route = injectedRoute === useRoute() ? useVueRouterRoute() : injectedRoute;\n const layout = computed(() => {\n let layout2 = unref(props.name) ?? route.meta.layout ?? \"default\";\n if (layout2 && !(layout2 in layouts)) {\n if (import.meta.dev && layout2 !== \"default\") {\n console.warn(`Invalid layout \\`${layout2}\\` selected.`);\n }\n if (props.fallback) {\n layout2 = unref(props.fallback);\n }\n }\n return layout2;\n });\n const layoutRef = ref();\n context.expose({ layoutRef });\n const done = nuxtApp.deferHydration();\n if (import.meta.client && nuxtApp.isHydrating) {\n const removeErrorHook = nuxtApp.hooks.hookOnce(\"app:error\", done);\n useRouter().beforeEach(removeErrorHook);\n }\n if (import.meta.dev) {\n nuxtApp._isNuxtLayoutUsed = true;\n }\n return () => {\n const hasLayout = layout.value && layout.value in layouts;\n const transitionProps = route.meta.layoutTransition ?? defaultLayoutTransition;\n return _wrapIf(Transition, hasLayout && transitionProps, {\n default: () => h(Suspense, { suspensible: true, onResolve: () => {\n nextTick(done);\n } }, {\n default: () => h(\n LayoutProvider,\n {\n layoutProps: mergeProps(context.attrs, { ref: layoutRef }),\n key: layout.value || void 0,\n name: layout.value,\n shouldProvide: !props.name,\n hasTransition: !!transitionProps\n },\n context.slots\n )\n })\n }).default();\n };\n }\n});\nconst LayoutProvider = defineComponent({\n name: \"NuxtLayoutProvider\",\n inheritAttrs: false,\n props: {\n name: {\n type: [String, Boolean]\n },\n layoutProps: {\n type: Object\n },\n hasTransition: {\n type: Boolean\n },\n shouldProvide: {\n type: Boolean\n }\n },\n setup(props, context) {\n const name = props.name;\n if (props.shouldProvide) {\n provide(LayoutMetaSymbol, {\n isCurrent: (route) => name === (route.meta.layout ?? \"default\")\n });\n }\n let vnode;\n if (import.meta.dev && import.meta.client) {\n onMounted(() => {\n nextTick(() => {\n if ([\"#comment\", \"#text\"].includes(vnode?.el?.nodeName)) {\n if (name) {\n console.warn(`[nuxt] \\`${name}\\` layout does not have a single root node and will cause errors when navigating between routes.`);\n } else {\n console.warn(\"[nuxt] `<NuxtLayout>` needs to be passed a single root node in its default slot.\");\n }\n }\n });\n });\n }\n return () => {\n if (!name || typeof name === \"string\" && !(name in layouts)) {\n if (import.meta.dev && import.meta.client && props.hasTransition) {\n vnode = context.slots.default?.();\n return vnode;\n }\n return context.slots.default?.();\n }\n if (import.meta.dev && import.meta.client && props.hasTransition) {\n vnode = h(\n LayoutLoader,\n { key: name, layoutProps: props.layoutProps, name },\n context.slots\n );\n return vnode;\n }\n return h(\n LayoutLoader,\n { key: name, layoutProps: props.layoutProps, name },\n context.slots\n );\n };\n }\n});\n","import { defineComponent, h, nextTick, onMounted, provide, shallowReactive } from \"vue\";\nimport { PageRouteSymbol } from \"./injections.js\";\nexport const RouteProvider = defineComponent({\n props: {\n vnode: {\n type: Object,\n required: true\n },\n route: {\n type: Object,\n required: true\n },\n vnodeRef: Object,\n renderKey: String,\n trackRootNodes: Boolean\n },\n setup(props) {\n const previousKey = props.renderKey;\n const previousRoute = props.route;\n const route = {};\n for (const key in props.route) {\n Object.defineProperty(route, key, {\n get: () => previousKey === props.renderKey ? props.route[key] : previousRoute[key]\n });\n }\n provide(PageRouteSymbol, shallowReactive(route));\n let vnode;\n if (import.meta.dev && import.meta.client && props.trackRootNodes) {\n onMounted(() => {\n nextTick(() => {\n if ([\"#comment\", \"#text\"].includes(vnode?.el?.nodeName)) {\n const filename = (vnode?.type).__file;\n console.warn(`[nuxt] \\`${filename}\\` does not have a single root node and will cause errors when navigating between routes.`);\n }\n });\n });\n }\n return () => {\n if (import.meta.dev && import.meta.client) {\n vnode = h(props.vnode, { ref: props.vnodeRef });\n return vnode;\n }\n return h(props.vnode, { ref: props.vnodeRef });\n };\n }\n});\n","import { Fragment, Suspense, Transition, defineComponent, h, inject, nextTick, ref, watch } from \"vue\";\nimport { RouterView } from \"vue-router\";\nimport { defu } from \"defu\";\nimport { generateRouteKey, toArray, wrapInKeepAlive } from \"./utils.js\";\nimport { RouteProvider } from \"#app/components/route-provider\";\nimport { useNuxtApp } from \"#app/nuxt\";\nimport { useRouter } from \"#app/composables/router\";\nimport { _wrapIf } from \"#app/components/utils\";\nimport { LayoutMetaSymbol, PageRouteSymbol } from \"#app/components/injections\";\nimport { appKeepalive as defaultKeepaliveConfig, appPageTransition as defaultPageTransition } from \"#build/nuxt.config.mjs\";\nexport default defineComponent({\n name: \"NuxtPage\",\n inheritAttrs: false,\n props: {\n name: {\n type: String\n },\n transition: {\n type: [Boolean, Object],\n default: void 0\n },\n keepalive: {\n type: [Boolean, Object],\n default: void 0\n },\n route: {\n type: Object\n },\n pageKey: {\n type: [Function, String],\n default: null\n }\n },\n setup(props, { attrs, slots, expose }) {\n const nuxtApp = useNuxtApp();\n const pageRef = ref();\n const forkRoute = inject(PageRouteSymbol, null);\n let previousPageKey;\n expose({ pageRef });\n const _layoutMeta = inject(LayoutMetaSymbol, null);\n let vnode;\n const done = nuxtApp.deferHydration();\n if (import.meta.client && nuxtApp.isHydrating) {\n const removeErrorHook = nuxtApp.hooks.hookOnce(\"app:error\", done);\n useRouter().beforeEach(removeErrorHook);\n }\n if (props.pageKey) {\n watch(() => props.pageKey, (next, prev) => {\n if (next !== prev) {\n nuxtApp.callHook(\"page:loading:start\");\n }\n });\n }\n if (import.meta.dev) {\n nuxtApp._isNuxtPageUsed = true;\n }\n return () => {\n return h(RouterView, { name: props.name, route: props.route, ...attrs }, {\n default: (routeProps) => {\n const isRenderingNewRouteInOldFork = import.meta.client && haveParentRoutesRendered(forkRoute, routeProps.route, routeProps.Component);\n const hasSameChildren = import.meta.client && forkRoute && forkRoute.matched.length === routeProps.route.matched.length;\n if (!routeProps.Component) {\n if (import.meta.client && vnode && !hasSameChildren) {\n return vnode;\n }\n done();\n return;\n }\n if (import.meta.client && vnode && _layoutMeta && !_layoutMeta.isCurrent(routeProps.route)) {\n return vnode;\n }\n if (import.meta.client && isRenderingNewRouteInOldFork && forkRoute && (!_layoutMeta || _layoutMeta?.isCurrent(forkRoute))) {\n if (hasSameChildren) {\n return vnode;\n }\n return null;\n }\n const key = generateRouteKey(routeProps, props.pageKey);\n if (!nuxtApp.isHydrating && !hasChildrenRoutes(forkRoute, routeProps.route, routeProps.Component) && previousPageKey === key) {\n nuxtApp.callHook(\"page:loading:end\");\n }\n previousPageKey = key;\n const hasTransition = !!(props.transition ?? routeProps.route.meta.pageTransition ?? defaultPageTransition);\n const transitionProps = hasTransition && _mergeTransitionProps([\n props.transition,\n routeProps.route.meta.pageTransition,\n defaultPageTransition,\n { onAfterLeave: () => {\n nuxtApp.callHook(\"page:transition:finish\", routeProps.Component);\n } }\n ].filter(Boolean));\n const keepaliveConfig = props.keepalive ?? routeProps.route.meta.keepalive ?? defaultKeepaliveConfig;\n vnode = _wrapIf(\n Transition,\n hasTransition && transitionProps,\n wrapInKeepAlive(\n keepaliveConfig,\n h(Suspense, {\n suspensible: true,\n onPending: () => nuxtApp.callHook(\"page:start\", routeProps.Component),\n onResolve: () => {\n nextTick(() => nuxtApp.callHook(\"page:finish\", routeProps.Component).then(() => nuxtApp.callHook(\"page:loading:end\")).finally(done));\n }\n }, {\n default: () => {\n const providerVNode = h(RouteProvider, {\n key: key || void 0,\n vnode: slots.default ? h(Fragment, void 0, slots.default(routeProps)) : routeProps.Component,\n route: routeProps.route,\n renderKey: key || void 0,\n trackRootNodes: hasTransition,\n vnodeRef: pageRef\n });\n if (import.meta.client && keepaliveConfig) {\n providerVNode.type.name = routeProps.Component.type.name || routeProps.Component.type.__name || \"RouteProvider\";\n }\n return providerVNode;\n }\n })\n )\n ).default();\n return vnode;\n }\n });\n };\n }\n});\nfunction _mergeTransitionProps(routeProps) {\n const _props = routeProps.map((prop) => ({\n ...prop,\n onAfterLeave: prop.onAfterLeave ? toArray(prop.onAfterLeave) : void 0\n }));\n return defu(..._props);\n}\nfunction haveParentRoutesRendered(fork, newRoute, Component) {\n if (!fork) {\n return false;\n }\n const index = newRoute.matched.findIndex((m) => m.components?.default === Component?.type);\n if (!index || index === -1) {\n return false;\n }\n return newRoute.matched.slice(0, index).some(\n (c, i) => c.components?.default !== fork.matched[i]?.components?.default\n ) || Component && generateRouteKey({ route: newRoute, Component }) !== generateRouteKey({ route: fork, Component });\n}\nfunction hasChildrenRoutes(fork, newRoute, Component) {\n if (!fork) {\n return false;\n }\n const index = newRoute.matched.findIndex((m) => m.components?.default === Component?.type);\n return index < newRoute.matched.length - 1;\n}\n","import { computed } from \"vue\";\nimport { loadIcons, getIcon as _getIcon } from \"@iconify/vue\";\nimport { useAppConfig } from \"#imports\";\nimport { init as initClientBundle } from \"#build/nuxt-icon-client-bundle\";\nexport { initClientBundle };\nexport async function loadIcon(name, timeout) {\n if (!name)\n return null;\n initClientBundle();\n const _icon = _getIcon(name);\n if (_icon)\n return _icon;\n const load = new Promise((resolve) => loadIcons([name], () => resolve())).catch(() => null);\n if (timeout > 0)\n await Promise.race([load, new Promise((resolve) => setTimeout(() => resolve(), timeout))]);\n else\n await load;\n return _getIcon(name);\n}\nexport function useResolvedName(getName) {\n const options = useAppConfig().icon;\n const collections = (options.collections || []).sort((a, b) => b.length - a.length);\n return computed(() => {\n const name = getName();\n const bare = name.startsWith(options.cssSelectorPrefix) ? name.slice(options.cssSelectorPrefix.length) : name;\n const resolved = options.aliases?.[bare] || bare;\n if (!resolved.includes(\":\")) {\n const collection = collections.find((c) => resolved.startsWith(c + \"-\"));\n return collection ? collection + \":\" + resolved.slice(collection.length + 1) : resolved;\n }\n return resolved;\n });\n}\n","import { addIcon, getIcon as _getIcon } from \"@iconify/vue\";\nimport { computed, watch, h, defineComponent } from \"vue\";\nimport { getIconCSS } from \"@iconify/utils/lib/css/icon\";\nimport { loadIcon } from \"./shared.js\";\nimport { useAppConfig, useNuxtApp, useHead, useRuntimeConfig, onServerPrefetch } from \"#imports\";\nlet cssSelectors;\nconst SYMBOL_SERVER_CSS = \"NUXT_ICONS_SERVER_CSS\";\nfunction escapeCssSelector(selector) {\n return selector.replace(/([^\\w-])/g, \"\\\\$1\");\n}\nfunction getAllSelectors() {\n if (cssSelectors)\n return cssSelectors;\n cssSelectors = /* @__PURE__ */ new Set();\n const filter = (selector) => {\n selector = selector.replace(/^:where\\((.*)\\)$/, \"$1\").trim();\n if (selector.startsWith(\".\")) {\n return selector;\n }\n };\n const scanCssRules = (rules) => {\n if (!rules?.length)\n return;\n for (const rule of rules) {\n if (rule?.cssRules) {\n scanCssRules(rule.cssRules);\n }\n const selectorRaw = rule?.selectorText;\n if (typeof selectorRaw === \"string\") {\n const selector = filter(selectorRaw);\n if (selector)\n cssSelectors.add(selector);\n }\n }\n };\n for (const styleSheet of document.styleSheets) {\n try {\n const rules = styleSheet.cssRules || styleSheet.rules;\n scanCssRules(rules);\n } catch {\n }\n }\n return cssSelectors;\n}\nexport const NuxtIconCss = /* @__PURE__ */ defineComponent({\n name: \"NuxtIconCss\",\n props: {\n name: {\n type: String,\n required: true\n },\n customize: {\n type: Function,\n required: false\n }\n },\n setup(props) {\n const nuxt = useNuxtApp();\n const options = useAppConfig().icon;\n const cssClass = computed(() => props.name ? options.cssSelectorPrefix + props.name : \"\");\n function getIcon(name) {\n if (!name)\n return;\n const icon = _getIcon(name);\n if (icon)\n return icon;\n const payload = nuxt.payload?.data?.[name];\n if (payload) {\n addIcon(name, payload);\n return payload;\n }\n }\n const selector = computed(() => \".\" + escapeCssSelector(cssClass.value));\n function getCSS(icon, withLayer = true) {\n let iconSelector = selector.value;\n if (options.cssWherePseudo) {\n iconSelector = `:where(${iconSelector})`;\n }\n const css = getIconCSS(icon, {\n iconSelector,\n format: \"compressed\",\n customise: props.customize\n });\n if (options.cssLayer && withLayer) {\n return `@layer ${options.cssLayer} { ${css} }`;\n }\n return css;\n }\n if (import.meta.client) {\n const selectors = getAllSelectors();\n async function mountCSS(icon) {\n if (selectors.has(selector.value)) {\n return;\n }\n const style = document.createElement(\"style\");\n style.textContent = getCSS(icon);\n if (import.meta.dev) {\n style.dataset.nuxtIconDev = props.name;\n }\n const firstStyle = document.head.querySelector('style, link[rel=\"stylesheet\"]');\n if (firstStyle)\n document.head.insertBefore(style, firstStyle);\n else\n document.head.appendChild(style);\n selectors.add(selector.value);\n }\n watch(\n () => props.name,\n () => {\n if (selectors.has(selector.value)) {\n return;\n }\n const data = getIcon(props.name);\n if (data) {\n mountCSS(data);\n } else {\n loadIcon(props.name, options.fetchTimeout).then((data2) => {\n if (data2)\n mountCSS(data2);\n }).catch(() => null);\n }\n },\n { immediate: true }\n );\n }\n if (import.meta.server) {\n const configs = useRuntimeConfig().icon || {};\n if (!configs?.serverKnownCssClasses?.includes(cssClass.value)) {\n onServerPrefetch(async () => {\n const icon = await loadIcon(props.name, options.fetchTimeout).catch(() => null);\n if (!icon)\n return null;\n let ssrCSS = nuxt.vueApp._context.provides[SYMBOL_SERVER_CSS];\n if (!ssrCSS) {\n ssrCSS = nuxt.vueApp._context.provides[SYMBOL_SERVER_CSS] = /* @__PURE__ */ new Map();\n nuxt.runWithContext(() => {\n useHead({\n style: [\n () => {\n const sep = import.meta.dev ? \"\\n\" : \"\";\n let css = Array.from(ssrCSS.values()).sort().join(sep);\n if (options.cssLayer) {\n css = `@layer ${options.cssLayer} {${sep}${css}${sep}}`;\n }\n return { innerHTML: css };\n }\n ]\n }, {\n tagPriority: \"low\"\n });\n });\n }\n if (props.name && !ssrCSS.has(props.name)) {\n const css = getCSS(icon, false);\n ssrCSS.set(props.name, css);\n }\n return null;\n });\n }\n }\n return () => h(\"span\", { class: [\"iconify\", cssClass.value, options.class] });\n }\n});\n","import { Icon as Iconify, addIcon } from \"@iconify/vue\";\nimport { h } from \"vue\";\nimport { initClientBundle, loadIcon, useResolvedName } from \"./shared.js\";\nimport { useAsyncData, useNuxtApp, defineComponent, useAppConfig } from \"#imports\";\nexport const NuxtIconSvg = /* @__PURE__ */ defineComponent({\n name: \"NuxtIconSvg\",\n props: {\n name: {\n type: String,\n required: true\n },\n customize: {\n type: Function,\n required: false\n }\n },\n async setup(props, { slots }) {\n const nuxt = useNuxtApp();\n const options = useAppConfig().icon;\n const name = useResolvedName(() => props.name);\n const storeKey = \"i-\" + name.value;\n if (name.value) {\n if (import.meta.server) {\n useAsyncData(\n storeKey,\n () => loadIcon(name.value, options.fetchTimeout),\n { deep: false }\n );\n }\n if (import.meta.client) {\n const payload = nuxt.payload.data[storeKey];\n if (payload) {\n addIcon(name.value, payload);\n } else {\n initClientBundle();\n }\n }\n }\n return () => h(Iconify, {\n icon: name.value,\n ssr: true,\n class: options.class,\n // Iconify uses `customise`, where we expose `customize` for consistency\n customise: props.customize\n }, slots);\n }\n});\n","import { computed, defineComponent, h } from \"vue\";\nimport { NuxtIconCss } from \"./css.js\";\nimport { NuxtIconSvg } from \"./svg.js\";\nimport { useResolvedName } from \"./shared.js\";\nimport { useAppConfig, useNuxtApp } from \"#imports\";\nexport default defineComponent({\n name: \"NuxtIcon\",\n props: {\n name: {\n type: String,\n required: true\n },\n mode: {\n type: String,\n required: false,\n default: null\n },\n size: {\n type: [Number, String],\n required: false,\n default: null\n },\n customize: {\n type: Function,\n required: false\n }\n },\n async setup(props, { slots }) {\n const nuxtApp = useNuxtApp();\n const runtimeOptions = useAppConfig().icon;\n const name = useResolvedName(() => props.name);\n const component = computed(\n () => nuxtApp.vueApp?.component(name.value) || ((props.mode || runtimeOptions.mode) === \"svg\" ? NuxtIconSvg : NuxtIconCss)\n );\n const style = computed(() => {\n const size = props.size || runtimeOptions.size;\n return size ? { fontSize: Number.isNaN(+size) ? size : size + \"px\" } : null;\n });\n const customize = props.customize || runtimeOptions.customize;\n return () => h(\n component.value,\n {\n ...runtimeOptions.attrs,\n name: name.value,\n class: runtimeOptions.class,\n style: style.value,\n customize\n },\n slots\n );\n }\n});\n","<template>\n <Icon v-bind=\"$props\" />\n</template>\n\n<script>\nimport { defineComponent } from \"vue\";\nexport default defineComponent({\n props: {\n name: {\n type: String,\n required: true\n },\n mode: {\n type: String,\n required: false,\n default: null\n },\n size: {\n type: [Number, String],\n required: false,\n default: null\n },\n customize: {\n type: Function,\n required: false,\n default: null\n }\n }\n});\n</script>\n","import { computed, toValue, useAttrs } from \"vue\";\nimport { useAppConfig } from \"#imports\";\nimport { mergeConfig, omit, get } from \"../utils/index.js\";\nexport const useUI = (key, $ui, $config, $wrapperClass, withAppConfig = false) => {\n const $attrs = useAttrs();\n const appConfig = useAppConfig();\n const ui = computed(() => {\n const _ui = toValue($ui);\n const _config = toValue($config);\n const _wrapperClass = toValue($wrapperClass);\n return mergeConfig(\n _ui?.strategy || appConfig.ui?.strategy,\n _wrapperClass ? { wrapper: _wrapperClass } : {},\n _ui || {},\n process.dev || withAppConfig ? get(appConfig.ui, key, {}) : {},\n _config || {}\n );\n });\n const attrs = computed(() => omit($attrs, [\"class\"]));\n return {\n ui,\n attrs\n };\n};\n","export default {\n wrapper: \"relative inline-flex items-center justify-center flex-shrink-0\",\n background: \"bg-gray-100 dark:bg-gray-800\",\n rounded: \"rounded-full\",\n text: \"font-medium leading-none text-gray-900 dark:text-white truncate\",\n placeholder: \"font-medium leading-none text-gray-500 dark:text-gray-400 truncate\",\n size: {\n \"3xs\": \"h-4 w-4 text-[8px]\",\n \"2xs\": \"h-5 w-5 text-[10px]\",\n xs: \"h-6 w-6 text-xs\",\n sm: \"h-8 w-8 text-sm\",\n md: \"h-10 w-10 text-base\",\n lg: \"h-12 w-12 text-lg\",\n xl: \"h-14 w-14 text-xl\",\n \"2xl\": \"h-16 w-16 text-2xl\",\n \"3xl\": \"h-20 w-20 text-3xl\"\n },\n chip: {\n base: \"absolute rounded-full ring-1 ring-white dark:ring-gray-900 flex items-center justify-center text-white dark:text-gray-900 font-medium\",\n background: \"bg-{color}-500 dark:bg-{color}-400\",\n position: {\n \"top-right\": \"top-0 right-0\",\n \"bottom-right\": \"bottom-0 right-0\",\n \"top-left\": \"top-0 left-0\",\n \"bottom-left\": \"bottom-0 left-0\"\n },\n size: {\n \"3xs\": \"h-[4px] min-w-[4px] text-[4px] p-px\",\n \"2xs\": \"h-[5px] min-w-[5px] text-[5px] p-px\",\n xs: \"h-1.5 min-w-[0.375rem] text-[6px] p-px\",\n sm: \"h-2 min-w-[0.5rem] text-[7px] p-0.5\",\n md: \"h-2.5 min-w-[0.625rem] text-[8px] p-0.5\",\n lg: \"h-3 min-w-[0.75rem] text-[10px] p-0.5\",\n xl: \"h-3.5 min-w-[0.875rem] text-[11px] p-1\",\n \"2xl\": \"h-4 min-w-[1rem] text-[12px] p-1\",\n \"3xl\": \"h-5 min-w-[1.25rem] text-[14px] p-1\"\n }\n },\n icon: {\n base: \"text-gray-500 dark:text-gray-400 flex-shrink-0\",\n size: {\n \"3xs\": \"h-2 w-2\",\n \"2xs\": \"h-2.5 w-2.5\",\n xs: \"h-3 w-3\",\n sm: \"h-4 w-4\",\n md: \"h-5 w-5\",\n lg: \"h-6 w-6\",\n xl: \"h-7 w-7\",\n \"2xl\": \"h-8 w-8\",\n \"3xl\": \"h-10 w-10\"\n }\n },\n default: {\n size: \"sm\",\n icon: null,\n chipColor: null,\n chipPosition: \"top-right\"\n }\n};\n","export default {\n base: \"focus:outline-none focus-visible:outline-0 disabled:cursor-not-allowed disabled:opacity-75 flex-shrink-0\",\n font: \"font-medium\",\n rounded: \"rounded-md\",\n truncate: \"text-left break-all line-clamp-1\",\n block: \"w-full flex justify-center items-center\",\n inline: \"inline-flex items-center\",\n size: {\n \"2xs\": \"text-xs\",\n xs: \"text-xs\",\n sm: \"text-sm\",\n md: \"text-sm\",\n lg: \"text-sm\",\n xl: \"text-base\"\n },\n gap: {\n \"2xs\": \"gap-x-1\",\n xs: \"gap-x-1.5\",\n sm: \"gap-x-1.5\",\n md: \"gap-x-2\",\n lg: \"gap-x-2.5\",\n xl: \"gap-x-2.5\"\n },\n padding: {\n \"2xs\": \"px-2 py-1\",\n xs: \"px-2.5 py-1.5\",\n sm: \"px-2.5 py-1.5\",\n md: \"px-3 py-2\",\n lg: \"px-3.5 py-2.5\",\n xl: \"px-3.5 py-2.5\"\n },\n square: {\n \"2xs\": \"p-1\",\n xs: \"p-1.5\",\n sm: \"p-1.5\",\n md: \"p-2\",\n lg: \"p-2.5\",\n xl: \"p-2.5\"\n },\n color: {\n white: {\n solid: \"shadow-sm ring-1 ring-inset ring-gray-300 dark:ring-gray-700 text-gray-900 dark:text-white bg-white hover:bg-gray-50 disabled:bg-white dark:bg-gray-900 dark:hover:bg-gray-800/50 dark:disabled:bg-gray-900 focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400\",\n ghost: \"text-gray-900 dark:text-white hover:bg-white dark:hover:bg-gray-900 focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400\"\n },\n gray: {\n solid: \"shadow-sm ring-1 ring-inset ring-gray-300 dark:ring-gray-700 text-gray-700 dark:text-gray-200 bg-gray-50 hover:bg-gray-100 disabled:bg-gray-50 dark:bg-gray-800 dark:hover:bg-gray-700/50 dark:disabled:bg-gray-800 focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400\",\n ghost: \"text-gray-700 dark:text-gray-200 hover:text-gray-900 dark:hover:text-white hover:bg-gray-50 dark:hover:bg-gray-800 focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400\",\n link: \"text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-200 underline-offset-4 hover:underline focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400\"\n },\n black: {\n solid: \"shadow-sm text-white dark:text-gray-900 bg-gray-900 hover:bg-gray-800 disabled:bg-gray-900 dark:bg-white dark:hover:bg-gray-100 dark:disabled:bg-white focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400\",\n link: \"text-gray-900 dark:text-white underline-offset-4 hover:underline focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400\"\n }\n },\n variant: {\n solid: \"shadow-sm text-white dark:text-gray-900 bg-{color}-500 hover:bg-{color}-600 disabled:bg-{color}-500 dark:bg-{color}-400 dark:hover:bg-{color}-500 dark:disabled:bg-{color}-400 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-{color}-500 dark:focus-visible:outline-{color}-400\",\n outline: \"ring-1 ring-inset ring-current text-{color}-500 dark:text-{color}-400 hover:bg-{color}-50 disabled:bg-transparent dark:hover:bg-{color}-950 dark:disabled:bg-transparent focus-visible:ring-2 focus-visible:ring-{color}-500 dark:focus-visible:ring-{color}-400\",\n soft: \"text-{color}-500 dark:text-{color}-400 bg-{color}-50 hover:bg-{color}-100 disabled:bg-{color}-50 dark:bg-{color}-950 dark:hover:bg-{color}-900 dark:disabled:bg-{color}-950 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-{color}-500 dark:focus-visible:ring-{color}-400\",\n ghost: \"text-{color}-500 dark:text-{color}-400 hover:bg-{color}-50 disabled:bg-transparent dark:hover:bg-{color}-950 dark:disabled:bg-transparent focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-{color}-500 dark:focus-visible:ring-{color}-400\",\n link: \"text-{color}-500 hover:text-{color}-600 disabled:text-{color}-500 dark:text-{color}-400 dark:hover:text-{color}-500 dark:disabled:text-{color}-400 underline-offset-4 hover:underline focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-{color}-500 dark:focus-visible:ring-{color}-400\"\n },\n icon: {\n base: \"flex-shrink-0\",\n loading: \"animate-spin\",\n size: {\n \"2xs\": \"h-4 w-4\",\n xs: \"h-4 w-4\",\n sm: \"h-5 w-5\",\n md: \"h-5 w-5\",\n lg: \"h-5 w-5\",\n xl: \"h-6 w-6\"\n }\n },\n default: {\n size: \"sm\",\n variant: \"solid\",\n color: \"primary\",\n loadingIcon: \"i-heroicons-arrow-path-20-solid\"\n }\n};\n","export const arrow = {\n base: \"invisible before:visible before:block before:rotate-45 before:z-[-1] before:w-2 before:h-2\",\n ring: \"before:ring-1 before:ring-gray-200 dark:before:ring-gray-800\",\n rounded: \"before:rounded-sm\",\n background: \"before:bg-gray-200 dark:before:bg-gray-800\",\n shadow: \"before:shadow\",\n // eslint-disable-next-line quotes\n placement: `group-data-[popper-placement*='right']:-left-1 group-data-[popper-placement*='left']:-right-1 group-data-[popper-placement*='top']:-bottom-1 group-data-[popper-placement*='bottom']:-top-1`\n};\n","export default {\n wrapper: \"relative\",\n base: \"relative block w-full disabled:cursor-not-allowed disabled:opacity-75 focus:outline-none border-0\",\n form: \"form-input\",\n rounded: \"rounded-md\",\n placeholder: \"placeholder-gray-400 dark:placeholder-gray-500\",\n file: {\n base: \"file:mr-1.5 file:font-medium file:text-gray-500 dark:file:text-gray-400 file:bg-transparent file:border-0 file:p-0 file:outline-none\"\n },\n size: {\n \"2xs\": \"text-xs\",\n xs: \"text-xs\",\n sm: \"text-sm\",\n md: \"text-sm\",\n lg: \"text-sm\",\n xl: \"text-base\"\n },\n gap: {\n \"2xs\": \"gap-x-1\",\n xs: \"gap-x-1.5\",\n sm: \"gap-x-1.5\",\n md: \"gap-x-2\",\n lg: \"gap-x-2.5\",\n xl: \"gap-x-2.5\"\n },\n padding: {\n \"2xs\": \"px-2 py-1\",\n xs: \"px-2.5 py-1.5\",\n sm: \"px-2.5 py-1.5\",\n md: \"px-3 py-2\",\n lg: \"px-3.5 py-2.5\",\n xl: \"px-3.5 py-2.5\"\n },\n leading: {\n padding: {\n \"2xs\": \"ps-7\",\n xs: \"ps-8\",\n sm: \"ps-9\",\n md: \"ps-10\",\n lg: \"ps-11\",\n xl: \"ps-12\"\n }\n },\n trailing: {\n padding: {\n \"2xs\": \"pe-7\",\n xs: \"pe-8\",\n sm: \"pe-9\",\n md: \"pe-10\",\n lg: \"pe-11\",\n xl: \"pe-12\"\n }\n },\n color: {\n white: {\n outline: \"shadow-sm bg-white dark:bg-gray-900 text-gray-900 dark:text-white ring-1 ring-inset ring-gray-300 dark:ring-gray-700 focus:ring-2 focus:ring-primary-500 dark:focus:ring-primary-400\"\n },\n gray: {\n outline: \"shadow-sm bg-gray-50 dark:bg-gray-800 text-gray-900 dark:text-white ring-1 ring-inset ring-gray-300 dark:ring-gray-700 focus:ring-2 focus:ring-primary-500 dark:focus:ring-primary-400\"\n }\n },\n variant: {\n outline: \"shadow-sm bg-transparent text-gray-900 dark:text-white ring-1 ring-inset ring-{color}-500 dark:ring-{color}-400 focus:ring-2 focus:ring-{color}-500 dark:focus:ring-{color}-400\",\n none: \"bg-transparent focus:ring-0 focus:shadow-none\"\n },\n icon: {\n base: \"flex-shrink-0 text-gray-400 dark:text-gray-500\",\n color: \"text-{color}-500 dark:text-{color}-400\",\n loading: \"animate-spin\",\n size: {\n \"2xs\": \"h-4 w-4\",\n xs: \"h-4 w-4\",\n sm: \"h-5 w-5\",\n md: \"h-5 w-5\",\n lg: \"h-5 w-5\",\n xl: \"h-6 w-6\"\n },\n leading: {\n wrapper: \"absolute inset-y-0 start-0 flex items-center\",\n pointer: \"pointer-events-none\",\n padding: {\n \"2xs\": \"px-2\",\n xs: \"px-2.5\",\n sm: \"px-2.5\",\n md: \"px-3\",\n lg: \"px-3.5\",\n xl: \"px-3.5\"\n }\n },\n trailing: {\n wrapper: \"absolute inset-y-0 end-0 flex items-center\",\n pointer: \"pointer-events-none\",\n padding: {\n \"2xs\": \"px-2\",\n xs: \"px-2.5\",\n sm: \"px-2.5\",\n md: \"px-3\",\n lg: \"px-3.5\",\n xl: \"px-3.5\"\n }\n }\n },\n default: {\n size: \"sm\",\n color: \"white\",\n variant: \"outline\",\n loadingIcon: \"i-heroicons-arrow-path-20-solid\"\n }\n};\n","import { arrow } from \"../popper.js\";\nexport default {\n container: \"z-20 group\",\n trigger: \"flex items-center w-full\",\n width: \"w-full\",\n height: \"max-h-60\",\n base: \"relative focus:outline-none overflow-y-auto scroll-py-1\",\n background: \"bg-white dark:bg-gray-800\",\n shadow: \"shadow-lg\",\n rounded: \"rounded-md\",\n padding: \"p-1\",\n ring: \"ring-1 ring-gray-200 dark:ring-gray-700\",\n empty: \"text-sm text-gray-400 dark:text-gray-500 px-2 py-1.5\",\n option: {\n base: \"cursor-default select-none relative flex items-center justify-between gap-1\",\n rounded: \"rounded-md\",\n padding: \"px-1.5 py-1.5\",\n size: \"text-sm\",\n color: \"text-gray-900 dark:text-white\",\n container: \"flex items-center gap-1.5 min-w-0\",\n active: \"bg-gray-100 dark:bg-gray-900\",\n inactive: \"\",\n selected: \"pe-7\",\n disabled: \"cursor-not-allowed opacity-50\",\n empty: \"text-sm text-gray-400 dark:text-gray-500 px-2 py-1.5\",\n icon: {\n base: \"flex-shrink-0 h-5 w-5\",\n active: \"text-gray-900 dark:text-white\",\n inactive: \"text-gray-400 dark:text-gray-500\"\n },\n selectedIcon: {\n wrapper: \"absolute inset-y-0 end-0 flex items-center\",\n padding: \"pe-2\",\n base: \"h-5 w-5 text-gray-900 dark:text-white flex-shrink-0\"\n },\n avatar: {\n base: \"flex-shrink-0\",\n size: \"2xs\"\n },\n chip: {\n base: \"flex-shrink-0 w-2 h-2 mx-1 rounded-full\"\n }\n },\n // Syntax for `<Transition>` component https://vuejs.org/guide/built-ins/transition.html#css-based-transitions\n transition: {\n leaveActiveClass: \"transition ease-in duration-100\",\n leaveFromClass: \"opacity-100\",\n leaveToClass: \"opacity-0\"\n },\n popper: {\n placement: \"bottom-end\"\n },\n default: {\n selectedIcon: \"i-heroicons-check-20-solid\",\n trailingIcon: \"i-heroicons-chevron-down-20-solid\"\n },\n arrow: {\n ...arrow,\n ring: \"before:ring-1 before:ring-gray-200 dark:before:ring-gray-700\",\n background: \"before:bg-white dark:before:bg-gray-700\"\n }\n};\n","import input from \"./input.js\";\nexport default {\n ...input,\n form: \"form-textarea\",\n default: {\n size: \"sm\",\n color: \"white\",\n variant: \"outline\"\n }\n};\n","import input from \"./input.js\";\nexport default {\n ...input,\n form: \"form-select\",\n placeholder: \"text-gray-400 dark:text-gray-500\",\n default: {\n size: \"sm\",\n color: \"white\",\n variant: \"outline\",\n loadingIcon: \"i-heroicons-arrow-path-20-solid\",\n trailingIcon: \"i-heroicons-chevron-down-20-solid\"\n }\n};\n","import { arrow } from \"../popper.js\";\nimport inputMenu from \"./inputMenu.js\";\nexport default {\n ...inputMenu,\n select: \"inline-flex items-center text-left cursor-default\",\n input: \"block w-[calc(100%+0.5rem)] focus:ring-transparent text-sm px-3 py-1.5 text-gray-700 dark:text-gray-200 bg-white dark:bg-gray-800 border-0 border-b border-gray-200 dark:border-gray-700 sticky -top-1 -mt-1 mb-1 -mx-1 z-10 placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none\",\n required: \"absolute inset-0 w-px opacity-0 cursor-default\",\n label: \"block truncate\",\n option: {\n ...inputMenu.option,\n create: \"block truncate\"\n },\n // Syntax for `<Transition>` component https://vuejs.org/guide/built-ins/transition.html#css-based-transitions\n transition: {\n leaveActiveClass: \"transition ease-in duration-100\",\n leaveFromClass: \"opacity-100\",\n leaveToClass: \"opacity-0\"\n },\n popper: {\n placement: \"bottom-end\"\n },\n default: {\n selectedIcon: \"i-heroicons-check-20-solid\",\n clearSearchOnClose: false,\n showCreateOptionWhen: \"empty\"\n },\n arrow: {\n ...arrow,\n ring: \"before:ring-1 before:ring-gray-200 dark:before:ring-gray-700\",\n background: \"before:bg-white dark:before:bg-gray-700\"\n }\n};\n","export default {\n wrapper: \"w-full pointer-events-auto\",\n container: \"relative overflow-hidden\",\n inner: \"w-0 flex-1\",\n title: \"text-sm font-medium text-gray-900 dark:text-white\",\n description: \"mt-1 text-sm leading-4 text-gray-500 dark:text-gray-400\",\n actions: \"flex items-center gap-2 mt-3 flex-shrink-0\",\n background: \"bg-white dark:bg-gray-900\",\n shadow: \"shadow-lg\",\n rounded: \"rounded-lg\",\n padding: \"p-4\",\n gap: \"gap-3\",\n ring: \"ring-1 ring-gray-200 dark:ring-gray-800\",\n icon: {\n base: \"flex-shrink-0 w-5 h-5\",\n color: \"text-{color}-500 dark:text-{color}-400\"\n },\n avatar: {\n base: \"flex-shrink-0 self-center\",\n size: \"md\"\n },\n progress: {\n base: \"absolute bottom-0 end-0 start-0 h-1\",\n background: \"bg-{color}-500 dark:bg-{color}-400\"\n },\n // Syntax for `<Transition>` component https://vuejs.org/guide/built-ins/transition.html#css-based-transitions\n transition: {\n enterActiveClass: \"transform ease-out duration-300 transition\",\n enterFromClass: \"translate-y-2 opacity-0 sm:translate-y-0 sm:translate-x-2\",\n enterToClass: \"translate-y-0 opacity-100 sm:translate-x-0\",\n leaveActiveClass: \"transition ease-in duration-100\",\n leaveFromClass: \"opacity-100\",\n leaveToClass: \"opacity-0\"\n },\n default: {\n color: \"primary\",\n icon: null,\n timeout: 5e3,\n closeButton: {\n icon: \"i-heroicons-x-mark-20-solid\",\n color: \"gray\",\n variant: \"link\",\n padded: false\n },\n actionButton: {\n size: \"xs\",\n color: \"white\"\n }\n }\n};\n","export default {\n wrapper: \"fixed flex flex-col justify-end z-[55]\",\n position: \"bottom-0 end-0\",\n width: \"w-full sm:w-96\",\n container: \"px-4 sm:px-6 py-6 space-y-3 overflow-y-auto\"\n};\n","<template>\n <span :class=\"wrapperClass\">\n <component\n :is=\"as\"\n v-if=\"url && !error\"\n :class=\"imgClass\"\n :alt=\"alt\"\n :src=\"url\"\n v-bind=\"attrs\"\n @error=\"onError\"\n />\n <span v-else-if=\"text\" :class=\"ui.text\">{{ text }}</span>\n <UIcon v-else-if=\"icon\" :name=\"icon\" :class=\"iconClass\" />\n <span v-else-if=\"placeholder\" :class=\"ui.placeholder\">{{ placeholder }}</span>\n\n <span v-if=\"chipColor\" :class=\"chipClass\">\n {{ chipText }}\n </span>\n <slot />\n </span>\n</template>\n\n<script>\nimport { defineComponent, ref, computed, toRef, watch } from \"vue\";\nimport { twMerge, twJoin } from \"tailwind-merge\";\nimport UIcon from \"../elements/Icon.vue\";\nimport { useUI } from \"../../composables/useUI\";\nimport { mergeConfig } from \"../../utils\";\nimport appConfig from \"#build/app.config\";\nimport { avatar } from \"#ui/ui.config\";\nconst config = mergeConfig(appConfig.ui.strategy, appConfig.ui.avatar, avatar);\nexport default defineComponent({\n components: {\n UIcon\n },\n inheritAttrs: false,\n props: {\n as: {\n type: [String, Object],\n default: \"img\"\n },\n src: {\n type: [String, Boolean],\n default: null\n },\n alt: {\n type: String,\n default: null\n },\n text: {\n type: String,\n default: null\n },\n icon: {\n type: String,\n default: () => config.default.icon\n },\n size: {\n type: String,\n default: () => config.default.size,\n validator(value) {\n return Object.keys(config.size).includes(value);\n }\n },\n chipColor: {\n type: String,\n default: () => config.default.chipColor,\n validator(value) {\n return [\"gray\", ...appConfig.ui.colors].includes(value);\n }\n },\n chipPosition: {\n type: String,\n default: () => config.default.chipPosition,\n validator(value) {\n return Object.keys(config.chip.position).includes(value);\n }\n },\n chipText: {\n type: [String, Number],\n default: null\n },\n imgClass: {\n type: String,\n default: \"\"\n },\n class: {\n type: [String, Object, Array],\n default: () => \"\"\n },\n ui: {\n type: Object,\n default: () => ({})\n }\n },\n setup(props) {\n const { ui, attrs } = useUI(\"avatar\", toRef(props, \"ui\"), config);\n const url = computed(() => {\n if (typeof props.src === \"boolean\") {\n return null;\n }\n return props.src;\n });\n const placeholder = computed(() => {\n return (props.alt || \"\").split(\" \").map((word) => word.charAt(0)).join(\"\").substring(0, 2);\n });\n const wrapperClass = computed(() => {\n return twMerge(twJoin(\n ui.value.wrapper,\n (error.value || !url.value) && ui.value.background,\n ui.value.rounded,\n ui.value.size[props.size]\n ), props.class);\n });\n const imgClass = computed(() => {\n return twMerge(twJoin(\n ui.value.rounded,\n ui.value.size[props.size]\n ), props.imgClass);\n });\n const iconClass = computed(() => {\n return twJoin(\n ui.value.icon.base,\n ui.value.icon.size[props.size]\n );\n });\n const chipClass = computed(() => {\n return twJoin(\n ui.value.chip.base,\n ui.value.chip.size[props.size],\n ui.value.chip.position[props.chipPosition],\n ui.value.chip.background.replaceAll(\"{color}\", props.chipColor)\n );\n });\n const error = ref(false);\n watch(() => props.src, () => {\n if (error.value) {\n error.value = false;\n }\n });\n function onError() {\n error.value = true;\n }\n return {\n // eslint-disable-next-line vue/no-dupe-keys\n ui,\n attrs,\n wrapperClass,\n // eslint-disable-next-line vue/no-dupe-keys\n imgClass,\n iconClass,\n chipClass,\n url,\n placeholder,\n error,\n onError\n };\n }\n});\n</script>\n","<template>\n <component\n :is=\"as\"\n v-if=\"!to\"\n :type=\"type\"\n :disabled=\"disabled\"\n v-bind=\"$attrs\"\n :class=\"active ? activeClass : inactiveClass\"\n >\n <slot v-bind=\"{ isActive: active }\" />\n </component>\n <NuxtLink\n v-else\n v-slot=\"{ route, href, target, rel, navigate, isActive, isExactActive, isExternal }\"\n v-bind=\"$props\"\n custom\n >\n <a\n v-bind=\"$attrs\"\n :href=\"!disabled ? href : undefined\"\n :aria-disabled=\"disabled ? 'true' : undefined\"\n :role=\"disabled ? 'link' : undefined\"\n :rel=\"rel\"\n :target=\"target\"\n :class=\"active !== undefined ? (active ? activeClass : inactiveClass) : resolveLinkClass(route, $route, { isActive, isExactActive })\"\n @click=\"(e) => (!isExternal && !disabled) && navigate(e)\"\n >\n <slot v-bind=\"{ isActive: active !== undefined ? active : (exact ? isExactActive : isActive) }\" />\n </a>\n </NuxtLink>\n</template>\n\n<script>\nimport { isEqual } from \"ohash\";\nimport { defineComponent } from \"vue\";\nimport { nuxtLinkProps } from \"../../utils\";\nexport default defineComponent({\n inheritAttrs: false,\n props: {\n ...nuxtLinkProps,\n as: {\n type: String,\n default: \"button\"\n },\n type: {\n type: String,\n default: \"button\"\n },\n disabled: {\n type: Boolean,\n default: null\n },\n active: {\n type: Boolean,\n default: void 0\n },\n exact: {\n type: Boolean,\n default: false\n },\n exactQuery: {\n type: Boolean,\n default: false\n },\n exactHash: {\n type: Boolean,\n default: false\n },\n inactiveClass: {\n type: String,\n default: void 0\n }\n },\n setup(props) {\n function resolveLinkClass(route, $route, { isActive, isExactActive }) {\n if (props.exactQuery && !isEqual(route.query, $route.query)) {\n return props.inactiveClass;\n }\n if (props.exactHash && route.hash !== $route.hash) {\n return props.inactiveClass;\n }\n if (props.exact && isExactActive) {\n return props.activeClass;\n }\n if (!props.exact && isActive) {\n return props.activeClass;\n }\n return props.inactiveClass;\n }\n return {\n resolveLinkClass\n };\n }\n});\n</script>\n","import { computed, ref, provide, inject, onMounted, onUnmounted, getCurrentInstance } from \"vue\";\nexport function useProvideButtonGroup(buttonGroupProps) {\n const instance = getCurrentInstance();\n const groupKey = `group-${instance.uid}`;\n const state = ref({\n children: [],\n register(child) {\n this.children.push(child);\n },\n unregister(child) {\n const index = this.children.indexOf(child);\n if (index > -1) {\n this.children.splice(index, 1);\n }\n },\n ...buttonGroupProps\n });\n provide(groupKey, state);\n}\nexport function useInjectButtonGroup({ ui, props }) {\n const instance = getCurrentInstance();\n provide(\"ButtonGroupContextConsumer\", true);\n const isParentPartOfGroup = inject(\"ButtonGroupContextConsumer\", false);\n if (isParentPartOfGroup) {\n return {\n size: computed(() => props.size),\n rounded: computed(() => ui.value.rounded)\n };\n }\n let parent = instance.parent;\n let groupContext;\n while (parent && !groupContext) {\n if (parent.type.name === \"ButtonGroup\") {\n groupContext = inject(`group-${parent.uid}`);\n break;\n }\n parent = parent.parent;\n }\n const positionInGroup = computed(() => groupContext?.value.children.indexOf(instance));\n onMounted(() => {\n groupContext?.value.register(instance);\n });\n onUnmounted(() => {\n groupContext?.value.unregister(instance);\n });\n return {\n size: computed(() => {\n if (!groupContext?.value) return props.size;\n return groupContext?.value.size ?? ui.value.default.size;\n }),\n rounded: computed(() => {\n if (!groupContext || positionInGroup.value === -1) return ui.value.rounded;\n if (groupContext.value.children.length === 1) return groupContext.value.ui.rounded;\n if (positionInGroup.value === 0) return groupContext.value.rounded.start;\n if (positionInGroup.value === groupContext.value.children.length - 1) return groupContext.value.rounded.end;\n return \"rounded-none\";\n })\n };\n}\n","<template>\n <ULink :type=\"type\" :disabled=\"disabled || loading\" :class=\"buttonClass\" v-bind=\"{ ...linkProps, ...attrs }\">\n <slot name=\"leading\" :disabled=\"disabled\" :loading=\"loading\">\n <UIcon v-if=\"isLeading && leadingIconName\" :name=\"leadingIconName\" :class=\"leadingIconClass\" aria-hidden=\"true\" />\n </slot>\n\n <slot>\n <span v-if=\"label\" :class=\"[truncate ? ui.truncate : '']\">\n {{ label }}\n </span>\n </slot>\n\n <slot name=\"trailing\" :disabled=\"disabled\" :loading=\"loading\">\n <UIcon v-if=\"isTrailing && trailingIconName\" :name=\"trailingIconName\" :class=\"trailingIconClass\" aria-hidden=\"true\" />\n </slot>\n </ULink>\n</template>\n\n<script>\nimport { computed, defineComponent, toRef } from \"vue\";\nimport { twMerge, twJoin } from \"tailwind-merge\";\nimport UIcon from \"../elements/Icon.vue\";\nimport ULink from \"../elements/Link.vue\";\nimport { useUI } from \"../../composables/useUI\";\nimport { mergeConfig, nuxtLinkProps, getNuxtLinkProps } from \"../../utils\";\nimport { useInjectButtonGroup } from \"../../composables/useButtonGroup\";\nimport appConfig from \"#build/app.config\";\nimport { button } from \"#ui/ui.config\";\nconst config = mergeConfig(appConfig.ui.strategy, appConfig.ui.button, button);\nexport default defineComponent({\n components: {\n UIcon,\n ULink\n },\n inheritAttrs: false,\n props: {\n ...nuxtLinkProps,\n type: {\n type: String,\n default: \"button\"\n },\n block: {\n type: Boolean,\n default: false\n },\n label: {\n type: String,\n default: null\n },\n loading: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n padded: {\n type: Boolean,\n default: true\n },\n size: {\n type: String,\n default: () => config.default.size,\n validator(value) {\n return Object.keys(config.size).includes(value);\n }\n },\n color: {\n type: String,\n default: () => config.default.color,\n validator(value) {\n return [...appConfig.ui.colors, ...Object.keys(config.color)].includes(value);\n }\n },\n variant: {\n type: String,\n default: () => config.default.variant,\n validator(value) {\n return [\n ...Object.keys(config.variant),\n ...Object.values(config.color).flatMap((value2) => Object.keys(value2))\n ].includes(value);\n }\n },\n icon: {\n type: String,\n default: null\n },\n loadingIcon: {\n type: String,\n default: () => config.default.loadingIcon\n },\n leadingIcon: {\n type: String,\n default: null\n },\n trailingIcon: {\n type: String,\n default: null\n },\n trailing: {\n type: Boolean,\n default: false\n },\n leading: {\n type: Boolean,\n default: false\n },\n square: {\n type: Boolean,\n default: false\n },\n truncate: {\n type: Boolean,\n default: false\n },\n class: {\n type: [String, Object, Array],\n default: () => \"\"\n },\n ui: {\n type: Object,\n default: () => ({})\n }\n },\n setup(props, { slots }) {\n const { ui, attrs } = useUI(\"button\", toRef(props, \"ui\"), config);\n const { size, rounded } = useInjectButtonGroup({ ui, props });\n const isLeading = computed(() => {\n return props.icon && props.leading || props.icon && !props.trailing || props.loading && !props.trailing || props.leadingIcon;\n });\n const isTrailing = computed(() => {\n return props.icon && props.trailing || props.loading && props.trailing || props.trailingIcon;\n });\n const isSquare = computed(() => props.square || !slots.default && !props.label);\n const buttonClass = computed(() => {\n const variant = ui.value.color?.[props.color]?.[props.variant] || ui.value.variant[props.variant];\n return twMerge(twJoin(\n ui.value.base,\n ui.value.font,\n rounded.value,\n ui.value.size[size.value],\n ui.value.gap[size.value],\n props.padded && ui.value[isSquare.value ? \"square\" : \"padding\"][size.value],\n variant?.replaceAll(\"{color}\", props.color),\n props.block ? ui.value.block : ui.value.inline\n ), props.class);\n });\n const leadingIconName = computed(() => {\n if (props.loading) {\n return props.loadingIcon;\n }\n return props.leadingIcon || props.icon;\n });\n const trailingIconName = computed(() => {\n if (props.loading && !isLeading.value) {\n return props.loadingIcon;\n }\n return props.trailingIcon || props.icon;\n });\n const leadingIconClass = computed(() => {\n return twJoin(\n ui.value.icon.base,\n ui.value.icon.size[size.value],\n props.loading && ui.value.icon.loading\n );\n });\n const trailingIconClass = computed(() => {\n return twJoin(\n ui.value.icon.base,\n ui.value.icon.size[size.value],\n props.loading && !isLeading.value && ui.value.icon.loading\n );\n });\n const linkProps = computed(() => getNuxtLinkProps(props));\n return {\n // eslint-disable-next-line vue/no-dupe-keys\n ui,\n attrs,\n isLeading,\n isTrailing,\n isSquare,\n buttonClass,\n leadingIconName,\n trailingIconName,\n leadingIconClass,\n trailingIconClass,\n linkProps\n };\n }\n});\n</script>\n","import { ref, computed } from \"vue-demi\";\nimport { useTimestamp } from \"@vueuse/core\";\nexport function useTimer(cb, interval, options) {\n let timer = null;\n const { pause: tPause, resume: tResume, timestamp } = useTimestamp({ ...options || {}, controls: true });\n const startTime = ref(null);\n const remaining = computed(() => {\n if (!startTime.value) {\n return 0;\n }\n return interval - (timestamp.value - startTime.value);\n });\n function set(...args) {\n timer = setTimeout(() => {\n timer = null;\n startTime.value = null;\n cb(...args);\n }, remaining.value);\n }\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n function start() {\n startTime.value = Date.now();\n set();\n }\n function stop() {\n clear();\n tPause();\n }\n function pause() {\n clear();\n tPause();\n }\n function resume() {\n set();\n tResume();\n startTime.value = (startTime.value || 0) + (Date.now() - timestamp.value);\n }\n start();\n return {\n start,\n stop,\n pause,\n resume,\n remaining\n };\n}\n","<template>\n <Transition appear v-bind=\"ui.transition\">\n <div\n :class=\"wrapperClass\"\n role=\"status\"\n v-bind=\"attrs\"\n @mouseover=\"onMouseover\"\n @mouseleave=\"onMouseleave\"\n >\n <div :class=\"[ui.container, ui.rounded, ui.ring]\">\n <div class=\"flex\" :class=\"[ui.padding, ui.gap, { 'items-start': description || $slots.description, 'items-center': !description && !$slots.description }]\">\n <UIcon v-if=\"icon\" :name=\"icon\" :class=\"iconClass\" />\n <UAvatar v-if=\"avatar\" v-bind=\"{ size: ui.avatar.size, ...avatar }\" :class=\"ui.avatar.base\" />\n\n <div :class=\"ui.inner\">\n <p v-if=\"(title || $slots.title)\" :class=\"ui.title\">\n <slot name=\"title\" :title=\"title\">\n {{ title }}\n </slot>\n </p>\n <div v-if=\"(description || $slots.description)\" :class=\"twMerge(ui.description, !title && !$slots.title && 'mt-0 leading-5')\">\n <slot name=\"description\" :description=\"description\">\n {{ description }}\n </slot>\n </div>\n\n <div v-if=\"(description || $slots.description) && actions.length\" :class=\"ui.actions\">\n <UButton v-for=\"(action, index) of actions\" :key=\"index\" v-bind=\"{ ...(ui.default.actionButton || {}), ...action }\" @click.stop=\"onAction(action)\" />\n </div>\n </div>\n <div v-if=\"closeButton || (!description && !$slots.description && actions.length)\" :class=\"twMerge(ui.actions, 'mt-0')\">\n <template v-if=\"!description && !$slots.description && actions.length\">\n <UButton v-for=\"(action, index) of actions\" :key=\"index\" v-bind=\"{ ...(ui.default.actionButton || {}), ...action }\" @click.stop=\"onAction(action)\" />\n </template>\n\n <UButton v-if=\"closeButton\" aria-label=\"Close\" v-bind=\"{ ...(ui.default.closeButton || {}), ...closeButton }\" @click.stop=\"onClose\" />\n </div>\n </div>\n <div v-if=\"timeout\" :class=\"progressClass\" :style=\"progressStyle\" />\n </div>\n </div>\n </Transition>\n</template>\n\n<script>\nimport { ref, computed, toRef, onMounted, onUnmounted, watch, watchEffect, defineComponent } from \"vue\";\nimport { twMerge, twJoin } from \"tailwind-merge\";\nimport UIcon from \"../elements/Icon.vue\";\nimport UAvatar from \"../elements/Avatar.vue\";\nimport UButton from \"../elements/Button.vue\";\nimport { useUI } from \"../../composables/useUI\";\nimport { useTimer } from \"../../composables/useTimer\";\nimport { mergeConfig } from \"../../utils\";\nimport appConfig from \"#build/app.config\";\nimport { notification } from \"#ui/ui.config\";\nconst config = mergeConfig(appConfig.ui.strategy, appConfig.ui.notification, notification);\nexport default defineComponent({\n components: {\n UIcon,\n UAvatar,\n UButton\n },\n inheritAttrs: false,\n props: {\n id: {\n type: [String, Number],\n required: true\n },\n title: {\n type: String,\n default: null\n },\n description: {\n type: String,\n default: null\n },\n icon: {\n type: String,\n default: () => config.default.icon\n },\n avatar: {\n type: Object,\n default: null\n },\n closeButton: {\n type: Object,\n default: () => config.default.closeButton\n },\n timeout: {\n type: Number,\n default: () => config.default.timeout\n },\n actions: {\n type: Array,\n default: () => []\n },\n callback: {\n type: Function,\n default: null\n },\n color: {\n type: String,\n default: () => config.default.color,\n validator(value) {\n return [\"gray\", ...appConfig.ui.colors].includes(value);\n }\n },\n class: {\n type: [String, Object, Array],\n default: () => \"\"\n },\n ui: {\n type: Object,\n default: () => ({})\n }\n },\n emits: [\"close\"],\n setup(props, { emit }) {\n const { ui, attrs } = useUI(\"notification\", toRef(props, \"ui\"), config);\n let timer = null;\n const remaining = ref(props.timeout);\n const wrapperClass = computed(() => {\n return twMerge(twJoin(\n ui.value.wrapper,\n ui.value.background?.replaceAll(\"{color}\", props.color),\n ui.value.rounded,\n ui.value.shadow,\n ui.value.ring?.replaceAll(\"{color}\", props.color)\n ), props.class);\n });\n const progressClass = computed(() => {\n return twJoin(\n ui.value.progress.base,\n ui.value.progress.background?.replaceAll(\"{color}\", props.color)\n );\n });\n const progressStyle = computed(() => {\n const remainingPercent = remaining.value / props.timeout * 100;\n return { width: `${remainingPercent || 0}%` };\n });\n const iconClass = computed(() => {\n return twJoin(\n ui.value.icon.base,\n ui.value.icon.color?.replaceAll(\"{color}\", props.color)\n );\n });\n function onMouseover() {\n if (timer) {\n timer.pause();\n }\n }\n function onMouseleave() {\n if (timer) {\n timer.resume();\n }\n }\n function onClose() {\n if (timer) {\n timer.stop();\n }\n if (props.callback) {\n props.callback();\n }\n emit(\"close\");\n }\n function onAction(action) {\n if (timer) {\n timer.stop();\n }\n if (action.click) {\n action.click();\n }\n emit(\"close\");\n }\n function initTimer() {\n if (timer) {\n timer.stop();\n }\n if (!props.timeout) {\n return;\n }\n timer = useTimer(() => {\n onClose();\n }, props.timeout);\n watchEffect(() => {\n remaining.value = timer.remaining.value;\n });\n }\n watch(() => props.timeout, initTimer);\n onMounted(initTimer);\n onUnmounted(() => {\n if (timer) {\n timer.stop();\n }\n });\n return {\n // eslint-disable-next-line vue/no-dupe-keys\n ui,\n attrs,\n wrapperClass,\n progressClass,\n progressStyle,\n iconClass,\n onMouseover,\n onMouseleave,\n onClose,\n onAction,\n twMerge\n };\n }\n});\n</script>\n","<template>\n <Teleport to=\"body\">\n <div :class=\"wrapperClass\" role=\"region\" v-bind=\"attrs\">\n <div v-if=\"notifications.length\" :class=\"ui.container\">\n <div v-for=\"notification of notifications\" :key=\"notification.id\">\n <UNotification\n v-bind=\"notification\"\n :class=\"notification.click && 'cursor-pointer'\"\n @click=\"notification.click && notification.click(notification)\"\n @close=\"toast.remove(notification.id)\"\n >\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotData\">\n <slot :name=\"name\" v-bind=\"slotData\" />\n </template>\n </UNotification>\n </div>\n </div>\n </div>\n </Teleport>\n</template>\n\n<script>\nimport { computed, toRef, defineComponent } from \"vue\";\nimport { twMerge, twJoin } from \"tailwind-merge\";\nimport UNotification from \"./Notification.vue\";\nimport { useUI } from \"../../composables/useUI\";\nimport { useToast } from \"../../composables/useToast\";\nimport { mergeConfig } from \"../../utils\";\nimport { useState } from \"#imports\";\nimport appConfig from \"#build/app.config\";\nimport { notifications } from \"#ui/ui.config\";\nconst config = mergeConfig(appConfig.ui.strategy, appConfig.ui.notifications, notifications);\nexport default defineComponent({\n components: {\n UNotification\n },\n inheritAttrs: false,\n props: {\n class: {\n type: [String, Object, Array],\n default: () => \"\"\n },\n ui: {\n type: Object,\n default: () => ({})\n }\n },\n setup(props) {\n const { ui, attrs } = useUI(\"notifications\", toRef(props, \"ui\"), config);\n const toast = useToast();\n const notifications2 = useState(\"notifications\", () => []);\n const wrapperClass = computed(() => {\n return twMerge(twJoin(\n ui.value.wrapper,\n ui.value.position,\n ui.value.width\n ), props.class);\n });\n return {\n // eslint-disable-next-line vue/no-dupe-keys\n ui,\n attrs,\n toast,\n notifications: notifications2,\n wrapperClass\n };\n }\n});\n</script>\n","<template>\r\n <div class=\" min-h-screen w-full sm:w-9/12 md:w-7/12 lg:w-6/12 2xl:w-5/12 mx-auto sm:border\">\r\n <VitePwaManifest />\r\n <NuxtLoadingIndicator color=\"#ff5722\" />\r\n <NuxtLayout>\r\n <NuxtPage />\r\n </NuxtLayout>\r\n <UNotifications class=\"bottom-auto top-0 right-0\"/>\r\n </div> \r\n \r\n</template>","<template>\n <ErrorTemplate v-bind=\"{ statusCode, statusMessage, description, stack }\" />\n</template>\n\n<script setup>\nimport { defineAsyncComponent } from 'vue'\n\nconst props = defineProps({\n error: Object,\n})\n\n// Deliberately prevent reactive update when error is cleared\nconst _error = props.error\n\n// TODO: extract to a separate utility\nconst stacktrace = _error.stack\n ? _error.stack\n .split('\\n')\n .splice(1)\n .map((line) => {\n const text = line\n .replace('webpack:/', '')\n .replace('.vue', '.js') // TODO: Support sourcemap\n .trim()\n return {\n text,\n internal: (line.includes('node_modules') && !line.includes('.cache')) ||\n line.includes('internal') ||\n line.includes('new Promise'),\n }\n }).map(i => `<span class=\"stack${i.internal ? ' internal' : ''}\">${i.text}</span>`).join('\\n')\n : ''\n\n// Error page props\nconst statusCode = Number(_error.statusCode || 500)\nconst is404 = statusCode === 404\n\nconst statusMessage = _error.statusMessage ?? (is404 ? 'Page Not Found' : 'Internal Server Error')\nconst description = _error.message || _error.toString()\nconst stack = import.meta.dev && !is404 ? _error.description || `<pre>${stacktrace}</pre>` : undefined\n\n// TODO: Investigate side-effect issue with imports\nconst _Error404 = defineAsyncComponent(() => import('./error-404.vue').then(r => r.default || r))\nconst _Error = import.meta.dev\n ? defineAsyncComponent(() => import('./error-dev.vue').then(r => r.default || r))\n : defineAsyncComponent(() => import('./error-500.vue').then(r => r.default || r))\n\nconst ErrorTemplate = is404 ? _Error404 : _Error\n</script>\n","<template>\n <Suspense @resolve=\"onResolve\">\n <div v-if=\"abortRender\" />\n <ErrorComponent\n v-else-if=\"error\"\n :error=\"error\"\n />\n <IslandRenderer\n v-else-if=\"islandContext\"\n :context=\"islandContext\"\n />\n <component\n :is=\"SingleRenderer\"\n v-else-if=\"SingleRenderer\"\n />\n <AppComponent v-else />\n </Suspense>\n</template>\n\n<script setup>\nimport { defineAsyncComponent, onErrorCaptured, onServerPrefetch, provide } from 'vue'\nimport { useNuxtApp } from '../nuxt'\nimport { isNuxtError, showError, useError } from '../composables/error'\nimport { useRoute, useRouter } from '../composables/router'\nimport { PageRouteSymbol } from '../components/injections'\nimport AppComponent from '#build/app-component.mjs'\nimport ErrorComponent from '#build/error-component.mjs'\n// @ts-expect-error virtual file\nimport { componentIslands } from '#build/nuxt.config.mjs'\n\nconst IslandRenderer = import.meta.server && componentIslands\n ? defineAsyncComponent(() => import('./island-renderer').then(r => r.default || r))\n : () => null\n\nconst nuxtApp = useNuxtApp()\nconst onResolve = nuxtApp.deferHydration()\nif (import.meta.client && nuxtApp.isHydrating) {\n const removeErrorHook = nuxtApp.hooks.hookOnce('app:error', onResolve)\n useRouter().beforeEach(removeErrorHook)\n}\n\nconst url = import.meta.server ? nuxtApp.ssrContext.url : window.location.pathname\nconst SingleRenderer = import.meta.test && import.meta.dev && import.meta.server && url.startsWith('/__nuxt_component_test__/') && defineAsyncComponent(() => import('#build/test-component-wrapper.mjs')\n .then(r => r.default(import.meta.server ? url : window.location.href)))\n\n// Inject default route (outside of pages) as active route\nprovide(PageRouteSymbol, useRoute())\n\n// vue:setup hook\nconst results = nuxtApp.hooks.callHookWith(hooks => hooks.map(hook => hook()), 'vue:setup')\nif (import.meta.dev && results && results.some(i => i && 'then' in i)) {\n console.error('[nuxt] Error in `vue:setup`. Callbacks must be synchronous.')\n}\n\n// error handling\nconst error = useError()\n// render an empty <div> when plugins have thrown an error but we're not yet rendering the error page\nconst abortRender = import.meta.server && error.value && !nuxtApp.ssrContext.error\nonErrorCaptured((err, target, info) => {\n nuxtApp.hooks.callHook('vue:error', err, target, info).catch(hookError => console.error('[nuxt] Error in `vue:error` hook', hookError))\n if (import.meta.server || (isNuxtError(err) && (err.fatal || err.unhandled))) {\n const p = nuxtApp.runWithContext(() => showError(err))\n onServerPrefetch(() => p)\n return false // suppress error from breaking render\n }\n})\n\n// Component islands context\nconst islandContext = import.meta.server && nuxtApp.ssrContext.islandContext\n</script>\n","import { createApp, createSSRApp, nextTick } from \"vue\";\nimport \"#build/fetch.mjs\";\nimport { applyPlugins, createNuxtApp } from \"./nuxt.js\";\nimport { createError } from \"./composables/error.js\";\nimport \"#build/css\";\nimport plugins from \"#build/plugins\";\nimport RootComponent from \"#build/root-component.mjs\";\nimport { appId, multiApp, vueAppRootContainer } from \"#build/nuxt.config.mjs\";\nlet entry;\nif (import.meta.server) {\n entry = async function createNuxtAppServer(ssrContext) {\n const vueApp = createApp(RootComponent);\n const nuxt = createNuxtApp({ vueApp, ssrContext });\n try {\n await applyPlugins(nuxt, plugins);\n await nuxt.hooks.callHook(\"app:created\", vueApp);\n } catch (error) {\n await nuxt.hooks.callHook(\"app:error\", error);\n nuxt.payload.error = nuxt.payload.error || createError(error);\n }\n if (ssrContext?._renderResponse) {\n throw new Error(\"skipping render\");\n }\n return vueApp;\n };\n}\nif (import.meta.client) {\n if (import.meta.dev && import.meta.webpackHot) {\n import.meta.webpackHot.accept();\n }\n let vueAppPromise;\n entry = async function initApp() {\n if (vueAppPromise) {\n return vueAppPromise;\n }\n const isSSR = Boolean(\n (multiApp ? window.__NUXT__?.[appId] : window.__NUXT__)?.serverRendered ?? (multiApp ? document.querySelector(`[data-nuxt-data=\"${appId}\"]`) : document.getElementById(\"__NUXT_DATA__\"))?.dataset.ssr === \"true\"\n );\n const vueApp = isSSR ? createSSRApp(RootComponent) : createApp(RootComponent);\n const nuxt = createNuxtApp({ vueApp });\n async function handleVueError(error) {\n await nuxt.callHook(\"app:error\", error);\n nuxt.payload.error = nuxt.payload.error || createError(error);\n }\n vueApp.config.errorHandler = handleVueError;\n try {\n await applyPlugins(nuxt, plugins);\n } catch (err) {\n handleVueError(err);\n }\n try {\n await nuxt.hooks.callHook(\"app:created\", vueApp);\n await nuxt.hooks.callHook(\"app:beforeMount\", vueApp);\n vueApp.mount(vueAppRootContainer);\n await nuxt.hooks.callHook(\"app:mounted\", vueApp);\n await nextTick();\n } catch (err) {\n handleVueError(err);\n }\n if (vueApp.config.errorHandler === handleVueError) {\n vueApp.config.errorHandler = void 0;\n }\n return vueApp;\n };\n vueAppPromise = entry().catch((error) => {\n console.error(\"Error while mounting app:\", error);\n throw error;\n });\n}\nexport default (ssrContext) => entry(ssrContext);\n"],"version":3}
Coded With 💗 by
0x6ick Mod By V1rus_Alfa