{"version":3,"sources":["webpack:///./node_modules/.cache/nuxt/matomo/utils.js","webpack:///./node_modules/.cache/nuxt/matomo/plugin.js","webpack:///./node_modules/.cache/nuxt/http.js","webpack:///./node_modules/.cache/nuxt/nuxt-i18n/options.js","webpack:///./node_modules/.cache/nuxt/nuxt-i18n/utils-common.js","webpack:///./node_modules/.cache/nuxt/nuxt-i18n/plugin.utils.js","webpack:///./node_modules/.cache/nuxt/nuxt-i18n/middleware.js","webpack:///./node_modules/.cache/nuxt/nuxt-i18n/plugin.routing.js","webpack:///./node_modules/.cache/nuxt/nuxt-i18n/head-meta.js","webpack:///./node_modules/.cache/nuxt/nuxt-i18n/plugin.main.js","webpack:///./node_modules/.cache/nuxt/pwa/meta.utils.js","webpack:///./node_modules/.cache/nuxt/pwa/meta.plugin.js","webpack:///./node_modules/.cache/nuxt/pwa/icon.plugin.js","webpack:///./node_modules/.cache/nuxt/lib.plugin.307a5233.js","webpack:///./node_modules/.cache/nuxt/index.js","webpack:///./node_modules/.cache/nuxt/middleware.js","webpack:///./node_modules/.cache/nuxt/mixins/fetch.client.js"],"names":["isFn","fn","componentOption","component","key","thisArg","options","undefined","option","_len2","arguments","length","args","Array","_key2","call","apply","concat","context","inject","tracker","_context$app","app","router","store","window","Piwik","createTracker","_tracker","_windowPiwik","delayedCalls","proxyTrackerCall","fnName","_len","_key","_tracker2","push","Proxy","get","target","forEach","_len3","_key3","Object","defineProperty","configurable","enumerable","set","newVal","$matomo","baseUrl","location","protocol","slice","host","base","replace","afterEach","to","from","matchedComponent","matched","components","default","routeOption","_ref","setDocumentTitle","path","setCustomUrl","fullPath","settings","assign","route","meta","matomo","_tracker$fn","setting","shift","_toConsumableArray","trackPageView","trackRoute","getTracker","setConsent","val","setConsentGiven","forgetConsentGiven","_delayedCalls$shift","_delayedCalls$shift2","_toArray","HTTP","_createClass","defaults","ky","KY","_classCallCheck","this","_defaults","_objectSpread","hooks","_ky","value","prefixUrl","baseURL","name","headers","token","type","setHeader","_hook","_this$_defaults","retry","timeout","createHttpInstance","defu","_loop","method","_arr","_i","hasBody","includes","prototype","_asyncToGenerator","regeneratorRuntime","mark","_callee","url","arg1","arg2","_options","response","text","json","_iterator","_step","res","wrap","_context","prev","next","constructor","isArray","body","test","startsWith","substr","sent","abrupt","t0","statusCode","status","Promise","resolve","destr","data","t1","onError","_createForOfIteratorHelper","s","n","done","t2","e","f","finish","stop","_x","_x2","_x3","then","ctx","$config","http","browserBaseURL","$http","Constants","COMPONENT_OPTIONS_KEY","STRATEGIES","REDIRECT_ON_OPTIONS","nuxtOptions","vueI18n","vueI18nLoader","locales","defaultLocale","defaultDirection","routesNameSeparator","defaultLocaleRouteNameSuffix","sortRoutes","strategy","lazy","langDir","rootRedirect","detectBrowserLanguage","differentDomains","vuex","parsePages","pages","skipSettingLocaleOnNavigate","onBeforeLanguageSwitch","onLanguageSwitched","normalizedLocales","localeCodes","additionalMessages","formatMessage","matchBrowserLocale","appLocales","browserLocales","matchedLocales","normalizedAppLocales","appLocale","code","iso","err","_step2","_iterator2","entries","_step2$value","_slicedToArray","index","browserCode","matchedLocale","find","toLowerCase","score","_step3","_iterator3","_loop2","_step3$value","languageCode","split","sort","localeA","localeB","getLocaleDomain","req","matchingLocale","l","domain","getLocalesRegex","RegExp","join","createLocaleFromRouteGetter","localesPattern","defaultSuffixPattern","regexpName","regexpPath","matches","match","getLocaleCookie","_ref2","localeCode","useCookie","cookieKey","JsCookie","setLocaleCookie","locale","_ref3","cookieDomain","cookieSecure","cookieCrossOrigin","date","Date","cookieOptions","expires","setDate","getDate","sameSite","secure","loadLanguageAsync","_loadLanguageAsync","i18n","localeObject","loadedLanguages","file","console","warn","resolveBaseUrl","getDomainFromLocale","lang","hasProtocol","registerStore","storeModule","namespaced","state","syncRouteParams","routeParams","actions","setRouteParams","params","commit","mutations","getters","localeRouteParams","_ref4","registerModule","moduleName","preserveState","mergeAdditionalMessages","onlyLocales","additionalEntry","existingMessages","getLocaleMessage","mergeLocaleMessage","i18nMiddleware","_yield$app$i18n$__onN","_yield$app$i18n$__onN2","redirectPath","preserveQuery","query","isHMR","__onNavigate","redirect","nuxtMiddleware","nuxti18n","localePath","localizedRoute","resolveRoute","redirectedFrom","localeRoute","resolved","localeLocation","resolvedRoute","resolvedRouteName","getRouteBaseName","getLocaleRouteName","hash","PREFIX_EXCEPT_DEFAULT","PREFIX_AND_DEFAULT","NO_PREFIX","withTrailingSlash","withoutTrailingSlash","pathMatch","switchLocalePath","routeCopy","_objectWithoutProperties","_excluded","langSwitchParams","baseRoute","getDomainOptions","givenRoute","routeName","VueInstanceProxy","targetFunction","proxy","$i18n","$route","$router","$store","NuxtContextProxy","plugin","install","Vue","mixin","methods","use","nuxtI18nHead","_ref$addDirAttribute","addDirAttribute","_ref$addSeoAttributes","addSeoAttributes","metaObject","htmlAttrs","link","currentLocale","localeProperties","currentLocaleIso","currentLocaleDir","dir","VueMeta","hasMetaInfo","_hasMetaInfo","addHreflangLinks","bind","__baseUrl","addCanonicalLinks","addCurrentOgLocale","addAlternateOgLocales","localeMap","Map","localeIso","_localeIso$split","_localeIso$split2","language","region","isCatchallLocale","has","mapLocale","hid","rel","href","toAbsoluteUrl","hreflang","seoAttributesOptions","currentRoute","canonicalQueries","currentRouteQueryParams","URLSearchParams","queryParamName","queryParamValue","v","append","queryString","toString","property","content","hypenToUnderscore","localesWithoutCurrent","filter","alternateLocales","map","str","urlOrPath","VueI18n","_callee5","devalue","_options$detectBrowse","alwaysRedirect","fallbackLocale","redirectOn","getLocaleFromRoute","loadAndSetLocale","onNavigate","finalizePendingLocaleChange","waitForPendingLocaleChange","getBrowserLocale","doDetectBrowserLanguage","extendVueI18nInstance","vueI18nOptions","_step$value","optionsLocale","resolveBaseUrlOptions","finalLocale","domainLocale","routeLocale","_yield$onNavigate","_yield$onNavigate2","redirectTo","_context5","skipNuxtState","beforeNuxtRender","nuxtState","langs","_app$i18n","messages","_getMessages","_unused","__i18n","newLocale","_ref4$initialSetup","initialSetup","oldLocale","localeOverride","i18nFallbackLocale","localesToLoadPromises","newLocaleProperties","_Object$keys","_i2","_Object$entries","_Object$entries$_i","routePath","_args","fbLocale","_typeof","all","keys","klona","process","__redirect","_ref5","_callee2","storedRedirect","_context2","__pendingLocale","__pendingLocalePromise","__resolvePendingLocalePromise","setLocale","_ref6","_callee3","_context3","_ref7","_callee4","_context4","navigator","languages","tag","ROOT","observable","componentInstanceCreatedListener","localeDomains","$nuxtI18nHead","joinURL","hasMeta","arr","obj","item","attr","mergeMeta","head","icons","size","_","slugify","ClientOnly","NoSsr","render","h","_warned","NuxtChild","Nuxt","globalNuxt","$root","$options","$nuxt","Meta","defaultTransition","Vuex","Store","createApp","_createApp","ssrContext","config","_args2","Error","installKey","hasOwnProperty","createRouter","createStore","nuxt","transitions","setTransitions","transition","dateErr","error","_errored","Boolean","normalizeError","now","App","getLocation","mode","setContext","payload","beforeRenderFns","__NUXT__","replaceState","enablePreview","previewData","nuxt_plugin_plugin_32d93d8f","nuxt_plugin_plugin_2bef43aa","nuxt_plugin_vsanitize_14d96733","nuxt_plugin_cookieuniversalnuxt_68d0bccd","nuxt_plugin_http_5c46128b","nuxt_plugin_dayjsplugin_3c0a6e18","nuxt_plugin_pluginrouting_07eced81","nuxt_plugin_pluginmain_7aec54e4","nuxt_plugin_toast_3b2f5858","nuxt_plugin_workbox_2bb971fe","nuxt_plugin_metaplugin_6789fd14","nuxt_plugin_iconplugin_6c31a288","nuxt_plugin_axios_16380725","nuxt_plugin_libplugin307a5233_fe726576","nuxt_plugin_amplify_900d1ace","nuxt_plugin_graphcms_3ef315a6","nuxt_plugin_helpers_1c816d70","nuxt_plugin_vueshortkey_7ae76292","nuxt_plugin_forumApi_7bc36ce8","nuxt_plugin_index_e21eb744","nuxt_plugin_fbApi_0c3792ef","nuxt_plugin_auth_28a8ad2a","nuxt_plugin_auth_7f7561ce","reject","_isRouter","unregister","getRouteData","middleware","require","beforeMount","_hydrated","$fetch","created","vm","$vnode","elm","dataset","fetchKey","_fetchKey","fetch","_error","$fetchState","$data","_this","_fetchPromise","$_fetch","_$_fetch","startTime","delayLeft","_this2","nbFetching","pending","_fetchDelay","setTimeout","timestamp","$nextTick","beforeCreate","hasFetch","fetchDelay","util","defineReactive","addLifecycleHook"],"mappings":"ibASO,SAASA,EAAMC,GACpB,MAAqB,mBAAPA,EAyBT,SAASC,EAAiBC,UAAWC,EAAKC,GAC/C,IAAKF,YAAcA,UAAUG,cAAsCC,IAA3BJ,UAAUG,QAAQF,GACxD,OAAO,KAG4B,IAArC,IAAMI,OAASL,UAAUG,QAAQF,GAAIK,EAAAC,UAAAC,OALsBC,EAAI,IAAAC,MAAAJ,EAAA,EAAAA,EAAA,KAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAJF,EAAIE,EAAA,GAAAJ,UAAAI,GAM/D,OAAOd,EAAKQ,QAAUA,OAAOO,KAAIC,MAAXR,OAAM,CAAMH,GAAOY,OAAKL,IAAQJ,OCvCzC,eAACU,EAASC,GACvB,IAEIC,EAFJC,EAAmCH,EAA3BI,IAAOC,EAAMF,EAANE,OAAQC,EAAKH,EAALG,MAGvB,GAAIC,OAAOC,MACTN,EAAUO,QACL,CAGL,IAAIC,EA4LAC,EA3LAC,EAAe,GACbC,EAAmB,SAACC,GAAoB,QAAAC,EAAAvB,UAAAC,OAATC,EAAI,IAAAC,MAAAoB,EAAA,EAAAA,EAAA,KAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJtB,EAAIsB,EAAA,GAAAxB,UAAAwB,GACzB,IAAAC,EAAd,GAAIP,EACF,OAAOO,EAAAP,GAASI,GAAOhB,MAAAmB,EAAIvB,GAG7BkB,EAAaM,KAAK,CAACJ,GAAMf,OAAKL,KAGX,mBAAVyB,MAETjB,EAAU,IAAIiB,MAAM,GAAI,CACtBC,IAAG,SAAEC,EAAQnC,GACX,OAAO,mBAAAK,EAAAC,UAAAC,OAAIC,EAAI,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAJF,EAAIE,GAAAJ,UAAAI,GAAA,OAAKiB,EAAgBf,WAAC,EAAD,CAACZ,GAAGa,OAAKL,SAIjDQ,EAAU,GACV,CACE,UACA,WACA,aACA,6BACA,gCACA,iCACA,qCACA,yCACA,+DACA,sBACA,uBACA,kCACA,qCACA,8CACA,4BACA,yCACA,wBACA,uCACA,aACA,sBACA,8BACA,gCACA,iCACA,+BACA,qCACA,sBACA,gCACA,0BACA,iCACA,0BACA,kBACA,uBACA,mCACA,aACA,eACA,iBACA,qBACA,6BACA,gCACA,kCACA,4BACA,gBACA,gBACA,eACA,cACA,aACA,YACA,YACA,cACA,YACA,eACA,YACA,gBACA,gBACA,6BACA,sBACA,aACA,YACA,qBACA,qBACA,wBACA,oBACA,oBACA,uBACA,wBACA,+BACA,uBACA,uBACA,wBACA,wBACA,2BACA,aACA,2BACA,4BACA,8BACA,+BACA,oCACA,mBACA,mBACA,wBACA,sBACA,iBACA,eACA,gBACA,mBACA,YACA,qBACA,iBACA,qBACA,wBACA,iBACA,sBACA,kBACA,kBACA,aACA,mBACA,YACA,gBACA,gBACA,0BACA,0BACA,0BACA,2BACA,wCACA,kBACA,oBACA,iBACA,oBACA,wBACA,uBACA,6BACA,2BACA,6BACA,gBACA,gBACA,sBACA,6BACA,cACA,qBACA,wBACA,6BACA,uBACA,wBACA,YACA,eACA,sBACA,YACA,YACA,yBACA,gBACA,6BACA,iCACA,yBACA,oCACA,0BACA,8BACA,4BACA,aACA,kBACA,mBACA,oBACA,mBACA,sBACA,qBACA,sBACA,2BACA,eACA,OACA,sBACA,0BACA,eACA,oBACA,uBACA,uBACA,iBACA,kBACA,uBACA,qBACA,iBACA,aACA,oBACAoB,SAAQ,SAACR,GAETZ,EAAQY,GAAU,mBAAAS,EAAA/B,UAAAC,OAAIC,EAAI,IAAAC,MAAA4B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ9B,EAAI8B,GAAAhC,UAAAgC,GAAA,OAAKX,EAAgBf,WAAC,EAAD,CAACgB,GAAMf,OAAKL,SAM/D+B,OAAOC,eAAenB,OAAQ,QAAS,CACrCoB,cAAc,EACdC,YAAY,EACZR,IAAG,WACD,OAAOT,GAETkB,IAAG,SAAEC,GACHnB,EAAemB,EACfpB,EAAWD,EAAcG,GACzBA,OAAevB,KAMrBW,EAAQ+B,QAAU7B,EAClBD,EAAO,SAAUC,GAGjB,IAAM8B,EAAUzB,OAAO0B,SAASC,UACU,MAAvC3B,OAAO0B,SAASC,SAASC,OAAO,GAAa,GAAK,KACnD,KACA5B,OAAO0B,SAASG,KAChB/B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","file":"cb9178e.js","sourcesContent":["\nexport function debug (msg) {\n  console.debug(`[nuxt-matomo] ${msg}`)\n}\n\nexport function warn (msg) {\n  console.warn(`[nuxt-matomo] ${msg}`)\n}\n\nexport function isFn (fn) {\n  return typeof fn === 'function'\n}\n\nexport function waitFor (time) {\n  return new Promise(resolve => setTimeout(resolve, time || 0))\n}\n\nexport async function waitUntil (condition, timeout = 10000, interval = 10) {\n  let duration = 0\n  while (!(isFn(condition) ? condition() : condition)) {\n    await waitFor(interval)\n    duration += interval\n\n    if (duration >= timeout) {\n      break\n    }\n  }\n}\n\nexport function routeOption (key, thisArg, from, to, ...args) {\n  const matched = to.matched[0]\n  const matchedComponent = matched.components.default\n  return componentOption(matchedComponent, key, thisArg, from, to, ...args)\n}\n\nexport function componentOption (component, key, thisArg, ...args) {\n  if (!component || !component.options || component.options[key] === undefined) {\n    return null\n  }\n\n  const option = component.options[key]\n  return isFn(option) ? option.call(thisArg, ...args) : option\n}\n","import { debug, warn, isFn, waitUntil, routeOption } from './utils'\n\nexport default (context, inject) => {\n  const { app: { router, store } } = context\n\n  let tracker\n  if (window.Piwik) {\n    tracker = createTracker()\n  } else {\n    // if window.Piwik is not (yet) available, add a Proxy which delays calls\n    // to the tracker and execute them once the Piwik tracker becomes available\n    let _tracker // The real Piwik tracker\n    let delayedCalls = []\n    const proxyTrackerCall = (fnName, ...args) => {\n      if (_tracker) {\n        return _tracker[fnName](...args)\n      }\n\n      delayedCalls.push([fnName, ...args])\n    }\n\n    if (typeof Proxy === 'function') {\n      // Create a Proxy for any tracker property (IE11+)\n      tracker = new Proxy({}, {\n        get (target, key) {\n          return (...args) => proxyTrackerCall(key, ...args)\n        }\n      })\n    } else {\n      tracker = {};\n      [\n        'getHook',\n        'getQuery',\n        'getContent',\n        'isUsingAlwaysUseSendBeacon',\n        'buildContentImpressionRequest',\n        'buildContentInteractionRequest',\n        'buildContentInteractionRequestNode',\n        'getContentImpressionsRequestsFromNodes',\n        'getCurrentlyVisibleContentImpressionsRequestsIfNotTrackedYet',\n        'trackCallbackOnLoad',\n        'trackCallbackOnReady',\n        'buildContentImpressionsRequests',\n        'wasContentImpressionAlreadyTracked',\n        'appendContentInteractionToRequestIfPossible',\n        'setupInteractionsTracking',\n        'trackContentImpressionClickInteraction',\n        'internalIsNodeVisible',\n        'isNodeAuthorizedToTriggerInteraction',\n        'getDomains',\n        'getConfigIdPageView',\n        'getConfigDownloadExtensions',\n        'enableTrackOnlyVisibleContent',\n        'clearTrackedContentImpressions',\n        'getTrackedContentImpressions',\n        'clearEnableTrackOnlyVisibleContent',\n        'disableLinkTracking',\n        'getConfigVisitorCookieTimeout',\n        'getConfigCookieSameSite',\n        'removeAllAsyncTrackersButFirst',\n        'getConsentRequestsQueue',\n        'getRequestQueue',\n        'unsetPageIsUnloading',\n        'getRemainingVisitorCookieTimeout',\n        'hasConsent',\n        'getVisitorId',\n        'getVisitorInfo',\n        'getAttributionInfo',\n        'getAttributionCampaignName',\n        'getAttributionCampaignKeyword',\n        'getAttributionReferrerTimestamp',\n        'getAttributionReferrerUrl',\n        'setTrackerUrl',\n        'getTrackerUrl',\n        'getMatomoUrl',\n        'getPiwikUrl',\n        'addTracker',\n        'getSiteId',\n        'setSiteId',\n        'resetUserId',\n        'setUserId',\n        'setVisitorId',\n        'getUserId',\n        'setCustomData',\n        'getCustomData',\n        'setCustomRequestProcessing',\n        'appendToTrackingUrl',\n        'getRequest',\n        'addPlugin',\n        'setCustomDimension',\n        'getCustomDimension',\n        'deleteCustomDimension',\n        'setCustomVariable',\n        'getCustomVariable',\n        'deleteCustomVariable',\n        'deleteCustomVariables',\n        'storeCustomVariablesInCookie',\n        'setLinkTrackingTimer',\n        'getLinkTrackingTimer',\n        'setDownloadExtensions',\n        'addDownloadExtensions',\n        'removeDownloadExtensions',\n        'setDomains',\n        'enableCrossDomainLinking',\n        'disableCrossDomainLinking',\n        'isCrossDomainLinkingEnabled',\n        'setCrossDomainLinkingTimeout',\n        'getCrossDomainLinkingUrlParameter',\n        'setIgnoreClasses',\n        'setRequestMethod',\n        'setRequestContentType',\n        'setGenerationTimeMs',\n        'setReferrerUrl',\n        'setCustomUrl',\n        'getCurrentUrl',\n        'setDocumentTitle',\n        'setAPIUrl',\n        'setDownloadClasses',\n        'setLinkClasses',\n        'setCampaignNameKey',\n        'setCampaignKeywordKey',\n        'discardHashTag',\n        'setCookieNamePrefix',\n        'setCookieDomain',\n        'getCookieDomain',\n        'hasCookies',\n        'setSessionCookie',\n        'getCookie',\n        'setCookiePath',\n        'getCookiePath',\n        'setVisitorCookieTimeout',\n        'setSessionCookieTimeout',\n        'getSessionCookieTimeout',\n        'setReferralCookieTimeout',\n        'setConversionAttributionFirstReferrer',\n        'setSecureCookie',\n        'setCookieSameSite',\n        'disableCookies',\n        'areCookiesEnabled',\n        'setCookieConsentGiven',\n        'requireCookieConsent',\n        'getRememberedCookieConsent',\n        'forgetCookieConsentGiven',\n        'rememberCookieConsentGiven',\n        'deleteCookies',\n        'setDoNotTrack',\n        'alwaysUseSendBeacon',\n        'disableAlwaysUseSendBeacon',\n        'addListener',\n        'enableLinkTracking',\n        'enableJSErrorTracking',\n        'disablePerformanceTracking',\n        'enableHeartBeatTimer',\n        'disableHeartBeatTimer',\n        'killFrame',\n        'redirectFile',\n        'setCountPreRendered',\n        'trackGoal',\n        'trackLink',\n        'getNumTrackedPageViews',\n        'trackPageView',\n        'trackAllContentImpressions',\n        'trackVisibleContentImpressions',\n        'trackContentImpression',\n        'trackContentImpressionsWithinNode',\n        'trackContentInteraction',\n        'trackContentInteractionNode',\n        'logAllContentBlocksOnPage',\n        'trackEvent',\n        'trackSiteSearch',\n        'setEcommerceView',\n        'getEcommerceItems',\n        'addEcommerceItem',\n        'removeEcommerceItem',\n        'clearEcommerceCart',\n        'trackEcommerceOrder',\n        'trackEcommerceCartUpdate',\n        'trackRequest',\n        'ping',\n        'disableQueueRequest',\n        'setRequestQueueInterval',\n        'queueRequest',\n        'isConsentRequired',\n        'getRememberedConsent',\n        'hasRememberedConsent',\n        'requireConsent',\n        'setConsentGiven',\n        'rememberConsentGiven',\n        'forgetConsentGiven',\n        'isUserOptedOut',\n        'optUserOut',\n        'forgetUserOptOut'\n      ].forEach((fnName) => {\n        // IE9/10 dont support Proxies, create a proxy map for known api methods\n        tracker[fnName] = (...args) => proxyTrackerCall(fnName, ...args)\n      })\n    }\n\n    // Use a getter/setter to know when window.Piwik becomes available\n    let _windowPiwik\n    Object.defineProperty(window, 'Piwik', {\n      configurable: true,\n      enumerable: true,\n      get () {\n        return _windowPiwik\n      },\n      set (newVal) {\n        _windowPiwik = newVal\n        _tracker = createTracker(delayedCalls)\n        delayedCalls = undefined\n      }\n    })\n  }\n\n  // inject tracker into app & context\n  context.$matomo = tracker\n  inject('matomo', tracker)\n\n  // define base url\n  const baseUrl = window.location.protocol +\n    (window.location.protocol.slice(-1) === ':' ? '' : ':') +\n    '//' +\n    window.location.host +\n    router.options.base.replace(/\\/+$/, '')\n\n  const trackRoute = ({ to, componentOption }) => {\n    // we might not know the to's page title in vue-router.afterEach, DOM is updated _after_ afterEach\n    tracker.setDocumentTitle(to.path)\n\n    tracker.setCustomUrl(baseUrl + to.fullPath)\n\n    // allow override page settings\n    const settings = Object.assign(\n      {},\n      context.route.meta && context.route.meta.matomo,\n      componentOption\n    )\n\n    for (const key in settings) {\n      const setting = settings[key]\n      const fn = setting.shift()\n      if (isFn(tracker[fn])) {\n        tracker[fn].call(null, ...setting)\n      }\n    }\n\n    // tell Matomo to add a page view (doesnt do anything if tracker is disabled)\n    tracker.trackPageView()\n  }\n\n  // every time the route changes (fired on initialization too)\n  router.afterEach((to, from) => {\n    const componentOption = routeOption('matomo', tracker, from, to, store)\n    if (componentOption === false) {\n      return\n    }\n\n    trackRoute({ to, componentOption })\n  })\n}\n\nfunction createTracker (delayedCalls = []) {\n  if (!window.Piwik) {\n    return\n  }\n\n  const tracker = window.Piwik.getTracker('https://analytics.explore-life.com/matomo.php', '7')\n\n  // extend tracker\n  tracker.setConsent = (val) => {\n    if (val || val === undefined) {\n      tracker.setConsentGiven()\n    } else {\n      tracker.forgetConsentGiven()\n    }\n  }\n\n  while (delayedCalls.length) {\n    const [fnName, ...args] = delayedCalls.shift()\n    if (isFn(tracker[fnName])) {\n      tracker[fnName](...args)\n    }\n  }\n\n  return tracker\n}\n","import defu from 'defu'\nimport destr from 'destr'\nimport KY from 'ky'\n\nclass HTTP {\n  constructor(defaults, ky = KY) {\n    this._defaults = {\n      hooks: {},\n      ...defaults\n    }\n\n    this._ky = ky\n  }\n\n  getBaseURL () {\n    return this._defaults.prefixUrl\n  }\n\n  setBaseURL (baseURL) {\n    this._defaults.prefixUrl = baseURL\n  }\n\n  setHeader(name, value) {\n    if (!value) {\n      delete this._defaults.headers[name];\n    } else {\n      this._defaults.headers[name] = value\n    }\n  }\n\n  setToken(token, type) {\n    const value = !token ? null : (type ? type + ' ' : '') + token\n    this.setHeader('Authorization', value)\n  }\n\n  _hook(name, fn) {\n    if (!this._defaults.hooks[name]) {\n      this._defaults.hooks[name] = []\n    }\n    this._defaults.hooks[name].push(fn)\n  }\n\n  onRequest(fn) {\n    this._hook('beforeRequest', fn)\n  }\n\n  onRetry(fn) {\n    this._hook('beforeRetry', fn)\n  }\n\n  onResponse(fn) {\n    this._hook('afterResponse', fn)\n  }\n\n  onError(fn) {\n    this._hook('onError', fn)\n  }\n\n  create(options) {\n    const { retry, timeout, prefixUrl, headers } = this._defaults\n\n    return createHttpInstance(defu(options, { retry, timeout, prefixUrl, headers }))\n  }\n}\n\nfor (let method of ['get', 'head', 'delete', 'post', 'put', 'patch']) {\n  const hasBody = ['post', 'put', 'patch'].includes(method)\n\n  HTTP.prototype[method] = async function (url, arg1, arg2) {\n    let options\n\n    if (!hasBody) {\n      options = arg1\n    } else {\n      options = arg2 || {}\n      if (arg1 !== undefined) {\n        if (arg1.constructor === Object || Array.isArray(arg1)) {\n          options.json = arg1\n        } else {\n          options.body = arg1\n        }\n      }\n    }\n\n    const _options = { ...this._defaults, ...options }\n\n    if (/^https?/.test(url)) {\n      delete _options.prefixUrl\n    } else if (_options.prefixUrl && typeof url === 'string' && url.startsWith('/')) {\n      // Prevents `ky` from throwing \"`input` must not begin with a slash when using `prefixUrl`\"\n      url = url.substr(1)\n    }\n\n    try {\n      const response = await this._ky[method](url, _options)\n      return response\n    } catch (error) {\n      // Try to fill error with useful data\n      if (error.response) {\n        error.statusCode = error.response.status\n        try {\n          const text = await error.response.text()\n          error.response.text = () => Promise.resolve(text)\n          const json = destr(text)\n          error.response.json = () => Promise.resolve(json)\n          error.response.data = json\n        } catch (_) { }\n      }\n\n      // Call onError hook\n      if (_options.hooks.onError) {\n        for (const fn of _options.hooks.onError) {\n          const res = fn(error)\n          if (res !== undefined) {\n            return res\n          }\n        }\n      }\n\n      // Throw error\n      throw error\n    }\n  }\n\n  HTTP.prototype['$' + method] = function (url, arg1, arg2) {\n    return this[method](url, arg1, arg2)\n      .then(response => (response && response.text) ? response.text() : response)\n      .then(body => destr(body))\n  }\n}\n\nconst createHttpInstance = options => {\n  // Create new HTTP instance\n  const http = new HTTP(options)\n\n  // Setup interceptors\n\n  return http\n}\n\nexport default (ctx, inject) => {\n  // runtimeConfig\n  const runtimeConfig = ctx.$config && ctx.$config.http || {}\n\n  // prefixUrl\n  const prefixUrl = process.browser\n      ? (runtimeConfig.browserBaseURL || 'http://localhost:3000/')\n      : (runtimeConfig.baseURL || process.env._HTTP_BASE_URL_ || 'http://localhost:3000/')\n\n  const headers = {}\n\n  // Defaults\n  const defaults = {\n    retry: 0,\n    timeout: process.server ? false : false,\n    prefixUrl,\n    headers\n  }\n\n  // Proxy SSR request headers headers\n  if (process.server && ctx.req && ctx.req.headers) {\n    const reqHeaders = { ...ctx.req.headers }\n    for (let h of [\"accept\",\"host\",\"cf-ray\",\"cf-connecting-ip\",\"content-length\",\"content-md5\",\"content-type\"]) {\n      delete reqHeaders[h]\n    }\n    defaults.headers = { ...reqHeaders, ...defaults.headers }\n  }\n\n  if (process.server) {\n    // Don't accept brotli encoding because Node can't parse it\n    defaults.headers['accept-encoding'] = 'gzip, deflate'\n  }\n\n  const http = createHttpInstance(defaults)\n\n  // Inject http to the context as $http\n  ctx.$http = http\n  inject('http', http)\n}\n","\n\nexport const Constants = {\n  COMPONENT_OPTIONS_KEY: \"nuxtI18n\",\n  STRATEGIES: {\"PREFIX\":\"prefix\",\"PREFIX_EXCEPT_DEFAULT\":\"prefix_except_default\",\"PREFIX_AND_DEFAULT\":\"prefix_and_default\",\"NO_PREFIX\":\"no_prefix\"},\n  REDIRECT_ON_OPTIONS: {\"ALL\":\"all\",\"ROOT\":\"root\",\"NO_PREFIX\":\"no prefix\"},\n}\nexport const nuxtOptions = {\n  isUniversalMode: false,\n  trailingSlash: undefined,\n}\nexport const options = {\n  vueI18n: {},\n  vueI18nLoader: false,\n  locales: [{\"code\":\"it_it\",\"iso\":\"it-it\",\"languageCode\":\"it\"},{\"code\":\"pl\",\"iso\":\"pl\",\"languageCode\":\"pl\"},{\"code\":\"pt_br\",\"iso\":\"pt-br\",\"languageCode\":\"pt\"},{\"code\":\"es_es\",\"iso\":\"es-es\",\"languageCode\":\"es\"},{\"code\":\"cs\",\"iso\":\"cs\",\"languageCode\":\"cs\"},{\"code\":\"sk\",\"iso\":\"sk\",\"languageCode\":\"sk\"},{\"code\":\"sl\",\"iso\":\"sl\",\"languageCode\":\"sl\"},{\"code\":\"en\",\"iso\":\"en\",\"languageCode\":\"en\"},{\"code\":\"de\",\"iso\":\"de\",\"languageCode\":\"de\"},{\"code\":\"en_gb\",\"iso\":\"en-gb\",\"languageCode\":\"en\"},{\"code\":\"en_in\",\"iso\":\"en-in\",\"languageCode\":\"en\"},{\"code\":\"da\",\"iso\":\"da\",\"languageCode\":\"da\"},{\"code\":\"sv\",\"iso\":\"sv\",\"languageCode\":\"sv\"},{\"code\":\"en_au\",\"iso\":\"en-au\",\"languageCode\":\"en\"},{\"code\":\"nl\",\"iso\":\"nl\",\"languageCode\":\"nl\"},{\"code\":\"no\",\"iso\":\"no\",\"languageCode\":\"no\"},{\"code\":\"ar\",\"iso\":\"ar\",\"languageCode\":\"ar\"},{\"code\":\"el_gr\",\"iso\":\"el-gr\",\"languageCode\":\"el\"},{\"code\":\"fr\",\"iso\":\"fr\",\"languageCode\":\"fr\"},{\"code\":\"id\",\"iso\":\"id\",\"languageCode\":\"id\"}],\n  defaultLocale: \"en\",\n  defaultDirection: \"ltr\",\n  routesNameSeparator: \"___\",\n  defaultLocaleRouteNameSuffix: \"default\",\n  sortRoutes: true,\n  strategy: \"prefix\",\n  lazy: false,\n  langDir: null,\n  rootRedirect: null,\n  detectBrowserLanguage: {\"alwaysRedirect\":false,\"cookieCrossOrigin\":false,\"cookieDomain\":null,\"cookieKey\":\"i18n_redirected\",\"cookieSecure\":false,\"fallbackLocale\":\"\",\"redirectOn\":\"root\",\"useCookie\":true},\n  differentDomains: false,\n  baseUrl: \"https://hearpeers.medel.com\",\n  vuex: {\"moduleName\":\"i18n\",\"syncRouteParams\":true},\n  parsePages: true,\n  pages: {},\n  skipSettingLocaleOnNavigate: false,\n  onBeforeLanguageSwitch: () => {},\n  onLanguageSwitched: () => null,\n  normalizedLocales: [{\"code\":\"it_it\",\"iso\":\"it-it\",\"languageCode\":\"it\"},{\"code\":\"pl\",\"iso\":\"pl\",\"languageCode\":\"pl\"},{\"code\":\"pt_br\",\"iso\":\"pt-br\",\"languageCode\":\"pt\"},{\"code\":\"es_es\",\"iso\":\"es-es\",\"languageCode\":\"es\"},{\"code\":\"cs\",\"iso\":\"cs\",\"languageCode\":\"cs\"},{\"code\":\"sk\",\"iso\":\"sk\",\"languageCode\":\"sk\"},{\"code\":\"sl\",\"iso\":\"sl\",\"languageCode\":\"sl\"},{\"code\":\"en\",\"iso\":\"en\",\"languageCode\":\"en\"},{\"code\":\"de\",\"iso\":\"de\",\"languageCode\":\"de\"},{\"code\":\"en_gb\",\"iso\":\"en-gb\",\"languageCode\":\"en\"},{\"code\":\"en_in\",\"iso\":\"en-in\",\"languageCode\":\"en\"},{\"code\":\"da\",\"iso\":\"da\",\"languageCode\":\"da\"},{\"code\":\"sv\",\"iso\":\"sv\",\"languageCode\":\"sv\"},{\"code\":\"en_au\",\"iso\":\"en-au\",\"languageCode\":\"en\"},{\"code\":\"nl\",\"iso\":\"nl\",\"languageCode\":\"nl\"},{\"code\":\"no\",\"iso\":\"no\",\"languageCode\":\"no\"},{\"code\":\"ar\",\"iso\":\"ar\",\"languageCode\":\"ar\"},{\"code\":\"el_gr\",\"iso\":\"el-gr\",\"languageCode\":\"el\"},{\"code\":\"fr\",\"iso\":\"fr\",\"languageCode\":\"fr\"},{\"code\":\"id\",\"iso\":\"id\",\"languageCode\":\"id\"}],\n  localeCodes: [\"it_it\",\"pl\",\"pt_br\",\"es_es\",\"cs\",\"sk\",\"sl\",\"en\",\"de\",\"en_gb\",\"en_in\",\"da\",\"sv\",\"en_au\",\"nl\",\"no\",\"ar\",\"el_gr\",\"fr\",\"id\"],\n  additionalMessages: [],\n}\n\nexport const localeMessages = {}\n","import { parse as cookieParse, serialize as cookieSerialize } from 'cookie'\nimport JsCookie from 'js-cookie'\n\n/** @typedef {import('../../types/internal').ResolvedOptions} ResolvedOptions */\n\n/**\n * Formats a log message, prefixing module's name to it.\n *\n * @param {string} text\n * @return {string}\n */\nexport function formatMessage (text) {\n  return `[@nuxtjs/i18n] ${text}`\n}\n\n/**\n * Parses locales provided from browser through `accept-language` header.\n *\n * @param {string} input\n * @return {string[]} An array of locale codes. Priority determined by order in array.\n */\nexport function parseAcceptLanguage (input) {\n  // Example input: en-US,en;q=0.9,nb;q=0.8,no;q=0.7\n  // Contains tags separated by comma.\n  // Each tag consists of locale code (2-3 letter language code) and optionally country code\n  // after dash. Tag can also contain score after semicolon, that is assumed to match order\n  // so it's not explicitly used.\n  return input.split(',').map(tag => tag.split(';')[0])\n}\n\n/**\n * Find locale code that best matches provided list of browser locales.\n *\n * @param {ResolvedOptions['normalizedLocales']} appLocales The user-configured locales that are to be matched.\n * @param {readonly string[]} browserLocales The locales to match against configured.\n * @return {string | undefined}\n */\nexport function matchBrowserLocale (appLocales, browserLocales) {\n  /** @type {{ code: string, score: number }[]} */\n  const matchedLocales = []\n\n  // Normalise appLocales input\n  /** @type {{ code: string, iso: string }[]} */\n  const normalizedAppLocales = []\n  for (const appLocale of appLocales) {\n    const { code } = appLocale\n    const iso = appLocale.iso || code\n    normalizedAppLocales.push({ code, iso })\n  }\n\n  // First pass: match exact locale.\n  for (const [index, browserCode] of browserLocales.entries()) {\n    const matchedLocale = normalizedAppLocales.find(appLocale => appLocale.iso.toLowerCase() === browserCode.toLowerCase())\n    if (matchedLocale) {\n      matchedLocales.push({ code: matchedLocale.code, score: 1 - index / browserLocales.length })\n      break\n    }\n  }\n\n  // Second pass: match only locale code part of the browser locale (not including country).\n  for (const [index, browserCode] of browserLocales.entries()) {\n    const languageCode = browserCode.split('-')[0].toLowerCase()\n    const matchedLocale = normalizedAppLocales.find(appLocale => appLocale.iso.split('-')[0].toLowerCase() === languageCode)\n    if (matchedLocale) {\n      // Deduct a thousandth for being non-exact match.\n      matchedLocales.push({ code: matchedLocale.code, score: 0.999 - index / browserLocales.length })\n      break\n    }\n  }\n\n  // Sort the list by score (0 - lowest, 1 - highest).\n  if (matchedLocales.length > 1) {\n    matchedLocales.sort((localeA, localeB) => {\n      if (localeA.score === localeB.score) {\n        // If scores are equal then pick more specific (longer) code.\n        return localeB.code.length - localeA.code.length\n      }\n\n      return localeB.score - localeA.score\n    })\n  }\n\n  return matchedLocales.length ? matchedLocales[0].code : undefined\n}\n\n/**\n * Get locale code that corresponds to current hostname\n *\n * @param  {ResolvedOptions['normalizedLocales']} locales\n * @param  {import('http').IncomingMessage | undefined} req\n * @return {string} Locale code found if any\n */\nexport function getLocaleDomain (locales, req) {\n  /** @type {string | undefined} */\n  let host\n\n  if (process.client) {\n    host = window.location.host\n  } else if (req) {\n    const detectedHost = req.headers['x-forwarded-host'] || req.headers.host\n    host = Array.isArray(detectedHost) ? detectedHost[0] : detectedHost\n  }\n\n  if (host) {\n    const matchingLocale = locales.find(l => l.domain === host)\n    if (matchingLocale) {\n      return matchingLocale.code\n    }\n  }\n\n  return ''\n}\n\n/**\n * Creates a RegExp for route paths\n *\n * @param  {readonly string[]} localeCodes\n * @return {RegExp}\n */\nexport function getLocalesRegex (localeCodes) {\n  return new RegExp(`^/(${localeCodes.join('|')})(?:/|$)`)\n}\n\n/**\n * Creates getter for getLocaleFromRoute\n *\n * @param  {readonly string[]} localeCodes\n * @param  {Pick<ResolvedOptions, 'routesNameSeparator' | 'defaultLocaleRouteNameSuffix'>} options\n */\nexport function createLocaleFromRouteGetter (localeCodes, { routesNameSeparator, defaultLocaleRouteNameSuffix }) {\n  const localesPattern = `(${localeCodes.join('|')})`\n  const defaultSuffixPattern = `(?:${routesNameSeparator}${defaultLocaleRouteNameSuffix})?`\n  const regexpName = new RegExp(`${routesNameSeparator}${localesPattern}${defaultSuffixPattern}$`)\n  const regexpPath = getLocalesRegex(localeCodes)\n  /**\n   * Extract locale code from given route:\n   * - If route has a name, try to extract locale from it\n   * - Otherwise, fall back to using the routes'path\n   * @param  {import('vue-router').Route} route\n   * @return {string} Locale code found if any\n   */\n  const getLocaleFromRoute = route => {\n    // Extract from route name\n    if (route.name) {\n      const matches = route.name.match(regexpName)\n      if (matches && matches.length > 1) {\n        return matches[1]\n      }\n    } else if (route.path) {\n      // Extract from path\n      const matches = route.path.match(regexpPath)\n      if (matches && matches.length > 1) {\n        return matches[1]\n      }\n    }\n\n    return ''\n  }\n\n  return getLocaleFromRoute\n}\n\n/**\n * @param {import('http').IncomingMessage | undefined} req\n * @param {{ useCookie: boolean, cookieKey: string, localeCodes: readonly string[] }} options\n * @return {string | undefined}\n */\nexport function getLocaleCookie (req, { useCookie, cookieKey, localeCodes }) {\n  if (useCookie) {\n    let localeCode\n\n    if (process.client) {\n      localeCode = JsCookie.get(cookieKey)\n    } else if (req && typeof req.headers.cookie !== 'undefined') {\n      const cookies = req.headers && req.headers.cookie ? cookieParse(req.headers.cookie) : {}\n      localeCode = cookies[cookieKey]\n    }\n\n    if (localeCode && localeCodes.includes(localeCode)) {\n      return localeCode\n    }\n  }\n}\n\n/**\n * @param {string} locale\n * @param {import('http').ServerResponse | undefined} res\n * @param {{ useCookie: boolean, cookieDomain: string | null, cookieKey: string, cookieSecure: boolean, cookieCrossOrigin: boolean}} options\n */\nexport function setLocaleCookie (locale, res, { useCookie, cookieDomain, cookieKey, cookieSecure, cookieCrossOrigin }) {\n  if (!useCookie) {\n    return\n  }\n  const date = new Date()\n  /** @type {import('cookie').CookieSerializeOptions} */\n  const cookieOptions = {\n    expires: new Date(date.setDate(date.getDate() + 365)),\n    path: '/',\n    sameSite: cookieCrossOrigin ? 'none' : 'lax',\n    secure: cookieCrossOrigin || cookieSecure\n  }\n\n  if (cookieDomain) {\n    cookieOptions.domain = cookieDomain\n  }\n\n  if (process.client) {\n    // @ts-ignore\n    JsCookie.set(cookieKey, locale, cookieOptions)\n  } else if (res) {\n    let headers = res.getHeader('Set-Cookie') || []\n    if (!Array.isArray(headers)) {\n      headers = [String(headers)]\n    }\n\n    const redirectCookie = cookieSerialize(cookieKey, locale, cookieOptions)\n    headers = headers.filter(header => {\n      const cookie = cookieParse(header)\n      return !(cookieKey in cookie)\n    })\n    headers.push(redirectCookie)\n\n    res.setHeader('Set-Cookie', headers)\n  }\n}\n","import isHTTPS from 'is-https'\nimport { localeMessages, options } from './options'\nimport { formatMessage } from './utils-common'\n// @ts-ignore\nimport { hasProtocol } from '~i18n-ufo'\n\n/** @typedef {import('../../types/internal').ResolvedOptions} ResolvedOptions */\n\n/**\n * Asynchronously load messages from translation files\n *\n * @param {import('@nuxt/types').Context} context\n * @param {string} locale Language code to load\n * @return {Promise<void>}\n */\nexport async function loadLanguageAsync (context, locale) {\n  const { app } = context\n  const { i18n } = app\n\n  if (!i18n.loadedLanguages) {\n    i18n.loadedLanguages = []\n  }\n\n  if (!i18n.loadedLanguages.includes(locale)) {\n    const localeObject = options.normalizedLocales.find(l => l.code === locale)\n    if (localeObject) {\n      const { file } = localeObject\n      if (file) {\n        /*  */\n      } else {\n        console.warn(formatMessage(`Could not find lang file for locale ${locale}`))\n      }\n    } else {\n      console.warn(formatMessage(`Attempted to load messages for non-existant locale code \"${locale}\"`))\n    }\n  }\n}\n\n/**\n * Resolves base URL value if provided as function. Otherwise just returns verbatim.\n *\n * @param {string | ((context: import('@nuxt/types').Context) => string)} baseUrl\n * @param {import('@nuxt/types').Context} context\n * @param {import('../../types').Locale} localeCode\n * @param {Pick<ResolvedOptions, 'differentDomains' | 'normalizedLocales'>} options\n * @return {string}\n */\nexport function resolveBaseUrl (baseUrl, context, localeCode, { differentDomains, normalizedLocales }) {\n  if (typeof baseUrl === 'function') {\n    return baseUrl(context)\n  }\n\n  if (differentDomains && localeCode) {\n    // Lookup the `differentDomain` origin associated with given locale.\n    const domain = getDomainFromLocale(localeCode, context.req, { normalizedLocales })\n    if (domain) {\n      return domain\n    }\n  }\n\n  return baseUrl\n}\n\n/**\n * Gets the `differentDomain` domain from locale.\n *\n * @param {string} localeCode\n * @param {import('http').IncomingMessage | undefined} req\n * @param {Pick<ResolvedOptions, 'normalizedLocales'>} options\n * @return {string | undefined}\n */\nexport function getDomainFromLocale (localeCode, req, { normalizedLocales }) {\n// Lookup the `differentDomain` origin associated with given locale.\n  const lang = normalizedLocales.find(locale => locale.code === localeCode)\n  if (lang && lang.domain) {\n    if (hasProtocol(lang.domain)) {\n      return lang.domain\n    }\n    let protocol\n    if (process.server) {\n      protocol = (req && isHTTPS(req)) ? 'https' : 'http'\n    } else {\n      protocol = window.location.protocol.split(':')[0]\n    }\n    return `${protocol}://${lang.domain}`\n  }\n\n  // eslint-disable-next-line no-console\n  console.warn(formatMessage(`Could not find domain name for locale ${localeCode}`))\n}\n\n/**\n * @param {import('vuex').Store<Record<string, boolean>>} store\n * @param {Required<import('../../types').VuexOptions>} vuex\n * @param {readonly string[]} localeCodes\n */\nexport function registerStore (store, vuex, localeCodes) {\n  /** @typedef {{\n   *    locale?: string\n   *    messages?: Record<string, string>\n   *    routeParams?: Record<string, Record<string, string>>\n   * }} ModuleStore\n   *\n   * @type {import('vuex').Module<ModuleStore, {}>}\n   */\n  const storeModule = {\n    namespaced: true,\n    state: () => ({\n      ...(vuex.syncRouteParams ? { routeParams: {} } : {})\n    }),\n    actions: {\n      ...(vuex.syncRouteParams\n        ? {\n            setRouteParams ({ commit }, params) {\n              if (process.env.NODE_ENV === 'development') {\n                validateRouteParams(params, localeCodes)\n              }\n              commit('setRouteParams', params)\n            }\n          }\n        : {})\n    },\n    mutations: {\n      ...(vuex.syncRouteParams\n        ? {\n            setRouteParams (state, params) {\n              state.routeParams = params\n            }\n          }\n        : {})\n    },\n    getters: {\n      ...(vuex.syncRouteParams\n        ? {\n            localeRouteParams: ({ routeParams }) => {\n              /** @type {(locale: string) => Record<string, string>} */\n              const paramsGetter = locale => (routeParams && routeParams[locale]) || {}\n              return paramsGetter\n            }\n          }\n        : {})\n    }\n  }\n  store.registerModule(vuex.moduleName, storeModule, { preserveState: !!store.state[vuex.moduleName] })\n}\n\n/**\n * Validate setRouteParams action's payload\n *\n * @param {object} routeParams The action's payload\n * @param {readonly string[]} localeCodes\n */\nexport function validateRouteParams (routeParams, localeCodes) {\n  if (!isObject(routeParams)) {\n    // eslint-disable-next-line no-console\n    console.warn(formatMessage('Route params should be an object'))\n    return\n  }\n\n  for (const [key, value] of Object.entries(routeParams)) {\n    if (!localeCodes.includes(key)) {\n    // eslint-disable-next-line no-console\n      console.warn(formatMessage(`Trying to set route params for key ${key} which is not a valid locale`))\n    } else if (!isObject(value)) {\n    // eslint-disable-next-line no-console\n      console.warn(formatMessage(`Trying to set route params for locale ${key} with a non-object value`))\n    }\n  }\n}\n\n/**\n * Merge external additional messages\n *\n * @param {import('../../types').NuxtI18nInstance} i18n\n * @param {ResolvedOptions['additionalMessages']} additionalMessages\n * @param {ResolvedOptions['localeCodes']} localeCodes\n * @param {string[] | null} [onlyLocales=null]\n * @return {void}\n */\nexport function mergeAdditionalMessages (i18n, additionalMessages, localeCodes, onlyLocales) {\n  const locales = onlyLocales || localeCodes\n  for (const additionalEntry of additionalMessages) {\n    for (const locale of locales) {\n      const existingMessages = i18n.getLocaleMessage(locale)\n      i18n.mergeLocaleMessage(locale, additionalEntry[locale])\n      i18n.mergeLocaleMessage(locale, existingMessages)\n    }\n  }\n}\n\n/**\n * @param {any} value\n * @return {boolean}\n */\nfunction isObject (value) {\n  return value && !Array.isArray(value) && typeof value === 'object'\n}\n","// @ts-ignore\nimport nuxtMiddleware from '../middleware'\n\n/** @type {import('@nuxt/types').Middleware} */\nconst i18nMiddleware = async (context) => {\n  const { app, isHMR } = context\n\n  if (isHMR) {\n    return\n  }\n\n  const [status, redirectPath, preserveQuery] = await app.i18n.__onNavigate(context.route)\n  if (status && redirectPath) {\n    const query = preserveQuery ? context.route.query : undefined\n    context.redirect(status, redirectPath, query)\n  }\n}\n\nnuxtMiddleware.nuxti18n = i18nMiddleware\n","import './middleware'\nimport Vue from 'vue'\nimport { Constants, nuxtOptions, options } from './options'\nimport { getDomainFromLocale } from './plugin.utils'\n// @ts-ignore\nimport { withoutTrailingSlash, withTrailingSlash } from '~i18n-ufo'\n\n/**\n * @this {import('../../types/internal').PluginProxy}\n * @type {Vue['localePath']}\n */\nfunction localePath (route, locale) {\n  const localizedRoute = resolveRoute.call(this, route, locale)\n  return localizedRoute ? localizedRoute.route.redirectedFrom || localizedRoute.route.fullPath : ''\n}\n\n/**\n * @this {import('../../types/internal').PluginProxy}\n * @type {Vue['localeRoute']}\n */\nfunction localeRoute (route, locale) {\n  const resolved = resolveRoute.call(this, route, locale)\n  return resolved ? resolved.route : undefined\n}\n\n/**\n * @this {import('../../types/internal').PluginProxy}\n * @type {Vue['localeLocation']}\n */\nfunction localeLocation (route, locale) {\n  const resolved = resolveRoute.call(this, route, locale)\n  return resolved ? resolved.location : undefined\n}\n\n/**\n * @this {import('../../types/internal').PluginProxy}\n * @param {import('vue-router').RawLocation} route\n * @param {string} [locale]\n * @return {ReturnType<import('vue-router').default['resolve']> | undefined}\n */\nfunction resolveRoute (route, locale) {\n  // Abort if no route or no locale\n  if (!route) {\n    return\n  }\n\n  const { i18n } = this\n\n  locale = locale || i18n.locale\n\n  if (!locale) {\n    return\n  }\n\n  // If route parameter is a string, check if it's a path or name of route.\n  if (typeof route === 'string') {\n    if (route[0] === '/') {\n      // If route parameter is a path, create route object with path.\n      route = { path: route }\n    } else {\n      // Else use it as route name.\n      route = { name: route }\n    }\n  }\n\n  let localizedRoute = Object.assign({}, route)\n\n  if (localizedRoute.path && !localizedRoute.name) {\n    const resolvedRoute = this.router.resolve(localizedRoute).route\n    const resolvedRouteName = this.getRouteBaseName(resolvedRoute)\n    if (resolvedRouteName) {\n      localizedRoute = {\n        name: getLocaleRouteName(resolvedRouteName, locale),\n        params: resolvedRoute.params,\n        query: resolvedRoute.query,\n        hash: resolvedRoute.hash\n      }\n    } else {\n      const isDefaultLocale = locale === options.defaultLocale\n      // if route has a path defined but no name, resolve full route using the path\n      const isPrefixed =\n          // don't prefix default locale\n          !(isDefaultLocale && [Constants.STRATEGIES.PREFIX_EXCEPT_DEFAULT, Constants.STRATEGIES.PREFIX_AND_DEFAULT].includes(options.strategy)) &&\n          // no prefix for any language\n          !(options.strategy === Constants.STRATEGIES.NO_PREFIX) &&\n          // no prefix for different domains\n          !i18n.differentDomains\n      if (isPrefixed) {\n        localizedRoute.path = `/${locale}${localizedRoute.path}`\n      }\n      localizedRoute.path = nuxtOptions.trailingSlash ? withTrailingSlash(localizedRoute.path, true) : withoutTrailingSlash(localizedRoute.path, true)\n    }\n  } else {\n    if (!localizedRoute.name && !localizedRoute.path) {\n      localizedRoute.name = this.getRouteBaseName()\n    }\n\n    localizedRoute.name = getLocaleRouteName(localizedRoute.name, locale)\n\n    const { params } = localizedRoute\n    if (params && params['0'] === undefined && params.pathMatch) {\n      params['0'] = params.pathMatch\n    }\n  }\n\n  const resolvedRoute = this.router.resolve(localizedRoute)\n  if (resolvedRoute.route.name) {\n    return resolvedRoute\n  }\n  // If didn't resolve to an existing route then just return resolved route based on original input.\n  return this.router.resolve(route)\n}\n\n/**\n * @this {import('../../types/internal').PluginProxy}\n * @type {Vue['switchLocalePath']}\n */\nfunction switchLocalePath (locale) {\n  const name = this.getRouteBaseName()\n  if (!name) {\n    return ''\n  }\n\n  const { i18n, route, store } = this\n  const { params, ...routeCopy } = route\n  let langSwitchParams = {}\n  if (options.vuex && options.vuex.syncRouteParams && store) {\n    langSwitchParams = store.getters[`${options.vuex.moduleName}/localeRouteParams`](locale)\n  }\n  const baseRoute = Object.assign({}, routeCopy, {\n    name,\n    params: {\n      ...params,\n      ...langSwitchParams,\n      0: params.pathMatch\n    }\n  })\n  let path = this.localePath(baseRoute, locale)\n\n  // Handle different domains\n  if (i18n.differentDomains) {\n    const getDomainOptions = {\n      differentDomains: i18n.differentDomains,\n      normalizedLocales: options.normalizedLocales\n    }\n    const domain = getDomainFromLocale(locale, this.req, getDomainOptions)\n    if (domain) {\n      path = domain + path\n    }\n  }\n\n  return path\n}\n\n/**\n * @this {import('../../types/internal').PluginProxy}\n * @type {Vue['getRouteBaseName']}\n */\nfunction getRouteBaseName (givenRoute) {\n  const route = givenRoute !== undefined ? givenRoute : this.route\n  if (!route || !route.name) {\n    return\n  }\n  return route.name.split(options.routesNameSeparator)[0]\n}\n\n/**\n * @param {string | undefined} routeName\n * @param {string} locale\n */\nfunction getLocaleRouteName (routeName, locale) {\n  let name = routeName + (options.strategy === Constants.STRATEGIES.NO_PREFIX ? '' : options.routesNameSeparator + locale)\n\n  if (locale === options.defaultLocale && options.strategy === Constants.STRATEGIES.PREFIX_AND_DEFAULT) {\n    name += options.routesNameSeparator + options.defaultLocaleRouteNameSuffix\n  }\n\n  return name\n}\n\n/**\n * @template {(...args: any[]) => any} T\n * @param {T} targetFunction\n * @return {(this: Vue, ...args: Parameters<T>) => ReturnType<T>}\n */\nconst VueInstanceProxy = function (targetFunction) {\n  return function () {\n    const proxy = {\n      getRouteBaseName: this.getRouteBaseName,\n      i18n: this.$i18n,\n      localePath: this.localePath,\n      localeRoute: this.localeRoute,\n      localeLocation: this.localeLocation,\n      // @ts-ignore\n      req: process.server ? this.$root.context?.req || this.$ssrContext?.req : null,\n      route: this.$route,\n      router: this.$router,\n      store: this.$store\n    }\n\n    return targetFunction.call(proxy, ...arguments)\n  }\n}\n\n/**\n * @template {(...args: any[]) => any} T\n * @param {import('@nuxt/types').Context} context\n * @param {T} targetFunction\n * @return {(...args: Parameters<T>) => ReturnType<T>}\n */\nconst NuxtContextProxy = function (context, targetFunction) {\n  return function () {\n    const { app, req, route, store } = context\n\n    const proxy = {\n      getRouteBaseName: app.getRouteBaseName,\n      i18n: app.i18n,\n      localePath: app.localePath,\n      localeLocation: app.localeLocation,\n      localeRoute: app.localeRoute,\n      req: process.server ? req : null,\n      route,\n      router: app.router,\n      store\n    }\n\n    return targetFunction.call(proxy, ...arguments)\n  }\n}\n\n/** @type {import('vue').PluginObject<void>} */\nconst plugin = {\n  install (Vue) {\n    Vue.mixin({\n      methods: {\n        localePath: VueInstanceProxy(localePath),\n        localeRoute: VueInstanceProxy(localeRoute),\n        localeLocation: VueInstanceProxy(localeLocation),\n        switchLocalePath: VueInstanceProxy(switchLocalePath),\n        getRouteBaseName: VueInstanceProxy(getRouteBaseName)\n      }\n    })\n  }\n}\n\n/** @type {import('@nuxt/types').Plugin} */\nexport default (context) => {\n  Vue.use(plugin)\n  const { app, store } = context\n\n  app.localePath = context.localePath = NuxtContextProxy(context, localePath)\n  app.localeRoute = context.localeRoute = NuxtContextProxy(context, localeRoute)\n  app.localeLocation = context.localeLocation = NuxtContextProxy(context, localeLocation)\n  app.switchLocalePath = context.switchLocalePath = NuxtContextProxy(context, switchLocalePath)\n  app.getRouteBaseName = context.getRouteBaseName = NuxtContextProxy(context, getRouteBaseName)\n\n  if (store) {\n    store.localePath = app.localePath\n    store.localeRoute = app.localeRoute\n    store.localeLocation = app.localeLocation\n    store.switchLocalePath = app.switchLocalePath\n    store.getRouteBaseName = app.getRouteBaseName\n  }\n}\n","import VueMeta from 'vue-meta'\nimport { Constants, options } from './options'\nimport { formatMessage } from './utils-common'\n\n/**\n * @this {import('vue/types/vue').Vue}\n * @param {import('../../types/vue').NuxtI18nHeadOptions} options\n * @return {import('vue-meta').MetaInfo}\n */\nexport function nuxtI18nHead ({ addDirAttribute = false, addSeoAttributes = false } = {}) {\n  // Can happen when using from a global mixin.\n  if (!this.$i18n) {\n    return {}\n  }\n\n  /** @type {import('../../types/vue').NuxtI18nMeta} */\n  const metaObject = {\n    htmlAttrs: {},\n    link: [],\n    meta: []\n  }\n\n  const currentLocale = this.$i18n.localeProperties\n  const currentLocaleIso = currentLocale.iso\n  const currentLocaleDir = currentLocale.dir || options.defaultDirection\n\n  /**\n   * Adding Direction Attribute:\n   */\n  if (addDirAttribute) {\n    metaObject.htmlAttrs.dir = currentLocaleDir\n  }\n\n  /**\n   * Adding SEO Meta:\n   */\n  if (\n    addSeoAttributes &&\n    // @ts-ignore\n    (VueMeta.hasMetaInfo ? VueMeta.hasMetaInfo(this) : this._hasMetaInfo) &&\n    this.$i18n.locale &&\n    this.$i18n.locales\n  ) {\n    if (currentLocaleIso) {\n      metaObject.htmlAttrs.lang = currentLocaleIso // TODO: simple lang or \"specific\" lang with territory?\n    }\n\n    const locales = /** @type {import('../../types').LocaleObject[]} */(this.$i18n.locales)\n\n    addHreflangLinks.bind(this)(locales, this.$i18n.__baseUrl, metaObject.link)\n    addCanonicalLinks.bind(this)(this.$i18n.__baseUrl, metaObject.link, addSeoAttributes)\n    addCurrentOgLocale.bind(this)(currentLocale, currentLocaleIso, metaObject.meta)\n    addAlternateOgLocales.bind(this)(locales, currentLocaleIso, metaObject.meta)\n  }\n\n  /**\n   * Internals:\n   */\n\n  /**\n   * @this {import('vue/types/vue').Vue}\n   *\n   * @param {import('../../types').LocaleObject[]} locales\n   * @param {string} baseUrl\n   * @param {import('../../types/vue').NuxtI18nMeta['link']} link\n   */\n  function addHreflangLinks (locales, baseUrl, link) {\n    if (options.strategy === Constants.STRATEGIES.NO_PREFIX) {\n      return\n    }\n    /** @type {Map<string, import('../../types').LocaleObject>} */\n    const localeMap = new Map()\n    for (const locale of locales) {\n      const localeIso = locale.iso\n\n      if (!localeIso) {\n        // eslint-disable-next-line no-console\n        console.warn(formatMessage('Locale ISO code is required to generate alternate link'))\n        continue\n      }\n\n      const [language, region] = localeIso.split('-')\n\n      if (language && region && (locale.isCatchallLocale || !localeMap.has(language))) {\n        localeMap.set(language, locale)\n      }\n\n      localeMap.set(localeIso, locale)\n    }\n\n    for (const [iso, mapLocale] of localeMap.entries()) {\n      const localePath = this.switchLocalePath(mapLocale.code)\n      if (localePath) {\n        link.push({\n          hid: `i18n-alt-${iso}`,\n          rel: 'alternate',\n          href: toAbsoluteUrl(localePath, baseUrl),\n          hreflang: iso\n        })\n      }\n    }\n\n    if (options.defaultLocale) {\n      const localePath = this.switchLocalePath(options.defaultLocale)\n      if (localePath) {\n        link.push({\n          hid: 'i18n-xd',\n          rel: 'alternate',\n          href: toAbsoluteUrl(localePath, baseUrl),\n          hreflang: 'x-default'\n        })\n      }\n    }\n  }\n\n  /**\n   * @this {import('vue/types/vue').Vue}\n   *\n   * @param {string} baseUrl\n   * @param {import('../../types/vue').NuxtI18nMeta['link']} link\n   * @param {NonNullable<import('../../types/vue').NuxtI18nHeadOptions['addSeoAttributes']>} seoAttributesOptions\n   */\n  function addCanonicalLinks (baseUrl, link, seoAttributesOptions) {\n    const currentRoute = this.localeRoute({\n      ...this.$route,\n      name: this.getRouteBaseName()\n    })\n\n    if (currentRoute) {\n      let href = toAbsoluteUrl(currentRoute.path, baseUrl)\n\n      const canonicalQueries = (typeof (seoAttributesOptions) !== 'boolean' && seoAttributesOptions.canonicalQueries) || []\n\n      if (canonicalQueries.length) {\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\n            if (Array.isArray(queryParamValue)) {\n              queryParamValue.forEach(v => params.append(queryParamName, v || ''))\n            } else {\n              params.append(queryParamName, queryParamValue || '')\n            }\n          }\n        }\n\n        const queryString = params.toString()\n\n        if (queryString) {\n          href = `${href}?${queryString}`\n        }\n      }\n\n      link.push({\n        hid: 'i18n-can',\n        rel: 'canonical',\n        href\n      })\n    }\n  }\n\n  /**\n   * @this {import('vue/types/vue').Vue}\n   *\n   * @param {import('../../types').LocaleObject} currentLocale\n   * @param {string | undefined} currentLocaleIso\n   * @param {import('../../types/vue').NuxtI18nMeta['meta']} meta\n   */\n  function addCurrentOgLocale (currentLocale, currentLocaleIso, meta) {\n    const hasCurrentLocaleAndIso = currentLocale && currentLocaleIso\n\n    if (!hasCurrentLocaleAndIso) {\n      return\n    }\n\n    meta.push({\n      hid: 'i18n-og',\n      property: 'og:locale',\n      // Replace dash with underscore as defined in spec: language_TERRITORY\n      content: hypenToUnderscore(currentLocaleIso)\n    })\n  }\n\n  /**\n   * @this {import('vue/types/vue').Vue}\n   *\n   * @param {import('../../types').LocaleObject[]} locales\n   * @param {string | undefined} currentLocaleIso\n   * @param {import('../../types/vue').NuxtI18nMeta['meta']} meta\n   */\n  function addAlternateOgLocales (locales, currentLocaleIso, meta) {\n    const localesWithoutCurrent = locales.filter(locale => {\n      const localeIso = locale.iso\n      return localeIso && localeIso !== currentLocaleIso\n    })\n\n    if (localesWithoutCurrent.length) {\n      const alternateLocales = localesWithoutCurrent.map(locale => ({\n        hid: `i18n-og-alt-${locale.iso}`,\n        property: 'og:locale:alternate',\n        content: hypenToUnderscore(locale.iso)\n      }))\n\n      meta.push(...alternateLocales)\n    }\n  }\n\n  /**\n   * @param {string | undefined} str\n   * @return {string}\n   */\n  function hypenToUnderscore (str) {\n    return (str || '').replace(/-/g, '_')\n  }\n\n  /**\n   * @param {string} urlOrPath\n   * @param {string} baseUrl\n   */\n  function toAbsoluteUrl (urlOrPath, baseUrl) {\n    if (urlOrPath.match(/^https?:\\/\\//)) {\n      return urlOrPath\n    }\n    return baseUrl + urlOrPath\n  }\n\n  return metaObject\n}\n","import Vue from 'vue'\nimport VueI18n from 'vue-i18n'\nimport { nuxtI18nHead } from './head-meta'\nimport { Constants, nuxtOptions, options } from './options'\nimport {\n  createLocaleFromRouteGetter,\n  getLocaleCookie,\n  getLocaleDomain,\n  getLocalesRegex,\n  matchBrowserLocale,\n  parseAcceptLanguage,\n  setLocaleCookie\n} from './utils-common'\nimport {\n  loadLanguageAsync,\n  resolveBaseUrl,\n  registerStore,\n  mergeAdditionalMessages\n} from './plugin.utils'\n// @ts-ignore\nimport { joinURL } from '~i18n-ufo'\n// @ts-ignore\nimport { klona } from '~i18n-klona'\n\nVue.use(VueI18n)\n\n/** @type {import('@nuxt/types').Plugin} */\nexport default async (context) => {\n  const { app, route, store, req, res, redirect } = context\n\n  if (options.vuex && store) {\n    registerStore(store, options.vuex, options.localeCodes)\n  }\n\n  const { lazy } = options\n  const injectInNuxtState = lazy && (lazy === true || lazy.skipNuxtState !== true)\n\n  if (process.server && injectInNuxtState) {\n    const devalue = (await import('devalue')).default\n    context.beforeNuxtRender(({ nuxtState }) => {\n      /** @type {Record<string, import('vue-i18n').LocaleMessageObject>} */\n      const langs = {}\n      const { fallbackLocale, locale } = app.i18n\n      if (locale && locale !== fallbackLocale) {\n        // @ts-ignore Using internal API to avoid unnecessary cloning.\n        const messages = app.i18n._getMessages()[locale]\n        if (messages) {\n          try {\n            devalue(messages)\n            langs[locale] = messages\n          } catch {\n            // Ignore - client-side will load the chunk asynchronously.\n          }\n        }\n      }\n      nuxtState.__i18n = { langs }\n    })\n  }\n\n  const {\n    alwaysRedirect,\n    fallbackLocale,\n    redirectOn,\n    useCookie,\n    cookieKey,\n    cookieDomain,\n    cookieSecure,\n    cookieCrossOrigin\n  } = /** @type {Required<import('../../types').DetectBrowserLanguageOptions>} */(options.detectBrowserLanguage)\n\n  const getLocaleFromRoute = createLocaleFromRouteGetter(options.localeCodes, {\n    routesNameSeparator: options.routesNameSeparator,\n    defaultLocaleRouteNameSuffix: options.defaultLocaleRouteNameSuffix\n  })\n\n  /**\n   * @param {string | undefined} newLocale\n   * @param {{ initialSetup?: boolean }} [options=false]\n   */\n  const loadAndSetLocale = async (newLocale, { initialSetup = false } = {}) => {\n    if (!newLocale) {\n      return\n    }\n\n    // Abort if different domains option enabled\n    if (!initialSetup && app.i18n.differentDomains) {\n      return\n    }\n\n    const oldLocale = app.i18n.locale\n\n    if (newLocale === oldLocale) {\n      return\n    }\n\n    const localeOverride = app.i18n.onBeforeLanguageSwitch(oldLocale, newLocale, initialSetup, context)\n    if (localeOverride && app.i18n.localeCodes.includes(localeOverride)) {\n      if (localeOverride === oldLocale) {\n        return\n      }\n      newLocale = localeOverride\n    }\n\n    if (useCookie) {\n      app.i18n.setLocaleCookie(newLocale)\n    }\n\n    if (options.langDir) {\n      const i18nFallbackLocale = app.i18n.fallbackLocale\n\n      if (options.lazy) {\n        // Load fallback locale(s).\n        if (i18nFallbackLocale) {\n        /** @type {Promise<void>[]} */\n          let localesToLoadPromises = []\n          if (Array.isArray(i18nFallbackLocale)) {\n            localesToLoadPromises = i18nFallbackLocale.map(fbLocale => loadLanguageAsync(context, fbLocale))\n          } else if (typeof i18nFallbackLocale === 'object') {\n            if (i18nFallbackLocale[newLocale]) {\n              localesToLoadPromises = localesToLoadPromises.concat(i18nFallbackLocale[newLocale].map(fbLocale => loadLanguageAsync(context, fbLocale)))\n            }\n            if (i18nFallbackLocale.default) {\n              localesToLoadPromises = localesToLoadPromises.concat(i18nFallbackLocale.default.map(fbLocale => loadLanguageAsync(context, fbLocale)))\n            }\n          } else if (newLocale !== i18nFallbackLocale) {\n            localesToLoadPromises.push(loadLanguageAsync(context, i18nFallbackLocale))\n          }\n          await Promise.all(localesToLoadPromises)\n        }\n        await loadLanguageAsync(context, newLocale)\n      } else {\n        // Load all locales.\n        await Promise.all(options.localeCodes.map(locale => loadLanguageAsync(context, locale)))\n      }\n    } else {\n      mergeAdditionalMessages(app.i18n, options.additionalMessages, options.localeCodes)\n    }\n\n    app.i18n.locale = newLocale\n    /** @type {import('../../types').LocaleObject} */\n    const newLocaleProperties = options.normalizedLocales.find(l => l.code === newLocale) || { code: newLocale }\n    // In case certain locale has more properties than another, reset all the properties.\n    for (const key of Object.keys(app.i18n.localeProperties)) {\n      app.i18n.localeProperties[key] = undefined\n    }\n    // Copy properties of the new locale\n    for (const [key, value] of Object.entries(newLocaleProperties)) {\n      Vue.set(app.i18n.localeProperties, key, klona(value))\n    }\n\n    // Must retrieve from context as it might have changed since plugin initialization.\n    const { route } = context\n    let redirectPath = ''\n\n    const isStaticGenerate = process.static && process.server\n    // Decide whether we should redirect to a different route.\n    if (\n      !isStaticGenerate &&\n      !app.i18n.differentDomains &&\n      options.strategy !== Constants.STRATEGIES.NO_PREFIX &&\n      // Skip if already on the new locale unless the strategy is \"prefix_and_default\" and this is the default\n      // locale, in which case we might still redirect as we prefer unprefixed route in this case.\n      (getLocaleFromRoute(route) !== newLocale || (options.strategy === Constants.STRATEGIES.PREFIX_AND_DEFAULT && newLocale === options.defaultLocale))\n    ) {\n      // The current route could be 404 in which case attempt to find matching route using the full path since\n      // \"switchLocalePath\" can only find routes if the current route exists.\n      const routePath = app.switchLocalePath(newLocale) || app.localePath(route.fullPath, newLocale)\n      if (routePath && routePath !== route.fullPath && !routePath.startsWith('//')) {\n        redirectPath = routePath\n      }\n    }\n\n    if (initialSetup) {\n      // Redirect will be delayed until middleware runs as redirecting from plugin does not\n      // work in SPA (https://github.com/nuxt/nuxt.js/issues/4491).\n      app.i18n.__redirect = redirectPath\n    } else {\n      app.i18n.onLanguageSwitched(oldLocale, newLocale)\n\n      if (redirectPath) {\n        redirect(redirectPath)\n      }\n    }\n  }\n\n  /**\n   * Called by middleware on navigation (also on the initial one).\n   *\n   * @type {import('../../types/internal').onNavigateInternal}\n   */\n  const onNavigate = async route => {\n    // Handle root path redirect\n    if (route.path === '/' && options.rootRedirect) {\n      let statusCode = 302\n      let path = options.rootRedirect\n\n      if (typeof options.rootRedirect !== 'string') {\n        statusCode = options.rootRedirect.statusCode\n        path = options.rootRedirect.path\n      }\n\n      return [statusCode, `/${path}`, /* preserve query */true]\n    }\n\n    const storedRedirect = app.i18n.__redirect\n    if (storedRedirect) {\n      app.i18n.__redirect = null\n      return [302, storedRedirect]\n    }\n\n    const resolveBaseUrlOptions = {\n      differentDomains: options.differentDomains,\n      normalizedLocales: options.normalizedLocales\n    }\n    app.i18n.__baseUrl = resolveBaseUrl(options.baseUrl, context, app.i18n.locale, resolveBaseUrlOptions)\n\n    const finalLocale =\n      (options.detectBrowserLanguage && doDetectBrowserLanguage(route)) ||\n      (!options.differentDomains && options.strategy !== Constants.STRATEGIES.NO_PREFIX && getLocaleFromRoute(route)) ||\n      app.i18n.locale || app.i18n.defaultLocale || ''\n\n    if (options.skipSettingLocaleOnNavigate) {\n      app.i18n.__pendingLocale = finalLocale\n      app.i18n.__pendingLocalePromise = new Promise(resolve => {\n        app.i18n.__resolvePendingLocalePromise = resolve\n      })\n    } else {\n      await app.i18n.setLocale(finalLocale)\n    }\n\n    return [null, null]\n  }\n\n  const finalizePendingLocaleChange = async () => {\n    if (!app.i18n.__pendingLocale) {\n      return\n    }\n    await app.i18n.setLocale(app.i18n.__pendingLocale)\n    app.i18n.__resolvePendingLocalePromise('')\n    app.i18n.__pendingLocale = null\n  }\n\n  const waitForPendingLocaleChange = async () => {\n    if (app.i18n.__pendingLocale) {\n      await app.i18n.__pendingLocalePromise\n    }\n  }\n\n  const getBrowserLocale = () => {\n    if (process.client && typeof navigator !== 'undefined' && navigator.languages) {\n      // Get browser language either from navigator if running on client side, or from the headers\n      return matchBrowserLocale(options.normalizedLocales, navigator.languages)\n    } else if (req && typeof req.headers['accept-language'] !== 'undefined') {\n      return matchBrowserLocale(options.normalizedLocales, parseAcceptLanguage(req.headers['accept-language']))\n    } else {\n      return undefined\n    }\n  }\n\n  /**\n   * @param {import('vue-router').Route} route\n   * @return {string} Returns the browser locale that was detected or an empty string otherwise.\n   */\n  const doDetectBrowserLanguage = route => {\n    // Browser detection is ignored if it is a nuxt generate.\n    if (process.static && process.server) {\n      return ''\n    }\n\n    if (options.strategy !== Constants.STRATEGIES.NO_PREFIX) {\n      if (redirectOn === Constants.REDIRECT_ON_OPTIONS.ROOT) {\n        if (route.path !== '/') {\n          return ''\n        }\n      } else if (redirectOn === Constants.REDIRECT_ON_OPTIONS.NO_PREFIX) {\n        if (!alwaysRedirect && route.path.match(getLocalesRegex(options.localeCodes))) {\n          return ''\n        }\n      }\n    }\n\n    let matchedLocale\n\n    if (useCookie && (matchedLocale = app.i18n.getLocaleCookie())) {\n      // Get preferred language from cookie if present and enabled\n    } else {\n      // Try to get locale from either navigator or header detection\n      matchedLocale = getBrowserLocale()\n    }\n\n    const finalLocale = matchedLocale || fallbackLocale\n\n    // Handle cookie option to prevent multiple redirections\n    if (finalLocale && (!useCookie || alwaysRedirect || !app.i18n.getLocaleCookie())) {\n      if (finalLocale !== app.i18n.locale) {\n        return finalLocale\n      }\n    }\n\n    return ''\n  }\n\n  /**\n   * Extends the newly created vue-i18n instance with @nuxtjs/i18n properties.\n   *\n   * @param {import('vue-i18n').IVueI18n} i18n\n   */\n  const extendVueI18nInstance = i18n => {\n    i18n.locales = klona(options.locales)\n    i18n.localeCodes = klona(options.localeCodes)\n    i18n.localeProperties = Vue.observable(klona(options.normalizedLocales.find(l => l.code === i18n.locale) || { code: i18n.locale }))\n    i18n.defaultLocale = options.defaultLocale\n    i18n.differentDomains = options.differentDomains\n    i18n.onBeforeLanguageSwitch = options.onBeforeLanguageSwitch\n    i18n.onLanguageSwitched = options.onLanguageSwitched\n    i18n.setLocaleCookie = locale => setLocaleCookie(locale, res, { useCookie, cookieDomain, cookieKey, cookieSecure, cookieCrossOrigin })\n    i18n.getLocaleCookie = () => getLocaleCookie(req, { useCookie, cookieKey, localeCodes: options.localeCodes })\n    i18n.setLocale = (locale) => loadAndSetLocale(locale)\n    i18n.getBrowserLocale = () => getBrowserLocale()\n    i18n.finalizePendingLocaleChange = finalizePendingLocaleChange\n    i18n.waitForPendingLocaleChange = waitForPendingLocaleChange\n    i18n.__baseUrl = app.i18n.__baseUrl\n    i18n.__pendingLocale = app.i18n.__pendingLocale\n    i18n.__pendingLocalePromise = app.i18n.__pendingLocalePromise\n    i18n.__resolvePendingLocalePromise = app.i18n.__resolvePendingLocalePromise\n  }\n\n  // Set instance options\n  const vueI18nOptions = typeof options.vueI18n === 'function' ? await options.vueI18n(context) : klona(options.vueI18n)\n  vueI18nOptions.componentInstanceCreatedListener = extendVueI18nInstance\n  // @ts-ignore\n  app.i18n = context.i18n = new VueI18n(vueI18nOptions)\n  // Initialize locale and fallbackLocale as vue-i18n defaults those to 'en-US' if falsey\n  app.i18n.locale = ''\n  app.i18n.fallbackLocale = vueI18nOptions.fallbackLocale || ''\n\n  if (store) {\n    // Inject in store.\n    store.$i18n = app.i18n\n\n    if (store.state.localeDomains) {\n      for (const [index, locale] of options.normalizedLocales.entries()) {\n        const domain = store.state.localeDomains[locale.code]\n        if (domain) {\n          locale.domain = domain\n          const optionsLocale = options.locales[index]\n          if (typeof (optionsLocale) !== 'string') {\n            optionsLocale.domain = domain\n          }\n        }\n      }\n    }\n  }\n\n  extendVueI18nInstance(app.i18n)\n  const resolveBaseUrlOptions = {\n    differentDomains: options.differentDomains,\n    normalizedLocales: options.normalizedLocales\n  }\n  app.i18n.__baseUrl = resolveBaseUrl(options.baseUrl, context, '', resolveBaseUrlOptions)\n  app.i18n.__onNavigate = onNavigate\n\n  Vue.prototype.$nuxtI18nHead = nuxtI18nHead\n\n  /** @type {string | undefined} */\n  let finalLocale = options.detectBrowserLanguage ? doDetectBrowserLanguage(route) : ''\n\n  if (!finalLocale) {\n    if (app.i18n.differentDomains) {\n      const domainLocale = getLocaleDomain(options.normalizedLocales, req)\n      finalLocale = domainLocale\n    } else if (options.strategy !== Constants.STRATEGIES.NO_PREFIX) {\n      const routeLocale = getLocaleFromRoute(route)\n      finalLocale = routeLocale\n    }\n  }\n\n  if (!finalLocale && useCookie) {\n    finalLocale = app.i18n.getLocaleCookie()\n  }\n\n  if (!finalLocale) {\n    finalLocale = app.i18n.defaultLocale || ''\n  }\n\n  await loadAndSetLocale(finalLocale, { initialSetup: true })\n\n  if (process.client && process.static && nuxtOptions.isUniversalMode) {\n    const [_, redirectTo] = await onNavigate(context.route)\n    if (redirectTo) {\n      location.assign(joinURL(context.base, redirectTo))\n    }\n  }\n}\n","export function mergeMeta (to, from) {\n  if (typeof to === 'function') {\n    // eslint-disable-next-line no-console\n    console.warn('Cannot merge meta. Avoid using head as a function!')\n    return\n  }\n\n  for (const key in from) {\n    const value = from[key]\n    if (Array.isArray(value)) {\n      to[key] = to[key] || []\n      for (const item of value) {\n        // Avoid duplicates\n        if (\n          (item.hid && hasMeta(to[key], 'hid', item.hid)) ||\n          (item.name && hasMeta(to[key], 'name', item.name))\n        ) {\n          continue\n        }\n        // Add meta\n        to[key].push(item)\n      }\n    } else if (typeof value === 'object') {\n      to[key] = to[key] || {}\n      for (const attr in value) {\n        to[key][attr] = value[attr]\n      }\n    } else if (to[key] === undefined) {\n      to[key] = value\n    }\n  }\n}\n\nfunction hasMeta (arr, key, val) {\n  return arr.find(obj => val ? obj[key] === val : obj[key])\n}\n","import { mergeMeta } from './meta.utils'\nimport meta from './meta.json'\n\nexport default function ({ app }) {\n  mergeMeta(app.head, meta)\n}\n","export default async function (ctx, inject) {\n  const icons = {\"64x64\":\"/_nuxt/icons/icon_64x64.6f5b79.png\",\"120x120\":\"/_nuxt/icons/icon_120x120.6f5b79.png\",\"144x144\":\"/_nuxt/icons/icon_144x144.6f5b79.png\",\"152x152\":\"/_nuxt/icons/icon_152x152.6f5b79.png\",\"192x192\":\"/_nuxt/icons/icon_192x192.6f5b79.png\",\"384x384\":\"/_nuxt/icons/icon_384x384.6f5b79.png\",\"512x512\":\"/_nuxt/icons/icon_512x512.6f5b79.png\",\"ipad_1536x2048\":\"/_nuxt/icons/splash_ipad_1536x2048.6f5b79.png\",\"ipadpro9_1536x2048\":\"/_nuxt/icons/splash_ipadpro9_1536x2048.6f5b79.png\",\"ipadpro10_1668x2224\":\"/_nuxt/icons/splash_ipadpro10_1668x2224.6f5b79.png\",\"ipadpro12_2048x2732\":\"/_nuxt/icons/splash_ipadpro12_2048x2732.6f5b79.png\",\"iphonese_640x1136\":\"/_nuxt/icons/splash_iphonese_640x1136.6f5b79.png\",\"iphone6_50x1334\":\"/_nuxt/icons/splash_iphone6_50x1334.6f5b79.png\",\"iphoneplus_1080x1920\":\"/_nuxt/icons/splash_iphoneplus_1080x1920.6f5b79.png\",\"iphonex_1125x2436\":\"/_nuxt/icons/splash_iphonex_1125x2436.6f5b79.png\",\"iphonexr_828x1792\":\"/_nuxt/icons/splash_iphonexr_828x1792.6f5b79.png\",\"iphonexsmax_1242x2688\":\"/_nuxt/icons/splash_iphonexsmax_1242x2688.6f5b79.png\"}\n  const getIcon = size => icons[size + 'x' + size] || ''\n  inject('icon', getIcon)\n}\n","import slugify from 'slugify'\n\nexport default (_, inject) => {\n\tinject('slugify', slugify)\n}\n","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport Meta from 'vue-meta'\nimport ClientOnly from 'vue-client-only'\nimport NoSsr from 'vue-no-ssr'\nimport { createRouter } from './router.js'\nimport NuxtChild from './components/nuxt-child.js'\nimport NuxtError from '../../../layouts/error.vue'\nimport Nuxt from './components/nuxt.js'\nimport App from './App.js'\nimport { setContext, getLocation, getRouteData, normalizeError } from './utils'\nimport { createStore } from './store.js'\n\n/* Plugins */\n\nimport nuxt_plugin_plugin_32d93d8f from 'nuxt_plugin_plugin_32d93d8f' // Source: ./components/plugin.js (mode: 'all')\nimport nuxt_plugin_plugin_2bef43aa from 'nuxt_plugin_plugin_2bef43aa' // Source: ./matomo/plugin.js (mode: 'client')\nimport nuxt_plugin_vsanitize_14d96733 from 'nuxt_plugin_vsanitize_14d96733' // Source: ./v-sanitize.js (mode: 'all')\nimport nuxt_plugin_cookieuniversalnuxt_68d0bccd from 'nuxt_plugin_cookieuniversalnuxt_68d0bccd' // Source: ./cookie-universal-nuxt.js (mode: 'all')\nimport nuxt_plugin_httpserver_e9bae75c from 'nuxt_plugin_httpserver_e9bae75c' // Source: ./http.server.js (mode: 'server')\nimport nuxt_plugin_http_5c46128b from 'nuxt_plugin_http_5c46128b' // Source: ./http.js (mode: 'all')\nimport nuxt_plugin_dayjsplugin_3c0a6e18 from 'nuxt_plugin_dayjsplugin_3c0a6e18' // Source: ./dayjs-plugin.js (mode: 'all')\nimport nuxt_plugin_pluginutils_8a5a1494 from 'nuxt_plugin_pluginutils_8a5a1494' // Source: ./nuxt-i18n/plugin.utils.js (mode: 'all')\nimport nuxt_plugin_pluginrouting_07eced81 from 'nuxt_plugin_pluginrouting_07eced81' // Source: ./nuxt-i18n/plugin.routing.js (mode: 'all')\nimport nuxt_plugin_pluginmain_7aec54e4 from 'nuxt_plugin_pluginmain_7aec54e4' // Source: ./nuxt-i18n/plugin.main.js (mode: 'all')\nimport nuxt_plugin_toast_3b2f5858 from 'nuxt_plugin_toast_3b2f5858' // Source: ./toast.js (mode: 'client')\nimport nuxt_plugin_workbox_2bb971fe from 'nuxt_plugin_workbox_2bb971fe' // Source: ./workbox.js (mode: 'client')\nimport nuxt_plugin_metaplugin_6789fd14 from 'nuxt_plugin_metaplugin_6789fd14' // Source: ./pwa/meta.plugin.js (mode: 'all')\nimport nuxt_plugin_iconplugin_6c31a288 from 'nuxt_plugin_iconplugin_6c31a288' // Source: ./pwa/icon.plugin.js (mode: 'all')\nimport nuxt_plugin_axios_16380725 from 'nuxt_plugin_axios_16380725' // Source: ./axios.js (mode: 'all')\nimport nuxt_plugin_libplugin307a5233_fe726576 from 'nuxt_plugin_libplugin307a5233_fe726576' // Source: ./lib.plugin.307a5233.js (mode: 'all')\nimport nuxt_plugin_amplify_900d1ace from 'nuxt_plugin_amplify_900d1ace' // Source: ../../../plugins/amplify.js (mode: 'all')\nimport nuxt_plugin_graphcms_3ef315a6 from 'nuxt_plugin_graphcms_3ef315a6' // Source: ../../../plugins/graphcms.js (mode: 'all')\nimport nuxt_plugin_helpers_1c816d70 from 'nuxt_plugin_helpers_1c816d70' // Source: ../../../plugins/helpers.js (mode: 'all')\nimport nuxt_plugin_vueshortkey_7ae76292 from 'nuxt_plugin_vueshortkey_7ae76292' // Source: ../../../plugins/vue-shortkey.js (mode: 'client')\nimport nuxt_plugin_forumApi_7bc36ce8 from 'nuxt_plugin_forumApi_7bc36ce8' // Source: ../../../plugins/forumApi.js (mode: 'all')\nimport nuxt_plugin_index_e21eb744 from 'nuxt_plugin_index_e21eb744' // Source: ../../../plugins/localeResolver/index.js (mode: 'all')\nimport nuxt_plugin_fbApi_0c3792ef from 'nuxt_plugin_fbApi_0c3792ef' // Source: ../../../plugins/fbApi.js (mode: 'all')\nimport nuxt_plugin_auth_28a8ad2a from 'nuxt_plugin_auth_28a8ad2a' // Source: ./auth.js (mode: 'all')\nimport nuxt_plugin_auth_7f7561ce from 'nuxt_plugin_auth_7f7561ce' // Source: ../../../plugins/auth.js (mode: 'all')\n\n// Component: <ClientOnly>\nVue.component(ClientOnly.name, ClientOnly)\n\n// TODO: Remove in Nuxt 3: <NoSsr>\nVue.component(NoSsr.name, {\n  ...NoSsr,\n  render (h, ctx) {\n    if (process.client && !NoSsr._warned) {\n      NoSsr._warned = true\n\n      console.warn('<no-ssr> has been deprecated and will be removed in Nuxt 3, please use <client-only> instead')\n    }\n    return NoSsr.render(h, ctx)\n  }\n})\n\n// Component: <NuxtChild>\nVue.component(NuxtChild.name, NuxtChild)\nVue.component('NChild', NuxtChild)\n\n// Component NuxtLink is imported in server.js or client.js\n\n// Component: <Nuxt>\nVue.component(Nuxt.name, Nuxt)\n\nObject.defineProperty(Vue.prototype, '$nuxt', {\n  get() {\n    const globalNuxt = this.$root.$options.$nuxt\n    if (process.client && !globalNuxt && typeof window !== 'undefined') {\n      return window.$nuxt\n    }\n    return globalNuxt\n  },\n  configurable: true\n})\n\nVue.use(Meta, {\"keyName\":\"head\",\"attribute\":\"data-n-head\",\"ssrAttribute\":\"data-n-head-ssr\",\"tagIDKeyName\":\"hid\"})\n\nconst defaultTransition = {\"name\":\"page\",\"mode\":\"out-in\",\"appear\":true,\"appearClass\":\"appear\",\"appearActiveClass\":\"appear-active\",\"appearToClass\":\"appear-to\"}\n\nconst originalRegisterModule = Vuex.Store.prototype.registerModule\n\nfunction registerModule (path, rawModule, options = {}) {\n  const preserveState = process.client && (\n    Array.isArray(path)\n      ? !!path.reduce((namespacedState, path) => namespacedState && namespacedState[path], this.state)\n      : path in this.state\n  )\n  return originalRegisterModule.call(this, path, rawModule, { preserveState, ...options })\n}\n\nasync function createApp(ssrContext, config = {}) {\n  const router = await createRouter(ssrContext, config)\n\n  const store = createStore(ssrContext)\n  // Add this.$router into store actions/mutations\n  store.$router = router\n\n  // Create Root instance\n\n  // here we inject the router and store to all child components,\n  // making them available everywhere as `this.$router` and `this.$store`.\n  const app = {\n    head: {\"meta\":[{\"hid\":\"charset\",\"charset\":\"utf-8\"},{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"},{\"name\":\"format-detection\",\"content\":\"telephone=no\"},{\"name\":\"author\",\"content\":\"MED-EL\"},{\"hid\":\"og:image\",\"property\":\"og:image\",\"content\":\"https:\\u002F\\u002Fhearpeers.medel.com\\u002Fopen-graph-preview.png\"},{\"hid\":\"description\",\"name\":\"description\",\"content\":\"Become part of our international hearpeers community and find out everything you need to know about cochlear implants and other hearing solutions.\"},{\"hid\":\"og:description\",\"name\":\"og:description\",\"property\":\"og:description\",\"content\":\"Become part of our international hearpeers community and find out everything you need to know about cochlear implants and other hearing solutions.\"}],\"link\":[{\"rel\":\"icon\",\"type\":\"image\\u002Fx-icon\",\"href\":\"\\u002Ffavicon.ico\"},{\"rel\":\"preconnect\",\"href\":\"https:\\u002F\\u002Fapi-eu-central-1.graphcms.com\"},{\"rel\":\"preconnect\",\"href\":\"https:\\u002F\\u002Fauth.login.medel.com\\u002F\"}],\"style\":[],\"script\":[{\"src\":\"https:\\u002F\\u002Fanalytics.explore-life.com\\u002Fmatomo.js\",\"body\":true,\"defer\":true,\"async\":true}]},\n\n    store,\n    router,\n    nuxt: {\n      defaultTransition,\n      transitions: [defaultTransition],\n      setTransitions (transitions) {\n        if (!Array.isArray(transitions)) {\n          transitions = [transitions]\n        }\n        transitions = transitions.map((transition) => {\n          if (!transition) {\n            transition = defaultTransition\n          } else if (typeof transition === 'string') {\n            transition = Object.assign({}, defaultTransition, { name: transition })\n          } else {\n            transition = Object.assign({}, defaultTransition, transition)\n          }\n          return transition\n        })\n        this.$options.nuxt.transitions = transitions\n        return transitions\n      },\n\n      err: null,\n      dateErr: null,\n      error (err) {\n        err = err || null\n        app.context._errored = Boolean(err)\n        err = err ? normalizeError(err) : null\n        let nuxt = app.nuxt // to work with @vue/composition-api, see https://github.com/nuxt/nuxt.js/issues/6517#issuecomment-573280207\n        if (this) {\n          nuxt = this.nuxt || this.$options.nuxt\n        }\n        nuxt.dateErr = Date.now()\n        nuxt.err = err\n        // Used in src/server.js\n        if (ssrContext) {\n          ssrContext.nuxt.error = err\n        }\n        return err\n      }\n    },\n    ...App\n  }\n\n  // Make app available into store via this.app\n  store.app = app\n\n  const next = ssrContext ? ssrContext.next : location => app.router.push(location)\n  // Resolve route\n  let route\n  if (ssrContext) {\n    route = router.resolve(ssrContext.url).route\n  } else {\n    const path = getLocation(router.options.base, router.options.mode)\n    route = router.resolve(path).route\n  }\n\n  // Set context to app.context\n  await setContext(app, {\n    store,\n    route,\n    next,\n    error: app.nuxt.error.bind(app),\n    payload: ssrContext ? ssrContext.payload : undefined,\n    req: ssrContext ? ssrContext.req : undefined,\n    res: ssrContext ? ssrContext.res : undefined,\n    beforeRenderFns: ssrContext ? ssrContext.beforeRenderFns : undefined,\n    ssrContext\n  })\n\n  function inject(key, value) {\n    if (!key) {\n      throw new Error('inject(key, value) has no key provided')\n    }\n    if (value === undefined) {\n      throw new Error(`inject('${key}', value) has no value provided`)\n    }\n\n    key = '$' + key\n    // Add into app\n    app[key] = value\n    // Add into context\n    if (!app.context[key]) {\n      app.context[key] = value\n    }\n\n    // Add into store\n    store[key] = app[key]\n\n    // Check if plugin not already installed\n    const installKey = '__nuxt_' + key + '_installed__'\n    if (Vue[installKey]) {\n      return\n    }\n    Vue[installKey] = true\n    // Call Vue.use() to install the plugin into vm\n    Vue.use(() => {\n      if (!Object.prototype.hasOwnProperty.call(Vue.prototype, key)) {\n        Object.defineProperty(Vue.prototype, key, {\n          get () {\n            return this.$root.$options[key]\n          }\n        })\n      }\n    })\n  }\n\n  // Inject runtime config as $config\n  inject('config', config)\n\n  if (process.client) {\n    // Replace store state before plugins execution\n    if (window.__NUXT__ && window.__NUXT__.state) {\n      store.replaceState(window.__NUXT__.state)\n    }\n  }\n\n  // Add enablePreview(previewData = {}) in context for plugins\n  if (process.static && process.client) {\n    app.context.enablePreview = function (previewData = {}) {\n      app.previewData = Object.assign({}, previewData)\n      inject('preview', previewData)\n    }\n  }\n  // Plugin execution\n\n  if (typeof nuxt_plugin_plugin_32d93d8f === 'function') {\n    await nuxt_plugin_plugin_32d93d8f(app.context, inject)\n  }\n\n  if (process.client && typeof nuxt_plugin_plugin_2bef43aa === 'function') {\n    await nuxt_plugin_plugin_2bef43aa(app.context, inject)\n  }\n\n  if (typeof nuxt_plugin_vsanitize_14d96733 === 'function') {\n    await nuxt_plugin_vsanitize_14d96733(app.context, inject)\n  }\n\n  if (typeof nuxt_plugin_cookieuniversalnuxt_68d0bccd === 'function') {\n    await nuxt_plugin_cookieuniversalnuxt_68d0bccd(app.context, inject)\n  }\n\n  if (process.server && typeof nuxt_plugin_httpserver_e9bae75c === 'function') {\n    await nuxt_plugin_httpserver_e9bae75c(app.context, inject)\n  }\n\n  if (typeof nuxt_plugin_http_5c46128b === 'function') {\n    await nuxt_plugin_http_5c46128b(app.context, inject)\n  }\n\n  if (typeof nuxt_plugin_dayjsplugin_3c0a6e18 === 'function') {\n    await nuxt_plugin_dayjsplugin_3c0a6e18(app.context, inject)\n  }\n\n  if (typeof nuxt_plugin_pluginutils_8a5a1494 === 'function') {\n    await nuxt_plugin_pluginutils_8a5a1494(app.context, inject)\n  }\n\n  if (typeof nuxt_plugin_pluginrouting_07eced81 === 'function') {\n    await nuxt_plugin_pluginrouting_07eced81(app.context, inject)\n  }\n\n  if (typeof nuxt_plugin_pluginmain_7aec54e4 === 'function') {\n    await nuxt_plugin_pluginmain_7aec54e4(app.context, inject)\n  }\n\n  if (process.client && typeof nuxt_plugin_toast_3b2f5858 === 'function') {\n    await nuxt_plugin_toast_3b2f5858(app.context, inject)\n  }\n\n  if (process.client && typeof nuxt_plugin_workbox_2bb971fe === 'function') {\n    await nuxt_plugin_workbox_2bb971fe(app.context, inject)\n  }\n\n  if (typeof nuxt_plugin_metaplugin_6789fd14 === 'function') {\n    await nuxt_plugin_metaplugin_6789fd14(app.context, inject)\n  }\n\n  if (typeof nuxt_plugin_iconplugin_6c31a288 === 'function') {\n    await nuxt_plugin_iconplugin_6c31a288(app.context, inject)\n  }\n\n  if (typeof nuxt_plugin_axios_16380725 === 'function') {\n    await nuxt_plugin_axios_16380725(app.context, inject)\n  }\n\n  if (typeof nuxt_plugin_libplugin307a5233_fe726576 === 'function') {\n    await nuxt_plugin_libplugin307a5233_fe726576(app.context, inject)\n  }\n\n  if (typeof nuxt_plugin_amplify_900d1ace === 'function') {\n    await nuxt_plugin_amplify_900d1ace(app.context, inject)\n  }\n\n  if (typeof nuxt_plugin_graphcms_3ef315a6 === 'function') {\n    await nuxt_plugin_graphcms_3ef315a6(app.context, inject)\n  }\n\n  if (typeof nuxt_plugin_helpers_1c816d70 === 'function') {\n    await nuxt_plugin_helpers_1c816d70(app.context, inject)\n  }\n\n  if (process.client && typeof nuxt_plugin_vueshortkey_7ae76292 === 'function') {\n    await nuxt_plugin_vueshortkey_7ae76292(app.context, inject)\n  }\n\n  if (typeof nuxt_plugin_forumApi_7bc36ce8 === 'function') {\n    await nuxt_plugin_forumApi_7bc36ce8(app.context, inject)\n  }\n\n  if (typeof nuxt_plugin_index_e21eb744 === 'function') {\n    await nuxt_plugin_index_e21eb744(app.context, inject)\n  }\n\n  if (typeof nuxt_plugin_fbApi_0c3792ef === 'function') {\n    await nuxt_plugin_fbApi_0c3792ef(app.context, inject)\n  }\n\n  if (typeof nuxt_plugin_auth_28a8ad2a === 'function') {\n    await nuxt_plugin_auth_28a8ad2a(app.context, inject)\n  }\n\n  if (typeof nuxt_plugin_auth_7f7561ce === 'function') {\n    await nuxt_plugin_auth_7f7561ce(app.context, inject)\n  }\n\n  // Lock enablePreview in context\n  if (process.static && process.client) {\n    app.context.enablePreview = function () {\n      console.warn('You cannot call enablePreview() outside a plugin.')\n    }\n  }\n\n  // Wait for async component to be resolved first\n  await new Promise((resolve, reject) => {\n    // Ignore 404s rather than blindly replacing URL in browser\n    if (process.client) {\n      const { route } = router.resolve(app.context.route.fullPath)\n      if (!route.matched.length) {\n        return resolve()\n      }\n    }\n    router.replace(app.context.route.fullPath, resolve, (err) => {\n      // https://github.com/vuejs/vue-router/blob/v3.4.3/src/util/errors.js\n      if (!err._isRouter) return reject(err)\n      if (err.type !== 2 /* NavigationFailureType.redirected */) return resolve()\n\n      // navigated to a different route in router guard\n      const unregister = router.afterEach(async (to, from) => {\n        if (process.server && ssrContext && ssrContext.url) {\n          ssrContext.url = to.fullPath\n        }\n        app.context.route = await getRouteData(to)\n        app.context.params = to.params || {}\n        app.context.query = to.query || {}\n        unregister()\n        resolve()\n      })\n    })\n  })\n\n  return {\n    store,\n    app,\n    router\n  }\n}\n\nexport { createApp, NuxtError }\n","const middleware = {}\n\nmiddleware['track-page-view'] = require('../../../middleware/track-page-view.js')\nmiddleware['track-page-view'] = middleware['track-page-view'].default || middleware['track-page-view']\n\nexport default middleware\n","import Vue from 'vue'\nimport { hasFetch, normalizeError, addLifecycleHook, createGetCounter } from '../utils'\n\nconst isSsrHydration = (vm) => vm.$vnode && vm.$vnode.elm && vm.$vnode.elm.dataset && vm.$vnode.elm.dataset.fetchKey\nconst nuxtState = window.__NUXT__\n\nexport default {\n  beforeCreate () {\n    if (!hasFetch(this)) {\n      return\n    }\n\n    this._fetchDelay = typeof this.$options.fetchDelay === 'number' ? this.$options.fetchDelay : 200\n\n    Vue.util.defineReactive(this, '$fetchState', {\n      pending: false,\n      error: null,\n      timestamp: Date.now()\n    })\n\n    this.$fetch = $fetch.bind(this)\n    addLifecycleHook(this, 'created', created)\n    addLifecycleHook(this, 'beforeMount', beforeMount)\n  }\n}\n\nfunction beforeMount() {\n  if (!this._hydrated) {\n    return this.$fetch()\n  }\n}\n\nfunction created() {\n  if (!isSsrHydration(this)) {\n    return\n  }\n\n  // Hydrate component\n  this._hydrated = true\n  this._fetchKey = this.$vnode.elm.dataset.fetchKey\n  const data = nuxtState.fetch[this._fetchKey]\n\n  // If fetch error\n  if (data && data._error) {\n    this.$fetchState.error = data._error\n    return\n  }\n\n  // Merge data\n  for (const key in data) {\n    Vue.set(this.$data, key, data[key])\n  }\n}\n\nfunction $fetch() {\n  if (!this._fetchPromise) {\n    this._fetchPromise = $_fetch.call(this)\n      .then(() => { delete this._fetchPromise })\n  }\n  return this._fetchPromise\n}\n\nasync function $_fetch() {\n  this.$nuxt.nbFetching++\n  this.$fetchState.pending = true\n  this.$fetchState.error = null\n  this._hydrated = false\n  let error = null\n  const startTime = Date.now()\n\n  try {\n    await this.$options.fetch.call(this)\n  } catch (err) {\n    if (process.dev) {\n      console.error('Error in fetch():', err)\n    }\n    error = normalizeError(err)\n  }\n\n  const delayLeft = this._fetchDelay - (Date.now() - startTime)\n  if (delayLeft > 0) {\n    await new Promise(resolve => setTimeout(resolve, delayLeft))\n  }\n\n  this.$fetchState.error = error\n  this.$fetchState.pending = false\n  this.$fetchState.timestamp = Date.now()\n\n  this.$nextTick(() => this.$nuxt.nbFetching--)\n}\n"],"sourceRoot":""}