{"version":3,"sources":["webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/length-of-array-like.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/try-to-string.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/core-js/internals/make-built-in.js","webpack:///./node_modules/core-js/internals/is-callable.js","webpack:///./node_modules/core-js/internals/has-own-property.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/core-js/internals/function-apply.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/core-js/internals/object-is-prototype-of.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/const.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/index.js","webpack:///./node_modules/core-js/internals/function-bind-native.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/@intlify/message-compiler/dist/message-compiler.esm-bundler.js","webpack:///./node_modules/@intlify/devtools-if/dist/devtools-if.esm-bundler.js","webpack:///./node_modules/@intlify/core-base/dist/core-base.esm-bundler.js","webpack:///./node_modules/@intlify/vue-devtools/dist/vue-devtools.esm-bundler.js","webpack:///./node_modules/vue-i18n/dist/vue-i18n.esm-bundler.js","webpack:///./node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/ssr-window/ssr-window.esm.js","webpack:///./node_modules/dom7/dom7.esm.js","webpack:///./node_modules/swiper/shared/dom.js","webpack:///./node_modules/swiper/shared/utils.js","webpack:///./node_modules/swiper/shared/get-support.js","webpack:///./node_modules/swiper/shared/get-device.js","webpack:///./node_modules/swiper/shared/get-browser.js","webpack:///./node_modules/swiper/core/modules/resize/resize.js","webpack:///./node_modules/swiper/core/modules/observer/observer.js","webpack:///./node_modules/swiper/core/events-emitter.js","webpack:///./node_modules/swiper/core/update/updateSize.js","webpack:///./node_modules/swiper/core/update/updateSlides.js","webpack:///./node_modules/swiper/core/update/updateAutoHeight.js","webpack:///./node_modules/swiper/core/update/updateSlidesOffset.js","webpack:///./node_modules/swiper/core/update/updateSlidesProgress.js","webpack:///./node_modules/swiper/core/update/updateProgress.js","webpack:///./node_modules/swiper/core/update/updateSlidesClasses.js","webpack:///./node_modules/swiper/core/update/updateActiveIndex.js","webpack:///./node_modules/swiper/core/update/updateClickedSlide.js","webpack:///./node_modules/swiper/core/update/index.js","webpack:///./node_modules/swiper/core/translate/getTranslate.js","webpack:///./node_modules/swiper/core/translate/setTranslate.js","webpack:///./node_modules/swiper/core/translate/minTranslate.js","webpack:///./node_modules/swiper/core/translate/maxTranslate.js","webpack:///./node_modules/swiper/core/translate/translateTo.js","webpack:///./node_modules/swiper/core/translate/index.js","webpack:///./node_modules/swiper/core/transition/setTransition.js","webpack:///./node_modules/swiper/core/transition/transitionEmit.js","webpack:///./node_modules/swiper/core/transition/transitionStart.js","webpack:///./node_modules/swiper/core/transition/transitionEnd.js","webpack:///./node_modules/swiper/core/transition/index.js","webpack:///./node_modules/swiper/core/slide/slideTo.js","webpack:///./node_modules/swiper/core/slide/slideToLoop.js","webpack:///./node_modules/swiper/core/slide/slideNext.js","webpack:///./node_modules/swiper/core/slide/slidePrev.js","webpack:///./node_modules/swiper/core/slide/slideReset.js","webpack:///./node_modules/swiper/core/slide/slideToClosest.js","webpack:///./node_modules/swiper/core/slide/slideToClickedSlide.js","webpack:///./node_modules/swiper/core/slide/index.js","webpack:///./node_modules/swiper/core/loop/loopCreate.js","webpack:///./node_modules/swiper/core/loop/loopFix.js","webpack:///./node_modules/swiper/core/loop/loopDestroy.js","webpack:///./node_modules/swiper/core/loop/index.js","webpack:///./node_modules/swiper/core/grab-cursor/setGrabCursor.js","webpack:///./node_modules/swiper/core/grab-cursor/unsetGrabCursor.js","webpack:///./node_modules/swiper/core/grab-cursor/index.js","webpack:///./node_modules/swiper/core/events/onTouchStart.js","webpack:///./node_modules/swiper/core/events/onTouchMove.js","webpack:///./node_modules/swiper/core/events/onTouchEnd.js","webpack:///./node_modules/swiper/core/events/onResize.js","webpack:///./node_modules/swiper/core/events/onClick.js","webpack:///./node_modules/swiper/core/events/onScroll.js","webpack:///./node_modules/swiper/core/events/index.js","webpack:///./node_modules/swiper/core/breakpoints/setBreakpoint.js","webpack:///./node_modules/swiper/core/breakpoints/getBreakpoint.js","webpack:///./node_modules/swiper/core/breakpoints/index.js","webpack:///./node_modules/swiper/core/classes/addClasses.js","webpack:///./node_modules/swiper/core/classes/removeClasses.js","webpack:///./node_modules/swiper/core/classes/index.js","webpack:///./node_modules/swiper/core/images/loadImage.js","webpack:///./node_modules/swiper/core/images/preloadImages.js","webpack:///./node_modules/swiper/core/images/index.js","webpack:///./node_modules/swiper/core/check-overflow/index.js","webpack:///./node_modules/swiper/core/defaults.js","webpack:///./node_modules/swiper/core/moduleExtendParams.js","webpack:///./node_modules/swiper/core/core.js","webpack:///./node_modules/swiper/shared/create-element-if-not-defined.js","webpack:///./node_modules/swiper/shared/classes-to-selector.js","webpack:///./node_modules/swiper/modules/pagination/pagination.js","webpack:///./node_modules/swiper/modules/autoplay/autoplay.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/time.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/to-string.js","webpack:///./node_modules/core-js/internals/to-integer-or-infinity.js","webpack:///./node_modules/core-js/internals/a-callable.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/function-name.js","webpack:///./node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./node_modules/core-js/internals/define-global-property.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack:///./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack:///./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack:///./node_modules/vue/dist/vue.runtime.esm-bundler.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/swiper/components-shared/utils.js","webpack:///./node_modules/swiper/components-shared/params-list.js","webpack:///./node_modules/swiper/components-shared/get-params.js","webpack:///./node_modules/swiper/components-shared/mount-swiper.js","webpack:///./node_modules/swiper/vue/loop.js","webpack:///./node_modules/swiper/components-shared/get-changed-params.js","webpack:///./node_modules/swiper/vue/get-children.js","webpack:///./node_modules/swiper/components-shared/update-swiper.js","webpack:///./node_modules/swiper/vue/virtual.js","webpack:///./node_modules/swiper/components-shared/update-on-virtual-data.js","webpack:///./node_modules/swiper/vue/swiper.js","webpack:///./node_modules/swiper/vue/swiper-slide.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/axios/lib/helpers/validator.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/@sentry/utils/esm/time.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack:///./node_modules/core-js/internals/to-property-key.js","webpack:///./node_modules/@sentry/utils/esm/stacktrace.js","webpack:///./node_modules/core-js/internals/install-error-cause.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/env.js","webpack:///./node_modules/core-js/internals/proxy-accessor.js","webpack:///./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack:///./node_modules/clipboard/dist/clipboard.js","webpack:///./node_modules/core-js/internals/math-trunc.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/internals/error-stack-installable.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/@sentry/utils/esm/browser.js","webpack:///./node_modules/pinia/dist/pinia.mjs","webpack:///./node_modules/@sentry/utils/esm/memo.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/core-js/internals/function-call.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/internals/clear-error-stack.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/modules/es.array.includes.js","webpack:///./node_modules/core-js/internals/define-built-in.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js","webpack:///./node_modules/core-js/internals/is-symbol.js","webpack:///./node_modules/core-js/modules/es.error.cause.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/@sentry/core/esm/integrations/functiontostring.js","webpack:///./node_modules/@sentry/utils/esm/syncpromise.js","webpack:///./node_modules/@sentry/hub/esm/scope.js","webpack:///./node_modules/@sentry/types/esm/session.js","webpack:///./node_modules/@sentry/hub/esm/session.js","webpack:///./node_modules/@sentry/hub/esm/hub.js","webpack:///./node_modules/@sentry/core/esm/integrations/inboundfilters.js","webpack:///./node_modules/@sentry/core/esm/sdk.js","webpack:///./node_modules/@sentry/utils/esm/polyfill.js","webpack:///./node_modules/@sentry/utils/esm/error.js","webpack:///./node_modules/@sentry/utils/esm/dsn.js","webpack:///./node_modules/@sentry/core/esm/integration.js","webpack:///./node_modules/@sentry/core/esm/baseclient.js","webpack:///./node_modules/@sentry/types/esm/status.js","webpack:///./node_modules/@sentry/core/esm/transports/noop.js","webpack:///./node_modules/@sentry/types/esm/severity.js","webpack:///./node_modules/@sentry/core/esm/basebackend.js","webpack:///./node_modules/@sentry/utils/esm/supports.js","webpack:///./node_modules/@sentry/browser/esm/tracekit.js","webpack:///./node_modules/@sentry/browser/esm/parsers.js","webpack:///./node_modules/@sentry/browser/esm/eventbuilder.js","webpack:///./node_modules/@sentry/core/esm/request.js","webpack:///./node_modules/@sentry/core/esm/api.js","webpack:///./node_modules/@sentry/utils/esm/promisebuffer.js","webpack:///./node_modules/@sentry/browser/esm/transports/base.js","webpack:///./node_modules/@sentry/browser/esm/transports/fetch.js","webpack:///./node_modules/@sentry/browser/esm/transports/xhr.js","webpack:///./node_modules/@sentry/browser/esm/backend.js","webpack:///./node_modules/@sentry/minimal/esm/index.js","webpack:///./node_modules/@sentry/browser/esm/helpers.js","webpack:///./node_modules/@sentry/utils/esm/instrument.js","webpack:///./node_modules/@sentry/browser/esm/integrations/breadcrumbs.js","webpack:///./node_modules/@sentry/browser/esm/version.js","webpack:///./node_modules/@sentry/browser/esm/client.js","webpack:///./node_modules/@sentry/browser/esm/integrations/trycatch.js","webpack:///./node_modules/@sentry/browser/esm/integrations/globalhandlers.js","webpack:///./node_modules/@sentry/browser/esm/integrations/linkederrors.js","webpack:///./node_modules/@sentry/browser/esm/integrations/useragent.js","webpack:///./node_modules/@sentry/browser/esm/sdk.js","webpack:///./node_modules/core-js/internals/get-method.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/core-js/internals/function-uncurry-this.js","webpack:///./node_modules/core-js/internals/normalize-string-argument.js","webpack:///./node_modules/@sentry/utils/esm/path.js","webpack:///./node_modules/@sentry/integrations/esm/vue.js","webpack:///./node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/@sentry/utils/esm/object.js","webpack:///./node_modules/@sentry/utils/esm/logger.js","webpack:///./node_modules/@sentry/utils/esm/is.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/@sentry/utils/esm/misc.js","webpack:///./node_modules/@sentry/utils/esm/node.js","webpack:///./node_modules/@intlify/shared/dist/shared.esm-bundler.js","webpack:///./node_modules/vue-demi/lib/index.cjs","webpack:///./node_modules/@sentry/utils/esm/string.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js"],"names":["wellKnownSymbol","TO_STRING_TAG","test","module","exports","String","DESCRIPTORS","call","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPropertyKey","hasOwn","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","Object","getOwnPropertyDescriptor","f","O","P","error","toLength","obj","length","utils","buildURL","InterceptorManager","dispatchRequest","mergeConfig","validator","validators","Axios","instanceConfig","this","defaults","interceptors","request","response","prototype","config","arguments","url","method","toLowerCase","transitional","undefined","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","clarifyTimeoutError","requestInterceptorChain","synchronousRequestInterceptors","forEach","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","promise","responseInterceptorChain","push","chain","Array","apply","concat","Promise","resolve","then","shift","newConfig","onFulfilled","onRejected","reject","getUri","params","paramsSerializer","replace","data","fails","createElement","defineProperty","get","a","$String","argument","callback","arr","isCallable","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","inspectSource","InternalStateModule","enforceInternalState","enforce","getInternalState","CONFIGURABLE_LENGTH","value","TEMPLATE","split","makeBuiltIn","name","options","slice","getter","setter","configurable","arity","constructor","writable","state","source","join","Function","toString","uncurryThis","toObject","hasOwnProperty","it","key","getBuiltIn","fn","thisArg","args","i","$TypeError","TypeError","toIntegerOrInfinity","max","Math","min","index","integer","global","createNonEnumerableProperty","defineBuiltIn","defineGlobalProperty","copyConstructorProperties","isForced","FORCED","target","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","sham","internalObjectKeys","enumBugKeys","hiddenKeys","getOwnPropertyNames","normalizeHeaderName","enhanceError","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","isUndefined","getDefaultAdapter","adapter","XMLHttpRequest","process","stringifySafely","rawValue","parser","encoder","isString","JSON","parse","trim","e","stringify","transformRequest","isFormData","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","transformResponse","strictJSONParsing","responseType","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","status","common","merge","NATIVE_BIND","FunctionPrototype","Reflect","bind","match","version","userAgent","Deno","versions","v8","message","code","Error","__CANCEL__","encode","val","encodeURIComponent","serializedParams","parts","isArray","v","isDate","toISOString","hashmarkIndex","indexOf","V8_PROTOTYPE_DEFINE_BUG","definePropertyModule","anObject","objectKeys","defineProperties","Properties","props","keys","isAxiosError","toJSON","description","number","fileName","lineNumber","columnNumber","stack","isStandardBrowserEnv","originURL","msie","navigator","urlParsingNode","document","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","parsed","isPrototypeOf","HOOK_SETUP","HOOK_PLUGIN_SETTINGS_SET","plugin","hook","targetQueue","onQueue","defaultSettings","settings","id","item","defaultValue","localSettingsSaveId","currentSettings","assign","raw","localStorage","getItem","fallbacks","setItem","on","pluginId","setSettings","proxiedOn","Proxy","_target","prop","proxiedTarget","includes","setupDevtoolsPlugin","pluginDescriptor","setupFn","enableProxy","enableEarlyProxy","__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__","proxy","list","__VUE_DEVTOOLS_PLUGINS__","emit","nextTick","setTimeout","platform","arch","execPath","title","pid","browser","env","argv","binding","path","cwd","chdir","dir","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","classof","$Object","propertyIsEnumerable","create","UNSCOPABLES","ArrayPrototype","createError","CompileErrorCodes","EXPECTED_TOKEN","INVALID_TOKEN_IN_PLACEHOLDER","UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER","UNKNOWN_ESCAPE_SEQUENCE","INVALID_UNICODE_ESCAPE_SEQUENCE","UNBALANCED_CLOSING_BRACE","UNTERMINATED_CLOSING_BRACE","EMPTY_PLACEHOLDER","NOT_ALLOW_NEST_PLACEHOLDER","INVALID_LINKED_FORMAT","MUST_HAVE_MESSAGES_IN_PLURAL","UNEXPECTED_EMPTY_LINKED_MODIFIER","UNEXPECTED_EMPTY_LINKED_KEY","UNEXPECTED_LEXICAL_ANALYSIS","__EXTEND_POINT__","createCompileError","loc","domain","messages","msg","SyntaxError","defaultOnError","createPosition","line","column","offset","createLocation","start","end","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","fromCharCode","CHAR_PS","createScanner","str","_buf","_index","_line","_column","_peekOffset","isCRLF","isLF","isPS","isLS","isLineEnd","peekOffset","currentChar","currentPeek","next","peek","reset","resetPeek","skipToPeek","EOF","LITERAL_DELIMITER","ERROR_DOMAIN$1","createTokenizer","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","currentType","startLoc","endLoc","lastType","lastOffset","lastStartLoc","lastEndLoc","braceNest","inLinked","text","context","onError","emitError","pos","ctx","err","getToken","type","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","charCodeAt","isNumberStart","isNamedIdentifierStart","ret","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","isPluralStart","detectModuloStart","spaces","isModulo","hasSpace","isTextStart","prev","detectModulo","takeChar","takeIdentifierChar","closure","takeDigit","takeHexDigit","getDigits","num","readModulo","readText","readNamedIdentifier","readListIdentifier","readLiteral","literal","x","readEscapeSequence","current","readUnicodeEscapeSequence","unicode","digits","sequence","readInvalidIdentifier","identifiers","readLinkedModifier","readLinkedRefer","detect","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","nextToken","ERROR_DOMAIN","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","parseInt","fromCodePoint","createParser","tokenzer","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","parseLiteral","parseLinkedModifier","nextConsumeToken","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","modifier","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","items","endOffset","parsePlural","msgNode","hasEmptyMessage","cases","parseResource","body","createTransformer","ast","helpers","Set","helper","add","traverseNodes","nodes","transformer","traverseNode","linked","transform","from","createCodeGenerator","sourceMap","filename","breakLineCode","needIndent","_needIndent","map","indentLevel","_newline","n","withBreakLine","_breakLineCode","repeat","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","generateNode","generateMessageNode","generatePluralNode","generateResource","generate","mode","s","baseCompile","assignedOptions","IntlifyDevToolsHooks","I18nInit","FunctionTranslate","pathStateMachine","literalValueRE","isLiteral","exp","stripQuotes","b","getPathCharType","formatSubPath","trimmed","isNaN","c","newChar","transition","action","typeMap","subPathDepth","actions","maybeUnescapeQuote","nextChar","cache","Map","resolveWithKeyValue","hit","set","len","last","DEFAULT_MODIFIER","DEFAULT_MESSAGE","DEFAULT_MESSAGE_DATA_TYPE","DEFAULT_NORMALIZE","values","DEFAULT_INTERPOLATE","pluralDefault","choice","choicesLength","abs","getPluralIndex","pluralIndex","named","count","normalizeNamed","createMessageContext","locale","pluralRule","pluralRules","orgPluralRule","_list","_named","parent","_modifier","modifiers","normalize","processor","interpolate","arg1","arg2","devtools","setDevToolsHook","initI18nDevTools","i18n","meta","timestamp","Date","now","translateDevTools","createDevToolsHook","payloads","CoreWarnCodes","NOT_FOUND_KEY","FALLBACK_TO_TRANSLATE","CANNOT_FORMAT_NUMBER","FALLBACK_TO_NUMBER_FORMAT","CANNOT_FORMAT_DATE","FALLBACK_TO_DATE_FORMAT","fallbackWithSimple","fallback","fallbackWithLocaleChain","startLocale","DEFAULT_LOCALE","__localeChainCache","block","appendBlockToChain","blocks","follow","appendLocaleToChain","tokens","appendItemToChain","splice","VERSION","NOT_REOSLVED","MISSING_RESOLVE_VALUE","capitalize","toLocaleUpperCase","substr","getDefaultLinkedModifiers","upper","toUpperCase","children","lower","_compiler","_resolver","_fallbacker","registerMessageCompiler","compiler","registerMessageResolver","resolver","registerLocaleFallbacker","fallbacker","_additionalMeta","setAdditionalMeta","getAdditionalMeta","_fallbackContext","setFallbackContext","getFallbackContext","_cid","createCoreContext","fallbackLocale","datetimeFormats","numberFormats","missing","missingWarn","fallbackWarn","fallbackFormat","unresolving","postTranslation","warnHtmlMessage","escapeParameter","messageCompiler","messageResolver","localeFallbacker","fallbackContext","onWarn","internalOptions","__datetimeFormatters","__numberFormatters","__meta","cid","__INTLIFY_PROD_DEVTOOLS__","handleMissing","updateFallbackLocale","defaultOnCacheKey","compileCache","compileToFunction","onCacheKey","cached","occurred","inc","CoreErrorCodes","INVALID_ARGUMENT","INVALID_DATE_ARGUMENT","INVALID_ISO_DATE_ARGUMENT","createCoreError","NOOP_MESSAGE_FUNCTION","isMessageFunction","translate","parseTranslateArgs","resolvedMessage","defaultMsgOrKey","default","enableDefaultMsg","escapeParams","formatScope","targetLocale","resolveMessageFormat","format","cacheBaseKey","errorDetector","compileMessageFormat","ctxOptions","getMessageContextOptions","msgContext","messaged","evaluateMessage","resolveValue","locales","to","missingRet","getCompileOptions","msgCtx","arg3","resolveMessage","intlDefined","Intl","DateTimeFormat","NumberFormat","datetime","overrides","parseDateTimeArgs","part","datetimeFormat","formatter","formatToParts","DATETIME_FORMAT_OPTIONS_KEYS","arg4","matches","dateTime","startsWith","getTime","clearDateTimeFormat","has","delete","parseNumberArgs","numberFormat","NUMBER_FORMAT_OPTIONS_KEYS","clearNumberFormat","initFeatureFlags","needWarn","__VUE_I18N_FULL_INSTALL__","__VUE_I18N_LEGACY_API__","code$1","inc$1","I18nWarnCodes","FALLBACK_TO_ROOT","NOT_SUPPORTED_PRESERVE","NOT_SUPPORTED_FORMATTER","NOT_SUPPORTED_PRESERVE_DIRECTIVE","NOT_SUPPORTED_GET_CHOICE_INDEX","COMPONENT_NAME_LEGACY_COMPATIBLE","NOT_FOUND_PARENT_SCOPE","I18nErrorCodes","UNEXPECTED_RETURN_TYPE","MUST_BE_CALL_SETUP_TOP","NOT_INSLALLED","NOT_AVAILABLE_IN_LEGACY_MODE","REQUIRED_VALUE","INVALID_VALUE","CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN","NOT_INSLALLED_WITH_PROVIDE","UNEXPECTED_ERROR","NOT_COMPATIBLE_LEGACY_VUE_I18N","BRIDGE_SUPPORT_VUE_2_ONLY","MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION","NOT_AVAILABLE_COMPOSITION_IN_LEGACY","createI18nError","TransrateVNodeSymbol","DatetimePartsSymbol","NumberPartsSymbol","SetPluralRulesSymbol","InejctWithOption","handleFlatJson","subKeys","lastIndex","currentObj","getLocaleMessages","__i18n","flatJson","custom","resource","deepCopy","isNotObjectOrIsArray","src","des","getComponentOptions","instance","adjustI18nResources","componentOptions","__i18nGlobal","mergeLocaleMessage","mergeDateTimeFormat","mergeNumberFormat","createTextNode","DEVTOOLS_META","composerID","defineCoreMissingHandler","getMetaInfo","createComposer","VueI18nLegacy","__root","_isGlobal","_inheritLocale","inheritLocale","_locale","_fallbackLocale","_messages","_datetimeFormats","_numberFormats","_missingWarn","_fallbackWarn","_fallbackRoot","fallbackRoot","_fallbackFormat","_missing","_runtimeMissing","_postTranslation","_warnHtmlMessage","_escapeParameter","_modifiers","_pluralRules","getCoreContext","framework","trackReactivityValues","getPostTranslationHandler","setPostTranslationHandler","handler","getMissingHandler","setMissingHandler","wrapWithDeps","argumentParser","warnType","fallbackSuccess","fallbackFail","successCondition","t","root","rt","d","transrateVNode","numberParts","datetimeParts","setPluralRules","rules","te","getLocaleMessage","resolveMessages","targetLocaleMessages","messageValue","tm","setLocaleMessage","getDateTimeFormat","setDateTimeFormat","getNumberFormat","setNumberFormat","composer","sort","__injectWithOption","convertComposerOptions","silentTranslationWarn","silentFallbackWarn","formatFallbackMessages","pluralizationRules","warnHtmlInMessage","escapeParameterHtml","sync","sharedMessages","reduce","createVueI18n","vueI18n","availableLocales","__composer","componentInstanceCreatedListener","baseFormatProps","tag","scope","getInterpolateArg","slots","slot","arg","getFragmentableTag","Translation","keypath","required","Number","attrs","useI18n","useScope","__useComponent","filter","assignedAttrs","isVNode","renderFormatter","slotKeys","partFormatter","DatetimeFormat","getComposer$2","i18nInternal","__getInstance","vTDirective","$","NODE_ENV","preserve","parsedValue","parseValue","makeParams","register","el","textContent","__i18nWatcher","$forceUpdate","unregister","update","created","unmounted","beforeUpdate","getSSRProps","app","pluginOptions","useI18nComponentName","globalInstall","component","directive","defineMixin","vuei18n","$options","optionsI18n","$root","$i18n","mergeToRoot","__onComponentInstanceCreated","__setInstance","$t","$rt","$tc","tc","$te","$d","$n","$tm","__deleteInstance","I18nInjectionKey","createI18n","__legacyMode","legacy","__globalInjection","globalInjection","__allowComposition","allowComposition","__instances","globalScope","__global","createGlobal","symbol","__VUE_I18N_SYMBOL__","provide","injectGlobalFields","mixin","unmountApp","unmount","dispose","stop","isCE","appContext","getI18nInstance","getGlobalComposer","getScope","useI18nForLegacy","getComposer","composerOptions","setupLifeCycle","legacyMode","run","useComponent","isLocale","_composer","warpWithDeps","wrapper","isGlobal","globalExportProps","globalExportMethods","desc","wrap","globalProperties","__INTLIFY__","__INTLIFY_DEVTOOLS_GLOBAL_HOOK__","input","pref","valueOf","V8_VERSION","getOwnPropertySymbols","Symbol","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","isPlainObject","mergeDeepProperties","axiosKeys","otherKeys","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","fromIndex","extend","ssrDocument","activeElement","nodeName","childNodes","style","origin","getDocument","doc","ssrWindow","history","CustomEvent","screen","clearTimeout","getWindow","win","makeReactive","proto","__proto__","Dom7","super","arrayFlat","res","arrayFilter","arrayUnique","uniqueArray","qsa","selector","querySelectorAll","html","toCreate","tempParent","innerHTML","nodeType","addClass","classes","classNames","classList","removeClass","remove","toggleClass","className","toggle","hasClass","contains","attr","getAttribute","attrName","removeAttr","removeAttribute","duration","transitionDuration","eventType","targetSelector","listener","capture","handleLiveEvent","eventData","dom7EventData","is","parents","k","handleEvent","events","j","event","dom7LiveListeners","proxyListener","addEventListener","dom7Listeners","off","handlers","dom7proxy","removeEventListener","trigger","evt","detail","bubbles","cancelable","dataIndex","dispatchEvent","transitionEnd","dom","fireCallBack","includeMargins","styles","offsetWidth","parseFloat","getPropertyValue","offsetHeight","box","getBoundingClientRect","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","getComputedStyle","css","each","result","compareWith","webkitMatchesSelector","msMatchesSelector","child","previousSibling","eq","returnIndex","append","els","newChild","tempDiv","firstChild","appendChild","prepend","insertBefore","nextElementSibling","nextAll","nextEls","previousElementSibling","prevAll","prevEls","parentNode","closest","find","foundElements","found","removeChild","noTrigger","shortcut","eventHandler","Methods","outerWidth","outerHeight","methodName","deleteProps","object","delay","currentStyle","getTranslate","axis","matrix","curTransform","transformMatrix","curStyle","WebKitCSSMatrix","webkitTransform","MozTransform","OTransform","MsTransform","msTransform","m41","m42","o","isNode","HTMLElement","noExtend","nextSource","keysArray","nextIndex","nextKey","enumerable","__swiper__","setCSSProperty","varName","varValue","setProperty","animateCSSModeScroll","_ref","swiper","targetPosition","side","startPosition","time","startTime","speed","wrapperEl","scrollSnapType","cancelAnimationFrame","cssModeFrameID","isOutOfBound","animate","progress","easeProgress","cos","PI","scrollTo","overflow","requestAnimationFrame","deviceCached","calcSupport","smoothScroll","documentElement","touch","DocumentTouch","passiveListener","supportsPassive","opts","gestures","getSupport","calcDevice","_temp","support","ua","device","ios","android","screenWidth","width","screenHeight","height","ipad","ipod","iphone","windows","macos","iPadScreens","os","getDevice","calcBrowser","isSafari","isWebView","getBrowser","Resize","observer","animationFrame","resizeHandler","destroyed","initialized","createObserver","ResizeObserver","entries","newWidth","newHeight","_ref2","contentBoxSize","contentRect","inlineSize","blockSize","observe","removeObserver","unobserve","orientationChangeHandler","resizeObserver","Observer","extendParams","observers","attach","ObserverFunc","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","attributes","childList","characterData","init","observeParents","containerParents","$el","observeSlideChildren","$wrapperEl","destroy","disconnect","priority","self","eventsListeners","onceHandler","__emitterProxy","_len","_key","eventsAnyListeners","_len2","_key2","eventsArray","clientWidth","clientHeight","isHorizontal","isVertical","size","updateSlides","getDirectionLabel","property","getDirectionPropertyValue","label","swiperSize","rtlTranslate","rtl","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slides","slideClass","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","virtualSize","marginLeft","marginBottom","marginTop","marginRight","centeredSlides","cssMode","gridEnabled","grid","rows","slideSize","initSlides","shouldResetSlideSize","slidesPerView","breakpoints","slide","updateSlide","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","floor","swiperSlideSize","slidesPerGroup","slidesPerGroupSkip","effect","setWrapperSize","updateWrapperSize","newSlidesGrid","slidesGridItem","_","slideIndex","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","watchOverflow","checkOverflow","watchSlidesProgress","updateSlidesOffset","backFaceHiddenClass","containerModifierClass","hasClassBackfaceClassAdded","maxBackfaceHiddenSlides","updateAutoHeight","activeSlides","setTransition","getSlideByIndex","visibleSlides","ceil","activeIndex","swiperSlideOffset","offsetLeft","offsetTop","updateSlidesProgress","offsetCenter","slideVisibleClass","visibleSlidesIndexes","slideOffset","slideProgress","minTranslate","originalSlideProgress","slideBefore","slideAfter","isVisible","originalProgress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","wasBeginning","wasEnd","autoHeight","updateSlidesClasses","realIndex","activeSlide","slideActiveClass","slideNextClass","slidePrevClass","slideDuplicateActiveClass","slideDuplicateNextClass","slideDuplicatePrevClass","loop","slideDuplicateClass","nextSlide","prevSlide","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","normalizeSlideIndex","skip","runCallbacksOnInit","updateClickedSlide","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","updateSize","getSwiperTranslate","virtualTranslate","currentTranslate","byController","y","z","newProgress","previousTranslate","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","isH","behavior","setTranslate","onTranslateToWrapperTransitionEnd","transitionEmit","direction","step","transitionStart","slideTo","initial","indexAsNumber","isValidNumber","isFinite","initialSlide","normalizedTranslate","normalizedGrid","normalizedGridNext","allowSlideNext","allowSlidePrev","_immediateVirtual","_swiperImmediateVirtual","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","loopedSlides","slideNext","perGroup","slidesPerGroupAuto","slidesPerViewDynamic","increment","loopPreventsSlide","loopFix","_clientLeft","rewind","slidePrev","normalizedSnapGrid","prevSnap","prevSnapIndex","prevIndex","slideReset","slideToClosest","threshold","currentSnap","nextSnap","slideToIndex","loopCreate","$selector","loopFillGroupWithBlank","blankSlidesNum","blankNode","slideBlankClass","loopAdditionalSlides","loopedSlidesLimit","prependSlides","appendSlides","cloneNode","snapTranslate","diff","slideChanged","loopDestroy","setGrabCursor","moving","simulateTouch","isLocked","touchEventsTarget","cursor","unsetGrabCursor","closestElement","base","__closestFrom","assignedSlot","getRootNode","touchEventsData","touches","originalEvent","$targetEl","isTouchEvent","which","button","isTouched","isMoved","swipingClassHasValue","noSwipingClass","shadowRoot","noSwipingSelector","isTargetShadow","noSwiping","allowClick","swipeHandler","currentX","targetTouches","pageX","currentY","pageY","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","innerWidth","preventDefault","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","blur","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","onTouchStart","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","diffX","diffY","sqrt","touchAngle","atan2","touchMoveStopPropagation","nested","stopPropagation","startTranslate","allowMomentumBounce","grabCursor","touchRatio","disableParentSwiper","resistanceRatio","resistance","followFinger","onTouchMove","touchEndTime","timeDiff","pathTree","composedPath","lastClickTime","currentPos","onTouchEnd","stopIndex","groupSize","rewindFirstIndex","rewindLastIndex","ratio","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","isNavButtonTarget","navigation","nextEl","prevEl","onResize","setBreakpoint","autoplay","running","paused","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","dummyEventAttached","dummyEventListener","touchEvents","domMethod","swiperMethod","passiveListeners","passive","move","cancel","onClick","updateOnWindowResize","attachEvents","detachEvents","isGridEnabled","breakpoint","getBreakpoint","breakpointsBase","currentBreakpoint","breakpointOnlyParams","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasEnabled","emitContainerClasses","fill","wasModuleEnabled","isModuleEnabled","disable","enable","directionChanged","needsReLoop","changeDirection","isEnabled","containerEl","currentHeight","innerHeight","points","point","minRatio","matchMedia","prepareClasses","prefix","resultClasses","addClasses","suffixes","removeClasses","loadImage","imageEl","srcset","sizes","checkForComplete","image","onReady","isPicture","complete","Image","onload","onerror","preloadImages","imagesLoaded","imagesToLoad","updateOnImagesReady","currentSrc","wasLocked","lastSlideIndex","lastSlideRightEdge","createElements","uniqueNavElements","wrapperClass","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","auto","prototypes","eventsEmitter","images","extendedDefaults","swipers","newParams","modules","__modules__","mod","once","swiperParams","passedParams","eventName","onAny","velocity","desktop","touchEventsTouch","touchEventsDesktop","clickTimeout","velocities","cls","slideEl","updates","getSlideClasses","view","exact","spv","breakLoop","slideInView","translateValue","translated","newDirection","needUpdate","currentDirection","mounted","getWrapperSelector","getWrapper","querySelector","mount","deleteInstance","cleanStyles","newDefaults","m","installModule","prototypeGroup","protoMethod","use","createElementIfNotDefined","checkProps","element","classesToSelector","Pagination","pfx","bulletSize","pagination","bulletElement","clickable","hideOnClick","renderBullet","renderProgressbar","renderFraction","renderCustom","progressbarOpposite","dynamicBullets","dynamicMainBullets","formatFractionCurrent","formatFractionTotal","bulletClass","bulletActiveClass","modifierClass","currentClass","totalClass","hiddenClass","progressbarFillClass","progressbarOppositeClass","clickableClass","lockClass","horizontalClass","verticalClass","paginationDisabledClass","bullets","dynamicBulletIndex","isPaginationDisabled","setSideBullets","$bulletEl","position","total","paginationType","firstIndex","midIndex","suffix","bullet","$bullet","bulletIndex","$firstDisplayedBullet","$lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","offsetProp","progressbarDirection","scale","scaleX","scaleY","render","paginationHTML","numberOfBullets","_s","targetEl","isHidden","Autoplay","$activeSlideEl","autoplayResult","reverseDirection","stopOnLastSlide","pause","waitForTransition","onTransitionEnd","onVisibilityChange","visibilityState","onMouseEnter","disableOnInteraction","onMouseLeave","attachMouseEvents","pauseOnMouseEnter","detachMouseEvents","supported","perf","isPerformanceSupported","_a","performance","perf_hooks","transformData","isCancel","throwIfCancellationRequested","cancelToken","throwIfRequested","reason","IS_PURE","store","copyright","license","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","trunc","tryToString","bitmap","getDescriptor","EXISTS","PROPER","payload","NATIVE_WEAK_MAP","shared","sharedKey","OBJECT_ALREADY_INITIALIZED","WeakMap","getterFor","TYPE","wmget","wmhas","wmset","metadata","facade","STATE","setPrototypeOf","dummy","Wrapper","NewTarget","NewTargetPrototype","activeEffectScope","EffectScope","detached","active","effects","cleanups","scopes","currentEffectScope","fromParent","l","pop","effectScope","recordEffectScope","getCurrentScope","onScopeDispose","createDep","dep","w","wasTracked","trackOpBit","newTracked","initDepMarkers","deps","finalizeDepMarkers","ptr","targetMap","effectTrackDepth","maxMarkerBits","activeEffect","ITERATE_KEY","MAP_KEY_ITERATE_KEY","ReactiveEffect","scheduler","lastShouldTrack","shouldTrack","cleanupEffect","deferStop","onStop","_effect","lazy","runner","trackStack","pauseTracking","resetTracking","track","depsMap","eventInfo","trackEffects","debuggerEventExtraInfo","newValue","oldValue","oldTarget","triggerEffects","computed","triggerEffect","allowRecurse","isNonTrackableKeys","builtInSymbols","createGetter","shallowGet","readonlyGet","shallowReadonlyGet","arrayInstrumentations","createArrayInstrumentations","instrumentations","toRaw","isReadonly","shallow","receiver","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","targetIsArray","isRef","readonly","reactive","createSetter","shallowSet","hadKey","deleteProperty","ownKeys","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","shallowReadonlyHandlers","toShallow","getProto","getPrototypeOf","get$1","isShallow","rawTarget","rawKey","toReadonly","toReactive","has$1","set$1","deleteEntry","clear","hadItems","createForEach","observed","createIterableMethod","targetIsMap","isPair","iterator","isKeyOnly","innerIterator","done","createReadonlyMethod","createInstrumentations","mutableInstrumentations","shallowInstrumentations","readonlyInstrumentations","shallowReadonlyInstrumentations","iteratorMethods","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","shallowReadonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","isExtensible","createReactiveObject","shallowReactive","shallowReadonly","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","isReactive","isProxy","markRaw","trackRefValue","ref","triggerRefValue","newVal","r","__v_isRef","createRef","shallowRef","__v_isShallow","_rawValue","_value","triggerRef","unref","shallowUnwrapHandlers","proxyRefs","objectWithRefs","CustomRefImpl","factory","_get","_set","customRef","toRefs","toRef","ObjectRefImpl","_object","_defaultValue","ComputedRefImpl","_setter","isSSR","_dirty","_cacheable","getterOrOptions","debugOptions","onlyGetter","cRef","appWarnHandler","warnHandler","trace","getComponentTrace","callWithErrorHandling","vnode","formatComponentName","warnArgs","formatTrace","console","warn","currentVNode","normalizedStack","recurseCount","parentInstance","logs","entry","formatTraceEntry","postfix","isRoot","open","close","formatProps","formatProp","handleError","callWithAsyncErrorHandling","catch","throwInDev","contextVNode","cur","exposedInstance","errorInfo","errorCapturedHooks","ec","appErrorHandler","errorHandler","logError","isFlushing","isFlushPending","flushIndex","pendingPreFlushCbs","activePreFlushCbs","preFlushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","currentPreFlushParentJob","p","findInsertionIndex","middle","middleJobId","getId","queueJob","job","queueFlush","flushJobs","invalidateJob","queueCb","cb","activeQueue","pendingQueue","queuePreFlushCb","queuePostFlushCb","flushPreFlushCbs","seen","parentJob","flushPostFlushCbs","deduped","Infinity","devtoolsNotInstalled","setDevtoolsHook","_b","replay","__VUE_DEVTOOLS_HOOK_REPLAY__","newHook","emit$1","rawArgs","isUnmounted","isModelListener","modelArg","modifiersKey","handlerName","emitted","normalizeEmitsOptions","comp","asMixin","emitsCache","emits","normalized","hasExtends","extendEmits","normalizedFromExtend","mixins","extends","isEmitListener","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","__scopeId","pushScopeId","popScopeId","withScopeId","_id","withCtx","isNonScopedSlot","_n","renderFnWithContext","_d","setBlockTracking","prevInstance","_c","renderComponentRoot","Component","withProxy","propsOptions","renderCache","setupState","inheritAttrs","fallthroughAttrs","shapeFlag","proxyToUse","normalizeVNode","getFunctionalFallthrough","blockStack","createVNode","Comment","some","filterModelListeners","cloneVNode","dirs","filterSingleRoot","singleRoot","shouldUpdateComponent","prevVNode","nextVNode","optimized","prevProps","prevChildren","nextProps","nextChildren","patchFlag","emitsOptions","$stable","hasPropsChanged","dynamicProps","nextKeys","updateHOCHostEl","subTree","isSuspense","__isSuspense","SuspenseImpl","n1","n2","container","anchor","parentComponent","parentSuspense","isSVG","slotScopeIds","rendererInternals","mountSuspense","patchSuspense","hydrate","hydrateSuspense","createSuspenseBoundary","normalizeSuspenseChildren","Suspense","triggerEvent","eventListener","patch","hiddenContainer","suspense","pendingBranch","ssContent","ssFallback","setActiveBranch","um","newBranch","newFallback","activeBranch","isInFallback","isHydrating","isSameVNodeType","pendingId","resume","delayEnter","afterLeave","hasUnresolvedAncestor","fallbackVNode","mountFallback","setupRenderEffect","isInPendingSuspense","hydratedEl","asyncDep","asyncSetupResult","suspenseId","asyncResolved","handleSetupResult","placeholder","doRemove","hydrateNode","isSlotChildren","normalizeSuspenseSlot","trackBlock","isBlockTreeEnabled","openBlock","currentBlock","closeBlock","singleChild","dynamicChildren","queueEffectWithSuspense","branch","currentInstance","provides","parentProvides","inject","treatDefaultAsFactory","watchEffect","doWatch","watchPostEffect","flush","watchSyncEffect","INITIAL_WATCHER_VALUE","watch","immediate","deep","onTrack","onTrigger","cleanup","forceTrigger","isMultiSource","traverse","onCleanup","baseGetter","isInSSRComponentSetup","queuePostRenderEffect","instanceWatch","publicThis","createPathGetter","setCurrentInstance","unsetCurrentInstance","segments","useTransitionState","isMounted","isLeaving","isUnmounting","leavingVNodes","onMounted","onBeforeUnmount","TransitionHookValidator","BaseTransitionImpl","appear","Boolean","persisted","onBeforeEnter","onEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","getCurrentInstance","prevTransitionKey","getTransitionRawChildren","hasFound","rawProps","emptyPlaceholder","innerChild","getKeepAliveChild","enterHooks","resolveTransitionHooks","setTransitionHooks","oldChild","oldInnerChild","transitionKeyChanged","getTransitionKey","leavingHooks","delayLeave","earlyRemove","delayedLeave","leavingVNodesCache","getLeavingNodesForType","_leaveCb","BaseTransition","callHook","callAsyncHook","every","hooks","leavingVNode","afterHook","cancelHook","called","_enterCb","cancelled","isKeepAlive","clone","keepComment","parentKey","keyedFragmentCount","Fragment","defineComponent","setup","isAsyncWrapper","__asyncLoader","defineAsyncComponent","loader","loadingComponent","errorComponent","suspensible","userOnError","resolvedComp","pendingRequest","retries","retry","load","thisRequest","userRetry","userFail","__esModule","toStringTag","createInnerComp","loaded","delayed","__isKeepAlive","KeepAliveImpl","include","RegExp","exclude","sharedContext","renderer","_unmount","storageContainer","resetShapeFlag","pruneCache","getComponentName","pruneCacheEntry","activate","isDeactivated","vnodeHook","onVnodeMounted","invokeVNodeHook","deactivate","da","onVnodeUnmounted","pendingCacheKey","cacheSubtree","getInnerChild","onUpdated","rawVNode","__asyncResolved","cachedVNode","KeepAlive","pattern","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","__wdc","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","__weh","createHook","lifecycle","onBeforeMount","onBeforeUpdate","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","withDirectives","directives","internalInstance","getExposeProxy","bindings","updated","invokeDirectiveHook","oldBindings","COMPONENTS","DIRECTIVES","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","resolveDynamicComponent","resolveDirective","warnMissing","selfName","registry","renderList","renderItem","createSlots","dynamicSlots","renderSlot","noSlotted","validSlotContent","ensureValidVNode","rendered","createBlock","scopeId","vnodes","toHandlers","getPublicInstance","isStatefulComponent","publicPropertiesMap","$data","$props","$attrs","$slots","$refs","refs","$parent","$emit","resolveMergedOptions","$nextTick","$watch","PublicInstanceProxyHandlers","accessCache","normalizedProps","shouldCacheAccess","publicGetter","cssModule","__cssModules","RuntimeCompiledPublicInstanceProxyHandlers","unscopables","applyOptions","beforeCreate","dataOptions","computedOptions","methods","watchOptions","provideOptions","injectOptions","beforeMount","activated","deactivated","beforeDestroy","beforeUnmount","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","components","filters","checkDuplicateProperties","resolveInjections","unwrapInjectedRef","methodHandler","opt","createWatcher","registerLifecycleHook","_hook","exposed","unwrapRef","normalizeInject","h","extendsOptions","globalMixins","optionsCache","optionMergeStrategies","resolved","mergeOptions","strats","strat","internalOptionMergeStrats","mergeDataFn","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","initProps","isStateful","InternalObjectKey","propsDefaults","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","kebabKey","resolvePropValue","propsToUpdate","camelizedKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","normalizePropsOptions","propsCache","extendProps","normalizedKey","validatePropName","booleanIndex","getTypeIndex","stringIndex","getType","ctor","isSameType","expectedTypes","findIndex","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","_ctx","normalizeVNodeSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","createAppContext","isNativeTag","compilerOptions","uid","createAppAPI","rootComponent","rootProps","installedPlugins","_uid","_component","_props","_container","_instance","install","rootContainer","isHydrate","__vue_app__","setRef","rawRef","oldRawRef","isUnmount","refValue","owner","oldRef","_isString","_isRef","doSet","existing","hasMismatch","isSVGContainer","namespaceURI","tagName","isComment","createHydrationFunctions","mt","mountComponent","patchProp","createText","nextSibling","insert","createComment","hasChildNodes","_vnode","isFragmentStart","onMismatch","handleMismatch","domType","nextNode","Text","Static","needToAdoptContent","staticCount","outerHTML","hydrateFragment","hydrateElement","locateClosingAsyncAnchor","lastChild","createTextVNode","hydrateChildren","forcePatchValue","endsWith","vnodeHooks","onVnodeBeforeMount","parentVNode","fragmentSlotScopeIds","isFragment","createRenderer","baseCreateRenderer","createHydrationRenderer","createHydrationFns","__VUE__","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","setText","hostSetText","setElementText","hostSetElementText","hostParentNode","hostNextSibling","setScopeId","hostSetScopeId","hostCloneNode","insertStaticContent","hostInsertStaticContent","getNextHostNode","processText","processCommentNode","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","removeStaticNode","mountElement","patchElement","mountChildren","unmountChildren","needCallTransitionHooks","beforeEnter","enter","cloneIfMounted","oldProps","newProps","toggleRecurse","onVnodeBeforeUpdate","areChildrenSVG","patchBlockChildren","patchChildren","patchProps","class","onVnodeUpdated","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","traverseStaticChildren","updateComponent","initialVNode","createComponentInstance","setupComponent","registerDep","updateComponentPreRender","componentUpdateFn","bu","u","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","hydrateSubTree","scopedInitialVNode","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","newLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","increasingNewIndexSequence","getSequence","moveType","needTransition","leave","performLeave","shouldInvokeDirs","shouldInvokeVnodeHook","onVnodeBeforeUnmount","unmountComponent","removeFragment","performRemove","bum","mc","pc","pbc","createApp","allowed","ch1","ch2","arrI","isTeleport","__isTeleport","isTeleportDisabled","disabled","isTargetSVG","SVGElement","resolveTarget","select","TeleportImpl","mainAnchor","targetAnchor","wasDisabled","currentContainer","currentAnchor","moveTeleport","nextTarget","hydrateTeleport","isReorder","targetNode","_lpa","Teleport","disableTracking","vnodeArgsTransformer","setupBlock","createElementBlock","createBaseVNode","__v_isVNode","transformVNodeArgs","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","__v_skip","normalizeChildren","_createVNode","cloned","isClassComponent","__vccOpts","guardReactiveProps","klass","extraProps","mergeRef","mergedProps","mergeProps","flag","createStaticVNode","content","numberOfNodes","createCommentVNode","asBlock","memo","slotFlag","toMerge","incoming","emptyAppContext","uid$1","exposeProxy","setupContext","bc","rtg","rtc","sp","ce","compile","installWithProxy","setupResult","setupStatefulComponent","createSetupContext","resolvedResult","finishComponentSetup","__ssrInlineRender","ssrRender","registerRuntimeCompiler","_compile","_rc","isRuntimeOnly","skipOptions","template","isCustomElement","delimiters","componentCompilerOptions","finalCompilerOptions","createAttrsProxy","classifyRE","classify","includeInferred","displayName","__name","__file","inferFromRegistry","defineProps","defineEmits","defineExpose","withDefaults","useSlots","getContext","useAttrs","mergeDefaults","createPropsRestProxy","excludedKeys","withAsyncContext","getAwaitable","awaitable","propsOrChildren","ssrContextKey","useSSRContext","initCustomFormatter","withMemo","isMemoSame","_ssrUtils","ssrUtils","resolveFilter","compatUtils","svgNS","templateContainer","nodeOps","createElementNS","multiple","nodeValue","before","patchClass","transitionClasses","_vtc","patchStyle","isCssString","setStyle","currentDisplay","display","cssText","importantRE","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","removeAttributeNS","setAttributeNS","isBoolean","patchDOMProp","needRemove","_getNow","skipTimestampCheck","createEvent","timeStamp","ffMatch","cachedNow","getNow","patchEvent","prevValue","nextValue","invokers","_vei","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","initialValue","attached","patchStopImmediatePropagation","originalStop","_stopped","nativeOnRE","shouldSetAsProp","_trueValue","_falseValue","defineCustomElement","Comp","VueCustomElement","initialProps","def","defineSSRCustomElement","BaseClass","_def","_connected","_resolved","_numberProps","attachShadow","_resolveDef","_setAttr","attributeName","hasOptions","rawKeys","numberProps","_setProp","_getProp","_applyStyles","_update","asyncDef","shouldReflect","shouldUpdate","useCssModule","useCssVars","setVars","setVarsOnVNode","ob","vars","setVarsOnNode","TRANSITION","ANIMATION","Transition","resolveTransitionProps","DOMTransitionPropsValidators","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","TransitionPropsValidators","hasExplicitCallback","baseProps","durations","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","removeTransitionClass","finishLeave","_isLeaving","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","forceReflow","NumberOf","endId","expectedType","explicitTimeout","_endId","resolveIfNotStale","propCount","getTransitionInfo","endEvent","ended","onEnd","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","toMs","positionMap","newPositionMap","TransitionGroupImpl","moveClass","hasCSSTransform","callPendingCbs","recordPosition","movedChildren","applyTranslation","_moveCb","propertyName","cssTransitionProps","TransitionGroup","oldPos","newPos","dx","dy","getModelAssigner","onCompositionStart","composing","onCompositionEnd","Event","vModelText","_assign","castToNumber","domValue","vModelCheckbox","modelValue","_modelValue","elementValue","getValue","checked","filtered","getCheckboxValue","setChecked","vModelRadio","vModelSelect","isSetModel","selectedVal","selected","setSelected","_binding","isMultiple","option","optionValue","selectedIndex","vModelDynamic","callModelHook","resolveDynamicModel","modelToUse","initVModelForSSR","systemModifiers","modifierGuards","prevent","currentTarget","ctrl","ctrlKey","shiftKey","alt","altKey","metaKey","right","withModifiers","guard","keyNames","esc","space","up","down","withKeys","eventKey","vShow","_vod","setDisplay","initVShowForSSR","rendererOptions","enabledHydration","ensureRenderer","ensureHydrationRenderer","containerOrSelector","normalizeContainer","Element","createSSRApp","ssrDirectiveInitialized","initDirectivesForSSR","Cancel","write","expires","secure","cookie","isNumber","toGMTString","read","decodeURIComponent","requireObjectCoercible","activeXDocument","definePropertiesModule","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","NullProtoObjectViaActiveX","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","contentWindow","F","NullProtoObject","ActiveXObject","needsNavigation","needsPagination","needsScrollbar","scrollbar","uniqueClasses","unique","paramsList","getParams","splitEvents","rest","allowedParams","plainObj","mountSwiper","paginationEl","scrollbarEl","calcLoopedSlides","slidesPerViewParams","renderLoop","swiperRef","modifiedSlides","duplicateSlide","blankSlide","getChangedParams","oldParams","getKey","addKey","oldChildrenKeys","childrenKeys","watchParams","newKeys","oldKeys","newKey","oldKey","getChildren","originalSlots","slidesRef","oldSlidesRef","getSlidesFromElements","slotName","updateSwiper","changedParams","updateParams","currentParams","thumbs","needThumbsInit","needControllerInit","needPaginationInit","needScrollbarInit","needNavigationInit","controller","control","destroyModule","renderVirtual","virtualData","updateOnVirtualData","parallax","Swiper","wrapperTag","a11y","coverflowEffect","cubeEffect","fadeEffect","flipEffect","creativeEffect","cardsEffect","hashNavigation","keyboard","mousewheel","zoom","Tag","WrapperTag","containerClasses","breakpointChanged","initializedRef","swiperElRef","oldPassedParamsRef","nextElRef","prevElRef","paginationElRef","scrollbarElRef","onBeforeBreakpoint","_beforeBreakpoint","extendWith","renderExternal","renderExternalUpdate","renderSlides","newPassedParams","SwiperSlide","virtualIndex","eventAttached","slideElRef","slideClasses","updateClasses","slideData","isActive","isDuplicate","isPrev","isNext","isAbsoluteURL","combineURLs","baseURL","requestedURL","pkg","thing","deprecatedWarnings","currentVerArr","isOlderVersion","thanVersion","pkgVersionArr","destVer","schema","allowUnknown","isDeprecated","formatMessage","functionToString","CancelToken","executor","resolvePromise","random","dateTimestampSource","nowSeconds","getBrowserPerformance","timeOrigin","getNodePerformance","perfHooks","platformPerformance","timestampSource","dateTimestampInSeconds","timestampInSeconds","timestampWithMs","timing","navigationStart","replacement","feature","detection","POLYFILL","NATIVE","string","extendStatics","__extends","__","__assign","__rest","__values","__read","ar","__spread","$defineProperty","ENUMERABLE","WRITABLE","Attributes","makeMap","expectsLowerCase","GLOBALS_WHITE_LISTED","isGloballyWhitelisted","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","normalizeStyle","parseStringStyle","listDelimiterRE","propertyDelimiterRE","tmp","normalizeClass","normalizeProps","HTML_TAGS","SVG_TAGS","isHTMLTag","isSVGTag","looseCompareArrays","equal","looseEqual","aValidType","bValidType","isSymbol","aKeysCount","bKeysCount","aHasKey","bHasKey","looseIndexOf","toDisplayString","objectToString","isFunction","replacer","isMap","isSet","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","onRE","isOn","toTypeString","isPromise","toRawType","isIntegerKey","isReservedProp","isBuiltInDirective","cacheStringFunction","camelizeRE","camelize","hyphenateRE","hyphenate","toHandlerKey","hasChanged","invokeArrayFns","fns","toNumber","_globalThis","getGlobalThis","globalThis","toPrimitive","defaultFunctionName","getFunctionName","cause","getDevtoolsGlobalHook","getTarget","__VUE_DEVTOOLS_GLOBAL_HOOK__","isProxyAvailable","Target","Source","__webpack_modules__","686","__unused_webpack_module","__webpack_exports__","__webpack_require__","clipboard","tiny_emitter","tiny_emitter_default","listen","listen_default","src_select","select_default","command","execCommand","ClipboardActionCut","selectedText","actions_cut","createFakeElement","isRTL","fakeElement","fontSize","border","padding","margin","yPosition","pageYOffset","fakeCopyAction","ClipboardActionCopy","HTMLInputElement","actions_copy","_typeof","ClipboardActionDefault","_options$action","hasAttribute","actions_default","clipboard_typeof","_classCallCheck","Constructor","_defineProperties","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","getAttributeValue","attribute","Clipboard","_Emitter","_super","_this","resolveOptions","listenClick","defaultAction","defaultTarget","defaultText","_this2","delegateTarget","clearSelection","focus","getSelection","removeAllRanges","queryCommandSupported","828","DOCUMENT_NODE_TYPE","matchesSelector","mozMatchesSelector","oMatchesSelector","438","__unused_webpack_exports","_delegate","useCapture","listenerFn","delegate","elements","879","nodeList","370","listenNode","listenNodeList","listenSelector","817","isReadOnly","setSelectionRange","selection","range","createRange","selectNodeContents","addRange","279","E","evtArr","evts","liveEvents","TinyEmitter","__webpack_module_cache__","moduleId","definition","settle","cookies","buildFullPath","parseHeaders","isURLSameOrigin","requestData","requestHeaders","auth","username","password","unescape","Authorization","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","onreadystatechange","readyState","responseURL","onabort","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","setRequestHeader","onDownloadProgress","onUploadProgress","upload","abort","send","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","htmlTreeAsString","elem","currentElem","MAX_TRAVERSE_HEIGHT","MAX_OUTPUT_LEN","out","separator","sepLength","nextStr","_htmlElementAsString","reverse","_oO","allowedAttrs","activePinia","setActivePinia","pinia","piniaSymbol","MutationType","IS_CLIENT","_global","bom","blob","autoBom","Blob","download","xhr","saveAs","corsEnabled","click","MouseEvent","initMouseEvent","_navigator","isMacOSWebView","HTMLAnchorElement","downloadSaveAs","msSaveAs","fileSaverSaveAs","rel","URL","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","popup","innerText","force","isChromeIOS","FileReader","reader","readAsDataURL","createPinia","_p","toBeInstalled","$pinia","_e","noop","addSubscription","subscriptions","removeSubscription","idx","triggerSubscriptions","mergeReactiveObjects","patchToApply","subPatch","targetValue","skipHydrateSymbol","skipHydrateMap","shouldHydrate","isComputed","createOptionsStore","hot","getters","initialState","localState","computedGetters","_r","createSetupStore","$reset","newState","$patch","$state","$id","isOptionsStore","optionsForPlugin","$subscribeOptions","isListening","isSyncListening","debuggerEvents","actionSubscriptions","activeListener","partialStateOrMutator","subscriptionMutation","patchFunction","storeId","patchObject","myListenerId","$dispose","wrapAction","afterCallbackList","onErrorCallbackList","after","partialStore","$onAction","stopWatcher","direct","setupStore","actionValue","extender","defineStore","idOrOptions","setupOptions","isSetupStore","useStore","storeToRefs","Memo","_hasWeakSet","WeakSet","_inner","memoize","unmemoize","getMethod","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","ignoreDuplicateOf","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","assignValue","stripBOM","stringSlice","SHARED","$Error","TEST","V8_OR_CHAKRA_STACK_ENTRY","IS_V8_OR_CHAKRA_STACK","dropEntries","prepareStackTrace","normalizedName","g","names","$includes","addToUnscopables","BROKEN_ON_SPARSE","simple","unsafe","nonConfigurable","nonWritable","createInstance","defaultConfig","axios","all","promises","spread","exec","aFunction","namespace","$propertyIsEnumerable","NASHORN_BUG","1","V","aPossiblePrototype","CORRECT_SETTER","sfc","$Symbol","wrapErrorConstructorWithCause","WEB_ASSEMBLY","WebAssembly","exportGlobalErrorCauseWrapper","ERROR_NAME","exportWebAssemblyErrorCauseWrapper","check","originalFunctionToString","States","FunctionToString","setupOnce","_i","__sentry_original__","SyncPromise","_state","PENDING","_handlers","_resolve","_setResult","RESOLVED","_reject","REJECTED","_executeHandlers","_attachHandler","cachedHandlers","onfulfilled","onrejected","collection","counter","resolvedCollection","finally","onfinally","isRejected","Scope","_notifyingListeners","_scopeListeners","_eventProcessors","_breadcrumbs","_user","_tags","_extra","_contexts","newScope","_level","_span","_session","_transactionName","_fingerprint","addScopeListener","addEventProcessor","setUser","user","_notifyScopeListeners","getUser","setTags","tags","setTag","setExtras","extras","setExtra","extra","setFingerprint","fingerprint","setLevel","setTransactionName","setTransaction","setContext","setSpan","span","getSpan","getTransaction","transaction","spanRecorder","spans","setSession","session","getSession","captureContext","updatedScope","contexts","addBreadcrumb","breadcrumb","maxBreadcrumbs","mergedBreadcrumb","clearBreadcrumbs","applyToEvent","hint","getTraceContext","transactionName","_applyFingerprint","breadcrumbs","_notifyEventProcessors","getGlobalEventProcessors","processors","final","__SENTRY__","globalEventProcessors","addGlobalEventProcessor","SessionStatus","Session","errors","sid","started","Ok","ip_address","ipAddress","did","email","release","environment","Exited","user_agent","API_VERSION","DEFAULT_BREADCRUMBS","MAX_BREADCRUMBS","Hub","client","_version","_stack","getStackTop","bindClient","isOlderThan","setupIntegrations","pushScope","getStack","getClient","popScope","withScope","captureException","exception","eventId","_lastEventId","finalHint","syntheticException","originalException","_invokeClient","event_id","captureMessage","captureEvent","lastEventId","getOptions","beforeBreadcrumb","finalBreadcrumb","configureScope","oldHub","makeMain","getIntegration","integration","logger","startSpan","_callExtensionMethod","startTransaction","customSamplingContext","traceHeaders","startSession","endSession","captureSession","carrier","getMainCarrier","sentry","extensions","hub","getHubFromCarrier","setHubOnCarrier","getCurrentHub","hasHubOnCarrier","getHubFromActiveDomain","getActiveDomain","activeDomain","registryHubTopStack","_Oo","DEFAULT_IGNORE_ERRORS","InboundFilters","_options","clientOptions","_mergeOptions","_shouldDropEvent","_isSentryError","_isIgnoredError","_isDeniedUrl","_getEventFilterUrl","_isAllowedUrl","ignoreInternal","ignoreErrors","_getPossibleEventMessages","denyUrls","allowUrls","whitelistUrls","blacklistUrls","oO","stacktrace","frames_1","frames","frames_2","initAndBind","clientClass","debug","setProtoOf","mixinProperties","SentryError","_newTarget","DSN_REGEX","ERROR_MESSAGE","Dsn","_fromString","_fromComponents","_validate","withPassword","pass","projectId","lastPath","projectMatch","installedIntegrations","getIntegrationsToSetup","defaultIntegrations","userIntegrations","integrations","userIntegrationsNames_1","pickedIntegrationsNames_1","defaultIntegration","userIntegration","integrationsNames","alwaysLastToRun","setupIntegration","log","Status","BaseClient","backendClass","_integrations","_processing","_backend","dsn","_dsn","_process","_getBackend","eventFromException","_captureEvent","promisedEvent","eventFromMessage","_sendSession","getDsn","_isClientProcessing","ready","getTransport","transportFlushed","_isEnabled","_updateSessionFromEvent","e_1","crashed","errored","exceptions","exceptions_1","exceptions_1_1","ex","mechanism","handled","e_1_1","return","Crashed","sendSession","ticked","tick","interval","setInterval","clearInterval","_prepareEvent","normalizeDepth","prepared","_applyClientOptions","_applyIntegrationsMetadata","finalScope","_normalizeEvent","depth","dist","maxValueLength","sdkInfo","sdk","integrationsArray","_sendEvent","sendEvent","_processEvent","finalEvent","beforeSend","sampleRate","isTransaction","isInternalException","__sentry__","beforeSendResult","processedEvent","fromHttpCode","Success","RateLimit","Invalid","Failed","Unknown","Severity","NoopTransport","Skipped","BaseBackend","_transport","_setupTransport","_exception","_hint","_message","supportsFetch","Headers","Request","Response","isNativeFetch","func","supportsNativeFetch","fetch","sandbox","hidden","head","supportsReferrerPolicy","referrerPolicy","supportsHistory","chrome","isChromePackagedApp","runtime","hasHistoryApi","pushState","replaceState","fromString","Debug","Info","Warning","Fatal","Critical","Log","UNKNOWN_FUNCTION","gecko","winjs","geckoEval","chromeEval","reactMinifiedRegexp","computeStackTrace","popSize","framesToPop","computeStackTraceFromStacktraceProp","popFrames","computeStackTraceFromStackProp","extractMessage","failed","isEval","submatch","lines","isNative","opera10Regex","opera11Regex","STACKTRACE_LIMIT","exceptionFromStacktrace","prepareFramesForEvent","eventFromPlainObject","rejection","__serialized__","eventFromStacktrace","localStack","firstFrameFunction","lastFrameFunction","frame","colno","function","in_app","lineno","eventFromUnknownInput","attachStacktrace","eventFromString","errorEvent","domException","name_1","objectException","synthetic","sessionToSentryRequest","api","envelopeHeaders","sent_at","itemHeaders","getEnvelopeEndpointWithUrlEncodedAuth","eventToSentryRequest","samplingMethod","__sentry_samplingMethod","__sentry_sampleRate","otherTags","useEnvelope","req","getStoreEndpointWithUrlEncodedAuth","sample_rates","rate","envelope","SENTRY_API_VERSION","API","_dsnObject","getBaseApiEndpoint","getStoreEndpoint","_getIngestEndpoint","_encodedAuth","_getEnvelopeEndpoint","getStoreEndpointPath","getRequestHeaders","clientName","clientVersion","header","getReportDialogEndpoint","dialogOptions","endpoint","encodedOptions","sentry_key","sentry_version","PromiseBuffer","_limit","_buffer","isReady","task","removedTask","drain","capturedSetTimeout","BaseTransport","_rateLimits","_api","_handleResponse","requestType","limited","_handleRateLimit","_disabledUntil","category","_isRateLimited","e_2","rlHeader","raHeader","limit","parameters","headerDelay","_f","e_2_1","FetchTransport","_sendRequest","sentryRequest","originalPayload","fetchParameters","XHRTransport","getResponseHeader","BrowserBackend","transportOptions","transport","callOnHub","ignoreOnError","shouldIgnoreOnError","ignoreNextOnError","__sentry_wrapped__","sentryWrapped","wrappedArguments","injectReportDialog","script","async","onLoad","lastHref","instrumented","instrument","instrumentConsole","instrumentDOM","instrumentXHR","instrumentFetch","instrumentHistory","instrumentError","instrumentUnhandledRejection","addInstrumentationHandler","triggerHandlers","originalConsoleLevel","originalFetch","handlerData","fetchData","getFetchMethod","getFetchUrl","startTimestamp","endTimestamp","fetchArgs","requestKeys","requestValues","xhrproto","originalOpen","__sentry_xhr__","__sentry_own_request__","onreadystatechangeHandler","status_code","requestPos","args_1","original","readyStateArgs","originalSend","oldOnPopState","onpopstate","historyReplacementFunction","originalHistoryFunction","domEventHandler","keypressEventHandler","innerOriginal","keypressTimeout","lastCapturedEvent","debounceDuration","debounceTimer","debounce","_oldOnErrorHandler","_oldOnUnhandledRejectionHandler","onunhandledrejection","Breadcrumbs","addSentryBreadcrumb","_consoleBreadcrumb","_domBreadcrumb","_xhrBreadcrumb","_fetchBreadcrumb","_historyBreadcrumb","parsedLoc","parsedFrom","parsedTo","relative","SDK_NAME","SDK_VERSION","BrowserClient","showReportDialog","packages","DEFAULT_EVENT_TARGET","TryCatch","eventTarget","_wrapTimeFunction","_wrapRAF","_wrapXHR","_wrapEventTarget","originalCallback","originalRemoveEventListener","wrappedEventHandler","originalEventHandler","xmlHttpRequestProps","wrapOptions","GlobalHandlers","_onErrorHandlerInstalled","_onUnhandledRejectionHandlerInstalled","stackTraceLimit","_installGlobalOnErrorHandler","_installGlobalOnUnhandledRejectionHandler","currentHub","hasIntegration","isFailedOwnDelivery","_eventFromIncompleteOnError","_enhanceEventWithInitialFrame","_eventFromRejectionWithPrimitive","ERROR_TYPES_RE","groups","DEFAULT_KEY","DEFAULT_LIMIT","LinkedErrors","_handler","linkedErrors","_walkErrorTree","UserAgent","referrer","Referer","window_1","SENTRY_RELEASE","autoSessionTracking","startSessionTracking","loadResolved","fcpResolved","possiblyEndSession","resolveWindowLoaded","po","PerformanceObserver","entryList","getEntries","firstHiddenTime_1","buffered","aCallable","originalModule","webpackPolyfill","normalizeArray","allowAboveRoot","basename","matchedSlash","xs","resolvedPath","resolvedAbsolute","isAbsolute","trailingSlash","paths","fromParts","toParts","samePartsLength","outputParts","sep","delimiter","dirname","hasRoot","ext","extname","startDot","startPart","preDotState","$default","splitPathRe","splitPath","TRACING_GETTER","BROWSER_TRACING_GETTER","HOOKS","COMPONENT_NAME_REGEXP","ROOT_COMPONENT_NAME","ANONYMOUS_COMPONENT_NAME","Vue","_componentsCache","_applyTracingHooks","vm","$_sentryPerfHook","_getComponentName","rootMount","rootHandler","_rootSpan","_finishRootSpan","$once","tracingIntegration","_tracingActivity","pushActivity","startChild","op","activeTransaction","getActiveTransaction","childHandler","operation","tracingOptions","trackComponents","finish","internalHooks","internalHook","currentValue","attachProps","logErrors","tracing","_attachErrorHandler","_startTracing","_componentTag","unifiedFile","_rootSpanTimer","popActivity","applyTracingHooks","currentErrorHandler","info","componentName","propsData","lifecycleHook","util","proxyAccessor","inheritIfRequired","normalizeStringArgument","installErrorCause","clearErrorStack","ERROR_STACK_INSTALLABLE","FULL_NAME","IS_AGGREGATE_ERROR","STACK_TRACE_LIMIT","OPTIONS_POSITION","OriginalError","OriginalErrorPrototype","BaseError","WrappedError","relativeURL","getOwnPropertyDescriptorModule","replacementFactory","wrapped","urlEncode","getWalkSource","event_1","utf8Length","encodeURI","jsonSize","normalizeToSize","maxSize","serialized","serializeValue","normalizeValue","_events","walk","acc","innerKey","extractExceptionKeysForMessage","maxLength","includedKeys","dropUndefinedKeys","rv","PREFIX","Logger","_enabled","isError","wat","isInstanceOf","isErrorEvent","isDOMError","isDOMException","isPrimitive","isEvent","isElement","isRegExp","isThenable","isSyntheticEvent","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","eject","fallbackGlobalObject","getGlobalObject","uuid4","crypto","msCrypto","getRandomValues","Uint16Array","pad","parseUrl","query","fragment","getEventDescription","consoleSandbox","levels","originalConsole","wrappedLevels","addExceptionTypeValue","addExceptionMechanism","getLocationHref","defaultRetryAfter","parseRetryAfterHeader","headerDate","isNodeEnv","dynamicRequire","require","inBrowser","RE_ARGS","identifier","hasSymbol","makeSymbol","generateFormatCacheKey","friendlyJSONstringify","json","isEmptyObject","escapeHtml","rawText","del","Vue2","isVue2","isVue3","truncate","snipLine","newLine","ll","safeJoin","output","isMatchingPattern","IndexedObject"],"mappings":"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","file":"assets/js/chunk-vendors.dd6b8a66.js","sourcesContent":["var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","var $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es-x/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es-x/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","export const HOOK_SETUP = 'devtools-plugin:setup';\nexport const HOOK_PLUGIN_SETTINGS_SET = 'plugin:settings:set';\n","import { HOOK_PLUGIN_SETTINGS_SET } from './const.js';\nimport { now } from './time.js';\nexport class ApiProxy {\n constructor(plugin, hook) {\n this.target = null;\n this.targetQueue = [];\n this.onQueue = [];\n this.plugin = plugin;\n this.hook = hook;\n const defaultSettings = {};\n if (plugin.settings) {\n for (const id in plugin.settings) {\n const item = plugin.settings[id];\n defaultSettings[id] = item.defaultValue;\n }\n }\n const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;\n let currentSettings = Object.assign({}, defaultSettings);\n try {\n const raw = localStorage.getItem(localSettingsSaveId);\n const data = JSON.parse(raw);\n Object.assign(currentSettings, data);\n }\n catch (e) {\n // noop\n }\n this.fallbacks = {\n getSettings() {\n return currentSettings;\n },\n setSettings(value) {\n try {\n localStorage.setItem(localSettingsSaveId, JSON.stringify(value));\n }\n catch (e) {\n // noop\n }\n currentSettings = value;\n },\n now() {\n return now();\n },\n };\n if (hook) {\n hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {\n if (pluginId === this.plugin.id) {\n this.fallbacks.setSettings(value);\n }\n });\n }\n this.proxiedOn = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target.on[prop];\n }\n else {\n return (...args) => {\n this.onQueue.push({\n method: prop,\n args,\n });\n };\n }\n },\n });\n this.proxiedTarget = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target[prop];\n }\n else if (prop === 'on') {\n return this.proxiedOn;\n }\n else if (Object.keys(this.fallbacks).includes(prop)) {\n return (...args) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve: () => { },\n });\n return this.fallbacks[prop](...args);\n };\n }\n else {\n return (...args) => {\n return new Promise(resolve => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve,\n });\n });\n };\n }\n },\n });\n }\n async setRealTarget(target) {\n this.target = target;\n for (const item of this.onQueue) {\n this.target.on[item.method](...item.args);\n }\n for (const item of this.targetQueue) {\n item.resolve(await this.target[item.method](...item.args));\n }\n }\n}\n","import { getTarget, getDevtoolsGlobalHook, isProxyAvailable } from './env.js';\nimport { HOOK_SETUP } from './const.js';\nimport { ApiProxy } from './proxy.js';\nexport * from './api/index.js';\nexport * from './plugin.js';\nexport * from './time.js';\nexport function setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n const descriptor = pluginDescriptor;\n const target = getTarget();\n const hook = getDevtoolsGlobalHook();\n const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;\n if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {\n hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);\n }\n else {\n const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;\n const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor: descriptor,\n setupFn,\n proxy,\n });\n if (proxy)\n setupFn(proxy.proxiedTarget);\n }\n}\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","/*!\n * message-compiler v9.2.0\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { format, assign, isString } from '@intlify/shared';\n\nconst CompileErrorCodes = {\r\n // tokenizer error codes\r\n EXPECTED_TOKEN: 1,\r\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\r\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\r\n UNKNOWN_ESCAPE_SEQUENCE: 4,\r\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\r\n UNBALANCED_CLOSING_BRACE: 6,\r\n UNTERMINATED_CLOSING_BRACE: 7,\r\n EMPTY_PLACEHOLDER: 8,\r\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\r\n INVALID_LINKED_FORMAT: 10,\r\n // parser error codes\r\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\r\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\r\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\r\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\r\n // Special value for higher-order compilers to pick up the last code\r\n // to avoid collision of error codes. This should always be kept as the last\r\n // item.\r\n __EXTEND_POINT__: 15\r\n};\r\n/** @internal */\r\nconst errorMessages = {\r\n // tokenizer error messages\r\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\r\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\r\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\r\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\r\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\r\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\r\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\r\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\r\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\r\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\r\n // parser error messages\r\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\r\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\r\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\r\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`\r\n};\r\nfunction createCompileError(code, loc, options = {}) {\r\n const { domain, messages, args } = options;\r\n const msg = (process.env.NODE_ENV !== 'production')\r\n ? format((messages || errorMessages)[code] || '', ...(args || []))\r\n : code;\r\n const error = new SyntaxError(String(msg));\r\n error.code = code;\r\n if (loc) {\r\n error.location = loc;\r\n }\r\n error.domain = domain;\r\n return error;\r\n}\r\n/** @internal */\r\nfunction defaultOnError(error) {\r\n throw error;\r\n}\n\nconst LocationStub = {\r\n start: { line: 1, column: 1, offset: 0 },\r\n end: { line: 1, column: 1, offset: 0 }\r\n};\r\nfunction createPosition(line, column, offset) {\r\n return { line, column, offset };\r\n}\r\nfunction createLocation(start, end, source) {\r\n const loc = { start, end };\r\n if (source != null) {\r\n loc.source = source;\r\n }\r\n return loc;\r\n}\n\nconst CHAR_SP = ' ';\r\nconst CHAR_CR = '\\r';\r\nconst CHAR_LF = '\\n';\r\nconst CHAR_LS = String.fromCharCode(0x2028);\r\nconst CHAR_PS = String.fromCharCode(0x2029);\r\nfunction createScanner(str) {\r\n const _buf = str;\r\n let _index = 0;\r\n let _line = 1;\r\n let _column = 1;\r\n let _peekOffset = 0;\r\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\r\n const isLF = (index) => _buf[index] === CHAR_LF;\r\n const isPS = (index) => _buf[index] === CHAR_PS;\r\n const isLS = (index) => _buf[index] === CHAR_LS;\r\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\r\n const index = () => _index;\r\n const line = () => _line;\r\n const column = () => _column;\r\n const peekOffset = () => _peekOffset;\r\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\r\n const currentChar = () => charAt(_index);\r\n const currentPeek = () => charAt(_index + _peekOffset);\r\n function next() {\r\n _peekOffset = 0;\r\n if (isLineEnd(_index)) {\r\n _line++;\r\n _column = 0;\r\n }\r\n if (isCRLF(_index)) {\r\n _index++;\r\n }\r\n _index++;\r\n _column++;\r\n return _buf[_index];\r\n }\r\n function peek() {\r\n if (isCRLF(_index + _peekOffset)) {\r\n _peekOffset++;\r\n }\r\n _peekOffset++;\r\n return _buf[_index + _peekOffset];\r\n }\r\n function reset() {\r\n _index = 0;\r\n _line = 1;\r\n _column = 1;\r\n _peekOffset = 0;\r\n }\r\n function resetPeek(offset = 0) {\r\n _peekOffset = offset;\r\n }\r\n function skipToPeek() {\r\n const target = _index + _peekOffset;\r\n // eslint-disable-next-line no-unmodified-loop-condition\r\n while (target !== _index) {\r\n next();\r\n }\r\n _peekOffset = 0;\r\n }\r\n return {\r\n index,\r\n line,\r\n column,\r\n peekOffset,\r\n charAt,\r\n currentChar,\r\n currentPeek,\r\n next,\r\n peek,\r\n reset,\r\n resetPeek,\r\n skipToPeek\r\n };\r\n}\n\nconst EOF = undefined;\r\nconst LITERAL_DELIMITER = \"'\";\r\nconst ERROR_DOMAIN$1 = 'tokenizer';\r\nfunction createTokenizer(source, options = {}) {\r\n const location = options.location !== false;\r\n const _scnr = createScanner(source);\r\n const currentOffset = () => _scnr.index();\r\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\r\n const _initLoc = currentPosition();\r\n const _initOffset = currentOffset();\r\n const _context = {\r\n currentType: 14 /* EOF */,\r\n offset: _initOffset,\r\n startLoc: _initLoc,\r\n endLoc: _initLoc,\r\n lastType: 14 /* EOF */,\r\n lastOffset: _initOffset,\r\n lastStartLoc: _initLoc,\r\n lastEndLoc: _initLoc,\r\n braceNest: 0,\r\n inLinked: false,\r\n text: ''\r\n };\r\n const context = () => _context;\r\n const { onError } = options;\r\n function emitError(code, pos, offset, ...args) {\r\n const ctx = context();\r\n pos.column += offset;\r\n pos.offset += offset;\r\n if (onError) {\r\n const loc = createLocation(ctx.startLoc, pos);\r\n const err = createCompileError(code, loc, {\r\n domain: ERROR_DOMAIN$1,\r\n args\r\n });\r\n onError(err);\r\n }\r\n }\r\n function getToken(context, type, value) {\r\n context.endLoc = currentPosition();\r\n context.currentType = type;\r\n const token = { type };\r\n if (location) {\r\n token.loc = createLocation(context.startLoc, context.endLoc);\r\n }\r\n if (value != null) {\r\n token.value = value;\r\n }\r\n return token;\r\n }\r\n const getEndToken = (context) => getToken(context, 14 /* EOF */);\r\n function eat(scnr, ch) {\r\n if (scnr.currentChar() === ch) {\r\n scnr.next();\r\n return ch;\r\n }\r\n else {\r\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\r\n return '';\r\n }\r\n }\r\n function peekSpaces(scnr) {\r\n let buf = '';\r\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\r\n buf += scnr.currentPeek();\r\n scnr.peek();\r\n }\r\n return buf;\r\n }\r\n function skipSpaces(scnr) {\r\n const buf = peekSpaces(scnr);\r\n scnr.skipToPeek();\r\n return buf;\r\n }\r\n function isIdentifierStart(ch) {\r\n if (ch === EOF) {\r\n return false;\r\n }\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 97 && cc <= 122) || // a-z\r\n (cc >= 65 && cc <= 90) || // A-Z\r\n cc === 95 // _\r\n );\r\n }\r\n function isNumberStart(ch) {\r\n if (ch === EOF) {\r\n return false;\r\n }\r\n const cc = ch.charCodeAt(0);\r\n return cc >= 48 && cc <= 57; // 0-9\r\n }\r\n function isNamedIdentifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = isIdentifierStart(scnr.currentPeek());\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isListIdentifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\r\n const ret = isNumberStart(ch);\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLiteralStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedDotStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 8 /* LinkedAlias */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \".\" /* LinkedDot */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedModifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 9 /* LinkedDot */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = isIdentifierStart(scnr.currentPeek());\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedDelimiterStart(scnr, context) {\r\n const { currentType } = context;\r\n if (!(currentType === 8 /* LinkedAlias */ ||\r\n currentType === 12 /* LinkedModifier */)) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \":\" /* LinkedDelimiter */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedReferStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 10 /* LinkedDelimiter */) {\r\n return false;\r\n }\r\n const fn = () => {\r\n const ch = scnr.currentPeek();\r\n if (ch === \"{\" /* BraceLeft */) {\r\n return isIdentifierStart(scnr.peek());\r\n }\r\n else if (ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"%\" /* Modulo */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n ch === \":\" /* LinkedDelimiter */ ||\r\n ch === \".\" /* LinkedDot */ ||\r\n ch === CHAR_SP ||\r\n !ch) {\r\n return false;\r\n }\r\n else if (ch === CHAR_LF) {\r\n scnr.peek();\r\n return fn();\r\n }\r\n else {\r\n // other characters\r\n return isIdentifierStart(ch);\r\n }\r\n };\r\n const ret = fn();\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isPluralStart(scnr) {\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \"|\" /* Pipe */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function detectModuloStart(scnr) {\r\n const spaces = peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \"%\" /* Modulo */ &&\r\n scnr.peek() === \"{\" /* BraceLeft */;\r\n scnr.resetPeek();\r\n return {\r\n isModulo: ret,\r\n hasSpace: spaces.length > 0\r\n };\r\n }\r\n function isTextStart(scnr, reset = true) {\r\n const fn = (hasSpace = false, prev = '', detectModulo = false) => {\r\n const ch = scnr.currentPeek();\r\n if (ch === \"{\" /* BraceLeft */) {\r\n return prev === \"%\" /* Modulo */ ? false : hasSpace;\r\n }\r\n else if (ch === \"@\" /* LinkedAlias */ || !ch) {\r\n return prev === \"%\" /* Modulo */ ? true : hasSpace;\r\n }\r\n else if (ch === \"%\" /* Modulo */) {\r\n scnr.peek();\r\n return fn(hasSpace, \"%\" /* Modulo */, true);\r\n }\r\n else if (ch === \"|\" /* Pipe */) {\r\n return prev === \"%\" /* Modulo */ || detectModulo\r\n ? true\r\n : !(prev === CHAR_SP || prev === CHAR_LF);\r\n }\r\n else if (ch === CHAR_SP) {\r\n scnr.peek();\r\n return fn(true, CHAR_SP, detectModulo);\r\n }\r\n else if (ch === CHAR_LF) {\r\n scnr.peek();\r\n return fn(true, CHAR_LF, detectModulo);\r\n }\r\n else {\r\n return true;\r\n }\r\n };\r\n const ret = fn();\r\n reset && scnr.resetPeek();\r\n return ret;\r\n }\r\n function takeChar(scnr, fn) {\r\n const ch = scnr.currentChar();\r\n if (ch === EOF) {\r\n return EOF;\r\n }\r\n if (fn(ch)) {\r\n scnr.next();\r\n return ch;\r\n }\r\n return null;\r\n }\r\n function takeIdentifierChar(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 97 && cc <= 122) || // a-z\r\n (cc >= 65 && cc <= 90) || // A-Z\r\n (cc >= 48 && cc <= 57) || // 0-9\r\n cc === 95 || // _\r\n cc === 36 // $\r\n );\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function takeDigit(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return cc >= 48 && cc <= 57; // 0-9\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function takeHexDigit(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 48 && cc <= 57) || // 0-9\r\n (cc >= 65 && cc <= 70) || // A-F\r\n (cc >= 97 && cc <= 102)); // a-f\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function getDigits(scnr) {\r\n let ch = '';\r\n let num = '';\r\n while ((ch = takeDigit(scnr))) {\r\n num += ch;\r\n }\r\n return num;\r\n }\r\n function readModulo(scnr) {\r\n skipSpaces(scnr);\r\n const ch = scnr.currentChar();\r\n if (ch !== \"%\" /* Modulo */) {\r\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\r\n }\r\n scnr.next();\r\n return \"%\" /* Modulo */;\r\n }\r\n function readText(scnr) {\r\n let buf = '';\r\n while (true) {\r\n const ch = scnr.currentChar();\r\n if (ch === \"{\" /* BraceLeft */ ||\r\n ch === \"}\" /* BraceRight */ ||\r\n ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n !ch) {\r\n break;\r\n }\r\n else if (ch === \"%\" /* Modulo */) {\r\n if (isTextStart(scnr)) {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n else if (ch === CHAR_SP || ch === CHAR_LF) {\r\n if (isTextStart(scnr)) {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n else if (isPluralStart(scnr)) {\r\n break;\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n }\r\n return buf;\r\n }\r\n function readNamedIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let ch = '';\r\n let name = '';\r\n while ((ch = takeIdentifierChar(scnr))) {\r\n name += ch;\r\n }\r\n if (scnr.currentChar() === EOF) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n return name;\r\n }\r\n function readListIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let value = '';\r\n if (scnr.currentChar() === '-') {\r\n scnr.next();\r\n value += `-${getDigits(scnr)}`;\r\n }\r\n else {\r\n value += getDigits(scnr);\r\n }\r\n if (scnr.currentChar() === EOF) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n return value;\r\n }\r\n function readLiteral(scnr) {\r\n skipSpaces(scnr);\r\n eat(scnr, `\\'`);\r\n let ch = '';\r\n let literal = '';\r\n const fn = (x) => x !== LITERAL_DELIMITER && x !== CHAR_LF;\r\n while ((ch = takeChar(scnr, fn))) {\r\n if (ch === '\\\\') {\r\n literal += readEscapeSequence(scnr);\r\n }\r\n else {\r\n literal += ch;\r\n }\r\n }\r\n const current = scnr.currentChar();\r\n if (current === CHAR_LF || current === EOF) {\r\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\r\n // TODO: Is it correct really?\r\n if (current === CHAR_LF) {\r\n scnr.next();\r\n eat(scnr, `\\'`);\r\n }\r\n return literal;\r\n }\r\n eat(scnr, `\\'`);\r\n return literal;\r\n }\r\n function readEscapeSequence(scnr) {\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case '\\\\':\r\n case `\\'`:\r\n scnr.next();\r\n return `\\\\${ch}`;\r\n case 'u':\r\n return readUnicodeEscapeSequence(scnr, ch, 4);\r\n case 'U':\r\n return readUnicodeEscapeSequence(scnr, ch, 6);\r\n default:\r\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\r\n return '';\r\n }\r\n }\r\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\r\n eat(scnr, unicode);\r\n let sequence = '';\r\n for (let i = 0; i < digits; i++) {\r\n const ch = takeHexDigit(scnr);\r\n if (!ch) {\r\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\r\n break;\r\n }\r\n sequence += ch;\r\n }\r\n return `\\\\${unicode}${sequence}`;\r\n }\r\n function readInvalidIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let ch = '';\r\n let identifiers = '';\r\n const closure = (ch) => ch !== \"{\" /* BraceLeft */ &&\r\n ch !== \"}\" /* BraceRight */ &&\r\n ch !== CHAR_SP &&\r\n ch !== CHAR_LF;\r\n while ((ch = takeChar(scnr, closure))) {\r\n identifiers += ch;\r\n }\r\n return identifiers;\r\n }\r\n function readLinkedModifier(scnr) {\r\n let ch = '';\r\n let name = '';\r\n while ((ch = takeIdentifierChar(scnr))) {\r\n name += ch;\r\n }\r\n return name;\r\n }\r\n function readLinkedRefer(scnr) {\r\n const fn = (detect = false, buf) => {\r\n const ch = scnr.currentChar();\r\n if (ch === \"{\" /* BraceLeft */ ||\r\n ch === \"%\" /* Modulo */ ||\r\n ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n !ch) {\r\n return buf;\r\n }\r\n else if (ch === CHAR_SP) {\r\n return buf;\r\n }\r\n else if (ch === CHAR_LF) {\r\n buf += ch;\r\n scnr.next();\r\n return fn(detect, buf);\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n return fn(true, buf);\r\n }\r\n };\r\n return fn(false, '');\r\n }\r\n function readPlural(scnr) {\r\n skipSpaces(scnr);\r\n const plural = eat(scnr, \"|\" /* Pipe */);\r\n skipSpaces(scnr);\r\n return plural;\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readTokenInPlaceholder(scnr, context) {\r\n let token = null;\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case \"{\" /* BraceLeft */:\r\n if (context.braceNest >= 1) {\r\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\r\n }\r\n scnr.next();\r\n token = getToken(context, 2 /* BraceLeft */, \"{\" /* BraceLeft */);\r\n skipSpaces(scnr);\r\n context.braceNest++;\r\n return token;\r\n case \"}\" /* BraceRight */:\r\n if (context.braceNest > 0 &&\r\n context.currentType === 2 /* BraceLeft */) {\r\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\r\n }\r\n scnr.next();\r\n token = getToken(context, 3 /* BraceRight */, \"}\" /* BraceRight */);\r\n context.braceNest--;\r\n context.braceNest > 0 && skipSpaces(scnr);\r\n if (context.inLinked && context.braceNest === 0) {\r\n context.inLinked = false;\r\n }\r\n return token;\r\n case \"@\" /* LinkedAlias */:\r\n if (context.braceNest > 0) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n token = readTokenInLinked(scnr, context) || getEndToken(context);\r\n context.braceNest = 0;\r\n return token;\r\n default:\r\n let validNamedIdentifier = true;\r\n let validListIdentifier = true;\r\n let validLiteral = true;\r\n if (isPluralStart(scnr)) {\r\n if (context.braceNest > 0) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n if (context.braceNest > 0 &&\r\n (context.currentType === 5 /* Named */ ||\r\n context.currentType === 6 /* List */ ||\r\n context.currentType === 7 /* Literal */)) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n context.braceNest = 0;\r\n return readToken(scnr, context);\r\n }\r\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\r\n token = getToken(context, 5 /* Named */, readNamedIdentifier(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\r\n token = getToken(context, 6 /* List */, readListIdentifier(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if ((validLiteral = isLiteralStart(scnr, context))) {\r\n token = getToken(context, 7 /* Literal */, readLiteral(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\r\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\r\n token = getToken(context, 13 /* InvalidPlace */, readInvalidIdentifier(scnr));\r\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n break;\r\n }\r\n return token;\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readTokenInLinked(scnr, context) {\r\n const { currentType } = context;\r\n let token = null;\r\n const ch = scnr.currentChar();\r\n if ((currentType === 8 /* LinkedAlias */ ||\r\n currentType === 9 /* LinkedDot */ ||\r\n currentType === 12 /* LinkedModifier */ ||\r\n currentType === 10 /* LinkedDelimiter */) &&\r\n (ch === CHAR_LF || ch === CHAR_SP)) {\r\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\r\n }\r\n switch (ch) {\r\n case \"@\" /* LinkedAlias */:\r\n scnr.next();\r\n token = getToken(context, 8 /* LinkedAlias */, \"@\" /* LinkedAlias */);\r\n context.inLinked = true;\r\n return token;\r\n case \".\" /* LinkedDot */:\r\n skipSpaces(scnr);\r\n scnr.next();\r\n return getToken(context, 9 /* LinkedDot */, \".\" /* LinkedDot */);\r\n case \":\" /* LinkedDelimiter */:\r\n skipSpaces(scnr);\r\n scnr.next();\r\n return getToken(context, 10 /* LinkedDelimiter */, \":\" /* LinkedDelimiter */);\r\n default:\r\n if (isPluralStart(scnr)) {\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n if (isLinkedDotStart(scnr, context) ||\r\n isLinkedDelimiterStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n return readTokenInLinked(scnr, context);\r\n }\r\n if (isLinkedModifierStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n return getToken(context, 12 /* LinkedModifier */, readLinkedModifier(scnr));\r\n }\r\n if (isLinkedReferStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n if (ch === \"{\" /* BraceLeft */) {\r\n // scan the placeholder\r\n return readTokenInPlaceholder(scnr, context) || token;\r\n }\r\n else {\r\n return getToken(context, 11 /* LinkedKey */, readLinkedRefer(scnr));\r\n }\r\n }\r\n if (currentType === 8 /* LinkedAlias */) {\r\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\r\n }\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return readToken(scnr, context);\r\n }\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readToken(scnr, context) {\r\n let token = { type: 14 /* EOF */ };\r\n if (context.braceNest > 0) {\r\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\r\n }\r\n if (context.inLinked) {\r\n return readTokenInLinked(scnr, context) || getEndToken(context);\r\n }\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case \"{\" /* BraceLeft */:\r\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\r\n case \"}\" /* BraceRight */:\r\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\r\n scnr.next();\r\n return getToken(context, 3 /* BraceRight */, \"}\" /* BraceRight */);\r\n case \"@\" /* LinkedAlias */:\r\n return readTokenInLinked(scnr, context) || getEndToken(context);\r\n default:\r\n if (isPluralStart(scnr)) {\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n const { isModulo, hasSpace } = detectModuloStart(scnr);\r\n if (isModulo) {\r\n return hasSpace\r\n ? getToken(context, 0 /* Text */, readText(scnr))\r\n : getToken(context, 4 /* Modulo */, readModulo(scnr));\r\n }\r\n if (isTextStart(scnr)) {\r\n return getToken(context, 0 /* Text */, readText(scnr));\r\n }\r\n break;\r\n }\r\n return token;\r\n }\r\n function nextToken() {\r\n const { currentType, offset, startLoc, endLoc } = _context;\r\n _context.lastType = currentType;\r\n _context.lastOffset = offset;\r\n _context.lastStartLoc = startLoc;\r\n _context.lastEndLoc = endLoc;\r\n _context.offset = currentOffset();\r\n _context.startLoc = currentPosition();\r\n if (_scnr.currentChar() === EOF) {\r\n return getToken(_context, 14 /* EOF */);\r\n }\r\n return readToken(_scnr, _context);\r\n }\r\n return {\r\n nextToken,\r\n currentOffset,\r\n currentPosition,\r\n context\r\n };\r\n}\n\nconst ERROR_DOMAIN = 'parser';\r\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\r\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\r\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\r\n switch (match) {\r\n case `\\\\\\\\`:\r\n return `\\\\`;\r\n case `\\\\\\'`:\r\n return `\\'`;\r\n default: {\r\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\r\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\r\n return String.fromCodePoint(codePoint);\r\n }\r\n // invalid ...\r\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\r\n return '�';\r\n }\r\n }\r\n}\r\nfunction createParser(options = {}) {\r\n const location = options.location !== false;\r\n const { onError } = options;\r\n function emitError(tokenzer, code, start, offset, ...args) {\r\n const end = tokenzer.currentPosition();\r\n end.offset += offset;\r\n end.column += offset;\r\n if (onError) {\r\n const loc = createLocation(start, end);\r\n const err = createCompileError(code, loc, {\r\n domain: ERROR_DOMAIN,\r\n args\r\n });\r\n onError(err);\r\n }\r\n }\r\n function startNode(type, offset, loc) {\r\n const node = {\r\n type,\r\n start: offset,\r\n end: offset\r\n };\r\n if (location) {\r\n node.loc = { start: loc, end: loc };\r\n }\r\n return node;\r\n }\r\n function endNode(node, offset, pos, type) {\r\n node.end = offset;\r\n if (type) {\r\n node.type = type;\r\n }\r\n if (location && node.loc) {\r\n node.loc.end = pos;\r\n }\r\n }\r\n function parseText(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const node = startNode(3 /* Text */, context.offset, context.startLoc);\r\n node.value = value;\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseList(tokenizer, index) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(5 /* List */, offset, loc);\r\n node.index = parseInt(index, 10);\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseNamed(tokenizer, key) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(4 /* Named */, offset, loc);\r\n node.key = key;\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLiteral(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(9 /* Literal */, offset, loc);\r\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLinkedModifier(tokenizer) {\r\n const token = tokenizer.nextToken();\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\r\n const node = startNode(8 /* LinkedModifier */, offset, loc);\r\n if (token.type !== 12 /* LinkedModifier */) {\r\n // empty modifier\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\r\n node.value = '';\r\n endNode(node, offset, loc);\r\n return {\r\n nextConsumeToken: token,\r\n node\r\n };\r\n }\r\n // check token\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.value = token.value || '';\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return {\r\n node\r\n };\r\n }\r\n function parseLinkedKey(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const node = startNode(7 /* LinkedKey */, context.offset, context.startLoc);\r\n node.value = value;\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLinked(tokenizer) {\r\n const context = tokenizer.context();\r\n const linkedNode = startNode(6 /* Linked */, context.offset, context.startLoc);\r\n let token = tokenizer.nextToken();\r\n if (token.type === 9 /* LinkedDot */) {\r\n const parsed = parseLinkedModifier(tokenizer);\r\n linkedNode.modifier = parsed.node;\r\n token = parsed.nextConsumeToken || tokenizer.nextToken();\r\n }\r\n // asset check token\r\n if (token.type !== 10 /* LinkedDelimiter */) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n token = tokenizer.nextToken();\r\n // skip brace left\r\n if (token.type === 2 /* BraceLeft */) {\r\n token = tokenizer.nextToken();\r\n }\r\n switch (token.type) {\r\n case 11 /* LinkedKey */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\r\n break;\r\n case 5 /* Named */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseNamed(tokenizer, token.value || '');\r\n break;\r\n case 6 /* List */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseList(tokenizer, token.value || '');\r\n break;\r\n case 7 /* Literal */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\r\n break;\r\n default:\r\n // empty key\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\r\n const nextContext = tokenizer.context();\r\n const emptyLinkedKeyNode = startNode(7 /* LinkedKey */, nextContext.offset, nextContext.startLoc);\r\n emptyLinkedKeyNode.value = '';\r\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\r\n linkedNode.key = emptyLinkedKeyNode;\r\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\r\n return {\r\n nextConsumeToken: token,\r\n node: linkedNode\r\n };\r\n }\r\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return {\r\n node: linkedNode\r\n };\r\n }\r\n function parseMessage(tokenizer) {\r\n const context = tokenizer.context();\r\n const startOffset = context.currentType === 1 /* Pipe */\r\n ? tokenizer.currentOffset()\r\n : context.offset;\r\n const startLoc = context.currentType === 1 /* Pipe */\r\n ? context.endLoc\r\n : context.startLoc;\r\n const node = startNode(2 /* Message */, startOffset, startLoc);\r\n node.items = [];\r\n let nextToken = null;\r\n do {\r\n const token = nextToken || tokenizer.nextToken();\r\n nextToken = null;\r\n switch (token.type) {\r\n case 0 /* Text */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseText(tokenizer, token.value || ''));\r\n break;\r\n case 6 /* List */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseList(tokenizer, token.value || ''));\r\n break;\r\n case 5 /* Named */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseNamed(tokenizer, token.value || ''));\r\n break;\r\n case 7 /* Literal */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseLiteral(tokenizer, token.value || ''));\r\n break;\r\n case 8 /* LinkedAlias */:\r\n const parsed = parseLinked(tokenizer);\r\n node.items.push(parsed.node);\r\n nextToken = parsed.nextConsumeToken || null;\r\n break;\r\n }\r\n } while (context.currentType !== 14 /* EOF */ &&\r\n context.currentType !== 1 /* Pipe */);\r\n // adjust message node loc\r\n const endOffset = context.currentType === 1 /* Pipe */\r\n ? context.lastOffset\r\n : tokenizer.currentOffset();\r\n const endLoc = context.currentType === 1 /* Pipe */\r\n ? context.lastEndLoc\r\n : tokenizer.currentPosition();\r\n endNode(node, endOffset, endLoc);\r\n return node;\r\n }\r\n function parsePlural(tokenizer, offset, loc, msgNode) {\r\n const context = tokenizer.context();\r\n let hasEmptyMessage = msgNode.items.length === 0;\r\n const node = startNode(1 /* Plural */, offset, loc);\r\n node.cases = [];\r\n node.cases.push(msgNode);\r\n do {\r\n const msg = parseMessage(tokenizer);\r\n if (!hasEmptyMessage) {\r\n hasEmptyMessage = msg.items.length === 0;\r\n }\r\n node.cases.push(msg);\r\n } while (context.currentType !== 14 /* EOF */);\r\n if (hasEmptyMessage) {\r\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\r\n }\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseResource(tokenizer) {\r\n const context = tokenizer.context();\r\n const { offset, startLoc } = context;\r\n const msgNode = parseMessage(tokenizer);\r\n if (context.currentType === 14 /* EOF */) {\r\n return msgNode;\r\n }\r\n else {\r\n return parsePlural(tokenizer, offset, startLoc, msgNode);\r\n }\r\n }\r\n function parse(source) {\r\n const tokenizer = createTokenizer(source, assign({}, options));\r\n const context = tokenizer.context();\r\n const node = startNode(0 /* Resource */, context.offset, context.startLoc);\r\n if (location && node.loc) {\r\n node.loc.source = source;\r\n }\r\n node.body = parseResource(tokenizer);\r\n // assert whether achieved to EOF\r\n if (context.currentType !== 14 /* EOF */) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\r\n }\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n return { parse };\r\n}\r\nfunction getTokenCaption(token) {\r\n if (token.type === 14 /* EOF */) {\r\n return 'EOF';\r\n }\r\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\r\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\r\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\r\n) {\r\n const _context = {\r\n ast,\r\n helpers: new Set()\r\n };\r\n const context = () => _context;\r\n const helper = (name) => {\r\n _context.helpers.add(name);\r\n return name;\r\n };\r\n return { context, helper };\r\n}\r\nfunction traverseNodes(nodes, transformer) {\r\n for (let i = 0; i < nodes.length; i++) {\r\n traverseNode(nodes[i], transformer);\r\n }\r\n}\r\nfunction traverseNode(node, transformer) {\r\n // TODO: if we need pre-hook of transform, should be implemented to here\r\n switch (node.type) {\r\n case 1 /* Plural */:\r\n traverseNodes(node.cases, transformer);\r\n transformer.helper(\"plural\" /* PLURAL */);\r\n break;\r\n case 2 /* Message */:\r\n traverseNodes(node.items, transformer);\r\n break;\r\n case 6 /* Linked */:\r\n const linked = node;\r\n traverseNode(linked.key, transformer);\r\n transformer.helper(\"linked\" /* LINKED */);\r\n transformer.helper(\"type\" /* TYPE */);\r\n break;\r\n case 5 /* List */:\r\n transformer.helper(\"interpolate\" /* INTERPOLATE */);\r\n transformer.helper(\"list\" /* LIST */);\r\n break;\r\n case 4 /* Named */:\r\n transformer.helper(\"interpolate\" /* INTERPOLATE */);\r\n transformer.helper(\"named\" /* NAMED */);\r\n break;\r\n }\r\n // TODO: if we need post-hook of transform, should be implemented to here\r\n}\r\n// transform AST\r\nfunction transform(ast, options = {} // eslint-disable-line\r\n) {\r\n const transformer = createTransformer(ast);\r\n transformer.helper(\"normalize\" /* NORMALIZE */);\r\n // traverse\r\n ast.body && traverseNode(ast.body, transformer);\r\n // set meta information\r\n const context = transformer.context();\r\n ast.helpers = Array.from(context.helpers);\r\n}\n\nfunction createCodeGenerator(ast, options) {\r\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\r\n const _context = {\r\n source: ast.loc.source,\r\n filename,\r\n code: '',\r\n column: 1,\r\n line: 1,\r\n offset: 0,\r\n map: undefined,\r\n breakLineCode,\r\n needIndent: _needIndent,\r\n indentLevel: 0\r\n };\r\n const context = () => _context;\r\n function push(code, node) {\r\n _context.code += code;\r\n }\r\n function _newline(n, withBreakLine = true) {\r\n const _breakLineCode = withBreakLine ? breakLineCode : '';\r\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\r\n }\r\n function indent(withNewLine = true) {\r\n const level = ++_context.indentLevel;\r\n withNewLine && _newline(level);\r\n }\r\n function deindent(withNewLine = true) {\r\n const level = --_context.indentLevel;\r\n withNewLine && _newline(level);\r\n }\r\n function newline() {\r\n _newline(_context.indentLevel);\r\n }\r\n const helper = (key) => `_${key}`;\r\n const needIndent = () => _context.needIndent;\r\n return {\r\n context,\r\n push,\r\n indent,\r\n deindent,\r\n newline,\r\n helper,\r\n needIndent\r\n };\r\n}\r\nfunction generateLinkedNode(generator, node) {\r\n const { helper } = generator;\r\n generator.push(`${helper(\"linked\" /* LINKED */)}(`);\r\n generateNode(generator, node.key);\r\n if (node.modifier) {\r\n generator.push(`, `);\r\n generateNode(generator, node.modifier);\r\n generator.push(`, _type`);\r\n }\r\n else {\r\n generator.push(`, undefined, _type`);\r\n }\r\n generator.push(`)`);\r\n}\r\nfunction generateMessageNode(generator, node) {\r\n const { helper, needIndent } = generator;\r\n generator.push(`${helper(\"normalize\" /* NORMALIZE */)}([`);\r\n generator.indent(needIndent());\r\n const length = node.items.length;\r\n for (let i = 0; i < length; i++) {\r\n generateNode(generator, node.items[i]);\r\n if (i === length - 1) {\r\n break;\r\n }\r\n generator.push(', ');\r\n }\r\n generator.deindent(needIndent());\r\n generator.push('])');\r\n}\r\nfunction generatePluralNode(generator, node) {\r\n const { helper, needIndent } = generator;\r\n if (node.cases.length > 1) {\r\n generator.push(`${helper(\"plural\" /* PLURAL */)}([`);\r\n generator.indent(needIndent());\r\n const length = node.cases.length;\r\n for (let i = 0; i < length; i++) {\r\n generateNode(generator, node.cases[i]);\r\n if (i === length - 1) {\r\n break;\r\n }\r\n generator.push(', ');\r\n }\r\n generator.deindent(needIndent());\r\n generator.push(`])`);\r\n }\r\n}\r\nfunction generateResource(generator, node) {\r\n if (node.body) {\r\n generateNode(generator, node.body);\r\n }\r\n else {\r\n generator.push('null');\r\n }\r\n}\r\nfunction generateNode(generator, node) {\r\n const { helper } = generator;\r\n switch (node.type) {\r\n case 0 /* Resource */:\r\n generateResource(generator, node);\r\n break;\r\n case 1 /* Plural */:\r\n generatePluralNode(generator, node);\r\n break;\r\n case 2 /* Message */:\r\n generateMessageNode(generator, node);\r\n break;\r\n case 6 /* Linked */:\r\n generateLinkedNode(generator, node);\r\n break;\r\n case 8 /* LinkedModifier */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 7 /* LinkedKey */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 5 /* List */:\r\n generator.push(`${helper(\"interpolate\" /* INTERPOLATE */)}(${helper(\"list\" /* LIST */)}(${node.index}))`, node);\r\n break;\r\n case 4 /* Named */:\r\n generator.push(`${helper(\"interpolate\" /* INTERPOLATE */)}(${helper(\"named\" /* NAMED */)}(${JSON.stringify(node.key)}))`, node);\r\n break;\r\n case 9 /* Literal */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 3 /* Text */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n default:\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n throw new Error(`unhandled codegen node type: ${node.type}`);\r\n }\r\n }\r\n}\r\n// generate code from AST\r\nconst generate = (ast, options = {} // eslint-disable-line\r\n) => {\r\n const mode = isString(options.mode) ? options.mode : 'normal';\r\n const filename = isString(options.filename)\r\n ? options.filename\r\n : 'message.intl';\r\n const sourceMap = !!options.sourceMap;\r\n // prettier-ignore\r\n const breakLineCode = options.breakLineCode != null\r\n ? options.breakLineCode\r\n : mode === 'arrow'\r\n ? ';'\r\n : '\\n';\r\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\r\n const helpers = ast.helpers || [];\r\n const generator = createCodeGenerator(ast, {\r\n mode,\r\n filename,\r\n sourceMap,\r\n breakLineCode,\r\n needIndent\r\n });\r\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\r\n generator.indent(needIndent);\r\n if (helpers.length > 0) {\r\n generator.push(`const { ${helpers.map(s => `${s}: _${s}`).join(', ')} } = ctx`);\r\n generator.newline();\r\n }\r\n generator.push(`return `);\r\n generateNode(generator, ast);\r\n generator.deindent(needIndent);\r\n generator.push(`}`);\r\n const { code, map } = generator.context();\r\n return {\r\n ast,\r\n code,\r\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\r\n };\r\n};\n\nfunction baseCompile(source, options = {}) {\r\n const assignedOptions = assign({}, options);\r\n // parse source codes\r\n const parser = createParser(assignedOptions);\r\n const ast = parser.parse(source);\r\n // transform ASTs\r\n transform(ast, assignedOptions);\r\n // generate javascript codes\r\n return generate(ast, assignedOptions);\r\n}\n\nexport { CompileErrorCodes, ERROR_DOMAIN, LocationStub, baseCompile, createCompileError, createLocation, createParser, createPosition, defaultOnError, errorMessages };\n","/*!\n * devtools-if v9.2.0\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nconst IntlifyDevToolsHooks = {\r\n I18nInit: 'i18n:init',\r\n FunctionTranslate: 'function:translate'\r\n};\n\nexport { IntlifyDevToolsHooks };\n","/*!\n * core-base v9.2.0\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { isObject, isString, isFunction, isNumber, isPlainObject, toDisplayString, isArray, format, isBoolean, assign, isRegExp, warn, escapeHtml, inBrowser, mark, measure, isEmptyObject, generateCodeFrame, generateFormatCacheKey, isDate, getGlobalThis } from '@intlify/shared';\nimport { defaultOnError, baseCompile, CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\nexport { CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\nimport { IntlifyDevToolsHooks } from '@intlify/devtools-if';\n\nconst pathStateMachine = [];\r\npathStateMachine[0 /* BEFORE_PATH */] = {\r\n [\"w\" /* WORKSPACE */]: [0 /* BEFORE_PATH */],\r\n [\"i\" /* IDENT */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"[\" /* LEFT_BRACKET */]: [4 /* IN_SUB_PATH */],\r\n [\"o\" /* END_OF_FAIL */]: [7 /* AFTER_PATH */]\r\n};\r\npathStateMachine[1 /* IN_PATH */] = {\r\n [\"w\" /* WORKSPACE */]: [1 /* IN_PATH */],\r\n [\".\" /* DOT */]: [2 /* BEFORE_IDENT */],\r\n [\"[\" /* LEFT_BRACKET */]: [4 /* IN_SUB_PATH */],\r\n [\"o\" /* END_OF_FAIL */]: [7 /* AFTER_PATH */]\r\n};\r\npathStateMachine[2 /* BEFORE_IDENT */] = {\r\n [\"w\" /* WORKSPACE */]: [2 /* BEFORE_IDENT */],\r\n [\"i\" /* IDENT */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"0\" /* ZERO */]: [3 /* IN_IDENT */, 0 /* APPEND */]\r\n};\r\npathStateMachine[3 /* IN_IDENT */] = {\r\n [\"i\" /* IDENT */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"0\" /* ZERO */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"w\" /* WORKSPACE */]: [1 /* IN_PATH */, 1 /* PUSH */],\r\n [\".\" /* DOT */]: [2 /* BEFORE_IDENT */, 1 /* PUSH */],\r\n [\"[\" /* LEFT_BRACKET */]: [4 /* IN_SUB_PATH */, 1 /* PUSH */],\r\n [\"o\" /* END_OF_FAIL */]: [7 /* AFTER_PATH */, 1 /* PUSH */]\r\n};\r\npathStateMachine[4 /* IN_SUB_PATH */] = {\r\n [\"'\" /* SINGLE_QUOTE */]: [5 /* IN_SINGLE_QUOTE */, 0 /* APPEND */],\r\n [\"\\\"\" /* DOUBLE_QUOTE */]: [6 /* IN_DOUBLE_QUOTE */, 0 /* APPEND */],\r\n [\"[\" /* LEFT_BRACKET */]: [\r\n 4 /* IN_SUB_PATH */,\r\n 2 /* INC_SUB_PATH_DEPTH */\r\n ],\r\n [\"]\" /* RIGHT_BRACKET */]: [1 /* IN_PATH */, 3 /* PUSH_SUB_PATH */],\r\n [\"o\" /* END_OF_FAIL */]: 8 /* ERROR */,\r\n [\"l\" /* ELSE */]: [4 /* IN_SUB_PATH */, 0 /* APPEND */]\r\n};\r\npathStateMachine[5 /* IN_SINGLE_QUOTE */] = {\r\n [\"'\" /* SINGLE_QUOTE */]: [4 /* IN_SUB_PATH */, 0 /* APPEND */],\r\n [\"o\" /* END_OF_FAIL */]: 8 /* ERROR */,\r\n [\"l\" /* ELSE */]: [5 /* IN_SINGLE_QUOTE */, 0 /* APPEND */]\r\n};\r\npathStateMachine[6 /* IN_DOUBLE_QUOTE */] = {\r\n [\"\\\"\" /* DOUBLE_QUOTE */]: [4 /* IN_SUB_PATH */, 0 /* APPEND */],\r\n [\"o\" /* END_OF_FAIL */]: 8 /* ERROR */,\r\n [\"l\" /* ELSE */]: [6 /* IN_DOUBLE_QUOTE */, 0 /* APPEND */]\r\n};\r\n/**\r\n * Check if an expression is a literal value.\r\n */\r\nconst literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\r\nfunction isLiteral(exp) {\r\n return literalValueRE.test(exp);\r\n}\r\n/**\r\n * Strip quotes from a string\r\n */\r\nfunction stripQuotes(str) {\r\n const a = str.charCodeAt(0);\r\n const b = str.charCodeAt(str.length - 1);\r\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\r\n}\r\n/**\r\n * Determine the type of a character in a keypath.\r\n */\r\nfunction getPathCharType(ch) {\r\n if (ch === undefined || ch === null) {\r\n return \"o\" /* END_OF_FAIL */;\r\n }\r\n const code = ch.charCodeAt(0);\r\n switch (code) {\r\n case 0x5b: // [\r\n case 0x5d: // ]\r\n case 0x2e: // .\r\n case 0x22: // \"\r\n case 0x27: // '\r\n return ch;\r\n case 0x5f: // _\r\n case 0x24: // $\r\n case 0x2d: // -\r\n return \"i\" /* IDENT */;\r\n case 0x09: // Tab (HT)\r\n case 0x0a: // Newline (LF)\r\n case 0x0d: // Return (CR)\r\n case 0xa0: // No-break space (NBSP)\r\n case 0xfeff: // Byte Order Mark (BOM)\r\n case 0x2028: // Line Separator (LS)\r\n case 0x2029: // Paragraph Separator (PS)\r\n return \"w\" /* WORKSPACE */;\r\n }\r\n return \"i\" /* IDENT */;\r\n}\r\n/**\r\n * Format a subPath, return its plain form if it is\r\n * a literal string or number. Otherwise prepend the\r\n * dynamic indicator (*).\r\n */\r\nfunction formatSubPath(path) {\r\n const trimmed = path.trim();\r\n // invalid leading 0\r\n if (path.charAt(0) === '0' && isNaN(parseInt(path))) {\r\n return false;\r\n }\r\n return isLiteral(trimmed)\r\n ? stripQuotes(trimmed)\r\n : \"*\" /* ASTARISK */ + trimmed;\r\n}\r\n/**\r\n * Parse a string path into an array of segments\r\n */\r\nfunction parse(path) {\r\n const keys = [];\r\n let index = -1;\r\n let mode = 0 /* BEFORE_PATH */;\r\n let subPathDepth = 0;\r\n let c;\r\n let key; // eslint-disable-line\r\n let newChar;\r\n let type;\r\n let transition;\r\n let action;\r\n let typeMap;\r\n const actions = [];\r\n actions[0 /* APPEND */] = () => {\r\n if (key === undefined) {\r\n key = newChar;\r\n }\r\n else {\r\n key += newChar;\r\n }\r\n };\r\n actions[1 /* PUSH */] = () => {\r\n if (key !== undefined) {\r\n keys.push(key);\r\n key = undefined;\r\n }\r\n };\r\n actions[2 /* INC_SUB_PATH_DEPTH */] = () => {\r\n actions[0 /* APPEND */]();\r\n subPathDepth++;\r\n };\r\n actions[3 /* PUSH_SUB_PATH */] = () => {\r\n if (subPathDepth > 0) {\r\n subPathDepth--;\r\n mode = 4 /* IN_SUB_PATH */;\r\n actions[0 /* APPEND */]();\r\n }\r\n else {\r\n subPathDepth = 0;\r\n if (key === undefined) {\r\n return false;\r\n }\r\n key = formatSubPath(key);\r\n if (key === false) {\r\n return false;\r\n }\r\n else {\r\n actions[1 /* PUSH */]();\r\n }\r\n }\r\n };\r\n function maybeUnescapeQuote() {\r\n const nextChar = path[index + 1];\r\n if ((mode === 5 /* IN_SINGLE_QUOTE */ &&\r\n nextChar === \"'\" /* SINGLE_QUOTE */) ||\r\n (mode === 6 /* IN_DOUBLE_QUOTE */ &&\r\n nextChar === \"\\\"\" /* DOUBLE_QUOTE */)) {\r\n index++;\r\n newChar = '\\\\' + nextChar;\r\n actions[0 /* APPEND */]();\r\n return true;\r\n }\r\n }\r\n while (mode !== null) {\r\n index++;\r\n c = path[index];\r\n if (c === '\\\\' && maybeUnescapeQuote()) {\r\n continue;\r\n }\r\n type = getPathCharType(c);\r\n typeMap = pathStateMachine[mode];\r\n transition = typeMap[type] || typeMap[\"l\" /* ELSE */] || 8 /* ERROR */;\r\n // check parse error\r\n if (transition === 8 /* ERROR */) {\r\n return;\r\n }\r\n mode = transition[0];\r\n if (transition[1] !== undefined) {\r\n action = actions[transition[1]];\r\n if (action) {\r\n newChar = c;\r\n if (action() === false) {\r\n return;\r\n }\r\n }\r\n }\r\n // check parse finish\r\n if (mode === 7 /* AFTER_PATH */) {\r\n return keys;\r\n }\r\n }\r\n}\r\n// path token cache\r\nconst cache = new Map();\r\n/**\r\n * key-value message resolver\r\n *\r\n * @remarks\r\n * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved\r\n *\r\n * @param obj - A target object to be resolved with path\r\n * @param path - A {@link Path | path} to resolve the value of message\r\n *\r\n * @returns A resolved {@link PathValue | path value}\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction resolveWithKeyValue(obj, path) {\r\n return isObject(obj) ? obj[path] : null;\r\n}\r\n/**\r\n * message resolver\r\n *\r\n * @remarks\r\n * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.\r\n *\r\n * @param obj - A target object to be resolved with path\r\n * @param path - A {@link Path | path} to resolve the value of message\r\n *\r\n * @returns A resolved {@link PathValue | path value}\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction resolveValue(obj, path) {\r\n // check object\r\n if (!isObject(obj)) {\r\n return null;\r\n }\r\n // parse path\r\n let hit = cache.get(path);\r\n if (!hit) {\r\n hit = parse(path);\r\n if (hit) {\r\n cache.set(path, hit);\r\n }\r\n }\r\n // check hit\r\n if (!hit) {\r\n return null;\r\n }\r\n // resolve path value\r\n const len = hit.length;\r\n let last = obj;\r\n let i = 0;\r\n while (i < len) {\r\n const val = last[hit[i]];\r\n if (val === undefined) {\r\n return null;\r\n }\r\n last = val;\r\n i++;\r\n }\r\n return last;\r\n}\n\nconst DEFAULT_MODIFIER = (str) => str;\r\nconst DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line\r\nconst DEFAULT_MESSAGE_DATA_TYPE = 'text';\r\nconst DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : values.join('');\r\nconst DEFAULT_INTERPOLATE = toDisplayString;\r\nfunction pluralDefault(choice, choicesLength) {\r\n choice = Math.abs(choice);\r\n if (choicesLength === 2) {\r\n // prettier-ignore\r\n return choice\r\n ? choice > 1\r\n ? 1\r\n : 0\r\n : 1;\r\n }\r\n return choice ? Math.min(choice, 2) : 0;\r\n}\r\nfunction getPluralIndex(options) {\r\n // prettier-ignore\r\n const index = isNumber(options.pluralIndex)\r\n ? options.pluralIndex\r\n : -1;\r\n // prettier-ignore\r\n return options.named && (isNumber(options.named.count) || isNumber(options.named.n))\r\n ? isNumber(options.named.count)\r\n ? options.named.count\r\n : isNumber(options.named.n)\r\n ? options.named.n\r\n : index\r\n : index;\r\n}\r\nfunction normalizeNamed(pluralIndex, props) {\r\n if (!props.count) {\r\n props.count = pluralIndex;\r\n }\r\n if (!props.n) {\r\n props.n = pluralIndex;\r\n }\r\n}\r\nfunction createMessageContext(options = {}) {\r\n const locale = options.locale;\r\n const pluralIndex = getPluralIndex(options);\r\n const pluralRule = isObject(options.pluralRules) &&\r\n isString(locale) &&\r\n isFunction(options.pluralRules[locale])\r\n ? options.pluralRules[locale]\r\n : pluralDefault;\r\n const orgPluralRule = isObject(options.pluralRules) &&\r\n isString(locale) &&\r\n isFunction(options.pluralRules[locale])\r\n ? pluralDefault\r\n : undefined;\r\n const plural = (messages) => {\r\n return messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\r\n };\r\n const _list = options.list || [];\r\n const list = (index) => _list[index];\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const _named = options.named || {};\r\n isNumber(options.pluralIndex) && normalizeNamed(pluralIndex, _named);\r\n const named = (key) => _named[key];\r\n function message(key) {\r\n // prettier-ignore\r\n const msg = isFunction(options.messages)\r\n ? options.messages(key)\r\n : isObject(options.messages)\r\n ? options.messages[key]\r\n : false;\r\n return !msg\r\n ? options.parent\r\n ? options.parent.message(key) // resolve from parent messages\r\n : DEFAULT_MESSAGE\r\n : msg;\r\n }\r\n const _modifier = (name) => options.modifiers\r\n ? options.modifiers[name]\r\n : DEFAULT_MODIFIER;\r\n const normalize = isPlainObject(options.processor) && isFunction(options.processor.normalize)\r\n ? options.processor.normalize\r\n : DEFAULT_NORMALIZE;\r\n const interpolate = isPlainObject(options.processor) &&\r\n isFunction(options.processor.interpolate)\r\n ? options.processor.interpolate\r\n : DEFAULT_INTERPOLATE;\r\n const type = isPlainObject(options.processor) && isString(options.processor.type)\r\n ? options.processor.type\r\n : DEFAULT_MESSAGE_DATA_TYPE;\r\n const linked = (key, ...args) => {\r\n const [arg1, arg2] = args;\r\n let type = 'text';\r\n let modifier = '';\r\n if (args.length === 1) {\r\n if (isObject(arg1)) {\r\n modifier = arg1.modifier || modifier;\r\n type = arg1.type || type;\r\n }\r\n else if (isString(arg1)) {\r\n modifier = arg1 || modifier;\r\n }\r\n }\r\n else if (args.length === 2) {\r\n if (isString(arg1)) {\r\n modifier = arg1 || modifier;\r\n }\r\n if (isString(arg2)) {\r\n type = arg2 || type;\r\n }\r\n }\r\n let msg = message(key)(ctx);\r\n // The message in vnode resolved with linked are returned as an array by processor.nomalize\r\n if (type === 'vnode' && isArray(msg) && modifier) {\r\n msg = msg[0];\r\n }\r\n return modifier ? _modifier(modifier)(msg, type) : msg;\r\n };\r\n const ctx = {\r\n [\"list\" /* LIST */]: list,\r\n [\"named\" /* NAMED */]: named,\r\n [\"plural\" /* PLURAL */]: plural,\r\n [\"linked\" /* LINKED */]: linked,\r\n [\"message\" /* MESSAGE */]: message,\r\n [\"type\" /* TYPE */]: type,\r\n [\"interpolate\" /* INTERPOLATE */]: interpolate,\r\n [\"normalize\" /* NORMALIZE */]: normalize\r\n };\r\n return ctx;\r\n}\n\nlet devtools = null;\r\nfunction setDevToolsHook(hook) {\r\n devtools = hook;\r\n}\r\nfunction getDevToolsHook() {\r\n return devtools;\r\n}\r\nfunction initI18nDevTools(i18n, version, meta) {\r\n // TODO: queue if devtools is undefined\r\n devtools &&\r\n devtools.emit(IntlifyDevToolsHooks.I18nInit, {\r\n timestamp: Date.now(),\r\n i18n,\r\n version,\r\n meta\r\n });\r\n}\r\nconst translateDevTools = /* #__PURE__*/ createDevToolsHook(IntlifyDevToolsHooks.FunctionTranslate);\r\nfunction createDevToolsHook(hook) {\r\n return (payloads) => devtools && devtools.emit(hook, payloads);\r\n}\n\nconst CoreWarnCodes = {\r\n NOT_FOUND_KEY: 1,\r\n FALLBACK_TO_TRANSLATE: 2,\r\n CANNOT_FORMAT_NUMBER: 3,\r\n FALLBACK_TO_NUMBER_FORMAT: 4,\r\n CANNOT_FORMAT_DATE: 5,\r\n FALLBACK_TO_DATE_FORMAT: 6,\r\n __EXTEND_POINT__: 7\r\n};\r\n/** @internal */\r\nconst warnMessages = {\r\n [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,\r\n [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,\r\n [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\r\n [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,\r\n [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\r\n [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`\r\n};\r\nfunction getWarnMessage(code, ...args) {\r\n return format(warnMessages[code], ...args);\r\n}\n\n/**\r\n * Fallback with simple implemenation\r\n *\r\n * @remarks\r\n * A fallback locale function implemented with a simple fallback algorithm.\r\n *\r\n * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.\r\n *\r\n * @param ctx - A {@link CoreContext | context}\r\n * @param fallback - A {@link FallbackLocale | fallback locale}\r\n * @param start - A starting {@link Locale | locale}\r\n *\r\n * @returns Fallback locales\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction fallbackWithSimple(ctx, fallback, start // eslint-disable-line @typescript-eslint/no-unused-vars\r\n) {\r\n // prettier-ignore\r\n return [...new Set([\r\n start,\r\n ...(isArray(fallback)\r\n ? fallback\r\n : isObject(fallback)\r\n ? Object.keys(fallback)\r\n : isString(fallback)\r\n ? [fallback]\r\n : [start])\r\n ])];\r\n}\r\n/**\r\n * Fallback with locale chain\r\n *\r\n * @remarks\r\n * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.\r\n *\r\n * @param ctx - A {@link CoreContext | context}\r\n * @param fallback - A {@link FallbackLocale | fallback locale}\r\n * @param start - A starting {@link Locale | locale}\r\n *\r\n * @returns Fallback locales\r\n *\r\n * @VueI18nSee [Fallbacking](../guide/essentials/fallback)\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction fallbackWithLocaleChain(ctx, fallback, start) {\r\n const startLocale = isString(start) ? start : DEFAULT_LOCALE;\r\n const context = ctx;\r\n if (!context.__localeChainCache) {\r\n context.__localeChainCache = new Map();\r\n }\r\n let chain = context.__localeChainCache.get(startLocale);\r\n if (!chain) {\r\n chain = [];\r\n // first block defined by start\r\n let block = [start];\r\n // while any intervening block found\r\n while (isArray(block)) {\r\n block = appendBlockToChain(chain, block, fallback);\r\n }\r\n // prettier-ignore\r\n // last block defined by default\r\n const defaults = isArray(fallback) || !isPlainObject(fallback)\r\n ? fallback\r\n : fallback['default']\r\n ? fallback['default']\r\n : null;\r\n // convert defaults to array\r\n block = isString(defaults) ? [defaults] : defaults;\r\n if (isArray(block)) {\r\n appendBlockToChain(chain, block, false);\r\n }\r\n context.__localeChainCache.set(startLocale, chain);\r\n }\r\n return chain;\r\n}\r\nfunction appendBlockToChain(chain, block, blocks) {\r\n let follow = true;\r\n for (let i = 0; i < block.length && isBoolean(follow); i++) {\r\n const locale = block[i];\r\n if (isString(locale)) {\r\n follow = appendLocaleToChain(chain, block[i], blocks);\r\n }\r\n }\r\n return follow;\r\n}\r\nfunction appendLocaleToChain(chain, locale, blocks) {\r\n let follow;\r\n const tokens = locale.split('-');\r\n do {\r\n const target = tokens.join('-');\r\n follow = appendItemToChain(chain, target, blocks);\r\n tokens.splice(-1, 1);\r\n } while (tokens.length && follow === true);\r\n return follow;\r\n}\r\nfunction appendItemToChain(chain, target, blocks) {\r\n let follow = false;\r\n if (!chain.includes(target)) {\r\n follow = true;\r\n if (target) {\r\n follow = target[target.length - 1] !== '!';\r\n const locale = target.replace(/!/g, '');\r\n chain.push(locale);\r\n if ((isArray(blocks) || isPlainObject(blocks)) &&\r\n blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any\r\n ) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n follow = blocks[locale];\r\n }\r\n }\r\n }\r\n return follow;\r\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/**\r\n * Intlify core-base version\r\n * @internal\r\n */\r\nconst VERSION = '9.2.0';\r\nconst NOT_REOSLVED = -1;\r\nconst DEFAULT_LOCALE = 'en-US';\r\nconst MISSING_RESOLVE_VALUE = '';\r\nconst capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;\r\nfunction getDefaultLinkedModifiers() {\r\n return {\r\n upper: (val, type) => {\r\n // prettier-ignore\r\n return type === 'text' && isString(val)\r\n ? val.toUpperCase()\r\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\r\n ? val.children.toUpperCase()\r\n : val;\r\n },\r\n lower: (val, type) => {\r\n // prettier-ignore\r\n return type === 'text' && isString(val)\r\n ? val.toLowerCase()\r\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\r\n ? val.children.toLowerCase()\r\n : val;\r\n },\r\n capitalize: (val, type) => {\r\n // prettier-ignore\r\n return (type === 'text' && isString(val)\r\n ? capitalize(val)\r\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\r\n ? capitalize(val.children)\r\n : val);\r\n }\r\n };\r\n}\r\nlet _compiler;\r\nfunction registerMessageCompiler(compiler) {\r\n _compiler = compiler;\r\n}\r\nlet _resolver;\r\n/**\r\n * Register the message resolver\r\n *\r\n * @param resolver - A {@link MessageResolver} function\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction registerMessageResolver(resolver) {\r\n _resolver = resolver;\r\n}\r\nlet _fallbacker;\r\n/**\r\n * Register the locale fallbacker\r\n *\r\n * @param fallbacker - A {@link LocaleFallbacker} function\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction registerLocaleFallbacker(fallbacker) {\r\n _fallbacker = fallbacker;\r\n}\r\n// Additional Meta for Intlify DevTools\r\nlet _additionalMeta = null;\r\nconst setAdditionalMeta = (meta) => {\r\n _additionalMeta = meta;\r\n};\r\nconst getAdditionalMeta = () => _additionalMeta;\r\nlet _fallbackContext = null;\r\nconst setFallbackContext = (context) => {\r\n _fallbackContext = context;\r\n};\r\nconst getFallbackContext = () => _fallbackContext;\r\n// ID for CoreContext\r\nlet _cid = 0;\r\nfunction createCoreContext(options = {}) {\r\n // setup options\r\n const version = isString(options.version) ? options.version : VERSION;\r\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\r\n const fallbackLocale = isArray(options.fallbackLocale) ||\r\n isPlainObject(options.fallbackLocale) ||\r\n isString(options.fallbackLocale) ||\r\n options.fallbackLocale === false\r\n ? options.fallbackLocale\r\n : locale;\r\n const messages = isPlainObject(options.messages)\r\n ? options.messages\r\n : { [locale]: {} };\r\n const datetimeFormats = isPlainObject(options.datetimeFormats)\r\n ? options.datetimeFormats\r\n : { [locale]: {} }\r\n ;\r\n const numberFormats = isPlainObject(options.numberFormats)\r\n ? options.numberFormats\r\n : { [locale]: {} }\r\n ;\r\n const modifiers = assign({}, options.modifiers || {}, getDefaultLinkedModifiers());\r\n const pluralRules = options.pluralRules || {};\r\n const missing = isFunction(options.missing) ? options.missing : null;\r\n const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\r\n ? options.missingWarn\r\n : true;\r\n const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : true;\r\n const fallbackFormat = !!options.fallbackFormat;\r\n const unresolving = !!options.unresolving;\r\n const postTranslation = isFunction(options.postTranslation)\r\n ? options.postTranslation\r\n : null;\r\n const processor = isPlainObject(options.processor) ? options.processor : null;\r\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\r\n ? options.warnHtmlMessage\r\n : true;\r\n const escapeParameter = !!options.escapeParameter;\r\n const messageCompiler = isFunction(options.messageCompiler)\r\n ? options.messageCompiler\r\n : _compiler;\r\n const messageResolver = isFunction(options.messageResolver)\r\n ? options.messageResolver\r\n : _resolver || resolveWithKeyValue;\r\n const localeFallbacker = isFunction(options.localeFallbacker)\r\n ? options.localeFallbacker\r\n : _fallbacker || fallbackWithSimple;\r\n const fallbackContext = isObject(options.fallbackContext)\r\n ? options.fallbackContext\r\n : undefined;\r\n const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;\r\n // setup internal options\r\n const internalOptions = options;\r\n const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)\r\n ? internalOptions.__datetimeFormatters\r\n : new Map()\r\n ;\r\n const __numberFormatters = isObject(internalOptions.__numberFormatters)\r\n ? internalOptions.__numberFormatters\r\n : new Map()\r\n ;\r\n const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};\r\n _cid++;\r\n const context = {\r\n version,\r\n cid: _cid,\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n modifiers,\r\n pluralRules,\r\n missing,\r\n missingWarn,\r\n fallbackWarn,\r\n fallbackFormat,\r\n unresolving,\r\n postTranslation,\r\n processor,\r\n warnHtmlMessage,\r\n escapeParameter,\r\n messageCompiler,\r\n messageResolver,\r\n localeFallbacker,\r\n fallbackContext,\r\n onWarn,\r\n __meta\r\n };\r\n {\r\n context.datetimeFormats = datetimeFormats;\r\n context.numberFormats = numberFormats;\r\n context.__datetimeFormatters = __datetimeFormatters;\r\n context.__numberFormatters = __numberFormatters;\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n context.__v_emitter =\r\n internalOptions.__v_emitter != null\r\n ? internalOptions.__v_emitter\r\n : undefined;\r\n }\r\n // NOTE: experimental !!\r\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\r\n initI18nDevTools(context, version, __meta);\r\n }\r\n return context;\r\n}\r\n/** @internal */\r\nfunction isTranslateFallbackWarn(fallback, key) {\r\n return fallback instanceof RegExp ? fallback.test(key) : fallback;\r\n}\r\n/** @internal */\r\nfunction isTranslateMissingWarn(missing, key) {\r\n return missing instanceof RegExp ? missing.test(key) : missing;\r\n}\r\n/** @internal */\r\nfunction handleMissing(context, key, locale, missingWarn, type) {\r\n const { missing, onWarn } = context;\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"missing\" /* MISSING */, {\r\n locale,\r\n key,\r\n type,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n if (missing !== null) {\r\n const ret = missing(context, locale, key, type);\r\n return isString(ret) ? ret : key;\r\n }\r\n else {\r\n if ((process.env.NODE_ENV !== 'production') && isTranslateMissingWarn(missingWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));\r\n }\r\n return key;\r\n }\r\n}\r\n/** @internal */\r\nfunction updateFallbackLocale(ctx, locale, fallback) {\r\n const context = ctx;\r\n context.__localeChainCache = new Map();\r\n ctx.localeFallbacker(ctx, fallback, locale);\r\n}\r\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\r\nconst WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;\r\nfunction checkHtmlMessage(source, options) {\r\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\r\n ? options.warnHtmlMessage\r\n : true;\r\n if (warnHtmlMessage && RE_HTML_TAG.test(source)) {\r\n warn(format(WARN_MESSAGE, { source }));\r\n }\r\n}\r\nconst defaultOnCacheKey = (source) => source;\r\nlet compileCache = Object.create(null);\r\nfunction clearCompileCache() {\r\n compileCache = Object.create(null);\r\n}\r\nfunction compileToFunction(source, options = {}) {\r\n {\r\n // check HTML message\r\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(source, options);\r\n // check caches\r\n const onCacheKey = options.onCacheKey || defaultOnCacheKey;\r\n const key = onCacheKey(source);\r\n const cached = compileCache[key];\r\n if (cached) {\r\n return cached;\r\n }\r\n // compile error detecting\r\n let occurred = false;\r\n const onError = options.onError || defaultOnError;\r\n options.onError = (err) => {\r\n occurred = true;\r\n onError(err);\r\n };\r\n // compile\r\n const { code } = baseCompile(source, options);\r\n // evaluate function\r\n const msg = new Function(`return ${code}`)();\r\n // if occurred compile error, don't cache\r\n return !occurred ? (compileCache[key] = msg) : msg;\r\n }\r\n}\n\nlet code = CompileErrorCodes.__EXTEND_POINT__;\r\nconst inc = () => ++code;\r\nconst CoreErrorCodes = {\r\n INVALID_ARGUMENT: code,\r\n INVALID_DATE_ARGUMENT: inc(),\r\n INVALID_ISO_DATE_ARGUMENT: inc(),\r\n __EXTEND_POINT__: inc() // 18\r\n};\r\nfunction createCoreError(code) {\r\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages } : undefined);\r\n}\r\n/** @internal */\r\nconst errorMessages = {\r\n [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',\r\n [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +\r\n 'Make sure your Date represents a valid date.',\r\n [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string'\r\n};\n\nconst NOOP_MESSAGE_FUNCTION = () => '';\r\nconst isMessageFunction = (val) => isFunction(val);\r\n// implementation of `translate` function\r\nfunction translate(context, ...args) {\r\n const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;\r\n const [key, options] = parseTranslateArgs(...args);\r\n const missingWarn = isBoolean(options.missingWarn)\r\n ? options.missingWarn\r\n : context.missingWarn;\r\n const fallbackWarn = isBoolean(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : context.fallbackWarn;\r\n const escapeParameter = isBoolean(options.escapeParameter)\r\n ? options.escapeParameter\r\n : context.escapeParameter;\r\n const resolvedMessage = !!options.resolvedMessage;\r\n // prettier-ignore\r\n const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option\r\n ? !isBoolean(options.default)\r\n ? options.default\r\n : (!messageCompiler ? () => key : key)\r\n : fallbackFormat // default by `fallbackFormat` option\r\n ? (!messageCompiler ? () => key : key)\r\n : '';\r\n const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== '';\r\n const locale = isString(options.locale) ? options.locale : context.locale;\r\n // escape params\r\n escapeParameter && escapeParams(options);\r\n // resolve message format\r\n // eslint-disable-next-line prefer-const\r\n let [formatScope, targetLocale, message] = !resolvedMessage\r\n ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)\r\n : [\r\n key,\r\n locale,\r\n messages[locale] || {}\r\n ];\r\n // NOTE:\r\n // Fix to work around `ssrTransfrom` bug in Vite.\r\n // https://github.com/vitejs/vite/issues/4306\r\n // To get around this, use temporary variables.\r\n // https://github.com/nuxt/framework/issues/1461#issuecomment-954606243\r\n let format = formatScope;\r\n // if you use default message, set it as message format!\r\n let cacheBaseKey = key;\r\n if (!resolvedMessage &&\r\n !(isString(format) || isMessageFunction(format))) {\r\n if (enableDefaultMsg) {\r\n format = defaultMsgOrKey;\r\n cacheBaseKey = format;\r\n }\r\n }\r\n // checking message format and target locale\r\n if (!resolvedMessage &&\r\n (!(isString(format) || isMessageFunction(format)) ||\r\n !isString(targetLocale))) {\r\n return unresolving ? NOT_REOSLVED : key;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && isString(format) && context.messageCompiler == null) {\r\n warn(`The message format compilation is not supported in this build. ` +\r\n `Because message compiler isn't included. ` +\r\n `You need to pre-compilation all message format. ` +\r\n `So translate function return '${key}'.`);\r\n return key;\r\n }\r\n // setup compile error detecting\r\n let occurred = false;\r\n const errorDetector = () => {\r\n occurred = true;\r\n };\r\n // compile message format\r\n const msg = !isMessageFunction(format)\r\n ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, errorDetector)\r\n : format;\r\n // if occurred compile error, return the message format\r\n if (occurred) {\r\n return format;\r\n }\r\n // evaluate message with context\r\n const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);\r\n const msgContext = createMessageContext(ctxOptions);\r\n const messaged = evaluateMessage(context, msg, msgContext);\r\n // if use post translation option, proceed it with handler\r\n const ret = postTranslation\r\n ? postTranslation(messaged, key)\r\n : messaged;\r\n // NOTE: experimental !!\r\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\r\n // prettier-ignore\r\n const payloads = {\r\n timestamp: Date.now(),\r\n key: isString(key)\r\n ? key\r\n : isMessageFunction(format)\r\n ? format.key\r\n : '',\r\n locale: targetLocale || (isMessageFunction(format)\r\n ? format.locale\r\n : ''),\r\n format: isString(format)\r\n ? format\r\n : isMessageFunction(format)\r\n ? format.source\r\n : '',\r\n message: ret\r\n };\r\n payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});\r\n translateDevTools(payloads);\r\n }\r\n return ret;\r\n}\r\nfunction escapeParams(options) {\r\n if (isArray(options.list)) {\r\n options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);\r\n }\r\n else if (isObject(options.named)) {\r\n Object.keys(options.named).forEach(key => {\r\n if (isString(options.named[key])) {\r\n options.named[key] = escapeHtml(options.named[key]);\r\n }\r\n });\r\n }\r\n}\r\nfunction resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {\r\n const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;\r\n const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any\r\n let message = {};\r\n let targetLocale;\r\n let format = null;\r\n let from = locale;\r\n let to = null;\r\n const type = 'translate';\r\n for (let i = 0; i < locales.length; i++) {\r\n targetLocale = to = locales[i];\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n locale !== targetLocale &&\r\n isTranslateFallbackWarn(fallbackWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {\r\n key,\r\n target: targetLocale\r\n }));\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"fallback\" /* FALBACK */, {\r\n type,\r\n key,\r\n from,\r\n to,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n message =\r\n messages[targetLocale] || {};\r\n // for vue-devtools timeline event\r\n let start = null;\r\n let startTag;\r\n let endTag;\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n start = window.performance.now();\r\n startTag = 'intlify-message-resolve-start';\r\n endTag = 'intlify-message-resolve-end';\r\n mark && mark(startTag);\r\n }\r\n if ((format = resolveValue(message, key)) === null) {\r\n // if null, resolve with object key path\r\n format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n const end = window.performance.now();\r\n const emitter = context.__v_emitter;\r\n if (emitter && start && format) {\r\n emitter.emit(\"message-resolve\" /* MESSAGE_RESOLVE */, {\r\n type: \"message-resolve\" /* MESSAGE_RESOLVE */,\r\n key,\r\n message: format,\r\n time: end - start,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n if (startTag && endTag && mark && measure) {\r\n mark(endTag);\r\n measure('intlify message resolve', startTag, endTag);\r\n }\r\n }\r\n if (isString(format) || isFunction(format))\r\n break;\r\n const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any\r\n key, targetLocale, missingWarn, type);\r\n if (missingRet !== key) {\r\n format = missingRet;\r\n }\r\n from = to;\r\n }\r\n return [format, targetLocale, message];\r\n}\r\nfunction compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, errorDetector) {\r\n const { messageCompiler, warnHtmlMessage } = context;\r\n if (isMessageFunction(format)) {\r\n const msg = format;\r\n msg.locale = msg.locale || targetLocale;\r\n msg.key = msg.key || key;\r\n return msg;\r\n }\r\n if (messageCompiler == null) {\r\n const msg = (() => format);\r\n msg.locale = targetLocale;\r\n msg.key = key;\r\n return msg;\r\n }\r\n // for vue-devtools timeline event\r\n let start = null;\r\n let startTag;\r\n let endTag;\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n start = window.performance.now();\r\n startTag = 'intlify-message-compilation-start';\r\n endTag = 'intlify-message-compilation-end';\r\n mark && mark(startTag);\r\n }\r\n const msg = messageCompiler(format, getCompileOptions(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, errorDetector));\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n const end = window.performance.now();\r\n const emitter = context.__v_emitter;\r\n if (emitter && start) {\r\n emitter.emit(\"message-compilation\" /* MESSAGE_COMPILATION */, {\r\n type: \"message-compilation\" /* MESSAGE_COMPILATION */,\r\n message: format,\r\n time: end - start,\r\n groupId: `${'translate'}:${key}`\r\n });\r\n }\r\n if (startTag && endTag && mark && measure) {\r\n mark(endTag);\r\n measure('intlify message compilation', startTag, endTag);\r\n }\r\n }\r\n msg.locale = targetLocale;\r\n msg.key = key;\r\n msg.source = format;\r\n return msg;\r\n}\r\nfunction evaluateMessage(context, msg, msgCtx) {\r\n // for vue-devtools timeline event\r\n let start = null;\r\n let startTag;\r\n let endTag;\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n start = window.performance.now();\r\n startTag = 'intlify-message-evaluation-start';\r\n endTag = 'intlify-message-evaluation-end';\r\n mark && mark(startTag);\r\n }\r\n const messaged = msg(msgCtx);\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n const end = window.performance.now();\r\n const emitter = context.__v_emitter;\r\n if (emitter && start) {\r\n emitter.emit(\"message-evaluation\" /* MESSAGE_EVALUATION */, {\r\n type: \"message-evaluation\" /* MESSAGE_EVALUATION */,\r\n value: messaged,\r\n time: end - start,\r\n groupId: `${'translate'}:${msg.key}`\r\n });\r\n }\r\n if (startTag && endTag && mark && measure) {\r\n mark(endTag);\r\n measure('intlify message evaluation', startTag, endTag);\r\n }\r\n }\r\n return messaged;\r\n}\r\n/** @internal */\r\nfunction parseTranslateArgs(...args) {\r\n const [arg1, arg2, arg3] = args;\r\n const options = {};\r\n if (!isString(arg1) && !isNumber(arg1) && !isMessageFunction(arg1)) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\r\n }\r\n // prettier-ignore\r\n const key = isNumber(arg1)\r\n ? String(arg1)\r\n : isMessageFunction(arg1)\r\n ? arg1\r\n : arg1;\r\n if (isNumber(arg2)) {\r\n options.plural = arg2;\r\n }\r\n else if (isString(arg2)) {\r\n options.default = arg2;\r\n }\r\n else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {\r\n options.named = arg2;\r\n }\r\n else if (isArray(arg2)) {\r\n options.list = arg2;\r\n }\r\n if (isNumber(arg3)) {\r\n options.plural = arg3;\r\n }\r\n else if (isString(arg3)) {\r\n options.default = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n assign(options, arg3);\r\n }\r\n return [key, options];\r\n}\r\nfunction getCompileOptions(context, locale, key, source, warnHtmlMessage, errorDetector) {\r\n return {\r\n warnHtmlMessage,\r\n onError: (err) => {\r\n errorDetector && errorDetector(err);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const message = `Message compilation error: ${err.message}`;\r\n const codeFrame = err.location &&\r\n generateCodeFrame(source, err.location.start.offset, err.location.end.offset);\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"compile-error\" /* COMPILE_ERROR */, {\r\n message: source,\r\n error: err.message,\r\n start: err.location && err.location.start.offset,\r\n end: err.location && err.location.end.offset,\r\n groupId: `${'translate'}:${key}`\r\n });\r\n }\r\n console.error(codeFrame ? `${message}\\n${codeFrame}` : message);\r\n }\r\n else {\r\n throw err;\r\n }\r\n },\r\n onCacheKey: (source) => generateFormatCacheKey(locale, key, source)\r\n };\r\n}\r\nfunction getMessageContextOptions(context, locale, message, options) {\r\n const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;\r\n const resolveMessage = (key) => {\r\n let val = resolveValue(message, key);\r\n // fallback to root context\r\n if (val == null && fallbackContext) {\r\n const [, , message] = resolveMessageFormat(fallbackContext, key, locale, fallbackLocale, fallbackWarn, missingWarn);\r\n val = resolveValue(message, key);\r\n }\r\n if (isString(val)) {\r\n let occurred = false;\r\n const errorDetector = () => {\r\n occurred = true;\r\n };\r\n const msg = compileMessageFormat(context, key, locale, val, key, errorDetector);\r\n return !occurred\r\n ? msg\r\n : NOOP_MESSAGE_FUNCTION;\r\n }\r\n else if (isMessageFunction(val)) {\r\n return val;\r\n }\r\n else {\r\n // TODO: should be implemented warning message\r\n return NOOP_MESSAGE_FUNCTION;\r\n }\r\n };\r\n const ctxOptions = {\r\n locale,\r\n modifiers,\r\n pluralRules,\r\n messages: resolveMessage\r\n };\r\n if (context.processor) {\r\n ctxOptions.processor = context.processor;\r\n }\r\n if (options.list) {\r\n ctxOptions.list = options.list;\r\n }\r\n if (options.named) {\r\n ctxOptions.named = options.named;\r\n }\r\n if (isNumber(options.plural)) {\r\n ctxOptions.pluralIndex = options.plural;\r\n }\r\n return ctxOptions;\r\n}\n\nconst intlDefined = typeof Intl !== 'undefined';\r\nconst Availabilities = {\r\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\r\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\r\n};\n\n// implementation of `datetime` function\r\nfunction datetime(context, ...args) {\r\n const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\r\n const { __datetimeFormatters } = context;\r\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\r\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_DATE));\r\n return MISSING_RESOLVE_VALUE;\r\n }\r\n const [key, value, options, overrides] = parseDateTimeArgs(...args);\r\n const missingWarn = isBoolean(options.missingWarn)\r\n ? options.missingWarn\r\n : context.missingWarn;\r\n const fallbackWarn = isBoolean(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : context.fallbackWarn;\r\n const part = !!options.part;\r\n const locale = isString(options.locale) ? options.locale : context.locale;\r\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\r\n fallbackLocale, locale);\r\n if (!isString(key) || key === '') {\r\n return new Intl.DateTimeFormat(locale, overrides).format(value);\r\n }\r\n // resolve format\r\n let datetimeFormat = {};\r\n let targetLocale;\r\n let format = null;\r\n let from = locale;\r\n let to = null;\r\n const type = 'datetime format';\r\n for (let i = 0; i < locales.length; i++) {\r\n targetLocale = to = locales[i];\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n locale !== targetLocale &&\r\n isTranslateFallbackWarn(fallbackWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {\r\n key,\r\n target: targetLocale\r\n }));\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"fallback\" /* FALBACK */, {\r\n type,\r\n key,\r\n from,\r\n to,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n datetimeFormat =\r\n datetimeFormats[targetLocale] || {};\r\n format = datetimeFormat[key];\r\n if (isPlainObject(format))\r\n break;\r\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\r\n from = to;\r\n }\r\n // checking format and target locale\r\n if (!isPlainObject(format) || !isString(targetLocale)) {\r\n return unresolving ? NOT_REOSLVED : key;\r\n }\r\n let id = `${targetLocale}__${key}`;\r\n if (!isEmptyObject(overrides)) {\r\n id = `${id}__${JSON.stringify(overrides)}`;\r\n }\r\n let formatter = __datetimeFormatters.get(id);\r\n if (!formatter) {\r\n formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));\r\n __datetimeFormatters.set(id, formatter);\r\n }\r\n return !part ? formatter.format(value) : formatter.formatToParts(value);\r\n}\r\n/** @internal */\r\nconst DATETIME_FORMAT_OPTIONS_KEYS = [\r\n 'localeMatcher',\r\n 'weekday',\r\n 'era',\r\n 'year',\r\n 'month',\r\n 'day',\r\n 'hour',\r\n 'minute',\r\n 'second',\r\n 'timeZoneName',\r\n 'formatMatcher',\r\n 'hour12',\r\n 'timeZone',\r\n 'dateStyle',\r\n 'timeStyle',\r\n 'calendar',\r\n 'dayPeriod',\r\n 'numberingSystem',\r\n 'hourCycle',\r\n 'fractionalSecondDigits'\r\n];\r\n/** @internal */\r\nfunction parseDateTimeArgs(...args) {\r\n const [arg1, arg2, arg3, arg4] = args;\r\n const options = {};\r\n let overrides = {};\r\n let value;\r\n if (isString(arg1)) {\r\n // Only allow ISO strings - other date formats are often supported,\r\n // but may cause different results in different browsers.\r\n const matches = arg1.match(/(\\d{4}-\\d{2}-\\d{2})(T|\\s)?(.*)/);\r\n if (!matches) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\r\n }\r\n // Some browsers can not parse the iso datetime separated by space,\r\n // this is a compromise solution by replace the 'T'/' ' with 'T'\r\n const dateTime = matches[3]\r\n ? matches[3].trim().startsWith('T')\r\n ? `${matches[1].trim()}${matches[3].trim()}`\r\n : `${matches[1].trim()}T${matches[3].trim()}`\r\n : matches[1].trim();\r\n value = new Date(dateTime);\r\n try {\r\n // This will fail if the date is not valid\r\n value.toISOString();\r\n }\r\n catch (e) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\r\n }\r\n }\r\n else if (isDate(arg1)) {\r\n if (isNaN(arg1.getTime())) {\r\n throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);\r\n }\r\n value = arg1;\r\n }\r\n else if (isNumber(arg1)) {\r\n value = arg1;\r\n }\r\n else {\r\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\r\n }\r\n if (isString(arg2)) {\r\n options.key = arg2;\r\n }\r\n else if (isPlainObject(arg2)) {\r\n Object.keys(arg2).forEach(key => {\r\n if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {\r\n overrides[key] = arg2[key];\r\n }\r\n else {\r\n options[key] = arg2[key];\r\n }\r\n });\r\n }\r\n if (isString(arg3)) {\r\n options.locale = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n overrides = arg3;\r\n }\r\n if (isPlainObject(arg4)) {\r\n overrides = arg4;\r\n }\r\n return [options.key || '', value, options, overrides];\r\n}\r\n/** @internal */\r\nfunction clearDateTimeFormat(ctx, locale, format) {\r\n const context = ctx;\r\n for (const key in format) {\r\n const id = `${locale}__${key}`;\r\n if (!context.__datetimeFormatters.has(id)) {\r\n continue;\r\n }\r\n context.__datetimeFormatters.delete(id);\r\n }\r\n}\n\n// implementation of `number` function\r\nfunction number(context, ...args) {\r\n const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\r\n const { __numberFormatters } = context;\r\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\r\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_NUMBER));\r\n return MISSING_RESOLVE_VALUE;\r\n }\r\n const [key, value, options, overrides] = parseNumberArgs(...args);\r\n const missingWarn = isBoolean(options.missingWarn)\r\n ? options.missingWarn\r\n : context.missingWarn;\r\n const fallbackWarn = isBoolean(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : context.fallbackWarn;\r\n const part = !!options.part;\r\n const locale = isString(options.locale) ? options.locale : context.locale;\r\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\r\n fallbackLocale, locale);\r\n if (!isString(key) || key === '') {\r\n return new Intl.NumberFormat(locale, overrides).format(value);\r\n }\r\n // resolve format\r\n let numberFormat = {};\r\n let targetLocale;\r\n let format = null;\r\n let from = locale;\r\n let to = null;\r\n const type = 'number format';\r\n for (let i = 0; i < locales.length; i++) {\r\n targetLocale = to = locales[i];\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n locale !== targetLocale &&\r\n isTranslateFallbackWarn(fallbackWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {\r\n key,\r\n target: targetLocale\r\n }));\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"fallback\" /* FALBACK */, {\r\n type,\r\n key,\r\n from,\r\n to,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n numberFormat =\r\n numberFormats[targetLocale] || {};\r\n format = numberFormat[key];\r\n if (isPlainObject(format))\r\n break;\r\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\r\n from = to;\r\n }\r\n // checking format and target locale\r\n if (!isPlainObject(format) || !isString(targetLocale)) {\r\n return unresolving ? NOT_REOSLVED : key;\r\n }\r\n let id = `${targetLocale}__${key}`;\r\n if (!isEmptyObject(overrides)) {\r\n id = `${id}__${JSON.stringify(overrides)}`;\r\n }\r\n let formatter = __numberFormatters.get(id);\r\n if (!formatter) {\r\n formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));\r\n __numberFormatters.set(id, formatter);\r\n }\r\n return !part ? formatter.format(value) : formatter.formatToParts(value);\r\n}\r\n/** @internal */\r\nconst NUMBER_FORMAT_OPTIONS_KEYS = [\r\n 'localeMatcher',\r\n 'style',\r\n 'currency',\r\n 'currencyDisplay',\r\n 'currencySign',\r\n 'useGrouping',\r\n 'minimumIntegerDigits',\r\n 'minimumFractionDigits',\r\n 'maximumFractionDigits',\r\n 'minimumSignificantDigits',\r\n 'maximumSignificantDigits',\r\n 'compactDisplay',\r\n 'notation',\r\n 'signDisplay',\r\n 'unit',\r\n 'unitDisplay',\r\n 'roundingMode',\r\n 'roundingPriority',\r\n 'roundingIncrement',\r\n 'trailingZeroDisplay'\r\n];\r\n/** @internal */\r\nfunction parseNumberArgs(...args) {\r\n const [arg1, arg2, arg3, arg4] = args;\r\n const options = {};\r\n let overrides = {};\r\n if (!isNumber(arg1)) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\r\n }\r\n const value = arg1;\r\n if (isString(arg2)) {\r\n options.key = arg2;\r\n }\r\n else if (isPlainObject(arg2)) {\r\n Object.keys(arg2).forEach(key => {\r\n if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {\r\n overrides[key] = arg2[key];\r\n }\r\n else {\r\n options[key] = arg2[key];\r\n }\r\n });\r\n }\r\n if (isString(arg3)) {\r\n options.locale = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n overrides = arg3;\r\n }\r\n if (isPlainObject(arg4)) {\r\n overrides = arg4;\r\n }\r\n return [options.key || '', value, options, overrides];\r\n}\r\n/** @internal */\r\nfunction clearNumberFormat(ctx, locale, format) {\r\n const context = ctx;\r\n for (const key in format) {\r\n const id = `${locale}__${key}`;\r\n if (!context.__numberFormatters.has(id)) {\r\n continue;\r\n }\r\n context.__numberFormatters.delete(id);\r\n }\r\n}\n\n// TODO: we could not exports for Node native ES Moudles yet...\r\n{\r\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\r\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\r\n }\r\n}\n\nexport { CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compileToFunction, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getWarnMessage, handleMissing, initI18nDevTools, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n","/*!\n * vue-devtools v9.2.0\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nconst VueDevToolsLabels = {\r\n [\"vue-devtools-plugin-vue-i18n\" /* PLUGIN */]: 'Vue I18n devtools',\r\n [\"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */]: 'I18n Resources',\r\n [\"vue-i18n-timeline\" /* TIMELINE */]: 'Vue I18n'\r\n};\r\nconst VueDevToolsPlaceholders = {\r\n [\"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */]: 'Search for scopes ...'\r\n};\r\nconst VueDevToolsTimelineColors = {\r\n [\"vue-i18n-timeline\" /* TIMELINE */]: 0xffcd19\r\n};\n\nexport { VueDevToolsLabels, VueDevToolsPlaceholders, VueDevToolsTimelineColors };\n","/*!\n * vue-i18n v9.2.0\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, format, makeSymbol, isPlainObject, isArray, isString, hasOwn, isObject, isBoolean, isRegExp, isFunction, inBrowser, assign, isNumber, warn, createEmitter, isEmptyObject } from '@intlify/shared';\nimport { CoreWarnCodes, CompileErrorCodes, createCompileError, DEFAULT_LOCALE, updateFallbackLocale, setFallbackContext, createCoreContext, clearDateTimeFormat, clearNumberFormat, setAdditionalMeta, getFallbackContext, NOT_REOSLVED, isTranslateFallbackWarn, isTranslateMissingWarn, parseTranslateArgs, translate, MISSING_RESOLVE_VALUE, parseDateTimeArgs, datetime, parseNumberArgs, number, fallbackWithLocaleChain, NUMBER_FORMAT_OPTIONS_KEYS, DATETIME_FORMAT_OPTIONS_KEYS, registerMessageCompiler, compileToFunction, registerMessageResolver, resolveValue, registerLocaleFallbacker, setDevToolsHook } from '@intlify/core-base';\nimport { createVNode, Text, ref, computed, watch, getCurrentInstance, Fragment, h, effectScope, inject, onMounted, onUnmounted, shallowRef, onBeforeMount, isRef } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\nimport { VueDevToolsLabels, VueDevToolsPlaceholders, VueDevToolsTimelineColors } from '@intlify/vue-devtools';\n\n/**\r\n * Vue I18n Version\r\n *\r\n * @remarks\r\n * Semver format. Same format as the package.json `version` field.\r\n *\r\n * @VueI18nGeneral\r\n */\r\nconst VERSION = '9.2.0';\r\n/**\r\n * This is only called in esm-bundler builds.\r\n * istanbul-ignore-next\r\n */\r\nfunction initFeatureFlags() {\r\n let needWarn = false;\r\n if (typeof __VUE_I18N_FULL_INSTALL__ !== 'boolean') {\r\n needWarn = true;\r\n getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;\r\n }\r\n if (typeof __VUE_I18N_LEGACY_API__ !== 'boolean') {\r\n needWarn = true;\r\n getGlobalThis().__VUE_I18N_LEGACY_API__ = true;\r\n }\r\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\r\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && needWarn) {\r\n console.warn(`You are running the esm-bundler build of vue-i18n. It is recommended to ` +\r\n `configure your bundler to explicitly replace feature flag globals ` +\r\n `with boolean literals to get proper tree-shaking in the final bundle.`);\r\n }\r\n}\n\nlet code$1 = CoreWarnCodes.__EXTEND_POINT__;\r\nconst inc$1 = () => ++code$1;\r\nconst I18nWarnCodes = {\r\n FALLBACK_TO_ROOT: code$1,\r\n NOT_SUPPORTED_PRESERVE: inc$1(),\r\n NOT_SUPPORTED_FORMATTER: inc$1(),\r\n NOT_SUPPORTED_PRESERVE_DIRECTIVE: inc$1(),\r\n NOT_SUPPORTED_GET_CHOICE_INDEX: inc$1(),\r\n COMPONENT_NAME_LEGACY_COMPATIBLE: inc$1(),\r\n NOT_FOUND_PARENT_SCOPE: inc$1() // 13\r\n};\r\nconst warnMessages = {\r\n [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`,\r\n [I18nWarnCodes.NOT_SUPPORTED_PRESERVE]: `Not supported 'preserve'.`,\r\n [I18nWarnCodes.NOT_SUPPORTED_FORMATTER]: `Not supported 'formatter'.`,\r\n [I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE]: `Not supported 'preserveDirectiveContent'.`,\r\n [I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX]: `Not supported 'getChoiceIndex'.`,\r\n [I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE]: `Component name legacy compatible: '{name}' -> 'i18n'`,\r\n [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`\r\n};\r\nfunction getWarnMessage(code, ...args) {\r\n return format(warnMessages[code], ...args);\r\n}\n\nlet code = CompileErrorCodes.__EXTEND_POINT__;\r\nconst inc = () => ++code;\r\nconst I18nErrorCodes = {\r\n // composer module errors\r\n UNEXPECTED_RETURN_TYPE: code,\r\n // legacy module errors\r\n INVALID_ARGUMENT: inc(),\r\n // i18n module errors\r\n MUST_BE_CALL_SETUP_TOP: inc(),\r\n NOT_INSLALLED: inc(),\r\n NOT_AVAILABLE_IN_LEGACY_MODE: inc(),\r\n // directive module errors\r\n REQUIRED_VALUE: inc(),\r\n INVALID_VALUE: inc(),\r\n // vue-devtools errors\r\n CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: inc(),\r\n NOT_INSLALLED_WITH_PROVIDE: inc(),\r\n // unexpected error\r\n UNEXPECTED_ERROR: inc(),\r\n // not compatible legacy vue-i18n constructor\r\n NOT_COMPATIBLE_LEGACY_VUE_I18N: inc(),\r\n // bridge support vue 2.x only\r\n BRIDGE_SUPPORT_VUE_2_ONLY: inc(),\r\n // need to define `i18n` option in `allowComposition: true` and `useScope: 'local' at `useI18n``\r\n MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION: inc(),\r\n // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly\r\n NOT_AVAILABLE_COMPOSITION_IN_LEGACY: inc(),\r\n // for enhancement\r\n __EXTEND_POINT__: inc() // 29\r\n};\r\nfunction createI18nError(code, ...args) {\r\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages, args } : undefined);\r\n}\r\nconst errorMessages = {\r\n [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: 'Unexpected return type in composer',\r\n [I18nErrorCodes.INVALID_ARGUMENT]: 'Invalid argument',\r\n [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: 'Must be called at the top of a `setup` function',\r\n [I18nErrorCodes.NOT_INSLALLED]: 'Need to install with `app.use` function',\r\n [I18nErrorCodes.UNEXPECTED_ERROR]: 'Unexpected error',\r\n [I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE]: 'Not available in legacy mode',\r\n [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`,\r\n [I18nErrorCodes.INVALID_VALUE]: `Invalid value`,\r\n [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`,\r\n [I18nErrorCodes.NOT_INSLALLED_WITH_PROVIDE]: 'Need to install with `provide` function',\r\n [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: 'Not compatible legacy VueI18n.',\r\n [I18nErrorCodes.BRIDGE_SUPPORT_VUE_2_ONLY]: 'vue-i18n-bridge support Vue 2.x only',\r\n [I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION]: 'Must define ‘i18n’ option or custom block in Composition API with using local scope in Legacy API mode',\r\n [I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: 'Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly'\r\n};\n\nconst TransrateVNodeSymbol = \r\n/* #__PURE__*/ makeSymbol('__transrateVNode');\r\nconst DatetimePartsSymbol = /* #__PURE__*/ makeSymbol('__datetimeParts');\r\nconst NumberPartsSymbol = /* #__PURE__*/ makeSymbol('__numberParts');\r\nconst EnableEmitter = /* #__PURE__*/ makeSymbol('__enableEmitter');\r\nconst DisableEmitter = /* #__PURE__*/ makeSymbol('__disableEmitter');\r\nconst SetPluralRulesSymbol = makeSymbol('__setPluralRules');\r\nmakeSymbol('__intlifyMeta');\r\nconst InejctWithOption = /* #__PURE__*/ makeSymbol('__injectWithOption');\r\nconst __VUE_I18N_BRIDGE__ = '__VUE_I18N_BRIDGE__';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/**\r\n * Transform flat json in obj to normal json in obj\r\n */\r\nfunction handleFlatJson(obj) {\r\n // check obj\r\n if (!isObject(obj)) {\r\n return obj;\r\n }\r\n for (const key in obj) {\r\n // check key\r\n if (!hasOwn(obj, key)) {\r\n continue;\r\n }\r\n // handle for normal json\r\n if (!key.includes('.')) {\r\n // recursive process value if value is also a object\r\n if (isObject(obj[key])) {\r\n handleFlatJson(obj[key]);\r\n }\r\n }\r\n // handle for flat json, transform to normal json\r\n else {\r\n // go to the last object\r\n const subKeys = key.split('.');\r\n const lastIndex = subKeys.length - 1;\r\n let currentObj = obj;\r\n for (let i = 0; i < lastIndex; i++) {\r\n if (!(subKeys[i] in currentObj)) {\r\n currentObj[subKeys[i]] = {};\r\n }\r\n currentObj = currentObj[subKeys[i]];\r\n }\r\n // update last object value, delete old property\r\n currentObj[subKeys[lastIndex]] = obj[key];\r\n delete obj[key];\r\n // recursive process value if value is also a object\r\n if (isObject(currentObj[subKeys[lastIndex]])) {\r\n handleFlatJson(currentObj[subKeys[lastIndex]]);\r\n }\r\n }\r\n }\r\n return obj;\r\n}\r\nfunction getLocaleMessages(locale, options) {\r\n const { messages, __i18n, messageResolver, flatJson } = options;\r\n // prettier-ignore\r\n const ret = isPlainObject(messages)\r\n ? messages\r\n : isArray(__i18n)\r\n ? {}\r\n : { [locale]: {} };\r\n // merge locale messages of i18n custom block\r\n if (isArray(__i18n)) {\r\n __i18n.forEach(custom => {\r\n if ('locale' in custom && 'resource' in custom) {\r\n const { locale, resource } = custom;\r\n if (locale) {\r\n ret[locale] = ret[locale] || {};\r\n deepCopy(resource, ret[locale]);\r\n }\r\n else {\r\n deepCopy(resource, ret);\r\n }\r\n }\r\n else {\r\n isString(custom) && deepCopy(JSON.parse(custom), ret);\r\n }\r\n });\r\n }\r\n // handle messages for flat json\r\n if (messageResolver == null && flatJson) {\r\n for (const key in ret) {\r\n if (hasOwn(ret, key)) {\r\n handleFlatJson(ret[key]);\r\n }\r\n }\r\n }\r\n return ret;\r\n}\r\nconst isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\r\nfunction deepCopy(src, des) {\r\n // src and des should both be objects, and non of then can be a array\r\n if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {\r\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\r\n }\r\n for (const key in src) {\r\n if (hasOwn(src, key)) {\r\n if (isNotObjectOrIsArray(src[key]) || isNotObjectOrIsArray(des[key])) {\r\n // replace with src[key] when:\r\n // src[key] or des[key] is not a object, or\r\n // src[key] or des[key] is a array\r\n des[key] = src[key];\r\n }\r\n else {\r\n // src[key] and des[key] are both object, merge them\r\n deepCopy(src[key], des[key]);\r\n }\r\n }\r\n }\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getComponentOptions(instance) {\r\n return instance.type ;\r\n}\r\nfunction adjustI18nResources(global, options, componentOptions // eslint-disable-line @typescript-eslint/no-explicit-any\r\n) {\r\n let messages = isObject(options.messages) ? options.messages : {};\r\n if ('__i18nGlobal' in componentOptions) {\r\n messages = getLocaleMessages(global.locale.value, {\r\n messages,\r\n __i18n: componentOptions.__i18nGlobal\r\n });\r\n }\r\n // merge locale messages\r\n const locales = Object.keys(messages);\r\n if (locales.length) {\r\n locales.forEach(locale => {\r\n global.mergeLocaleMessage(locale, messages[locale]);\r\n });\r\n }\r\n {\r\n // merge datetime formats\r\n if (isObject(options.datetimeFormats)) {\r\n const locales = Object.keys(options.datetimeFormats);\r\n if (locales.length) {\r\n locales.forEach(locale => {\r\n global.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);\r\n });\r\n }\r\n }\r\n // merge number formats\r\n if (isObject(options.numberFormats)) {\r\n const locales = Object.keys(options.numberFormats);\r\n if (locales.length) {\r\n locales.forEach(locale => {\r\n global.mergeNumberFormat(locale, options.numberFormats[locale]);\r\n });\r\n }\r\n }\r\n }\r\n}\r\nfunction createTextNode(key) {\r\n return createVNode(Text, null, key, 0)\r\n ;\r\n}\r\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\n// extend VNode interface\r\nconst DEVTOOLS_META = '__INTLIFY_META__';\r\nlet composerID = 0;\r\nfunction defineCoreMissingHandler(missing) {\r\n return ((ctx, locale, key, type) => {\r\n return missing(locale, key, getCurrentInstance() || undefined, type);\r\n });\r\n}\r\n// for Intlify DevTools\r\nconst getMetaInfo = () => {\r\n const instance = getCurrentInstance();\r\n let meta = null; // eslint-disable-line @typescript-eslint/no-explicit-any\r\n return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META])\r\n ? { [DEVTOOLS_META]: meta } // eslint-disable-line @typescript-eslint/no-explicit-any\r\n : null;\r\n};\r\n/**\r\n * Create composer interface factory\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\r\nfunction createComposer(options = {}, VueI18nLegacy) {\r\n const { __root } = options;\r\n const _isGlobal = __root === undefined;\r\n let _inheritLocale = isBoolean(options.inheritLocale)\r\n ? options.inheritLocale\r\n : true;\r\n const _locale = ref(\r\n // prettier-ignore\r\n __root && _inheritLocale\r\n ? __root.locale.value\r\n : isString(options.locale)\r\n ? options.locale\r\n : DEFAULT_LOCALE);\r\n const _fallbackLocale = ref(\r\n // prettier-ignore\r\n __root && _inheritLocale\r\n ? __root.fallbackLocale.value\r\n : isString(options.fallbackLocale) ||\r\n isArray(options.fallbackLocale) ||\r\n isPlainObject(options.fallbackLocale) ||\r\n options.fallbackLocale === false\r\n ? options.fallbackLocale\r\n : _locale.value);\r\n const _messages = ref(getLocaleMessages(_locale.value, options));\r\n // prettier-ignore\r\n const _datetimeFormats = ref(isPlainObject(options.datetimeFormats)\r\n ? options.datetimeFormats\r\n : { [_locale.value]: {} })\r\n ;\r\n // prettier-ignore\r\n const _numberFormats = ref(isPlainObject(options.numberFormats)\r\n ? options.numberFormats\r\n : { [_locale.value]: {} })\r\n ;\r\n // warning suppress options\r\n // prettier-ignore\r\n let _missingWarn = __root\r\n ? __root.missingWarn\r\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\r\n ? options.missingWarn\r\n : true;\r\n // prettier-ignore\r\n let _fallbackWarn = __root\r\n ? __root.fallbackWarn\r\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : true;\r\n // prettier-ignore\r\n let _fallbackRoot = __root\r\n ? __root.fallbackRoot\r\n : isBoolean(options.fallbackRoot)\r\n ? options.fallbackRoot\r\n : true;\r\n // configure fall back to root\r\n let _fallbackFormat = !!options.fallbackFormat;\r\n // runtime missing\r\n let _missing = isFunction(options.missing) ? options.missing : null;\r\n let _runtimeMissing = isFunction(options.missing)\r\n ? defineCoreMissingHandler(options.missing)\r\n : null;\r\n // postTranslation handler\r\n let _postTranslation = isFunction(options.postTranslation)\r\n ? options.postTranslation\r\n : null;\r\n // prettier-ignore\r\n let _warnHtmlMessage = __root\r\n ? __root.warnHtmlMessage\r\n : isBoolean(options.warnHtmlMessage)\r\n ? options.warnHtmlMessage\r\n : true;\r\n let _escapeParameter = !!options.escapeParameter;\r\n // custom linked modifiers\r\n // prettier-ignore\r\n const _modifiers = __root\r\n ? __root.modifiers\r\n : isPlainObject(options.modifiers)\r\n ? options.modifiers\r\n : {};\r\n // pluralRules\r\n let _pluralRules = options.pluralRules || (__root && __root.pluralRules);\r\n // runtime context\r\n // eslint-disable-next-line prefer-const\r\n let _context;\r\n function getCoreContext() {\r\n _isGlobal && setFallbackContext(null);\r\n const ctxOptions = {\r\n version: VERSION,\r\n locale: _locale.value,\r\n fallbackLocale: _fallbackLocale.value,\r\n messages: _messages.value,\r\n modifiers: _modifiers,\r\n pluralRules: _pluralRules,\r\n missing: _runtimeMissing === null ? undefined : _runtimeMissing,\r\n missingWarn: _missingWarn,\r\n fallbackWarn: _fallbackWarn,\r\n fallbackFormat: _fallbackFormat,\r\n unresolving: true,\r\n postTranslation: _postTranslation === null ? undefined : _postTranslation,\r\n warnHtmlMessage: _warnHtmlMessage,\r\n escapeParameter: _escapeParameter,\r\n messageResolver: options.messageResolver,\r\n __meta: { framework: 'vue' }\r\n };\r\n {\r\n ctxOptions.datetimeFormats = _datetimeFormats.value;\r\n ctxOptions.numberFormats = _numberFormats.value;\r\n ctxOptions.__datetimeFormatters = isPlainObject(_context)\r\n ? _context.__datetimeFormatters\r\n : undefined;\r\n ctxOptions.__numberFormatters = isPlainObject(_context)\r\n ? _context.__numberFormatters\r\n : undefined;\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n ctxOptions.__v_emitter = isPlainObject(_context)\r\n ? _context.__v_emitter\r\n : undefined;\r\n }\r\n const ctx = createCoreContext(ctxOptions);\r\n _isGlobal && setFallbackContext(ctx);\r\n return ctx;\r\n }\r\n _context = getCoreContext();\r\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\r\n // track reactivity\r\n function trackReactivityValues() {\r\n return [\r\n _locale.value,\r\n _fallbackLocale.value,\r\n _messages.value,\r\n _datetimeFormats.value,\r\n _numberFormats.value\r\n ]\r\n ;\r\n }\r\n // locale\r\n const locale = computed({\r\n get: () => _locale.value,\r\n set: val => {\r\n _locale.value = val;\r\n _context.locale = _locale.value;\r\n }\r\n });\r\n // fallbackLocale\r\n const fallbackLocale = computed({\r\n get: () => _fallbackLocale.value,\r\n set: val => {\r\n _fallbackLocale.value = val;\r\n _context.fallbackLocale = _fallbackLocale.value;\r\n updateFallbackLocale(_context, _locale.value, val);\r\n }\r\n });\r\n // messages\r\n const messages = computed(() => _messages.value);\r\n // datetimeFormats\r\n const datetimeFormats = /* #__PURE__*/ computed(() => _datetimeFormats.value);\r\n // numberFormats\r\n const numberFormats = /* #__PURE__*/ computed(() => _numberFormats.value);\r\n // getPostTranslationHandler\r\n function getPostTranslationHandler() {\r\n return isFunction(_postTranslation) ? _postTranslation : null;\r\n }\r\n // setPostTranslationHandler\r\n function setPostTranslationHandler(handler) {\r\n _postTranslation = handler;\r\n _context.postTranslation = handler;\r\n }\r\n // getMissingHandler\r\n function getMissingHandler() {\r\n return _missing;\r\n }\r\n // setMissingHandler\r\n function setMissingHandler(handler) {\r\n if (handler !== null) {\r\n _runtimeMissing = defineCoreMissingHandler(handler);\r\n }\r\n _missing = handler;\r\n _context.missing = _runtimeMissing;\r\n }\r\n function isResolvedTranslateMessage(type, arg // eslint-disable-line @typescript-eslint/no-explicit-any\r\n ) {\r\n return type !== 'translate' || !arg.resolvedMessage;\r\n }\r\n function wrapWithDeps(fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) {\r\n trackReactivityValues(); // track reactive dependency\r\n // NOTE: experimental !!\r\n let ret;\r\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\r\n try {\r\n setAdditionalMeta(getMetaInfo());\r\n if (!_isGlobal) {\r\n _context.fallbackContext = __root\r\n ? getFallbackContext()\r\n : undefined;\r\n }\r\n ret = fn(_context);\r\n }\r\n finally {\r\n setAdditionalMeta(null);\r\n if (!_isGlobal) {\r\n _context.fallbackContext = undefined;\r\n }\r\n }\r\n }\r\n else {\r\n ret = fn(_context);\r\n }\r\n if (isNumber(ret) && ret === NOT_REOSLVED) {\r\n const [key, arg2] = argumentParser();\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n __root &&\r\n isString(key) &&\r\n isResolvedTranslateMessage(warnType, arg2)) {\r\n if (_fallbackRoot &&\r\n (isTranslateFallbackWarn(_fallbackWarn, key) ||\r\n isTranslateMissingWarn(_missingWarn, key))) {\r\n warn(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, {\r\n key,\r\n type: warnType\r\n }));\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const { __v_emitter: emitter } = _context;\r\n if (emitter && _fallbackRoot) {\r\n emitter.emit(\"fallback\" /* FALBACK */, {\r\n type: warnType,\r\n key,\r\n to: 'global',\r\n groupId: `${warnType}:${key}`\r\n });\r\n }\r\n }\r\n }\r\n return __root && _fallbackRoot\r\n ? fallbackSuccess(__root)\r\n : fallbackFail(key);\r\n }\r\n else if (successCondition(ret)) {\r\n return ret;\r\n }\r\n else {\r\n /* istanbul ignore next */\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);\r\n }\r\n }\r\n // t\r\n function t(...args) {\r\n return wrapWithDeps(context => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), 'translate', root => Reflect.apply(root.t, root, [...args]), key => key, val => isString(val));\r\n }\r\n // rt\r\n function rt(...args) {\r\n const [arg1, arg2, arg3] = args;\r\n if (arg3 && !isObject(arg3)) {\r\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\r\n }\r\n return t(...[arg1, arg2, assign({ resolvedMessage: true }, arg3 || {})]);\r\n }\r\n // d\r\n function d(...args) {\r\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\r\n }\r\n // n\r\n function n(...args) {\r\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\r\n }\r\n // for custom processor\r\n function normalize(values) {\r\n return values.map(val => isString(val) || isNumber(val) || isBoolean(val)\r\n ? createTextNode(String(val))\r\n : val);\r\n }\r\n const interpolate = (val) => val;\r\n const processor = {\r\n normalize,\r\n interpolate,\r\n type: 'vnode'\r\n };\r\n // transrateVNode, using for `i18n-t` component\r\n function transrateVNode(...args) {\r\n return wrapWithDeps(context => {\r\n let ret;\r\n const _context = context;\r\n try {\r\n _context.processor = processor;\r\n ret = Reflect.apply(translate, null, [_context, ...args]);\r\n }\r\n finally {\r\n _context.processor = null;\r\n }\r\n return ret;\r\n }, () => parseTranslateArgs(...args), 'translate', \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n root => root[TransrateVNodeSymbol](...args), key => [createTextNode(key)], val => isArray(val));\r\n }\r\n // numberParts, using for `i18n-n` component\r\n function numberParts(...args) {\r\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n root => root[NumberPartsSymbol](...args), () => [], val => isString(val) || isArray(val));\r\n }\r\n // datetimeParts, using for `i18n-d` component\r\n function datetimeParts(...args) {\r\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n root => root[DatetimePartsSymbol](...args), () => [], val => isString(val) || isArray(val));\r\n }\r\n function setPluralRules(rules) {\r\n _pluralRules = rules;\r\n _context.pluralRules = _pluralRules;\r\n }\r\n // te\r\n function te(key, locale) {\r\n const targetLocale = isString(locale) ? locale : _locale.value;\r\n const message = getLocaleMessage(targetLocale);\r\n return _context.messageResolver(message, key) !== null;\r\n }\r\n function resolveMessages(key) {\r\n let messages = null;\r\n const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);\r\n for (let i = 0; i < locales.length; i++) {\r\n const targetLocaleMessages = _messages.value[locales[i]] || {};\r\n const messageValue = _context.messageResolver(targetLocaleMessages, key);\r\n if (messageValue != null) {\r\n messages = messageValue;\r\n break;\r\n }\r\n }\r\n return messages;\r\n }\r\n // tm\r\n function tm(key) {\r\n const messages = resolveMessages(key);\r\n // prettier-ignore\r\n return messages != null\r\n ? messages\r\n : __root\r\n ? __root.tm(key) || {}\r\n : {};\r\n }\r\n // getLocaleMessage\r\n function getLocaleMessage(locale) {\r\n return (_messages.value[locale] || {});\r\n }\r\n // setLocaleMessage\r\n function setLocaleMessage(locale, message) {\r\n _messages.value[locale] = message;\r\n _context.messages = _messages.value;\r\n }\r\n // mergeLocaleMessage\r\n function mergeLocaleMessage(locale, message) {\r\n _messages.value[locale] = _messages.value[locale] || {};\r\n deepCopy(message, _messages.value[locale]);\r\n _context.messages = _messages.value;\r\n }\r\n // getDateTimeFormat\r\n function getDateTimeFormat(locale) {\r\n return _datetimeFormats.value[locale] || {};\r\n }\r\n // setDateTimeFormat\r\n function setDateTimeFormat(locale, format) {\r\n _datetimeFormats.value[locale] = format;\r\n _context.datetimeFormats = _datetimeFormats.value;\r\n clearDateTimeFormat(_context, locale, format);\r\n }\r\n // mergeDateTimeFormat\r\n function mergeDateTimeFormat(locale, format) {\r\n _datetimeFormats.value[locale] = assign(_datetimeFormats.value[locale] || {}, format);\r\n _context.datetimeFormats = _datetimeFormats.value;\r\n clearDateTimeFormat(_context, locale, format);\r\n }\r\n // getNumberFormat\r\n function getNumberFormat(locale) {\r\n return _numberFormats.value[locale] || {};\r\n }\r\n // setNumberFormat\r\n function setNumberFormat(locale, format) {\r\n _numberFormats.value[locale] = format;\r\n _context.numberFormats = _numberFormats.value;\r\n clearNumberFormat(_context, locale, format);\r\n }\r\n // mergeNumberFormat\r\n function mergeNumberFormat(locale, format) {\r\n _numberFormats.value[locale] = assign(_numberFormats.value[locale] || {}, format);\r\n _context.numberFormats = _numberFormats.value;\r\n clearNumberFormat(_context, locale, format);\r\n }\r\n // for debug\r\n composerID++;\r\n // watch root locale & fallbackLocale\r\n if (__root && inBrowser) {\r\n watch(__root.locale, (val) => {\r\n if (_inheritLocale) {\r\n _locale.value = val;\r\n _context.locale = val;\r\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\r\n }\r\n });\r\n watch(__root.fallbackLocale, (val) => {\r\n if (_inheritLocale) {\r\n _fallbackLocale.value = val;\r\n _context.fallbackLocale = val;\r\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\r\n }\r\n });\r\n }\r\n // define basic composition API!\r\n const composer = {\r\n id: composerID,\r\n locale,\r\n fallbackLocale,\r\n get inheritLocale() {\r\n return _inheritLocale;\r\n },\r\n set inheritLocale(val) {\r\n _inheritLocale = val;\r\n if (val && __root) {\r\n _locale.value = __root.locale.value;\r\n _fallbackLocale.value = __root.fallbackLocale.value;\r\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\r\n }\r\n },\r\n get availableLocales() {\r\n return Object.keys(_messages.value).sort();\r\n },\r\n messages,\r\n get modifiers() {\r\n return _modifiers;\r\n },\r\n get pluralRules() {\r\n return _pluralRules || {};\r\n },\r\n get isGlobal() {\r\n return _isGlobal;\r\n },\r\n get missingWarn() {\r\n return _missingWarn;\r\n },\r\n set missingWarn(val) {\r\n _missingWarn = val;\r\n _context.missingWarn = _missingWarn;\r\n },\r\n get fallbackWarn() {\r\n return _fallbackWarn;\r\n },\r\n set fallbackWarn(val) {\r\n _fallbackWarn = val;\r\n _context.fallbackWarn = _fallbackWarn;\r\n },\r\n get fallbackRoot() {\r\n return _fallbackRoot;\r\n },\r\n set fallbackRoot(val) {\r\n _fallbackRoot = val;\r\n },\r\n get fallbackFormat() {\r\n return _fallbackFormat;\r\n },\r\n set fallbackFormat(val) {\r\n _fallbackFormat = val;\r\n _context.fallbackFormat = _fallbackFormat;\r\n },\r\n get warnHtmlMessage() {\r\n return _warnHtmlMessage;\r\n },\r\n set warnHtmlMessage(val) {\r\n _warnHtmlMessage = val;\r\n _context.warnHtmlMessage = val;\r\n },\r\n get escapeParameter() {\r\n return _escapeParameter;\r\n },\r\n set escapeParameter(val) {\r\n _escapeParameter = val;\r\n _context.escapeParameter = val;\r\n },\r\n t,\r\n getLocaleMessage,\r\n setLocaleMessage,\r\n mergeLocaleMessage,\r\n getPostTranslationHandler,\r\n setPostTranslationHandler,\r\n getMissingHandler,\r\n setMissingHandler,\r\n [SetPluralRulesSymbol]: setPluralRules\r\n };\r\n {\r\n composer.datetimeFormats = datetimeFormats;\r\n composer.numberFormats = numberFormats;\r\n composer.rt = rt;\r\n composer.te = te;\r\n composer.tm = tm;\r\n composer.d = d;\r\n composer.n = n;\r\n composer.getDateTimeFormat = getDateTimeFormat;\r\n composer.setDateTimeFormat = setDateTimeFormat;\r\n composer.mergeDateTimeFormat = mergeDateTimeFormat;\r\n composer.getNumberFormat = getNumberFormat;\r\n composer.setNumberFormat = setNumberFormat;\r\n composer.mergeNumberFormat = mergeNumberFormat;\r\n composer[InejctWithOption] = options.__injectWithOption;\r\n composer[TransrateVNodeSymbol] = transrateVNode;\r\n composer[DatetimePartsSymbol] = datetimeParts;\r\n composer[NumberPartsSymbol] = numberParts;\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n composer[EnableEmitter] = (emitter) => {\r\n _context.__v_emitter = emitter;\r\n };\r\n composer[DisableEmitter] = () => {\r\n _context.__v_emitter = undefined;\r\n };\r\n }\r\n return composer;\r\n}\r\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/**\r\n * Convert to I18n Composer Options from VueI18n Options\r\n *\r\n * @internal\r\n */\r\nfunction convertComposerOptions(options) {\r\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\r\n const fallbackLocale = isString(options.fallbackLocale) ||\r\n isArray(options.fallbackLocale) ||\r\n isPlainObject(options.fallbackLocale) ||\r\n options.fallbackLocale === false\r\n ? options.fallbackLocale\r\n : locale;\r\n const missing = isFunction(options.missing) ? options.missing : undefined;\r\n const missingWarn = isBoolean(options.silentTranslationWarn) ||\r\n isRegExp(options.silentTranslationWarn)\r\n ? !options.silentTranslationWarn\r\n : true;\r\n const fallbackWarn = isBoolean(options.silentFallbackWarn) ||\r\n isRegExp(options.silentFallbackWarn)\r\n ? !options.silentFallbackWarn\r\n : true;\r\n const fallbackRoot = isBoolean(options.fallbackRoot)\r\n ? options.fallbackRoot\r\n : true;\r\n const fallbackFormat = !!options.formatFallbackMessages;\r\n const modifiers = isPlainObject(options.modifiers) ? options.modifiers : {};\r\n const pluralizationRules = options.pluralizationRules;\r\n const postTranslation = isFunction(options.postTranslation)\r\n ? options.postTranslation\r\n : undefined;\r\n const warnHtmlMessage = isString(options.warnHtmlInMessage)\r\n ? options.warnHtmlInMessage !== 'off'\r\n : true;\r\n const escapeParameter = !!options.escapeParameterHtml;\r\n const inheritLocale = isBoolean(options.sync) ? options.sync : true;\r\n if ((process.env.NODE_ENV !== 'production') && options.formatter) {\r\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && options.preserveDirectiveContent) {\r\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\r\n }\r\n let messages = options.messages;\r\n if (isPlainObject(options.sharedMessages)) {\r\n const sharedMessages = options.sharedMessages;\r\n const locales = Object.keys(sharedMessages);\r\n messages = locales.reduce((messages, locale) => {\r\n const message = messages[locale] || (messages[locale] = {});\r\n assign(message, sharedMessages[locale]);\r\n return messages;\r\n }, (messages || {}));\r\n }\r\n const { __i18n, __root, __injectWithOption } = options;\r\n const datetimeFormats = options.datetimeFormats;\r\n const numberFormats = options.numberFormats;\r\n const flatJson = options.flatJson;\r\n return {\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n flatJson,\r\n datetimeFormats,\r\n numberFormats,\r\n missing,\r\n missingWarn,\r\n fallbackWarn,\r\n fallbackRoot,\r\n fallbackFormat,\r\n modifiers,\r\n pluralRules: pluralizationRules,\r\n postTranslation,\r\n warnHtmlMessage,\r\n escapeParameter,\r\n messageResolver: options.messageResolver,\r\n inheritLocale,\r\n __i18n,\r\n __root,\r\n __injectWithOption\r\n };\r\n}\r\n/**\r\n * create VueI18n interface factory\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\r\nfunction createVueI18n(options = {}, VueI18nLegacy) {\r\n {\r\n const composer = createComposer(convertComposerOptions(options));\r\n // defines VueI18n\r\n const vueI18n = {\r\n // id\r\n id: composer.id,\r\n // locale\r\n get locale() {\r\n return composer.locale.value;\r\n },\r\n set locale(val) {\r\n composer.locale.value = val;\r\n },\r\n // fallbackLocale\r\n get fallbackLocale() {\r\n return composer.fallbackLocale.value;\r\n },\r\n set fallbackLocale(val) {\r\n composer.fallbackLocale.value = val;\r\n },\r\n // messages\r\n get messages() {\r\n return composer.messages.value;\r\n },\r\n // datetimeFormats\r\n get datetimeFormats() {\r\n return composer.datetimeFormats.value;\r\n },\r\n // numberFormats\r\n get numberFormats() {\r\n return composer.numberFormats.value;\r\n },\r\n // availableLocales\r\n get availableLocales() {\r\n return composer.availableLocales;\r\n },\r\n // formatter\r\n get formatter() {\r\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\r\n // dummy\r\n return {\r\n interpolate() {\r\n return [];\r\n }\r\n };\r\n },\r\n set formatter(val) {\r\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\r\n },\r\n // missing\r\n get missing() {\r\n return composer.getMissingHandler();\r\n },\r\n set missing(handler) {\r\n composer.setMissingHandler(handler);\r\n },\r\n // silentTranslationWarn\r\n get silentTranslationWarn() {\r\n return isBoolean(composer.missingWarn)\r\n ? !composer.missingWarn\r\n : composer.missingWarn;\r\n },\r\n set silentTranslationWarn(val) {\r\n composer.missingWarn = isBoolean(val) ? !val : val;\r\n },\r\n // silentFallbackWarn\r\n get silentFallbackWarn() {\r\n return isBoolean(composer.fallbackWarn)\r\n ? !composer.fallbackWarn\r\n : composer.fallbackWarn;\r\n },\r\n set silentFallbackWarn(val) {\r\n composer.fallbackWarn = isBoolean(val) ? !val : val;\r\n },\r\n // modifiers\r\n get modifiers() {\r\n return composer.modifiers;\r\n },\r\n // formatFallbackMessages\r\n get formatFallbackMessages() {\r\n return composer.fallbackFormat;\r\n },\r\n set formatFallbackMessages(val) {\r\n composer.fallbackFormat = val;\r\n },\r\n // postTranslation\r\n get postTranslation() {\r\n return composer.getPostTranslationHandler();\r\n },\r\n set postTranslation(handler) {\r\n composer.setPostTranslationHandler(handler);\r\n },\r\n // sync\r\n get sync() {\r\n return composer.inheritLocale;\r\n },\r\n set sync(val) {\r\n composer.inheritLocale = val;\r\n },\r\n // warnInHtmlMessage\r\n get warnHtmlInMessage() {\r\n return composer.warnHtmlMessage ? 'warn' : 'off';\r\n },\r\n set warnHtmlInMessage(val) {\r\n composer.warnHtmlMessage = val !== 'off';\r\n },\r\n // escapeParameterHtml\r\n get escapeParameterHtml() {\r\n return composer.escapeParameter;\r\n },\r\n set escapeParameterHtml(val) {\r\n composer.escapeParameter = val;\r\n },\r\n // preserveDirectiveContent\r\n get preserveDirectiveContent() {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\r\n return true;\r\n },\r\n set preserveDirectiveContent(val) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\r\n },\r\n // pluralizationRules\r\n get pluralizationRules() {\r\n return composer.pluralRules || {};\r\n },\r\n // for internal\r\n __composer: composer,\r\n // t\r\n t(...args) {\r\n const [arg1, arg2, arg3] = args;\r\n const options = {};\r\n let list = null;\r\n let named = null;\r\n if (!isString(arg1)) {\r\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\r\n }\r\n const key = arg1;\r\n if (isString(arg2)) {\r\n options.locale = arg2;\r\n }\r\n else if (isArray(arg2)) {\r\n list = arg2;\r\n }\r\n else if (isPlainObject(arg2)) {\r\n named = arg2;\r\n }\r\n if (isArray(arg3)) {\r\n list = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n named = arg3;\r\n }\r\n // return composer.t(key, (list || named || {}) as any, options)\r\n return Reflect.apply(composer.t, composer, [\r\n key,\r\n (list || named || {}),\r\n options\r\n ]);\r\n },\r\n rt(...args) {\r\n return Reflect.apply(composer.rt, composer, [...args]);\r\n },\r\n // tc\r\n tc(...args) {\r\n const [arg1, arg2, arg3] = args;\r\n const options = { plural: 1 };\r\n let list = null;\r\n let named = null;\r\n if (!isString(arg1)) {\r\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\r\n }\r\n const key = arg1;\r\n if (isString(arg2)) {\r\n options.locale = arg2;\r\n }\r\n else if (isNumber(arg2)) {\r\n options.plural = arg2;\r\n }\r\n else if (isArray(arg2)) {\r\n list = arg2;\r\n }\r\n else if (isPlainObject(arg2)) {\r\n named = arg2;\r\n }\r\n if (isString(arg3)) {\r\n options.locale = arg3;\r\n }\r\n else if (isArray(arg3)) {\r\n list = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n named = arg3;\r\n }\r\n // return composer.t(key, (list || named || {}) as any, options)\r\n return Reflect.apply(composer.t, composer, [\r\n key,\r\n (list || named || {}),\r\n options\r\n ]);\r\n },\r\n // te\r\n te(key, locale) {\r\n return composer.te(key, locale);\r\n },\r\n // tm\r\n tm(key) {\r\n return composer.tm(key);\r\n },\r\n // getLocaleMessage\r\n getLocaleMessage(locale) {\r\n return composer.getLocaleMessage(locale);\r\n },\r\n // setLocaleMessage\r\n setLocaleMessage(locale, message) {\r\n composer.setLocaleMessage(locale, message);\r\n },\r\n // mergeLocaleMessage\r\n mergeLocaleMessage(locale, message) {\r\n composer.mergeLocaleMessage(locale, message);\r\n },\r\n // d\r\n d(...args) {\r\n return Reflect.apply(composer.d, composer, [...args]);\r\n },\r\n // getDateTimeFormat\r\n getDateTimeFormat(locale) {\r\n return composer.getDateTimeFormat(locale);\r\n },\r\n // setDateTimeFormat\r\n setDateTimeFormat(locale, format) {\r\n composer.setDateTimeFormat(locale, format);\r\n },\r\n // mergeDateTimeFormat\r\n mergeDateTimeFormat(locale, format) {\r\n composer.mergeDateTimeFormat(locale, format);\r\n },\r\n // n\r\n n(...args) {\r\n return Reflect.apply(composer.n, composer, [...args]);\r\n },\r\n // getNumberFormat\r\n getNumberFormat(locale) {\r\n return composer.getNumberFormat(locale);\r\n },\r\n // setNumberFormat\r\n setNumberFormat(locale, format) {\r\n composer.setNumberFormat(locale, format);\r\n },\r\n // mergeNumberFormat\r\n mergeNumberFormat(locale, format) {\r\n composer.mergeNumberFormat(locale, format);\r\n },\r\n // getChoiceIndex\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n getChoiceIndex(choice, choicesLength) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX));\r\n return -1;\r\n },\r\n // for internal\r\n __onComponentInstanceCreated(target) {\r\n const { componentInstanceCreatedListener } = options;\r\n if (componentInstanceCreatedListener) {\r\n componentInstanceCreatedListener(target, vueI18n);\r\n }\r\n }\r\n };\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n vueI18n.__enableEmitter = (emitter) => {\r\n const __composer = composer;\r\n __composer[EnableEmitter] && __composer[EnableEmitter](emitter);\r\n };\r\n vueI18n.__disableEmitter = () => {\r\n const __composer = composer;\r\n __composer[DisableEmitter] && __composer[DisableEmitter]();\r\n };\r\n }\r\n return vueI18n;\r\n }\r\n}\r\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst baseFormatProps = {\r\n tag: {\r\n type: [String, Object]\r\n },\r\n locale: {\r\n type: String\r\n },\r\n scope: {\r\n type: String,\r\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\r\n validator: (val /* ComponetI18nScope */) => val === 'parent' || val === 'global',\r\n default: 'parent' /* ComponetI18nScope */\r\n },\r\n i18n: {\r\n type: Object\r\n }\r\n};\n\nfunction getInterpolateArg(\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n{ slots }, // SetupContext,\r\nkeys) {\r\n if (keys.length === 1 && keys[0] === 'default') {\r\n // default slot with list\r\n const ret = slots.default ? slots.default() : [];\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return ret.reduce((slot, current) => {\r\n return (slot = [\r\n ...slot,\r\n ...(isArray(current.children) ? current.children : [current])\r\n ]);\r\n }, []);\r\n }\r\n else {\r\n // named slots\r\n return keys.reduce((arg, key) => {\r\n const slot = slots[key];\r\n if (slot) {\r\n arg[key] = slot();\r\n }\r\n return arg;\r\n }, {});\r\n }\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getFragmentableTag(tag) {\r\n return Fragment ;\r\n}\n\n/**\r\n * Translation Component\r\n *\r\n * @remarks\r\n * See the following items for property about details\r\n *\r\n * @VueI18nSee [TranslationProps](component#translationprops)\r\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\r\n * @VueI18nSee [Component Interpolation](../guide/advanced/component)\r\n *\r\n * @example\r\n * ```html\r\n *
\r\n * \r\n * \r\n * {{ $t('tos') }}\r\n * \r\n * \r\n *
\r\n * ```\r\n * ```js\r\n * import { createApp } from 'vue'\r\n * import { createI18n } from 'vue-i18n'\r\n *\r\n * const messages = {\r\n * en: {\r\n * tos: 'Term of Service',\r\n * term: 'I accept xxx {0}.'\r\n * },\r\n * ja: {\r\n * tos: '利用規約',\r\n * term: '私は xxx の{0}に同意します。'\r\n * }\r\n * }\r\n *\r\n * const i18n = createI18n({\r\n * locale: 'en',\r\n * messages\r\n * })\r\n *\r\n * const app = createApp({\r\n * data: {\r\n * url: '/term'\r\n * }\r\n * }).use(i18n).mount('#app')\r\n * ```\r\n *\r\n * @VueI18nComponent\r\n */\r\nconst Translation = /* defineComponent */ {\r\n /* eslint-disable */\r\n name: 'i18n-t',\r\n props: assign({\r\n keypath: {\r\n type: String,\r\n required: true\r\n },\r\n plural: {\r\n type: [Number, String],\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n validator: (val) => isNumber(val) || !isNaN(val)\r\n }\r\n }, baseFormatProps),\r\n /* eslint-enable */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setup(props, context) {\r\n const { slots, attrs } = context;\r\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\r\n const i18n = props.i18n ||\r\n useI18n({\r\n useScope: props.scope,\r\n __useComponent: true\r\n });\r\n return () => {\r\n const keys = Object.keys(slots).filter(key => key !== '_');\r\n const options = {};\r\n if (props.locale) {\r\n options.locale = props.locale;\r\n }\r\n if (props.plural !== undefined) {\r\n options.plural = isString(props.plural) ? +props.plural : props.plural;\r\n }\r\n const arg = getInterpolateArg(context, keys);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const children = i18n[TransrateVNodeSymbol](props.keypath, arg, options);\r\n const assignedAttrs = assign({}, attrs);\r\n const tag = isString(props.tag) || isObject(props.tag)\r\n ? props.tag\r\n : getFragmentableTag();\r\n return h(tag, assignedAttrs, children);\r\n };\r\n }\r\n};\n\nfunction isVNode(target) {\r\n return isArray(target) && !isString(target[0]);\r\n}\r\nfunction renderFormatter(props, context, slotKeys, partFormatter) {\r\n const { slots, attrs } = context;\r\n return () => {\r\n const options = { part: true };\r\n let overrides = {};\r\n if (props.locale) {\r\n options.locale = props.locale;\r\n }\r\n if (isString(props.format)) {\r\n options.key = props.format;\r\n }\r\n else if (isObject(props.format)) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n if (isString(props.format.key)) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n options.key = props.format.key;\r\n }\r\n // Filter out number format options only\r\n overrides = Object.keys(props.format).reduce((options, prop) => {\r\n return slotKeys.includes(prop)\r\n ? assign({}, options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any\r\n : options;\r\n }, {});\r\n }\r\n const parts = partFormatter(...[props.value, options, overrides]);\r\n let children = [options.key];\r\n if (isArray(parts)) {\r\n children = parts.map((part, index) => {\r\n const slot = slots[part.type];\r\n const node = slot\r\n ? slot({ [part.type]: part.value, index, parts })\r\n : [part.value];\r\n if (isVNode(node)) {\r\n node[0].key = `${part.type}-${index}`;\r\n }\r\n return node;\r\n });\r\n }\r\n else if (isString(parts)) {\r\n children = [parts];\r\n }\r\n const assignedAttrs = assign({}, attrs);\r\n const tag = isString(props.tag) || isObject(props.tag)\r\n ? props.tag\r\n : getFragmentableTag();\r\n return h(tag, assignedAttrs, children);\r\n };\r\n}\n\n/**\r\n * Number Format Component\r\n *\r\n * @remarks\r\n * See the following items for property about details\r\n *\r\n * @VueI18nSee [FormattableProps](component#formattableprops)\r\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\r\n * @VueI18nSee [Custom Formatting](../guide/essentials/number#custom-formatting)\r\n *\r\n * @VueI18nDanger\r\n * Not supported IE, due to no support `Intl.NumberFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)\r\n *\r\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat)\r\n *\r\n * @VueI18nComponent\r\n */\r\nconst NumberFormat = /* defineComponent */ {\r\n /* eslint-disable */\r\n name: 'i18n-n',\r\n props: assign({\r\n value: {\r\n type: Number,\r\n required: true\r\n },\r\n format: {\r\n type: [String, Object]\r\n }\r\n }, baseFormatProps),\r\n /* eslint-enable */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setup(props, context) {\r\n const i18n = props.i18n ||\r\n useI18n({ useScope: 'parent', __useComponent: true });\r\n return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n i18n[NumberPartsSymbol](...args));\r\n }\r\n};\n\n/**\r\n * Datetime Format Component\r\n *\r\n * @remarks\r\n * See the following items for property about details\r\n *\r\n * @VueI18nSee [FormattableProps](component#formattableprops)\r\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\r\n * @VueI18nSee [Custom Formatting](../guide/essentials/datetime#custom-formatting)\r\n *\r\n * @VueI18nDanger\r\n * Not supported IE, due to no support `Intl.DateTimeFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)\r\n *\r\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat)\r\n *\r\n * @VueI18nComponent\r\n */\r\nconst DatetimeFormat = /*defineComponent */ {\r\n /* eslint-disable */\r\n name: 'i18n-d',\r\n props: assign({\r\n value: {\r\n type: [Number, Date],\r\n required: true\r\n },\r\n format: {\r\n type: [String, Object]\r\n }\r\n }, baseFormatProps),\r\n /* eslint-enable */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setup(props, context) {\r\n const i18n = props.i18n ||\r\n useI18n({ useScope: 'parent', __useComponent: true });\r\n return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n i18n[DatetimePartsSymbol](...args));\r\n }\r\n};\n\nfunction getComposer$2(i18n, instance) {\r\n const i18nInternal = i18n;\r\n if (i18n.mode === 'composition') {\r\n return (i18nInternal.__getInstance(instance) || i18n.global);\r\n }\r\n else {\r\n const vueI18n = i18nInternal.__getInstance(instance);\r\n return vueI18n != null\r\n ? vueI18n.__composer\r\n : i18n.global.__composer;\r\n }\r\n}\r\nfunction vTDirective(i18n) {\r\n function process(binding) {\r\n const { instance, modifiers, value } = binding;\r\n /* istanbul ignore if */\r\n if (!instance || !instance.$) {\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\r\n }\r\n const composer = getComposer$2(i18n, instance.$);\r\n if ((process.env.NODE_ENV !== 'production') && modifiers.preserve) {\r\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE));\r\n }\r\n const parsedValue = parseValue(value);\r\n return [\r\n Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]),\r\n composer\r\n ];\r\n }\r\n const register = (el, binding) => {\r\n const [textContent, composer] = process(binding);\r\n if (inBrowser && i18n.global === composer) {\r\n // global scope only\r\n el.__i18nWatcher = watch(composer.locale, () => {\r\n binding.instance && binding.instance.$forceUpdate();\r\n });\r\n }\r\n el.__composer = composer;\r\n el.textContent = textContent;\r\n };\r\n const unregister = (el) => {\r\n if (inBrowser && el.__i18nWatcher) {\r\n el.__i18nWatcher();\r\n el.__i18nWatcher = undefined;\r\n delete el.__i18nWatcher;\r\n }\r\n if (el.__composer) {\r\n el.__composer = undefined;\r\n delete el.__composer;\r\n }\r\n };\r\n const update = (el, { value }) => {\r\n if (el.__composer) {\r\n const composer = el.__composer;\r\n const parsedValue = parseValue(value);\r\n el.textContent = Reflect.apply(composer.t, composer, [\r\n ...makeParams(parsedValue)\r\n ]);\r\n }\r\n };\r\n return {\r\n created: register,\r\n unmounted: unregister,\r\n beforeUpdate: update,\r\n getSSRProps: (binding) => {\r\n const [textContent] = process(binding);\r\n return { textContent };\r\n }\r\n };\r\n}\r\nfunction parseValue(value) {\r\n if (isString(value)) {\r\n return { path: value };\r\n }\r\n else if (isPlainObject(value)) {\r\n if (!('path' in value)) {\r\n throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, 'path');\r\n }\r\n return value;\r\n }\r\n else {\r\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\r\n }\r\n}\r\nfunction makeParams(value) {\r\n const { path, locale, args, choice, plural } = value;\r\n const options = {};\r\n const named = args || {};\r\n if (isString(locale)) {\r\n options.locale = locale;\r\n }\r\n if (isNumber(choice)) {\r\n options.plural = choice;\r\n }\r\n if (isNumber(plural)) {\r\n options.plural = plural;\r\n }\r\n return [path, named, options];\r\n}\n\nfunction apply(app, i18n, ...options) {\r\n const pluginOptions = isPlainObject(options[0])\r\n ? options[0]\r\n : {};\r\n const useI18nComponentName = !!pluginOptions.useI18nComponentName;\r\n const globalInstall = isBoolean(pluginOptions.globalInstall)\r\n ? pluginOptions.globalInstall\r\n : true;\r\n if ((process.env.NODE_ENV !== 'production') && globalInstall && useI18nComponentName) {\r\n warn(getWarnMessage(I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE, {\r\n name: Translation.name\r\n }));\r\n }\r\n if (globalInstall) {\r\n // install components\r\n app.component(!useI18nComponentName ? Translation.name : 'i18n', Translation);\r\n app.component(NumberFormat.name, NumberFormat);\r\n app.component(DatetimeFormat.name, DatetimeFormat);\r\n }\r\n // install directive\r\n {\r\n app.directive('t', vTDirective(i18n));\r\n }\r\n}\n\nconst VUE_I18N_COMPONENT_TYPES = 'vue-i18n: composer properties';\r\nlet devtoolsApi;\r\nasync function enableDevTools(app, i18n) {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n setupDevtoolsPlugin({\r\n id: \"vue-devtools-plugin-vue-i18n\" /* PLUGIN */,\r\n label: VueDevToolsLabels[\"vue-devtools-plugin-vue-i18n\" /* PLUGIN */],\r\n packageName: 'vue-i18n',\r\n homepage: 'https://vue-i18n.intlify.dev',\r\n logo: 'https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png',\r\n componentStateTypes: [VUE_I18N_COMPONENT_TYPES],\r\n app: app // eslint-disable-line @typescript-eslint/no-explicit-any\r\n }, api => {\r\n devtoolsApi = api;\r\n api.on.visitComponentTree(({ componentInstance, treeNode }) => {\r\n updateComponentTreeTags(componentInstance, treeNode, i18n);\r\n });\r\n api.on.inspectComponent(({ componentInstance, instanceData }) => {\r\n if (componentInstance.vnode.el &&\r\n componentInstance.vnode.el.__VUE_I18N__ &&\r\n instanceData) {\r\n if (i18n.mode === 'legacy') {\r\n // ignore global scope on legacy mode\r\n if (componentInstance.vnode.el.__VUE_I18N__ !==\r\n i18n.global.__composer) {\r\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\r\n }\r\n }\r\n else {\r\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\r\n }\r\n }\r\n });\r\n api.addInspector({\r\n id: \"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */,\r\n label: VueDevToolsLabels[\"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */],\r\n icon: 'language',\r\n treeFilterPlaceholder: VueDevToolsPlaceholders[\"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */]\r\n });\r\n api.on.getInspectorTree(payload => {\r\n if (payload.app === app &&\r\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */) {\r\n registerScope(payload, i18n);\r\n }\r\n });\r\n const roots = new Map();\r\n api.on.getInspectorState(async (payload) => {\r\n if (payload.app === app &&\r\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */) {\r\n api.unhighlightElement();\r\n inspectScope(payload, i18n);\r\n if (payload.nodeId === 'global') {\r\n if (!roots.has(payload.app)) {\r\n const [root] = await api.getComponentInstances(payload.app);\r\n roots.set(payload.app, root);\r\n }\r\n api.highlightElement(roots.get(payload.app));\r\n }\r\n else {\r\n const instance = getComponentInstance(payload.nodeId, i18n);\r\n instance && api.highlightElement(instance);\r\n }\r\n }\r\n });\r\n api.on.editInspectorState(payload => {\r\n if (payload.app === app &&\r\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */) {\r\n editScope(payload, i18n);\r\n }\r\n });\r\n api.addTimelineLayer({\r\n id: \"vue-i18n-timeline\" /* TIMELINE */,\r\n label: VueDevToolsLabels[\"vue-i18n-timeline\" /* TIMELINE */],\r\n color: VueDevToolsTimelineColors[\"vue-i18n-timeline\" /* TIMELINE */]\r\n });\r\n resolve(true);\r\n });\r\n }\r\n catch (e) {\r\n console.error(e);\r\n reject(false);\r\n }\r\n });\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getI18nScopeLable(instance) {\r\n return (instance.type.name ||\r\n instance.type.displayName ||\r\n instance.type.__file ||\r\n 'Anonymous');\r\n}\r\nfunction updateComponentTreeTags(instance, // eslint-disable-line @typescript-eslint/no-explicit-any\r\ntreeNode, i18n) {\r\n // prettier-ignore\r\n const global = i18n.mode === 'composition'\r\n ? i18n.global\r\n : i18n.global.__composer;\r\n if (instance && instance.vnode.el && instance.vnode.el.__VUE_I18N__) {\r\n // add custom tags local scope only\r\n if (instance.vnode.el.__VUE_I18N__ !== global) {\r\n const tag = {\r\n label: `i18n (${getI18nScopeLable(instance)} Scope)`,\r\n textColor: 0x000000,\r\n backgroundColor: 0xffcd19\r\n };\r\n treeNode.tags.push(tag);\r\n }\r\n }\r\n}\r\nfunction inspectComposer(instanceData, composer) {\r\n const type = VUE_I18N_COMPONENT_TYPES;\r\n instanceData.state.push({\r\n type,\r\n key: 'locale',\r\n editable: true,\r\n value: composer.locale.value\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'availableLocales',\r\n editable: false,\r\n value: composer.availableLocales\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'fallbackLocale',\r\n editable: true,\r\n value: composer.fallbackLocale.value\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'inheritLocale',\r\n editable: true,\r\n value: composer.inheritLocale\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'messages',\r\n editable: false,\r\n value: getLocaleMessageValue(composer.messages.value)\r\n });\r\n {\r\n instanceData.state.push({\r\n type,\r\n key: 'datetimeFormats',\r\n editable: false,\r\n value: composer.datetimeFormats.value\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'numberFormats',\r\n editable: false,\r\n value: composer.numberFormats.value\r\n });\r\n }\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getLocaleMessageValue(messages) {\r\n const value = {};\r\n Object.keys(messages).forEach((key) => {\r\n const v = messages[key];\r\n if (isFunction(v) && 'source' in v) {\r\n value[key] = getMessageFunctionDetails(v);\r\n }\r\n else if (isObject(v)) {\r\n value[key] = getLocaleMessageValue(v);\r\n }\r\n else {\r\n value[key] = v;\r\n }\r\n });\r\n return value;\r\n}\r\nconst ESC = {\r\n '<': '<',\r\n '>': '>',\r\n '\"': '"',\r\n '&': '&'\r\n};\r\nfunction escape(s) {\r\n return s.replace(/[<>\"&]/g, escapeChar);\r\n}\r\nfunction escapeChar(a) {\r\n return ESC[a] || a;\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getMessageFunctionDetails(func) {\r\n const argString = func.source ? `(\"${escape(func.source)}\")` : `(?)`;\r\n return {\r\n _custom: {\r\n type: 'function',\r\n display: `ƒ ${argString}`\r\n }\r\n };\r\n}\r\nfunction registerScope(payload, i18n) {\r\n payload.rootNodes.push({\r\n id: 'global',\r\n label: 'Global Scope'\r\n });\r\n // prettier-ignore\r\n const global = i18n.mode === 'composition'\r\n ? i18n.global\r\n : i18n.global.__composer;\r\n for (const [keyInstance, instance] of i18n.__instances) {\r\n // prettier-ignore\r\n const composer = i18n.mode === 'composition'\r\n ? instance\r\n : instance.__composer;\r\n if (global === composer) {\r\n continue;\r\n }\r\n payload.rootNodes.push({\r\n id: composer.id.toString(),\r\n label: `${getI18nScopeLable(keyInstance)} Scope`\r\n });\r\n }\r\n}\r\nfunction getComponentInstance(nodeId, i18n) {\r\n let instance = null;\r\n if (nodeId !== 'global') {\r\n for (const [component, composer] of i18n.__instances.entries()) {\r\n if (composer.id.toString() === nodeId) {\r\n instance = component;\r\n break;\r\n }\r\n }\r\n }\r\n return instance;\r\n}\r\nfunction getComposer$1(nodeId, i18n) {\r\n if (nodeId === 'global') {\r\n return i18n.mode === 'composition'\r\n ? i18n.global\r\n : i18n.global.__composer;\r\n }\r\n else {\r\n const instance = Array.from(i18n.__instances.values()).find(item => item.id.toString() === nodeId);\r\n if (instance) {\r\n return i18n.mode === 'composition'\r\n ? instance\r\n : instance.__composer;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n}\r\nfunction inspectScope(payload, i18n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n) {\r\n const composer = getComposer$1(payload.nodeId, i18n);\r\n if (composer) {\r\n // TODO:\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n payload.state = makeScopeInspectState(composer);\r\n }\r\n return null;\r\n}\r\nfunction makeScopeInspectState(composer) {\r\n const state = {};\r\n const localeType = 'Locale related info';\r\n const localeStates = [\r\n {\r\n type: localeType,\r\n key: 'locale',\r\n editable: true,\r\n value: composer.locale.value\r\n },\r\n {\r\n type: localeType,\r\n key: 'fallbackLocale',\r\n editable: true,\r\n value: composer.fallbackLocale.value\r\n },\r\n {\r\n type: localeType,\r\n key: 'availableLocales',\r\n editable: false,\r\n value: composer.availableLocales\r\n },\r\n {\r\n type: localeType,\r\n key: 'inheritLocale',\r\n editable: true,\r\n value: composer.inheritLocale\r\n }\r\n ];\r\n state[localeType] = localeStates;\r\n const localeMessagesType = 'Locale messages info';\r\n const localeMessagesStates = [\r\n {\r\n type: localeMessagesType,\r\n key: 'messages',\r\n editable: false,\r\n value: getLocaleMessageValue(composer.messages.value)\r\n }\r\n ];\r\n state[localeMessagesType] = localeMessagesStates;\r\n {\r\n const datetimeFormatsType = 'Datetime formats info';\r\n const datetimeFormatsStates = [\r\n {\r\n type: datetimeFormatsType,\r\n key: 'datetimeFormats',\r\n editable: false,\r\n value: composer.datetimeFormats.value\r\n }\r\n ];\r\n state[datetimeFormatsType] = datetimeFormatsStates;\r\n const numberFormatsType = 'Datetime formats info';\r\n const numberFormatsStates = [\r\n {\r\n type: numberFormatsType,\r\n key: 'numberFormats',\r\n editable: false,\r\n value: composer.numberFormats.value\r\n }\r\n ];\r\n state[numberFormatsType] = numberFormatsStates;\r\n }\r\n return state;\r\n}\r\nfunction addTimelineEvent(event, payload) {\r\n if (devtoolsApi) {\r\n let groupId;\r\n if (payload && 'groupId' in payload) {\r\n groupId = payload.groupId;\r\n delete payload.groupId;\r\n }\r\n devtoolsApi.addTimelineEvent({\r\n layerId: \"vue-i18n-timeline\" /* TIMELINE */,\r\n event: {\r\n title: event,\r\n groupId,\r\n time: Date.now(),\r\n meta: {},\r\n data: payload || {},\r\n logType: event === \"compile-error\" /* COMPILE_ERROR */\r\n ? 'error'\r\n : event === \"fallback\" /* FALBACK */ ||\r\n event === \"missing\" /* MISSING */\r\n ? 'warning'\r\n : 'default'\r\n }\r\n });\r\n }\r\n}\r\nfunction editScope(payload, i18n) {\r\n const composer = getComposer$1(payload.nodeId, i18n);\r\n if (composer) {\r\n const [field] = payload.path;\r\n if (field === 'locale' && isString(payload.state.value)) {\r\n composer.locale.value = payload.state.value;\r\n }\r\n else if (field === 'fallbackLocale' &&\r\n (isString(payload.state.value) ||\r\n isArray(payload.state.value) ||\r\n isObject(payload.state.value))) {\r\n composer.fallbackLocale.value = payload.state.value;\r\n }\r\n else if (field === 'inheritLocale' && isBoolean(payload.state.value)) {\r\n composer.inheritLocale = payload.state.value;\r\n }\r\n }\r\n}\n\n/**\r\n * Supports compatibility for legacy vue-i18n APIs\r\n * This mixin is used when we use vue-i18n@v9.x or later\r\n */\r\nfunction defineMixin(vuei18n, composer, i18n) {\r\n return {\r\n beforeCreate() {\r\n const instance = getCurrentInstance();\r\n /* istanbul ignore if */\r\n if (!instance) {\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\r\n }\r\n const options = this.$options;\r\n if (options.i18n) {\r\n const optionsI18n = options.i18n;\r\n if (options.__i18n) {\r\n optionsI18n.__i18n = options.__i18n;\r\n }\r\n optionsI18n.__root = composer;\r\n if (this === this.$root) {\r\n this.$i18n = mergeToRoot(vuei18n, optionsI18n);\r\n }\r\n else {\r\n optionsI18n.__injectWithOption = true;\r\n this.$i18n = createVueI18n(optionsI18n);\r\n }\r\n }\r\n else if (options.__i18n) {\r\n if (this === this.$root) {\r\n this.$i18n = mergeToRoot(vuei18n, options);\r\n }\r\n else {\r\n this.$i18n = createVueI18n({\r\n __i18n: options.__i18n,\r\n __injectWithOption: true,\r\n __root: composer\r\n });\r\n }\r\n }\r\n else {\r\n // set global\r\n this.$i18n = vuei18n;\r\n }\r\n if (options.__i18nGlobal) {\r\n adjustI18nResources(composer, options, options);\r\n }\r\n vuei18n.__onComponentInstanceCreated(this.$i18n);\r\n i18n.__setInstance(instance, this.$i18n);\r\n // defines vue-i18n legacy APIs\r\n this.$t = (...args) => this.$i18n.t(...args);\r\n this.$rt = (...args) => this.$i18n.rt(...args);\r\n this.$tc = (...args) => this.$i18n.tc(...args);\r\n this.$te = (key, locale) => this.$i18n.te(key, locale);\r\n this.$d = (...args) => this.$i18n.d(...args);\r\n this.$n = (...args) => this.$i18n.n(...args);\r\n this.$tm = (key) => this.$i18n.tm(key);\r\n },\r\n mounted() {\r\n /* istanbul ignore if */\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n !false &&\r\n this.$el &&\r\n this.$i18n) {\r\n this.$el.__VUE_I18N__ = this.$i18n.__composer;\r\n const emitter = (this.__v_emitter =\r\n createEmitter());\r\n const _vueI18n = this.$i18n;\r\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\r\n emitter.on('*', addTimelineEvent);\r\n }\r\n },\r\n unmounted() {\r\n const instance = getCurrentInstance();\r\n /* istanbul ignore if */\r\n if (!instance) {\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\r\n }\r\n /* istanbul ignore if */\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n !false &&\r\n this.$el &&\r\n this.$el.__VUE_I18N__) {\r\n if (this.__v_emitter) {\r\n this.__v_emitter.off('*', addTimelineEvent);\r\n delete this.__v_emitter;\r\n }\r\n if (this.$i18n) {\r\n const _vueI18n = this.$i18n;\r\n _vueI18n.__disableEmitter && _vueI18n.__disableEmitter();\r\n delete this.$el.__VUE_I18N__;\r\n }\r\n }\r\n delete this.$t;\r\n delete this.$rt;\r\n delete this.$tc;\r\n delete this.$te;\r\n delete this.$d;\r\n delete this.$n;\r\n delete this.$tm;\r\n i18n.__deleteInstance(instance);\r\n delete this.$i18n;\r\n }\r\n };\r\n}\r\nfunction mergeToRoot(root, options) {\r\n root.locale = options.locale || root.locale;\r\n root.fallbackLocale = options.fallbackLocale || root.fallbackLocale;\r\n root.missing = options.missing || root.missing;\r\n root.silentTranslationWarn =\r\n options.silentTranslationWarn || root.silentFallbackWarn;\r\n root.silentFallbackWarn =\r\n options.silentFallbackWarn || root.silentFallbackWarn;\r\n root.formatFallbackMessages =\r\n options.formatFallbackMessages || root.formatFallbackMessages;\r\n root.postTranslation = options.postTranslation || root.postTranslation;\r\n root.warnHtmlInMessage = options.warnHtmlInMessage || root.warnHtmlInMessage;\r\n root.escapeParameterHtml =\r\n options.escapeParameterHtml || root.escapeParameterHtml;\r\n root.sync = options.sync || root.sync;\r\n root.__composer[SetPluralRulesSymbol](options.pluralizationRules || root.pluralizationRules);\r\n const messages = getLocaleMessages(root.locale, {\r\n messages: options.messages,\r\n __i18n: options.__i18n\r\n });\r\n Object.keys(messages).forEach(locale => root.mergeLocaleMessage(locale, messages[locale]));\r\n if (options.datetimeFormats) {\r\n Object.keys(options.datetimeFormats).forEach(locale => root.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));\r\n }\r\n if (options.numberFormats) {\r\n Object.keys(options.numberFormats).forEach(locale => root.mergeNumberFormat(locale, options.numberFormats[locale]));\r\n }\r\n return root;\r\n}\n\n/**\r\n * Injection key for {@link useI18n}\r\n *\r\n * @remarks\r\n * The global injection key for I18n instances with `useI18n`. this injection key is used in Web Components.\r\n * Specify the i18n instance created by {@link createI18n} together with `provide` function.\r\n *\r\n * @VueI18nGeneral\r\n */\r\nconst I18nInjectionKey = \r\n/* #__PURE__*/ makeSymbol('global-vue-i18n');\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\r\nfunction createI18n(options = {}, VueI18nLegacy) {\r\n // prettier-ignore\r\n const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy)\r\n ? options.legacy\r\n : __VUE_I18N_LEGACY_API__;\r\n // prettier-ignore\r\n const __globalInjection = isBoolean(options.globalInjection)\r\n ? options.globalInjection\r\n : true;\r\n // prettier-ignore\r\n const __allowComposition = __VUE_I18N_LEGACY_API__ && __legacyMode\r\n ? !!options.allowComposition\r\n : true;\r\n const __instances = new Map();\r\n const [globalScope, __global] = createGlobal(options, __legacyMode);\r\n const symbol = makeSymbol((process.env.NODE_ENV !== 'production') ? 'vue-i18n' : '');\r\n function __getInstance(component) {\r\n return __instances.get(component) || null;\r\n }\r\n function __setInstance(component, instance) {\r\n __instances.set(component, instance);\r\n }\r\n function __deleteInstance(component) {\r\n __instances.delete(component);\r\n }\r\n {\r\n const i18n = {\r\n // mode\r\n get mode() {\r\n return __VUE_I18N_LEGACY_API__ && __legacyMode\r\n ? 'legacy'\r\n : 'composition';\r\n },\r\n // allowComposition\r\n get allowComposition() {\r\n return __allowComposition;\r\n },\r\n // install plugin\r\n async install(app, ...options) {\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n !false) {\r\n app.__VUE_I18N__ = i18n;\r\n }\r\n // setup global provider\r\n app.__VUE_I18N_SYMBOL__ = symbol;\r\n app.provide(app.__VUE_I18N_SYMBOL__, i18n);\r\n // global method and properties injection for Composition API\r\n if (!__legacyMode && __globalInjection) {\r\n injectGlobalFields(app, i18n.global);\r\n }\r\n // install built-in components and directive\r\n if (__VUE_I18N_FULL_INSTALL__) {\r\n apply(app, i18n, ...options);\r\n }\r\n // setup mixin for Legacy API\r\n if (__VUE_I18N_LEGACY_API__ && __legacyMode) {\r\n app.mixin(defineMixin(__global, __global.__composer, i18n));\r\n }\r\n // release global scope\r\n const unmountApp = app.unmount;\r\n app.unmount = () => {\r\n i18n.dispose();\r\n unmountApp();\r\n };\r\n // setup vue-devtools plugin\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\r\n const ret = await enableDevTools(app, i18n);\r\n if (!ret) {\r\n throw createI18nError(I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN);\r\n }\r\n const emitter = createEmitter();\r\n if (__legacyMode) {\r\n const _vueI18n = __global;\r\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\r\n }\r\n else {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const _composer = __global;\r\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\r\n }\r\n emitter.on('*', addTimelineEvent);\r\n }\r\n },\r\n // global accessor\r\n get global() {\r\n return __global;\r\n },\r\n dispose() {\r\n globalScope.stop();\r\n },\r\n // @internal\r\n __instances,\r\n // @internal\r\n __getInstance,\r\n // @internal\r\n __setInstance,\r\n // @internal\r\n __deleteInstance\r\n };\r\n return i18n;\r\n }\r\n}\r\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\r\nfunction useI18n(options = {}) {\r\n const instance = getCurrentInstance();\r\n if (instance == null) {\r\n throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);\r\n }\r\n if (!instance.isCE &&\r\n instance.appContext.app != null &&\r\n !instance.appContext.app.__VUE_I18N_SYMBOL__) {\r\n throw createI18nError(I18nErrorCodes.NOT_INSLALLED);\r\n }\r\n const i18n = getI18nInstance(instance);\r\n const global = getGlobalComposer(i18n);\r\n const componentOptions = getComponentOptions(instance);\r\n const scope = getScope(options, componentOptions);\r\n if (__VUE_I18N_LEGACY_API__) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n if (i18n.mode === 'legacy' && !options.__useComponent) {\r\n if (!i18n.allowComposition) {\r\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE);\r\n }\r\n return useI18nForLegacy(instance, scope, global, options);\r\n }\r\n }\r\n if (scope === 'global') {\r\n adjustI18nResources(global, options, componentOptions);\r\n return global;\r\n }\r\n if (scope === 'parent') {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n let composer = getComposer(i18n, instance, options.__useComponent);\r\n if (composer == null) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE));\r\n }\r\n composer = global;\r\n }\r\n return composer;\r\n }\r\n const i18nInternal = i18n;\r\n let composer = i18nInternal.__getInstance(instance);\r\n if (composer == null) {\r\n const composerOptions = assign({}, options);\r\n if ('__i18n' in componentOptions) {\r\n composerOptions.__i18n = componentOptions.__i18n;\r\n }\r\n if (global) {\r\n composerOptions.__root = global;\r\n }\r\n composer = createComposer(composerOptions);\r\n setupLifeCycle(i18nInternal, instance, composer);\r\n i18nInternal.__setInstance(instance, composer);\r\n }\r\n return composer;\r\n}\r\n/**\r\n * Cast to VueI18n legacy compatible type\r\n *\r\n * @remarks\r\n * This API is provided only with [vue-i18n-bridge](https://vue-i18n.intlify.dev/guide/migration/ways.html#what-is-vue-i18n-bridge).\r\n *\r\n * The purpose of this function is to convert an {@link I18n} instance created with {@link createI18n | createI18n(legacy: true)} into a `vue-i18n@v8.x` compatible instance of `new VueI18n` in a TypeScript environment.\r\n *\r\n * @param i18n - An instance of {@link I18n}\r\n * @returns A i18n instance which is casted to {@link VueI18n} type\r\n *\r\n * @VueI18nTip\r\n * :new: provided by **vue-i18n-bridge only**\r\n *\r\n * @VueI18nGeneral\r\n */\r\nconst castToVueI18n = (i18n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n) => {\r\n if (!(__VUE_I18N_BRIDGE__ in i18n)) {\r\n throw createI18nError(I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N);\r\n }\r\n return i18n;\r\n};\r\nfunction createGlobal(options, legacyMode, VueI18nLegacy // eslint-disable-line @typescript-eslint/no-explicit-any\r\n) {\r\n const scope = effectScope();\r\n {\r\n const obj = __VUE_I18N_LEGACY_API__ && legacyMode\r\n ? scope.run(() => createVueI18n(options))\r\n : scope.run(() => createComposer(options));\r\n if (obj == null) {\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\r\n }\r\n return [scope, obj];\r\n }\r\n}\r\nfunction getI18nInstance(instance) {\r\n {\r\n const i18n = inject(!instance.isCE\r\n ? instance.appContext.app.__VUE_I18N_SYMBOL__\r\n : I18nInjectionKey);\r\n /* istanbul ignore if */\r\n if (!i18n) {\r\n throw createI18nError(!instance.isCE\r\n ? I18nErrorCodes.UNEXPECTED_ERROR\r\n : I18nErrorCodes.NOT_INSLALLED_WITH_PROVIDE);\r\n }\r\n return i18n;\r\n }\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getScope(options, componentOptions) {\r\n // prettier-ignore\r\n return isEmptyObject(options)\r\n ? ('__i18n' in componentOptions)\r\n ? 'local'\r\n : 'global'\r\n : !options.useScope\r\n ? 'local'\r\n : options.useScope;\r\n}\r\nfunction getGlobalComposer(i18n) {\r\n // prettier-ignore\r\n return i18n.mode === 'composition'\r\n ? i18n.global\r\n : i18n.global.__composer\r\n ;\r\n}\r\nfunction getComposer(i18n, target, useComponent = false) {\r\n let composer = null;\r\n const root = target.root;\r\n let current = target.parent;\r\n while (current != null) {\r\n const i18nInternal = i18n;\r\n if (i18n.mode === 'composition') {\r\n composer = i18nInternal.__getInstance(current);\r\n }\r\n else {\r\n if (__VUE_I18N_LEGACY_API__) {\r\n const vueI18n = i18nInternal.__getInstance(current);\r\n if (vueI18n != null) {\r\n composer = vueI18n\r\n .__composer;\r\n if (useComponent &&\r\n composer &&\r\n !composer[InejctWithOption] // eslint-disable-line @typescript-eslint/no-explicit-any\r\n ) {\r\n composer = null;\r\n }\r\n }\r\n }\r\n }\r\n if (composer != null) {\r\n break;\r\n }\r\n if (root === current) {\r\n break;\r\n }\r\n current = current.parent;\r\n }\r\n return composer;\r\n}\r\nfunction setupLifeCycle(i18n, target, composer) {\r\n let emitter = null;\r\n {\r\n onMounted(() => {\r\n // inject composer instance to DOM for intlify-devtools\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n !false &&\r\n target.vnode.el) {\r\n target.vnode.el.__VUE_I18N__ = composer;\r\n emitter = createEmitter();\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const _composer = composer;\r\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\r\n emitter.on('*', addTimelineEvent);\r\n }\r\n }, target);\r\n onUnmounted(() => {\r\n // remove composer instance from DOM for intlify-devtools\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n !false &&\r\n target.vnode.el &&\r\n target.vnode.el.__VUE_I18N__) {\r\n emitter && emitter.off('*', addTimelineEvent);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const _composer = composer;\r\n _composer[DisableEmitter] && _composer[DisableEmitter]();\r\n delete target.vnode.el.__VUE_I18N__;\r\n }\r\n i18n.__deleteInstance(target);\r\n }, target);\r\n }\r\n}\r\nfunction useI18nForLegacy(instance, scope, root, options = {} // eslint-disable-line @typescript-eslint/no-explicit-any\r\n) {\r\n const isLocale = scope === 'local';\r\n const _composer = shallowRef(null);\r\n if (isLocale &&\r\n instance.proxy &&\r\n !(instance.proxy.$options.i18n || instance.proxy.$options.__i18n)) {\r\n throw createI18nError(I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);\r\n }\r\n const _inheritLocale = isBoolean(options.inheritLocale)\r\n ? options.inheritLocale\r\n : true;\r\n const _locale = ref(\r\n // prettier-ignore\r\n isLocale && _inheritLocale\r\n ? root.locale.value\r\n : isString(options.locale)\r\n ? options.locale\r\n : DEFAULT_LOCALE);\r\n const _fallbackLocale = ref(\r\n // prettier-ignore\r\n isLocale && _inheritLocale\r\n ? root.fallbackLocale.value\r\n : isString(options.fallbackLocale) ||\r\n isArray(options.fallbackLocale) ||\r\n isPlainObject(options.fallbackLocale) ||\r\n options.fallbackLocale === false\r\n ? options.fallbackLocale\r\n : _locale.value);\r\n const _messages = ref(getLocaleMessages(_locale.value, options));\r\n // prettier-ignore\r\n const _datetimeFormats = ref(isPlainObject(options.datetimeFormats)\r\n ? options.datetimeFormats\r\n : { [_locale.value]: {} });\r\n // prettier-ignore\r\n const _numberFormats = ref(isPlainObject(options.numberFormats)\r\n ? options.numberFormats\r\n : { [_locale.value]: {} });\r\n // prettier-ignore\r\n const _missingWarn = isLocale\r\n ? root.missingWarn\r\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\r\n ? options.missingWarn\r\n : true;\r\n // prettier-ignore\r\n const _fallbackWarn = isLocale\r\n ? root.fallbackWarn\r\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : true;\r\n // prettier-ignore\r\n const _fallbackRoot = isLocale\r\n ? root.fallbackRoot\r\n : isBoolean(options.fallbackRoot)\r\n ? options.fallbackRoot\r\n : true;\r\n // configure fall back to root\r\n const _fallbackFormat = !!options.fallbackFormat;\r\n // runtime missing\r\n const _missing = isFunction(options.missing) ? options.missing : null;\r\n // postTranslation handler\r\n const _postTranslation = isFunction(options.postTranslation)\r\n ? options.postTranslation\r\n : null;\r\n // prettier-ignore\r\n const _warnHtmlMessage = isLocale\r\n ? root.warnHtmlMessage\r\n : isBoolean(options.warnHtmlMessage)\r\n ? options.warnHtmlMessage\r\n : true;\r\n const _escapeParameter = !!options.escapeParameter;\r\n // prettier-ignore\r\n const _modifiers = isLocale\r\n ? root.modifiers\r\n : isPlainObject(options.modifiers)\r\n ? options.modifiers\r\n : {};\r\n // pluralRules\r\n const _pluralRules = options.pluralRules || (isLocale && root.pluralRules);\r\n // track reactivity\r\n function trackReactivityValues() {\r\n return [\r\n _locale.value,\r\n _fallbackLocale.value,\r\n _messages.value,\r\n _datetimeFormats.value,\r\n _numberFormats.value\r\n ];\r\n }\r\n // locale\r\n const locale = computed({\r\n get: () => {\r\n return _composer.value ? _composer.value.locale.value : _locale.value;\r\n },\r\n set: val => {\r\n if (_composer.value) {\r\n _composer.value.locale.value = val;\r\n }\r\n _locale.value = val;\r\n }\r\n });\r\n // fallbackLocale\r\n const fallbackLocale = computed({\r\n get: () => {\r\n return _composer.value\r\n ? _composer.value.fallbackLocale.value\r\n : _fallbackLocale.value;\r\n },\r\n set: val => {\r\n if (_composer.value) {\r\n _composer.value.fallbackLocale.value = val;\r\n }\r\n _fallbackLocale.value = val;\r\n }\r\n });\r\n // messages\r\n const messages = computed(() => {\r\n if (_composer.value) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return _composer.value.messages.value;\r\n }\r\n else {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return _messages.value;\r\n }\r\n });\r\n const datetimeFormats = computed(() => _datetimeFormats.value);\r\n const numberFormats = computed(() => _numberFormats.value);\r\n function getPostTranslationHandler() {\r\n return _composer.value\r\n ? _composer.value.getPostTranslationHandler()\r\n : _postTranslation;\r\n }\r\n function setPostTranslationHandler(handler) {\r\n if (_composer.value) {\r\n _composer.value.setPostTranslationHandler(handler);\r\n }\r\n }\r\n function getMissingHandler() {\r\n return _composer.value ? _composer.value.getMissingHandler() : _missing;\r\n }\r\n function setMissingHandler(handler) {\r\n if (_composer.value) {\r\n _composer.value.setMissingHandler(handler);\r\n }\r\n }\r\n function warpWithDeps(fn) {\r\n trackReactivityValues();\r\n return fn();\r\n }\r\n function t(...args) {\r\n return _composer.value\r\n ? warpWithDeps(() => Reflect.apply(_composer.value.t, null, [...args]))\r\n : warpWithDeps(() => '');\r\n }\r\n function rt(...args) {\r\n return _composer.value\r\n ? Reflect.apply(_composer.value.rt, null, [...args])\r\n : '';\r\n }\r\n function d(...args) {\r\n return _composer.value\r\n ? warpWithDeps(() => Reflect.apply(_composer.value.d, null, [...args]))\r\n : warpWithDeps(() => '');\r\n }\r\n function n(...args) {\r\n return _composer.value\r\n ? warpWithDeps(() => Reflect.apply(_composer.value.n, null, [...args]))\r\n : warpWithDeps(() => '');\r\n }\r\n function tm(key) {\r\n return _composer.value ? _composer.value.tm(key) : {};\r\n }\r\n function te(key, locale) {\r\n return _composer.value ? _composer.value.te(key, locale) : false;\r\n }\r\n function getLocaleMessage(locale) {\r\n return _composer.value ? _composer.value.getLocaleMessage(locale) : {};\r\n }\r\n function setLocaleMessage(locale, message) {\r\n if (_composer.value) {\r\n _composer.value.setLocaleMessage(locale, message);\r\n _messages.value[locale] = message;\r\n }\r\n }\r\n function mergeLocaleMessage(locale, message) {\r\n if (_composer.value) {\r\n _composer.value.mergeLocaleMessage(locale, message);\r\n }\r\n }\r\n function getDateTimeFormat(locale) {\r\n return _composer.value ? _composer.value.getDateTimeFormat(locale) : {};\r\n }\r\n function setDateTimeFormat(locale, format) {\r\n if (_composer.value) {\r\n _composer.value.setDateTimeFormat(locale, format);\r\n _datetimeFormats.value[locale] = format;\r\n }\r\n }\r\n function mergeDateTimeFormat(locale, format) {\r\n if (_composer.value) {\r\n _composer.value.mergeDateTimeFormat(locale, format);\r\n }\r\n }\r\n function getNumberFormat(locale) {\r\n return _composer.value ? _composer.value.getNumberFormat(locale) : {};\r\n }\r\n function setNumberFormat(locale, format) {\r\n if (_composer.value) {\r\n _composer.value.setNumberFormat(locale, format);\r\n _numberFormats.value[locale] = format;\r\n }\r\n }\r\n function mergeNumberFormat(locale, format) {\r\n if (_composer.value) {\r\n _composer.value.mergeNumberFormat(locale, format);\r\n }\r\n }\r\n const wrapper = {\r\n get id() {\r\n return _composer.value ? _composer.value.id : -1;\r\n },\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n datetimeFormats,\r\n numberFormats,\r\n get inheritLocale() {\r\n return _composer.value ? _composer.value.inheritLocale : _inheritLocale;\r\n },\r\n set inheritLocale(val) {\r\n if (_composer.value) {\r\n _composer.value.inheritLocale = val;\r\n }\r\n },\r\n get availableLocales() {\r\n return _composer.value\r\n ? _composer.value.availableLocales\r\n : Object.keys(_messages.value);\r\n },\r\n get modifiers() {\r\n return (_composer.value ? _composer.value.modifiers : _modifiers);\r\n },\r\n get pluralRules() {\r\n return (_composer.value ? _composer.value.pluralRules : _pluralRules);\r\n },\r\n get isGlobal() {\r\n return _composer.value ? _composer.value.isGlobal : false;\r\n },\r\n get missingWarn() {\r\n return _composer.value ? _composer.value.missingWarn : _missingWarn;\r\n },\r\n set missingWarn(val) {\r\n if (_composer.value) {\r\n _composer.value.missingWarn = val;\r\n }\r\n },\r\n get fallbackWarn() {\r\n return _composer.value ? _composer.value.fallbackWarn : _fallbackWarn;\r\n },\r\n set fallbackWarn(val) {\r\n if (_composer.value) {\r\n _composer.value.missingWarn = val;\r\n }\r\n },\r\n get fallbackRoot() {\r\n return _composer.value ? _composer.value.fallbackRoot : _fallbackRoot;\r\n },\r\n set fallbackRoot(val) {\r\n if (_composer.value) {\r\n _composer.value.fallbackRoot = val;\r\n }\r\n },\r\n get fallbackFormat() {\r\n return _composer.value ? _composer.value.fallbackFormat : _fallbackFormat;\r\n },\r\n set fallbackFormat(val) {\r\n if (_composer.value) {\r\n _composer.value.fallbackFormat = val;\r\n }\r\n },\r\n get warnHtmlMessage() {\r\n return _composer.value\r\n ? _composer.value.warnHtmlMessage\r\n : _warnHtmlMessage;\r\n },\r\n set warnHtmlMessage(val) {\r\n if (_composer.value) {\r\n _composer.value.warnHtmlMessage = val;\r\n }\r\n },\r\n get escapeParameter() {\r\n return _composer.value\r\n ? _composer.value.escapeParameter\r\n : _escapeParameter;\r\n },\r\n set escapeParameter(val) {\r\n if (_composer.value) {\r\n _composer.value.escapeParameter = val;\r\n }\r\n },\r\n t,\r\n getPostTranslationHandler,\r\n setPostTranslationHandler,\r\n getMissingHandler,\r\n setMissingHandler,\r\n rt,\r\n d,\r\n n,\r\n tm,\r\n te,\r\n getLocaleMessage,\r\n setLocaleMessage,\r\n mergeLocaleMessage,\r\n getDateTimeFormat,\r\n setDateTimeFormat,\r\n mergeDateTimeFormat,\r\n getNumberFormat,\r\n setNumberFormat,\r\n mergeNumberFormat\r\n };\r\n function sync(composer) {\r\n composer.locale.value = _locale.value;\r\n composer.fallbackLocale.value = _fallbackLocale.value;\r\n Object.keys(_messages.value).forEach(locale => {\r\n composer.mergeLocaleMessage(locale, _messages.value[locale]);\r\n });\r\n Object.keys(_datetimeFormats.value).forEach(locale => {\r\n composer.mergeDateTimeFormat(locale, _datetimeFormats.value[locale]);\r\n });\r\n Object.keys(_numberFormats.value).forEach(locale => {\r\n composer.mergeNumberFormat(locale, _numberFormats.value[locale]);\r\n });\r\n composer.escapeParameter = _escapeParameter;\r\n composer.fallbackFormat = _fallbackFormat;\r\n composer.fallbackRoot = _fallbackRoot;\r\n composer.fallbackWarn = _fallbackWarn;\r\n composer.missingWarn = _missingWarn;\r\n composer.warnHtmlMessage = _warnHtmlMessage;\r\n }\r\n onBeforeMount(() => {\r\n if (instance.proxy == null || instance.proxy.$i18n == null) {\r\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const composer = (_composer.value = instance.proxy.$i18n\r\n .__composer);\r\n if (scope === 'global') {\r\n _locale.value = composer.locale.value;\r\n _fallbackLocale.value = composer.fallbackLocale.value;\r\n _messages.value = composer.messages.value;\r\n _datetimeFormats.value = composer.datetimeFormats.value;\r\n _numberFormats.value = composer.numberFormats.value;\r\n }\r\n else if (isLocale) {\r\n sync(composer);\r\n }\r\n });\r\n return wrapper;\r\n}\r\nconst globalExportProps = [\r\n 'locale',\r\n 'fallbackLocale',\r\n 'availableLocales'\r\n];\r\nconst globalExportMethods = ['t', 'rt', 'd', 'n', 'tm'] ;\r\nfunction injectGlobalFields(app, composer) {\r\n const i18n = Object.create(null);\r\n globalExportProps.forEach(prop => {\r\n const desc = Object.getOwnPropertyDescriptor(composer, prop);\r\n if (!desc) {\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\r\n }\r\n const wrap = isRef(desc.value) // check computed props\r\n ? {\r\n get() {\r\n return desc.value.value;\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n set(val) {\r\n desc.value.value = val;\r\n }\r\n }\r\n : {\r\n get() {\r\n return desc.get && desc.get();\r\n }\r\n };\r\n Object.defineProperty(i18n, prop, wrap);\r\n });\r\n app.config.globalProperties.$i18n = i18n;\r\n globalExportMethods.forEach(method => {\r\n const desc = Object.getOwnPropertyDescriptor(composer, method);\r\n if (!desc || !desc.value) {\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\r\n }\r\n Object.defineProperty(app.config.globalProperties, `$${method}`, desc);\r\n });\r\n}\n\n// register message compiler at vue-i18n\r\nregisterMessageCompiler(compileToFunction);\r\n// register message resolver at vue-i18n\r\nregisterMessageResolver(resolveValue);\r\n// register fallback locale at vue-i18n\r\nregisterLocaleFallbacker(fallbackWithLocaleChain);\r\n{\r\n initFeatureFlags();\r\n}\r\n// NOTE: experimental !!\r\nif ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\r\n const target = getGlobalThis();\r\n target.__INTLIFY__ = true;\r\n setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);\r\n}\r\nif ((process.env.NODE_ENV !== 'production')) ;\n\nexport { DatetimeFormat, I18nInjectionKey, NumberFormat, Translation, VERSION, castToVueI18n, createI18n, useI18n, vTDirective };\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n}\nfunction extend(target = {}, src = {}) {\n Object.keys(src).forEach((key) => {\n if (typeof target[key] === 'undefined')\n target[key] = src[key];\n else if (isObject(src[key]) &&\n isObject(target[key]) &&\n Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\n\nconst ssrDocument = {\n body: {},\n addEventListener() { },\n removeEventListener() { },\n activeElement: {\n blur() { },\n nodeName: '',\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() { },\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() { },\n getElementsByTagName() {\n return [];\n },\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\n\nconst ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState() { },\n pushState() { },\n go() { },\n back() { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() { },\n removeEventListener() { },\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n },\n };\n },\n Image() { },\n Date() { },\n screen: {},\n setTimeout() { },\n clearTimeout() { },\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n },\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { extend, getDocument, getWindow, ssrDocument, ssrWindow };\n","/**\n * Dom7 4.0.4\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2022, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: January 11, 2022\n */\nimport { getWindow, getDocument } from 'ssr-window';\n\n/* eslint-disable no-proto */\nfunction makeReactive(obj) {\n const proto = obj.__proto__;\n Object.defineProperty(obj, '__proto__', {\n get() {\n return proto;\n },\n\n set(value) {\n proto.__proto__ = value;\n }\n\n });\n}\n\nclass Dom7 extends Array {\n constructor(items) {\n if (typeof items === 'number') {\n super(items);\n } else {\n super(...(items || []));\n makeReactive(this);\n }\n }\n\n}\n\nfunction arrayFlat(arr = []) {\n const res = [];\n arr.forEach(el => {\n if (Array.isArray(el)) {\n res.push(...arrayFlat(el));\n } else {\n res.push(el);\n }\n });\n return res;\n}\nfunction arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n}\nfunction arrayUnique(arr) {\n const uniqueArray = [];\n\n for (let i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n}\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, (match, group) => group.toUpperCase());\n}\n\n// eslint-disable-next-line\n\nfunction qsa(selector, context) {\n if (typeof selector !== 'string') {\n return [selector];\n }\n\n const a = [];\n const res = context.querySelectorAll(selector);\n\n for (let i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n\n return a;\n}\n\nfunction $(selector, context) {\n const window = getWindow();\n const document = getDocument();\n let arr = [];\n\n if (!context && selector instanceof Dom7) {\n return selector;\n }\n\n if (!selector) {\n return new Dom7(arr);\n }\n\n if (typeof selector === 'string') {\n const html = selector.trim();\n\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n let toCreate = 'div';\n if (html.indexOf(' c.split(' ')));\n this.forEach(el => {\n el.classList.add(...classNames);\n });\n return this;\n}\n\nfunction removeClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n el.classList.remove(...classNames);\n });\n return this;\n}\n\nfunction toggleClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n classNames.forEach(className => {\n el.classList.toggle(className);\n });\n });\n}\n\nfunction hasClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n return arrayFilter(this, el => {\n return classNames.filter(className => el.classList.contains(className)).length > 0;\n }).length > 0;\n}\n\nfunction attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n return undefined;\n } // Set attrs\n\n\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n for (const attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n\n return this;\n}\n\nfunction removeAttr(attr) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n\n return this;\n}\n\nfunction prop(props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n } else {\n // Set props\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n for (const propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction data(key, value) {\n let el;\n\n if (typeof value === 'undefined') {\n el = this[0];\n if (!el) return undefined; // Get value\n\n if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {\n return el.dom7ElementDataStorage[key];\n }\n\n const dataKey = el.getAttribute(`data-${key}`);\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n } // Set value\n\n\n for (let i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n\n return this;\n}\n\nfunction removeData(key) {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n}\n\nfunction dataset() {\n const el = this[0];\n if (!el) return undefined;\n const dataset = {}; // eslint-disable-line\n\n if (el.dataset) {\n for (const dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (let i = 0; i < el.attributes.length; i += 1) {\n const attr = el.attributes[i];\n\n if (attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(attr.name.split('data-')[1])] = attr.value;\n }\n }\n }\n\n for (const key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;\n }\n\n return dataset;\n}\n\nfunction val(value) {\n if (typeof value === 'undefined') {\n // get value\n const el = this[0];\n if (!el) return undefined;\n\n if (el.multiple && el.nodeName.toLowerCase() === 'select') {\n const values = [];\n\n for (let i = 0; i < el.selectedOptions.length; i += 1) {\n values.push(el.selectedOptions[i].value);\n }\n\n return values;\n }\n\n return el.value;\n } // set value\n\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') {\n for (let j = 0; j < el.options.length; j += 1) {\n el.options[j].selected = value.indexOf(el.options[j].value) >= 0;\n }\n } else {\n el.value = value;\n }\n }\n\n return this;\n}\n\nfunction value(value) {\n return this.val(value);\n}\n\nfunction transform(transform) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transform = transform;\n }\n\n return this;\n}\n\nfunction transition(duration) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transitionDuration = typeof duration !== 'string' ? `${duration}ms` : duration;\n }\n\n return this;\n}\n\nfunction on(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n const target = e.target;\n if (!target) return;\n const eventData = e.target.dom7EventData || [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n if ($(target).is(targetSelector)) listener.apply(target, eventData);else {\n const parents = $(target).parents(); // eslint-disable-line\n\n for (let k = 0; k < parents.length; k += 1) {\n if ($(parents[k]).is(targetSelector)) listener.apply(parents[k], eventData);\n }\n }\n }\n\n function handleEvent(e) {\n const eventData = e && e.target ? e.target.dom7EventData || [] : [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n listener.apply(this, eventData);\n }\n\n const events = eventType.split(' ');\n let j;\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n const event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n listener,\n proxyListener: handleEvent\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n const event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[event]) el.dom7LiveListeners[event] = [];\n el.dom7LiveListeners[event].push({\n listener,\n proxyListener: handleLiveEvent\n });\n el.addEventListener(event, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n}\n\nfunction off(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n const events = eventType.split(' ');\n\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n let handlers;\n\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n\n if (handlers && handlers.length) {\n for (let k = handlers.length - 1; k >= 0; k -= 1) {\n const handler = handlers[k];\n\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n\n return this;\n}\n\nfunction once(...args) {\n const dom = this;\n let [eventName, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventName, listener, capture] = args;\n targetSelector = undefined;\n }\n\n function onceHandler(...eventArgs) {\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n}\n\nfunction trigger(...args) {\n const window = getWindow();\n const events = args[0].split(' ');\n const eventData = args[1];\n\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n\n if (window.CustomEvent) {\n const evt = new window.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n el.dom7EventData = args.filter((data, dataIndex) => dataIndex > 0);\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n }\n\n return this;\n}\n\nfunction transitionEnd(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionend', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionend', fireCallBack);\n }\n\n return this;\n}\n\nfunction animationEnd(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('animationend', fireCallBack);\n }\n\n if (callback) {\n dom.on('animationend', fireCallBack);\n }\n\n return this;\n}\n\nfunction width() {\n const window = getWindow();\n\n if (this[0] === window) {\n return window.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n}\n\nfunction outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles = this.styles();\n return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));\n }\n\n return this[0].offsetWidth;\n }\n\n return null;\n}\n\nfunction height() {\n const window = getWindow();\n\n if (this[0] === window) {\n return window.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n}\n\nfunction outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles = this.styles();\n return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));\n }\n\n return this[0].offsetHeight;\n }\n\n return null;\n}\n\nfunction offset() {\n if (this.length > 0) {\n const window = getWindow();\n const document = getDocument();\n const el = this[0];\n const box = el.getBoundingClientRect();\n const body = document.body;\n const clientTop = el.clientTop || body.clientTop || 0;\n const clientLeft = el.clientLeft || body.clientLeft || 0;\n const scrollTop = el === window ? window.scrollY : el.scrollTop;\n const scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n\n return null;\n}\n\nfunction hide() {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n\n return this;\n}\n\nfunction show() {\n const window = getWindow();\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n\n if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n\n return this;\n}\n\nfunction styles() {\n const window = getWindow();\n if (this[0]) return window.getComputedStyle(this[0], null);\n return {};\n}\n\nfunction css(props, value) {\n const window = getWindow();\n let i;\n\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n // .css('width')\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n // .css({ width: '100px' })\n for (i = 0; i < this.length; i += 1) {\n for (const prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n\n return this;\n }\n }\n\n if (arguments.length === 2 && typeof props === 'string') {\n // .css('width', '100px')\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction each(callback) {\n if (!callback) return this;\n this.forEach((el, index) => {\n callback.apply(el, [el, index]);\n });\n return this;\n}\n\nfunction filter(callback) {\n const result = arrayFilter(this, callback);\n return $(result);\n}\n\nfunction html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : null;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n\n return this;\n}\n\nfunction text(text) {\n if (typeof text === 'undefined') {\n return this[0] ? this[0].textContent.trim() : null;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n}\n\nfunction is(selector) {\n const window = getWindow();\n const document = getDocument();\n const el = this[0];\n let compareWith;\n let i;\n if (!el || typeof selector === 'undefined') return false;\n\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);\n if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n compareWith = $(selector);\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n if (selector === document) {\n return el === document;\n }\n\n if (selector === window) {\n return el === window;\n }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n return false;\n}\n\nfunction index() {\n let child = this[0];\n let i;\n\n if (child) {\n i = 0; // eslint-disable-next-line\n\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n\n return i;\n }\n\n return undefined;\n}\n\nfunction eq(index) {\n if (typeof index === 'undefined') return this;\n const length = this.length;\n\n if (index > length - 1) {\n return $([]);\n }\n\n if (index < 0) {\n const returnIndex = length + index;\n if (returnIndex < 0) return $([]);\n return $([this[returnIndex]]);\n }\n\n return $([this[index]]);\n}\n\nfunction append(...els) {\n let newChild;\n const document = getDocument();\n\n for (let k = 0; k < els.length; k += 1) {\n newChild = els[k];\n\n for (let i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (let j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n}\n\nfunction appendTo(parent) {\n $(parent).append(this);\n return this;\n}\n\nfunction prepend(newChild) {\n const document = getDocument();\n let i;\n let j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n\n return this;\n}\n\nfunction prependTo(parent) {\n $(parent).prepend(this);\n return this;\n}\n\nfunction insertBefore(selector) {\n const before = $(selector);\n\n for (let i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (let j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n}\n\nfunction insertAfter(selector) {\n const after = $(selector);\n\n for (let i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (let j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n}\n\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return $([this[0].nextElementSibling]);\n }\n\n return $([]);\n }\n\n if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction nextAll(selector) {\n const nextEls = [];\n let el = this[0];\n if (!el) return $([]);\n\n while (el.nextElementSibling) {\n const next = el.nextElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(next).is(selector)) nextEls.push(next);\n } else nextEls.push(next);\n\n el = next;\n }\n\n return $(nextEls);\n}\n\nfunction prev(selector) {\n if (this.length > 0) {\n const el = this[0];\n\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return $([el.previousElementSibling]);\n }\n\n return $([]);\n }\n\n if (el.previousElementSibling) return $([el.previousElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction prevAll(selector) {\n const prevEls = [];\n let el = this[0];\n if (!el) return $([]);\n\n while (el.previousElementSibling) {\n const prev = el.previousElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(prev).is(selector)) prevEls.push(prev);\n } else prevEls.push(prev);\n\n el = prev;\n }\n\n return $(prevEls);\n}\n\nfunction siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n}\n\nfunction parent(selector) {\n const parents = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n\n return $(parents);\n}\n\nfunction parents(selector) {\n const parents = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n let parent = this[i].parentNode; // eslint-disable-line\n\n while (parent) {\n if (selector) {\n if ($(parent).is(selector)) parents.push(parent);\n } else {\n parents.push(parent);\n }\n\n parent = parent.parentNode;\n }\n }\n\n return $(parents);\n}\n\nfunction closest(selector) {\n let closest = this; // eslint-disable-line\n\n if (typeof selector === 'undefined') {\n return $([]);\n }\n\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n\n return closest;\n}\n\nfunction find(selector) {\n const foundElements = [];\n\n for (let i = 0; i < this.length; i += 1) {\n const found = this[i].querySelectorAll(selector);\n\n for (let j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return $(foundElements);\n}\n\nfunction children(selector) {\n const children = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n const childNodes = this[i].children;\n\n for (let j = 0; j < childNodes.length; j += 1) {\n if (!selector || $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n\n return $(children);\n}\n\nfunction remove() {\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n\n return this;\n}\n\nfunction detach() {\n return this.remove();\n}\n\nfunction add(...els) {\n const dom = this;\n let i;\n let j;\n\n for (i = 0; i < els.length; i += 1) {\n const toAdd = $(els[i]);\n\n for (j = 0; j < toAdd.length; j += 1) {\n dom.push(toAdd[j]);\n }\n }\n\n return dom;\n}\n\nfunction empty() {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.nodeType === 1) {\n for (let j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n\n el.textContent = '';\n }\n }\n\n return this;\n}\n\n// eslint-disable-next-line\n\nfunction scrollTo(...args) {\n const window = getWindow();\n let [left, top, duration, easing, callback] = args;\n\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n [left, top, duration, callback, easing] = args;\n }\n\n if (typeof easing === 'undefined') easing = 'swing';\n return this.each(function animate() {\n const el = this;\n let currentTop;\n let currentLeft;\n let maxTop;\n let maxLeft;\n let newTop;\n let newLeft;\n let scrollTop; // eslint-disable-line\n\n let scrollLeft; // eslint-disable-line\n\n let animateTop = top > 0 || top === 0;\n let animateLeft = left > 0 || left === 0;\n\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n\n if (animateTop) {\n currentTop = el.scrollTop;\n\n if (!duration) {\n el.scrollTop = top;\n }\n }\n\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n\n if (!duration) return;\n\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n\n let startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n\n function render(time = new Date().getTime()) {\n if (startTime === null) {\n startTime = time;\n }\n\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;\n let done;\n if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);\n if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);\n\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) callback();\n return;\n }\n\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n window.requestAnimationFrame(render);\n }\n\n window.requestAnimationFrame(render);\n });\n} // scrollTop(top, duration, easing, callback) {\n\n\nfunction scrollTop(...args) {\n let [top, duration, easing, callback] = args;\n\n if (args.length === 3 && typeof easing === 'function') {\n [top, duration, callback, easing] = args;\n }\n\n const dom = this;\n\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n return null;\n }\n\n return dom.scrollTo(undefined, top, duration, easing, callback);\n}\n\nfunction scrollLeft(...args) {\n let [left, duration, easing, callback] = args;\n\n if (args.length === 3 && typeof easing === 'function') {\n [left, duration, callback, easing] = args;\n }\n\n const dom = this;\n\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n return null;\n }\n\n return dom.scrollTo(left, undefined, duration, easing, callback);\n}\n\n// eslint-disable-next-line\n\nfunction animate(initialProps, initialParams) {\n const window = getWindow();\n const els = this;\n const a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing' // or 'linear'\n\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n\n }, initialParams),\n elements: els,\n animating: false,\n que: [],\n\n easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - Math.cos(progress * Math.PI) / 2;\n }\n\n if (typeof easing === 'function') {\n return easing(progress);\n }\n\n return progress;\n },\n\n stop() {\n if (a.frameId) {\n window.cancelAnimationFrame(a.frameId);\n }\n\n a.animating = false;\n a.elements.each(el => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n\n done(complete) {\n a.animating = false;\n a.elements.each(el => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n\n if (a.que.length > 0) {\n const que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n\n animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n\n const elements = []; // Define & Cache Initials & Units\n\n a.elements.each((el, index) => {\n let initialFullValue;\n let initialValue;\n let unit;\n let finalValue;\n let finalFullValue;\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n elements[index] = {\n container: el\n };\n Object.keys(props).forEach(prop => {\n initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue,\n initialValue,\n unit,\n finalValue,\n finalFullValue,\n currentValue: initialValue\n };\n });\n });\n let startTime = null;\n let time;\n let elementsDone = 0;\n let propsDone = 0;\n let done;\n let began = false;\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n let progress;\n let easeProgress; // let el;\n\n if (!began) {\n began = true;\n if (params.begin) params.begin(els);\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime);\n }\n\n elements.forEach(element => {\n const el = element;\n if (done || el.done) return;\n Object.keys(props).forEach(prop => {\n if (done || el.done) return;\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n const {\n initialValue,\n finalValue,\n unit\n } = el[prop];\n el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);\n const currentValue = el[prop].currentValue;\n\n if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n\n if (done) {\n a.done(params.complete);\n return;\n }\n\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) return; // Then call\n\n a.frameId = window.requestAnimationFrame(render);\n }\n\n a.frameId = window.requestAnimationFrame(render);\n return a;\n }\n\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n let animateInstance;\n\n for (let i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else a.elements[i].dom7AnimateInstance = a;\n }\n\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n}\n\nfunction stop() {\n const els = this;\n\n for (let i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nconst noTrigger = 'resize scroll'.split(' ');\n\nfunction shortcut(name) {\n function eventHandler(...args) {\n if (typeof args[0] === 'undefined') {\n for (let i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();else {\n $(this[i]).trigger(name);\n }\n }\n }\n\n return this;\n }\n\n return this.on(name, ...args);\n }\n\n return eventHandler;\n}\n\nconst click = shortcut('click');\nconst blur = shortcut('blur');\nconst focus = shortcut('focus');\nconst focusin = shortcut('focusin');\nconst focusout = shortcut('focusout');\nconst keyup = shortcut('keyup');\nconst keydown = shortcut('keydown');\nconst keypress = shortcut('keypress');\nconst submit = shortcut('submit');\nconst change = shortcut('change');\nconst mousedown = shortcut('mousedown');\nconst mousemove = shortcut('mousemove');\nconst mouseup = shortcut('mouseup');\nconst mouseenter = shortcut('mouseenter');\nconst mouseleave = shortcut('mouseleave');\nconst mouseout = shortcut('mouseout');\nconst mouseover = shortcut('mouseover');\nconst touchstart = shortcut('touchstart');\nconst touchend = shortcut('touchend');\nconst touchmove = shortcut('touchmove');\nconst resize = shortcut('resize');\nconst scroll = shortcut('scroll');\n\nexport default $;\nexport { $, add, addClass, animate, animationEnd, append, appendTo, attr, blur, change, children, click, closest, css, data, dataset, detach, each, empty, eq, filter, find, focus, focusin, focusout, hasClass, height, hide, html, index, insertAfter, insertBefore, is, keydown, keypress, keyup, mousedown, mouseenter, mouseleave, mousemove, mouseout, mouseover, mouseup, next, nextAll, off, offset, on, once, outerHeight, outerWidth, parent, parents, prepend, prependTo, prev, prevAll, prop, remove, removeAttr, removeClass, removeData, resize, scroll, scrollLeft, scrollTo, scrollTop, show, siblings, stop, styles, submit, text, toggleClass, touchend, touchmove, touchstart, transform, transition, transitionEnd, trigger, val, value, width };\n","import { $, addClass, removeClass, hasClass, toggleClass, attr, removeAttr, transform, transition, on, off, trigger, transitionEnd, outerWidth, outerHeight, styles, offset, css, each, html, text, is, index, eq, append, prepend, next, nextAll, prev, prevAll, parent, parents, closest, find, children, filter, remove } from 'dom7';\nconst Methods = {\n addClass,\n removeClass,\n hasClass,\n toggleClass,\n attr,\n removeAttr,\n transform,\n transition,\n on,\n off,\n trigger,\n transitionEnd,\n outerWidth,\n outerHeight,\n styles,\n offset,\n css,\n each,\n html,\n text,\n is,\n index,\n eq,\n append,\n prepend,\n next,\n nextAll,\n prev,\n prevAll,\n parent,\n parents,\n closest,\n find,\n children,\n filter,\n remove\n};\nObject.keys(Methods).forEach(methodName => {\n Object.defineProperty($.fn, methodName, {\n value: Methods[methodName],\n writable: true\n });\n});\nexport default $;","import { getWindow } from 'ssr-window';\n\nfunction deleteProps(obj) {\n const object = obj;\n Object.keys(object).forEach(key => {\n try {\n object[key] = null;\n } catch (e) {// no getter for object\n }\n\n try {\n delete object[key];\n } catch (e) {// something got wrong\n }\n });\n}\n\nfunction nextTick(callback, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n\n return setTimeout(callback, delay);\n}\n\nfunction now() {\n return Date.now();\n}\n\nfunction getComputedStyle(el) {\n const window = getWindow();\n let style;\n\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n\n if (!style) {\n style = el.style;\n }\n\n return style;\n}\n\nfunction getTranslate(el, axis) {\n if (axis === void 0) {\n axis = 'x';\n }\n\n const window = getWindow();\n let matrix;\n let curTransform;\n let transformMatrix;\n const curStyle = getComputedStyle(el, null);\n\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', ');\n } // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n\n\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n\n return curTransform || 0;\n}\n\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\n\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\n\nfunction extend() {\n const to = Object(arguments.length <= 0 ? undefined : arguments[0]);\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n\n for (let i = 1; i < arguments.length; i += 1) {\n const nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\n\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0);\n\n for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n const nextKey = keysArray[nextIndex];\n const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n\n return to;\n}\n\nfunction setCSSProperty(el, varName, varValue) {\n el.style.setProperty(varName, varValue);\n}\n\nfunction animateCSSModeScroll(_ref) {\n let {\n swiper,\n targetPosition,\n side\n } = _ref;\n const window = getWindow();\n const startPosition = -swiper.translate;\n let startTime = null;\n let time;\n const duration = swiper.params.speed;\n swiper.wrapperEl.style.scrollSnapType = 'none';\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n const dir = targetPosition > startPosition ? 'next' : 'prev';\n\n const isOutOfBound = (current, target) => {\n return dir === 'next' && current >= target || dir === 'prev' && current <= target;\n };\n\n const animate = () => {\n time = new Date().getTime();\n\n if (startTime === null) {\n startTime = time;\n }\n\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;\n let currentPosition = startPosition + easeProgress * (targetPosition - startPosition);\n\n if (isOutOfBound(currentPosition, targetPosition)) {\n currentPosition = targetPosition;\n }\n\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n\n if (isOutOfBound(currentPosition, targetPosition)) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.scrollSnapType = '';\n setTimeout(() => {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n });\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n return;\n }\n\n swiper.cssModeFrameID = window.requestAnimationFrame(animate);\n };\n\n animate();\n}\n\nexport { animateCSSModeScroll, deleteProps, nextTick, now, getTranslate, isObject, extend, getComputedStyle, setCSSProperty };","import { getWindow, getDocument } from 'ssr-window';\nlet support;\n\nfunction calcSupport() {\n const window = getWindow();\n const document = getDocument();\n return {\n smoothScroll: document.documentElement && 'scrollBehavior' in document.documentElement.style,\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch),\n passiveListener: function checkPassiveListener() {\n let supportsPassive = false;\n\n try {\n const opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line\n get() {\n supportsPassive = true;\n }\n\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {// No support\n }\n\n return supportsPassive;\n }(),\n gestures: function checkGestures() {\n return 'ongesturestart' in window;\n }()\n };\n}\n\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n\n return support;\n}\n\nexport { getSupport };","import { getWindow } from 'ssr-window';\nimport { getSupport } from './get-support.js';\nlet deviceCached;\n\nfunction calcDevice(_temp) {\n let {\n userAgent\n } = _temp === void 0 ? {} : _temp;\n const support = getSupport();\n const window = getWindow();\n const platform = window.navigator.platform;\n const ua = userAgent || window.navigator.userAgent;\n const device = {\n ios: false,\n android: false\n };\n const screenWidth = window.screen.width;\n const screenHeight = window.screen.height;\n const android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n\n let ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n const ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n const iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n const windows = platform === 'Win32';\n let macos = platform === 'MacIntel'; // iPadOs 13 fix\n\n const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n\n if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n } // Android\n\n\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n } // Export object\n\n\n return device;\n}\n\nfunction getDevice(overrides) {\n if (overrides === void 0) {\n overrides = {};\n }\n\n if (!deviceCached) {\n deviceCached = calcDevice(overrides);\n }\n\n return deviceCached;\n}\n\nexport { getDevice };","import { getWindow } from 'ssr-window';\nlet browser;\n\nfunction calcBrowser() {\n const window = getWindow();\n\n function isSafari() {\n const ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n\n return {\n isSafari: isSafari(),\n isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)\n };\n}\n\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n\n return browser;\n}\n\nexport { getBrowser };","import { getWindow } from 'ssr-window';\nexport default function Resize(_ref) {\n let {\n swiper,\n on,\n emit\n } = _ref;\n const window = getWindow();\n let observer = null;\n let animationFrame = null;\n\n const resizeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('beforeResize');\n emit('resize');\n };\n\n const createObserver = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n observer = new ResizeObserver(entries => {\n animationFrame = window.requestAnimationFrame(() => {\n const {\n width,\n height\n } = swiper;\n let newWidth = width;\n let newHeight = height;\n entries.forEach(_ref2 => {\n let {\n contentBoxSize,\n contentRect,\n target\n } = _ref2;\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n\n if (newWidth !== width || newHeight !== height) {\n resizeHandler();\n }\n });\n });\n observer.observe(swiper.el);\n };\n\n const removeObserver = () => {\n if (animationFrame) {\n window.cancelAnimationFrame(animationFrame);\n }\n\n if (observer && observer.unobserve && swiper.el) {\n observer.unobserve(swiper.el);\n observer = null;\n }\n };\n\n const orientationChangeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('orientationchange');\n };\n\n on('init', () => {\n if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {\n createObserver();\n return;\n }\n\n window.addEventListener('resize', resizeHandler);\n window.addEventListener('orientationchange', orientationChangeHandler);\n });\n on('destroy', () => {\n removeObserver();\n window.removeEventListener('resize', resizeHandler);\n window.removeEventListener('orientationchange', orientationChangeHandler);\n });\n}","import { getWindow } from 'ssr-window';\nexport default function Observer(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const observers = [];\n const window = getWindow();\n\n const attach = function (target, options) {\n if (options === void 0) {\n options = {};\n }\n\n const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n const observer = new ObserverFunc(mutations => {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (mutations.length === 1) {\n emit('observerUpdate', mutations[0]);\n return;\n }\n\n const observerUpdate = function observerUpdate() {\n emit('observerUpdate', mutations[0]);\n };\n\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n observers.push(observer);\n };\n\n const init = () => {\n if (!swiper.params.observer) return;\n\n if (swiper.params.observeParents) {\n const containerParents = swiper.$el.parents();\n\n for (let i = 0; i < containerParents.length; i += 1) {\n attach(containerParents[i]);\n }\n } // Observe container\n\n\n attach(swiper.$el[0], {\n childList: swiper.params.observeSlideChildren\n }); // Observe wrapper\n\n attach(swiper.$wrapperEl[0], {\n attributes: false\n });\n };\n\n const destroy = () => {\n observers.forEach(observer => {\n observer.disconnect();\n });\n observers.splice(0, observers.length);\n };\n\n extendParams({\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n });\n on('init', init);\n on('destroy', destroy);\n}","/* eslint-disable no-underscore-dangle */\nexport default {\n on(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(event => {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n\n once(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n\n function onceHandler() {\n self.off(events, onceHandler);\n\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n handler.apply(self, args);\n }\n\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n\n onAny(handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n\n return self;\n },\n\n offAny(handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsAnyListeners) return self;\n const index = self.eventsAnyListeners.indexOf(handler);\n\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n\n return self;\n },\n\n off(events, handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(event => {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach((eventHandler, index) => {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n },\n\n emit() {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n let events;\n let data;\n let context;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n\n data.unshift(context);\n const eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(event => {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(eventHandler => {\n eventHandler.apply(context, [event, ...data]);\n });\n }\n\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(eventHandler => {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n\n};","export default function updateSize() {\n const swiper = this;\n let width;\n let height;\n const $el = swiper.$el;\n\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = $el[0].clientWidth;\n }\n\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = $el[0].clientHeight;\n }\n\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n } // Subtract paddings\n\n\n width = width - parseInt($el.css('padding-left') || 0, 10) - parseInt($el.css('padding-right') || 0, 10);\n height = height - parseInt($el.css('padding-top') || 0, 10) - parseInt($el.css('padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n Object.assign(swiper, {\n width,\n height,\n size: swiper.isHorizontal() ? width : height\n });\n}","import { setCSSProperty } from '../../shared/utils.js';\nexport default function updateSlides() {\n const swiper = this;\n\n function getDirectionLabel(property) {\n if (swiper.isHorizontal()) {\n return property;\n } // prettier-ignore\n\n\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);\n }\n\n const params = swiper.params;\n const {\n $wrapperEl,\n size: swiperSize,\n rtlTranslate: rtl,\n wrongRTL\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n const slides = $wrapperEl.children(`.${swiper.params.slideClass}`);\n const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n let snapGrid = [];\n const slidesGrid = [];\n const slidesSizesGrid = [];\n let offsetBefore = params.slidesOffsetBefore;\n\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n\n let offsetAfter = params.slidesOffsetAfter;\n\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n\n const previousSnapGridLength = swiper.snapGrid.length;\n const previousSlidesGridLength = swiper.slidesGrid.length;\n let spaceBetween = params.spaceBetween;\n let slidePosition = -offsetBefore;\n let prevSlideSize = 0;\n let index = 0;\n\n if (typeof swiperSize === 'undefined') {\n return;\n }\n\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n }\n\n swiper.virtualSize = -spaceBetween; // reset margins\n\n if (rtl) slides.css({\n marginLeft: '',\n marginBottom: '',\n marginTop: ''\n });else slides.css({\n marginRight: '',\n marginBottom: '',\n marginTop: ''\n }); // reset cssMode offsets\n\n if (params.centeredSlides && params.cssMode) {\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-before', '');\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-after', '');\n }\n\n const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;\n\n if (gridEnabled) {\n swiper.grid.initSlides(slidesLength);\n } // Calc slides\n\n\n let slideSize;\n const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => {\n return typeof params.breakpoints[key].slidesPerView !== 'undefined';\n }).length > 0;\n\n for (let i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n const slide = slides.eq(i);\n\n if (gridEnabled) {\n swiper.grid.updateSlide(i, slide, slidesLength, getDirectionLabel);\n }\n\n if (slide.css('display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n if (shouldResetSlideSize) {\n slides[i].style[getDirectionLabel('width')] = ``;\n }\n\n const slideStyles = getComputedStyle(slide[0]);\n const currentTransform = slide[0].style.transform;\n const currentWebKitTransform = slide[0].style.webkitTransform;\n\n if (currentTransform) {\n slide[0].style.transform = 'none';\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = 'none';\n }\n\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\n } else {\n // eslint-disable-next-line\n const width = getDirectionPropertyValue(slideStyles, 'width');\n const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n const boxSizing = slideStyles.getPropertyValue('box-sizing');\n\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n const {\n clientWidth,\n offsetWidth\n } = slide[0];\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n\n if (currentTransform) {\n slide[0].style.transform = currentTransform;\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = currentWebKitTransform;\n }\n\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n\n if (slides[i]) {\n slides[i].style[getDirectionLabel('width')] = `${slideSize}px`;\n }\n }\n\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n\n slidesSizesGrid.push(slideSize);\n\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n $wrapperEl.css({\n width: `${swiper.virtualSize + params.spaceBetween}px`\n });\n }\n\n if (params.setWrapperSize) {\n $wrapperEl.css({\n [getDirectionLabel('width')]: `${swiper.virtualSize + params.spaceBetween}px`\n });\n }\n\n if (gridEnabled) {\n swiper.grid.updateWrapperSize(slideSize, snapGrid, getDirectionLabel);\n } // Remove last grid elements depending on width\n\n\n if (!params.centeredSlides) {\n const newSlidesGrid = [];\n\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n\n if (snapGrid[i] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(slidesGridItem);\n }\n }\n\n snapGrid = newSlidesGrid;\n\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n\n if (snapGrid.length === 0) snapGrid = [0];\n\n if (params.spaceBetween !== 0) {\n const key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');\n slides.filter((_, slideIndex) => {\n if (!params.cssMode) return true;\n\n if (slideIndex === slides.length - 1) {\n return false;\n }\n\n return true;\n }).css({\n [key]: `${spaceBetween}px`\n });\n }\n\n if (params.centeredSlides && params.centeredSlidesBounds) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n const maxSnap = allSlidesSize - swiperSize;\n snapGrid = snapGrid.map(snap => {\n if (snap < 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n\n if (params.centerInsufficientSlides) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n\n if (allSlidesSize < swiperSize) {\n const allSlidesOffset = (swiperSize - allSlidesSize) / 2;\n snapGrid.forEach((snap, snapIndex) => {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach((snap, snapIndex) => {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n\n Object.assign(swiper, {\n slides,\n snapGrid,\n slidesGrid,\n slidesSizesGrid\n });\n\n if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);\n const addToSnapGrid = -swiper.snapGrid[0];\n const addToSlidesGrid = -swiper.slidesGrid[0];\n swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid);\n swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid);\n }\n\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n\n if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {\n const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;\n const hasClassBackfaceClassAdded = swiper.$el.hasClass(backFaceHiddenClass);\n\n if (slidesLength <= params.maxBackfaceHiddenSlides) {\n if (!hasClassBackfaceClassAdded) swiper.$el.addClass(backFaceHiddenClass);\n } else if (hasClassBackfaceClassAdded) {\n swiper.$el.removeClass(backFaceHiddenClass);\n }\n }\n}","import $ from '../../shared/dom.js';\nexport default function updateAutoHeight(speed) {\n const swiper = this;\n const activeSlides = [];\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let newHeight = 0;\n let i;\n\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n\n const getSlideByIndex = index => {\n if (isVirtual) {\n return swiper.slides.filter(el => parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index)[0];\n }\n\n return swiper.slides.eq(index)[0];\n }; // Find slides currently in view\n\n\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n (swiper.visibleSlides || $([])).each(slide => {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n const index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n } // Find new height from highest slide in view\n\n\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n const height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n } // Update Height\n\n\n if (newHeight || newHeight === 0) swiper.$wrapperEl.css('height', `${newHeight}px`);\n}","export default function updateSlidesOffset() {\n const swiper = this;\n const slides = swiper.slides;\n\n for (let i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;\n }\n}","import $ from '../../shared/dom.js';\nexport default function updateSlidesProgress(translate) {\n if (translate === void 0) {\n translate = this && this.translate || 0;\n }\n\n const swiper = this;\n const params = swiper.params;\n const {\n slides,\n rtlTranslate: rtl,\n snapGrid\n } = swiper;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n let offsetCenter = -translate;\n if (rtl) offsetCenter = translate; // Visible Slides\n\n slides.removeClass(params.slideVisibleClass);\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n\n for (let i = 0; i < slides.length; i += 1) {\n const slide = slides[i];\n let slideOffset = slide.swiperSlideOffset;\n\n if (params.cssMode && params.centeredSlides) {\n slideOffset -= slides[0].swiperSlideOffset;\n }\n\n const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n const slideBefore = -(offsetCenter - slideOffset);\n const slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n slides.eq(i).addClass(params.slideVisibleClass);\n }\n\n slide.progress = rtl ? -slideProgress : slideProgress;\n slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;\n }\n\n swiper.visibleSlides = $(swiper.visibleSlides);\n}","export default function updateProgress(translate) {\n const swiper = this;\n\n if (typeof translate === 'undefined') {\n const multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line\n\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n\n const params = swiper.params;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n let {\n progress,\n isBeginning,\n isEnd\n } = swiper;\n const wasBeginning = isBeginning;\n const wasEnd = isEnd;\n\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n isBeginning = progress <= 0;\n isEnd = progress >= 1;\n }\n\n Object.assign(swiper, {\n progress,\n isBeginning,\n isEnd\n });\n if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n\n swiper.emit('progress', progress);\n}","export default function updateSlidesClasses() {\n const swiper = this;\n const {\n slides,\n params,\n $wrapperEl,\n activeIndex,\n realIndex\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n slides.removeClass(`${params.slideActiveClass} ${params.slideNextClass} ${params.slidePrevClass} ${params.slideDuplicateActiveClass} ${params.slideDuplicateNextClass} ${params.slideDuplicatePrevClass}`);\n let activeSlide;\n\n if (isVirtual) {\n activeSlide = swiper.$wrapperEl.find(`.${params.slideClass}[data-swiper-slide-index=\"${activeIndex}\"]`);\n } else {\n activeSlide = slides.eq(activeIndex);\n } // Active classes\n\n\n activeSlide.addClass(params.slideActiveClass);\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (activeSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index=\"${realIndex}\"]`).addClass(params.slideDuplicateActiveClass);\n } else {\n $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index=\"${realIndex}\"]`).addClass(params.slideDuplicateActiveClass);\n }\n } // Next Slide\n\n\n let nextSlide = activeSlide.nextAll(`.${params.slideClass}`).eq(0).addClass(params.slideNextClass);\n\n if (params.loop && nextSlide.length === 0) {\n nextSlide = slides.eq(0);\n nextSlide.addClass(params.slideNextClass);\n } // Prev Slide\n\n\n let prevSlide = activeSlide.prevAll(`.${params.slideClass}`).eq(0).addClass(params.slidePrevClass);\n\n if (params.loop && prevSlide.length === 0) {\n prevSlide = slides.eq(-1);\n prevSlide.addClass(params.slidePrevClass);\n }\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (nextSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index=\"${nextSlide.attr('data-swiper-slide-index')}\"]`).addClass(params.slideDuplicateNextClass);\n } else {\n $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index=\"${nextSlide.attr('data-swiper-slide-index')}\"]`).addClass(params.slideDuplicateNextClass);\n }\n\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index=\"${prevSlide.attr('data-swiper-slide-index')}\"]`).addClass(params.slideDuplicatePrevClass);\n } else {\n $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index=\"${prevSlide.attr('data-swiper-slide-index')}\"]`).addClass(params.slideDuplicatePrevClass);\n }\n }\n\n swiper.emitSlidesClasses();\n}","export default function updateActiveIndex(newActiveIndex) {\n const swiper = this;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n const {\n slidesGrid,\n snapGrid,\n params,\n activeIndex: previousIndex,\n realIndex: previousRealIndex,\n snapIndex: previousSnapIndex\n } = swiper;\n let activeIndex = newActiveIndex;\n let snapIndex;\n\n if (typeof activeIndex === 'undefined') {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n } // Normalize slideIndex\n\n\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n }\n\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n const skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if (activeIndex === previousIndex) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n\n return;\n } // Get real index\n\n\n const realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);\n Object.assign(swiper, {\n snapIndex,\n realIndex,\n previousIndex,\n activeIndex\n });\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n swiper.emit('slideChange');\n }\n}","import $ from '../../shared/dom.js';\nexport default function updateClickedSlide(e) {\n const swiper = this;\n const params = swiper.params;\n const slide = $(e).closest(`.${params.slideClass}`)[0];\n let slideFound = false;\n let slideIndex;\n\n if (slide) {\n for (let i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}","import updateSize from './updateSize.js';\nimport updateSlides from './updateSlides.js';\nimport updateAutoHeight from './updateAutoHeight.js';\nimport updateSlidesOffset from './updateSlidesOffset.js';\nimport updateSlidesProgress from './updateSlidesProgress.js';\nimport updateProgress from './updateProgress.js';\nimport updateSlidesClasses from './updateSlidesClasses.js';\nimport updateActiveIndex from './updateActiveIndex.js';\nimport updateClickedSlide from './updateClickedSlide.js';\nexport default {\n updateSize,\n updateSlides,\n updateAutoHeight,\n updateSlidesOffset,\n updateSlidesProgress,\n updateProgress,\n updateSlidesClasses,\n updateActiveIndex,\n updateClickedSlide\n};","import { getTranslate } from '../../shared/utils.js';\nexport default function getSwiperTranslate(axis) {\n if (axis === void 0) {\n axis = this.isHorizontal() ? 'x' : 'y';\n }\n\n const swiper = this;\n const {\n params,\n rtlTranslate: rtl,\n translate,\n $wrapperEl\n } = swiper;\n\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n\n if (params.cssMode) {\n return translate;\n }\n\n let currentTranslate = getTranslate($wrapperEl[0], axis);\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}","export default function setTranslate(translate, byController) {\n const swiper = this;\n const {\n rtlTranslate: rtl,\n params,\n $wrapperEl,\n wrapperEl,\n progress\n } = swiper;\n let x = 0;\n let y = 0;\n const z = 0;\n\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n $wrapperEl.transform(`translate3d(${x}px, ${y}px, ${z}px)`);\n }\n\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress\n\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, byController);\n}","export default function minTranslate() {\n return -this.snapGrid[0];\n}","export default function maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}","import { animateCSSModeScroll } from '../../shared/utils.js';\nexport default function translateTo(translate, speed, runCallbacks, translateBounds, internal) {\n if (translate === void 0) {\n translate = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (translateBounds === void 0) {\n translateBounds = true;\n }\n\n const swiper = this;\n const {\n params,\n wrapperEl\n } = swiper;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n\n const minTranslate = swiper.minTranslate();\n const maxTranslate = swiper.maxTranslate();\n let newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; // Update progress\n\n swiper.updateProgress(newTranslate);\n\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: -newTranslate,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: -newTranslate,\n behavior: 'smooth'\n });\n }\n\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n\n if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n\n return true;\n}","import getTranslate from './getTranslate.js';\nimport setTranslate from './setTranslate.js';\nimport minTranslate from './minTranslate.js';\nimport maxTranslate from './maxTranslate.js';\nimport translateTo from './translateTo.js';\nexport default {\n getTranslate,\n setTranslate,\n minTranslate,\n maxTranslate,\n translateTo\n};","export default function setTransition(duration, byController) {\n const swiper = this;\n\n if (!swiper.params.cssMode) {\n swiper.$wrapperEl.transition(duration);\n }\n\n swiper.emit('setTransition', duration, byController);\n}","export default function transitionEmit(_ref) {\n let {\n swiper,\n runCallbacks,\n direction,\n step\n } = _ref;\n const {\n activeIndex,\n previousIndex\n } = swiper;\n let dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit(`transition${step}`);\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit(`slideResetTransition${step}`);\n return;\n }\n\n swiper.emit(`slideChangeTransition${step}`);\n\n if (dir === 'next') {\n swiper.emit(`slideNextTransition${step}`);\n } else {\n swiper.emit(`slidePrevTransition${step}`);\n }\n }\n}","import transitionEmit from './transitionEmit.js';\nexport default function transitionStart(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n const swiper = this;\n const {\n params\n } = swiper;\n if (params.cssMode) return;\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'Start'\n });\n}","import transitionEmit from './transitionEmit.js';\nexport default function transitionEnd(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n const swiper = this;\n const {\n params\n } = swiper;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'End'\n });\n}","import setTransition from './setTransition.js';\nimport transitionStart from './transitionStart.js';\nimport transitionEnd from './transitionEnd.js';\nexport default {\n setTransition,\n transitionStart,\n transitionEnd\n};","import { animateCSSModeScroll } from '../../shared/utils.js';\nexport default function slideTo(index, speed, runCallbacks, internal, initial) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (typeof index !== 'number' && typeof index !== 'string') {\n throw new Error(`The 'index' argument cannot have type other than 'number' or 'string'. [${typeof index}] given.`);\n }\n\n if (typeof index === 'string') {\n /**\n * The `index` argument converted from `string` to `number`.\n * @type {number}\n */\n const indexAsNumber = parseInt(index, 10);\n /**\n * Determines whether the `index` argument is a valid `number`\n * after being converted from the `string` type.\n * @type {boolean}\n */\n\n const isValidNumber = isFinite(indexAsNumber);\n\n if (!isValidNumber) {\n throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`);\n } // Knowing that the converted `index` is a valid number,\n // we can update the original argument's value.\n\n\n index = indexAsNumber;\n }\n\n const swiper = this;\n let slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n const {\n params,\n snapGrid,\n slidesGrid,\n previousIndex,\n activeIndex,\n rtlTranslate: rtl,\n wrapperEl,\n enabled\n } = swiper;\n\n if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {\n return false;\n }\n\n const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n const translate = -snapGrid[snapIndex]; // Update progress\n\n swiper.updateProgress(translate); // Normalize slideIndex\n\n if (params.normalizeSlideIndex) {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n const normalizedTranslate = -Math.floor(translate * 100);\n const normalizedGrid = Math.floor(slidesGrid[i] * 100);\n const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGrid) {\n slideIndex = i;\n }\n }\n } // Directions locks\n\n\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\n return false;\n }\n\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) return false;\n }\n }\n\n let direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index\n\n if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\n swiper.updateActiveIndex(slideIndex); // Update Height\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n swiper.updateSlidesClasses();\n\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n\n return false;\n }\n\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n const t = rtl ? translate : -translate;\n\n if (speed === 0) {\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n\n if (isVirtual) {\n swiper.wrapperEl.style.scrollSnapType = 'none';\n swiper._immediateVirtual = true;\n }\n\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n\n if (isVirtual) {\n requestAnimationFrame(() => {\n swiper.wrapperEl.style.scrollSnapType = '';\n swiper._swiperImmediateVirtual = false;\n });\n }\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: t,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: t,\n behavior: 'smooth'\n });\n }\n\n return true;\n }\n\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n\n if (speed === 0) {\n swiper.transitionEnd(runCallbacks, direction);\n } else if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n }\n\n return true;\n}","export default function slideToLoop(index, speed, runCallbacks, internal) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (typeof index === 'string') {\n /**\n * The `index` argument converted from `string` to `number`.\n * @type {number}\n */\n const indexAsNumber = parseInt(index, 10);\n /**\n * Determines whether the `index` argument is a valid `number`\n * after being converted from the `string` type.\n * @type {boolean}\n */\n\n const isValidNumber = isFinite(indexAsNumber);\n\n if (!isValidNumber) {\n throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`);\n } // Knowing that the converted `index` is a valid number,\n // we can update the original argument's value.\n\n\n index = indexAsNumber;\n }\n\n const swiper = this;\n let newIndex = index;\n\n if (swiper.params.loop) {\n newIndex += swiper.loopedSlides;\n }\n\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideNext(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n const swiper = this;\n const {\n animating,\n enabled,\n params\n } = swiper;\n if (!enabled) return swiper;\n let perGroup = params.slidesPerGroup;\n\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);\n }\n\n const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n if (params.rewind && swiper.isEnd) {\n return swiper.slideTo(0, speed, runCallbacks, internal);\n }\n\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slidePrev(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n const swiper = this;\n const {\n params,\n animating,\n snapGrid,\n slidesGrid,\n rtlTranslate,\n enabled\n } = swiper;\n if (!enabled) return swiper;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n const translate = rtlTranslate ? swiper.translate : -swiper.translate;\n\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n\n const normalizedTranslate = normalize(translate);\n const normalizedSnapGrid = snapGrid.map(val => normalize(val));\n let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n let prevSnapIndex;\n snapGrid.forEach((snap, snapIndex) => {\n if (normalizedTranslate >= snap) {\n // prevSnap = snap;\n prevSnapIndex = snapIndex;\n }\n });\n\n if (typeof prevSnapIndex !== 'undefined') {\n prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];\n }\n }\n\n let prevIndex = 0;\n\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;\n prevIndex = Math.max(prevIndex, 0);\n }\n }\n\n if (params.rewind && swiper.isBeginning) {\n const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n return swiper.slideTo(lastIndex, speed, runCallbacks, internal);\n }\n\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideReset(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n const swiper = this;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideToClosest(speed, runCallbacks, internal, threshold) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (threshold === void 0) {\n threshold = 0.5;\n }\n\n const swiper = this;\n let index = swiper.activeIndex;\n const skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n\n if (translate >= swiper.snapGrid[snapIndex]) {\n // The current translate is on or after the current snap index, so the choice\n // is between the current index and the one after it.\n const currentSnap = swiper.snapGrid[snapIndex];\n const nextSnap = swiper.snapGrid[snapIndex + 1];\n\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index += swiper.params.slidesPerGroup;\n }\n } else {\n // The current translate is before the current snap index, so the choice\n // is between the current index and the one before it.\n const prevSnap = swiper.snapGrid[snapIndex - 1];\n const currentSnap = swiper.snapGrid[snapIndex];\n\n if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\n }\n\n index = Math.max(index, 0);\n index = Math.min(index, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index, speed, runCallbacks, internal);\n}","import $ from '../../shared/dom.js';\nimport { nextTick } from '../../shared/utils.js';\nexport default function slideToClickedSlide() {\n const swiper = this;\n const {\n params,\n $wrapperEl\n } = swiper;\n const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n let slideToIndex = swiper.clickedIndex;\n let realIndex;\n\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index=\"${realIndex}\"]:not(.${params.slideDuplicateClass})`).eq(0).index();\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index=\"${realIndex}\"]:not(.${params.slideDuplicateClass})`).eq(0).index();\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}","import slideTo from './slideTo.js';\nimport slideToLoop from './slideToLoop.js';\nimport slideNext from './slideNext.js';\nimport slidePrev from './slidePrev.js';\nimport slideReset from './slideReset.js';\nimport slideToClosest from './slideToClosest.js';\nimport slideToClickedSlide from './slideToClickedSlide.js';\nexport default {\n slideTo,\n slideToLoop,\n slideNext,\n slidePrev,\n slideReset,\n slideToClosest,\n slideToClickedSlide\n};","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nexport default function loopCreate() {\n const swiper = this;\n const document = getDocument();\n const {\n params,\n $wrapperEl\n } = swiper; // Remove duplicated slides\n\n const $selector = $wrapperEl.children().length > 0 ? $($wrapperEl.children()[0].parentNode) : $wrapperEl;\n $selector.children(`.${params.slideClass}.${params.slideDuplicateClass}`).remove();\n let slides = $selector.children(`.${params.slideClass}`);\n\n if (params.loopFillGroupWithBlank) {\n const blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;\n\n if (blankSlidesNum !== params.slidesPerGroup) {\n for (let i = 0; i < blankSlidesNum; i += 1) {\n const blankNode = $(document.createElement('div')).addClass(`${params.slideClass} ${params.slideBlankClass}`);\n $selector.append(blankNode);\n }\n\n slides = $selector.children(`.${params.slideClass}`);\n }\n }\n\n if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;\n swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));\n swiper.loopedSlides += params.loopAdditionalSlides;\n\n if (swiper.loopedSlides > slides.length && swiper.params.loopedSlidesLimit) {\n swiper.loopedSlides = slides.length;\n }\n\n const prependSlides = [];\n const appendSlides = [];\n slides.each((el, index) => {\n $(el).attr('data-swiper-slide-index', index);\n });\n\n for (let i = 0; i < swiper.loopedSlides; i += 1) {\n const index = i - Math.floor(i / slides.length) * slides.length;\n appendSlides.push(slides.eq(index)[0]);\n prependSlides.unshift(slides.eq(slides.length - index - 1)[0]);\n }\n\n for (let i = 0; i < appendSlides.length; i += 1) {\n $selector.append($(appendSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n\n for (let i = prependSlides.length - 1; i >= 0; i -= 1) {\n $selector.prepend($(prependSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n}","export default function loopFix() {\n const swiper = this;\n swiper.emit('beforeLoopFix');\n const {\n activeIndex,\n slides,\n loopedSlides,\n allowSlidePrev,\n allowSlideNext,\n snapGrid,\n rtlTranslate: rtl\n } = swiper;\n let newIndex;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n const snapTranslate = -snapGrid[activeIndex];\n const diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding\n\n if (activeIndex < loopedSlides) {\n newIndex = slides.length - loopedSlides * 3 + activeIndex;\n newIndex += loopedSlides;\n const slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n } else if (activeIndex >= slides.length - loopedSlides) {\n // Fix For Positive Oversliding\n newIndex = -slides.length + activeIndex + loopedSlides;\n newIndex += loopedSlides;\n const slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n }\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n}","export default function loopDestroy() {\n const swiper = this;\n const {\n $wrapperEl,\n params,\n slides\n } = swiper;\n $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass},.${params.slideClass}.${params.slideBlankClass}`).remove();\n slides.removeAttr('data-swiper-slide-index');\n}","import loopCreate from './loopCreate.js';\nimport loopFix from './loopFix.js';\nimport loopDestroy from './loopDestroy.js';\nexport default {\n loopCreate,\n loopFix,\n loopDestroy\n};","export default function setGrabCursor(moving) {\n const swiper = this;\n if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;\n el.style.cursor = 'move';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n}","export default function unsetGrabCursor() {\n const swiper = this;\n\n if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n\n swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';\n}","import setGrabCursor from './setGrabCursor.js';\nimport unsetGrabCursor from './unsetGrabCursor.js';\nexport default {\n setGrabCursor,\n unsetGrabCursor\n};","import { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { now } from '../../shared/utils.js'; // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\n\nfunction closestElement(selector, base) {\n if (base === void 0) {\n base = this;\n }\n\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n const found = el.closest(selector);\n\n if (!found && !el.getRootNode) {\n return null;\n }\n\n return found || __closestFrom(el.getRootNode().host);\n }\n\n return __closestFrom(base);\n}\n\nexport default function onTouchStart(event) {\n const swiper = this;\n const document = getDocument();\n const window = getWindow();\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n enabled\n } = swiper;\n if (!enabled) return;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n\n if (!swiper.animating && params.cssMode && params.loop) {\n swiper.loopFix();\n }\n\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n let $targetEl = $(e.target);\n\n if (params.touchEventsTarget === 'wrapper') {\n if (!$targetEl.closest(swiper.wrapperEl).length) return;\n }\n\n data.isTouchEvent = e.type === 'touchstart';\n if (!data.isTouchEvent && 'which' in e && e.which === 3) return;\n if (!data.isTouchEvent && 'button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return; // change target el for shadow root component\n\n const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n\n if (swipingClassHasValue && e.target && e.target.shadowRoot && event.path && event.path[0]) {\n $targetEl = $(event.path[0]);\n }\n\n const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`;\n const isTargetShadow = !!(e.target && e.target.shadowRoot); // use closestElement for shadow root element to get the actual closest for nested shadow root element\n\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, $targetEl[0]) : $targetEl.closest(noSwipingSelector)[0])) {\n swiper.allowClick = true;\n return;\n }\n\n if (params.swipeHandler) {\n if (!$targetEl.closest(params.swipeHandler)[0]) return;\n }\n\n touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n const startX = touches.currentX;\n const startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n const edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n const edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n } else {\n return;\n }\n }\n\n Object.assign(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n\n if (e.type !== 'touchstart') {\n let preventDefault = true;\n\n if ($targetEl.is(data.focusableElements)) {\n preventDefault = false;\n\n if ($targetEl[0].nodeName === 'SELECT') {\n data.isTouched = false;\n }\n }\n\n if (document.activeElement && $(document.activeElement).is(data.focusableElements) && document.activeElement !== $targetEl[0]) {\n document.activeElement.blur();\n }\n\n const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !$targetEl[0].isContentEditable) {\n e.preventDefault();\n }\n }\n\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {\n swiper.freeMode.onTouchStart();\n }\n\n swiper.emit('touchStart', e);\n}","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { now } from '../../shared/utils.js';\nexport default function onTouchMove(event) {\n const document = getDocument();\n const swiper = this;\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n enabled\n } = swiper;\n if (!enabled) return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n return;\n }\n\n if (data.isTouchEvent && e.type !== 'touchmove') return;\n const targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);\n const pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;\n const pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY;\n\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n\n if (!swiper.allowTouchMove) {\n if (!$(e.target).is(data.focusableElements)) {\n swiper.allowClick = false;\n }\n\n if (data.isTouched) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n\n return;\n }\n\n if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n\n if (data.isTouchEvent && document.activeElement) {\n if (e.target === document.activeElement && $(e.target).is(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n\n if (e.targetTouches && e.targetTouches.length > 1) return;\n touches.currentX = pageX;\n touches.currentY = pageY;\n const diffX = touches.currentX - touches.startX;\n const diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;\n\n if (typeof data.isScrolling === 'undefined') {\n let touchAngle;\n\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n\n if (!data.startMoving) {\n return;\n }\n\n swiper.allowClick = false;\n\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n\n if (!data.isMoved) {\n if (params.loop && !params.cssMode) {\n swiper.loopFix();\n }\n\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n\n if (swiper.animating) {\n swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\n }\n\n data.allowMomentumBounce = false; // Grab Cursor\n\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n\n swiper.emit('sliderFirstMove', e);\n }\n\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n let diff = swiper.isHorizontal() ? diffX : diffY;\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) diff = -diff;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n data.currentTranslate = diff + data.startTranslate;\n let disableParentSwiper = true;\n let resistanceRatio = params.resistanceRatio;\n\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n\n if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;\n }\n\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n } // Directions locks\n\n\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n } // Threshold\n\n\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n\n if (!params.followFinger || params.cssMode) return; // Update active index in free mode\n\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n if (swiper.params.freeMode && params.freeMode.enabled && swiper.freeMode) {\n swiper.freeMode.onTouchMove();\n } // Update progress\n\n\n swiper.updateProgress(data.currentTranslate); // Update translate\n\n swiper.setTranslate(data.currentTranslate);\n}","import { now, nextTick } from '../../shared/utils.js';\nexport default function onTouchEnd(event) {\n const swiper = this;\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n slidesGrid,\n enabled\n } = swiper;\n if (!enabled) return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n\n data.allowTouchCallbacks = false;\n\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n\n data.isMoved = false;\n data.startMoving = false;\n return;\n } // Return Grab Cursor\n\n\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n } // Time diff\n\n\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click\n\n if (swiper.allowClick) {\n const pathTree = e.path || e.composedPath && e.composedPath();\n swiper.updateClickedSlide(pathTree && pathTree[0] || e.target);\n swiper.emit('tap click', e);\n\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n\n data.lastClickTime = now();\n nextTick(() => {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n let currentPos;\n\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n\n if (params.cssMode) {\n return;\n }\n\n if (swiper.params.freeMode && params.freeMode.enabled) {\n swiper.freeMode.onTouchEnd({\n currentPos\n });\n return;\n } // Find current slide\n\n\n let stopIndex = 0;\n let groupSize = swiper.slidesSizesGrid[0];\n\n for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (typeof slidesGrid[i + increment] !== 'undefined') {\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + increment] - slidesGrid[i];\n }\n } else if (currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n }\n\n let rewindFirstIndex = null;\n let rewindLastIndex = null;\n\n if (params.rewind) {\n if (swiper.isBeginning) {\n rewindLastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n } else if (swiper.isEnd) {\n rewindFirstIndex = 0;\n }\n } // Find current slide size\n\n\n const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) {\n swiper.slideTo(stopIndex + increment);\n } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {\n swiper.slideTo(rewindLastIndex);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);\n }\n\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}","export default function onResize() {\n const swiper = this;\n const {\n params,\n el\n } = swiper;\n if (el && el.offsetWidth === 0) return; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n } // Save locks\n\n\n const {\n allowSlideNext,\n allowSlidePrev,\n snapGrid\n } = swiper; // Disable locks on resize\n\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.run();\n } // Return locks after resize\n\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}","export default function onClick(e) {\n const swiper = this;\n if (!swiper.enabled) return;\n\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}","export default function onScroll() {\n const swiper = this;\n const {\n wrapperEl,\n rtlTranslate,\n enabled\n } = swiper;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n\n if (swiper.isHorizontal()) {\n swiper.translate = -wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n } // eslint-disable-next-line\n\n\n if (swiper.translate === 0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, false);\n}","import { getDocument } from 'ssr-window';\nimport onTouchStart from './onTouchStart.js';\nimport onTouchMove from './onTouchMove.js';\nimport onTouchEnd from './onTouchEnd.js';\nimport onResize from './onResize.js';\nimport onClick from './onClick.js';\nimport onScroll from './onScroll.js';\nlet dummyEventAttached = false;\n\nfunction dummyEventListener() {}\n\nconst events = (swiper, method) => {\n const document = getDocument();\n const {\n params,\n touchEvents,\n el,\n wrapperEl,\n device,\n support\n } = swiper;\n const capture = !!params.nested;\n const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n const swiperMethod = method; // Touch Events\n\n if (!support.touch) {\n el[domMethod](touchEvents.start, swiper.onTouchStart, false);\n document[domMethod](touchEvents.move, swiper.onTouchMove, capture);\n document[domMethod](touchEvents.end, swiper.onTouchEnd, false);\n } else {\n const passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el[domMethod](touchEvents.start, swiper.onTouchStart, passiveListener);\n el[domMethod](touchEvents.move, swiper.onTouchMove, support.passiveListener ? {\n passive: false,\n capture\n } : capture);\n el[domMethod](touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el[domMethod](touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el[domMethod]('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl[domMethod]('scroll', swiper.onScroll);\n } // Resize handler\n\n\n if (params.updateOnWindowResize) {\n swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper[swiperMethod]('observerUpdate', onResize, true);\n }\n};\n\nfunction attachEvents() {\n const swiper = this;\n const document = getDocument();\n const {\n params,\n support\n } = swiper;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n\n swiper.onClick = onClick.bind(swiper);\n\n if (support.touch && !dummyEventAttached) {\n document.addEventListener('touchstart', dummyEventListener);\n dummyEventAttached = true;\n }\n\n events(swiper, 'on');\n}\n\nfunction detachEvents() {\n const swiper = this;\n events(swiper, 'off');\n}\n\nexport default {\n attachEvents,\n detachEvents\n};","import { extend } from '../../shared/utils.js';\n\nconst isGridEnabled = (swiper, params) => {\n return swiper.grid && params.grid && params.grid.rows > 1;\n};\n\nexport default function setBreakpoint() {\n const swiper = this;\n const {\n activeIndex,\n initialized,\n loopedSlides = 0,\n params,\n $el\n } = swiper;\n const breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters\n\n const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n const breakpointParams = breakpointOnlyParams || swiper.originalParams;\n const wasMultiRow = isGridEnabled(swiper, params);\n const isMultiRow = isGridEnabled(swiper, breakpointParams);\n const wasEnabled = params.enabled;\n\n if (wasMultiRow && !isMultiRow) {\n $el.removeClass(`${params.containerModifierClass}grid ${params.containerModifierClass}grid-column`);\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n $el.addClass(`${params.containerModifierClass}grid`);\n\n if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {\n $el.addClass(`${params.containerModifierClass}grid-column`);\n }\n\n swiper.emitContainerClasses();\n } // Toggle navigation, pagination, scrollbar\n\n\n ['navigation', 'pagination', 'scrollbar'].forEach(prop => {\n const wasModuleEnabled = params[prop] && params[prop].enabled;\n const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;\n\n if (wasModuleEnabled && !isModuleEnabled) {\n swiper[prop].disable();\n }\n\n if (!wasModuleEnabled && isModuleEnabled) {\n swiper[prop].enable();\n }\n });\n const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n\n extend(swiper.params, breakpointParams);\n const isEnabled = swiper.params.enabled;\n Object.assign(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate();\n swiper.updateSlides();\n swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);\n }\n\n swiper.emit('breakpoint', breakpointParams);\n}","import { getWindow } from 'ssr-window';\nexport default function getBreakpoint(breakpoints, base, containerEl) {\n if (base === void 0) {\n base = 'window';\n }\n\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n let breakpoint = false;\n const window = getWindow();\n const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n const points = Object.keys(breakpoints).map(point => {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n const minRatio = parseFloat(point.substr(1));\n const value = currentHeight * minRatio;\n return {\n value,\n point\n };\n }\n\n return {\n value: point,\n point\n };\n });\n points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));\n\n for (let i = 0; i < points.length; i += 1) {\n const {\n point,\n value\n } = points[i];\n\n if (base === 'window') {\n if (window.matchMedia(`(min-width: ${value}px)`).matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n\n return breakpoint || 'max';\n}","import setBreakpoint from './setBreakpoint.js';\nimport getBreakpoint from './getBreakpoint.js';\nexport default {\n setBreakpoint,\n getBreakpoint\n};","function prepareClasses(entries, prefix) {\n const resultClasses = [];\n entries.forEach(item => {\n if (typeof item === 'object') {\n Object.keys(item).forEach(classNames => {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\n\nexport default function addClasses() {\n const swiper = this;\n const {\n classNames,\n params,\n rtl,\n $el,\n device,\n support\n } = swiper; // prettier-ignore\n\n const suffixes = prepareClasses(['initialized', params.direction, {\n 'pointer-events': !support.touch\n }, {\n 'free-mode': swiper.params.freeMode && params.freeMode.enabled\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'grid': params.grid && params.grid.rows > 1\n }, {\n 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }, {\n 'centered': params.cssMode && params.centeredSlides\n }, {\n 'watch-progress': params.watchSlidesProgress\n }], params.containerModifierClass);\n classNames.push(...suffixes);\n $el.addClass([...classNames].join(' '));\n swiper.emitContainerClasses();\n}","export default function removeClasses() {\n const swiper = this;\n const {\n $el,\n classNames\n } = swiper;\n $el.removeClass(classNames.join(' '));\n swiper.emitContainerClasses();\n}","import addClasses from './addClasses.js';\nimport removeClasses from './removeClasses.js';\nexport default {\n addClasses,\n removeClasses\n};","import { getWindow } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nexport default function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {\n const window = getWindow();\n let image;\n\n function onReady() {\n if (callback) callback();\n }\n\n const isPicture = $(imageEl).parent('picture')[0];\n\n if (!isPicture && (!imageEl.complete || !checkForComplete)) {\n if (src) {\n image = new window.Image();\n image.onload = onReady;\n image.onerror = onReady;\n\n if (sizes) {\n image.sizes = sizes;\n }\n\n if (srcset) {\n image.srcset = srcset;\n }\n\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n } else {\n // image already loaded...\n onReady();\n }\n}","export default function preloadImages() {\n const swiper = this;\n swiper.imagesToLoad = swiper.$el.find('img');\n\n function onReady() {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;\n if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;\n\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\n if (swiper.params.updateOnImagesReady) swiper.update();\n swiper.emit('imagesReady');\n }\n }\n\n for (let i = 0; i < swiper.imagesToLoad.length; i += 1) {\n const imageEl = swiper.imagesToLoad[i];\n swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady);\n }\n}","import loadImage from './loadImage.js';\nimport preloadImages from './preloadImages.js';\nexport default {\n loadImage,\n preloadImages\n};","function checkOverflow() {\n const swiper = this;\n const {\n isLocked: wasLocked,\n params\n } = swiper;\n const {\n slidesOffsetBefore\n } = params;\n\n if (slidesOffsetBefore) {\n const lastSlideIndex = swiper.slides.length - 1;\n const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;\n swiper.isLocked = swiper.size > lastSlideRightEdge;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n\n if (params.allowSlideNext === true) {\n swiper.allowSlideNext = !swiper.isLocked;\n }\n\n if (params.allowSlidePrev === true) {\n swiper.allowSlidePrev = !swiper.isLocked;\n }\n\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n }\n\n if (wasLocked !== swiper.isLocked) {\n swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n }\n}\n\nexport default {\n checkOverflow\n};","export default {\n init: true,\n direction: 'horizontal',\n touchEventsTarget: 'wrapper',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: true,\n nested: false,\n createElements: false,\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n slidesPerGroupAuto: false,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: true,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 0,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // Images\n preloadImages: true,\n updateOnImagesReady: true,\n // loop\n loop: false,\n loopAdditionalSlides: 0,\n loopedSlides: null,\n loopedSlidesLimit: true,\n loopFillGroupWithBlank: false,\n loopPreventsSlide: true,\n // rewind\n rewind: false,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n maxBackfaceHiddenSlides: 10,\n // NS\n containerModifierClass: 'swiper-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-invisible-blank',\n slideActiveClass: 'swiper-slide-active',\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideDuplicateClass: 'swiper-slide-duplicate',\n slideNextClass: 'swiper-slide-next',\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\n slidePrevClass: 'swiper-slide-prev',\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\n wrapperClass: 'swiper-wrapper',\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};","import { extend } from '../shared/utils.js';\nexport default function moduleExtendParams(params, allModulesParams) {\n return function extendParams(obj) {\n if (obj === void 0) {\n obj = {};\n }\n\n const moduleParamName = Object.keys(obj)[0];\n const moduleParams = obj[moduleParamName];\n\n if (typeof moduleParams !== 'object' || moduleParams === null) {\n extend(allModulesParams, obj);\n return;\n }\n\n if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {\n params[moduleParamName] = {\n auto: true\n };\n }\n\n if (!(moduleParamName in params && 'enabled' in moduleParams)) {\n extend(allModulesParams, obj);\n return;\n }\n\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n extend(allModulesParams, obj);\n };\n}","/* eslint no-param-reassign: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport $ from '../shared/dom.js';\nimport { extend, now, deleteProps } from '../shared/utils.js';\nimport { getSupport } from '../shared/get-support.js';\nimport { getDevice } from '../shared/get-device.js';\nimport { getBrowser } from '../shared/get-browser.js';\nimport Resize from './modules/resize/resize.js';\nimport Observer from './modules/observer/observer.js';\nimport eventsEmitter from './events-emitter.js';\nimport update from './update/index.js';\nimport translate from './translate/index.js';\nimport transition from './transition/index.js';\nimport slide from './slide/index.js';\nimport loop from './loop/index.js';\nimport grabCursor from './grab-cursor/index.js';\nimport events from './events/index.js';\nimport breakpoints from './breakpoints/index.js';\nimport classes from './classes/index.js';\nimport images from './images/index.js';\nimport checkOverflow from './check-overflow/index.js';\nimport defaults from './defaults.js';\nimport moduleExtendParams from './moduleExtendParams.js';\nconst prototypes = {\n eventsEmitter,\n update,\n translate,\n transition,\n slide,\n loop,\n grabCursor,\n events,\n breakpoints,\n checkOverflow,\n classes,\n images\n};\nconst extendedDefaults = {};\n\nclass Swiper {\n constructor() {\n let el;\n let params;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n [el, params] = args;\n }\n\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n\n if (params.el && $(params.el).length > 1) {\n const swipers = [];\n $(params.el).each(containerEl => {\n const newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n return swipers;\n } // Swiper Instance\n\n\n const swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n swiper.modules = [...swiper.__modules__];\n\n if (params.modules && Array.isArray(params.modules)) {\n swiper.modules.push(...params.modules);\n }\n\n const allModulesParams = {};\n swiper.modules.forEach(mod => {\n mod({\n swiper,\n extendParams: moduleExtendParams(params, allModulesParams),\n on: swiper.on.bind(swiper),\n once: swiper.once.bind(swiper),\n off: swiper.off.bind(swiper),\n emit: swiper.emit.bind(swiper)\n });\n }); // Extend defaults with modules params\n\n const swiperParams = extend({}, defaults, allModulesParams); // Extend defaults with passed params\n\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params); // add event listeners\n\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(eventName => {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n } // Save Dom lib\n\n\n swiper.$ = $; // Extend Swiper\n\n Object.assign(swiper, {\n enabled: swiper.params.enabled,\n el,\n // Classes\n classNames: [],\n // Slides\n slides: $(),\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n\n // isDirection\n isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n\n isVertical() {\n return swiper.params.direction === 'vertical';\n },\n\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEvents: function touchEvents() {\n const touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];\n const desktop = ['pointerdown', 'pointermove', 'pointerup'];\n swiper.touchEventsTouch = {\n start: touch[0],\n move: touch[1],\n end: touch[2],\n cancel: touch[3]\n };\n swiper.touchEventsDesktop = {\n start: desktop[0],\n move: desktop[1],\n end: desktop[2]\n };\n return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;\n }(),\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: now(),\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n isTouchEvent: undefined,\n startMoving: undefined\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n });\n swiper.emit('_swiper'); // Init\n\n if (swiper.params.init) {\n swiper.init();\n } // Return app instance\n\n\n return swiper;\n }\n\n enable() {\n const swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n\n swiper.emit('enable');\n }\n\n disable() {\n const swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n\n swiper.emit('disable');\n }\n\n setProgress(progress, speed) {\n const swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n const min = swiper.minTranslate();\n const max = swiper.maxTranslate();\n const current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n emitContainerClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const cls = swiper.el.className.split(' ').filter(className => {\n return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', cls.join(' '));\n }\n\n getSlideClasses(slideEl) {\n const swiper = this;\n if (swiper.destroyed) return '';\n return slideEl.className.split(' ').filter(className => {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n }\n\n emitSlidesClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const updates = [];\n swiper.slides.each(slideEl => {\n const classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl,\n classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n }\n\n slidesPerViewDynamic(view, exact) {\n if (view === void 0) {\n view = 'current';\n }\n\n if (exact === void 0) {\n exact = false;\n }\n\n const swiper = this;\n const {\n params,\n slides,\n slidesGrid,\n slidesSizesGrid,\n size: swiperSize,\n activeIndex\n } = swiper;\n let spv = 1;\n\n if (params.centeredSlides) {\n let slideSize = slides[activeIndex].swiperSlideSize;\n let breakLoop;\n\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n // eslint-disable-next-line\n if (view === 'current') {\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;\n\n if (slideInView) {\n spv += 1;\n }\n }\n } else {\n // previous\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;\n\n if (slideInView) {\n spv += 1;\n }\n }\n }\n }\n\n return spv;\n }\n\n update() {\n const swiper = this;\n if (!swiper || swiper.destroyed) return;\n const {\n snapGrid,\n params\n } = swiper; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n function setTranslate() {\n const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n let translated;\n\n if (swiper.params.freeMode && swiper.params.freeMode.enabled) {\n setTranslate();\n\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (!translated) {\n setTranslate();\n }\n }\n\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n\n swiper.emit('update');\n }\n\n changeDirection(newDirection, needUpdate) {\n if (needUpdate === void 0) {\n needUpdate = true;\n }\n\n const swiper = this;\n const currentDirection = swiper.params.direction;\n\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n\n swiper.$el.removeClass(`${swiper.params.containerModifierClass}${currentDirection}`).addClass(`${swiper.params.containerModifierClass}${newDirection}`);\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.each(slideEl => {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n }\n\n changeLanguageDirection(direction) {\n const swiper = this;\n if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return;\n swiper.rtl = direction === 'rtl';\n swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;\n\n if (swiper.rtl) {\n swiper.$el.addClass(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'rtl';\n } else {\n swiper.$el.removeClass(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'ltr';\n }\n\n swiper.update();\n }\n\n mount(el) {\n const swiper = this;\n if (swiper.mounted) return true; // Find el\n\n const $el = $(el || swiper.params.el);\n el = $el[0];\n\n if (!el) {\n return false;\n }\n\n el.swiper = swiper;\n\n const getWrapperSelector = () => {\n return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;\n };\n\n const getWrapper = () => {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n const res = $(el.shadowRoot.querySelector(getWrapperSelector())); // Children needs to return slot items\n\n res.children = options => $el.children(options);\n\n return res;\n }\n\n if (!$el.children) {\n return $($el).children(getWrapperSelector());\n }\n\n return $el.children(getWrapperSelector());\n }; // Find Wrapper\n\n\n let $wrapperEl = getWrapper();\n\n if ($wrapperEl.length === 0 && swiper.params.createElements) {\n const document = getDocument();\n const wrapper = document.createElement('div');\n $wrapperEl = $(wrapper);\n wrapper.className = swiper.params.wrapperClass;\n $el.append(wrapper);\n $el.children(`.${swiper.params.slideClass}`).each(slideEl => {\n $wrapperEl.append(slideEl);\n });\n }\n\n Object.assign(swiper, {\n $el,\n el,\n $wrapperEl,\n wrapperEl: $wrapperEl[0],\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\n wrongRTL: $wrapperEl.css('display') === '-webkit-box'\n });\n return true;\n }\n\n init(el) {\n const swiper = this;\n if (swiper.initialized) return swiper;\n const mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit'); // Set breakpoint\n\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n } // Add Classes\n\n\n swiper.addClasses(); // Create loop\n\n if (swiper.params.loop) {\n swiper.loopCreate();\n } // Update size\n\n\n swiper.updateSize(); // Update slides\n\n swiper.updateSlides();\n\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n } // Set Grab Cursor\n\n\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n if (swiper.params.preloadImages) {\n swiper.preloadImages();\n } // Slide To Initial Slide\n\n\n if (swiper.params.loop) {\n swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n } // Attach events\n\n\n swiper.attachEvents(); // Init Flag\n\n swiper.initialized = true; // Emit\n\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n }\n\n destroy(deleteInstance, cleanStyles) {\n if (deleteInstance === void 0) {\n deleteInstance = true;\n }\n\n if (cleanStyles === void 0) {\n cleanStyles = true;\n }\n\n const swiper = this;\n const {\n params,\n $el,\n $wrapperEl,\n slides\n } = swiper;\n\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n\n swiper.emit('beforeDestroy'); // Init Flag\n\n swiper.initialized = false; // Detach events\n\n swiper.detachEvents(); // Destroy loop\n\n if (params.loop) {\n swiper.loopDestroy();\n } // Cleanup styles\n\n\n if (cleanStyles) {\n swiper.removeClasses();\n $el.removeAttr('style');\n $wrapperEl.removeAttr('style');\n\n if (slides && slides.length) {\n slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index');\n }\n }\n\n swiper.emit('destroy'); // Detach emitter events\n\n Object.keys(swiper.eventsListeners).forEach(eventName => {\n swiper.off(eventName);\n });\n\n if (deleteInstance !== false) {\n swiper.$el[0].swiper = null;\n deleteProps(swiper);\n }\n\n swiper.destroyed = true;\n return null;\n }\n\n static extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n }\n\n static get extendedDefaults() {\n return extendedDefaults;\n }\n\n static get defaults() {\n return defaults;\n }\n\n static installModule(mod) {\n if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];\n const modules = Swiper.prototype.__modules__;\n\n if (typeof mod === 'function' && modules.indexOf(mod) < 0) {\n modules.push(mod);\n }\n }\n\n static use(module) {\n if (Array.isArray(module)) {\n module.forEach(m => Swiper.installModule(m));\n return Swiper;\n }\n\n Swiper.installModule(module);\n return Swiper;\n }\n\n}\n\nObject.keys(prototypes).forEach(prototypeGroup => {\n Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\nexport default Swiper;","import { getDocument } from 'ssr-window';\nexport default function createElementIfNotDefined(swiper, originalParams, params, checkProps) {\n const document = getDocument();\n\n if (swiper.params.createElements) {\n Object.keys(checkProps).forEach(key => {\n if (!params[key] && params.auto === true) {\n let element = swiper.$el.children(`.${checkProps[key]}`)[0];\n\n if (!element) {\n element = document.createElement('div');\n element.className = checkProps[key];\n swiper.$el.append(element);\n }\n\n params[key] = element;\n originalParams[key] = element;\n }\n });\n }\n\n return params;\n}","export default function classesToSelector(classes) {\n if (classes === void 0) {\n classes = '';\n }\n\n return `.${classes.trim().replace(/([\\.:!\\/])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.')}`;\n}","import $ from '../../shared/dom.js';\nimport classesToSelector from '../../shared/classes-to-selector.js';\nimport createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\nexport default function Pagination(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const pfx = 'swiper-pagination';\n extendParams({\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: number => number,\n formatFractionTotal: number => number,\n bulletClass: `${pfx}-bullet`,\n bulletActiveClass: `${pfx}-bullet-active`,\n modifierClass: `${pfx}-`,\n currentClass: `${pfx}-current`,\n totalClass: `${pfx}-total`,\n hiddenClass: `${pfx}-hidden`,\n progressbarFillClass: `${pfx}-progressbar-fill`,\n progressbarOppositeClass: `${pfx}-progressbar-opposite`,\n clickableClass: `${pfx}-clickable`,\n lockClass: `${pfx}-lock`,\n horizontalClass: `${pfx}-horizontal`,\n verticalClass: `${pfx}-vertical`,\n paginationDisabledClass: `${pfx}-disabled`\n }\n });\n swiper.pagination = {\n el: null,\n $el: null,\n bullets: []\n };\n let bulletSize;\n let dynamicBulletIndex = 0;\n\n function isPaginationDisabled() {\n return !swiper.params.pagination.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0;\n }\n\n function setSideBullets($bulletEl, position) {\n const {\n bulletActiveClass\n } = swiper.params.pagination;\n $bulletEl[position]().addClass(`${bulletActiveClass}-${position}`)[position]().addClass(`${bulletActiveClass}-${position}-${position}`);\n }\n\n function update() {\n // Render || Update Pagination bullets/items\n const rtl = swiper.rtl;\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n const $el = swiper.pagination.$el; // Current/Total\n\n let current;\n const total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.loop) {\n current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);\n\n if (current > slidesLength - 1 - swiper.loopedSlides * 2) {\n current -= slidesLength - swiper.loopedSlides * 2;\n }\n\n if (current > total - 1) current -= total;\n if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n } // Types\n\n\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n const bullets = swiper.pagination.bullets;\n let firstIndex;\n let lastIndex;\n let midIndex;\n\n if (params.dynamicBullets) {\n bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\n $el.css(swiper.isHorizontal() ? 'width' : 'height', `${bulletSize * (params.dynamicMainBullets + 4)}px`);\n\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n dynamicBulletIndex += current - (swiper.previousIndex - swiper.loopedSlides || 0);\n\n if (dynamicBulletIndex > params.dynamicMainBullets - 1) {\n dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (dynamicBulletIndex < 0) {\n dynamicBulletIndex = 0;\n }\n }\n\n firstIndex = Math.max(current - dynamicBulletIndex, 0);\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n\n bullets.removeClass(['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`).join(' '));\n\n if ($el.length > 1) {\n bullets.each(bullet => {\n const $bullet = $(bullet);\n const bulletIndex = $bullet.index();\n\n if (bulletIndex === current) {\n $bullet.addClass(params.bulletActiveClass);\n }\n\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n $bullet.addClass(`${params.bulletActiveClass}-main`);\n }\n\n if (bulletIndex === firstIndex) {\n setSideBullets($bullet, 'prev');\n }\n\n if (bulletIndex === lastIndex) {\n setSideBullets($bullet, 'next');\n }\n }\n });\n } else {\n const $bullet = bullets.eq(current);\n const bulletIndex = $bullet.index();\n $bullet.addClass(params.bulletActiveClass);\n\n if (params.dynamicBullets) {\n const $firstDisplayedBullet = bullets.eq(firstIndex);\n const $lastDisplayedBullet = bullets.eq(lastIndex);\n\n for (let i = firstIndex; i <= lastIndex; i += 1) {\n bullets.eq(i).addClass(`${params.bulletActiveClass}-main`);\n }\n\n if (swiper.params.loop) {\n if (bulletIndex >= bullets.length) {\n for (let i = params.dynamicMainBullets; i >= 0; i -= 1) {\n bullets.eq(bullets.length - i).addClass(`${params.bulletActiveClass}-main`);\n }\n\n bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(`${params.bulletActiveClass}-prev`);\n } else {\n setSideBullets($firstDisplayedBullet, 'prev');\n setSideBullets($lastDisplayedBullet, 'next');\n }\n } else {\n setSideBullets($firstDisplayedBullet, 'prev');\n setSideBullets($lastDisplayedBullet, 'next');\n }\n }\n }\n\n if (params.dynamicBullets) {\n const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;\n const offsetProp = rtl ? 'right' : 'left';\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', `${bulletsOffset}px`);\n }\n }\n\n if (params.type === 'fraction') {\n $el.find(classesToSelector(params.currentClass)).text(params.formatFractionCurrent(current + 1));\n $el.find(classesToSelector(params.totalClass)).text(params.formatFractionTotal(total));\n }\n\n if (params.type === 'progressbar') {\n let progressbarDirection;\n\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n\n const scale = (current + 1) / total;\n let scaleX = 1;\n let scaleY = 1;\n\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n\n $el.find(classesToSelector(params.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`).transition(swiper.params.speed);\n }\n\n if (params.type === 'custom' && params.renderCustom) {\n $el.html(params.renderCustom(swiper, current + 1, total));\n emit('paginationRender', $el[0]);\n } else {\n emit('paginationUpdate', $el[0]);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n\n function render() {\n // Render Container\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n const $el = swiper.pagination.$el;\n let paginationHTML = '';\n\n if (params.type === 'bullets') {\n let numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && !swiper.params.loop && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n\n for (let i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += `<${params.bulletElement} class=\"${params.bulletClass}\">`;\n }\n }\n\n $el.html(paginationHTML);\n swiper.pagination.bullets = $el.find(classesToSelector(params.bulletClass));\n }\n\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = `` + ' / ' + ``;\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = ``;\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type !== 'custom') {\n emit('paginationRender', swiper.pagination.$el[0]);\n }\n }\n\n function init() {\n swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, {\n el: 'swiper-pagination'\n });\n const params = swiper.params.pagination;\n if (!params.el) return;\n let $el = $(params.el);\n if ($el.length === 0) return;\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {\n $el = swiper.$el.find(params.el); // check if it belongs to another nested Swiper\n\n if ($el.length > 1) {\n $el = $el.filter(el => {\n if ($(el).parents('.swiper')[0] !== swiper.el) return false;\n return true;\n });\n }\n }\n\n if (params.type === 'bullets' && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n\n $el.addClass(params.modifierClass + params.type);\n $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n\n if (params.type === 'bullets' && params.dynamicBullets) {\n $el.addClass(`${params.modifierClass}${params.type}-dynamic`);\n dynamicBulletIndex = 0;\n\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n $el.addClass(params.progressbarOppositeClass);\n }\n\n if (params.clickable) {\n $el.on('click', classesToSelector(params.bulletClass), function onClick(e) {\n e.preventDefault();\n let index = $(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index += swiper.loopedSlides;\n swiper.slideTo(index);\n });\n }\n\n Object.assign(swiper.pagination, {\n $el,\n el: $el[0]\n });\n\n if (!swiper.enabled) {\n $el.addClass(params.lockClass);\n }\n }\n\n function destroy() {\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const $el = swiper.pagination.$el;\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (swiper.pagination.bullets && swiper.pagination.bullets.removeClass) swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n\n if (params.clickable) {\n $el.off('click', classesToSelector(params.bulletClass));\n }\n }\n\n on('init', () => {\n if (swiper.params.pagination.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n render();\n update();\n }\n });\n on('activeIndexChange', () => {\n if (swiper.params.loop) {\n update();\n } else if (typeof swiper.snapIndex === 'undefined') {\n update();\n }\n });\n on('snapIndexChange', () => {\n if (!swiper.params.loop) {\n update();\n }\n });\n on('slidesLengthChange', () => {\n if (swiper.params.loop) {\n render();\n update();\n }\n });\n on('snapGridLengthChange', () => {\n if (!swiper.params.loop) {\n render();\n update();\n }\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n const {\n $el\n } = swiper.pagination;\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass);\n }\n });\n on('lock unlock', () => {\n update();\n });\n on('click', (_s, e) => {\n const targetEl = e.target;\n const {\n $el\n } = swiper.pagination;\n\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && $el && $el.length > 0 && !$(targetEl).hasClass(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n const isHidden = $el.hasClass(swiper.params.pagination.hiddenClass);\n\n if (isHidden === true) {\n emit('paginationShow');\n } else {\n emit('paginationHide');\n }\n\n $el.toggleClass(swiper.params.pagination.hiddenClass);\n }\n });\n\n const enable = () => {\n swiper.$el.removeClass(swiper.params.pagination.paginationDisabledClass);\n\n if (swiper.pagination.$el) {\n swiper.pagination.$el.removeClass(swiper.params.pagination.paginationDisabledClass);\n }\n\n init();\n render();\n update();\n };\n\n const disable = () => {\n swiper.$el.addClass(swiper.params.pagination.paginationDisabledClass);\n\n if (swiper.pagination.$el) {\n swiper.pagination.$el.addClass(swiper.params.pagination.paginationDisabledClass);\n }\n\n destroy();\n };\n\n Object.assign(swiper.pagination, {\n enable,\n disable,\n render,\n update,\n init,\n destroy\n });\n}","/* eslint no-underscore-dangle: \"off\" */\n\n/* eslint no-use-before-define: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport { nextTick } from '../../shared/utils.js';\nexport default function Autoplay(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n let timeout;\n swiper.autoplay = {\n running: false,\n paused: false\n };\n extendParams({\n autoplay: {\n enabled: false,\n delay: 3000,\n waitForTransition: true,\n disableOnInteraction: true,\n stopOnLastSlide: false,\n reverseDirection: false,\n pauseOnMouseEnter: false\n }\n });\n\n function run() {\n if (!swiper.size) {\n swiper.autoplay.running = false;\n swiper.autoplay.paused = false;\n return;\n }\n\n const $activeSlideEl = swiper.slides.eq(swiper.activeIndex);\n let delay = swiper.params.autoplay.delay;\n\n if ($activeSlideEl.attr('data-swiper-autoplay')) {\n delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay;\n }\n\n clearTimeout(timeout);\n timeout = nextTick(() => {\n let autoplayResult;\n\n if (swiper.params.autoplay.reverseDirection) {\n if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.isBeginning) {\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);\n emit('autoplay');\n } else {\n stop();\n }\n } else if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.isEnd) {\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(0, swiper.params.speed, true, true);\n emit('autoplay');\n } else {\n stop();\n }\n\n if (swiper.params.cssMode && swiper.autoplay.running) run();else if (autoplayResult === false) {\n run();\n }\n }, delay);\n }\n\n function start() {\n if (typeof timeout !== 'undefined') return false;\n if (swiper.autoplay.running) return false;\n swiper.autoplay.running = true;\n emit('autoplayStart');\n run();\n return true;\n }\n\n function stop() {\n if (!swiper.autoplay.running) return false;\n if (typeof timeout === 'undefined') return false;\n\n if (timeout) {\n clearTimeout(timeout);\n timeout = undefined;\n }\n\n swiper.autoplay.running = false;\n emit('autoplayStop');\n return true;\n }\n\n function pause(speed) {\n if (!swiper.autoplay.running) return;\n if (swiper.autoplay.paused) return;\n if (timeout) clearTimeout(timeout);\n swiper.autoplay.paused = true;\n\n if (speed === 0 || !swiper.params.autoplay.waitForTransition) {\n swiper.autoplay.paused = false;\n run();\n } else {\n ['transitionend', 'webkitTransitionEnd'].forEach(event => {\n swiper.$wrapperEl[0].addEventListener(event, onTransitionEnd);\n });\n }\n }\n\n function onVisibilityChange() {\n const document = getDocument();\n\n if (document.visibilityState === 'hidden' && swiper.autoplay.running) {\n pause();\n }\n\n if (document.visibilityState === 'visible' && swiper.autoplay.paused) {\n run();\n swiper.autoplay.paused = false;\n }\n }\n\n function onTransitionEnd(e) {\n if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return;\n if (e.target !== swiper.$wrapperEl[0]) return;\n ['transitionend', 'webkitTransitionEnd'].forEach(event => {\n swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd);\n });\n swiper.autoplay.paused = false;\n\n if (!swiper.autoplay.running) {\n stop();\n } else {\n run();\n }\n }\n\n function onMouseEnter() {\n if (swiper.params.autoplay.disableOnInteraction) {\n stop();\n } else {\n emit('autoplayPause');\n pause();\n }\n\n ['transitionend', 'webkitTransitionEnd'].forEach(event => {\n swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd);\n });\n }\n\n function onMouseLeave() {\n if (swiper.params.autoplay.disableOnInteraction) {\n return;\n }\n\n swiper.autoplay.paused = false;\n emit('autoplayResume');\n run();\n }\n\n function attachMouseEvents() {\n if (swiper.params.autoplay.pauseOnMouseEnter) {\n swiper.$el.on('mouseenter', onMouseEnter);\n swiper.$el.on('mouseleave', onMouseLeave);\n }\n }\n\n function detachMouseEvents() {\n swiper.$el.off('mouseenter', onMouseEnter);\n swiper.$el.off('mouseleave', onMouseLeave);\n }\n\n on('init', () => {\n if (swiper.params.autoplay.enabled) {\n start();\n const document = getDocument();\n document.addEventListener('visibilitychange', onVisibilityChange);\n attachMouseEvents();\n }\n });\n on('beforeTransitionStart', (_s, speed, internal) => {\n if (swiper.autoplay.running) {\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.pause(speed);\n } else {\n stop();\n }\n }\n });\n on('sliderFirstMove', () => {\n if (swiper.autoplay.running) {\n if (swiper.params.autoplay.disableOnInteraction) {\n stop();\n } else {\n pause();\n }\n }\n });\n on('touchEnd', () => {\n if (swiper.params.cssMode && swiper.autoplay.paused && !swiper.params.autoplay.disableOnInteraction) {\n run();\n }\n });\n on('destroy', () => {\n detachMouseEvents();\n\n if (swiper.autoplay.running) {\n stop();\n }\n\n const document = getDocument();\n document.removeEventListener('visibilitychange', onVisibilityChange);\n });\n Object.assign(swiper.autoplay, {\n pause,\n run,\n start,\n stop\n });\n}","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","let supported;\nlet perf;\nexport function isPerformanceSupported() {\n var _a;\n if (supported !== undefined) {\n return supported;\n }\n if (typeof window !== 'undefined' && window.performance) {\n supported = true;\n perf = window.performance;\n }\n else if (typeof global !== 'undefined' && ((_a = global.perf_hooks) === null || _a === void 0 ? void 0 : _a.performance)) {\n supported = true;\n perf = global.perf_hooks.performance;\n }\n else {\n supported = false;\n }\n return supported;\n}\nexport function now() {\n return isPerformanceSupported() ? perf.now() : Date.now();\n}\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.24.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.24.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","import { extend, isArray, isMap, isIntegerKey, hasOwn, isSymbol, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\r\n console.warn(`[Vue warn] ${msg}`, ...args);\r\n}\n\nlet activeEffectScope;\r\nclass EffectScope {\r\n constructor(detached = false) {\r\n /**\r\n * @internal\r\n */\r\n this.active = true;\r\n /**\r\n * @internal\r\n */\r\n this.effects = [];\r\n /**\r\n * @internal\r\n */\r\n this.cleanups = [];\r\n if (!detached && activeEffectScope) {\r\n this.parent = activeEffectScope;\r\n this.index =\r\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\r\n }\r\n }\r\n run(fn) {\r\n if (this.active) {\r\n const currentEffectScope = activeEffectScope;\r\n try {\r\n activeEffectScope = this;\r\n return fn();\r\n }\r\n finally {\r\n activeEffectScope = currentEffectScope;\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`cannot run an inactive effect scope.`);\r\n }\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n on() {\r\n activeEffectScope = this;\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n off() {\r\n activeEffectScope = this.parent;\r\n }\r\n stop(fromParent) {\r\n if (this.active) {\r\n let i, l;\r\n for (i = 0, l = this.effects.length; i < l; i++) {\r\n this.effects[i].stop();\r\n }\r\n for (i = 0, l = this.cleanups.length; i < l; i++) {\r\n this.cleanups[i]();\r\n }\r\n if (this.scopes) {\r\n for (i = 0, l = this.scopes.length; i < l; i++) {\r\n this.scopes[i].stop(true);\r\n }\r\n }\r\n // nested scope, dereference from parent to avoid memory leaks\r\n if (this.parent && !fromParent) {\r\n // optimized O(1) removal\r\n const last = this.parent.scopes.pop();\r\n if (last && last !== this) {\r\n this.parent.scopes[this.index] = last;\r\n last.index = this.index;\r\n }\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction effectScope(detached) {\r\n return new EffectScope(detached);\r\n}\r\nfunction recordEffectScope(effect, scope = activeEffectScope) {\r\n if (scope && scope.active) {\r\n scope.effects.push(effect);\r\n }\r\n}\r\nfunction getCurrentScope() {\r\n return activeEffectScope;\r\n}\r\nfunction onScopeDispose(fn) {\r\n if (activeEffectScope) {\r\n activeEffectScope.cleanups.push(fn);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`onScopeDispose() is called when there is no active effect scope` +\r\n ` to be associated with.`);\r\n }\r\n}\n\nconst createDep = (effects) => {\r\n const dep = new Set(effects);\r\n dep.w = 0;\r\n dep.n = 0;\r\n return dep;\r\n};\r\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\r\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\r\nconst initDepMarkers = ({ deps }) => {\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].w |= trackOpBit; // set was tracked\r\n }\r\n }\r\n};\r\nconst finalizeDepMarkers = (effect) => {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n let ptr = 0;\r\n for (let i = 0; i < deps.length; i++) {\r\n const dep = deps[i];\r\n if (wasTracked(dep) && !newTracked(dep)) {\r\n dep.delete(effect);\r\n }\r\n else {\r\n deps[ptr++] = dep;\r\n }\r\n // clear bits\r\n dep.w &= ~trackOpBit;\r\n dep.n &= ~trackOpBit;\r\n }\r\n deps.length = ptr;\r\n }\r\n};\n\nconst targetMap = new WeakMap();\r\n// The number of effects currently being tracked recursively.\r\nlet effectTrackDepth = 0;\r\nlet trackOpBit = 1;\r\n/**\r\n * The bitwise track markers support at most 30 levels of recursion.\r\n * This value is chosen to enable modern JS engines to use a SMI on all platforms.\r\n * When recursion depth is greater, fall back to using a full cleanup.\r\n */\r\nconst maxMarkerBits = 30;\r\nlet activeEffect;\r\nconst ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');\r\nconst MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');\r\nclass ReactiveEffect {\r\n constructor(fn, scheduler = null, scope) {\r\n this.fn = fn;\r\n this.scheduler = scheduler;\r\n this.active = true;\r\n this.deps = [];\r\n this.parent = undefined;\r\n recordEffectScope(this, scope);\r\n }\r\n run() {\r\n if (!this.active) {\r\n return this.fn();\r\n }\r\n let parent = activeEffect;\r\n let lastShouldTrack = shouldTrack;\r\n while (parent) {\r\n if (parent === this) {\r\n return;\r\n }\r\n parent = parent.parent;\r\n }\r\n try {\r\n this.parent = activeEffect;\r\n activeEffect = this;\r\n shouldTrack = true;\r\n trackOpBit = 1 << ++effectTrackDepth;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n initDepMarkers(this);\r\n }\r\n else {\r\n cleanupEffect(this);\r\n }\r\n return this.fn();\r\n }\r\n finally {\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n finalizeDepMarkers(this);\r\n }\r\n trackOpBit = 1 << --effectTrackDepth;\r\n activeEffect = this.parent;\r\n shouldTrack = lastShouldTrack;\r\n this.parent = undefined;\r\n if (this.deferStop) {\r\n this.stop();\r\n }\r\n }\r\n }\r\n stop() {\r\n // stopped while running itself - defer the cleanup\r\n if (activeEffect === this) {\r\n this.deferStop = true;\r\n }\r\n else if (this.active) {\r\n cleanupEffect(this);\r\n if (this.onStop) {\r\n this.onStop();\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction cleanupEffect(effect) {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].delete(effect);\r\n }\r\n deps.length = 0;\r\n }\r\n}\r\nfunction effect(fn, options) {\r\n if (fn.effect) {\r\n fn = fn.effect.fn;\r\n }\r\n const _effect = new ReactiveEffect(fn);\r\n if (options) {\r\n extend(_effect, options);\r\n if (options.scope)\r\n recordEffectScope(_effect, options.scope);\r\n }\r\n if (!options || !options.lazy) {\r\n _effect.run();\r\n }\r\n const runner = _effect.run.bind(_effect);\r\n runner.effect = _effect;\r\n return runner;\r\n}\r\nfunction stop(runner) {\r\n runner.effect.stop();\r\n}\r\nlet shouldTrack = true;\r\nconst trackStack = [];\r\nfunction pauseTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = false;\r\n}\r\nfunction enableTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = true;\r\n}\r\nfunction resetTracking() {\r\n const last = trackStack.pop();\r\n shouldTrack = last === undefined ? true : last;\r\n}\r\nfunction track(target, type, key) {\r\n if (shouldTrack && activeEffect) {\r\n let depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n targetMap.set(target, (depsMap = new Map()));\r\n }\r\n let dep = depsMap.get(key);\r\n if (!dep) {\r\n depsMap.set(key, (dep = createDep()));\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { effect: activeEffect, target, type, key }\r\n : undefined;\r\n trackEffects(dep, eventInfo);\r\n }\r\n}\r\nfunction trackEffects(dep, debuggerEventExtraInfo) {\r\n let shouldTrack = false;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n if (!newTracked(dep)) {\r\n dep.n |= trackOpBit; // set newly tracked\r\n shouldTrack = !wasTracked(dep);\r\n }\r\n }\r\n else {\r\n // Full cleanup mode.\r\n shouldTrack = !dep.has(activeEffect);\r\n }\r\n if (shouldTrack) {\r\n dep.add(activeEffect);\r\n activeEffect.deps.push(dep);\r\n if ((process.env.NODE_ENV !== 'production') && activeEffect.onTrack) {\r\n activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo));\r\n }\r\n }\r\n}\r\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\r\n const depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n // never been tracked\r\n return;\r\n }\r\n let deps = [];\r\n if (type === \"clear\" /* CLEAR */) {\r\n // collection being cleared\r\n // trigger all effects for target\r\n deps = [...depsMap.values()];\r\n }\r\n else if (key === 'length' && isArray(target)) {\r\n depsMap.forEach((dep, key) => {\r\n if (key === 'length' || key >= newValue) {\r\n deps.push(dep);\r\n }\r\n });\r\n }\r\n else {\r\n // schedule runs for SET | ADD | DELETE\r\n if (key !== void 0) {\r\n deps.push(depsMap.get(key));\r\n }\r\n // also run for iteration key on ADD | DELETE | Map.SET\r\n switch (type) {\r\n case \"add\" /* ADD */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n else if (isIntegerKey(key)) {\r\n // new index added to array -> length changes\r\n deps.push(depsMap.get('length'));\r\n }\r\n break;\r\n case \"delete\" /* DELETE */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n break;\r\n case \"set\" /* SET */:\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n }\r\n break;\r\n }\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { target, type, key, newValue, oldValue, oldTarget }\r\n : undefined;\r\n if (deps.length === 1) {\r\n if (deps[0]) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(deps[0], eventInfo);\r\n }\r\n else {\r\n triggerEffects(deps[0]);\r\n }\r\n }\r\n }\r\n else {\r\n const effects = [];\r\n for (const dep of deps) {\r\n if (dep) {\r\n effects.push(...dep);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(createDep(effects), eventInfo);\r\n }\r\n else {\r\n triggerEffects(createDep(effects));\r\n }\r\n }\r\n}\r\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\r\n // spread into array for stabilization\r\n const effects = isArray(dep) ? dep : [...dep];\r\n for (const effect of effects) {\r\n if (effect.computed) {\r\n triggerEffect(effect, debuggerEventExtraInfo);\r\n }\r\n }\r\n for (const effect of effects) {\r\n if (!effect.computed) {\r\n triggerEffect(effect, debuggerEventExtraInfo);\r\n }\r\n }\r\n}\r\nfunction triggerEffect(effect, debuggerEventExtraInfo) {\r\n if (effect !== activeEffect || effect.allowRecurse) {\r\n if ((process.env.NODE_ENV !== 'production') && effect.onTrigger) {\r\n effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));\r\n }\r\n if (effect.scheduler) {\r\n effect.scheduler();\r\n }\r\n else {\r\n effect.run();\r\n }\r\n }\r\n}\n\nconst isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);\r\nconst builtInSymbols = new Set(\r\n/*#__PURE__*/\r\nObject.getOwnPropertyNames(Symbol)\r\n // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'\r\n // but accessing them on Symbol leads to TypeError because Symbol is a strict mode\r\n // function\r\n .filter(key => key !== 'arguments' && key !== 'caller')\r\n .map(key => Symbol[key])\r\n .filter(isSymbol));\r\nconst get = /*#__PURE__*/ createGetter();\r\nconst shallowGet = /*#__PURE__*/ createGetter(false, true);\r\nconst readonlyGet = /*#__PURE__*/ createGetter(true);\r\nconst shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);\r\nconst arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();\r\nfunction createArrayInstrumentations() {\r\n const instrumentations = {};\r\n ['includes', 'indexOf', 'lastIndexOf'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n const arr = toRaw(this);\r\n for (let i = 0, l = this.length; i < l; i++) {\r\n track(arr, \"get\" /* GET */, i + '');\r\n }\r\n // we run the method using the original args first (which may be reactive)\r\n const res = arr[key](...args);\r\n if (res === -1 || res === false) {\r\n // if that didn't work, run it again using raw values.\r\n return arr[key](...args.map(toRaw));\r\n }\r\n else {\r\n return res;\r\n }\r\n };\r\n });\r\n ['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n pauseTracking();\r\n const res = toRaw(this)[key].apply(this, args);\r\n resetTracking();\r\n return res;\r\n };\r\n });\r\n return instrumentations;\r\n}\r\nfunction createGetter(isReadonly = false, shallow = false) {\r\n return function get(target, key, receiver) {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_isShallow\" /* IS_SHALLOW */) {\r\n return shallow;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */ &&\r\n receiver ===\r\n (isReadonly\r\n ? shallow\r\n ? shallowReadonlyMap\r\n : readonlyMap\r\n : shallow\r\n ? shallowReactiveMap\r\n : reactiveMap).get(target)) {\r\n return target;\r\n }\r\n const targetIsArray = isArray(target);\r\n if (!isReadonly && targetIsArray && hasOwn(arrayInstrumentations, key)) {\r\n return Reflect.get(arrayInstrumentations, key, receiver);\r\n }\r\n const res = Reflect.get(target, key, receiver);\r\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\r\n return res;\r\n }\r\n if (!isReadonly) {\r\n track(target, \"get\" /* GET */, key);\r\n }\r\n if (shallow) {\r\n return res;\r\n }\r\n if (isRef(res)) {\r\n // ref unwrapping - skip unwrap for Array + integer key.\r\n return targetIsArray && isIntegerKey(key) ? res : res.value;\r\n }\r\n if (isObject(res)) {\r\n // Convert returned value into a proxy as well. we do the isObject check\r\n // here to avoid invalid value warning. Also need to lazy access readonly\r\n // and reactive here to avoid circular dependency.\r\n return isReadonly ? readonly(res) : reactive(res);\r\n }\r\n return res;\r\n };\r\n}\r\nconst set = /*#__PURE__*/ createSetter();\r\nconst shallowSet = /*#__PURE__*/ createSetter(true);\r\nfunction createSetter(shallow = false) {\r\n return function set(target, key, value, receiver) {\r\n let oldValue = target[key];\r\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\r\n return false;\r\n }\r\n if (!shallow && !isReadonly(value)) {\r\n if (!isShallow(value)) {\r\n value = toRaw(value);\r\n oldValue = toRaw(oldValue);\r\n }\r\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n }\r\n const hadKey = isArray(target) && isIntegerKey(key)\r\n ? Number(key) < target.length\r\n : hasOwn(target, key);\r\n const result = Reflect.set(target, key, value, receiver);\r\n // don't trigger if target is something up in the prototype chain of original\r\n if (target === toRaw(receiver)) {\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n }\r\n return result;\r\n };\r\n}\r\nfunction deleteProperty(target, key) {\r\n const hadKey = hasOwn(target, key);\r\n const oldValue = target[key];\r\n const result = Reflect.deleteProperty(target, key);\r\n if (result && hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction has(target, key) {\r\n const result = Reflect.has(target, key);\r\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\r\n track(target, \"has\" /* HAS */, key);\r\n }\r\n return result;\r\n}\r\nfunction ownKeys(target) {\r\n track(target, \"iterate\" /* ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);\r\n return Reflect.ownKeys(target);\r\n}\r\nconst mutableHandlers = {\r\n get,\r\n set,\r\n deleteProperty,\r\n has,\r\n ownKeys\r\n};\r\nconst readonlyHandlers = {\r\n get: readonlyGet,\r\n set(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n },\r\n deleteProperty(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n }\r\n};\r\nconst shallowReactiveHandlers = /*#__PURE__*/ extend({}, mutableHandlers, {\r\n get: shallowGet,\r\n set: shallowSet\r\n});\r\n// Props handlers are special in the sense that it should not unwrap top-level\r\n// refs (in order to allow refs to be explicitly passed down), but should\r\n// retain the reactivity of the normal readonly object.\r\nconst shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {\r\n get: shallowReadonlyGet\r\n});\n\nconst toShallow = (value) => value;\r\nconst getProto = (v) => Reflect.getPrototypeOf(v);\r\nfunction get$1(target, key, isReadonly = false, isShallow = false) {\r\n // #1772: readonly(reactive(Map)) should return readonly + reactive version\r\n // of the value\r\n target = target[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (key !== rawKey) {\r\n track(rawTarget, \"get\" /* GET */, key);\r\n }\r\n track(rawTarget, \"get\" /* GET */, rawKey);\r\n }\r\n const { has } = getProto(rawTarget);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n if (has.call(rawTarget, key)) {\r\n return wrap(target.get(key));\r\n }\r\n else if (has.call(rawTarget, rawKey)) {\r\n return wrap(target.get(rawKey));\r\n }\r\n else if (target !== rawTarget) {\r\n // #3602 readonly(reactive(Map))\r\n // ensure that the nested reactive `Map` can do tracking for itself\r\n target.get(key);\r\n }\r\n}\r\nfunction has$1(key, isReadonly = false) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (key !== rawKey) {\r\n track(rawTarget, \"has\" /* HAS */, key);\r\n }\r\n track(rawTarget, \"has\" /* HAS */, rawKey);\r\n }\r\n return key === rawKey\r\n ? target.has(key)\r\n : target.has(key) || target.has(rawKey);\r\n}\r\nfunction size(target, isReadonly = false) {\r\n target = target[\"__v_raw\" /* RAW */];\r\n !isReadonly && track(toRaw(target), \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return Reflect.get(target, 'size', target);\r\n}\r\nfunction add(value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const proto = getProto(target);\r\n const hadKey = proto.has.call(target, value);\r\n if (!hadKey) {\r\n target.add(value);\r\n trigger(target, \"add\" /* ADD */, value, value);\r\n }\r\n return this;\r\n}\r\nfunction set$1(key, value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get.call(target, key);\r\n target.set(key, value);\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n return this;\r\n}\r\nfunction deleteEntry(key) {\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get ? get.call(target, key) : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.delete(key);\r\n if (hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction clear() {\r\n const target = toRaw(this);\r\n const hadItems = target.size !== 0;\r\n const oldTarget = (process.env.NODE_ENV !== 'production')\r\n ? isMap(target)\r\n ? new Map(target)\r\n : new Set(target)\r\n : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.clear();\r\n if (hadItems) {\r\n trigger(target, \"clear\" /* CLEAR */, undefined, undefined, oldTarget);\r\n }\r\n return result;\r\n}\r\nfunction createForEach(isReadonly, isShallow) {\r\n return function forEach(callback, thisArg) {\r\n const observed = this;\r\n const target = observed[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly && track(rawTarget, \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return target.forEach((value, key) => {\r\n // important: make sure the callback is\r\n // 1. invoked with the reactive map as `this` and 3rd arg\r\n // 2. the value received should be a corresponding reactive/readonly.\r\n return callback.call(thisArg, wrap(value), wrap(key), observed);\r\n });\r\n };\r\n}\r\nfunction createIterableMethod(method, isReadonly, isShallow) {\r\n return function (...args) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const targetIsMap = isMap(rawTarget);\r\n const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);\r\n const isKeyOnly = method === 'keys' && targetIsMap;\r\n const innerIterator = target[method](...args);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly &&\r\n track(rawTarget, \"iterate\" /* ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\r\n // return a wrapped iterator which returns observed versions of the\r\n // values emitted from the real iterator\r\n return {\r\n // iterator protocol\r\n next() {\r\n const { value, done } = innerIterator.next();\r\n return done\r\n ? { value, done }\r\n : {\r\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\r\n done\r\n };\r\n },\r\n // iterable protocol\r\n [Symbol.iterator]() {\r\n return this;\r\n }\r\n };\r\n };\r\n}\r\nfunction createReadonlyMethod(type) {\r\n return function (...args) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\r\n console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\r\n }\r\n return type === \"delete\" /* DELETE */ ? false : this;\r\n };\r\n}\r\nfunction createInstrumentations() {\r\n const mutableInstrumentations = {\r\n get(key) {\r\n return get$1(this, key);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, false)\r\n };\r\n const shallowInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, false, true);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, true)\r\n };\r\n const readonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, false)\r\n };\r\n const shallowReadonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, true)\r\n };\r\n const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];\r\n iteratorMethods.forEach(method => {\r\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\r\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\r\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\r\n shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);\r\n });\r\n return [\r\n mutableInstrumentations,\r\n readonlyInstrumentations,\r\n shallowInstrumentations,\r\n shallowReadonlyInstrumentations\r\n ];\r\n}\r\nconst [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();\r\nfunction createInstrumentationGetter(isReadonly, shallow) {\r\n const instrumentations = shallow\r\n ? isReadonly\r\n ? shallowReadonlyInstrumentations\r\n : shallowInstrumentations\r\n : isReadonly\r\n ? readonlyInstrumentations\r\n : mutableInstrumentations;\r\n return (target, key, receiver) => {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */) {\r\n return target;\r\n }\r\n return Reflect.get(hasOwn(instrumentations, key) && key in target\r\n ? instrumentations\r\n : target, key, receiver);\r\n };\r\n}\r\nconst mutableCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, false)\r\n};\r\nconst shallowCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, true)\r\n};\r\nconst readonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, false)\r\n};\r\nconst shallowReadonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, true)\r\n};\r\nfunction checkIdentityKeys(target, has, key) {\r\n const rawKey = toRaw(key);\r\n if (rawKey !== key && has.call(target, rawKey)) {\r\n const type = toRawType(target);\r\n console.warn(`Reactive ${type} contains both the raw and reactive ` +\r\n `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +\r\n `which can lead to inconsistencies. ` +\r\n `Avoid differentiating between the raw and reactive versions ` +\r\n `of an object and only use the reactive version if possible.`);\r\n }\r\n}\n\nconst reactiveMap = new WeakMap();\r\nconst shallowReactiveMap = new WeakMap();\r\nconst readonlyMap = new WeakMap();\r\nconst shallowReadonlyMap = new WeakMap();\r\nfunction targetTypeMap(rawType) {\r\n switch (rawType) {\r\n case 'Object':\r\n case 'Array':\r\n return 1 /* COMMON */;\r\n case 'Map':\r\n case 'Set':\r\n case 'WeakMap':\r\n case 'WeakSet':\r\n return 2 /* COLLECTION */;\r\n default:\r\n return 0 /* INVALID */;\r\n }\r\n}\r\nfunction getTargetType(value) {\r\n return value[\"__v_skip\" /* SKIP */] || !Object.isExtensible(value)\r\n ? 0 /* INVALID */\r\n : targetTypeMap(toRawType(value));\r\n}\r\nfunction reactive(target) {\r\n // if trying to observe a readonly proxy, return the readonly version.\r\n if (isReadonly(target)) {\r\n return target;\r\n }\r\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\r\n}\r\n/**\r\n * Return a shallowly-reactive copy of the original object, where only the root\r\n * level properties are reactive. It also does not auto-unwrap refs (even at the\r\n * root level).\r\n */\r\nfunction shallowReactive(target) {\r\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\r\n}\r\n/**\r\n * Creates a readonly copy of the original object. Note the returned copy is not\r\n * made reactive, but `readonly` can be called on an already reactive object.\r\n */\r\nfunction readonly(target) {\r\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\r\n}\r\n/**\r\n * Returns a reactive-copy of the original object, where only the root level\r\n * properties are readonly, and does NOT unwrap refs nor recursively convert\r\n * returned properties.\r\n * This is used for creating the props proxy object for stateful components.\r\n */\r\nfunction shallowReadonly(target) {\r\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\r\n}\r\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {\r\n if (!isObject(target)) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`value cannot be made reactive: ${String(target)}`);\r\n }\r\n return target;\r\n }\r\n // target is already a Proxy, return it.\r\n // exception: calling readonly() on a reactive object\r\n if (target[\"__v_raw\" /* RAW */] &&\r\n !(isReadonly && target[\"__v_isReactive\" /* IS_REACTIVE */])) {\r\n return target;\r\n }\r\n // target already has corresponding Proxy\r\n const existingProxy = proxyMap.get(target);\r\n if (existingProxy) {\r\n return existingProxy;\r\n }\r\n // only specific value types can be observed.\r\n const targetType = getTargetType(target);\r\n if (targetType === 0 /* INVALID */) {\r\n return target;\r\n }\r\n const proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers);\r\n proxyMap.set(target, proxy);\r\n return proxy;\r\n}\r\nfunction isReactive(value) {\r\n if (isReadonly(value)) {\r\n return isReactive(value[\"__v_raw\" /* RAW */]);\r\n }\r\n return !!(value && value[\"__v_isReactive\" /* IS_REACTIVE */]);\r\n}\r\nfunction isReadonly(value) {\r\n return !!(value && value[\"__v_isReadonly\" /* IS_READONLY */]);\r\n}\r\nfunction isShallow(value) {\r\n return !!(value && value[\"__v_isShallow\" /* IS_SHALLOW */]);\r\n}\r\nfunction isProxy(value) {\r\n return isReactive(value) || isReadonly(value);\r\n}\r\nfunction toRaw(observed) {\r\n const raw = observed && observed[\"__v_raw\" /* RAW */];\r\n return raw ? toRaw(raw) : observed;\r\n}\r\nfunction markRaw(value) {\r\n def(value, \"__v_skip\" /* SKIP */, true);\r\n return value;\r\n}\r\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\r\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref) {\r\n if (shouldTrack && activeEffect) {\r\n ref = toRaw(ref);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n trackEffects(ref.dep || (ref.dep = createDep()), {\r\n target: ref,\r\n type: \"get\" /* GET */,\r\n key: 'value'\r\n });\r\n }\r\n else {\r\n trackEffects(ref.dep || (ref.dep = createDep()));\r\n }\r\n }\r\n}\r\nfunction triggerRefValue(ref, newVal) {\r\n ref = toRaw(ref);\r\n if (ref.dep) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(ref.dep, {\r\n target: ref,\r\n type: \"set\" /* SET */,\r\n key: 'value',\r\n newValue: newVal\r\n });\r\n }\r\n else {\r\n triggerEffects(ref.dep);\r\n }\r\n }\r\n}\r\nfunction isRef(r) {\r\n return !!(r && r.__v_isRef === true);\r\n}\r\nfunction ref(value) {\r\n return createRef(value, false);\r\n}\r\nfunction shallowRef(value) {\r\n return createRef(value, true);\r\n}\r\nfunction createRef(rawValue, shallow) {\r\n if (isRef(rawValue)) {\r\n return rawValue;\r\n }\r\n return new RefImpl(rawValue, shallow);\r\n}\r\nclass RefImpl {\r\n constructor(value, __v_isShallow) {\r\n this.__v_isShallow = __v_isShallow;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._rawValue = __v_isShallow ? value : toRaw(value);\r\n this._value = __v_isShallow ? value : toReactive(value);\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n return this._value;\r\n }\r\n set value(newVal) {\r\n newVal = this.__v_isShallow ? newVal : toRaw(newVal);\r\n if (hasChanged(newVal, this._rawValue)) {\r\n this._rawValue = newVal;\r\n this._value = this.__v_isShallow ? newVal : toReactive(newVal);\r\n triggerRefValue(this, newVal);\r\n }\r\n }\r\n}\r\nfunction triggerRef(ref) {\r\n triggerRefValue(ref, (process.env.NODE_ENV !== 'production') ? ref.value : void 0);\r\n}\r\nfunction unref(ref) {\r\n return isRef(ref) ? ref.value : ref;\r\n}\r\nconst shallowUnwrapHandlers = {\r\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\r\n set: (target, key, value, receiver) => {\r\n const oldValue = target[key];\r\n if (isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n else {\r\n return Reflect.set(target, key, value, receiver);\r\n }\r\n }\r\n};\r\nfunction proxyRefs(objectWithRefs) {\r\n return isReactive(objectWithRefs)\r\n ? objectWithRefs\r\n : new Proxy(objectWithRefs, shallowUnwrapHandlers);\r\n}\r\nclass CustomRefImpl {\r\n constructor(factory) {\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n const { get, set } = factory(() => trackRefValue(this), () => triggerRefValue(this));\r\n this._get = get;\r\n this._set = set;\r\n }\r\n get value() {\r\n return this._get();\r\n }\r\n set value(newVal) {\r\n this._set(newVal);\r\n }\r\n}\r\nfunction customRef(factory) {\r\n return new CustomRefImpl(factory);\r\n}\r\nfunction toRefs(object) {\r\n if ((process.env.NODE_ENV !== 'production') && !isProxy(object)) {\r\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\r\n }\r\n const ret = isArray(object) ? new Array(object.length) : {};\r\n for (const key in object) {\r\n ret[key] = toRef(object, key);\r\n }\r\n return ret;\r\n}\r\nclass ObjectRefImpl {\r\n constructor(_object, _key, _defaultValue) {\r\n this._object = _object;\r\n this._key = _key;\r\n this._defaultValue = _defaultValue;\r\n this.__v_isRef = true;\r\n }\r\n get value() {\r\n const val = this._object[this._key];\r\n return val === undefined ? this._defaultValue : val;\r\n }\r\n set value(newVal) {\r\n this._object[this._key] = newVal;\r\n }\r\n}\r\nfunction toRef(object, key, defaultValue) {\r\n const val = object[key];\r\n return isRef(val)\r\n ? val\r\n : new ObjectRefImpl(object, key, defaultValue);\r\n}\n\nclass ComputedRefImpl {\r\n constructor(getter, _setter, isReadonly, isSSR) {\r\n this._setter = _setter;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._dirty = true;\r\n this.effect = new ReactiveEffect(getter, () => {\r\n if (!this._dirty) {\r\n this._dirty = true;\r\n triggerRefValue(this);\r\n }\r\n });\r\n this.effect.computed = this;\r\n this.effect.active = this._cacheable = !isSSR;\r\n this[\"__v_isReadonly\" /* IS_READONLY */] = isReadonly;\r\n }\r\n get value() {\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n const self = toRaw(this);\r\n trackRefValue(self);\r\n if (self._dirty || !self._cacheable) {\r\n self._dirty = false;\r\n self._value = self.effect.run();\r\n }\r\n return self._value;\r\n }\r\n set value(newValue) {\r\n this._setter(newValue);\r\n }\r\n}\r\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\r\n let getter;\r\n let setter;\r\n const onlyGetter = isFunction(getterOrOptions);\r\n if (onlyGetter) {\r\n getter = getterOrOptions;\r\n setter = (process.env.NODE_ENV !== 'production')\r\n ? () => {\r\n console.warn('Write operation failed: computed value is readonly');\r\n }\r\n : NOOP;\r\n }\r\n else {\r\n getter = getterOrOptions.get;\r\n setter = getterOrOptions.set;\r\n }\r\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\r\n if ((process.env.NODE_ENV !== 'production') && debugOptions && !isSSR) {\r\n cRef.effect.onTrack = debugOptions.onTrack;\r\n cRef.effect.onTrigger = debugOptions.onTrigger;\r\n }\r\n return cRef;\r\n}\n\nvar _a;\r\nconst tick = /*#__PURE__*/ Promise.resolve();\r\nconst queue = [];\r\nlet queued = false;\r\nconst scheduler = (fn) => {\r\n queue.push(fn);\r\n if (!queued) {\r\n queued = true;\r\n tick.then(flush);\r\n }\r\n};\r\nconst flush = () => {\r\n for (let i = 0; i < queue.length; i++) {\r\n queue[i]();\r\n }\r\n queue.length = 0;\r\n queued = false;\r\n};\r\nclass DeferredComputedRefImpl {\r\n constructor(getter) {\r\n this.dep = undefined;\r\n this._dirty = true;\r\n this.__v_isRef = true;\r\n this[_a] = true;\r\n let compareTarget;\r\n let hasCompareTarget = false;\r\n let scheduled = false;\r\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\r\n if (this.dep) {\r\n if (computedTrigger) {\r\n compareTarget = this._value;\r\n hasCompareTarget = true;\r\n }\r\n else if (!scheduled) {\r\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\r\n scheduled = true;\r\n hasCompareTarget = false;\r\n scheduler(() => {\r\n if (this.effect.active && this._get() !== valueToCompare) {\r\n triggerRefValue(this);\r\n }\r\n scheduled = false;\r\n });\r\n }\r\n // chained upstream computeds are notified synchronously to ensure\r\n // value invalidation in case of sync access; normal effects are\r\n // deferred to be triggered in scheduler.\r\n for (const e of this.dep) {\r\n if (e.computed instanceof DeferredComputedRefImpl) {\r\n e.scheduler(true /* computedTrigger */);\r\n }\r\n }\r\n }\r\n this._dirty = true;\r\n });\r\n this.effect.computed = this;\r\n }\r\n _get() {\r\n if (this._dirty) {\r\n this._dirty = false;\r\n return (this._value = this.effect.run());\r\n }\r\n return this._value;\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n return toRaw(this)._get();\r\n }\r\n}\r\n_a = \"__v_isReadonly\" /* IS_READONLY */;\r\nfunction deferredComputed(getter) {\r\n return new DeferredComputedRefImpl(getter);\r\n}\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, EffectScope, markRaw, proxyRefs, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, toNumber, hyphenate, camelize, isOn, hasOwn, isModelListener, hasChanged, remove, isObject, isSet, isMap, isPlainObject, invokeArrayFns, isBuiltInDirective, capitalize, isGloballyWhitelisted, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, NO, normalizeClass, normalizeStyle } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\r\nfunction pushWarningContext(vnode) {\r\n stack.push(vnode);\r\n}\r\nfunction popWarningContext() {\r\n stack.pop();\r\n}\r\nfunction warn(msg, ...args) {\r\n // avoid props formatting or warn handler tracking deps that might be mutated\r\n // during patch, leading to infinite recursion.\r\n pauseTracking();\r\n const instance = stack.length ? stack[stack.length - 1].component : null;\r\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\r\n const trace = getComponentTrace();\r\n if (appWarnHandler) {\r\n callWithErrorHandling(appWarnHandler, instance, 11 /* APP_WARN_HANDLER */, [\r\n msg + args.join(''),\r\n instance && instance.proxy,\r\n trace\r\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\r\n .join('\\n'),\r\n trace\r\n ]);\r\n }\r\n else {\r\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\r\n /* istanbul ignore if */\r\n if (trace.length &&\r\n // avoid spamming console during tests\r\n !false) {\r\n warnArgs.push(`\\n`, ...formatTrace(trace));\r\n }\r\n console.warn(...warnArgs);\r\n }\r\n resetTracking();\r\n}\r\nfunction getComponentTrace() {\r\n let currentVNode = stack[stack.length - 1];\r\n if (!currentVNode) {\r\n return [];\r\n }\r\n // we can't just use the stack because it will be incomplete during updates\r\n // that did not start from the root. Re-construct the parent chain using\r\n // instance parent pointers.\r\n const normalizedStack = [];\r\n while (currentVNode) {\r\n const last = normalizedStack[0];\r\n if (last && last.vnode === currentVNode) {\r\n last.recurseCount++;\r\n }\r\n else {\r\n normalizedStack.push({\r\n vnode: currentVNode,\r\n recurseCount: 0\r\n });\r\n }\r\n const parentInstance = currentVNode.component && currentVNode.component.parent;\r\n currentVNode = parentInstance && parentInstance.vnode;\r\n }\r\n return normalizedStack;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatTrace(trace) {\r\n const logs = [];\r\n trace.forEach((entry, i) => {\r\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\r\n });\r\n return logs;\r\n}\r\nfunction formatTraceEntry({ vnode, recurseCount }) {\r\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\r\n const isRoot = vnode.component ? vnode.component.parent == null : false;\r\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\r\n const close = `>` + postfix;\r\n return vnode.props\r\n ? [open, ...formatProps(vnode.props), close]\r\n : [open + close];\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProps(props) {\r\n const res = [];\r\n const keys = Object.keys(props);\r\n keys.slice(0, 3).forEach(key => {\r\n res.push(...formatProp(key, props[key]));\r\n });\r\n if (keys.length > 3) {\r\n res.push(` ...`);\r\n }\r\n return res;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProp(key, value, raw) {\r\n if (isString(value)) {\r\n value = JSON.stringify(value);\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (typeof value === 'number' ||\r\n typeof value === 'boolean' ||\r\n value == null) {\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (isRef(value)) {\r\n value = formatProp(key, toRaw(value.value), true);\r\n return raw ? value : [`${key}=Ref<`, value, `>`];\r\n }\r\n else if (isFunction(value)) {\r\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\r\n }\r\n else {\r\n value = toRaw(value);\r\n return raw ? value : [`${key}=`, value];\r\n }\r\n}\n\nconst ErrorTypeStrings = {\r\n [\"sp\" /* SERVER_PREFETCH */]: 'serverPrefetch hook',\r\n [\"bc\" /* BEFORE_CREATE */]: 'beforeCreate hook',\r\n [\"c\" /* CREATED */]: 'created hook',\r\n [\"bm\" /* BEFORE_MOUNT */]: 'beforeMount hook',\r\n [\"m\" /* MOUNTED */]: 'mounted hook',\r\n [\"bu\" /* BEFORE_UPDATE */]: 'beforeUpdate hook',\r\n [\"u\" /* UPDATED */]: 'updated',\r\n [\"bum\" /* BEFORE_UNMOUNT */]: 'beforeUnmount hook',\r\n [\"um\" /* UNMOUNTED */]: 'unmounted hook',\r\n [\"a\" /* ACTIVATED */]: 'activated hook',\r\n [\"da\" /* DEACTIVATED */]: 'deactivated hook',\r\n [\"ec\" /* ERROR_CAPTURED */]: 'errorCaptured hook',\r\n [\"rtc\" /* RENDER_TRACKED */]: 'renderTracked hook',\r\n [\"rtg\" /* RENDER_TRIGGERED */]: 'renderTriggered hook',\r\n [0 /* SETUP_FUNCTION */]: 'setup function',\r\n [1 /* RENDER_FUNCTION */]: 'render function',\r\n [2 /* WATCH_GETTER */]: 'watcher getter',\r\n [3 /* WATCH_CALLBACK */]: 'watcher callback',\r\n [4 /* WATCH_CLEANUP */]: 'watcher cleanup function',\r\n [5 /* NATIVE_EVENT_HANDLER */]: 'native event handler',\r\n [6 /* COMPONENT_EVENT_HANDLER */]: 'component event handler',\r\n [7 /* VNODE_HOOK */]: 'vnode hook',\r\n [8 /* DIRECTIVE_HOOK */]: 'directive hook',\r\n [9 /* TRANSITION_HOOK */]: 'transition hook',\r\n [10 /* APP_ERROR_HANDLER */]: 'app errorHandler',\r\n [11 /* APP_WARN_HANDLER */]: 'app warnHandler',\r\n [12 /* FUNCTION_REF */]: 'ref function',\r\n [13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',\r\n [14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\r\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'\r\n};\r\nfunction callWithErrorHandling(fn, instance, type, args) {\r\n let res;\r\n try {\r\n res = args ? fn(...args) : fn();\r\n }\r\n catch (err) {\r\n handleError(err, instance, type);\r\n }\r\n return res;\r\n}\r\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\r\n if (isFunction(fn)) {\r\n const res = callWithErrorHandling(fn, instance, type, args);\r\n if (res && isPromise(res)) {\r\n res.catch(err => {\r\n handleError(err, instance, type);\r\n });\r\n }\r\n return res;\r\n }\r\n const values = [];\r\n for (let i = 0; i < fn.length; i++) {\r\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\r\n }\r\n return values;\r\n}\r\nfunction handleError(err, instance, type, throwInDev = true) {\r\n const contextVNode = instance ? instance.vnode : null;\r\n if (instance) {\r\n let cur = instance.parent;\r\n // the exposed instance is the render proxy to keep it consistent with 2.x\r\n const exposedInstance = instance.proxy;\r\n // in production the hook receives only the error code\r\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\r\n while (cur) {\r\n const errorCapturedHooks = cur.ec;\r\n if (errorCapturedHooks) {\r\n for (let i = 0; i < errorCapturedHooks.length; i++) {\r\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\r\n return;\r\n }\r\n }\r\n }\r\n cur = cur.parent;\r\n }\r\n // app-level handling\r\n const appErrorHandler = instance.appContext.config.errorHandler;\r\n if (appErrorHandler) {\r\n callWithErrorHandling(appErrorHandler, null, 10 /* APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\r\n return;\r\n }\r\n }\r\n logError(err, type, contextVNode, throwInDev);\r\n}\r\nfunction logError(err, type, contextVNode, throwInDev = true) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const info = ErrorTypeStrings[type];\r\n if (contextVNode) {\r\n pushWarningContext(contextVNode);\r\n }\r\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\r\n if (contextVNode) {\r\n popWarningContext();\r\n }\r\n // crash in dev by default so it's more noticeable\r\n if (throwInDev) {\r\n throw err;\r\n }\r\n else {\r\n console.error(err);\r\n }\r\n }\r\n else {\r\n // recover in prod to reduce the impact on end-user\r\n console.error(err);\r\n }\r\n}\n\nlet isFlushing = false;\r\nlet isFlushPending = false;\r\nconst queue = [];\r\nlet flushIndex = 0;\r\nconst pendingPreFlushCbs = [];\r\nlet activePreFlushCbs = null;\r\nlet preFlushIndex = 0;\r\nconst pendingPostFlushCbs = [];\r\nlet activePostFlushCbs = null;\r\nlet postFlushIndex = 0;\r\nconst resolvedPromise = /*#__PURE__*/ Promise.resolve();\r\nlet currentFlushPromise = null;\r\nlet currentPreFlushParentJob = null;\r\nconst RECURSION_LIMIT = 100;\r\nfunction nextTick(fn) {\r\n const p = currentFlushPromise || resolvedPromise;\r\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\r\n}\r\n// #2768\r\n// Use binary-search to find a suitable position in the queue,\r\n// so that the queue maintains the increasing order of job's id,\r\n// which can prevent the job from being skipped and also can avoid repeated patching.\r\nfunction findInsertionIndex(id) {\r\n // the start index should be `flushIndex + 1`\r\n let start = flushIndex + 1;\r\n let end = queue.length;\r\n while (start < end) {\r\n const middle = (start + end) >>> 1;\r\n const middleJobId = getId(queue[middle]);\r\n middleJobId < id ? (start = middle + 1) : (end = middle);\r\n }\r\n return start;\r\n}\r\nfunction queueJob(job) {\r\n // the dedupe search uses the startIndex argument of Array.includes()\r\n // by default the search index includes the current job that is being run\r\n // so it cannot recursively trigger itself again.\r\n // if the job is a watch() callback, the search will start with a +1 index to\r\n // allow it recursively trigger itself - it is the user's responsibility to\r\n // ensure it doesn't end up in an infinite loop.\r\n if ((!queue.length ||\r\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) &&\r\n job !== currentPreFlushParentJob) {\r\n if (job.id == null) {\r\n queue.push(job);\r\n }\r\n else {\r\n queue.splice(findInsertionIndex(job.id), 0, job);\r\n }\r\n queueFlush();\r\n }\r\n}\r\nfunction queueFlush() {\r\n if (!isFlushing && !isFlushPending) {\r\n isFlushPending = true;\r\n currentFlushPromise = resolvedPromise.then(flushJobs);\r\n }\r\n}\r\nfunction invalidateJob(job) {\r\n const i = queue.indexOf(job);\r\n if (i > flushIndex) {\r\n queue.splice(i, 1);\r\n }\r\n}\r\nfunction queueCb(cb, activeQueue, pendingQueue, index) {\r\n if (!isArray(cb)) {\r\n if (!activeQueue ||\r\n !activeQueue.includes(cb, cb.allowRecurse ? index + 1 : index)) {\r\n pendingQueue.push(cb);\r\n }\r\n }\r\n else {\r\n // if cb is an array, it is a component lifecycle hook which can only be\r\n // triggered by a job, which is already deduped in the main queue, so\r\n // we can skip duplicate check here to improve perf\r\n pendingQueue.push(...cb);\r\n }\r\n queueFlush();\r\n}\r\nfunction queuePreFlushCb(cb) {\r\n queueCb(cb, activePreFlushCbs, pendingPreFlushCbs, preFlushIndex);\r\n}\r\nfunction queuePostFlushCb(cb) {\r\n queueCb(cb, activePostFlushCbs, pendingPostFlushCbs, postFlushIndex);\r\n}\r\nfunction flushPreFlushCbs(seen, parentJob = null) {\r\n if (pendingPreFlushCbs.length) {\r\n currentPreFlushParentJob = parentJob;\r\n activePreFlushCbs = [...new Set(pendingPreFlushCbs)];\r\n pendingPreFlushCbs.length = 0;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePreFlushCbs[preFlushIndex])) {\r\n continue;\r\n }\r\n activePreFlushCbs[preFlushIndex]();\r\n }\r\n activePreFlushCbs = null;\r\n preFlushIndex = 0;\r\n currentPreFlushParentJob = null;\r\n // recursively flush until it drains\r\n flushPreFlushCbs(seen, parentJob);\r\n }\r\n}\r\nfunction flushPostFlushCbs(seen) {\r\n // flush any pre cbs queued during the flush (e.g. pre watchers)\r\n flushPreFlushCbs();\r\n if (pendingPostFlushCbs.length) {\r\n const deduped = [...new Set(pendingPostFlushCbs)];\r\n pendingPostFlushCbs.length = 0;\r\n // #1947 already has active queue, nested flushPostFlushCbs call\r\n if (activePostFlushCbs) {\r\n activePostFlushCbs.push(...deduped);\r\n return;\r\n }\r\n activePostFlushCbs = deduped;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\r\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\r\n continue;\r\n }\r\n activePostFlushCbs[postFlushIndex]();\r\n }\r\n activePostFlushCbs = null;\r\n postFlushIndex = 0;\r\n }\r\n}\r\nconst getId = (job) => job.id == null ? Infinity : job.id;\r\nfunction flushJobs(seen) {\r\n isFlushPending = false;\r\n isFlushing = true;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n flushPreFlushCbs(seen);\r\n // Sort queue before flush.\r\n // This ensures that:\r\n // 1. Components are updated from parent to child. (because parent is always\r\n // created before the child so its render effect will have smaller\r\n // priority number)\r\n // 2. If a component is unmounted during a parent component's update,\r\n // its update can be skipped.\r\n queue.sort((a, b) => getId(a) - getId(b));\r\n // conditional usage of checkRecursiveUpdate must be determined out of\r\n // try ... catch block since Rollup by default de-optimizes treeshaking\r\n // inside try-catch. This can leave all warning code unshaked. Although\r\n // they would get eventually shaken by a minifier like terser, some minifiers\r\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\r\n const check = (process.env.NODE_ENV !== 'production')\r\n ? (job) => checkRecursiveUpdates(seen, job)\r\n : NOOP;\r\n try {\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job && job.active !== false) {\r\n if ((process.env.NODE_ENV !== 'production') && check(job)) {\r\n continue;\r\n }\r\n // console.log(`running:`, job.id)\r\n callWithErrorHandling(job, null, 14 /* SCHEDULER */);\r\n }\r\n }\r\n }\r\n finally {\r\n flushIndex = 0;\r\n queue.length = 0;\r\n flushPostFlushCbs(seen);\r\n isFlushing = false;\r\n currentFlushPromise = null;\r\n // some postFlushCb queued jobs!\r\n // keep flushing until it drains.\r\n if (queue.length ||\r\n pendingPreFlushCbs.length ||\r\n pendingPostFlushCbs.length) {\r\n flushJobs(seen);\r\n }\r\n }\r\n}\r\nfunction checkRecursiveUpdates(seen, fn) {\r\n if (!seen.has(fn)) {\r\n seen.set(fn, 1);\r\n }\r\n else {\r\n const count = seen.get(fn);\r\n if (count > RECURSION_LIMIT) {\r\n const instance = fn.ownerInstance;\r\n const componentName = instance && getComponentName(instance.type);\r\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\r\n `This means you have a reactive effect that is mutating its own ` +\r\n `dependencies and thus recursively triggering itself. Possible sources ` +\r\n `include component template, render function, updated hook or ` +\r\n `watcher source function.`);\r\n return true;\r\n }\r\n else {\r\n seen.set(fn, count + 1);\r\n }\r\n }\r\n}\n\n/* eslint-disable no-restricted-globals */\r\nlet isHmrUpdating = false;\r\nconst hmrDirtyComponents = new Set();\r\n// Expose the HMR runtime on the global object\r\n// This makes it entirely tree-shakable without polluting the exports and makes\r\n// it easier to be used in toolings like vue-loader\r\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\r\n// to be set so that its instances can be registered / removed.\r\nif ((process.env.NODE_ENV !== 'production')) {\r\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\r\n createRecord: tryWrap(createRecord),\r\n rerender: tryWrap(rerender),\r\n reload: tryWrap(reload)\r\n };\r\n}\r\nconst map = new Map();\r\nfunction registerHMR(instance) {\r\n const id = instance.type.__hmrId;\r\n let record = map.get(id);\r\n if (!record) {\r\n createRecord(id, instance.type);\r\n record = map.get(id);\r\n }\r\n record.instances.add(instance);\r\n}\r\nfunction unregisterHMR(instance) {\r\n map.get(instance.type.__hmrId).instances.delete(instance);\r\n}\r\nfunction createRecord(id, initialDef) {\r\n if (map.has(id)) {\r\n return false;\r\n }\r\n map.set(id, {\r\n initialDef: normalizeClassComponent(initialDef),\r\n instances: new Set()\r\n });\r\n return true;\r\n}\r\nfunction normalizeClassComponent(component) {\r\n return isClassComponent(component) ? component.__vccOpts : component;\r\n}\r\nfunction rerender(id, newRender) {\r\n const record = map.get(id);\r\n if (!record) {\r\n return;\r\n }\r\n // update initial record (for not-yet-rendered component)\r\n record.initialDef.render = newRender;\r\n [...record.instances].forEach(instance => {\r\n if (newRender) {\r\n instance.render = newRender;\r\n normalizeClassComponent(instance.type).render = newRender;\r\n }\r\n instance.renderCache = [];\r\n // this flag forces child components with slot content to update\r\n isHmrUpdating = true;\r\n instance.update();\r\n isHmrUpdating = false;\r\n });\r\n}\r\nfunction reload(id, newComp) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n newComp = normalizeClassComponent(newComp);\r\n // update initial def (for not-yet-rendered components)\r\n updateComponentDef(record.initialDef, newComp);\r\n // create a snapshot which avoids the set being mutated during updates\r\n const instances = [...record.instances];\r\n for (const instance of instances) {\r\n const oldComp = normalizeClassComponent(instance.type);\r\n if (!hmrDirtyComponents.has(oldComp)) {\r\n // 1. Update existing comp definition to match new one\r\n if (oldComp !== record.initialDef) {\r\n updateComponentDef(oldComp, newComp);\r\n }\r\n // 2. mark definition dirty. This forces the renderer to replace the\r\n // component on patch.\r\n hmrDirtyComponents.add(oldComp);\r\n }\r\n // 3. invalidate options resolution cache\r\n instance.appContext.optionsCache.delete(instance.type);\r\n // 4. actually update\r\n if (instance.ceReload) {\r\n // custom element\r\n hmrDirtyComponents.add(oldComp);\r\n instance.ceReload(newComp.styles);\r\n hmrDirtyComponents.delete(oldComp);\r\n }\r\n else if (instance.parent) {\r\n // 4. Force the parent instance to re-render. This will cause all updated\r\n // components to be unmounted and re-mounted. Queue the update so that we\r\n // don't end up forcing the same parent to re-render multiple times.\r\n queueJob(instance.parent.update);\r\n // instance is the inner component of an async custom element\r\n // invoke to reset styles\r\n if (instance.parent.type.__asyncLoader &&\r\n instance.parent.ceReload) {\r\n instance.parent.ceReload(newComp.styles);\r\n }\r\n }\r\n else if (instance.appContext.reload) {\r\n // root instance mounted via createApp() has a reload method\r\n instance.appContext.reload();\r\n }\r\n else if (typeof window !== 'undefined') {\r\n // root instance inside tree created via raw render(). Force reload.\r\n window.location.reload();\r\n }\r\n else {\r\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\r\n }\r\n }\r\n // 5. make sure to cleanup dirty hmr components after update\r\n queuePostFlushCb(() => {\r\n for (const instance of instances) {\r\n hmrDirtyComponents.delete(normalizeClassComponent(instance.type));\r\n }\r\n });\r\n}\r\nfunction updateComponentDef(oldComp, newComp) {\r\n extend(oldComp, newComp);\r\n for (const key in oldComp) {\r\n if (key !== '__file' && !(key in newComp)) {\r\n delete oldComp[key];\r\n }\r\n }\r\n}\r\nfunction tryWrap(fn) {\r\n return (id, arg) => {\r\n try {\r\n return fn(id, arg);\r\n }\r\n catch (e) {\r\n console.error(e);\r\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\r\n `Full reload required.`);\r\n }\r\n };\r\n}\n\nlet devtools;\r\nlet buffer = [];\r\nlet devtoolsNotInstalled = false;\r\nfunction emit(event, ...args) {\r\n if (devtools) {\r\n devtools.emit(event, ...args);\r\n }\r\n else if (!devtoolsNotInstalled) {\r\n buffer.push({ event, args });\r\n }\r\n}\r\nfunction setDevtoolsHook(hook, target) {\r\n var _a, _b;\r\n devtools = hook;\r\n if (devtools) {\r\n devtools.enabled = true;\r\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\r\n buffer = [];\r\n }\r\n else if (\r\n // handle late devtools injection - only do this if we are in an actual\r\n // browser environment to avoid the timer handle stalling test runner exit\r\n // (#4815)\r\n typeof window !== 'undefined' &&\r\n // some envs mock window but not fully\r\n window.HTMLElement &&\r\n // also exclude jsdom\r\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\r\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\r\n replay.push((newHook) => {\r\n setDevtoolsHook(newHook, target);\r\n });\r\n // clear buffer after 3s - the user probably doesn't have devtools installed\r\n // at all, and keeping the buffer will cause memory leaks (#4738)\r\n setTimeout(() => {\r\n if (!devtools) {\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n }, 3000);\r\n }\r\n else {\r\n // non-browser env, assume not installed\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n emit(\"app:init\" /* APP_INIT */, app, version, {\r\n Fragment,\r\n Text,\r\n Comment,\r\n Static\r\n });\r\n}\r\nfunction devtoolsUnmountApp(app) {\r\n emit(\"app:unmount\" /* APP_UNMOUNT */, app);\r\n}\r\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\r\nconst devtoolsComponentUpdated = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\r\nconst devtoolsComponentRemoved = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* COMPONENT_REMOVED */);\r\nfunction createDevtoolsComponentHook(hook) {\r\n return (component) => {\r\n emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\r\n };\r\n}\r\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\r\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\r\nfunction createDevtoolsPerformanceHook(hook) {\r\n return (component, type, time) => {\r\n emit(hook, component.appContext.app, component.uid, component, type, time);\r\n };\r\n}\r\nfunction devtoolsComponentEmit(component, event, params) {\r\n emit(\"component:emit\" /* COMPONENT_EMIT */, component.appContext.app, component, event, params);\r\n}\n\nfunction emit$1(instance, event, ...rawArgs) {\r\n if (instance.isUnmounted)\r\n return;\r\n const props = instance.vnode.props || EMPTY_OBJ;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\r\n if (emitsOptions) {\r\n if (!(event in emitsOptions) &&\r\n !(false )) {\r\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\r\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\r\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\r\n }\r\n }\r\n else {\r\n const validator = emitsOptions[event];\r\n if (isFunction(validator)) {\r\n const isValid = validator(...rawArgs);\r\n if (!isValid) {\r\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let args = rawArgs;\r\n const isModelListener = event.startsWith('update:');\r\n // for v-model update:xxx events, apply modifiers on args\r\n const modelArg = isModelListener && event.slice(7);\r\n if (modelArg && modelArg in props) {\r\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\r\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\r\n if (trim) {\r\n args = rawArgs.map(a => a.trim());\r\n }\r\n if (number) {\r\n args = rawArgs.map(toNumber);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentEmit(instance, event, args);\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const lowerCaseEvent = event.toLowerCase();\r\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\r\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\r\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\r\n `Note that HTML attributes are case-insensitive and you cannot use ` +\r\n `v-on to listen to camelCase events when using in-DOM templates. ` +\r\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\r\n }\r\n }\r\n let handlerName;\r\n let handler = props[(handlerName = toHandlerKey(event))] ||\r\n // also try camelCase event handler (#2249)\r\n props[(handlerName = toHandlerKey(camelize(event)))];\r\n // for v-model update:xxx events, also trigger kebab-case equivalent\r\n // for props passed via kebab-case\r\n if (!handler && isModelListener) {\r\n handler = props[(handlerName = toHandlerKey(hyphenate(event)))];\r\n }\r\n if (handler) {\r\n callWithAsyncErrorHandling(handler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n const onceHandler = props[handlerName + `Once`];\r\n if (onceHandler) {\r\n if (!instance.emitted) {\r\n instance.emitted = {};\r\n }\r\n else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n instance.emitted[handlerName] = true;\r\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.emitsCache;\r\n const cached = cache.get(comp);\r\n if (cached !== undefined) {\r\n return cached;\r\n }\r\n const raw = comp.emits;\r\n let normalized = {};\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendEmits = (raw) => {\r\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\r\n if (normalizedFromExtend) {\r\n hasExtends = true;\r\n extend(normalized, normalizedFromExtend);\r\n }\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendEmits);\r\n }\r\n if (comp.extends) {\r\n extendEmits(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendEmits);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n cache.set(comp, null);\r\n return null;\r\n }\r\n if (isArray(raw)) {\r\n raw.forEach(key => (normalized[key] = null));\r\n }\r\n else {\r\n extend(normalized, raw);\r\n }\r\n cache.set(comp, normalized);\r\n return normalized;\r\n}\r\n// Check if an incoming prop key is a declared emit event listener.\r\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\r\n// both considered matched listeners.\r\nfunction isEmitListener(options, key) {\r\n if (!options || !isOn(key)) {\r\n return false;\r\n }\r\n key = key.slice(2).replace(/Once$/, '');\r\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\r\n hasOwn(options, hyphenate(key)) ||\r\n hasOwn(options, key));\r\n}\n\n/**\r\n * mark the current rendering instance for asset resolution (e.g.\r\n * resolveComponent, resolveDirective) during render\r\n */\r\nlet currentRenderingInstance = null;\r\nlet currentScopeId = null;\r\n/**\r\n * Note: rendering calls maybe nested. The function returns the parent rendering\r\n * instance if present, which should be restored after the render is done:\r\n *\r\n * ```js\r\n * const prev = setCurrentRenderingInstance(i)\r\n * // ...render\r\n * setCurrentRenderingInstance(prev)\r\n * ```\r\n */\r\nfunction setCurrentRenderingInstance(instance) {\r\n const prev = currentRenderingInstance;\r\n currentRenderingInstance = instance;\r\n currentScopeId = (instance && instance.type.__scopeId) || null;\r\n return prev;\r\n}\r\n/**\r\n * Set scope id when creating hoisted vnodes.\r\n * @private compiler helper\r\n */\r\nfunction pushScopeId(id) {\r\n currentScopeId = id;\r\n}\r\n/**\r\n * Technically we no longer need this after 3.0.8 but we need to keep the same\r\n * API for backwards compat w/ code generated by compilers.\r\n * @private\r\n */\r\nfunction popScopeId() {\r\n currentScopeId = null;\r\n}\r\n/**\r\n * Only for backwards compat\r\n * @private\r\n */\r\nconst withScopeId = (_id) => withCtx;\r\n/**\r\n * Wrap a slot function to memoize current rendering instance\r\n * @private compiler helper\r\n */\r\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\r\n) {\r\n if (!ctx)\r\n return fn;\r\n // already normalized\r\n if (fn._n) {\r\n return fn;\r\n }\r\n const renderFnWithContext = (...args) => {\r\n // If a user calls a compiled slot inside a template expression (#1745), it\r\n // can mess up block tracking, so by default we disable block tracking and\r\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\r\n // This isn't necessary if rendering a compiled ``, so we flip the\r\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(-1);\r\n }\r\n const prevInstance = setCurrentRenderingInstance(ctx);\r\n const res = fn(...args);\r\n setCurrentRenderingInstance(prevInstance);\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(1);\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentUpdated(ctx);\r\n }\r\n return res;\r\n };\r\n // mark normalized to avoid duplicated wrapping\r\n renderFnWithContext._n = true;\r\n // mark this as compiled by default\r\n // this is used in vnode.ts -> normalizeChildren() to set the slot\r\n // rendering flag.\r\n renderFnWithContext._c = true;\r\n // disable block tracking by default\r\n renderFnWithContext._d = true;\r\n return renderFnWithContext;\r\n}\n\n/**\r\n * dev only flag to track whether $attrs was used during render.\r\n * If $attrs was used during render then the warning for failed attrs\r\n * fallthrough can be suppressed.\r\n */\r\nlet accessedAttrs = false;\r\nfunction markAttrsAccessed() {\r\n accessedAttrs = true;\r\n}\r\nfunction renderComponentRoot(instance) {\r\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\r\n let result;\r\n let fallthroughAttrs;\r\n const prev = setCurrentRenderingInstance(instance);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n accessedAttrs = false;\r\n }\r\n try {\r\n if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {\r\n // withProxy is a proxy with a different `has` trap only for\r\n // runtime-compiled render functions using `with` block.\r\n const proxyToUse = withProxy || proxy;\r\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\r\n fallthroughAttrs = attrs;\r\n }\r\n else {\r\n // functional\r\n const render = Component;\r\n // in dev, mark attrs accessed if optional props (attrs === props)\r\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\r\n markAttrsAccessed();\r\n }\r\n result = normalizeVNode(render.length > 1\r\n ? render(props, (process.env.NODE_ENV !== 'production')\r\n ? {\r\n get attrs() {\r\n markAttrsAccessed();\r\n return attrs;\r\n },\r\n slots,\r\n emit\r\n }\r\n : { attrs, slots, emit })\r\n : render(props, null /* we know it doesn't need it */));\r\n fallthroughAttrs = Component.props\r\n ? attrs\r\n : getFunctionalFallthrough(attrs);\r\n }\r\n }\r\n catch (err) {\r\n blockStack.length = 0;\r\n handleError(err, instance, 1 /* RENDER_FUNCTION */);\r\n result = createVNode(Comment);\r\n }\r\n // attr merging\r\n // in dev mode, comments are preserved, and it's possible for a template\r\n // to have comments along side the root element which makes it a fragment\r\n let root = result;\r\n let setRoot = undefined;\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n result.patchFlag > 0 &&\r\n result.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {\r\n [root, setRoot] = getChildRoot(result);\r\n }\r\n if (fallthroughAttrs && inheritAttrs !== false) {\r\n const keys = Object.keys(fallthroughAttrs);\r\n const { shapeFlag } = root;\r\n if (keys.length) {\r\n if (shapeFlag & (1 /* ELEMENT */ | 6 /* COMPONENT */)) {\r\n if (propsOptions && keys.some(isModelListener)) {\r\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\r\n // prop, it indicates this component expects to handle v-model and\r\n // it should not fallthrough.\r\n // related: #1543, #1643, #1989\r\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\r\n }\r\n root = cloneVNode(root, fallthroughAttrs);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\r\n const allAttrs = Object.keys(attrs);\r\n const eventAttrs = [];\r\n const extraAttrs = [];\r\n for (let i = 0, l = allAttrs.length; i < l; i++) {\r\n const key = allAttrs[i];\r\n if (isOn(key)) {\r\n // ignore v-model handlers when they fail to fallthrough\r\n if (!isModelListener(key)) {\r\n // remove `on`, lowercase first letter to reflect event casing\r\n // accurately\r\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\r\n }\r\n }\r\n else {\r\n extraAttrs.push(key);\r\n }\r\n }\r\n if (extraAttrs.length) {\r\n warn(`Extraneous non-props attributes (` +\r\n `${extraAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes.`);\r\n }\r\n if (eventAttrs.length) {\r\n warn(`Extraneous non-emits event listeners (` +\r\n `${eventAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes. ` +\r\n `If the listener is intended to be a component custom event listener only, ` +\r\n `declare it using the \"emits\" option.`);\r\n }\r\n }\r\n }\r\n }\r\n // inherit directives\r\n if (vnode.dirs) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Runtime directive used on component with non-element root node. ` +\r\n `The directives will not function as intended.`);\r\n }\r\n // clone before mutating since the root may be a hoisted vnode\r\n root = cloneVNode(root);\r\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\r\n }\r\n // inherit transition data\r\n if (vnode.transition) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Component inside renders non-element root node ` +\r\n `that cannot be animated.`);\r\n }\r\n root.transition = vnode.transition;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\r\n setRoot(root);\r\n }\r\n else {\r\n result = root;\r\n }\r\n setCurrentRenderingInstance(prev);\r\n return result;\r\n}\r\n/**\r\n * dev only\r\n * In dev mode, template root level comments are rendered, which turns the\r\n * template into a fragment root, but we need to locate the single element\r\n * root for attrs and scope id processing.\r\n */\r\nconst getChildRoot = (vnode) => {\r\n const rawChildren = vnode.children;\r\n const dynamicChildren = vnode.dynamicChildren;\r\n const childRoot = filterSingleRoot(rawChildren);\r\n if (!childRoot) {\r\n return [vnode, undefined];\r\n }\r\n const index = rawChildren.indexOf(childRoot);\r\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\r\n const setRoot = (updatedRoot) => {\r\n rawChildren[index] = updatedRoot;\r\n if (dynamicChildren) {\r\n if (dynamicIndex > -1) {\r\n dynamicChildren[dynamicIndex] = updatedRoot;\r\n }\r\n else if (updatedRoot.patchFlag > 0) {\r\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\r\n }\r\n }\r\n };\r\n return [normalizeVNode(childRoot), setRoot];\r\n};\r\nfunction filterSingleRoot(children) {\r\n let singleRoot;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n if (isVNode(child)) {\r\n // ignore user comment\r\n if (child.type !== Comment || child.children === 'v-if') {\r\n if (singleRoot) {\r\n // has more than 1 non-comment child, return now\r\n return;\r\n }\r\n else {\r\n singleRoot = child;\r\n }\r\n }\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n return singleRoot;\r\n}\r\nconst getFunctionalFallthrough = (attrs) => {\r\n let res;\r\n for (const key in attrs) {\r\n if (key === 'class' || key === 'style' || isOn(key)) {\r\n (res || (res = {}))[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst filterModelListeners = (attrs, props) => {\r\n const res = {};\r\n for (const key in attrs) {\r\n if (!isModelListener(key) || !(key.slice(9) in props)) {\r\n res[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst isElementRoot = (vnode) => {\r\n return (vnode.shapeFlag & (6 /* COMPONENT */ | 1 /* ELEMENT */) ||\r\n vnode.type === Comment // potential v-if branch switch\r\n );\r\n};\r\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\r\n const { props: prevProps, children: prevChildren, component } = prevVNode;\r\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\r\n const emits = component.emitsOptions;\r\n // Parent component's render function was hot-updated. Since this may have\r\n // caused the child component's slots content to have changed, we need to\r\n // force the child to update as well.\r\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\r\n return true;\r\n }\r\n // force child update for runtime directive or transition on component vnode.\r\n if (nextVNode.dirs || nextVNode.transition) {\r\n return true;\r\n }\r\n if (optimized && patchFlag >= 0) {\r\n if (patchFlag & 1024 /* DYNAMIC_SLOTS */) {\r\n // slot content that references values that might have changed,\r\n // e.g. in a v-for\r\n return true;\r\n }\r\n if (patchFlag & 16 /* FULL_PROPS */) {\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n // presence of this flag indicates props are always non-null\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n else if (patchFlag & 8 /* PROPS */) {\r\n const dynamicProps = nextVNode.dynamicProps;\r\n for (let i = 0; i < dynamicProps.length; i++) {\r\n const key = dynamicProps[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emits, key)) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // this path is only taken by manually written render functions\r\n // so presence of any children leads to a forced update\r\n if (prevChildren || nextChildren) {\r\n if (!nextChildren || !nextChildren.$stable) {\r\n return true;\r\n }\r\n }\r\n if (prevProps === nextProps) {\r\n return false;\r\n }\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n if (!nextProps) {\r\n return true;\r\n }\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n return false;\r\n}\r\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\r\n const nextKeys = Object.keys(nextProps);\r\n if (nextKeys.length !== Object.keys(prevProps).length) {\r\n return true;\r\n }\r\n for (let i = 0; i < nextKeys.length; i++) {\r\n const key = nextKeys[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emitsOptions, key)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\r\n) {\r\n while (parent && parent.subTree === vnode) {\r\n (vnode = parent.vnode).el = el;\r\n parent = parent.parent;\r\n }\r\n}\n\nconst isSuspense = (type) => type.__isSuspense;\r\n// Suspense exposes a component-like API, and is treated like a component\r\n// in the compiler, but internally it's a special built-in type that hooks\r\n// directly into the renderer.\r\nconst SuspenseImpl = {\r\n name: 'Suspense',\r\n // In order to make Suspense tree-shakable, we need to avoid importing it\r\n // directly in the renderer. The renderer checks for the __isSuspense flag\r\n // on a vnode's type and calls the `process` method, passing in renderer\r\n // internals.\r\n __isSuspense: true,\r\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \r\n // platform-specific impl passed from renderer\r\n rendererInternals) {\r\n if (n1 == null) {\r\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n else {\r\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n },\r\n hydrate: hydrateSuspense,\r\n create: createSuspenseBoundary,\r\n normalize: normalizeSuspenseChildren\r\n};\r\n// Force-casted public typing for h and TSX props inference\r\nconst Suspense = (SuspenseImpl );\r\nfunction triggerEvent(vnode, name) {\r\n const eventListener = vnode.props && vnode.props[name];\r\n if (isFunction(eventListener)) {\r\n eventListener();\r\n }\r\n}\r\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\r\n const { p: patch, o: { createElement } } = rendererInternals;\r\n const hiddenContainer = createElement('div');\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\r\n // start mounting the content subtree in an off-dom container\r\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\r\n // now check if we have encountered any async deps\r\n if (suspense.deps > 0) {\r\n // has async\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onPending');\r\n triggerEvent(vnode, 'onFallback');\r\n // mount the fallback tree\r\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds);\r\n setActiveBranch(suspense, vnode.ssFallback);\r\n }\r\n else {\r\n // Suspense has no async deps. Just resolve.\r\n suspense.resolve();\r\n }\r\n}\r\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\r\n const suspense = (n2.suspense = n1.suspense);\r\n suspense.vnode = n2;\r\n n2.el = n1.el;\r\n const newBranch = n2.ssContent;\r\n const newFallback = n2.ssFallback;\r\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\r\n if (pendingBranch) {\r\n suspense.pendingBranch = newBranch;\r\n if (isSameVNodeType(newBranch, pendingBranch)) {\r\n // same root type but content may have changed.\r\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else if (isInFallback) {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else {\r\n // toggled before pending tree is resolved\r\n suspense.pendingId++;\r\n if (isHydrating) {\r\n // if toggled before hydration is finished, the current DOM tree is\r\n // no longer valid. set it as the active branch so it will be unmounted\r\n // when resolved\r\n suspense.isHydrating = false;\r\n suspense.activeBranch = pendingBranch;\r\n }\r\n else {\r\n unmount(pendingBranch, parentComponent, suspense);\r\n }\r\n // increment pending ID. this is used to invalidate async callbacks\r\n // reset suspense state\r\n suspense.deps = 0;\r\n // discard effects from pending branch\r\n suspense.effects.length = 0;\r\n // discard previous container\r\n suspense.hiddenContainer = createElement('div');\r\n if (isInFallback) {\r\n // already in fallback state\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // toggled \"back\" to current active branch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n // force resolve\r\n suspense.resolve(true);\r\n }\r\n else {\r\n // switched to a 3rd branch\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // root did not change, just normal patch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newBranch);\r\n }\r\n else {\r\n // root node toggled\r\n // invoke @pending event\r\n triggerEvent(n2, 'onPending');\r\n // mount pending branch in off-dom container\r\n suspense.pendingBranch = newBranch;\r\n suspense.pendingId++;\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n // incoming branch has no async deps, resolve now.\r\n suspense.resolve();\r\n }\r\n else {\r\n const { timeout, pendingId } = suspense;\r\n if (timeout > 0) {\r\n setTimeout(() => {\r\n if (suspense.pendingId === pendingId) {\r\n suspense.fallback(newFallback);\r\n }\r\n }, timeout);\r\n }\r\n else if (timeout === 0) {\r\n suspense.fallback(newFallback);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nlet hasWarned = false;\r\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\r\n /* istanbul ignore if */\r\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\r\n hasWarned = true;\r\n // @ts-ignore `console.info` cannot be null error\r\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\r\n }\r\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\r\n const timeout = toNumber(vnode.props && vnode.props.timeout);\r\n const suspense = {\r\n vnode,\r\n parent,\r\n parentComponent,\r\n isSVG,\r\n container,\r\n hiddenContainer,\r\n anchor,\r\n deps: 0,\r\n pendingId: 0,\r\n timeout: typeof timeout === 'number' ? timeout : -1,\r\n activeBranch: null,\r\n pendingBranch: null,\r\n isInFallback: true,\r\n isHydrating,\r\n isUnmounted: false,\r\n effects: [],\r\n resolve(resume = false) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (!resume && !suspense.pendingBranch) {\r\n throw new Error(`suspense.resolve() is called without a pending branch.`);\r\n }\r\n if (suspense.isUnmounted) {\r\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\r\n }\r\n }\r\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\r\n if (suspense.isHydrating) {\r\n suspense.isHydrating = false;\r\n }\r\n else if (!resume) {\r\n const delayEnter = activeBranch &&\r\n pendingBranch.transition &&\r\n pendingBranch.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = () => {\r\n if (pendingId === suspense.pendingId) {\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n };\r\n }\r\n // this is initial anchor on mount\r\n let { anchor } = suspense;\r\n // unmount current active tree\r\n if (activeBranch) {\r\n // if the fallback tree was mounted, it may have been moved\r\n // as part of a parent suspense. get the latest anchor for insertion\r\n anchor = next(activeBranch);\r\n unmount(activeBranch, parentComponent, suspense, true);\r\n }\r\n if (!delayEnter) {\r\n // move content from off-dom container to actual container\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n }\r\n setActiveBranch(suspense, pendingBranch);\r\n suspense.pendingBranch = null;\r\n suspense.isInFallback = false;\r\n // flush buffered effects\r\n // check if there is a pending parent suspense\r\n let parent = suspense.parent;\r\n let hasUnresolvedAncestor = false;\r\n while (parent) {\r\n if (parent.pendingBranch) {\r\n // found a pending parent suspense, merge buffered post jobs\r\n // into that parent\r\n parent.effects.push(...effects);\r\n hasUnresolvedAncestor = true;\r\n break;\r\n }\r\n parent = parent.parent;\r\n }\r\n // no pending parent suspense, flush all jobs\r\n if (!hasUnresolvedAncestor) {\r\n queuePostFlushCb(effects);\r\n }\r\n suspense.effects = [];\r\n // invoke @resolve event\r\n triggerEvent(vnode, 'onResolve');\r\n },\r\n fallback(fallbackVNode) {\r\n if (!suspense.pendingBranch) {\r\n return;\r\n }\r\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onFallback');\r\n const anchor = next(activeBranch);\r\n const mountFallback = () => {\r\n if (!suspense.isInFallback) {\r\n return;\r\n }\r\n // mount the fallback tree\r\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, fallbackVNode);\r\n };\r\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = mountFallback;\r\n }\r\n suspense.isInFallback = true;\r\n // unmount current active branch\r\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\r\n true // shouldRemove\r\n );\r\n if (!delayEnter) {\r\n mountFallback();\r\n }\r\n },\r\n move(container, anchor, type) {\r\n suspense.activeBranch &&\r\n move(suspense.activeBranch, container, anchor, type);\r\n suspense.container = container;\r\n },\r\n next() {\r\n return suspense.activeBranch && next(suspense.activeBranch);\r\n },\r\n registerDep(instance, setupRenderEffect) {\r\n const isInPendingSuspense = !!suspense.pendingBranch;\r\n if (isInPendingSuspense) {\r\n suspense.deps++;\r\n }\r\n const hydratedEl = instance.vnode.el;\r\n instance\r\n .asyncDep.catch(err => {\r\n handleError(err, instance, 0 /* SETUP_FUNCTION */);\r\n })\r\n .then(asyncSetupResult => {\r\n // retry when the setup() promise resolves.\r\n // component may have been unmounted before resolve.\r\n if (instance.isUnmounted ||\r\n suspense.isUnmounted ||\r\n suspense.pendingId !== instance.suspenseId) {\r\n return;\r\n }\r\n // retry from this component\r\n instance.asyncResolved = true;\r\n const { vnode } = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n pushWarningContext(vnode);\r\n }\r\n handleSetupResult(instance, asyncSetupResult, false);\r\n if (hydratedEl) {\r\n // vnode may have been replaced if an update happened before the\r\n // async dep is resolved.\r\n vnode.el = hydratedEl;\r\n }\r\n const placeholder = !hydratedEl && instance.subTree.el;\r\n setupRenderEffect(instance, vnode, \r\n // component may have been moved before resolve.\r\n // if this is not a hydration, instance.subTree will be the comment\r\n // placeholder.\r\n parentNode(hydratedEl || instance.subTree.el), \r\n // anchor will not be used if this is hydration, so only need to\r\n // consider the comment placeholder case.\r\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\r\n if (placeholder) {\r\n remove(placeholder);\r\n }\r\n updateHOCHostEl(instance, vnode.el);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n popWarningContext();\r\n }\r\n // only decrease deps count if suspense is not already resolved\r\n if (isInPendingSuspense && --suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n });\r\n },\r\n unmount(parentSuspense, doRemove) {\r\n suspense.isUnmounted = true;\r\n if (suspense.activeBranch) {\r\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n if (suspense.pendingBranch) {\r\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n }\r\n };\r\n return suspense;\r\n}\r\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\r\n /* eslint-disable no-restricted-globals */\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\r\n // there are two possible scenarios for server-rendered suspense:\r\n // - success: ssr content should be fully resolved\r\n // - failure: ssr content should be the fallback branch.\r\n // however, on the client we don't really know if it has failed or not\r\n // attempt to hydrate the DOM assuming it has succeeded, but we still\r\n // need to construct a suspense boundary first\r\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\r\n if (suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n return result;\r\n /* eslint-enable no-restricted-globals */\r\n}\r\nfunction normalizeSuspenseChildren(vnode) {\r\n const { shapeFlag, children } = vnode;\r\n const isSlotChildren = shapeFlag & 32 /* SLOTS_CHILDREN */;\r\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\r\n vnode.ssFallback = isSlotChildren\r\n ? normalizeSuspenseSlot(children.fallback)\r\n : createVNode(Comment);\r\n}\r\nfunction normalizeSuspenseSlot(s) {\r\n let block;\r\n if (isFunction(s)) {\r\n const trackBlock = isBlockTreeEnabled && s._c;\r\n if (trackBlock) {\r\n // disableTracking: false\r\n // allow block tracking for compiled slots\r\n // (see ./componentRenderContext.ts)\r\n s._d = false;\r\n openBlock();\r\n }\r\n s = s();\r\n if (trackBlock) {\r\n s._d = true;\r\n block = currentBlock;\r\n closeBlock();\r\n }\r\n }\r\n if (isArray(s)) {\r\n const singleChild = filterSingleRoot(s);\r\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\r\n warn(` slots expect a single root node.`);\r\n }\r\n s = singleChild;\r\n }\r\n s = normalizeVNode(s);\r\n if (block && !s.dynamicChildren) {\r\n s.dynamicChildren = block.filter(c => c !== s);\r\n }\r\n return s;\r\n}\r\nfunction queueEffectWithSuspense(fn, suspense) {\r\n if (suspense && suspense.pendingBranch) {\r\n if (isArray(fn)) {\r\n suspense.effects.push(...fn);\r\n }\r\n else {\r\n suspense.effects.push(fn);\r\n }\r\n }\r\n else {\r\n queuePostFlushCb(fn);\r\n }\r\n}\r\nfunction setActiveBranch(suspense, branch) {\r\n suspense.activeBranch = branch;\r\n const { vnode, parentComponent } = suspense;\r\n const el = (vnode.el = branch.el);\r\n // in case suspense is the root node of a component,\r\n // recursively update the HOC el\r\n if (parentComponent && parentComponent.subTree === vnode) {\r\n parentComponent.vnode.el = el;\r\n updateHOCHostEl(parentComponent, el);\r\n }\r\n}\n\nfunction provide(key, value) {\r\n if (!currentInstance) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`provide() can only be used inside setup().`);\r\n }\r\n }\r\n else {\r\n let provides = currentInstance.provides;\r\n // by default an instance inherits its parent's provides object\r\n // but when it needs to provide values of its own, it creates its\r\n // own provides object using parent provides object as prototype.\r\n // this way in `inject` we can simply look up injections from direct\r\n // parent and let the prototype chain do the work.\r\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\r\n if (parentProvides === provides) {\r\n provides = currentInstance.provides = Object.create(parentProvides);\r\n }\r\n // TS doesn't allow symbol as index type\r\n provides[key] = value;\r\n }\r\n}\r\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\r\n // fallback to `currentRenderingInstance` so that this can be called in\r\n // a functional component\r\n const instance = currentInstance || currentRenderingInstance;\r\n if (instance) {\r\n // #2400\r\n // to support `app.use` plugins,\r\n // fallback to appContext's `provides` if the instance is at root\r\n const provides = instance.parent == null\r\n ? instance.vnode.appContext && instance.vnode.appContext.provides\r\n : instance.parent.provides;\r\n if (provides && key in provides) {\r\n // TS doesn't allow symbol as index type\r\n return provides[key];\r\n }\r\n else if (arguments.length > 1) {\r\n return treatDefaultAsFactory && isFunction(defaultValue)\r\n ? defaultValue.call(instance.proxy)\r\n : defaultValue;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`injection \"${String(key)}\" not found.`);\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`inject() can only be used inside setup() or functional components.`);\r\n }\r\n}\n\n// Simple effect.\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\nfunction watchPostEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'post' }) : { flush: 'post' }));\r\n}\r\nfunction watchSyncEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));\r\n}\r\n// initial value for watchers to trigger on undefined initial values\r\nconst INITIAL_WATCHER_VALUE = {};\r\n// implementation\r\nfunction watch(source, cb, options) {\r\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\r\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\r\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\r\n `supports \\`watch(source, cb, options?) signature.`);\r\n }\r\n return doWatch(source, cb, options);\r\n}\r\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\r\n if ((process.env.NODE_ENV !== 'production') && !cb) {\r\n if (immediate !== undefined) {\r\n warn(`watch() \"immediate\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n if (deep !== undefined) {\r\n warn(`watch() \"deep\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n }\r\n const warnInvalidSource = (s) => {\r\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\r\n `a reactive object, or an array of these types.`);\r\n };\r\n const instance = currentInstance;\r\n let getter;\r\n let forceTrigger = false;\r\n let isMultiSource = false;\r\n if (isRef(source)) {\r\n getter = () => source.value;\r\n forceTrigger = isShallow$1(source);\r\n }\r\n else if (isReactive(source)) {\r\n getter = () => source;\r\n deep = true;\r\n }\r\n else if (isArray(source)) {\r\n isMultiSource = true;\r\n forceTrigger = source.some(s => isReactive(s) || isShallow$1(s));\r\n getter = () => source.map(s => {\r\n if (isRef(s)) {\r\n return s.value;\r\n }\r\n else if (isReactive(s)) {\r\n return traverse(s);\r\n }\r\n else if (isFunction(s)) {\r\n return callWithErrorHandling(s, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\r\n }\r\n });\r\n }\r\n else if (isFunction(source)) {\r\n if (cb) {\r\n // getter with cb\r\n getter = () => callWithErrorHandling(source, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n // no cb -> simple effect\r\n getter = () => {\r\n if (instance && instance.isUnmounted) {\r\n return;\r\n }\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n return callWithAsyncErrorHandling(source, instance, 3 /* WATCH_CALLBACK */, [onCleanup]);\r\n };\r\n }\r\n }\r\n else {\r\n getter = NOOP;\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\r\n }\r\n if (cb && deep) {\r\n const baseGetter = getter;\r\n getter = () => traverse(baseGetter());\r\n }\r\n let cleanup;\r\n let onCleanup = (fn) => {\r\n cleanup = effect.onStop = () => {\r\n callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);\r\n };\r\n };\r\n // in SSR there is no need to setup an actual effect, and it should be noop\r\n // unless it's eager\r\n if (isInSSRComponentSetup) {\r\n // we will also not call the invalidate callback (+ runner is not set up)\r\n onCleanup = NOOP;\r\n if (!cb) {\r\n getter();\r\n }\r\n else if (immediate) {\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n getter(),\r\n isMultiSource ? [] : undefined,\r\n onCleanup\r\n ]);\r\n }\r\n return NOOP;\r\n }\r\n let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\r\n const job = () => {\r\n if (!effect.active) {\r\n return;\r\n }\r\n if (cb) {\r\n // watch(source, cb)\r\n const newValue = effect.run();\r\n if (deep ||\r\n forceTrigger ||\r\n (isMultiSource\r\n ? newValue.some((v, i) => hasChanged(v, oldValue[i]))\r\n : hasChanged(newValue, oldValue)) ||\r\n (false )) {\r\n // cleanup before running cb again\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n newValue,\r\n // pass undefined as the old value when it's changed for the first time\r\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\r\n onCleanup\r\n ]);\r\n oldValue = newValue;\r\n }\r\n }\r\n else {\r\n // watchEffect\r\n effect.run();\r\n }\r\n };\r\n // important: mark the job as a watcher callback so that scheduler knows\r\n // it is allowed to self-trigger (#1727)\r\n job.allowRecurse = !!cb;\r\n let scheduler;\r\n if (flush === 'sync') {\r\n scheduler = job; // the scheduler function gets called directly\r\n }\r\n else if (flush === 'post') {\r\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\r\n }\r\n else {\r\n // default: 'pre'\r\n scheduler = () => queuePreFlushCb(job);\r\n }\r\n const effect = new ReactiveEffect(getter, scheduler);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n effect.onTrack = onTrack;\r\n effect.onTrigger = onTrigger;\r\n }\r\n // initial run\r\n if (cb) {\r\n if (immediate) {\r\n job();\r\n }\r\n else {\r\n oldValue = effect.run();\r\n }\r\n }\r\n else if (flush === 'post') {\r\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\r\n }\r\n else {\r\n effect.run();\r\n }\r\n return () => {\r\n effect.stop();\r\n if (instance && instance.scope) {\r\n remove(instance.scope.effects, effect);\r\n }\r\n };\r\n}\r\n// this.$watch\r\nfunction instanceWatch(source, value, options) {\r\n const publicThis = this.proxy;\r\n const getter = isString(source)\r\n ? source.includes('.')\r\n ? createPathGetter(publicThis, source)\r\n : () => publicThis[source]\r\n : source.bind(publicThis, publicThis);\r\n let cb;\r\n if (isFunction(value)) {\r\n cb = value;\r\n }\r\n else {\r\n cb = value.handler;\r\n options = value;\r\n }\r\n const cur = currentInstance;\r\n setCurrentInstance(this);\r\n const res = doWatch(getter, cb.bind(publicThis), options);\r\n if (cur) {\r\n setCurrentInstance(cur);\r\n }\r\n else {\r\n unsetCurrentInstance();\r\n }\r\n return res;\r\n}\r\nfunction createPathGetter(ctx, path) {\r\n const segments = path.split('.');\r\n return () => {\r\n let cur = ctx;\r\n for (let i = 0; i < segments.length && cur; i++) {\r\n cur = cur[segments[i]];\r\n }\r\n return cur;\r\n };\r\n}\r\nfunction traverse(value, seen) {\r\n if (!isObject(value) || value[\"__v_skip\" /* SKIP */]) {\r\n return value;\r\n }\r\n seen = seen || new Set();\r\n if (seen.has(value)) {\r\n return value;\r\n }\r\n seen.add(value);\r\n if (isRef(value)) {\r\n traverse(value.value, seen);\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n traverse(value[i], seen);\r\n }\r\n }\r\n else if (isSet(value) || isMap(value)) {\r\n value.forEach((v) => {\r\n traverse(v, seen);\r\n });\r\n }\r\n else if (isPlainObject(value)) {\r\n for (const key in value) {\r\n traverse(value[key], seen);\r\n }\r\n }\r\n return value;\r\n}\n\nfunction useTransitionState() {\r\n const state = {\r\n isMounted: false,\r\n isLeaving: false,\r\n isUnmounting: false,\r\n leavingVNodes: new Map()\r\n };\r\n onMounted(() => {\r\n state.isMounted = true;\r\n });\r\n onBeforeUnmount(() => {\r\n state.isUnmounting = true;\r\n });\r\n return state;\r\n}\r\nconst TransitionHookValidator = [Function, Array];\r\nconst BaseTransitionImpl = {\r\n name: `BaseTransition`,\r\n props: {\r\n mode: String,\r\n appear: Boolean,\r\n persisted: Boolean,\r\n // enter\r\n onBeforeEnter: TransitionHookValidator,\r\n onEnter: TransitionHookValidator,\r\n onAfterEnter: TransitionHookValidator,\r\n onEnterCancelled: TransitionHookValidator,\r\n // leave\r\n onBeforeLeave: TransitionHookValidator,\r\n onLeave: TransitionHookValidator,\r\n onAfterLeave: TransitionHookValidator,\r\n onLeaveCancelled: TransitionHookValidator,\r\n // appear\r\n onBeforeAppear: TransitionHookValidator,\r\n onAppear: TransitionHookValidator,\r\n onAfterAppear: TransitionHookValidator,\r\n onAppearCancelled: TransitionHookValidator\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n const state = useTransitionState();\r\n let prevTransitionKey;\r\n return () => {\r\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\r\n if (!children || !children.length) {\r\n return;\r\n }\r\n let child = children[0];\r\n if (children.length > 1) {\r\n let hasFound = false;\r\n // locate first non-comment child\r\n for (const c of children) {\r\n if (c.type !== Comment) {\r\n if ((process.env.NODE_ENV !== 'production') && hasFound) {\r\n // warn more than one non-comment child\r\n warn(' can only be used on a single element or component. ' +\r\n 'Use for lists.');\r\n break;\r\n }\r\n child = c;\r\n hasFound = true;\r\n if (!(process.env.NODE_ENV !== 'production'))\r\n break;\r\n }\r\n }\r\n }\r\n // there's no need to track reactivity for these props so use the raw\r\n // props for a bit better perf\r\n const rawProps = toRaw(props);\r\n const { mode } = rawProps;\r\n // check mode\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n mode &&\r\n mode !== 'in-out' &&\r\n mode !== 'out-in' &&\r\n mode !== 'default') {\r\n warn(`invalid mode: ${mode}`);\r\n }\r\n if (state.isLeaving) {\r\n return emptyPlaceholder(child);\r\n }\r\n // in the case of , we need to\r\n // compare the type of the kept-alive children.\r\n const innerChild = getKeepAliveChild(child);\r\n if (!innerChild) {\r\n return emptyPlaceholder(child);\r\n }\r\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\r\n setTransitionHooks(innerChild, enterHooks);\r\n const oldChild = instance.subTree;\r\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\r\n let transitionKeyChanged = false;\r\n const { getTransitionKey } = innerChild.type;\r\n if (getTransitionKey) {\r\n const key = getTransitionKey();\r\n if (prevTransitionKey === undefined) {\r\n prevTransitionKey = key;\r\n }\r\n else if (key !== prevTransitionKey) {\r\n prevTransitionKey = key;\r\n transitionKeyChanged = true;\r\n }\r\n }\r\n // handle mode\r\n if (oldInnerChild &&\r\n oldInnerChild.type !== Comment &&\r\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\r\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\r\n // update old tree's hooks in case of dynamic transition\r\n setTransitionHooks(oldInnerChild, leavingHooks);\r\n // switching between different views\r\n if (mode === 'out-in') {\r\n state.isLeaving = true;\r\n // return placeholder node and queue update when leave finishes\r\n leavingHooks.afterLeave = () => {\r\n state.isLeaving = false;\r\n instance.update();\r\n };\r\n return emptyPlaceholder(child);\r\n }\r\n else if (mode === 'in-out' && innerChild.type !== Comment) {\r\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\r\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\r\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\r\n // early removal callback\r\n el._leaveCb = () => {\r\n earlyRemove();\r\n el._leaveCb = undefined;\r\n delete enterHooks.delayedLeave;\r\n };\r\n enterHooks.delayedLeave = delayedLeave;\r\n };\r\n }\r\n }\r\n return child;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst BaseTransition = BaseTransitionImpl;\r\nfunction getLeavingNodesForType(state, vnode) {\r\n const { leavingVNodes } = state;\r\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\r\n if (!leavingVNodesCache) {\r\n leavingVNodesCache = Object.create(null);\r\n leavingVNodes.set(vnode.type, leavingVNodesCache);\r\n }\r\n return leavingVNodesCache;\r\n}\r\n// The transition hooks are attached to the vnode as vnode.transition\r\n// and will be called at appropriate timing in the renderer.\r\nfunction resolveTransitionHooks(vnode, props, state, instance) {\r\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\r\n const key = String(vnode.key);\r\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\r\n const callHook = (hook, args) => {\r\n hook &&\r\n callWithAsyncErrorHandling(hook, instance, 9 /* TRANSITION_HOOK */, args);\r\n };\r\n const callAsyncHook = (hook, args) => {\r\n const done = args[1];\r\n callHook(hook, args);\r\n if (isArray(hook)) {\r\n if (hook.every(hook => hook.length <= 1))\r\n done();\r\n }\r\n else if (hook.length <= 1) {\r\n done();\r\n }\r\n };\r\n const hooks = {\r\n mode,\r\n persisted,\r\n beforeEnter(el) {\r\n let hook = onBeforeEnter;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onBeforeAppear || onBeforeEnter;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n // for same element (v-show)\r\n if (el._leaveCb) {\r\n el._leaveCb(true /* cancelled */);\r\n }\r\n // for toggled element with same key (v-if)\r\n const leavingVNode = leavingVNodesCache[key];\r\n if (leavingVNode &&\r\n isSameVNodeType(vnode, leavingVNode) &&\r\n leavingVNode.el._leaveCb) {\r\n // force early removal (not cancelled)\r\n leavingVNode.el._leaveCb();\r\n }\r\n callHook(hook, [el]);\r\n },\r\n enter(el) {\r\n let hook = onEnter;\r\n let afterHook = onAfterEnter;\r\n let cancelHook = onEnterCancelled;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onAppear || onEnter;\r\n afterHook = onAfterAppear || onAfterEnter;\r\n cancelHook = onAppearCancelled || onEnterCancelled;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n let called = false;\r\n const done = (el._enterCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n if (cancelled) {\r\n callHook(cancelHook, [el]);\r\n }\r\n else {\r\n callHook(afterHook, [el]);\r\n }\r\n if (hooks.delayedLeave) {\r\n hooks.delayedLeave();\r\n }\r\n el._enterCb = undefined;\r\n });\r\n if (hook) {\r\n callAsyncHook(hook, [el, done]);\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n leave(el, remove) {\r\n const key = String(vnode.key);\r\n if (el._enterCb) {\r\n el._enterCb(true /* cancelled */);\r\n }\r\n if (state.isUnmounting) {\r\n return remove();\r\n }\r\n callHook(onBeforeLeave, [el]);\r\n let called = false;\r\n const done = (el._leaveCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n remove();\r\n if (cancelled) {\r\n callHook(onLeaveCancelled, [el]);\r\n }\r\n else {\r\n callHook(onAfterLeave, [el]);\r\n }\r\n el._leaveCb = undefined;\r\n if (leavingVNodesCache[key] === vnode) {\r\n delete leavingVNodesCache[key];\r\n }\r\n });\r\n leavingVNodesCache[key] = vnode;\r\n if (onLeave) {\r\n callAsyncHook(onLeave, [el, done]);\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n clone(vnode) {\r\n return resolveTransitionHooks(vnode, props, state, instance);\r\n }\r\n };\r\n return hooks;\r\n}\r\n// the placeholder really only handles one special case: KeepAlive\r\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\r\n// placeholder with empty content to avoid the KeepAlive instance from being\r\n// unmounted.\r\nfunction emptyPlaceholder(vnode) {\r\n if (isKeepAlive(vnode)) {\r\n vnode = cloneVNode(vnode);\r\n vnode.children = null;\r\n return vnode;\r\n }\r\n}\r\nfunction getKeepAliveChild(vnode) {\r\n return isKeepAlive(vnode)\r\n ? vnode.children\r\n ? vnode.children[0]\r\n : undefined\r\n : vnode;\r\n}\r\nfunction setTransitionHooks(vnode, hooks) {\r\n if (vnode.shapeFlag & 6 /* COMPONENT */ && vnode.component) {\r\n setTransitionHooks(vnode.component.subTree, hooks);\r\n }\r\n else if (vnode.shapeFlag & 128 /* SUSPENSE */) {\r\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\r\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\r\n }\r\n else {\r\n vnode.transition = hooks;\r\n }\r\n}\r\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\r\n let ret = [];\r\n let keyedFragmentCount = 0;\r\n for (let i = 0; i < children.length; i++) {\r\n let child = children[i];\r\n // #5360 inherit parent key in case of