{"version":3,"sources":["webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/qrcode/lib/core/byte-data.js","webpack:///./node_modules/qrcode/lib/core/regex.js","webpack:///./node_modules/core-js/internals/symbol-constructor-detection.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/get-substitution.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/dijkstrajs/dijkstra.js","webpack:///./node_modules/core-js/internals/make-built-in.js","webpack:///./node_modules/core-js/modules/es.array.push.js","webpack:///./node_modules/core-js/internals/is-callable.js","webpack:///./node_modules/core-js/internals/has-own-property.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/file-saver/dist/FileSaver.min.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/dom7/dom7.esm.js","webpack:///./node_modules/swiper/esm/utils/dom.js","webpack:///./node_modules/qrcode/lib/core/polynomial.js","webpack:///./node_modules/qrcode/lib/core/version-check.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/qrcode/lib/core/kanji-data.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/qrcode/lib/core/error-correction-code.js","webpack:///./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/core-js/internals/array-set-length.js","webpack:///./node_modules/core-js/internals/object-is-prototype-of.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/qrcode/lib/renderer/svg-tag.js","webpack:///./node_modules/core-js/internals/function-bind-native.js","webpack:///./node_modules/qrcode/lib/renderer/canvas.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/is-regexp.js","webpack:///./node_modules/qrcode/lib/renderer/utils.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/axios/lib/core/mergeConfig.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/vue-clipboard2/vue-clipboard.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/swiper/esm/vue/utils.js","webpack:///./node_modules/vuex/dist/vuex.esm-browser.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/qrcode/lib/core/bit-matrix.js","webpack:///./node_modules/encode-utf8/index.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/modules/es.string.replace-all.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/axios/lib/env/data.js","webpack:///./node_modules/swiper/esm/components/pagination/pagination.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/vue-router/dist/vue-router.mjs","webpack:///./node_modules/qrcode/lib/can-promise.js","webpack:///./node_modules/clipboard/dist/clipboard.min.js","webpack:///./node_modules/qrcode/lib/core/galois-field.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/vue-loader-v16/dist/exportHelper.js","webpack:///./node_modules/vue-tel-input/dist/vue-tel-input.es.js","webpack:///./node_modules/swiper/esm/utils/get-support.js","webpack:///./node_modules/swiper/esm/utils/get-device.js","webpack:///./node_modules/swiper/esm/utils/get-browser.js","webpack:///./node_modules/swiper/esm/modules/resize/resize.js","webpack:///./node_modules/swiper/esm/modules/observer/observer.js","webpack:///./node_modules/swiper/esm/components/core/modular.js","webpack:///./node_modules/swiper/esm/components/core/events-emitter.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSize.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlides.js","webpack:///./node_modules/swiper/esm/components/core/update/updateAutoHeight.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlidesOffset.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlidesProgress.js","webpack:///./node_modules/swiper/esm/components/core/update/updateProgress.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlidesClasses.js","webpack:///./node_modules/swiper/esm/components/core/update/updateActiveIndex.js","webpack:///./node_modules/swiper/esm/components/core/update/updateClickedSlide.js","webpack:///./node_modules/swiper/esm/components/core/update/index.js","webpack:///./node_modules/swiper/esm/components/core/translate/getTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/setTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/minTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/maxTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/translateTo.js","webpack:///./node_modules/swiper/esm/components/core/translate/index.js","webpack:///./node_modules/swiper/esm/components/core/transition/setTransition.js","webpack:///./node_modules/swiper/esm/components/core/transition/transitionStart.js","webpack:///./node_modules/swiper/esm/components/core/transition/transitionEnd.js","webpack:///./node_modules/swiper/esm/components/core/transition/index.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideTo.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideToLoop.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideNext.js","webpack:///./node_modules/swiper/esm/components/core/slide/slidePrev.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideReset.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideToClosest.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideToClickedSlide.js","webpack:///./node_modules/swiper/esm/components/core/slide/index.js","webpack:///./node_modules/swiper/esm/components/core/loop/loopCreate.js","webpack:///./node_modules/swiper/esm/components/core/loop/loopFix.js","webpack:///./node_modules/swiper/esm/components/core/loop/loopDestroy.js","webpack:///./node_modules/swiper/esm/components/core/loop/index.js","webpack:///./node_modules/swiper/esm/components/core/grab-cursor/setGrabCursor.js","webpack:///./node_modules/swiper/esm/components/core/grab-cursor/unsetGrabCursor.js","webpack:///./node_modules/swiper/esm/components/core/grab-cursor/index.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/appendSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/prependSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/addSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/removeSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/removeAllSlides.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/index.js","webpack:///./node_modules/swiper/esm/components/core/events/onTouchStart.js","webpack:///./node_modules/swiper/esm/components/core/events/onTouchMove.js","webpack:///./node_modules/swiper/esm/components/core/events/onTouchEnd.js","webpack:///./node_modules/swiper/esm/components/core/events/onResize.js","webpack:///./node_modules/swiper/esm/components/core/events/onClick.js","webpack:///./node_modules/swiper/esm/components/core/events/onScroll.js","webpack:///./node_modules/swiper/esm/components/core/events/index.js","webpack:///./node_modules/swiper/esm/components/core/breakpoints/setBreakpoint.js","webpack:///./node_modules/swiper/esm/components/core/breakpoints/getBreakpoint.js","webpack:///./node_modules/swiper/esm/components/core/breakpoints/index.js","webpack:///./node_modules/swiper/esm/components/core/classes/addClasses.js","webpack:///./node_modules/swiper/esm/components/core/classes/removeClasses.js","webpack:///./node_modules/swiper/esm/components/core/classes/index.js","webpack:///./node_modules/swiper/esm/components/core/images/loadImage.js","webpack:///./node_modules/swiper/esm/components/core/images/preloadImages.js","webpack:///./node_modules/swiper/esm/components/core/images/index.js","webpack:///./node_modules/swiper/esm/components/core/check-overflow/index.js","webpack:///./node_modules/swiper/esm/components/core/defaults.js","webpack:///./node_modules/swiper/esm/components/core/core-class.js","webpack:///./node_modules/swiper/esm/utils/utils.js","webpack:///./node_modules/core-js/internals/is-null-or-undefined.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/swiper/esm/components/effect-coverflow/effect-coverflow.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/qrcode/lib/core/mask-pattern.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/qrcode/lib/core/error-correction-level.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/@popperjs/core/lib/enums.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack:///./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/math.js","webpack:///./node_modules/@popperjs/core/lib/utils/userAgent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack:///./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/within.js","webpack:///./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack:///./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack:///./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack:///./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack:///./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack:///./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack:///./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack:///./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack:///./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack:///./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack:///./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack:///./node_modules/@popperjs/core/lib/utils/debounce.js","webpack:///./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack:///./node_modules/@popperjs/core/lib/createPopper.js","webpack:///./node_modules/@popperjs/core/lib/popper.js","webpack:///./node_modules/@popperjs/core/lib/popper-lite.js","webpack:///./node_modules/bootstrap/dist/js/bootstrap.esm.js","webpack:///./node_modules/qrcode/lib/core/bit-buffer.js","webpack:///./node_modules/qrcode/lib/core/utils.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/swiper/esm/components/navigation/navigation.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/js-cookie/dist/js.cookie.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/qrcode/lib/core/reed-solomon-encoder.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/core-js/internals/document-all.js","webpack:///./node_modules/vue-loading-overlay/dist/vue-loading.min.js","webpack:///./node_modules/core-js/internals/regexp-get-flags.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/swiper/esm/vue/params-list.js","webpack:///./node_modules/swiper/esm/vue/get-params.js","webpack:///./node_modules/swiper/esm/vue/init-swiper.js","webpack:///./node_modules/swiper/esm/vue/loop.js","webpack:///./node_modules/swiper/esm/vue/get-changed-params.js","webpack:///./node_modules/swiper/esm/vue/get-children.js","webpack:///./node_modules/swiper/esm/vue/update-swiper.js","webpack:///./node_modules/swiper/esm/vue/virtual.js","webpack:///./node_modules/swiper/esm/vue/swiper.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/qrcode/lib/core/finder-pattern.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/qrcode/lib/core/format-info.js","webpack:///./node_modules/vue-qrcode/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/vue-qrcode/lib/index.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/qrcode/lib/core/alphanumeric-data.js","webpack:///./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack:///./node_modules/core-js/internals/to-property-key.js","webpack:///./node_modules/swiper/esm/vue/swiper-slide.js","webpack:///./node_modules/qrcode/lib/core/qrcode.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/env.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/core-js/internals/v8-prototype-define-bug.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/qrcode/lib/core/mode.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/qrcode/lib/core/segments.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/html2canvas/dist/html2canvas.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/vue3-marquee/dist/vue3-marquee.es.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/qrcode/lib/core/version.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/vue-lazyload/vue-lazyload.esm.js","webpack:///./node_modules/core-js/internals/define-built-in.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/weak-map-basic-detection.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/qrcode/lib/browser.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/swiper/esm/components/autoplay/autoplay.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/qrcode/lib/core/alignment-pattern.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/core-js/internals/is-symbol.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/get-method.js","webpack:///./node_modules/qrcode/lib/core/numeric-data.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/core-js/internals/function-uncurry-this.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/is-array.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/@intlify/shared/dist/shared.esm-bundler.js","webpack:///./node_modules/vue-sweetalert2/dist/vue-sweetalert.umd.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/ssr-window/ssr-window.esm.js"],"names":["wellKnownSymbol","TO_STRING_TAG","test","module","exports","String","encodeUtf8","Mode","ByteData","data","this","mode","BYTE","Uint8Array","getBitsLength","length","prototype","getLength","write","bitBuffer","i","l","put","numeric","alphanumeric","kanji","replace","byte","KANJI","RegExp","BYTE_KANJI","NUMERIC","ALPHANUMERIC","TEST_KANJI","TEST_NUMERIC","TEST_ALPHANUMERIC","testKanji","str","testNumeric","testAlphanumeric","V8_VERSION","fails","Object","getOwnPropertySymbols","symbol","Symbol","sham","DESCRIPTORS","call","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPropertyKey","hasOwn","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","getOwnPropertyDescriptor","f","O","P","error","toLength","obj","utils","buildURL","InterceptorManager","dispatchRequest","mergeConfig","validator","validators","Axios","instanceConfig","defaults","interceptors","request","response","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","uncurryThis","toObject","floor","Math","charAt","stringSlice","slice","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","matched","position","captures","namedCaptures","replacement","tailPos","m","symbols","match","ch","capture","n","createElement","defineProperty","get","a","$String","argument","callback","arr","dijkstra","single_source_shortest_paths","graph","s","d","predecessors","costs","closest","u","v","cost_of_s_to_u","adjacent_nodes","cost_of_e","cost_of_s_to_u_plus_cost_of_e","cost_of_s_to_v","first_visit","open","PriorityQueue","make","empty","pop","value","cost","hasOwnProperty","msg","join","Error","extract_shortest_path_from_predecessor_list","nodes","reverse","find_path","opts","key","T","t","queue","sorter","default_sorter","b","item","sort","isCallable","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","inspectSource","InternalStateModule","enforceInternalState","enforce","getInternalState","CONFIGURABLE_LENGTH","TEMPLATE","split","makeBuiltIn","name","options","getter","setter","configurable","arity","constructor","writable","state","source","Function","toString","$","lengthOfArrayLike","setArrayLength","doesNotExceedSafeInteger","INCORRECT_TO_LENGTH","properErrorOnNonWritableLength","TypeError","FORCED","target","proto","forced","len","argCount","$documentAll","documentAll","all","IS_HTMLDDA","it","fn","thisArg","args","isNullOrUndefined","$TypeError","autoBom","console","warn","type","Blob","c","XMLHttpRequest","responseType","onload","g","onerror","send","status","e","dispatchEvent","MouseEvent","document","createEvent","initMouseEvent","window","self","global","navigator","userAgent","saveAs","HTMLAnchorElement","h","URL","webkitURL","j","download","rel","href","origin","location","createObjectURL","setTimeout","revokeObjectURL","msSaveOrOpenBlob","title","body","innerText","HTMLElement","safari","FileReader","k","onloadend","result","readAsDataURL","toIntegerOrInfinity","max","min","index","integer","createNonEnumerableProperty","defineBuiltIn","defineGlobalProperty","copyConstructorProperties","isForced","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","internalObjectKeys","enumBugKeys","hiddenKeys","getOwnPropertyNames","normalizeHeaderName","enhanceError","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","isUndefined","getDefaultAdapter","adapter","process","stringifySafely","rawValue","parser","encoder","isString","JSON","parse","trim","stringify","transformRequest","isFormData","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","transformResponse","strictJSONParsing","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","merge","_inheritsLoose","subClass","superClass","create","__proto__","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","_setPrototypeOf","p","_isNativeReflectConstruct","Reflect","construct","Proxy","Date","_construct","Parent","Class","Constructor","bind","instance","_isNativeFunction","indexOf","_wrapNativeSuper","_cache","Map","has","set","Wrapper","enumerable","_assertThisInitialized","ReferenceError","makeReactive","Dom7","_Array","items","_this","arrayFlat","res","el","isArray","arrayFilter","filter","arrayUnique","uniqueArray","qsa","selector","context","querySelectorAll","html","toCreate","tempParent","innerHTML","childNodes","nodeType","addClass","_len","classes","_key","classNames","map","_el$classList","classList","add","removeClass","_len2","_key2","_el$classList2","remove","toggleClass","_len3","_key3","className","toggle","hasClass","_len4","_key4","contains","attr","attrs","getAttribute","setAttribute","attrName","removeAttr","removeAttribute","transform","style","transition","duration","transitionDuration","on","_len5","_key5","eventType","targetSelector","listener","handleLiveEvent","eventData","dom7EventData","is","_parents","parents","handleEvent","events","_event","dom7LiveListeners","proxyListener","addEventListener","event","dom7Listeners","off","_len6","_key6","handlers","handler","dom7proxy","removeEventListener","splice","trigger","_len9","_key9","CustomEvent","evt","detail","bubbles","cancelable","dataIndex","transitionEnd","dom","fireCallBack","includeMargins","_styles","styles","offsetWidth","parseFloat","getPropertyValue","_styles2","offsetHeight","offset","box","getBoundingClientRect","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","getComputedStyle","css","props","_prop","each","text","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","child","previousSibling","eq","returnIndex","append","newChild","tempDiv","firstChild","appendChild","prepend","insertBefore","next","nextElementSibling","nextAll","nextEls","_next","prev","previousElementSibling","prevAll","prevEls","_prev","parentNode","_parent","find","foundElements","found","children","removeChild","noTrigger","shortcut","eventHandler","Methods","outerWidth","outerHeight","parent","keys","methodName","GF","mul","p1","p2","coeff","mod","divident","divisor","generateECPolynomial","degree","poly","exp","isValid","version","isNaN","Deno","versions","v8","message","code","__CANCEL__","Utils","KanjiData","toSJIS","encode","val","encodeURIComponent","serializedParams","parts","isDate","toISOString","hashmarkIndex","ECLevel","EC_BLOCKS_TABLE","EC_CODEWORDS_TABLE","getBlocksCount","errorCorrectionLevel","L","M","Q","H","getTotalCodewordsCount","MAX_SAFE_INTEGER","isAxiosError","toJSON","description","number","fileName","lineNumber","columnNumber","stack","isStandardBrowserEnv","originURL","msie","urlParsingNode","resolveURL","protocol","host","search","hash","hostname","port","pathname","requestURL","parsed","SILENT_ON_NON_WRITABLE_LENGTH_SET","isPrototypeOf","HOOK_SETUP","HOOK_PLUGIN_SETTINGS_SET","plugin","hook","targetQueue","onQueue","defaultSettings","settings","id","defaultValue","localSettingsSaveId","currentSettings","assign","raw","localStorage","getItem","fallbacks","setItem","pluginId","setSettings","proxiedOn","_target","prop","proxiedTarget","includes","setupDevtoolsPlugin","pluginDescriptor","setupFn","enableProxy","enableEarlyProxy","__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__","proxy","list","__VUE_DEVTOOLS_PLUGINS__","emit","getColorAttrib","color","attrib","alpha","hex","toFixed","svgCmd","cmd","x","y","qrToPath","size","margin","path","moveBy","newRow","lineLength","col","row","render","qrData","cb","getOptions","modules","qrcodesize","bg","light","dark","viewBox","width","svgTag","clearCanvas","ctx","canvas","clearRect","height","getCanvasElement","canvasEl","getContext","getImageWidth","image","createImageData","qrToImageData","putImageData","renderToDataURL","rendererOpts","toDataURL","quality","nextTick","platform","arch","execPath","pid","browser","env","argv","binding","cwd","chdir","dir","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","classof","$Object","propertyIsEnumerable","MATCH","isRegExp","hex2rgba","hexCode","hexValue","parseInt","r","scale","getScale","qrSize","imgData","qr","symbolSize","scaledMargin","palette","posDst","pxColor","iSrc","jSrc","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","SyntaxError","defaultOnError","createPosition","line","column","createLocation","start","end","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","fromCharCode","CHAR_PS","createScanner","_buf","_index","_line","_column","_peekOffset","isCRLF","isLF","isPS","isLS","isLineEnd","peekOffset","currentChar","currentPeek","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","onError","emitError","pos","err","getToken","token","getEndToken","eat","scnr","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","charCodeAt","isNumberStart","isNamedIdentifierStart","ret","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","isPluralStart","detectModuloStart","spaces","isModulo","hasSpace","isTextStart","detectModulo","takeChar","takeIdentifierChar","closure","takeDigit","takeHexDigit","getDigits","num","readModulo","readText","readNamedIdentifier","readListIdentifier","readLiteral","literal","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","fromCodePoint","createParser","tokenzer","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","parseLiteral","parseLinkedModifier","nextConsumeToken","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","modifier","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","endOffset","parsePlural","msgNode","hasEmptyMessage","cases","parseResource","createTransformer","ast","helpers","Set","helper","traverseNodes","transformer","traverseNode","linked","from","createCodeGenerator","sourceMap","filename","breakLineCode","needIndent","_needIndent","indentLevel","_newline","withBreakLine","_breakLineCode","repeat","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","generateNode","generateMessageNode","generatePluralNode","generateResource","generate","baseCompile","assignedOptions","IntlifyDevToolsHooks","I18nInit","FunctionTranslate","pathStateMachine","literalValueRE","isLiteral","stripQuotes","getPathCharType","formatSubPath","trimmed","newChar","action","typeMap","subPathDepth","actions","maybeUnescapeQuote","nextChar","cache","resolveWithKeyValue","hit","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","_modifier","modifiers","normalize","processor","interpolate","arg1","arg2","devtools","setDevToolsHook","initI18nDevTools","i18n","meta","timestamp","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","VERSION","NOT_REOSLVED","MISSING_RESOLVE_VALUE","capitalize","toLocaleUpperCase","substr","getDefaultLinkedModifiers","upper","toUpperCase","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","dateTime","startsWith","getTime","clearDateTimeFormat","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","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","getMissingHandler","setMissingHandler","wrapWithDeps","argumentParser","warnType","fallbackSuccess","fallbackFail","successCondition","root","rt","transrateVNode","numberParts","datetimeParts","setPluralRules","rules","te","getLocaleMessage","resolveMessages","targetLocaleMessages","messageValue","tm","setLocaleMessage","getDateTimeFormat","setDateTimeFormat","getNumberFormat","setNumberFormat","composer","__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","useI18n","useScope","__useComponent","assignedAttrs","isVNode","renderFormatter","slotKeys","partFormatter","DatetimeFormat","getComposer$2","i18nInternal","__getInstance","vTDirective","_process","parsedValue","parseValue","makeParams","register","__i18nWatcher","$forceUpdate","unregister","update","getSSRProps","created","unmounted","beforeUpdate","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","__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","config1","config2","getMergedValue","isPlainObject","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","fromIndex","Clipboard","VueClipboardConfig","autoSetContainer","appendToBody","VueClipboard","install","Vue","globalPrototype","$clipboardConfig","$copyText","container","fakeElement","clipboard","destroy","click","vnode","_vClipboard_success","_vClipboard_error","_vClipboard","unbind","supported","perf","isPerformanceSupported","_a","performance","perf_hooks","transformData","isCancel","Cancel","throwIfCancellationRequested","cancelToken","throwIfRequested","signal","aborted","reason","extend","noExtend","__swiper__","needsNavigation","navigation","nextEl","prevEl","needsPagination","pagination","needsScrollbar","scrollbar","uniqueClasses","unique","storeKey","forEachValue","isPromise","assert","condition","partial","genericSubscribe","subs","resetStore","store","hot","_actions","_mutations","_wrappedGetters","_modulesNamespaceMap","installModule","_modules","resetStoreState","oldState","_state","oldScope","_scope","getters","_makeLocalGettersCache","wrappedGetters","computedObj","computedCache","strict","enableStrictMode","_withCommit","rootState","isRoot","namespace","getNamespace","namespaced","parentState","getNestedState","moduleName","local","makeLocalContext","forEachMutation","mutation","namespacedType","registerMutation","forEachAction","registerAction","forEachGetter","registerGetter","forEachChild","noNamespace","dispatch","_type","_payload","_options","unifyObjectStyle","payload","commit","defineProperties","makeLocalGetters","gettersProxy","splitPos","localType","entry","rootGetters","_devtoolHook","catch","rawGetter","_committing","deep","flush","LABEL_VUEX_BINDINGS","MUTATIONS_LAYER_ID","ACTIONS_LAYER_ID","INSPECTOR_ID","actionId","addDevtools","label","homepage","logo","packageName","componentStateTypes","api","addTimelineLayer","COLOR_LIME_500","addInspector","icon","treeFilterPlaceholder","getInspectorTree","inspectorId","flattenStoreForInspectorTree","rootNodes","formatStoreForInspectorTree","getInspectorState","modulePath","nodeId","formatStoreForInspectorState","getStoreModule","editInspectorState","Boolean","subscribe","notifyComponentUpdate","sendInspectorTree","sendInspectorState","addTimelineEvent","layerId","time","subscribeAction","before","_id","_time","groupId","subtitle","after","_custom","display","tooltip","COLOR_DARK","COLOR_WHITE","TAG_NAMESPACED","textColor","backgroundColor","extractNameFromPath","tags","_children","endsWith","gettersKeys","storeState","editable","tree","transformPathsToObjectTree","canThrow","leafKey","abstract","moduleMap","names","Module","rawModule","runtime","_rawModule","rawState","prototypeAccessors$1","addChild","getChild","hasChild","mutations","ModuleCollection","rawRootModule","targetModule","newModule","assertRawModule","this$1$1","rawChildModule","isRegistered","functionAssert","expected","objectAssert","assertTypes","makeAssertionMessage","createStore","Store","plugins","_actionSubscribers","_subscribers","_devtools","ref","prototypeAccessors","injectKey","$store","useDevtools","sub","silent","watch","replaceState","registerModule","preserveState","unregisterModule","hasModule","hotUpdate","newOptions","committing","normalizeNamespace","states","isValidMap","normalizeMap","getModuleByNamespace","vuex","mapGetters","mapActions","IS_PURE","copyright","license","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","anObject","BitMatrix","reservedBit","reserved","xor","isReserved","point","second","trunc","tryToString","requireObjectCoercible","getMethod","getRegExpFlags","getSubstitution","REPLACE","stringIndexOf","string","searchValue","replaceAll","replaceValue","IS_REG_EXP","flags","replacer","searchString","functionalReplace","searchLength","advanceBy","endOfLastMatch","bitmap","_extends","Pagination","swiper","rtl","$el","slidesLength","virtual","enabled","slides","total","loop","ceil","loopedSlides","slidesPerGroup","snapGrid","activeIndex","paginationType","snapIndex","bullets","firstIndex","midIndex","dynamicBullets","bulletSize","isHorizontal","dynamicMainBullets","previousIndex","dynamicBulletIndex","bulletActiveClass","bullet","$bullet","bulletIndex","$firstDisplayedBullet","$lastDisplayedBullet","_i","dynamicBulletsLength","bulletsOffset","offsetProp","currentClass","formatFractionCurrent","totalClass","formatFractionTotal","progressbarDirection","progressbarOpposite","scaleX","scaleY","progressbarFillClass","speed","renderCustom","watchOverflow","isLocked","lockClass","paginationHTML","numberOfBullets","freeMode","renderBullet","bulletClass","bulletElement","renderFraction","renderProgressbar","init","createElements","uniqueNavElements","clickable","clickableClass","modifierClass","progressbarOppositeClass","preventDefault","slideTo","hiddenClass","hideOnClick","activeIndexChange","snapIndexChange","slidesLengthChange","snapGridLengthChange","targetEl","isHidden","FunctionPrototype","getDescriptor","EXISTS","PROPER","isBrowser","isESModule","__esModule","toStringTag","applyToParams","newParams","noop","TRAILING_SLASH_RE","removeTrailingSlash","parseURL","parseQuery","currentLocation","query","hashPos","searchPos","resolveRelativePath","fullPath","stringifyURL","stringifyQuery","stripBase","base","isSameRouteLocation","aLastIndex","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","aliasOf","isSameRouteLocationParamsValue","isEquivalentArray","every","fromSegments","toSegments","toPosition","segment","NavigationType","NavigationDirection","normalizeBase","baseEl","querySelector","BEFORE_HASH_RE","createHref","getElementPosition","docRect","documentElement","elRect","behavior","computeScrollPosition","pageXOffset","pageYOffset","scrollToPosition","scrollToOptions","positionEl","isIdSelector","getElementById","scrollTo","getScrollKey","delta","history","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","scroll","createBaseLocation","createCurrentLocation","slicePos","pathFromHash","useHistoryListeners","historyState","listeners","teardowns","pauseState","popStateHandler","fromState","direction","forward","back","unknown","pauseListeners","listen","teardown","beforeUnloadListener","buildState","replaced","computeScroll","useHistoryStateNavigation","changeLocation","hashIndex","currentState","createWebHistory","historyNavigation","historyListeners","go","triggerListeners","routerHistory","createWebHashHistory","isRouteLocation","route","isRouteName","START_LOCATION_NORMALIZED","redirectedFrom","NavigationFailureSymbol","NavigationFailureType","createRouterError","isNavigationFailure","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","sensitive","REGEX_CHARS_RE","tokensToParser","segments","extraOptions","score","pattern","segmentScores","tokenIndex","subSegmentScore","repeatable","optional","regexp","re","subPattern","avoidDuplicatedSlash","param","compareScoreArray","diff","comparePathParserScore","aScore","bScore","comp","isLastScoreNegative","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","previousState","finalizeSegment","char","customRe","consumeBuffer","addCharToBuffer","createRouteRecordMatcher","record","matcher","alias","createRouterMatcher","routes","globalOptions","matchers","matcherMap","getRecordMatcher","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","mergeOptions","normalizedRecords","aliases","components","originalMatcher","normalizedRecord","parentPath","connectingSlash","isAliasRecord","removeRoute","redirect","insertMatcher","matcherRef","getRoutes","isRecordChildOf","paramsFromLocation","parentMatcher","mergeMetaFields","beforeEnter","normalizeRecordProps","instances","leaveGuards","updateGuards","enterCallbacks","propsObject","partialOptions","some","HASH_RE","AMPERSAND_RE","SLASH_RE","EQUAL_RE","IM_RE","PLUS_RE","ENC_BRACKET_OPEN_RE","ENC_BRACKET_CLOSE_RE","ENC_CARET_RE","ENC_BACKTICK_RE","ENC_CURLY_OPEN_RE","ENC_PIPE_RE","ENC_CURLY_CLOSE_RE","ENC_SPACE_RE","commonEncode","encodeURI","encodeHash","encodeQueryValue","encodeQueryKey","encodePath","encodeParam","decode","decodeURIComponent","hasLeadingIM","searchParams","searchParam","eqPos","currentValue","normalizeQuery","normalizedQuery","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","useCallbacks","guardToPromiseFn","guard","enterCallbackArray","valid","guardReturn","guardCall","extractComponentsGuards","guardType","guards","rawComponent","isRouteComponent","__vccOpts","componentPromise","resolved","resolvedComponent","useLink","router","currentRoute","activeRecordIndex","routeMatched","currentMatched","findIndex","parentRecordPath","getOriginalPath","isActive","includesParams","isExactActive","navigate","guardEvent","RouterLinkImpl","compatConfig","MODE","activeClass","exactActiveClass","ariaCurrentValue","link","elClass","getLinkClass","linkActiveClass","linkExactActiveClass","onClick","class","RouterLink","metaKey","altKey","ctrlKey","shiftKey","defaultPrevented","button","currentTarget","outer","inner","innerValue","outerValue","propClass","globalClass","defaultClass","RouterViewImpl","inheritAttrs","injectedRoute","routeToDisplay","injectedDepth","depth","initialDepth","matchedRoute","matchedRouteRef","viewRef","oldInstance","oldName","currentName","ViewComponent","normalizeSlot","Component","routePropsOption","routeProps","onVnodeUnmounted","isUnmounted","slotContent","RouterView","createRouter","parseQuery$1","stringifyQuery$1","beforeGuards","beforeResolveGuards","afterGuards","pendingLocation","scrollBehavior","scrollRestoration","normalizeParams","paramValue","encodeParams","decodeParams","parentOrRoute","recordMatcher","routeMatcher","hasRoute","rawLocation","locationNormalized","matcherLocation","targetParams","locationAsObject","checkCanceledNavigation","pushWithRedirect","handleRedirectRecord","lastMatched","newTargetLocation","targetLocation","force","shouldRedirect","toLocation","failure","handleScroll","markAsReady","triggerError","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","leavingRecords","updatingRecords","enteringRecords","extractChangingRecords","canceledNavigationCheck","runGuardQueue","isPush","isFirstNavigation","removeHistoryListener","setupListeners","_from","info","listening","ready","readyHandlers","errorHandlers","isReady","started","installedApps","beforeEach","beforeResolve","afterEach","$router","reactiveRoute","recordFrom","recordTo","686","execCommand","fontSize","border","padding","HTMLInputElement","iterator","hasAttribute","resolveOptions","listenClick","queryCommandSupported","defaultAction","defaultTarget","defaultText","delegateTarget","clearSelection","focus","getSelection","removeAllRanges","828","Element","matchesSelector","mozMatchesSelector","oMatchesSelector","438","879","nodeList","370","817","nodeName","select","setSelectionRange","createRange","selectNodeContents","addRange","279","once","_","TinyEmitter","EXP_TABLE","LOG_TABLE","log","NATIVE_WEAK_MAP","shared","sharedKey","OBJECT_ALREADY_INITIALIZED","WeakMap","getterFor","TYPE","metadata","facade","STATE","sfc","allCountries","allCountries$1","iso2","dialCode","getCountry","fetch","result2","setCaretPosition","ctrl","createTextRange","range","collapse","moveEnd","moveStart","allProps","inDemo","defaultOptions","prv","crr","nestedKey","withMetadataArgument","func","_arguments","_typeof$2","obj2","_defineProperties$2","_createClass$2","protoProps","staticProps","_classCallCheck$2","_inherits","_createSuper","Derived","hasNativeReflectConstruct","Super","NewTarget","_possibleConstructorReturn","Class2","Parent2","args2","o2","ParseError","_Error","ParseError2","_super","MIN_LENGTH_FOR_NSN","MAX_LENGTH_FOR_NSN","MAX_LENGTH_COUNTRY_CODE","VALID_DIGITS","DASHES","SLASHES","DOTS","WHITESPACE","BRACKETS","TILDES","VALID_PUNCTUATION","PLUS_CHARS","compare","pa","pb","na","nb","_typeof$1","_classCallCheck$1","_defineProperties$1","_createClass$1","V3","V4","DEFAULT_EXT_PREFIX","CALLING_CODE_REG_EXP","Metadata","Metadata2","metadata2","validateMetadata","setVersion","countries","countryCode","v1","v2","v3","nonGeographic","nonGeographical","country","getCountryMetadata","callingCode","getCountryCodesForCallingCode","countryCodes","countryCallingCodes","selectNumberingPlan","hasCountry","numberingPlan","NumberingPlan","hasCallingCode","getNumberingPlanMetadata","getCountryCodeForCallingCode","IDDPrefix","defaultIDDPrefix","nationalNumberPattern","possibleLengths","formats","nationalPrefixForParsing","nationalPrefixTransformRule","leadingDigits","hasTypes","ext","country_phone_code_to_countries","country_calling_codes","NumberingPlan2","globalMetadataObject","formats2","_getFormats","getDefaultCountryMetadataForRegion","Format","_getNationalPrefixFormattingRule","_nationalPrefixForParsing","nationalPrefix","_getNationalPrefixIsOptionalWhenFormatting","types","_type2","getType","Type","Format2","_format","nationalPrefixFormattingRule","nationalPrefixIsOptionalWhenFormattingInNationalFormat","usesNationalPrefix","FIRST_GROUP_ONLY_PREFIX_PATTERN","Type2","is_object","type_of","getCountryCallingCode","countryCallingCode","isSupportedCountry","v4","RFC3966_EXTN_PREFIX","getExtensionDigitsPattern","maxLength","createExtensionPattern","purpose","extLimitAfterExplicitLabel","extLimitAfterLikelyLabel","extLimitAfterAmbiguousChar","extLimitWhenNotSure","possibleSeparatorsBetweenNumberAndExtLabel","possibleCharsAfterExtLabel","optionalExtnSuffix","explicitExtLabels","ambiguousExtLabels","ambiguousSeparator","possibleSeparatorsNumberExtLabelNoComma","autoDiallingAndExtLabelsFound","rfcExtn","explicitExtn","ambiguousExtn","americanStyleExtnWithSuffix","autoDiallingExtn","onlyCommasExtn","MIN_LENGTH_PHONE_NUMBER_PATTERN","VALID_PHONE_NUMBER","VALID_PHONE_NUMBER_START_REG_EXP","VALID_PHONE_NUMBER_WITH_EXTENSION","VALID_PHONE_NUMBER_PATTERN","isViablePhoneNumber","isViablePhoneNumberStart","EXTN_PATTERN","extractExtension","numberWithoutExtension","DIGITS","parseDigit","character","_createForOfIteratorHelperLoose$5","allowArrayLike","_unsupportedIterableToArray$6","done","minLen","_arrayLikeToArray$6","arr2","parseIncompletePhoneNumber","_step","_iterator","parsePhoneNumberCharacter","prevParsedCharacters","_createForOfIteratorHelperLoose$4","_unsupportedIterableToArray$5","_arrayLikeToArray$5","mergeArrays","merged","element","a2","b2","checkNumberLength","nationalNumber","checkNumberLengthForType","type_info","possible_lengths","mobile_type","actual_length","minimum_length","isPossiblePhoneNumber","phone","isPossibleNumber","isNonGeographicCallingCode","_slicedToArray$1","_arrayWithHoles$1","_iterableToArrayLimit$1","_unsupportedIterableToArray$4","_nonIterableRest$1","_s","_e","_arr","_n","_d","_createForOfIteratorHelperLoose$3","_arrayLikeToArray$4","parseRFC3966","_part$split","_part$split2","formatRFC3966","_ref","matchesEntirely","regular_expression","_createForOfIteratorHelperLoose$2","_unsupportedIterableToArray$3","_arrayLikeToArray$3","NON_FIXED_LINE_PHONE_TYPES","getNumberType","isNumberTypeEqualTo","isValidNumber","national_number","applyInternationalSeparatorStyle","formattedNumber","FIRST_GROUP_PATTERN","formatNationalNumberUsingFormat","useInternationalFormat","withNationalPrefix","carrierCode","internationalFormat","SINGLE_IDD_PREFIX_REG_EXP","getIddPrefix","countryMetadata","_createForOfIteratorHelperLoose$1","_unsupportedIterableToArray$2","_arrayLikeToArray$2","ownKeys$4","object","enumerableOnly","sym","_objectSpread$4","_defineProperty$4","getOwnPropertyDescriptors","DEFAULT_OPTIONS","formatExtension","extension","formatNumber","formatNationalNumber","addExtension","fromCountry","formatIDD","formatAs","chooseFormatForNumber","availableFormats","nationalNnumber","leadingDigitsPatterns","lastLeadingDigitsPattern","formatExtension2","fromCountryCallingCode","iddPrefix","ownKeys$3","_objectSpread$3","_defineProperty$3","_classCallCheck","_defineProperties","_createClass","PhoneNumber","PhoneNumber2","_metadata","isCountryCode","phoneNumber","CAPTURING_DIGIT_PATTERN","stripIddPrefix","IDDPrefixPattern","matchedGroups","extractNationalNumberFromPossiblyIncompleteNumber","prefixPattern","prefixMatch","exec","capturedGroupsCount","hasCapturedGroups","prefixBeforeNationalNumber","possiblePositionOfTheFirstCapturedGroup","possibleNationalPrefix","extractNationalNumber","_extractNationalNumbe","shouldHaveExtractedNationalPrefix","isPossibleIncompleteNationalNumber","nationalNumberBefore","nationalNumberAfter","extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","possibleShorterNumber","possibleShorterNationalNumber","_extractNationalNumbe2","extractCountryCallingCode","numberWithoutIDD","_extractCountryCallin","shorterNumber","_countryCallingCode","_createForOfIteratorHelperLoose","_unsupportedIterableToArray$1","_arrayLikeToArray$1","USE_NON_GEOGRAPHIC_COUNTRY_CODE","getCountryByCallingCode","nationalPhoneNumber","possibleCountries","selectCountryFromList","MAX_INPUT_STRING_LENGTH","PHONE_NUMBER_START_PATTERN","AFTER_PHONE_NUMBER_END_PATTERN","defaultCountry","_parseInput","parseInput","extract","formattedPhoneNumber","_parsePhoneNumber","parsePhoneNumber$1","defaultCallingCode","hasSelectedNumberingPlan","extended","possible","extractFormattedPhoneNumber","throwOnError","startsAt","withExtensionStripped","exactCountry","ownKeys$2","_objectSpread$2","_defineProperty$2","parsePhoneNumber","_typeof","ownKeys$1","_objectSpread$1","_defineProperty$1","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","normalizeArguments","_Array$prototype$slic","_Array$prototype$slic2","arg_1","arg_2","arg_3","arg_4","ownKeys","_objectSpread","_defineProperty","parsePhoneNumberFromString$2","parsePhoneNumberFromString$1","_normalizeArguments","parsePhoneNumberFromString","clickOutside","vNode","compName","expression","clickOutsideEvent","_export_sfc","getDefault","_sfc_main","directives","modelValue","autoFormat","customValidate","disabled","autoDefaultCountry","dropdownOptions","ignoredCountries","inputOptions","invalidMsg","onlyCountries","preferredCountries","validCharactersOnly","styleClasses","activeCountryCode","finishMounted","selectedIndex","typeToFindInput","typeToFindTimer","dropdownOpenDirection","parsedPlaceholder","placeholder","computed","findCountry","getCountries","preferred","filteredCountries","_b","_c","phoneObject","formatted","parsedMode","activeCountry","oldValue","$emit","emitInput","$nextTick","resetPlaceholder","testCharacters","onInput","isDropdownOpened","setDropdownPosition","cleanInvalidCharacters","initializeCountry","showDialCode","methods","choose","findCountryByDialCode","fallbackCountry","iso","index2","highlighted","lastPreferred","parsedCountry","formatInternational","currentPhone","results","testCustomValidate","$refs","setCustomValidity","keyCode","sortedCountries","selEle","offsetTop","clientHeight","clearTimeout","typedCountryI","needToScrollTop","needToScrollBottom","spaceBelow","innerHeight","bottom","hasEnoughSpaceBelow","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_sfc_render","_ctx","$props","$setup","$data","_directive_click_outside","role","tabindex","onKeydown","keyboardNav","toggleDropdown","showFlags","showDialCodeInSelection","$slots","getItemClass","$event","onMousemove","showDialCodeInList","clickedOutside","autocomplete","autofocus","maxlength","readonly","onBlur","onFocus","onKeyup","onEnter","onSpace","VueTelInput","customOptions","customDropdownOptions","customInputOptions","otherCustomOptions","defaultDropdownOptions","defaultInputOptions","otherDefaultOptions","calcSupport","touch","DocumentTouch","pointerEvents","PointerEvent","maxTouchPoints","observer","passiveListener","supportsPassive","gestures","getSupport","calcDevice","_temp","support","ua","device","ios","android","screenWidth","screen","screenHeight","ipad","ipod","iphone","windows","macos","iPadScreens","os","getDevice","calcBrowser","isSafari","isEdge","isWebView","getBrowser","ResizeObserver","resize","createObserver","destroyed","initialized","entries","newWidth","newHeight","contentBoxSize","contentRect","inlineSize","blockSize","resizeHandler","observe","removeObserver","unobserve","orientationChangeHandler","resizeObserver","Observer","attach","ObserverFunc","MutationObserver","WebkitMutationObserver","observerUpdate","requestAnimationFrame","attributes","childList","characterData","observers","observeParents","containerParents","observeSlideChildren","$wrapperEl","disconnect","useParams","instanceParams","useModules","modulesParams","moduleParams","moduleEventName","priority","eventsListeners","onceHandler","__emitterProxy","onAny","eventsAnyListeners","offAny","eventsArray","updateSize","clientWidth","isVertical","updateSlides","getDirectionLabel","property","getDirectionPropertyValue","swiperSize","rtlTranslate","wrongRTL","isVirtual","previousSlidesLength","slideClass","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","slidesNumberEvenToRows","slideSize","virtualSize","marginLeft","marginBottom","marginTop","marginRight","slidesPerColumn","slidesPerView","slidesPerColumnFill","newSlidesGrid","_$wrapperEl$css","_$wrapperEl$css2","slidesPerRow","numFullColumns","slide","newSlideOrderIndex","groupIndex","slideIndexInGroup","columnsInGroup","order","slideStyles","currentTransform","currentWebKitTransform","webkitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","_slide$","swiperSlideSize","centeredSlides","slidesPerGroupSkip","effect","setWrapperSize","slidesGridItem","_i2","_slidesGridItem","_slides$filter$css","slideIndex","cssMode","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","_allSlidesSize","allSlidesOffset","checkOverflow","watchSlidesProgress","watchSlidesVisibility","updateSlidesOffset","updateAutoHeight","activeSlides","setTransition","getSlideByIndex","visibleSlides","swiperSlideOffset","offsetLeft","updateSlidesProgress","offsetCenter","slideVisibleClass","visibleSlidesIndexes","slideProgress","minTranslate","autoHeight","slideBefore","slideAfter","isVisible","progress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","wasBeginning","wasEnd","updateSlidesClasses","activeSlide","realIndex","slideActiveClass","slideNextClass","slidePrevClass","slideDuplicateActiveClass","slideDuplicateNextClass","slideDuplicatePrevClass","slideDuplicateClass","nextSlide","prevSlide","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousRealIndex","previousSnapIndex","normalizeSlideIndex","skip","runCallbacksOnInit","updateClickedSlide","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","getSwiperTranslate","axis","virtualTranslate","currentTranslate","setTranslate","byController","newProgress","wrapperEl","z","previousTranslate","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","_wrapperEl$scrollTo","isH","onTranslateToWrapperTransitionEnd","getTranslate","transitionStart","initial","indexAsNumber","isFinite","initialSlide","normalizedTranslate","normalizedGird","normalizedGridNext","allowSlideNext","allowSlidePrev","scrollWidth","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","slideNext","increment","loopPreventsSlide","loopFix","_clientLeft","slidePrev","prevIndex","normalizedSnapGrid","prevSnap","slideReset","slideToClosest","threshold","currentSnap","nextSnap","_currentSnap","slidesPerViewDynamic","slideToIndex","loopCreate","loopFillGroupWithBlank","blankSlidesNum","blankNode","slideBlankClass","loopAdditionalSlides","prependSlides","appendSlides","cloneNode","snapTranslate","slideChanged","_slideChanged","loopDestroy","setGrabCursor","moving","simulateTouch","cursor","unsetGrabCursor","appendSlide","prependSlide","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","closestElement","__closestFrom","assignedSlot","getRootNode","onTouchStart","touchEventsData","touches","originalEvent","$targetEl","touchEventsTarget","isTouchEvent","which","isTouched","isMoved","swipingClassHasValue","noSwipingClass","shadowRoot","noSwipingSelector","isTargetShadow","noSwiping","allowClick","swipeHandler","currentX","targetTouches","pageX","currentY","pageY","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","innerWidth","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","activeElement","blur","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","diffX","diffY","sqrt","pow","touchAngle","atan2","PI","touchMoveStopPropagation","nested","stopPropagation","startTranslate","allowMomentumBounce","grabCursor","touchRatio","disableParentSwiper","resistanceRatio","resistance","followFinger","velocities","onTouchEnd","currentPos","touchEndTime","timeDiff","lastClickTime","freeModeMomentum","lastMoveEvent","velocityEvent","distance","velocity","freeModeMinimumVelocity","freeModeMomentumVelocityRatio","momentumDuration","freeModeMomentumRatio","momentumDistance","newPosition","afterBouncePosition","needsLoopFix","doBounce","bounceAmount","freeModeMomentumBounceRatio","freeModeMomentumBounce","freeModeSticky","moveDistance","currentSlideSize","longSwipesMs","stopIndex","groupSize","_increment","ratio","longSwipes","longSwipesRatio","shortSwipes","isNavButtonTarget","onResize","breakpoints","setBreakpoint","autoplay","running","paused","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","dummyEventAttached","dummyEventListener","attachEvents","touchEvents","move","passiveListeners","passive","cancel","updateOnWindowResize","detachEvents","_swiper$loopedSlides","breakpoint","getBreakpoint","breakpointsBase","currentBreakpoint","breakpointOnlyParams","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasEnabled","containerModifierClass","emitContainerClasses","directionChanged","needsReLoop","changeDirection","isEnabled","disable","enable","containerEl","currentHeight","points","minRatio","_points$i","matchMedia","prepareClasses","prefix","resultClasses","addClasses","suffixes","removeClasses","loadImage","imageEl","srcset","sizes","checkForComplete","onReady","isPicture","complete","Image","preloadImages","imagesLoaded","imagesToLoad","updateOnImagesReady","currentSrc","wasLocked","lastSlidePosition","wrapperClass","_emitClasses","prototypes","modular","eventsEmitter","manipulation","images","extendedDefaults","Swiper","swipers","moduleParamName","auto","swiperParams","passedParams","eventName","desktop","touchEventsTouch","touchEventsDesktop","clickTimeout","_proto","setProgress","getSlideClasses","slideEl","updates","spv","breakLoop","translated","translateValue","newDirection","needUpdate","currentDirection","mount","mounted","getWrapperSelector","getWrapper","deleteInstance","cleanStyles","extendDefaults","newDefaults","use","prototypeGroup","protoMethod","deleteProps","delay","currentStyle","matrix","curTransform","transformMatrix","curStyle","WebKitCSSMatrix","MozTransform","OTransform","MsTransform","msTransform","m41","m42","isNode","nextSource","keysArray","nextIndex","nextKey","bindModuleMethods","subKey","classesToSelector","createElementIfNotDefined","$container","checkProps","Coverflow","swiperWidth","swiperHeight","coverflowEffect","center","rotate","$slideEl","slideOffset","offsetMultiplier","rotateY","rotateX","translateZ","stretch","translateY","translateX","slideTransform","zIndex","round","slideShadows","$shadowBeforeEl","$shadowAfterEl","opacity","beforeInit","Patterns","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PenaltyScores","N1","N2","N3","N4","getMaskAt","maskPattern","mask","getPenaltyN1","sameCountCol","sameCountRow","lastCol","lastRow","getPenaltyN2","getPenaltyN3","bitsCol","bitsRow","getPenaltyN4","darkCount","modulesCount","applyMask","getBestMask","setupFormatFunc","numPatterns","bestPattern","lowerPenalty","Infinity","penalty","activeEffectScope","EffectScope","detached","_active","effects","cleanups","scopes","currentEffectScope","fromParent","effectScope","recordEffectScope","active","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","oldTarget","newLength","triggerEffects","triggerEffect","allowRecurse","getDepFromReactive","isNonTrackableKeys","builtInSymbols","get$1","createGetter","shallowGet","readonlyGet","shallowReadonlyGet","arrayInstrumentations","createArrayInstrumentations","instrumentations","toRaw","isReadonly","shallow","receiver","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","targetIsArray","isRef","reactive","set$1","createSetter","shallowSet","hadKey","deleteProperty","has$1","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","shallowReadonlyHandlers","toShallow","getProto","isShallow","rawTarget","rawKey","toReadonly","toReactive","deleteEntry","clear","hadItems","createForEach","observed","createIterableMethod","targetIsMap","isPair","isKeyOnly","innerIterator","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","triggerRefValue","newVal","__v_isRef","createRef","shallowRef","__v_isShallow","_rawValue","_value","useDirectValue","triggerRef","unref","shallowUnwrapHandlers","proxyRefs","objectWithRefs","CustomRefImpl","factory","_get","_set","customRef","toRefs","toRef","ObjectRefImpl","_object","_defaultValue","_a$1","ComputedRefImpl","_setter","isSSR","_dirty","_cacheable","getterOrOptions","debugOptions","onlyGetter","cRef","assertNumber","callWithErrorHandling","handleError","callWithAsyncErrorHandling","throwInDev","contextVNode","cur","exposedInstance","errorInfo","errorCapturedHooks","ec","appErrorHandler","errorHandler","logError","isFlushing","isFlushPending","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","findInsertionIndex","middle","middleJobId","getId","queueJob","job","queueFlush","flushJobs","invalidateJob","queuePostFlushCb","flushPreFlushCbs","seen","pre","flushPostFlushCbs","deduped","comparator","devtoolsNotInstalled","setDevtoolsHook","replay","__VUE_DEVTOOLS_HOOK_REPLAY__","newHook","rawArgs","isModelListener","modelArg","modifiersKey","handlerName","emitted","normalizeEmitsOptions","asMixin","emitsCache","emits","normalized","hasExtends","extendEmits","normalizedFromExtend","mixins","extends","isEmitListener","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","__scopeId","pushScopeId","popScopeId","withScopeId","withCtx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","renderComponentRoot","withProxy","propsOptions","renderCache","setupState","fallthroughAttrs","shapeFlag","proxyToUse","normalizeVNode","getFunctionalFallthrough","blockStack","createVNode","Comment","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","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","doRemove","hydrateNode","isSlotChildren","normalizeSuspenseSlot","trackBlock","isBlockTreeEnabled","openBlock","currentBlock","closeBlock","singleChild","dynamicChildren","queueEffectWithSuspense","branch","currentInstance","provides","parentProvides","inject","treatDefaultAsFactory","watchEffect","doWatch","watchPostEffect","watchSyncEffect","INITIAL_WATCHER_VALUE","immediate","onTrack","onTrigger","cleanup","forceTrigger","isMultiSource","traverse","onCleanup","baseGetter","ssrCleanup","isInSSRComponentSetup","useSSRContext","__watcherHandles","fill","queuePostRenderEffect","uid","unwatch","instanceWatch","publicThis","createPathGetter","setCurrentInstance","unsetCurrentInstance","useTransitionState","isMounted","isLeaving","isUnmounting","leavingVNodes","onMounted","onBeforeUnmount","TransitionHookValidator","BaseTransitionImpl","appear","persisted","onBeforeEnter","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","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","createInnerComp","loaded","delayed","ce","__isKeepAlive","KeepAliveImpl","include","exclude","sharedContext","renderer","_unmount","storageContainer","resetShapeFlag","pruneCache","getComponentName","pruneCacheEntry","activate","isDeactivated","vnodeHook","onVnodeMounted","invokeVNodeHook","deactivate","da","pendingCacheKey","cacheSubtree","getInnerChild","onUpdated","rawVNode","__asyncResolved","cachedVNode","KeepAlive","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","__wdc","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","__weh","createHook","lifecycle","onBeforeMount","onBeforeUpdate","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","withDirectives","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","preserveCaseIfNecessary","getPublicInstance","isStatefulComponent","publicPropertiesMap","$attrs","refs","$parent","resolveMergedOptions","$watch","hasSetupBinding","__isScriptSetup","PublicInstanceProxyHandlers","accessCache","normalizedProps","shouldCacheAccess","publicGetter","cssModule","__cssModules","RuntimeCompiledPublicInstanceProxyHandlers","unscopables","applyOptions","beforeCreate","dataOptions","computedOptions","watchOptions","provideOptions","injectOptions","beforeMount","activated","deactivated","beforeDestroy","beforeUnmount","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","filters","checkDuplicateProperties","resolveInjections","unwrapInjectedRef","methodHandler","opt","createWatcher","registerLifecycleHook","_hook","exposed","unwrapRef","normalizeInject","extendsOptions","globalMixins","optionsCache","optionMergeStrategies","strats","strat","internalOptionMergeStrats","mergeDataFn","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","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","ctor","isSameType","expectedTypes","isInternalKey","normalizeSlotValue","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","createAppContext","isNativeTag","warnHandler","compilerOptions","uid$1","createAppAPI","rootComponent","rootProps","installedPlugins","_uid","_component","_props","_container","_instance","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","vnodeHooks","onVnodeBeforeMount","parentVNode","fragmentSlotScopeIds","isFragment","createRenderer","baseCreateRenderer","createHydrationRenderer","createHydrationFns","__VUE__","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","setText","hostSetText","setElementText","hostSetElementText","hostParentNode","hostNextSibling","setScopeId","hostSetScopeId","insertStaticContent","hostInsertStaticContent","getNextHostNode","processText","processCommentNode","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","removeStaticNode","mountElement","patchElement","mountChildren","unmountChildren","needCallTransitionHooks","enter","cloneIfMounted","oldProps","newProps","toggleRecurse","onVnodeBeforeUpdate","areChildrenSVG","patchBlockChildren","patchChildren","patchProps","onVnodeUpdated","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","traverseStaticChildren","updateComponent","initialVNode","createComponentInstance","setupComponent","registerDep","updateComponentPreRender","componentUpdateFn","bu","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","hydrateSubTree","scopedInitialVNode","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","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","isTargetSVG","SVGElement","resolveTarget","TeleportImpl","mainAnchor","targetAnchor","wasDisabled","currentContainer","currentAnchor","moveTeleport","nextTarget","updateCssVars","hydrateTeleport","isReorder","targetNode","_lpa","Teleport","ut","disableTracking","vnodeArgsTransformer","setupBlock","createElementBlock","createBaseVNode","__v_isVNode","transformVNodeArgs","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","__v_skip","normalizeChildren","_createVNode","cloned","isClassComponent","guardReactiveProps","klass","extraProps","mergeRef","mergedProps","mergeProps","flag","createStaticVNode","content","numberOfNodes","createCommentVNode","asBlock","memo","slotFlag","toMerge","incoming","emptyAppContext","exposeProxy","setupContext","bc","rtg","rtc","sp","compile","installWithProxy","setupResult","setupStatefulComponent","createSetupContext","resolvedResult","finishComponentSetup","__ssrInlineRender","ssrRender","registerRuntimeCompiler","_compile","_rc","isRuntimeOnly","skipOptions","template","isCustomElement","delimiters","componentCompilerOptions","finalCompilerOptions","createAttrsProxy","includeInferred","displayName","__name","defineProps","defineEmits","defineExpose","withDefaults","useSlots","useAttrs","mergeDefaults","createPropsRestProxy","excludedKeys","withAsyncContext","getAwaitable","awaitable","propsOrChildren","ssrContextKey","initCustomFormatter","withMemo","isMemoSame","_ssrUtils","ssrUtils","resolveFilter","compatUtils","svgNS","doc","templateContainer","nodeOps","createElementNS","multiple","nodeValue","patchClass","transitionClasses","_vtc","patchStyle","isCssString","setStyle","currentDisplay","cssText","importantRE","setProperty","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","removeAttributeNS","setAttributeNS","isBoolean","patchDOMProp","needRemove","patchEvent","prevValue","nextValue","invokers","_vei","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","cachedNow","getNow","initialValue","_vts","attached","patchStopImmediatePropagation","originalStop","_stopped","nativeOnRE","shouldSetAsProp","_trueValue","_falseValue","defineCustomElement","Comp","VueCustomElement","initialProps","super","def","defineSSRCustomElement","BaseClass","_def","_connected","_resolved","_numberProps","attachShadow","_resolveProps","_update","_resolveDef","_setAttr","attributeName","isAsync","numberProps","_applyStyles","asyncDef","declaredPropKeys","_setProp","_getProp","shouldReflect","shouldUpdate","useCssModule","useCssVars","updateTeleports","vars","setVarsOnNode","setVars","setVarsOnVNode","ob","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","cls","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","elementValue","getValue","checked","filtered","getCheckboxValue","setChecked","vModelRadio","vModelSelect","isSetModel","selectedVal","selected","setSelected","_binding","isMultiple","option","optionValue","vModelDynamic","callModelHook","resolveDynamicModel","modelToUse","initVModelForSSR","systemModifiers","modifierGuards","prevent","alt","right","exact","withModifiers","keyNames","esc","space","up","down","withKeys","eventKey","vShow","_vod","setDisplay","initVShowForSSR","rendererOptions","enabledHydration","ensureRenderer","ensureHydrationRenderer","containerOrSelector","normalizeContainer","createSSRApp","ssrDirectiveInitialized","initDirectivesForSSR","fromString","lcStr","bit","expires","secure","cookie","isNumber","toGMTString","read","basePlacements","viewport","variationPlacements","acc","placement","beforeRead","afterRead","beforeMain","main","afterMain","beforeWrite","afterWrite","modifierPhases","getNodeName","getWindow","ownerDocument","defaultView","isElement","OwnElement","isHTMLElement","isShadowRoot","ShadowRoot","applyStyles","elements","_ref2","initialStyles","popper","strategy","arrow","reference","styleProperties","attribute","phase","requires","getBasePlacement","getUAString","uaData","userAgentData","brands","brand","isLayoutViewport","includeScale","isFixedStrategy","clientRect","visualViewport","addVisualOffsets","getLayoutRect","rootNode","isSameNode","isTableElement","getDocumentElement","getParentNode","getTrueOffsetParent","offsetParent","getContainingBlock","isFirefox","isIE","elementCss","currentNode","perspective","contain","willChange","getOffsetParent","getMainAxisFromPlacement","within","withinMaxClamp","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","hashMap","rects","_state$modifiersData$","arrowElement","popperOffsets","modifiersData","basePlacement","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","axisProp","centerOffset","_options$element","requiresIfExists","getVariation","unsetSides","roundOffsetsByDPR","win","dpr","devicePixelRatio","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","_ref3","hasX","hasY","sideX","sideY","heightProp","widthProp","offsetY","offsetX","_Object$assign","commonStyles","_ref4","computeStyles","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","_options$scroll","_options$resize","scrollParents","scrollParent","getOppositePlacement","getOppositeVariationPlacement","getWindowScroll","getWindowScrollBarX","getViewportRect","layoutViewport","getDocumentRect","_element$ownerDocumen","winScroll","scrollHeight","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getScrollParent","listScrollParents","isBody","updatedList","rectToClientRect","rect","getInnerBoundingClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","clippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","contextElement","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","placements","allowedPlacements","overflows","getExpandedFallbackPlacements","oppositePlacement","flip","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","preferredPlacement","isBasePlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","mainVariationSide","altVariationSide","checks","check","numberOfChecks","_loop","fittingPlacement","_ret","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","hide","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","distanceAndSkiddingToXY","invertDistance","skidding","_options$offset","_data$state$placement","getAltAxis","_options$tether","tether","_options$tetherOffset","tetherOffset","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","getHTMLElementScroll","getNodeScroll","isElementScaled","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","visited","depModifier","orderModifiers","orderedModifiers","debounce","pending","mergeByName","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","effectCleanupFns","isDestroyed","setOptions","setOptionsAction","cleanupModifierEffects","runModifierEffects","forceUpdate","_state$elements","_state$orderedModifie","_state$orderedModifie2","_ref$options","cleanupFn","noopFn","onFirstUpdate","eventListeners","elementMap","Data","instanceMap","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","CSS","escape","toType","getUID","random","getTransitionDurationFromElement","transitionDelay","floatTransitionDuration","floatTransitionDelay","triggerTransitionEnd","jquery","getElement","getClientRects","elementIsVisible","closedDetails","summary","isDisabled","Node","ELEMENT_NODE","findShadowRoot","reflow","getjQuery","jQuery","DOMContentLoadedCallbacks","onDOMContentLoaded","readyState","isRTL","defineJQueryPlugin","NAME","JQUERY_NO_CONFLICT","jQueryInterface","noConflict","execute","possibleCallback","executeAfterTransition","transitionElement","waitForTransition","durationPadding","emulatedDuration","getNextActiveElement","shouldGetNext","isCycleAllowed","listLength","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","makeEventUid","getElementEvents","bootstrapHandler","hydrateObj","oneOff","EventHandler","bootstrapDelegationHandler","domElements","domElement","findHandler","callable","delegationSelector","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","previousFunction","removeHandler","removeNamespacedHandlers","storeElementEvent","handlerKey","inNamespace","isNamespace","elementEvent","keyHandlers","jQueryEvent","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","_unused","normalizeData","normalizeDataKey","chr","Manipulator","bsKeys","dataset","pureKey","Config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","getDataAttribute","Default","getDataAttributes","configTypes","DefaultType","valueType","BaseComponent","_element","_config","_getConfig","DATA_KEY","EVENT_KEY","isAnimated","getInstance","getSelector","hrefAttribute","SelectorEngine","ancestor","previous","focusables","findOne","enableDismissTrigger","clickEvent","getElementFromSelector","getOrCreateInstance","NAME$f","DATA_KEY$a","EVENT_KEY$b","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE$5","CLASS_NAME_SHOW$8","Alert","closeEvent","_queueCallback","_destroyElement","NAME$e","DATA_KEY$9","EVENT_KEY$a","DATA_API_KEY$6","CLASS_NAME_ACTIVE$3","SELECTOR_DATA_TOGGLE$5","EVENT_CLICK_DATA_API$6","Button","NAME$d","EVENT_KEY$9","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","Default$c","endCallback","leftCallback","rightCallback","DefaultType$c","Swipe","isSupported","_deltaX","_supportPointerEvents","_initEvents","_eventIsPointerPenTouch","clientX","_handleSwipe","absDeltaX","_start","_end","_move","pointerType","NAME$c","DATA_KEY$8","EVENT_KEY$8","DATA_API_KEY$5","ARROW_LEFT_KEY$1","ARROW_RIGHT_KEY$1","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN$1","EVENT_MOUSEENTER$1","EVENT_MOUSELEAVE$1","EVENT_DRAG_START","EVENT_LOAD_DATA_API$3","EVENT_CLICK_DATA_API$5","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE$2","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","Default$b","interval","keyboard","pause","ride","DefaultType$b","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","hidden","_clearInterval","_updateInterval","setInterval","nextWhenVisible","one","_getItems","_getItemIndex","_getActive","defaultInterval","_keydown","_maybeEnableCycle","_addTouchEventListeners","img","endCallBack","swipeConfig","_directionToOrder","activeIndicator","newActiveIndicator","elementInterval","isNext","nextElement","nextElementIndex","_orderToDirection","slideEvent","isCycling","_setActiveIndicatorElement","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","carousels","NAME$b","DATA_KEY$7","EVENT_KEY$7","DATA_API_KEY$4","EVENT_SHOW$6","EVENT_SHOWN$6","EVENT_HIDE$6","EVENT_HIDDEN$6","EVENT_CLICK_DATA_API$4","CLASS_NAME_SHOW$7","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","SELECTOR_DATA_TOGGLE$4","Default$a","DefaultType$a","Collapse","_isTransitioning","_triggerArray","toggleList","elem","getSelectorFromElement","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","capitalizedDimension","scrollSize","triggerArray","isOpen","getMultipleElementsFromSelector","NAME$a","DATA_KEY$6","EVENT_KEY$6","DATA_API_KEY$3","ESCAPE_KEY$2","TAB_KEY$1","ARROW_UP_KEY$1","ARROW_DOWN_KEY$1","RIGHT_MOUSE_BUTTON","EVENT_HIDE$5","EVENT_HIDDEN$5","EVENT_SHOW$5","EVENT_SHOWN$5","EVENT_CLICK_DATA_API$3","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_SHOW$6","CLASS_NAME_DROPUP","CLASS_NAME_DROPEND","CLASS_NAME_DROPSTART","CLASS_NAME_DROPUP_CENTER","CLASS_NAME_DROPDOWN_CENTER","SELECTOR_DATA_TOGGLE$3","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_NAVBAR","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","PLACEMENT_TOPCENTER","PLACEMENT_BOTTOMCENTER","Default$9","autoClose","popperConfig","DefaultType$9","_popper","_menu","_inNavbar","_detectNavbar","showEvent","_createPopper","_completeHide","hideEvent","removeDataAttribute","referenceElement","_getPopperConfig","parentDropdown","popperData","defaultBsPopperConfig","_getPlacement","_getOffset","setDataAttribute","openToggles","composedPath","isMenuTarget","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","_selectMenuItem","dataApiKeydownHandler","clearMenus","NAME$9","CLASS_NAME_FADE$4","CLASS_NAME_SHOW$5","EVENT_MOUSEDOWN","Default$8","clickCallback","rootElement","DefaultType$8","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","NAME$8","DATA_KEY$5","EVENT_KEY$5","EVENT_FOCUSIN$2","EVENT_KEYDOWN_TAB","TAB_KEY","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","Default$7","trapElement","DefaultType$7","FocusTrap","_isActive","_lastTabNavDirection","_handleFocusin","_handleKeydown","focusableChildren","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","documentWidth","getWidth","_disableOverFlow","_setElementAttributes","calculatedValue","_resetElementAttributes","_saveInitialAttribute","styleProperty","scrollbarWidth","manipulationCallBack","_applyManipulationCallback","actualValue","removeProperty","callBack","sel","NAME$7","DATA_KEY$4","EVENT_KEY$4","DATA_API_KEY$2","ESCAPE_KEY$1","EVENT_HIDE$4","EVENT_HIDE_PREVENTED$1","EVENT_HIDDEN$4","EVENT_SHOW$4","EVENT_SHOWN$4","EVENT_RESIZE$1","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS$1","EVENT_CLICK_DATA_API$2","CLASS_NAME_OPEN","CLASS_NAME_FADE$3","CLASS_NAME_SHOW$4","CLASS_NAME_STATIC","OPEN_SELECTOR$1","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_TOGGLE$2","Default$6","DefaultType$6","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_scrollBar","_adjustDialog","_showElement","_hideModal","modalBody","transitionComplete","_triggerBackdropTransition","event2","_resetAdjustments","isModalOverflowing","initialOverflowY","isBodyOverflowing","alreadyOpen","NAME$6","DATA_KEY$3","EVENT_KEY$3","DATA_API_KEY$1","EVENT_LOAD_DATA_API$2","ESCAPE_KEY","CLASS_NAME_SHOW$3","CLASS_NAME_SHOWING$1","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_SHOW$3","EVENT_SHOWN$3","EVENT_HIDE$3","EVENT_HIDE_PREVENTED","EVENT_HIDDEN$3","EVENT_RESIZE","EVENT_CLICK_DATA_API$1","EVENT_KEYDOWN_DISMISS","SELECTOR_DATA_TOGGLE$1","Default$5","DefaultType$5","Offcanvas","completeCallback","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","area","br","div","em","hr","h1","h2","h3","h4","h5","h6","li","ol","small","span","sup","strong","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","allowedAttributeList","attributeRegex","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elementName","attributeList","allowedAttributes","NAME$5","Default$4","extraClass","sanitize","sanitizeFn","DefaultType$4","DefaultContentType","TemplateFactory","_resolvePossibleFunction","getContent","_checkContent","templateWrapper","_maybeSanitize","_setContent","templateElement","_putElementInTemplate","NAME$4","DISALLOWED_ATTRIBUTES","CLASS_NAME_FADE$2","CLASS_NAME_MODAL","CLASS_NAME_SHOW$2","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_HIDE$2","EVENT_HIDDEN$2","EVENT_SHOW$2","EVENT_SHOWN$2","EVENT_INSERTED","EVENT_CLICK$1","EVENT_FOCUSIN$1","EVENT_FOCUSOUT$1","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default$3","animation","customClass","DefaultType$3","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","_leave","_enter","_hideModalHandler","_disposePopper","_isWithContent","isInTheDom","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","toHtml","tipId","changeContent","_getDelegateConfig","attachment","triggers","_initializeOnDelegatedTarget","eventIn","eventOut","_setTimeout","dataAttributes","dataAttribute","NAME$3","SELECTOR_TITLE","SELECTOR_CONTENT","Default$2","DefaultType$2","Popover","_getContent","NAME$2","DATA_KEY$2","EVENT_KEY$2","DATA_API_KEY","EVENT_ACTIVATE","EVENT_CLICK","EVENT_LOAD_DATA_API$1","CLASS_NAME_DROPDOWN_ITEM","CLASS_NAME_ACTIVE$1","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE$1","Default$1","rootMargin","smoothScroll","DefaultType$1","ScrollSpy","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","IntersectionObserver","_observerCallback","targetElement","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","decodeURI","_activateParents","listGroup","activeNodes","spy","NAME$1","DATA_KEY$1","EVENT_KEY$1","EVENT_HIDE$1","EVENT_HIDDEN$1","EVENT_SHOW$1","EVENT_SHOWN$1","EVENT_CLICK_DATA_API","EVENT_KEYDOWN","EVENT_LOAD_DATA_API","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","CLASS_NAME_ACTIVE","CLASS_NAME_FADE$1","CLASS_NAME_SHOW$1","CLASS_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","SELECTOR_DROPDOWN_MENU","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_DATA_TOGGLE","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","_getActiveElem","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSIN","EVENT_FOCUSOUT","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","CLASS_NAME_FADE","CLASS_NAME_HIDE","CLASS_NAME_SHOW","CLASS_NAME_SHOWING","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","isInteracting","_onInteraction","BitBuffer","bufIndex","putBit","getLengthInBits","toSJISFunction","CODEWORDS_COUNT","getSymbolSize","getSymbolTotalCodewords","getBCHDigit","digit","setToSJISFunction","isKanjiModeEnabled","Navigation","toggleEl","disabledClass","_swiper$navigation","$nextEl","$prevEl","onPrevClick","onNextClick","_swiper$navigation2","toEdge","fromEdge","_swiper$navigation3","_swiper$navigation4","isAbsoluteURL","combineURLs","baseURL","requestedURL","thing","deprecatedWarnings","schema","allowUnknown","formatMessage","defaultConverter","converter","defaultAttributes","toUTCString","stringifiedAttributes","cookies","jar","foundKey","withAttributes","withConverter","freeze","functionToString","Polynomial","ReedSolomonEncoder","genPoly","initialize","paddedData","remainder","buff","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","unsubscribe","982","useLoading","enforceFocus","focusIn","isFullPage","parentElement","cx","cy","dur","repeatCount","xmlns","stroke","begin","calcMode","attributeType","Spinner","Dots","Bars","programmatic","lockScroll","canCancel","onCancel","keyPress","disableScroll","enableScroll","background","backdropFilter","bgStyle","N","$loading","regExpFlags","RegExpPrototype","R","postfix","paramsList","getParams","rest","allowedParams","plainObj","initSwiper","mountSwiper","paginationEl","scrollbarEl","calcLoopedSlides","slidesPerViewParams","renderLoop","swiperRef","modifiedSlides","duplicateSlide","blankSlide","getChangedParams","oldParams","addKey","oldChildrenKeys","childrenKeys","watchParams","newKeys","oldKeys","newKey","oldKey","getChildren","originalSlots","slidesRef","oldSlidesRef","getSlidesFromElements","els","slotName","updateSwiper","needThumbsInit","needControllerInit","needPaginationInit","needScrollbarInit","needNavigationInit","changedParams","updateParams","currentParams","thumbs","controller","control","destroyModule","updateOnVirtualData","parallax","renderVirtual","virtualData","wrapperTag","a11y","cubeEffect","fadeEffect","flipEffect","hashNavigation","mousewheel","zoom","Tag","WrapperTag","containerClasses","breakpointChanged","initializedRef","swiperElRef","oldPassedParamsRef","nextElRef","prevElRef","paginationElRef","scrollbarElRef","_getParams","onBeforeBreakpoint","_beforeBreakpoint","_containerClasses","extendWith","renderExternal","renderExternalUpdate","renderSlides","_getParams2","newPassedParams","definePropertyModule","FINDER_PATTERN_SIZE","getPositions","feature","detection","POLYFILL","NATIVE","G15","G15_MASK","G15_BCH","getEncodedBits","__rest","SuppressedError","LEVELS","MASK_PATTERNS","MODES","TYPES","MAX_QR_VERSION","toSJISFunc","dataUrlRef","renderOptions","dataUrl","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","ENUMERABLE","WRITABLE","Attributes","ALPHA_NUM_CHARS","AlphanumericData","makeMap","expectsLowerCase","GLOBALS_WHITE_LISTED","isGloballyWhitelisted","normalizeStyle","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","tmp","normalizeClass","normalizeProps","HTML_TAGS","SVG_TAGS","isHTMLTag","isSVGTag","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","looseCompareArrays","equal","looseEqual","aValidType","bValidType","isSymbol","aKeysCount","bKeysCount","aHasKey","bHasKey","looseIndexOf","toDisplayString","objectToString","isFunction","isMap","isSet","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","onRE","isOn","toTypeString","toRawType","isIntegerKey","isReservedProp","isBuiltInDirective","cacheStringFunction","camelizeRE","camelize","hyphenateRE","hyphenate","toHandlerKey","hasChanged","invokeArrayFns","fns","looseToNumber","toNumber","NaN","_globalThis","getGlobalThis","globalThis","toPrimitive","SwiperSlide","virtualIndex","eventAttached","slideElRef","slideClasses","updateClasses","slideData","isDuplicate","isPrev","AlignmentPattern","FinderPattern","MaskPattern","ECCode","Version","FormatInfo","Segments","setupFinderPattern","setupTimingPattern","setupAlignmentPattern","setupVersionInfo","bits","setupFormatInfo","setupData","bitIndex","byteIndex","createData","getCharCountIndicator","totalCodewords","ecTotalCodewords","dataTotalCodewordsBits","remainingByte","createCodewords","dataTotalCodewords","ecTotalBlocks","blocksInGroup2","blocksInGroup1","totalCodewordsInGroup1","dataCodewordsInGroup1","dataCodewordsInGroup2","ecCount","rs","dcData","ecData","maxDataSize","dataSize","createSymbol","fromArray","estimatedVersion","rawSegments","rawSplit","getBestVersionForData","bestVersion","dataBits","moduleCount","getDevtoolsGlobalHook","getTarget","__VUE_DEVTOOLS_GLOBAL_HOOK__","isProxyAvailable","that","hasIndices","ignoreCase","multiline","dotAll","unicodeSets","sticky","settle","buildFullPath","parseHeaders","isURLSameOrigin","onCanceled","requestData","requestHeaders","auth","username","password","unescape","Authorization","btoa","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","onreadystatechange","responseURL","onabort","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","setRequestHeader","onDownloadProgress","onUploadProgress","upload","abort","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","VersionCheck","Regex","ccBits","MIXED","getBestModeForData","dataStr","NumericData","getStringByteLength","getSegments","getSegmentsFromString","numSegs","alphaNumSegs","byteSegs","kanjiSegs","segs","getSegmentBitsLength","mergeSegments","curr","prevSeg","buildNodes","seg","buildGraph","table","prevNodeIds","nodeGroup","currentNodeIds","lastCount","prevNodeId","buildSingleSegment","modesHint","bestMode","array","optimizedSegs","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","extendStatics","__extends","__","__assign","__awaiter","adopt","step","__generator","sent","trys","ops","verb","op","__spreadArray","pack","ar","Bounds","fromClientRect","windowBounds","fromDOMRectList","domRectList","domRect","EMPTY","parseBounds","parseDocumentSize","toCodePoints$1","codePoints","extra","fromCodePoint$1","codeUnits","chars$2","lookup$2","i$2","chars$1$1","lookup$1$1","i$1$1","decode$1","base64","encoded1","encoded2","encoded3","encoded4","bufferLength","ArrayBuffer","bytes","polyUint16Array$1","polyUint32Array$1","UTRIE2_SHIFT_2$1","UTRIE2_SHIFT_1$1","UTRIE2_INDEX_SHIFT$1","UTRIE2_SHIFT_1_2$1","UTRIE2_LSCP_INDEX_2_OFFSET$1","UTRIE2_DATA_BLOCK_LENGTH$1","UTRIE2_DATA_MASK$1","UTRIE2_LSCP_INDEX_2_LENGTH$1","UTRIE2_INDEX_2_BMP_LENGTH$1","UTRIE2_UTF8_2B_INDEX_2_OFFSET$1","UTRIE2_UTF8_2B_INDEX_2_LENGTH$1","UTRIE2_INDEX_1_OFFSET$1","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1","UTRIE2_INDEX_2_BLOCK_LENGTH$1","UTRIE2_INDEX_2_MASK$1","slice16$1","view","Uint16Array","slice32$1","Uint32Array","createTrieFromBase64$1","_byteLength","view32","view16","headerLength","Trie$1","Trie","errorValue","highStart","highValueIndex","ix","chars$3","lookup$3","i$3","base64$1","LETTER_NUMBER_MODIFIER","BK","CR$1","LF$1","CM","NL","WJ","ZW","GL","SP","ZWJ$1","B2","BA","BB","HY","CB","CL","CP","EX","IN","NS","OP","QU","IS","NU","PO","PR","SY","AI","AL","CJ","EB","EM","H2","H3","HL","ID","JL","JV","JT","RI$1","SA","XX","ea_OP","BREAK_MANDATORY","BREAK_NOT_ALLOWED$1","BREAK_ALLOWED$1","UnicodeTrie$1","ALPHABETICS","HARD_LINE_BREAKS","SPACE$1","PREFIX_POSTFIX","LINE_BREAKS","KOREAN_SYLLABLE_BLOCK","HYPHEN","codePointsToCharacterClasses","lineBreak","indices","categories","classType","isAdjacentWithSpaceIgnored","currentIndex","classTypes","previousNonSpaceClassType","_lineBreakAtIndex","indicies","forbiddenBreaks","beforeIndex","afterIndex","cssFormattedClasses","wordBreak","isLetterNumber","forbiddenBreakpoints","letterNumber","Break","LineBreaker","lastEnd","FLAG_UNRESTRICTED","FLAG_ID","FLAG_INTEGER","FLAG_NUMBER","LINE_FEED","SOLIDUS","REVERSE_SOLIDUS","CHARACTER_TABULATION","SPACE","QUOTATION_MARK","EQUALS_SIGN","NUMBER_SIGN","DOLLAR_SIGN","PERCENTAGE_SIGN","APOSTROPHE","LEFT_PARENTHESIS","RIGHT_PARENTHESIS","LOW_LINE","HYPHEN_MINUS","EXCLAMATION_MARK","LESS_THAN_SIGN","GREATER_THAN_SIGN","COMMERCIAL_AT","LEFT_SQUARE_BRACKET","RIGHT_SQUARE_BRACKET","CIRCUMFLEX_ACCENT","LEFT_CURLY_BRACKET","QUESTION_MARK","RIGHT_CURLY_BRACKET","VERTICAL_LINE","TILDE","CONTROL","REPLACEMENT_CHARACTER","ASTERISK","PLUS_SIGN","COMMA","COLON","SEMICOLON","FULL_STOP","NULL","BACKSPACE","LINE_TABULATION","SHIFT_OUT","INFORMATION_SEPARATOR_ONE","DELETE","ZERO","A","E","F","U","Z","isDigit","isSurrogateCodePoint","isHex","isLowerCaseLetter","isUpperCaseLetter","isLetter","isNonASCIICodePoint","isWhiteSpace","isNameStartCodePoint","isNameCodePoint","isNonPrintableCodePoint","isValidEscape","c3","stringToNumber","sign","integers","int","fraction","fracd","frac","expsign","exponent","LEFT_PARENTHESIS_TOKEN","RIGHT_PARENTHESIS_TOKEN","COMMA_TOKEN","SUFFIX_MATCH_TOKEN","PREFIX_MATCH_TOKEN","COLUMN_TOKEN","DASH_MATCH_TOKEN","INCLUDE_MATCH_TOKEN","LEFT_CURLY_BRACKET_TOKEN","RIGHT_CURLY_BRACKET_TOKEN","SUBSTRING_MATCH_TOKEN","BAD_URL_TOKEN","BAD_STRING_TOKEN","CDO_TOKEN","CDC_TOKEN","COLON_TOKEN","SEMICOLON_TOKEN","LEFT_SQUARE_BRACKET_TOKEN","RIGHT_SQUARE_BRACKET_TOKEN","WHITESPACE_TOKEN","EOF_TOKEN","Tokenizer","chunk","consumeToken","consumeCodePoint","consumeStringToken","peekCodePoint","consumeName","reconsumeCodePoint","consumeNumericToken","e3","consumeIdentLikeToken","a1","a3","u1","u2","consumeUnicodeRangeToken","consumeWhiteSpace","questionMarks","start_1","endDigits","consumeUrlToken","stringToken","consumeBadUrlRemnants","consumeEscapedCodePoint","consumeStringSlice","SLICE_STACK_SIZE","amount","endingCodePoint","consumeNumber","repr","unit","hexCodePoint","Parser","_tokens","parseComponentValue","parseValues","parseComponentValues","reconsumeToken","consumeComponentValue","consumeSimpleBlock","consumeFunction","isEndingTokenFor","functionToken","cssFunction","isDimensionToken","isNumberToken","isIdentToken","isStringToken","isIdentWithValue","nonWhiteSpace","nonFunctionArgSeparator","parseFunctionArgs","isLength","isLengthPercentage","parseLengthPercentageTuple","ZERO_LENGTH","FIFTY_PERCENT","HUNDRED_PERCENT","getAbsoluteValueForTuple","tuple","getAbsoluteValue","DEG","GRAD","RAD","TURN","angle","isAngle","parseNamedSide","sideOrCorner","ident","deg","color$1","colorFunction","SUPPORTED_COLOR_FUNCTIONS","substring","namedColor","COLORS","TRANSPARENT","isTransparent","asString","blue","green","red","getTokenColorValue","rgb","hue2rgb","t1","t2","hue","hsl","saturation","lightness","hsla","rgba","parseColor","ALICEBLUE","ANTIQUEWHITE","AQUA","AQUAMARINE","AZURE","BEIGE","BISQUE","BLACK","BLANCHEDALMOND","BLUE","BLUEVIOLET","BROWN","BURLYWOOD","CADETBLUE","CHARTREUSE","CHOCOLATE","CORAL","CORNFLOWERBLUE","CORNSILK","CRIMSON","CYAN","DARKBLUE","DARKCYAN","DARKGOLDENROD","DARKGRAY","DARKGREEN","DARKGREY","DARKKHAKI","DARKMAGENTA","DARKOLIVEGREEN","DARKORANGE","DARKORCHID","DARKRED","DARKSALMON","DARKSEAGREEN","DARKSLATEBLUE","DARKSLATEGRAY","DARKSLATEGREY","DARKTURQUOISE","DARKVIOLET","DEEPPINK","DEEPSKYBLUE","DIMGRAY","DIMGREY","DODGERBLUE","FIREBRICK","FLORALWHITE","FORESTGREEN","FUCHSIA","GAINSBORO","GHOSTWHITE","GOLD","GOLDENROD","GRAY","GREEN","GREENYELLOW","GREY","HONEYDEW","HOTPINK","INDIANRED","INDIGO","IVORY","KHAKI","LAVENDER","LAVENDERBLUSH","LAWNGREEN","LEMONCHIFFON","LIGHTBLUE","LIGHTCORAL","LIGHTCYAN","LIGHTGOLDENRODYELLOW","LIGHTGRAY","LIGHTGREEN","LIGHTGREY","LIGHTPINK","LIGHTSALMON","LIGHTSEAGREEN","LIGHTSKYBLUE","LIGHTSLATEGRAY","LIGHTSLATEGREY","LIGHTSTEELBLUE","LIGHTYELLOW","LIME","LIMEGREEN","LINEN","MAGENTA","MAROON","MEDIUMAQUAMARINE","MEDIUMBLUE","MEDIUMORCHID","MEDIUMPURPLE","MEDIUMSEAGREEN","MEDIUMSLATEBLUE","MEDIUMSPRINGGREEN","MEDIUMTURQUOISE","MEDIUMVIOLETRED","MIDNIGHTBLUE","MINTCREAM","MISTYROSE","MOCCASIN","NAVAJOWHITE","NAVY","OLDLACE","OLIVE","OLIVEDRAB","ORANGE","ORANGERED","ORCHID","PALEGOLDENROD","PALEGREEN","PALETURQUOISE","PALEVIOLETRED","PAPAYAWHIP","PEACHPUFF","PERU","PINK","PLUM","POWDERBLUE","PURPLE","REBECCAPURPLE","RED","ROSYBROWN","ROYALBLUE","SADDLEBROWN","SALMON","SANDYBROWN","SEAGREEN","SEASHELL","SIENNA","SILVER","SKYBLUE","SLATEBLUE","SLATEGRAY","SLATEGREY","SNOW","SPRINGGREEN","STEELBLUE","TAN","TEAL","THISTLE","TOMATO","TURQUOISE","VIOLET","WHEAT","WHITE","WHITESMOKE","YELLOW","YELLOWGREEN","backgroundClip","parseColorStop","processColorStops","stops","first","processStops","stop_1","absoluteValue","gapBegin","stop_2","gapLength","beforeGap","gapValue","getAngleFromCorner","corner","centerX","centerY","calculateGradientDirection","radian","sin","cos","halfWidth","halfHeight","halfLineLength","yDiff","xDiff","findCorner","corners","optimumDistance","optimumCorner","calculateRadius","gradient","rx","ry","shape","linearGradient","angle$1","firstToken","colorStop","prefixLinearGradient","webkitGradient","CLOSEST_SIDE","FARTHEST_SIDE","CLOSEST_CORNER","FARTHEST_CORNER","CIRCLE","ELLIPSE","COVER","CONTAIN","radialGradient","isColorStop","isAtPosition_1","prefixRadialGradient","isLinearGradient","isRadialGradient","image_1","addImage","imageFunction","SUPPORTED_IMAGE_FUNCTIONS","isSupportedImage","BACKGROUND_SIZE","backgroundImage","backgroundOrigin","backgroundPosition","backgroundRepeat","parseBackgroundRepeat","LINE_BREAK","backgroundSize","isBackgroundSizeInfoToken","borderColorForSide","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderRadiusForSide","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","borderStyleForSide","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderWidthForSide","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","parseDisplayValue","float","letterSpacing","WORD_BREAK","STRICT","NORMAL","lineHeight","computeLineHeight","listStyleImage","listStylePosition","listStyleType","marginForSide","overflowWrap","paddingForSide","paddingTop","paddingBottom","textAlign","textShadow","shadow","textTransform","transform$1","transformFunction","SUPPORTED_TRANSFORM_FUNCTIONS","matrix3d","b1","a4","b4","DEFAULT_VALUE","DEFAULT","transformOrigin","origins","visibility","BREAK_ALL","KEEP_ALL","textDecorationColor","textDecorationLine","fontFamily","accumulator","fontWeight","fontVariant","fontStyle","counterIncrement","increments","counter","counterReset","resets","quotes","open_1","close_1","close","getQuote","quote","boxShadow","spread","inset","paintOrder","layers","webkitTextStrokeColor","webkitTextStrokeWidth","CSSParsedDeclaration","declaration","animationDuration","cssFloat","overflowTuple","textDecoration","isTransformed","isPositioned","isPositionedWithZIndex","isFloating","isInlineLevel","CSSParsedPseudoDeclaration","CSSParsedCounterDeclaration","length_1","value_1","elementDebuggerAttribute","getElementDebugType","isDebugging","elementType","ElementContainer","textNodes","isHTMLElementNode","bounds","chars$1","lookup$1","i$1","polyUint16Array","polyUint32Array","UTRIE2_SHIFT_2","UTRIE2_SHIFT_1","UTRIE2_INDEX_SHIFT","UTRIE2_SHIFT_1_2","UTRIE2_LSCP_INDEX_2_OFFSET","UTRIE2_DATA_BLOCK_LENGTH","UTRIE2_DATA_MASK","UTRIE2_LSCP_INDEX_2_LENGTH","UTRIE2_INDEX_2_BMP_LENGTH","UTRIE2_UTF8_2B_INDEX_2_OFFSET","UTRIE2_UTF8_2B_INDEX_2_LENGTH","UTRIE2_INDEX_1_OFFSET","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH","UTRIE2_INDEX_2_BLOCK_LENGTH","UTRIE2_INDEX_2_MASK","slice16","slice32","createTrieFromBase64","chars","lookup","PseudoElementType","Prepend","CR","LF","Control","Extend","SpacingMark","V","LV","LVT","ZWJ","Extended_Pictographic","RI","toCodePoints","UnicodeTrie","BREAK_NOT_ALLOWED","BREAK_ALLOWED","codePointToClass","_graphemeBreakAtIndex","_codePoints","countRI","GraphemeBreaker","graphemeBreak","splitGraphemes","bk","breaker","graphemes","testRangeBounds","TEST_HEIGHT","testElement","selectNode","rangeBounds","rangeHeight","testIOSLineBreak","wordSpacing","textList","supports","setStart","setEnd","boundAhead","testCORS","crossOrigin","testResponseType","testSVG","drawImage","isGreenPixel","testForeignObject","fillStyle","fillRect","greenImageSrc","svg","createForeignObjectSVG","loadSerializedSVG$1","getImageData","foreignObject","XMLSerializer","serializeToString","FEATURES","SUPPORT_RANGE_BOUNDS","Segmenter","TextBounds","parseTextBounds","breakText","textBounds","clientRects","subSegments","segmentGraphemes","subOffset_1","subSegment","replacementNode","splitText","getWrapperBounds","replaceChild","SUPPORT_NATIVE_TEXT_SEGMENTATION","segmenter","granularity","segmentWords","breakWords","wordSeparators","words","_loop_1","word_1","TextContainer","CAPITALIZE","ImageElementContainer","intrinsicWidth","naturalWidth","intrinsicHeight","naturalHeight","CanvasElementContainer","SVGElementContainer","baseVal","LIElementContainer","OLElementContainer","reversed","CHECKBOX_BORDER_RADIUS","RADIO_BORDER_RADIUS","reformatInputBounds","getInputValue","PASSWORD","CHECKBOX","RADIO","INPUT_COLOR","InputElementContainer","SelectElementContainer","TextareaElementContainer","IFrameElementContainer","iframe","contentWindow","parseTree","documentBackgroundColor","bodyBackgroundColor","LIST_OWNERS","parseNodeTree","childNode","isTextNode","isElementNode","isSlotElement","assignedNodes","createContainer","createsRealStackingContext","createsStackingContext","isTextareaElement","isSVGElement","isSelectElement","isImageElement","isCanvasElement","isLIElement","isOLElement","isInputElement","isIFrameElement","isBodyElement","TEXT_NODE","isSVGElementNode","isVideoElement","isStyleElement","isScriptElement","CounterState","counters","getCounterValue","getCounterValues","canReset","counterNames","ROMAN_UPPER","ARMENIAN","HEBREW","GEORGIAN","createAdditiveCounter","suffix","createCounterText","createCounterStyleWithSymbolResolver","codePointRangeLength","isNumeric","createCounterStyleFromRange","codePointRangeStart","codePointRangeEnd","createCounterStyleFromSymbols","CJK_ZEROS","CJK_TEN_COEFFICIENTS","CJK_TEN_HIGH_COEFFICIENTS","CJK_HUNDRED_COEFFICIENTS","createCJKCounter","numbers","multipliers","negativeSign","coefficient","CHINESE_INFORMAL_MULTIPLIERS","CHINESE_FORMAL_MULTIPLIERS","JAPANESE_NEGATIVE","KOREAN_NEGATIVE","appendSuffix","defaultSuffix","cjkSuffix","koreanSuffix","spaceSuffix","IGNORE_ATTRIBUTE","DocumentCloner","scrolledElements","quoteDepth","toIFrame","windowSize","createIFrameContainer","cloneWindow","documentClone","iframeLoad","iframeLoader","onclone","restoreNodeScroll","logger","clonedReferenceElement","fonts","imagesReady","serializeDoctype","doctype","restoreOwnerScroll","adoptNode","createElementClone","createCanvasClone","createVideoClone","createStyleClone","loading","createCustomElementClone","copyCSSStyles","sheet","cssRules","rule","inlineImages","clonedCanvas","clonedCtx","allowTaint","gl","attribs","getContextAttributes","preserveDrawingBuffer","video","blankCanvas","appendChildNode","copyStyles","ignoreElements","cloneChildNodes","assignedNode","transitionProperty","styleBefore","styleAfter","createPseudoHideStyles","resolvePseudoContent","BEFORE","AFTER","pseudoElt","anonymousReplacedElement","counterStyle","counterState","counterType","delim","counterStates","counterType_1","separator","PSEUDO_HIDE_ELEMENT_CLASS_BEFORE","PSEUDO_HIDE_ELEMENT_CLASS_AFTER","newClassName","baseValue","CORNER","cloneIframeContainer","scrolling","imageReady","ignoredStyleProperties","internalSubset","publicId","systemId","PSEUDO_BEFORE","PSEUDO_AFTER","PSEUDO_HIDE_ELEMENT_STYLE","createStyles","CacheStorage","getOrigin","_link","isSameOrigin","_origin","setContext","Cache","isBlobImage","isRenderable","useCORS","useProxy","isInlineImage","SUPPORT_CORS_IMAGES","SUPPORT_CORS_XHR","debug","isInlineBase64Image","imageTimeout","SUPPORT_RESPONSE_TYPE","xhr","reader_1","queryString","timeout_1","INLINE_SVG","INLINE_BASE64","INLINE_IMG","SUPPORT_SVG_DRAWING","Vector","deltaX","deltaY","lerp","BezierCurve","startControl","endControl","subdivide","firstHalf","ab","cd","abbc","bccd","dest","isBezierCurve","BoundCurves","tlh","tlv","trh","trv","brh","brv","blh","blv","factors","maxFactor","topWidth","rightHeight","bottomWidth","leftHeight","topLeftBorderDoubleOuterBox","getCurvePoints","TOP_LEFT","topRightBorderDoubleOuterBox","TOP_RIGHT","bottomRightBorderDoubleOuterBox","BOTTOM_RIGHT","bottomLeftBorderDoubleOuterBox","BOTTOM_LEFT","topLeftBorderDoubleInnerBox","topRightBorderDoubleInnerBox","bottomRightBorderDoubleInnerBox","bottomLeftBorderDoubleInnerBox","topLeftBorderStroke","topRightBorderStroke","bottomRightBorderStroke","bottomLeftBorderStroke","topLeftBorderBox","topRightBorderBox","bottomRightBorderBox","bottomLeftBorderBox","topLeftPaddingBox","topRightPaddingBox","bottomRightPaddingBox","bottomLeftPaddingBox","topLeftContentBox","topRightContentBox","bottomRightContentBox","bottomLeftContentBox","r1","r2","kappa","ox","oy","xm","ym","calculateBorderBoxPath","curves","calculateContentBoxPath","calculatePaddingBoxPath","TransformEffect","ClipEffect","OpacityEffect","isTransformEffect","isClipEffect","isOpacityEffect","equalPath","transformPath","deltaW","deltaH","StackingContext","inlineLevel","nonInlineLevel","negativeZIndex","zeroOrAutoZIndexOrTransformedOrOpacity","positiveZIndex","nonPositionedFloats","nonPositionedInlineLevel","ElementPaint","borderBox","paddingBox","getEffects","inFlow","croplessEffects","parseStackTree","stackingContext","realStackingContext","listItems","treatAsRealStackingContext","paintContainer","listOwnerItems","parentStack","order_1","index_1","index_2","processListItems","numbering","listValue","parseStackingContexts","parsePathForBorder","borderSide","createPathFromCurves","parsePathForBorderDoubleOuter","parsePathForBorderDoubleInner","parsePathForBorderStroke","createStrokePathFromCurves","outer1","outer2","inner1","inner2","contentBox","calculateBackgroundPositioningArea","calculateBackgroundPaintingArea","calculateBackgroundRendering","intrinsicSize","backgroundPositioningArea","getBackgroundValueForIndex","backgroundPaintingArea","backgroundImageSize","calculateBackgroundSize","sizeWidth","sizeHeight","calculateBackgroundRepeatPath","isAuto","hasIntrinsicValue","intrinsicProportion","hasIntrinsicProportion","targetRatio","hasIntrinsicWidth","hasIntrinsicHeight","hasIntrinsicDimensions","width_1","height_1","width_2","height_2","width_3","height_3","SMALL_IMAGE","SAMPLE_TEXT","FontMetrics","_data","_document","parseMetrics","whiteSpace","verticalAlign","baseline","getMetrics","Renderer","MASK_OFFSET","CanvasRenderer","_activeEffects","fontMetrics","textBaseline","applyEffects","popEffect","applyEffect","save","globalAlpha","clip","restore","renderStack","renderStackContent","renderNode","paint","renderNodeBackgroundAndBorders","renderNodeContent","renderTextWithLetterSpacing","fillText","letters","letter","measureText","createFontStyle","variant","fixIOSSystemFonts","renderTextNode","font","paintOrderLayer","textShadows","shadowColor","shadowOffsetX","shadowOffsetY","shadowBlur","strokeStyle","lineWidth","lineJoin","chrome","strokeText","renderReplacedElement","iframeRenderer","beginPath","arc","isTextInputElement","canvasTextAlign","_f","_g","_h","_j","_k","_l","_m","_o","_p","paths","moveTo","lineTo","formatPath","closePath","bezierCurveTo","renderRepeat","resizeImage","renderBackgroundImage","this_1","x0","x1","y0","y1","gradient_1","top_1","radialGradient_1","midX","midY","invF","createPattern","createLinearGradient","addColorStop","createRadialGradient","renderSolidBorder","curvePoints","renderDoubleBorder","outerPaths","innerPaths","hasBackground","borders","borders_1","calculateBackgroundCurvedPaintingArea","borderBoxArea","maskOffset","shadowPaintingArea","renderDashedDottedBorder","strokePaths","boxPaths","endX","endY","dashLength","spaceLength","useLineDash","numberOfDashes","minSpace","maxSpace","path1","path2","setLineDash","lineCap","iOSBrokenFonts","fontFamilies","ForeignObjectRenderer","loadSerializedSVG","Logger","Context","instanceName","instanceCount","logging","html2canvas","renderElement","resourceOptions","contextOptions","windowOptions","foreignObjectRendering","cloneOptions","documentCloner","clonedElement","_q","_r","_t","_u","windowWidth","windowHeight","parseBackgroundColor","removeContainer","backgroundColorOverride","defaultBackgroundColor","ignoreDuplicateOf","FormData","isView","pipe","URLSearchParams","product","assignValue","stripBOM","head","__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","vertical","gradientColor","gradientWidth","gradientLength","pauseOnHover","pauseOnClick","animateOnOverflowOnly","cloneAmount","minWidth","minHeight","componentKey","verticalAnimationPause","animateOnOverflowPause","containerWidth","contentWidth","containerHeight","contentHeight","mouseOverMarquee","mouseDownMarquee","loopCounter","loopInterval","marqueeContent","marqueeOverlayContainer","ForcesUpdate","async","checkForClone","localCloneAmount","oldVal","hoverStarted","hoverEnded","mouseDown","mouseUp","animationState","hoverAnimationState","clickAnimationState","getCurrentStyle","cssVariables","animationStyles","orientation","showGradient","setupMarquee","horizontal","onMouseenter","onMouseleave","onMousedown","onMouseup","Vue3Marquee","NATIVE_BIND","SHARED","G18","G18_BCH","getBestVersionForDataLength","currentVersion","getCapacity","getReservedBitsCount","getTotalBitsFromDataArray","totalBits","reservedBits","getBestVersionForMixedData","usableBits","ecl","normalizedName","createCommonjsModule","assignSymbols$1","isEnumerable","getSymbols","assignSymbols$2","__moduleExports","assignSymbols","assignDeep","isValidKey","isPrimitive","inBrowser","hasIntersectionObserver","checkIntersectionObserver","IntersectionObserverEntry","intersectionRatio","modeType","getBestSelectionFromSrcset","spaceIndex","tmpSrc","tmpWidth","lastIndexOf","tmpOption","bestSelectedSrc","getDPR","supportWebp","checkWebpFeature","kTestImages","lossy","lossless","throttle","lastRun","elapsed","runCallback","testSupportsPassive","loadImageAsync","cors","ImageCache","_caches","free","ReactiveListener","bindType","elRenderer","imageCache","attempt","_imageCache","performanceData","loadStart","loadEnd","initState","oldSrc","getRect","preLoad","preLoadTop","onFinish","renderLoading","beforeLoad","DEFAULT_URL","DEFAULT_EVENTS","DEFAULT_OBSERVER_OPTIONS","Lazy","throttleWait","listenEvents","observerOptions","lazyContainerMananger","ListenerQueue","TargetIndex","TargetQueue","_initEvent","lazyLoadHandler","_lazyLoadHandler","setMode","vm","_addListenerTarget","_valueFormatter","newListener","_elRenderer","exist","existItem","_removeListenerTarget","$destroy","_initListen","_initIntersectionObserver","childrenCount","listened","$on","$once","$off","inCache","freeList","catIn","checkInView","_observerHandler","useCheckInView","LazyComponent","addLazyBox","removeComponent","LazyContainerMananger","_queue","LazyContainer","imgs","getImgs","LazyImage","renderSrc","lazyContainer","vueVersion","$Lazyload","lazyComponent","lazyImage","simple","unsafe","nonConfigurable","nonWritable","createInstance","defaultConfig","axios","promises","canPromise","QRCode","SvgRenderer","renderCanvas","renderFunc","argsNum","isLastArgCb","toCanvas","aFunction","Autoplay","$activeSlideEl","autoplayResult","reverseDirection","stopOnLastSlide","onTransitionEnd","onVisibilityChange","visibilityState","onMouseEnter","disableOnInteraction","onMouseLeave","attachMouseEvents","pauseOnMouseEnter","detachMouseEvents","beforeTransitionStart","sliderFirstMove","touchEnd","$propertyIsEnumerable","NASHORN_BUG","1","getRowColCoords","posCount","intervals","positions","coords","posLength","$Symbol","aCallable","group","remainingNum","normalizeArray","allowAboveRoot","basename","matchedSlash","xs","resolvedPath","resolvedAbsolute","isAbsolute","trailingSlash","relative","fromParts","toParts","samePartsLength","outputParts","sep","delimiter","dirname","hasRoot","extname","startDot","startPart","preDotState","uncurryThisWithBind","relativeURL","getOwnPropertyDescriptorModule","exceptions","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","eject","RE_ARGS","identifier","hasSymbol","makeSymbol","generateFormatCacheKey","friendlyJSONstringify","json","isEmptyObject","escapeHtml","rawText","toPromise","titleText","footer","iconColor","iconHtml","toast","showClass","popup","hideClass","heightAuto","allowOutsideClick","allowEscapeKey","allowEnterKey","stopKeydownPropagation","keydownListenerCapture","showConfirmButton","showDenyButton","showCancelButton","preConfirm","preDeny","confirmButtonText","confirmButtonAriaLabel","confirmButtonColor","denyButtonText","denyButtonAriaLabel","denyButtonColor","cancelButtonText","cancelButtonAriaLabel","cancelButtonColor","buttonsStyling","reverseButtons","focusConfirm","focusDeny","focusCancel","returnFocus","showCloseButton","closeButtonHtml","closeButtonAriaLabel","loaderHtml","showLoaderOnConfirm","showLoaderOnDeny","imageUrl","imageWidth","imageHeight","imageAlt","timer","timerProgressBar","inputPlaceholder","inputLabel","inputValue","inputAutoTrim","inputAttributes","inputValidator","returnInputValueOnDeny","validationMessage","grow","progressSteps","currentProgressStep","progressStepsDistance","willOpen","didOpen","didRender","willClose","didClose","didDestroy","scrollbarPadding","C","B","S","D","I","q","confirm","deny","W","K","Y","J","X","previousBodyPadding","G","tt","et","st","nt","checkbox","radio","ot","at","ct","lt","dt","pt","gt","ht","ft","bt","yt","wt","vt","Ct","kt","previousActiveElement","At","restoreFocusTimeout","Pt","file","textarea","Bt","xt","resetValidationMessage","Et","oninput","onchange","Tt","St","Ot","Lt","jt","Mt","Dt","It","WebkitAnimation","Ht","qt","Vt","Rt","Nt","styled","Ft","Ut","Wt","zt","awaitingPromise","innerParams","domCache","Kt","Jt","Yt","Xt","ee","Zt","Gt","Qt","insertAdjacentElement","email","tel","attributeFilter","ne","oe","ie","se","ue","de","ae","le","pe","question","warning","borderColor","me","ge","he","fe","be","ye","we","modal","ve","Ce","ke","Ae","Pe","Be","je","xe","Ee","Te","Se","Oe","Le","Me","De","Ie","He","qe","Ve","remaining","Ne","Re","Fe","MSStream","iosfix","We","Ue","ontouchstart","ze","ontouchmove","Ke","touchType","$e","Ye","Ze","Qe","Xe","Ge","Je","shown","tn","en","nn","cn","ln","getInput","sn","rn","an","files","un","dn","hideLoading","pn","mn","disableButtons","Cn","gn","yn","hn","bn","checkValidity","enableButtons","showValidationMessage","disableInput","enableInput","closePopup","isDenied","vn","wn","isConfirmed","rejectPromise","kn","An","xn","En","Tn","onclick","Pn","Bn","onmousedown","onmouseup","Sn","On","Ln","jn","Mn","keydownTarget","keydownHandlerAdded","keydownHandler","qn","Dn","In","Hn","Vn","Nn","Rn","Fn","isComposing","Un","Wn","zn","Kn","_main","getTimerLeft","Yn","Zn","Jn","Xn","increase","Gn","isRunning","Qn","eo","no","fire","oo","isValidParameter","isUpdatableParameter","isDeprecatedParameter","argsToParams","clickConfirm","clickDeny","clickCancel","getContainer","getPopup","getTitle","getHtmlContainer","getImage","getIcon","getInputLabel","getCloseButton","getActions","getConfirmButton","getDenyButton","getCancelButton","getLoader","getFooter","getTimerProgressBar","getFocusableElements","getValidationMessage","isLoading","showLoading","enableLoading","stopTimer","resumeTimer","toggleTimer","increaseTimer","isTimerRunning","bindClickHandler","io","so","confirmButton","denyButton","cancelButton","getElementsByClassName","ro","ao","swalPromiseResolve","swalPromiseReject","co","wo","lo","uo","fo","mo","isAwaitingPromise","isDismissed","ho","po","bo","_destroy","yo","swalCloseEventFinishedCallback","vo","Co","ko","Ao","Po","Bo","xo","inputerror","Eo","To","So","Oo","Lo","deferDisposalTimer","jo","Mo","Do","Io","disableLoading","closeModal","closeToast","getProgressSteps","Ho","qo","No","Ro","Vo","finally","dismiss","closeButton","Fo","Uo","Wo","zo","DismissReason","Sweetalert2","swal","sweetAlert","Swal","SweetAlert","$swal","IndexedObject","ssrDocument","initEvent","getElementsByTagName","importNode","getDocument","ssrWindow","pushState","cancelAnimationFrame"],"mappings":"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ACf8W,IAAKA,EACLxO,IAAKA,EACLuO,IAAKA,EACLlL,QAASA,EACTk6D,UAAWA,I,oCCnEbvjE,OAAO+F,eAAerI,EAAS,aAAc,CAAEiK,OAAO,IAGtDjK,EAAQ0jC,QAAU,CAACwiC,EAAKxnD,KACpB,MAAMrR,EAAS64D,EAAIxL,WAAawL,EAChC,IAAK,MAAOt7D,EAAKqY,KAAQvE,EACrBrR,EAAOzC,GAAOqY,EAElB,OAAO5V,I,oCCTX,mDACA,MAAM84D,EAAe,CACnB,CACE,6BACA,KACA,MAEF,CACE,qBACA,KACA,OAEF,CACE,uBACA,KACA,OAEF,CACE,iBACA,KACA,QAEF,CACE,UACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,WACA,KACA,QAEF,CACE,sBACA,KACA,QAEF,CACE,YACA,KACA,MAEF,CACE,qBACA,KACA,OAEF,CACE,QACA,KACA,OAEF,CACE,YACA,KACA,MAEF,CACE,uBACA,KACA,MAEF,CACE,0BACA,KACA,OAEF,CACE,UACA,KACA,QAEF,CACE,uBACA,KACA,OAEF,CACE,wBACA,KACA,OAEF,CACE,WACA,KACA,QAEF,CACE,qBACA,KACA,OAEF,CACE,mBACA,KACA,MAEF,CACE,SACA,KACA,OAEF,CACE,gBACA,KACA,OAEF,CACE,UACA,KACA,QAEF,CACE,iBACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,+CACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,kBACA,KACA,MAEF,CACE,iCACA,KACA,OAEF,CACE,yBACA,KACA,QAEF,CACE,SACA,KACA,OAEF,CACE,sBACA,KACA,OAEF,CACE,eACA,KACA,OAEF,CACE,qBACA,KACA,OAEF,CACE,qBACA,KACA,OAEF,CACE,sBACA,KACA,OAEF,CACE,SACA,KACA,KAEF,CACE,0BACA,KACA,OAEF,CACE,wBACA,KACA,OAEF,CACE,iBACA,KACA,QAEF,CACE,uDACA,KACA,OAEF,CACE,eACA,KACA,OAEF,CACE,QACA,KACA,MAEF,CACE,aACA,KACA,MAEF,CACE,mBACA,KACA,MAEF,CACE,0BACA,KACA,MAEF,CACE,WACA,KACA,MAEF,CACE,yBACA,KACA,OAEF,CACE,iDACA,KACA,OAEF,CACE,uCACA,KACA,OAEF,CACE,eACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,gBACA,KACA,OAEF,CACE,qBACA,KACA,OAEF,CACE,OACA,KACA,MAEF,CACE,UACA,KACA,OAEF,CACE,kBACA,KACA,OAEF,CACE,mCACA,KACA,OAEF,CACE,oBACA,KACA,MAEF,CACE,WACA,KACA,OAEF,CACE,WACA,KACA,QAEF,CACE,4CACA,KACA,KAEF,CACE,UACA,KACA,OAEF,CACE,iBACA,KACA,MAEF,CACE,cACA,KACA,OAEF,CACE,wCACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,kBACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,oCACA,KACA,OAEF,CACE,0BACA,KACA,OAEF,CACE,OACA,KACA,OAEF,CACE,kBACA,KACA,OAEF,CACE,SACA,KACA,MAEF,CACE,mCACA,KACA,OAEF,CACE,yCACA,KACA,OAEF,CACE,QACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,uBACA,KACA,OAEF,CACE,wBACA,KACA,MAEF,CACE,gBACA,KACA,OAEF,CACE,YACA,KACA,OAEF,CACE,kBACA,KACA,MAEF,CACE,+BACA,KACA,OAEF,CACE,UACA,KACA,QAEF,CACE,aACA,KACA,OAEF,CACE,OACA,KACA,QAEF,CACE,YACA,KACA,OAEF,CACE,WACA,KACA,KACA,GAEF,CACE,kBACA,KACA,OAEF,CACE,+BACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,QACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,iBACA,KACA,OAEF,CACE,yBACA,KACA,MAEF,CACE,mBACA,KACA,OAEF,CACE,eACA,KACA,MAEF,CACE,YACA,KACA,MAEF,CACE,kBACA,KACA,MAEF,CACE,mBACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,cACA,KACA,MAEF,CACE,oBACA,KACA,OAEF,CACE,iBACA,KACA,MAEF,CACE,UACA,KACA,QAEF,CACE,aACA,KACA,MAEF,CACE,SACA,KACA,MAEF,CACE,qBACA,KACA,OAEF,CACE,yBACA,KACA,KAEF,CACE,QACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,qBACA,KACA,OAEF,CACE,0BACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,mBACA,KACA,OAEF,CACE,qBACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,mBACA,KACA,OAEF,CACE,gBACA,KACA,OAEF,CACE,sBACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,iCACA,KACA,OAEF,CACE,4BACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,WACA,KACA,MAEF,CACE,WACA,KACA,OAEF,CACE,OACA,KACA,OAEF,CACE,QACA,KACA,OAEF,CACE,mBACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,4BACA,KACA,OAEF,CACE,oBACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,kBACA,KACA,MAEF,CACE,aACA,KACA,OAEF,CACE,8BACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,oBACA,KACA,OAEF,CACE,yBACA,KACA,OAEF,CACE,aACA,KACA,QAEF,CACE,sBACA,KACA,OAEF,CACE,0BACA,KACA,OAEF,CACE,2BACA,KACA,MAEF,CACE,oBACA,KACA,OAEF,CACE,QACA,KACA,OAEF,CACE,gBACA,KACA,OAEF,CACE,0BACA,KACA,MAEF,CACE,qCACA,KACA,OAEF,CACE,cACA,KACA,MAEF,CACE,YACA,KACA,OAEF,CACE,gBACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,OACA,KACA,OAEF,CACE,iBACA,KACA,OAEF,CACE,+BACA,KACA,OAEF,CACE,2BACA,KACA,QAEF,CACE,iBACA,KACA,MAEF,CACE,kBACA,KACA,OAEF,CACE,wBACA,KACA,MAEF,CACE,QACA,KACA,OAEF,CACE,wBACA,KACA,OAEF,CACE,kBACA,KACA,OAEF,CACE,mBACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,cACA,KACA,MAEF,CACE,cACA,KACA,MAEF,CACE,kBACA,KACA,MAEF,CACE,WACA,KACA,OAEF,CACE,cACA,KACA,KAEF,CACE,iBACA,KACA,OAEF,CACE,uBACA,KACA,OAEF,CACE,oBACA,KACA,MAEF,CACE,kBACA,KACA,KAEF,CACE,SACA,KACA,OAEF,CACE,mBACA,KACA,OAEF,CACE,eACA,KACA,OAEF,CACE,wBACA,KACA,QAEF,CACE,cACA,KACA,QAEF,CACE,iDACA,KACA,OAEF,CACE,uDACA,KACA,OAEF,CACE,mCACA,KACA,QAEF,CACE,QACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,8CACA,KACA,OAEF,CACE,6CACA,KACA,OAEF,CACE,oBACA,KACA,OAEF,CACE,kBACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,eACA,KACA,OAEF,CACE,YACA,KACA,MAEF,CACE,eACA,KACA,QAEF,CACE,uBACA,KACA,OAEF,CACE,uBACA,KACA,OAEF,CACE,kBACA,KACA,OAEF,CACE,uBACA,KACA,OAEF,CACE,eACA,KACA,MAEF,CACE,qBACA,KACA,MAEF,CACE,gCACA,KACA,OAEF,CACE,iBACA,KACA,MAEF,CACE,0BACA,KACA,MAEF,CACE,qBACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,yBACA,KACA,MAEF,CACE,YACA,KACA,OAEF,CACE,mBACA,KACA,MAEF,CACE,wBACA,KACA,MAEF,CACE,mBACA,KACA,OAEF,CACE,cACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,iBACA,KACA,MAEF,CACE,cACA,KACA,OAEF,CACE,OACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,QACA,KACA,OAEF,CACE,sB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,CAAC,MAAO,GAAM,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,KAAM,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,KAAM,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,KAAM,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,KAAM,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,KAAM,KAAM,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,KAAM,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO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G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEpD38J,OAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MAGJ+iL,GAAS,CACTpmB,SAAU,CACN,IAAO,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC7G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEpD38J,OAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MAGJgjL,GAAW,CACXrmB,SAAU,CACN,IAAO,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAC1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAE5D38J,OAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MAGJijL,GAAwB,SAAU90M,EAAOsH,EAAKD,EAAKvJ,EAAS02B,EAAUugL,GACtE,OAAI/0M,EAAQsH,GAAOtH,EAAQqH,EAChB2tM,GAAkBh1M,EAAOw0B,EAAUugL,EAAOr+M,OAAS,GAEtDoH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","file":"js/chunk-vendors.3e5329a3.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","const encodeUtf8 = require('encode-utf8')\nconst Mode = require('./mode')\n\nfunction ByteData (data) {\n this.mode = Mode.BYTE\n if (typeof (data) === 'string') {\n data = encodeUtf8(data)\n }\n this.data = new Uint8Array(data)\n}\n\nByteData.getBitsLength = function getBitsLength (length) {\n return length * 8\n}\n\nByteData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nByteData.prototype.getBitsLength = function getBitsLength () {\n return ByteData.getBitsLength(this.data.length)\n}\n\nByteData.prototype.write = function (bitBuffer) {\n for (let i = 0, l = this.data.length; i < l; i++) {\n bitBuffer.put(this.data[i], 8)\n }\n}\n\nmodule.exports = ByteData\n","const numeric = '[0-9]+'\nconst alphanumeric = '[A-Z $%*+\\\\-./:]+'\nlet kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+'\nkanji = kanji.replace(/u/g, '\\\\u')\n\nconst byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+'\n\nexports.KANJI = new RegExp(kanji, 'g')\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g')\nexports.BYTE = new RegExp(byte, 'g')\nexports.NUMERIC = new RegExp(numeric, 'g')\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g')\n\nconst TEST_KANJI = new RegExp('^' + kanji + '$')\nconst TEST_NUMERIC = new RegExp('^' + numeric + '$')\nconst TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$')\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n}\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n}\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n}\n","/* eslint-disable es/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/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","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/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),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\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 uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\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/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","'use strict';\n\n/******************************************************************************\n * Created 2008-08-19.\n *\n * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n *\n * Copyright (C) 2008\n * Wyatt Baldwin \n * All rights reserved\n *\n * Licensed under the MIT license.\n *\n * http://www.opensource.org/licenses/mit-license.php\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *****************************************************************************/\nvar dijkstra = {\n single_source_shortest_paths: function(graph, s, d) {\n // Predecessor map for each node that has been encountered.\n // node ID => predecessor node ID\n var predecessors = {};\n\n // Costs of shortest paths from s to all nodes encountered.\n // node ID => cost\n var costs = {};\n costs[s] = 0;\n\n // Costs of shortest paths from s to all nodes encountered; differs from\n // `costs` in that it provides easy access to the node that currently has\n // the known shortest path from s.\n // XXX: Do we actually need both `costs` and `open`?\n var open = dijkstra.PriorityQueue.make();\n open.push(s, 0);\n\n var closest,\n u, v,\n cost_of_s_to_u,\n adjacent_nodes,\n cost_of_e,\n cost_of_s_to_u_plus_cost_of_e,\n cost_of_s_to_v,\n first_visit;\n while (!open.empty()) {\n // In the nodes remaining in graph that have a known cost from s,\n // find the node, u, that currently has the shortest path from s.\n closest = open.pop();\n u = closest.value;\n cost_of_s_to_u = closest.cost;\n\n // Get nodes adjacent to u...\n adjacent_nodes = graph[u] || {};\n\n // ...and explore the edges that connect u to those nodes, updating\n // the cost of the shortest paths to any or all of those nodes as\n // necessary. v is the node across the current edge from u.\n for (v in adjacent_nodes) {\n if (adjacent_nodes.hasOwnProperty(v)) {\n // Get the cost of the edge running from u to v.\n cost_of_e = adjacent_nodes[v];\n\n // Cost of s to u plus the cost of u to v across e--this is *a*\n // cost from s to v that may or may not be less than the current\n // known cost to v.\n cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n // If we haven't visited v yet OR if the current known cost from s to\n // v is greater than the new cost we just found (cost of s to u plus\n // cost of u to v across e), update v's cost in the cost list and\n // update v's predecessor in the predecessor list (it's now u).\n cost_of_s_to_v = costs[v];\n first_visit = (typeof costs[v] === 'undefined');\n if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n costs[v] = cost_of_s_to_u_plus_cost_of_e;\n open.push(v, cost_of_s_to_u_plus_cost_of_e);\n predecessors[v] = u;\n }\n }\n }\n }\n\n if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n throw new Error(msg);\n }\n\n return predecessors;\n },\n\n extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n var nodes = [];\n var u = d;\n var predecessor;\n while (u) {\n nodes.push(u);\n predecessor = predecessors[u];\n u = predecessors[u];\n }\n nodes.reverse();\n return nodes;\n },\n\n find_path: function(graph, s, d) {\n var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n return dijkstra.extract_shortest_path_from_predecessor_list(\n predecessors, d);\n },\n\n /**\n * A very naive priority queue implementation.\n */\n PriorityQueue: {\n make: function (opts) {\n var T = dijkstra.PriorityQueue,\n t = {},\n key;\n opts = opts || {};\n for (key in T) {\n if (T.hasOwnProperty(key)) {\n t[key] = T[key];\n }\n }\n t.queue = [];\n t.sorter = opts.sorter || T.default_sorter;\n return t;\n },\n\n default_sorter: function (a, b) {\n return a.cost - b.cost;\n },\n\n /**\n * Add a new item to the queue and ensure the highest priority element\n * is at the front of the queue.\n */\n push: function (value, cost) {\n var item = {value: value, cost: cost};\n this.queue.push(item);\n this.queue.sort(this.sorter);\n },\n\n /**\n * Return the highest priority element in the queue.\n */\n pop: function () {\n return this.queue.shift();\n },\n\n empty: function () {\n return this.queue.length === 0;\n }\n }\n};\n\n\n// node.js module exports\nif (typeof module !== 'undefined') {\n module.exports = dijkstra;\n}\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar 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;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\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 (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^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 = join(TEMPLATE, 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","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 and Safari <= 15.4, FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : 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/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\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 isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n//# sourceMappingURL=FileSaver.min.js.map","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/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 || defaults.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 headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\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","/**\n * Dom7 3.0.0\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2020, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: November 9, 2020\n */\nimport { getWindow, getDocument } from 'ssr-window';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\n/* eslint-disable no-proto */\nfunction makeReactive(obj) {\n var proto = obj.__proto__;\n Object.defineProperty(obj, '__proto__', {\n get: function get() {\n return proto;\n },\n set: function set(value) {\n proto.__proto__ = value;\n }\n });\n}\n\nvar Dom7 = /*#__PURE__*/function (_Array) {\n _inheritsLoose(Dom7, _Array);\n\n function Dom7(items) {\n var _this;\n\n _this = _Array.call.apply(_Array, [this].concat(items)) || this;\n makeReactive(_assertThisInitialized(_this));\n return _this;\n }\n\n return Dom7;\n}( /*#__PURE__*/_wrapNativeSuper(Array));\n\nfunction arrayFlat(arr) {\n if (arr === void 0) {\n arr = [];\n }\n\n var res = [];\n arr.forEach(function (el) {\n if (Array.isArray(el)) {\n res.push.apply(res, 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 var uniqueArray = [];\n\n for (var 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, function (match, group) {\n return group.toUpperCase();\n });\n}\n\nfunction qsa(selector, context) {\n if (typeof selector !== 'string') {\n return [selector];\n }\n\n var a = [];\n var res = context.querySelectorAll(selector);\n\n for (var i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n\n return a;\n}\n\nfunction $(selector, context) {\n var window = getWindow();\n var document = getDocument();\n var 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 var html = selector.trim();\n\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n var toCreate = 'div';\n if (html.indexOf(' 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 (var 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 (var 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 (var 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 (var 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 (var 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 var 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 var dataKey = el.getAttribute(\"data-\" + key);\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n } // Set value\n\n\n for (var 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 (var i = 0; i < this.length; i += 1) {\n var 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 var el = this[0];\n if (!el) return undefined;\n var dataset = {}; // eslint-disable-line\n\n if (el.dataset) {\n for (var dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (var i = 0; i < el.attributes.length; i += 1) {\n var _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 (var 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 var el = this[0];\n if (!el) return undefined;\n\n if (el.multiple && el.nodeName.toLowerCase() === 'select') {\n var values = [];\n\n for (var 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 (var _i = 0; _i < this.length; _i += 1) {\n var _el = this[_i];\n\n if (Array.isArray(value) && _el.multiple && _el.nodeName.toLowerCase() === 'select') {\n for (var 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 (var 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 (var 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() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n var target = e.target;\n if (!target) return;\n var 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 var _parents = $(target).parents(); // eslint-disable-line\n\n\n for (var 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 var 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 var events = eventType.split(' ');\n var j;\n\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n var event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n listener: 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 var _event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[_event]) el.dom7LiveListeners[_event] = [];\n\n el.dom7LiveListeners[_event].push({\n listener: listener,\n proxyListener: handleLiveEvent\n });\n\n el.addEventListener(_event, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n}\n\nfunction off() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n var events = eventType.split(' ');\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var handlers = void 0;\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 (var k = handlers.length - 1; k >= 0; k -= 1) {\n var 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() {\n var dom = this;\n\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n var eventName = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventName = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n function onceHandler() {\n for (var _len8 = arguments.length, eventArgs = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n eventArgs[_key8] = arguments[_key8];\n }\n\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() {\n var window = getWindow();\n\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n var events = args[0].split(' ');\n var eventData = args[1];\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n\n if (window.CustomEvent) {\n var evt = new window.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n el.dom7EventData = args.filter(function (data, dataIndex) {\n return dataIndex > 0;\n });\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n }\n\n return this;\n}\n\nfunction transitionEnd(callback) {\n var 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 var 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 var 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 var _styles = this.styles();\n\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 var 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 var _styles2 = this.styles();\n\n return this[0].offsetHeight + parseFloat(_styles2.getPropertyValue('margin-top')) + parseFloat(_styles2.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 var window = getWindow();\n var document = getDocument();\n var el = this[0];\n var box = el.getBoundingClientRect();\n var body = document.body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n var scrollTop = el === window ? window.scrollY : el.scrollTop;\n var 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 (var i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n\n return this;\n}\n\nfunction show() {\n var window = getWindow();\n\n for (var i = 0; i < this.length; i += 1) {\n var 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 var window = getWindow();\n if (this[0]) return window.getComputedStyle(this[0], null);\n return {};\n}\n\nfunction css(props, value) {\n var window = getWindow();\n var 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 (var _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(function (el, index) {\n callback.apply(el, [el, index]);\n });\n return this;\n}\n\nfunction filter(callback) {\n var 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 (var 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 (var i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n}\n\nfunction is(selector) {\n var window = getWindow();\n var document = getDocument();\n var el = this[0];\n var compareWith;\n var 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 var child = this[0];\n var 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 var length = this.length;\n\n if (index > length - 1) {\n return $([]);\n }\n\n if (index < 0) {\n var returnIndex = length + index;\n if (returnIndex < 0) return $([]);\n return $([this[returnIndex]]);\n }\n\n return $([this[index]]);\n}\n\nfunction append() {\n var newChild;\n var document = getDocument();\n\n for (var k = 0; k < arguments.length; k += 1) {\n newChild = k < 0 || arguments.length <= k ? undefined : arguments[k];\n\n for (var i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var 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 (var 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 var document = getDocument();\n var i;\n var j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var 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 var before = $(selector);\n\n for (var 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 (var 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 var after = $(selector);\n\n for (var 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 (var 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 var nextEls = [];\n var el = this[0];\n if (!el) return $([]);\n\n while (el.nextElementSibling) {\n var _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 var 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 var prevEls = [];\n var el = this[0];\n if (!el) return $([]);\n\n while (el.previousElementSibling) {\n var _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 var parents = []; // eslint-disable-line\n\n for (var 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 var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var _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 var 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 var foundElements = [];\n\n for (var i = 0; i < this.length; i += 1) {\n var found = this[i].querySelectorAll(selector);\n\n for (var j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return $(foundElements);\n}\n\nfunction children(selector) {\n var children = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var childNodes = this[i].children;\n\n for (var 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 (var 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() {\n var dom = this;\n var i;\n var j;\n\n for (var _len10 = arguments.length, els = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n els[_key10] = arguments[_key10];\n }\n\n for (i = 0; i < els.length; i += 1) {\n var 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 (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.nodeType === 1) {\n for (var 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\nfunction scrollTo() {\n var window = getWindow();\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var left = args[0],\n top = args[1],\n duration = args[2],\n easing = args[3],\n callback = args[4];\n\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n left = args[0];\n top = args[1];\n duration = args[2];\n callback = args[3];\n easing = args[4];\n }\n\n if (typeof easing === 'undefined') easing = 'swing';\n return this.each(function animate() {\n var el = this;\n var currentTop;\n var currentLeft;\n var maxTop;\n var maxLeft;\n var newTop;\n var newLeft;\n var scrollTop; // eslint-disable-line\n\n var scrollLeft; // eslint-disable-line\n\n var animateTop = top > 0 || top === 0;\n var 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 var startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n\n function render(time) {\n if (time === void 0) {\n time = new Date().getTime();\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n var progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n var easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;\n var 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() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var top = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n top = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var 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() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var left = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n left = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var 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\nfunction animate(initialProps, initialParams) {\n var window = getWindow();\n var els = this;\n var 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 easingProgress: function 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 stop: function stop() {\n if (a.frameId) {\n window.cancelAnimationFrame(a.frameId);\n }\n\n a.animating = false;\n a.elements.each(function (el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n done: function done(complete) {\n a.animating = false;\n a.elements.each(function (el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n\n if (a.que.length > 0) {\n var que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n animate: function animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n\n var elements = []; // Define & Cache Initials & Units\n\n a.elements.each(function (el, index) {\n var initialFullValue;\n var initialValue;\n var unit;\n var finalValue;\n var finalFullValue;\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n elements[index] = {\n container: el\n };\n Object.keys(props).forEach(function (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: initialFullValue,\n initialValue: initialValue,\n unit: unit,\n finalValue: finalValue,\n finalFullValue: finalFullValue,\n currentValue: initialValue\n };\n });\n });\n var startTime = null;\n var time;\n var elementsDone = 0;\n var propsDone = 0;\n var done;\n var began = false;\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n var progress;\n var 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(function (element) {\n var el = element;\n if (done || el.done) return;\n Object.keys(props).forEach(function (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 var _el$prop = el[prop],\n initialValue = _el$prop.initialValue,\n finalValue = _el$prop.finalValue,\n unit = _el$prop.unit;\n el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);\n var 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 if (a.elements.length === 0) {\n return els;\n }\n\n var animateInstance;\n\n for (var 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 var els = this;\n\n for (var i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nvar noTrigger = 'resize scroll'.split(' ');\n\nfunction shortcut(name) {\n function eventHandler() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'undefined') {\n for (var 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.apply(this, [name].concat(args));\n }\n\n return eventHandler;\n}\n\nvar click = shortcut('click');\nvar blur = shortcut('blur');\nvar focus = shortcut('focus');\nvar focusin = shortcut('focusin');\nvar focusout = shortcut('focusout');\nvar keyup = shortcut('keyup');\nvar keydown = shortcut('keydown');\nvar keypress = shortcut('keypress');\nvar submit = shortcut('submit');\nvar change = shortcut('change');\nvar mousedown = shortcut('mousedown');\nvar mousemove = shortcut('mousemove');\nvar mouseup = shortcut('mouseup');\nvar mouseenter = shortcut('mouseenter');\nvar mouseleave = shortcut('mouseleave');\nvar mouseout = shortcut('mouseout');\nvar mouseover = shortcut('mouseover');\nvar touchstart = shortcut('touchstart');\nvar touchend = shortcut('touchend');\nvar touchmove = shortcut('touchmove');\nvar resize = shortcut('resize');\nvar 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';\nvar Methods = {\n addClass: addClass,\n removeClass: removeClass,\n hasClass: hasClass,\n toggleClass: toggleClass,\n attr: attr,\n removeAttr: removeAttr,\n transform: transform,\n transition: transition,\n on: on,\n off: off,\n trigger: trigger,\n transitionEnd: transitionEnd,\n outerWidth: outerWidth,\n outerHeight: outerHeight,\n styles: styles,\n offset: offset,\n css: css,\n each: each,\n html: html,\n text: text,\n is: is,\n index: index,\n eq: eq,\n append: append,\n prepend: prepend,\n next: next,\n nextAll: nextAll,\n prev: prev,\n prevAll: prevAll,\n parent: parent,\n parents: parents,\n closest: closest,\n find: find,\n children: children,\n filter: filter,\n remove: remove\n};\nObject.keys(Methods).forEach(function (methodName) {\n Object.defineProperty($.fn, methodName, {\n value: Methods[methodName],\n writable: true\n });\n});\nexport default $;","const GF = require('./galois-field')\n\n/**\n * Multiplies two polynomials inside Galois Field\n *\n * @param {Uint8Array} p1 Polynomial\n * @param {Uint8Array} p2 Polynomial\n * @return {Uint8Array} Product of p1 and p2\n */\nexports.mul = function mul (p1, p2) {\n const coeff = new Uint8Array(p1.length + p2.length - 1)\n\n for (let i = 0; i < p1.length; i++) {\n for (let j = 0; j < p2.length; j++) {\n coeff[i + j] ^= GF.mul(p1[i], p2[j])\n }\n }\n\n return coeff\n}\n\n/**\n * Calculate the remainder of polynomials division\n *\n * @param {Uint8Array} divident Polynomial\n * @param {Uint8Array} divisor Polynomial\n * @return {Uint8Array} Remainder\n */\nexports.mod = function mod (divident, divisor) {\n let result = new Uint8Array(divident)\n\n while ((result.length - divisor.length) >= 0) {\n const coeff = result[0]\n\n for (let i = 0; i < divisor.length; i++) {\n result[i] ^= GF.mul(divisor[i], coeff)\n }\n\n // remove all zeros from buffer head\n let offset = 0\n while (offset < result.length && result[offset] === 0) offset++\n result = result.slice(offset)\n }\n\n return result\n}\n\n/**\n * Generate an irreducible generator polynomial of specified degree\n * (used by Reed-Solomon encoder)\n *\n * @param {Number} degree Degree of the generator polynomial\n * @return {Uint8Array} Buffer containing polynomial coefficients\n */\nexports.generateECPolynomial = function generateECPolynomial (degree) {\n let poly = new Uint8Array([1])\n for (let i = 0; i < degree; i++) {\n poly = exports.mul(poly, new Uint8Array([1, GF.exp(i)]))\n }\n\n return poly\n}\n","/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\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","const Mode = require('./mode')\nconst Utils = require('./utils')\n\nfunction KanjiData (data) {\n this.mode = Mode.KANJI\n this.data = data\n}\n\nKanjiData.getBitsLength = function getBitsLength (length) {\n return length * 13\n}\n\nKanjiData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nKanjiData.prototype.getBitsLength = function getBitsLength () {\n return KanjiData.getBitsLength(this.data.length)\n}\n\nKanjiData.prototype.write = function (bitBuffer) {\n let i\n\n // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n // These byte values are shifted from the JIS X 0208 values.\n // JIS X 0208 gives details of the shift coded representation.\n for (i = 0; i < this.data.length; i++) {\n let value = Utils.toSJIS(this.data[i])\n\n // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n if (value >= 0x8140 && value <= 0x9FFC) {\n // Subtract 0x8140 from Shift JIS value\n value -= 0x8140\n\n // For characters with Shift JIS values from 0xE040 to 0xEBBF\n } else if (value >= 0xE040 && value <= 0xEBBF) {\n // Subtract 0xC140 from Shift JIS value\n value -= 0xC140\n } else {\n throw new Error(\n 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n 'Make sure your charset is UTF-8')\n }\n\n // Multiply most significant byte of result by 0xC0\n // and add least significant byte to product\n value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff)\n\n // Convert result to a 13-bit binary string\n bitBuffer.put(value, 13)\n }\n}\n\nmodule.exports = KanjiData\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","module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","const ECLevel = require('./error-correction-level')\r\n\r\nconst EC_BLOCKS_TABLE = [\r\n// L M Q H\r\n 1, 1, 1, 1,\r\n 1, 1, 1, 1,\r\n 1, 1, 2, 2,\r\n 1, 2, 2, 4,\r\n 1, 2, 4, 4,\r\n 2, 4, 4, 4,\r\n 2, 4, 6, 5,\r\n 2, 4, 6, 6,\r\n 2, 5, 8, 8,\r\n 4, 5, 8, 8,\r\n 4, 5, 8, 11,\r\n 4, 8, 10, 11,\r\n 4, 9, 12, 16,\r\n 4, 9, 16, 16,\r\n 6, 10, 12, 18,\r\n 6, 10, 17, 16,\r\n 6, 11, 16, 19,\r\n 6, 13, 18, 21,\r\n 7, 14, 21, 25,\r\n 8, 16, 20, 25,\r\n 8, 17, 23, 25,\r\n 9, 17, 23, 34,\r\n 9, 18, 25, 30,\r\n 10, 20, 27, 32,\r\n 12, 21, 29, 35,\r\n 12, 23, 34, 37,\r\n 12, 25, 34, 40,\r\n 13, 26, 35, 42,\r\n 14, 28, 38, 45,\r\n 15, 29, 40, 48,\r\n 16, 31, 43, 51,\r\n 17, 33, 45, 54,\r\n 18, 35, 48, 57,\r\n 19, 37, 51, 60,\r\n 19, 38, 53, 63,\r\n 20, 40, 56, 66,\r\n 21, 43, 59, 70,\r\n 22, 45, 62, 74,\r\n 24, 47, 65, 77,\r\n 25, 49, 68, 81\r\n]\r\n\r\nconst EC_CODEWORDS_TABLE = [\r\n// L M Q H\r\n 7, 10, 13, 17,\r\n 10, 16, 22, 28,\r\n 15, 26, 36, 44,\r\n 20, 36, 52, 64,\r\n 26, 48, 72, 88,\r\n 36, 64, 96, 112,\r\n 40, 72, 108, 130,\r\n 48, 88, 132, 156,\r\n 60, 110, 160, 192,\r\n 72, 130, 192, 224,\r\n 80, 150, 224, 264,\r\n 96, 176, 260, 308,\r\n 104, 198, 288, 352,\r\n 120, 216, 320, 384,\r\n 132, 240, 360, 432,\r\n 144, 280, 408, 480,\r\n 168, 308, 448, 532,\r\n 180, 338, 504, 588,\r\n 196, 364, 546, 650,\r\n 224, 416, 600, 700,\r\n 224, 442, 644, 750,\r\n 252, 476, 690, 816,\r\n 270, 504, 750, 900,\r\n 300, 560, 810, 960,\r\n 312, 588, 870, 1050,\r\n 336, 644, 952, 1110,\r\n 360, 700, 1020, 1200,\r\n 390, 728, 1050, 1260,\r\n 420, 784, 1140, 1350,\r\n 450, 812, 1200, 1440,\r\n 480, 868, 1290, 1530,\r\n 510, 924, 1350, 1620,\r\n 540, 980, 1440, 1710,\r\n 570, 1036, 1530, 1800,\r\n 570, 1064, 1590, 1890,\r\n 600, 1120, 1680, 1980,\r\n 630, 1204, 1770, 2100,\r\n 660, 1260, 1860, 2220,\r\n 720, 1316, 1950, 2310,\r\n 750, 1372, 2040, 2430\r\n]\r\n\r\n/**\r\n * Returns the number of error correction block that the QR Code should contain\r\n * for the specified version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction blocks\r\n */\r\nexports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n\r\n/**\r\n * Returns the number of error correction codewords to use for the specified\r\n * version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction codewords\r\n */\r\nexports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n","var $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\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 status: this.response && this.response.status ? this.response.status : null\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","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\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","const Utils = require('./utils')\n\nfunction getColorAttrib (color, attrib) {\n const alpha = color.a / 255\n const str = attrib + '=\"' + color.hex + '\"'\n\n return alpha < 1\n ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n : str\n}\n\nfunction svgCmd (cmd, x, y) {\n let str = cmd + x\n if (typeof y !== 'undefined') str += ' ' + y\n\n return str\n}\n\nfunction qrToPath (data, size, margin) {\n let path = ''\n let moveBy = 0\n let newRow = false\n let lineLength = 0\n\n for (let i = 0; i < data.length; i++) {\n const col = Math.floor(i % size)\n const row = Math.floor(i / size)\n\n if (!col && !newRow) newRow = true\n\n if (data[i]) {\n lineLength++\n\n if (!(i > 0 && col > 0 && data[i - 1])) {\n path += newRow\n ? svgCmd('M', col + margin, 0.5 + row + margin)\n : svgCmd('m', moveBy, 0)\n\n moveBy = 0\n newRow = false\n }\n\n if (!(col + 1 < size && data[i + 1])) {\n path += svgCmd('h', lineLength)\n lineLength = 0\n }\n } else {\n moveBy++\n }\n }\n\n return path\n}\n\nexports.render = function render (qrData, options, cb) {\n const opts = Utils.getOptions(options)\n const size = qrData.modules.size\n const data = qrData.modules.data\n const qrcodesize = size + opts.margin * 2\n\n const bg = !opts.color.light.a\n ? ''\n : ''\n\n const path =\n ''\n\n const viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"'\n\n const width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" '\n\n const svgTag = '' + bg + path + '\\n'\n\n if (typeof cb === 'function') {\n cb(null, svgTag)\n }\n\n return svgTag\n}\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/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","const Utils = require('./utils')\n\nfunction clearCanvas (ctx, canvas, size) {\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n\n if (!canvas.style) canvas.style = {}\n canvas.height = size\n canvas.width = size\n canvas.style.height = size + 'px'\n canvas.style.width = size + 'px'\n}\n\nfunction getCanvasElement () {\n try {\n return document.createElement('canvas')\n } catch (e) {\n throw new Error('You need to specify a canvas element')\n }\n}\n\nexports.render = function render (qrData, canvas, options) {\n let opts = options\n let canvasEl = canvas\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!canvas) {\n canvasEl = getCanvasElement()\n }\n\n opts = Utils.getOptions(opts)\n const size = Utils.getImageWidth(qrData.modules.size, opts)\n\n const ctx = canvasEl.getContext('2d')\n const image = ctx.createImageData(size, size)\n Utils.qrToImageData(image.data, qrData, opts)\n\n clearCanvas(ctx, canvasEl, size)\n ctx.putImageData(image, 0, 0)\n\n return canvasEl\n}\n\nexports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n let opts = options\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!opts) opts = {}\n\n const canvasEl = exports.render(qrData, canvas, opts)\n\n const type = opts.type || 'image/png'\n const rendererOpts = opts.rendererOpts || {}\n\n return canvasEl.toDataURL(type, rendererOpts.quality)\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 isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","function hex2rgba (hex) {\n if (typeof hex === 'number') {\n hex = hex.toString()\n }\n\n if (typeof hex !== 'string') {\n throw new Error('Color should be defined as hex string')\n }\n\n let hexCode = hex.slice().replace('#', '').split('')\n if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n throw new Error('Invalid hex color: ' + hex)\n }\n\n // Convert from short to long form (fff -> ffffff)\n if (hexCode.length === 3 || hexCode.length === 4) {\n hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n return [c, c]\n }))\n }\n\n // Add default alpha value\n if (hexCode.length === 6) hexCode.push('F', 'F')\n\n const hexValue = parseInt(hexCode.join(''), 16)\n\n return {\n r: (hexValue >> 24) & 255,\n g: (hexValue >> 16) & 255,\n b: (hexValue >> 8) & 255,\n a: hexValue & 255,\n hex: '#' + hexCode.slice(0, 6).join('')\n }\n}\n\nexports.getOptions = function getOptions (options) {\n if (!options) options = {}\n if (!options.color) options.color = {}\n\n const margin = typeof options.margin === 'undefined' ||\n options.margin === null ||\n options.margin < 0\n ? 4\n : options.margin\n\n const width = options.width && options.width >= 21 ? options.width : undefined\n const scale = options.scale || 4\n\n return {\n width: width,\n scale: width ? 4 : scale,\n margin: margin,\n color: {\n dark: hex2rgba(options.color.dark || '#000000ff'),\n light: hex2rgba(options.color.light || '#ffffffff')\n },\n type: options.type,\n rendererOpts: options.rendererOpts || {}\n }\n}\n\nexports.getScale = function getScale (qrSize, opts) {\n return opts.width && opts.width >= qrSize + opts.margin * 2\n ? opts.width / (qrSize + opts.margin * 2)\n : opts.scale\n}\n\nexports.getImageWidth = function getImageWidth (qrSize, opts) {\n const scale = exports.getScale(qrSize, opts)\n return Math.floor((qrSize + opts.margin * 2) * scale)\n}\n\nexports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n const size = qr.modules.size\n const data = qr.modules.data\n const scale = exports.getScale(size, opts)\n const symbolSize = Math.floor((size + opts.margin * 2) * scale)\n const scaledMargin = opts.margin * scale\n const palette = [opts.color.light, opts.color.dark]\n\n for (let i = 0; i < symbolSize; i++) {\n for (let j = 0; j < symbolSize; j++) {\n let posDst = (i * symbolSize + j) * 4\n let pxColor = opts.color.light\n\n if (i >= scaledMargin && j >= scaledMargin &&\n i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n const iSrc = Math.floor((i - scaledMargin) / scale)\n const jSrc = Math.floor((j - scaledMargin) / scale)\n pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0]\n }\n\n imgData[posDst++] = pxColor.r\n imgData[posDst++] = pxColor.g\n imgData[posDst++] = pxColor.b\n imgData[posDst] = pxColor.a\n }\n }\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.2\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.2\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.2\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.2';\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.2\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.2\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.2';\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 const 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 const 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 const _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 const getSSRProps = (binding) => {\r\n const [textContent] = _process(binding);\r\n return { textContent };\r\n };\r\n return {\r\n created: register,\r\n unmounted: unregister,\r\n beforeUpdate: update,\r\n getSSRProps\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","'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 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 // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\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","var Clipboard = require('clipboard/dist/clipboard.min.js') // FIXME: workaround for browserify\n\nvar VueClipboardConfig = {\n autoSetContainer: false,\n appendToBody: true // This fixes IE, see #50\n}\n\nvar VueClipboard = {\n install: function (Vue) {\n var globalPrototype = Vue.version.slice(0, 2) === '3.' ? Vue.config.globalProperties : Vue.prototype\n globalPrototype.$clipboardConfig = VueClipboardConfig\n globalPrototype.$copyText = function (text, container) {\n return new Promise(function (resolve, reject) {\n var fakeElement = document.createElement('button')\n var clipboard = new Clipboard(fakeElement, {\n text: function () { return text },\n action: function () { return 'copy' },\n container: typeof container === 'object' ? container : document.body\n })\n clipboard.on('success', function (e) {\n clipboard.destroy()\n resolve(e)\n })\n clipboard.on('error', function (e) {\n clipboard.destroy()\n reject(e)\n })\n if (VueClipboardConfig.appendToBody) document.body.appendChild(fakeElement)\n fakeElement.click()\n if (VueClipboardConfig.appendToBody) document.body.removeChild(fakeElement)\n })\n }\n\n Vue.directive('clipboard', {\n bind: function (el, binding, vnode) {\n if (binding.arg === 'success') {\n el._vClipboard_success = binding.value\n } else if (binding.arg === 'error') {\n el._vClipboard_error = binding.value\n } else {\n var clipboard = new Clipboard(el, {\n text: function () { return binding.value },\n action: function () { return binding.arg === 'cut' ? 'cut' : 'copy' },\n container: VueClipboardConfig.autoSetContainer ? el : undefined\n })\n clipboard.on('success', function (e) {\n var callback = el._vClipboard_success\n callback && callback(e)\n })\n clipboard.on('error', function (e) {\n var callback = el._vClipboard_error\n callback && callback(e)\n })\n el._vClipboard = clipboard\n }\n },\n update: function (el, binding) {\n if (binding.arg === 'success') {\n el._vClipboard_success = binding.value\n } else if (binding.arg === 'error') {\n el._vClipboard_error = binding.value\n } else {\n el._vClipboard.text = function () { return binding.value }\n el._vClipboard.action = function () { return binding.arg === 'cut' ? 'cut' : 'copy' }\n }\n },\n unbind: function (el, binding) {\n // FIXME: investigate why $element._vClipboard was missing\n if (!el._vClipboard) return\n if (binding.arg === 'success') {\n delete el._vClipboard_success\n } else if (binding.arg === 'error') {\n delete el._vClipboard_error\n } else {\n el._vClipboard.destroy()\n delete el._vClipboard\n }\n }\n })\n },\n config: VueClipboardConfig\n}\n\nif (typeof exports === 'object') {\n module.exports = VueClipboard\n} else if (typeof define === 'function' && define.amd) {\n define([], function () {\n return VueClipboard\n })\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');\nvar Cancel = require('../cancel/Cancel');\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 if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\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","function isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\n\nfunction extend(target, src) {\n var noExtend = ['__proto__', 'constructor', 'prototype'];\n Object.keys(src).filter(function (key) {\n return noExtend.indexOf(key) < 0;\n }).forEach(function (key) {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n if (src[key].__swiper__) target[key] = src[key];else extend(target[key], src[key]);\n } else {\n target[key] = src[key];\n }\n });\n}\n\nfunction needsNavigation(props) {\n if (props === void 0) {\n props = {};\n }\n\n return props.navigation && typeof props.navigation.nextEl === 'undefined' && typeof props.navigation.prevEl === 'undefined';\n}\n\nfunction needsPagination(props) {\n if (props === void 0) {\n props = {};\n }\n\n return props.pagination && typeof props.pagination.el === 'undefined';\n}\n\nfunction needsScrollbar(props) {\n if (props === void 0) {\n props = {};\n }\n\n return props.scrollbar && typeof props.scrollbar.el === 'undefined';\n}\n\nfunction uniqueClasses(classNames) {\n if (classNames === void 0) {\n classNames = '';\n }\n\n var classes = classNames.split(' ').map(function (c) {\n return c.trim();\n }).filter(function (c) {\n return !!c;\n });\n var unique = [];\n classes.forEach(function (c) {\n if (unique.indexOf(c) < 0) unique.push(c);\n });\n return unique.join(' ');\n}\n\nexport { isObject, extend, needsNavigation, needsPagination, needsScrollbar, uniqueClasses };","/*!\n * vuex v4.1.0\n * (c) 2022 Evan You\n * @license MIT\n */\nimport { inject, effectScope, reactive, watch, computed } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\nvar storeKey = 'store';\n\nfunction useStore (key) {\n if ( key === void 0 ) key = null;\n\n return inject(key !== null ? key : storeKey)\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\nfunction find (list, f) {\n return list.filter(f)[0]\n}\n\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array} cache\n * @return {*}\n */\nfunction deepCopy (obj, cache) {\n if ( cache === void 0 ) cache = [];\n\n // just return if obj is immutable value\n if (obj === null || typeof obj !== 'object') {\n return obj\n }\n\n // if obj is hit, it is in circular structure\n var hit = find(cache, function (c) { return c.original === obj; });\n if (hit) {\n return hit.copy\n }\n\n var copy = Array.isArray(obj) ? [] : {};\n // put the copy into cache at first\n // because we want to refer it in recursive deepCopy\n cache.push({\n original: obj,\n copy: copy\n });\n\n Object.keys(obj).forEach(function (key) {\n copy[key] = deepCopy(obj[key], cache);\n });\n\n return copy\n}\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nfunction partial (fn, arg) {\n return function () {\n return fn(arg)\n }\n}\n\nfunction genericSubscribe (fn, subs, options) {\n if (subs.indexOf(fn) < 0) {\n options && options.prepend\n ? subs.unshift(fn)\n : subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset state\n resetStoreState(store, state, hot);\n}\n\nfunction resetStoreState (store, state, hot) {\n var oldState = store._state;\n var oldScope = store._scope;\n\n // bind store public getters\n store.getters = {};\n // reset local getters cache\n store._makeLocalGettersCache = Object.create(null);\n var wrappedGetters = store._wrappedGetters;\n var computedObj = {};\n var computedCache = {};\n\n // create a new effect scope and create computed object inside it to avoid\n // getters (computed) getting destroyed on component unmount.\n var scope = effectScope(true);\n\n scope.run(function () {\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n // direct inline function use will lead to closure preserving oldState.\n // using partial to return function with only arguments preserved in closure environment.\n computedObj[key] = partial(fn, store);\n computedCache[key] = computed(function () { return computedObj[key](); });\n Object.defineProperty(store.getters, key, {\n get: function () { return computedCache[key].value; },\n enumerable: true // for local getters\n });\n });\n });\n\n store._state = reactive({\n data: state\n });\n\n // register the newly created effect scope to the store so that we can\n // dispose the effects when this method runs again in the future.\n store._scope = scope;\n\n // enable strict mode for new state\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldState) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldState.data = null;\n });\n }\n }\n\n // dispose previously registered effect scope if there is one.\n if (oldScope) {\n oldScope.stop();\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n if (store._modulesNamespaceMap[namespace] && true) {\n console.error((\"[vuex] duplicate namespace \" + namespace + \" for the namespaced module \" + (path.join('/'))));\n }\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n {\n if (moduleName in parentState) {\n console.warn(\n (\"[vuex] state field \\\"\" + moduleName + \"\\\" was overridden by a module with the same name at \\\"\" + (path.join('.')) + \"\\\"\")\n );\n }\n }\n parentState[moduleName] = module.state;\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (!store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (!store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by state update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n if (!store._makeLocalGettersCache[namespace]) {\n var gettersProxy = {};\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n store._makeLocalGettersCache[namespace] = gettersProxy;\n }\n\n return store._makeLocalGettersCache[namespace]\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n watch(function () { return store._state.data; }, function () {\n {\n assert(store._committing, \"do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, flush: 'sync' });\n}\n\nfunction getNestedState (state, path) {\n return path.reduce(function (state, key) { return state[key]; }, state)\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n {\n assert(typeof type === 'string', (\"expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nvar LABEL_VUEX_BINDINGS = 'vuex bindings';\nvar MUTATIONS_LAYER_ID = 'vuex:mutations';\nvar ACTIONS_LAYER_ID = 'vuex:actions';\nvar INSPECTOR_ID = 'vuex';\n\nvar actionId = 0;\n\nfunction addDevtools (app, store) {\n setupDevtoolsPlugin(\n {\n id: 'org.vuejs.vuex',\n app: app,\n label: 'Vuex',\n homepage: 'https://next.vuex.vuejs.org/',\n logo: 'https://vuejs.org/images/icons/favicon-96x96.png',\n packageName: 'vuex',\n componentStateTypes: [LABEL_VUEX_BINDINGS]\n },\n function (api) {\n api.addTimelineLayer({\n id: MUTATIONS_LAYER_ID,\n label: 'Vuex Mutations',\n color: COLOR_LIME_500\n });\n\n api.addTimelineLayer({\n id: ACTIONS_LAYER_ID,\n label: 'Vuex Actions',\n color: COLOR_LIME_500\n });\n\n api.addInspector({\n id: INSPECTOR_ID,\n label: 'Vuex',\n icon: 'storage',\n treeFilterPlaceholder: 'Filter stores...'\n });\n\n api.on.getInspectorTree(function (payload) {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n if (payload.filter) {\n var nodes = [];\n flattenStoreForInspectorTree(nodes, store._modules.root, payload.filter, '');\n payload.rootNodes = nodes;\n } else {\n payload.rootNodes = [\n formatStoreForInspectorTree(store._modules.root, '')\n ];\n }\n }\n });\n\n api.on.getInspectorState(function (payload) {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n var modulePath = payload.nodeId;\n makeLocalGetters(store, modulePath);\n payload.state = formatStoreForInspectorState(\n getStoreModule(store._modules, modulePath),\n modulePath === 'root' ? store.getters : store._makeLocalGettersCache,\n modulePath\n );\n }\n });\n\n api.on.editInspectorState(function (payload) {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n var modulePath = payload.nodeId;\n var path = payload.path;\n if (modulePath !== 'root') {\n path = modulePath.split('/').filter(Boolean).concat( path);\n }\n store._withCommit(function () {\n payload.set(store._state.data, path, payload.state.value);\n });\n }\n });\n\n store.subscribe(function (mutation, state) {\n var data = {};\n\n if (mutation.payload) {\n data.payload = mutation.payload;\n }\n\n data.state = state;\n\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: Date.now(),\n title: mutation.type,\n data: data\n }\n });\n });\n\n store.subscribeAction({\n before: function (action, state) {\n var data = {};\n if (action.payload) {\n data.payload = action.payload;\n }\n action._id = actionId++;\n action._time = Date.now();\n data.state = state;\n\n api.addTimelineEvent({\n layerId: ACTIONS_LAYER_ID,\n event: {\n time: action._time,\n title: action.type,\n groupId: action._id,\n subtitle: 'start',\n data: data\n }\n });\n },\n after: function (action, state) {\n var data = {};\n var duration = Date.now() - action._time;\n data.duration = {\n _custom: {\n type: 'duration',\n display: (duration + \"ms\"),\n tooltip: 'Action duration',\n value: duration\n }\n };\n if (action.payload) {\n data.payload = action.payload;\n }\n data.state = state;\n\n api.addTimelineEvent({\n layerId: ACTIONS_LAYER_ID,\n event: {\n time: Date.now(),\n title: action.type,\n groupId: action._id,\n subtitle: 'end',\n data: data\n }\n });\n }\n });\n }\n );\n}\n\n// extracted from tailwind palette\nvar COLOR_LIME_500 = 0x84cc16;\nvar COLOR_DARK = 0x666666;\nvar COLOR_WHITE = 0xffffff;\n\nvar TAG_NAMESPACED = {\n label: 'namespaced',\n textColor: COLOR_WHITE,\n backgroundColor: COLOR_DARK\n};\n\n/**\n * @param {string} path\n */\nfunction extractNameFromPath (path) {\n return path && path !== 'root' ? path.split('/').slice(-2, -1)[0] : 'Root'\n}\n\n/**\n * @param {*} module\n * @return {import('@vue/devtools-api').CustomInspectorNode}\n */\nfunction formatStoreForInspectorTree (module, path) {\n return {\n id: path || 'root',\n // all modules end with a `/`, we want the last segment only\n // cart/ -> cart\n // nested/cart/ -> cart\n label: extractNameFromPath(path),\n tags: module.namespaced ? [TAG_NAMESPACED] : [],\n children: Object.keys(module._children).map(function (moduleName) { return formatStoreForInspectorTree(\n module._children[moduleName],\n path + moduleName + '/'\n ); }\n )\n }\n}\n\n/**\n * @param {import('@vue/devtools-api').CustomInspectorNode[]} result\n * @param {*} module\n * @param {string} filter\n * @param {string} path\n */\nfunction flattenStoreForInspectorTree (result, module, filter, path) {\n if (path.includes(filter)) {\n result.push({\n id: path || 'root',\n label: path.endsWith('/') ? path.slice(0, path.length - 1) : path || 'Root',\n tags: module.namespaced ? [TAG_NAMESPACED] : []\n });\n }\n Object.keys(module._children).forEach(function (moduleName) {\n flattenStoreForInspectorTree(result, module._children[moduleName], filter, path + moduleName + '/');\n });\n}\n\n/**\n * @param {*} module\n * @return {import('@vue/devtools-api').CustomInspectorState}\n */\nfunction formatStoreForInspectorState (module, getters, path) {\n getters = path === 'root' ? getters : getters[path];\n var gettersKeys = Object.keys(getters);\n var storeState = {\n state: Object.keys(module.state).map(function (key) { return ({\n key: key,\n editable: true,\n value: module.state[key]\n }); })\n };\n\n if (gettersKeys.length) {\n var tree = transformPathsToObjectTree(getters);\n storeState.getters = Object.keys(tree).map(function (key) { return ({\n key: key.endsWith('/') ? extractNameFromPath(key) : key,\n editable: false,\n value: canThrow(function () { return tree[key]; })\n }); });\n }\n\n return storeState\n}\n\nfunction transformPathsToObjectTree (getters) {\n var result = {};\n Object.keys(getters).forEach(function (key) {\n var path = key.split('/');\n if (path.length > 1) {\n var target = result;\n var leafKey = path.pop();\n path.forEach(function (p) {\n if (!target[p]) {\n target[p] = {\n _custom: {\n value: {},\n display: p,\n tooltip: 'Module',\n abstract: true\n }\n };\n }\n target = target[p]._custom.value;\n });\n target[leafKey] = canThrow(function () { return getters[key]; });\n } else {\n result[key] = canThrow(function () { return getters[key]; });\n }\n });\n return result\n}\n\nfunction getStoreModule (moduleMap, path) {\n var names = path.split('/').filter(function (n) { return n; });\n return names.reduce(\n function (module, moduleName, i) {\n var child = module[moduleName];\n if (!child) {\n throw new Error((\"Missing module \\\"\" + moduleName + \"\\\" for path \\\"\" + path + \"\\\".\"))\n }\n return i === names.length - 1 ? child : child._children\n },\n path === 'root' ? moduleMap : moduleMap.root._children\n )\n}\n\nfunction canThrow (cb) {\n try {\n return cb()\n } catch (e) {\n return e\n }\n}\n\n// Base data struct for store's module, package with some attribute and method\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n // Store some children item\n this._children = Object.create(null);\n // Store the origin module object which passed by programmer\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n\n // Store the origin module's state\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors$1 = { namespaced: { configurable: true } };\n\nprototypeAccessors$1.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.hasChild = function hasChild (key) {\n return key in this._children\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors$1 );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n var child = parent.getChild(key);\n\n if (!child) {\n {\n console.warn(\n \"[vuex] trying to unregister module '\" + key + \"', which is \" +\n \"not registered\"\n );\n }\n return\n }\n\n if (!child.runtime) {\n return\n }\n\n parent.removeChild(key);\n};\n\nModuleCollection.prototype.isRegistered = function isRegistered (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n\n if (parent) {\n return parent.hasChild(key)\n }\n\n return false\n};\n\nfunction update (path, targetModule, newModule) {\n {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nfunction createStore (options) {\n return new Store(options)\n}\n\nvar Store = function Store (options) {\n var this$1$1 = this;\n if ( options === void 0 ) options = {};\n\n {\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n var devtools = options.devtools;\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._makeLocalGettersCache = Object.create(null);\n\n // EffectScope instance. when registering new getters, we wrap them inside\n // EffectScope so that getters (computed) would not be destroyed on\n // component unmount.\n this._scope = null;\n\n this._devtools = devtools;\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n var state = this._modules.root.state;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store state, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreState(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1$1); });\n};\n\nvar prototypeAccessors = { state: { configurable: true } };\n\nStore.prototype.install = function install (app, injectKey) {\n app.provide(injectKey || storeKey, this);\n app.config.globalProperties.$store = this;\n\n var useDevtools = this._devtools !== undefined\n ? this._devtools\n : true ;\n\n if (useDevtools) {\n addDevtools(app, this);\n }\n};\n\nprototypeAccessors.state.get = function () {\n return this._state.data\n};\n\nprototypeAccessors.state.set = function (v) {\n {\n assert(false, \"use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n\n this._subscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .forEach(function (sub) { return sub(mutation, this$1$1.state); });\n\n if (\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n try {\n this._actionSubscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .filter(function (sub) { return sub.before; })\n .forEach(function (sub) { return sub.before(action, this$1$1.state); });\n } catch (e) {\n {\n console.warn(\"[vuex] error in before action subscribers: \");\n console.error(e);\n }\n }\n\n var result = entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload);\n\n return new Promise(function (resolve, reject) {\n result.then(function (res) {\n try {\n this$1$1._actionSubscribers\n .filter(function (sub) { return sub.after; })\n .forEach(function (sub) { return sub.after(action, this$1$1.state); });\n } catch (e) {\n {\n console.warn(\"[vuex] error in after action subscribers: \");\n console.error(e);\n }\n }\n resolve(res);\n }, function (error) {\n try {\n this$1$1._actionSubscribers\n .filter(function (sub) { return sub.error; })\n .forEach(function (sub) { return sub.error(action, this$1$1.state, error); });\n } catch (e) {\n {\n console.warn(\"[vuex] error in error action subscribers: \");\n console.error(e);\n }\n }\n reject(error);\n });\n })\n};\n\nStore.prototype.subscribe = function subscribe (fn, options) {\n return genericSubscribe(fn, this._subscribers, options)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn, options) {\n var subs = typeof fn === 'function' ? { before: fn } : fn;\n return genericSubscribe(subs, this._actionSubscribers, options)\n};\n\nStore.prototype.watch = function watch$1 (getter, cb, options) {\n var this$1$1 = this;\n\n {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return watch(function () { return getter(this$1$1.state, this$1$1.getters); }, cb, Object.assign({}, options))\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1$1 = this;\n\n this._withCommit(function () {\n this$1$1._state.data = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreState(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1$1.state, path.slice(0, -1));\n delete parentState[path[path.length - 1]];\n });\n resetStore(this);\n};\n\nStore.prototype.hasModule = function hasModule (path) {\n if (typeof path === 'string') { path = [path]; }\n\n {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n return this._modules.isRegistered(path)\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors );\n\n/**\n * Reduce the code which written in Vue.js for getting the state.\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it.\n * @param {Object}\n */\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n if (!isValidMap(states)) {\n console.error('[vuex] mapState: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for committing the mutation\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n if (!isValidMap(mutations)) {\n console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // Get the commit method from store\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for getting the getters\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} getters\n * @return {Object}\n */\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n if (!isValidMap(getters)) {\n console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n // The namespace has been mutated by normalizeNamespace\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if (!(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for dispatch the action\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n if (!isValidMap(actions)) {\n console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // get dispatch function from store\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object\n * @param {String} namespace\n * @return {Object}\n */\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\n/**\n * Normalize the map\n * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ]\n * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ]\n * @param {Array|Object} map\n * @return {Object}\n */\nfunction normalizeMap (map) {\n if (!isValidMap(map)) {\n return []\n }\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\n/**\n * Validate whether given map is valid or not\n * @param {*} map\n * @return {Boolean}\n */\nfunction isValidMap (map) {\n return Array.isArray(map) || isObject(map)\n}\n\n/**\n * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map.\n * @param {Function} fn\n * @return {Function}\n */\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\n/**\n * Search a special module from store by namespace. if module not exist, print error message.\n * @param {Object} store\n * @param {String} helper\n * @param {String} namespace\n * @return {Object}\n */\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if (!module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\n// Credits: borrowed code from fcomb/redux-logger\n\nfunction createLogger (ref) {\n if ( ref === void 0 ) ref = {};\n var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true;\n var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; };\n var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; };\n var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; };\n var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; };\n var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; };\n var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true;\n var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true;\n var logger = ref.logger; if ( logger === void 0 ) logger = console;\n\n return function (store) {\n var prevState = deepCopy(store.state);\n\n if (typeof logger === 'undefined') {\n return\n }\n\n if (logMutations) {\n store.subscribe(function (mutation, state) {\n var nextState = deepCopy(state);\n\n if (filter(mutation, prevState, nextState)) {\n var formattedTime = getFormattedTime();\n var formattedMutation = mutationTransformer(mutation);\n var message = \"mutation \" + (mutation.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState));\n logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation);\n logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState));\n endMessage(logger);\n }\n\n prevState = nextState;\n });\n }\n\n if (logActions) {\n store.subscribeAction(function (action, state) {\n if (actionFilter(action, state)) {\n var formattedTime = getFormattedTime();\n var formattedAction = actionTransformer(action);\n var message = \"action \" + (action.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction);\n endMessage(logger);\n }\n });\n }\n }\n}\n\nfunction startMessage (logger, message, collapsed) {\n var startMessage = collapsed\n ? logger.groupCollapsed\n : logger.group;\n\n // render\n try {\n startMessage.call(logger, message);\n } catch (e) {\n logger.log(message);\n }\n}\n\nfunction endMessage (logger) {\n try {\n logger.groupEnd();\n } catch (e) {\n logger.log('—— log end ——');\n }\n}\n\nfunction getFormattedTime () {\n var time = new Date();\n return (\" @ \" + (pad(time.getHours(), 2)) + \":\" + (pad(time.getMinutes(), 2)) + \":\" + (pad(time.getSeconds(), 2)) + \".\" + (pad(time.getMilliseconds(), 3)))\n}\n\nfunction repeat (str, times) {\n return (new Array(times + 1)).join(str)\n}\n\nfunction pad (num, maxLength) {\n return repeat('0', maxLength - num.toString().length) + num\n}\n\nvar index = {\n version: '4.1.0',\n Store: Store,\n storeKey: storeKey,\n createStore: createStore,\n useStore: useStore,\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers,\n createLogger: createLogger\n};\n\nexport default index;\nexport { Store, createLogger, createNamespacedHelpers, createStore, mapActions, mapGetters, mapMutations, mapState, storeKey, useStore };\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.27.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.27.2/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","/**\n * Helper class to handle QR Code symbol modules\n *\n * @param {Number} size Symbol size\n */\nfunction BitMatrix (size) {\n if (!size || size < 1) {\n throw new Error('BitMatrix size must be defined and greater than 0')\n }\n\n this.size = size\n this.data = new Uint8Array(size * size)\n this.reservedBit = new Uint8Array(size * size)\n}\n\n/**\n * Set bit value at specified location\n * If reserved flag is set, this bit will be ignored during masking process\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n * @param {Boolean} reserved\n */\nBitMatrix.prototype.set = function (row, col, value, reserved) {\n const index = row * this.size + col\n this.data[index] = value\n if (reserved) this.reservedBit[index] = true\n}\n\n/**\n * Returns bit value at specified location\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.get = function (row, col) {\n return this.data[row * this.size + col]\n}\n\n/**\n * Applies xor operator at specified location\n * (used during masking process)\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n */\nBitMatrix.prototype.xor = function (row, col, value) {\n this.data[row * this.size + col] ^= value\n}\n\n/**\n * Check if bit at specified location is reserved\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.isReserved = function (row, col) {\n return this.reservedBit[row * this.size + col]\n}\n\nmodule.exports = BitMatrix\n","'use strict'\n\nmodule.exports = function encodeUtf8 (input) {\n var result = []\n var size = input.length\n\n for (var index = 0; index < size; index++) {\n var point = input.charCodeAt(index)\n\n if (point >= 0xD800 && point <= 0xDBFF && size > index + 1) {\n var second = input.charCodeAt(index + 1)\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n point = (point - 0xD800) * 0x400 + second - 0xDC00 + 0x10000\n index += 1\n }\n }\n\n // US-ASCII\n if (point < 0x80) {\n result.push(point)\n continue\n }\n\n // 2-byte UTF-8\n if (point < 0x800) {\n result.push((point >> 6) | 192)\n result.push((point & 63) | 128)\n continue\n }\n\n // 3-byte UTF-8\n if (point < 0xD800 || (point >= 0xE000 && point < 0x10000)) {\n result.push((point >> 12) | 224)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // 4-byte UTF-8\n if (point >= 0x10000 && point <= 0x10FFFF) {\n result.push((point >> 18) | 240)\n result.push(((point >> 12) & 63) | 128)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // Invalid character\n result.push(0xEF, 0xBF, 0xBD)\n }\n\n return new Uint8Array(result).buffer\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","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar $TypeError = TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (!isNullOrUndefined(searchValue)) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw $TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\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","module.exports = {\n \"version\": \"0.22.0\"\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods, classesToSelector, createElementIfNotDefined } from '../../utils/utils';\nvar Pagination = {\n update: function update() {\n // Render || Update Pagination bullets/items\n var swiper = this;\n var rtl = swiper.rtl;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el; // Current/Total\n\n var current;\n var 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 var bullets = swiper.pagination.bullets;\n var firstIndex;\n var lastIndex;\n var midIndex;\n\n if (params.dynamicBullets) {\n swiper.pagination.bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\n $el.css(swiper.isHorizontal() ? 'width' : 'height', swiper.pagination.bulletSize * (params.dynamicMainBullets + 4) + \"px\");\n\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n swiper.pagination.dynamicBulletIndex += current - swiper.previousIndex;\n\n if (swiper.pagination.dynamicBulletIndex > params.dynamicMainBullets - 1) {\n swiper.pagination.dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (swiper.pagination.dynamicBulletIndex < 0) {\n swiper.pagination.dynamicBulletIndex = 0;\n }\n }\n\n firstIndex = current - swiper.pagination.dynamicBulletIndex;\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n\n bullets.removeClass(params.bulletActiveClass + \" \" + params.bulletActiveClass + \"-next \" + params.bulletActiveClass + \"-next-next \" + params.bulletActiveClass + \"-prev \" + params.bulletActiveClass + \"-prev-prev \" + params.bulletActiveClass + \"-main\");\n\n if ($el.length > 1) {\n bullets.each(function (bullet) {\n var $bullet = $(bullet);\n var 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 $bullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n }\n\n if (bulletIndex === lastIndex) {\n $bullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n }\n });\n } else {\n var $bullet = bullets.eq(current);\n var bulletIndex = $bullet.index();\n $bullet.addClass(params.bulletActiveClass);\n\n if (params.dynamicBullets) {\n var $firstDisplayedBullet = bullets.eq(firstIndex);\n var $lastDisplayedBullet = bullets.eq(lastIndex);\n\n for (var 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 - params.dynamicMainBullets) {\n for (var _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 $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n $lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n } else {\n $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n $lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n }\n }\n\n if (params.dynamicBullets) {\n var dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n var bulletsOffset = (swiper.pagination.bulletSize * dynamicBulletsLength - swiper.pagination.bulletSize) / 2 - midIndex * swiper.pagination.bulletSize;\n var 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 var progressbarDirection;\n\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n\n var scale = (current + 1) / total;\n var scaleX = 1;\n var 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 swiper.emit('paginationRender', $el[0]);\n } else {\n swiper.emit('paginationUpdate', $el[0]);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n },\n render: function render() {\n // Render Container\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el;\n var paginationHTML = '';\n\n if (params.type === 'bullets') {\n var numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.freeMode && !swiper.params.loop && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n\n for (var 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 swiper.emit('paginationRender', swiper.pagination.$el[0]);\n }\n },\n init: function init() {\n var swiper = this;\n swiper.params.pagination = createElementIfNotDefined(swiper.$el, swiper.params.pagination, swiper.params.createElements, {\n el: 'swiper-pagination'\n });\n var params = swiper.params.pagination;\n if (!params.el) return;\n var $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);\n }\n\n if (params.type === 'bullets' && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n\n $el.addClass(params.modifierClass + params.type);\n\n if (params.type === 'bullets' && params.dynamicBullets) {\n $el.addClass(\"\" + params.modifierClass + params.type + \"-dynamic\");\n swiper.pagination.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 var index = $(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index += swiper.loopedSlides;\n swiper.slideTo(index);\n });\n }\n\n extend(swiper.pagination, {\n $el: $el,\n el: $el[0]\n });\n\n if (!swiper.enabled) {\n $el.addClass(params.lockClass);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var $el = swiper.pagination.$el;\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n if (swiper.pagination.bullets) swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n\n if (params.clickable) {\n $el.off('click', classesToSelector(params.bulletClass));\n }\n }\n};\nexport default {\n name: 'pagination',\n params: {\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: function formatFractionCurrent(number) {\n return number;\n },\n formatFractionTotal: function formatFractionTotal(number) {\n return number;\n },\n bulletClass: 'swiper-pagination-bullet',\n bulletActiveClass: 'swiper-pagination-bullet-active',\n modifierClass: 'swiper-pagination-',\n // NEW\n currentClass: 'swiper-pagination-current',\n totalClass: 'swiper-pagination-total',\n hiddenClass: 'swiper-pagination-hidden',\n progressbarFillClass: 'swiper-pagination-progressbar-fill',\n progressbarOppositeClass: 'swiper-pagination-progressbar-opposite',\n clickableClass: 'swiper-pagination-clickable',\n // NEW\n lockClass: 'swiper-pagination-lock'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n pagination: _extends({\n dynamicBulletIndex: 0\n }, Pagination)\n });\n },\n on: {\n init: function init(swiper) {\n swiper.pagination.init();\n swiper.pagination.render();\n swiper.pagination.update();\n },\n activeIndexChange: function activeIndexChange(swiper) {\n if (swiper.params.loop) {\n swiper.pagination.update();\n } else if (typeof swiper.snapIndex === 'undefined') {\n swiper.pagination.update();\n }\n },\n snapIndexChange: function snapIndexChange(swiper) {\n if (!swiper.params.loop) {\n swiper.pagination.update();\n }\n },\n slidesLengthChange: function slidesLengthChange(swiper) {\n if (swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n snapGridLengthChange: function snapGridLengthChange(swiper) {\n if (!swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n destroy: function destroy(swiper) {\n swiper.pagination.destroy();\n },\n 'enable disable': function enableDisable(swiper) {\n var $el = swiper.pagination.$el;\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass);\n }\n },\n click: function click(swiper, e) {\n var targetEl = e.target;\n\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && swiper.pagination.$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 var isHidden = swiper.pagination.$el.hasClass(swiper.params.pagination.hiddenClass);\n\n if (isHidden === true) {\n swiper.emit('paginationShow');\n } else {\n swiper.emit('paginationHide');\n }\n\n swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);\n }\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/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/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","/*!\n * vue-router v4.1.6\n * (c) 2022 Eduardo San Martin Morote\n * @license MIT\n */\nimport { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, nextTick } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\nconst isBrowser = typeof window !== 'undefined';\n\nfunction isESModule(obj) {\r\n return obj.__esModule || obj[Symbol.toStringTag] === 'Module';\r\n}\r\nconst assign = Object.assign;\r\nfunction applyToParams(fn, params) {\r\n const newParams = {};\r\n for (const key in params) {\r\n const value = params[key];\r\n newParams[key] = isArray(value)\r\n ? value.map(fn)\r\n : fn(value);\r\n }\r\n return newParams;\r\n}\r\nconst noop = () => { };\r\n/**\r\n * Typesafe alternative to Array.isArray\r\n * https://github.com/microsoft/TypeScript/pull/48228\r\n */\r\nconst isArray = Array.isArray;\n\nfunction warn(msg) {\r\n // avoid using ...args as it breaks in older Edge builds\r\n const args = Array.from(arguments).slice(1);\r\n console.warn.apply(console, ['[Vue Router warn]: ' + msg].concat(args));\r\n}\n\nconst TRAILING_SLASH_RE = /\\/$/;\r\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, '');\r\n/**\r\n * Transforms a URI into a normalized history location\r\n *\r\n * @param parseQuery\r\n * @param location - URI to normalize\r\n * @param currentLocation - current absolute location. Allows resolving relative\r\n * paths. Must start with `/`. Defaults to `/`\r\n * @returns a normalized history location\r\n */\r\nfunction parseURL(parseQuery, location, currentLocation = '/') {\r\n let path, query = {}, searchString = '', hash = '';\r\n // Could use URL and URLSearchParams but IE 11 doesn't support it\r\n // TODO: move to new URL()\r\n const hashPos = location.indexOf('#');\r\n let searchPos = location.indexOf('?');\r\n // the hash appears before the search, so it's not part of the search string\r\n if (hashPos < searchPos && hashPos >= 0) {\r\n searchPos = -1;\r\n }\r\n if (searchPos > -1) {\r\n path = location.slice(0, searchPos);\r\n searchString = location.slice(searchPos + 1, hashPos > -1 ? hashPos : location.length);\r\n query = parseQuery(searchString);\r\n }\r\n if (hashPos > -1) {\r\n path = path || location.slice(0, hashPos);\r\n // keep the # character\r\n hash = location.slice(hashPos, location.length);\r\n }\r\n // no search and no query\r\n path = resolveRelativePath(path != null ? path : location, currentLocation);\r\n // empty path means a relative query or hash `?foo=f`, `#thing`\r\n return {\r\n fullPath: path + (searchString && '?') + searchString + hash,\r\n path,\r\n query,\r\n hash,\r\n };\r\n}\r\n/**\r\n * Stringifies a URL object\r\n *\r\n * @param stringifyQuery\r\n * @param location\r\n */\r\nfunction stringifyURL(stringifyQuery, location) {\r\n const query = location.query ? stringifyQuery(location.query) : '';\r\n return location.path + (query && '?') + query + (location.hash || '');\r\n}\r\n/**\r\n * Strips off the base from the beginning of a location.pathname in a non-case-sensitive way.\r\n *\r\n * @param pathname - location.pathname\r\n * @param base - base to strip off\r\n */\r\nfunction stripBase(pathname, base) {\r\n // no base or base is not found at the beginning\r\n if (!base || !pathname.toLowerCase().startsWith(base.toLowerCase()))\r\n return pathname;\r\n return pathname.slice(base.length) || '/';\r\n}\r\n/**\r\n * Checks if two RouteLocation are equal. This means that both locations are\r\n * pointing towards the same {@link RouteRecord} and that all `params`, `query`\r\n * parameters and `hash` are the same\r\n *\r\n * @param a - first {@link RouteLocation}\r\n * @param b - second {@link RouteLocation}\r\n */\r\nfunction isSameRouteLocation(stringifyQuery, a, b) {\r\n const aLastIndex = a.matched.length - 1;\r\n const bLastIndex = b.matched.length - 1;\r\n return (aLastIndex > -1 &&\r\n aLastIndex === bLastIndex &&\r\n isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) &&\r\n isSameRouteLocationParams(a.params, b.params) &&\r\n stringifyQuery(a.query) === stringifyQuery(b.query) &&\r\n a.hash === b.hash);\r\n}\r\n/**\r\n * Check if two `RouteRecords` are equal. Takes into account aliases: they are\r\n * considered equal to the `RouteRecord` they are aliasing.\r\n *\r\n * @param a - first {@link RouteRecord}\r\n * @param b - second {@link RouteRecord}\r\n */\r\nfunction isSameRouteRecord(a, b) {\r\n // since the original record has an undefined value for aliasOf\r\n // but all aliases point to the original record, this will always compare\r\n // the original record\r\n return (a.aliasOf || a) === (b.aliasOf || b);\r\n}\r\nfunction isSameRouteLocationParams(a, b) {\r\n if (Object.keys(a).length !== Object.keys(b).length)\r\n return false;\r\n for (const key in a) {\r\n if (!isSameRouteLocationParamsValue(a[key], b[key]))\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction isSameRouteLocationParamsValue(a, b) {\r\n return isArray(a)\r\n ? isEquivalentArray(a, b)\r\n : isArray(b)\r\n ? isEquivalentArray(b, a)\r\n : a === b;\r\n}\r\n/**\r\n * Check if two arrays are the same or if an array with one single entry is the\r\n * same as another primitive value. Used to check query and parameters\r\n *\r\n * @param a - array of values\r\n * @param b - array of values or a single value\r\n */\r\nfunction isEquivalentArray(a, b) {\r\n return isArray(b)\r\n ? a.length === b.length && a.every((value, i) => value === b[i])\r\n : a.length === 1 && a[0] === b;\r\n}\r\n/**\r\n * Resolves a relative path that starts with `.`.\r\n *\r\n * @param to - path location we are resolving\r\n * @param from - currentLocation.path, should start with `/`\r\n */\r\nfunction resolveRelativePath(to, from) {\r\n if (to.startsWith('/'))\r\n return to;\r\n if ((process.env.NODE_ENV !== 'production') && !from.startsWith('/')) {\r\n warn(`Cannot resolve a relative location without an absolute path. Trying to resolve \"${to}\" from \"${from}\". It should look like \"/${from}\".`);\r\n return to;\r\n }\r\n if (!to)\r\n return from;\r\n const fromSegments = from.split('/');\r\n const toSegments = to.split('/');\r\n let position = fromSegments.length - 1;\r\n let toPosition;\r\n let segment;\r\n for (toPosition = 0; toPosition < toSegments.length; toPosition++) {\r\n segment = toSegments[toPosition];\r\n // we stay on the same position\r\n if (segment === '.')\r\n continue;\r\n // go up in the from array\r\n if (segment === '..') {\r\n // we can't go below zero, but we still need to increment toPosition\r\n if (position > 1)\r\n position--;\r\n // continue\r\n }\r\n // we reached a non-relative path, we stop here\r\n else\r\n break;\r\n }\r\n return (fromSegments.slice(0, position).join('/') +\r\n '/' +\r\n toSegments\r\n // ensure we use at least the last element in the toSegments\r\n .slice(toPosition - (toPosition === toSegments.length ? 1 : 0))\r\n .join('/'));\r\n}\n\nvar NavigationType;\r\n(function (NavigationType) {\r\n NavigationType[\"pop\"] = \"pop\";\r\n NavigationType[\"push\"] = \"push\";\r\n})(NavigationType || (NavigationType = {}));\r\nvar NavigationDirection;\r\n(function (NavigationDirection) {\r\n NavigationDirection[\"back\"] = \"back\";\r\n NavigationDirection[\"forward\"] = \"forward\";\r\n NavigationDirection[\"unknown\"] = \"\";\r\n})(NavigationDirection || (NavigationDirection = {}));\r\n/**\r\n * Starting location for Histories\r\n */\r\nconst START = '';\r\n// Generic utils\r\n/**\r\n * Normalizes a base by removing any trailing slash and reading the base tag if\r\n * present.\r\n *\r\n * @param base - base to normalize\r\n */\r\nfunction normalizeBase(base) {\r\n if (!base) {\r\n if (isBrowser) {\r\n // respect tag\r\n const baseEl = document.querySelector('base');\r\n base = (baseEl && baseEl.getAttribute('href')) || '/';\r\n // strip full URL origin\r\n base = base.replace(/^\\w+:\\/\\/[^\\/]+/, '');\r\n }\r\n else {\r\n base = '/';\r\n }\r\n }\r\n // ensure leading slash when it was removed by the regex above avoid leading\r\n // slash with hash because the file could be read from the disk like file://\r\n // and the leading slash would cause problems\r\n if (base[0] !== '/' && base[0] !== '#')\r\n base = '/' + base;\r\n // remove the trailing slash so all other method can just do `base + fullPath`\r\n // to build an href\r\n return removeTrailingSlash(base);\r\n}\r\n// remove any character before the hash\r\nconst BEFORE_HASH_RE = /^[^#]+#/;\r\nfunction createHref(base, location) {\r\n return base.replace(BEFORE_HASH_RE, '#') + location;\r\n}\n\nfunction getElementPosition(el, offset) {\r\n const docRect = document.documentElement.getBoundingClientRect();\r\n const elRect = el.getBoundingClientRect();\r\n return {\r\n behavior: offset.behavior,\r\n left: elRect.left - docRect.left - (offset.left || 0),\r\n top: elRect.top - docRect.top - (offset.top || 0),\r\n };\r\n}\r\nconst computeScrollPosition = () => ({\r\n left: window.pageXOffset,\r\n top: window.pageYOffset,\r\n});\r\nfunction scrollToPosition(position) {\r\n let scrollToOptions;\r\n if ('el' in position) {\r\n const positionEl = position.el;\r\n const isIdSelector = typeof positionEl === 'string' && positionEl.startsWith('#');\r\n /**\r\n * `id`s can accept pretty much any characters, including CSS combinators\r\n * like `>` or `~`. It's still possible to retrieve elements using\r\n * `document.getElementById('~')` but it needs to be escaped when using\r\n * `document.querySelector('#\\\\~')` for it to be valid. The only\r\n * requirements for `id`s are them to be unique on the page and to not be\r\n * empty (`id=\"\"`). Because of that, when passing an id selector, it should\r\n * be properly escaped for it to work with `querySelector`. We could check\r\n * for the id selector to be simple (no CSS combinators `+ >~`) but that\r\n * would make things inconsistent since they are valid characters for an\r\n * `id` but would need to be escaped when using `querySelector`, breaking\r\n * their usage and ending up in no selector returned. Selectors need to be\r\n * escaped:\r\n *\r\n * - `#1-thing` becomes `#\\31 -thing`\r\n * - `#with~symbols` becomes `#with\\\\~symbols`\r\n *\r\n * - More information about the topic can be found at\r\n * https://mathiasbynens.be/notes/html5-id-class.\r\n * - Practical example: https://mathiasbynens.be/demo/html5-id\r\n */\r\n if ((process.env.NODE_ENV !== 'production') && typeof position.el === 'string') {\r\n if (!isIdSelector || !document.getElementById(position.el.slice(1))) {\r\n try {\r\n const foundEl = document.querySelector(position.el);\r\n if (isIdSelector && foundEl) {\r\n warn(`The selector \"${position.el}\" should be passed as \"el: document.querySelector('${position.el}')\" because it starts with \"#\".`);\r\n // return to avoid other warnings\r\n return;\r\n }\r\n }\r\n catch (err) {\r\n warn(`The selector \"${position.el}\" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);\r\n // return to avoid other warnings\r\n return;\r\n }\r\n }\r\n }\r\n const el = typeof positionEl === 'string'\r\n ? isIdSelector\r\n ? document.getElementById(positionEl.slice(1))\r\n : document.querySelector(positionEl)\r\n : positionEl;\r\n if (!el) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Couldn't find element using selector \"${position.el}\" returned by scrollBehavior.`);\r\n return;\r\n }\r\n scrollToOptions = getElementPosition(el, position);\r\n }\r\n else {\r\n scrollToOptions = position;\r\n }\r\n if ('scrollBehavior' in document.documentElement.style)\r\n window.scrollTo(scrollToOptions);\r\n else {\r\n window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.pageXOffset, scrollToOptions.top != null ? scrollToOptions.top : window.pageYOffset);\r\n }\r\n}\r\nfunction getScrollKey(path, delta) {\r\n const position = history.state ? history.state.position - delta : -1;\r\n return position + path;\r\n}\r\nconst scrollPositions = new Map();\r\nfunction saveScrollPosition(key, scrollPosition) {\r\n scrollPositions.set(key, scrollPosition);\r\n}\r\nfunction getSavedScrollPosition(key) {\r\n const scroll = scrollPositions.get(key);\r\n // consume it so it's not used again\r\n scrollPositions.delete(key);\r\n return scroll;\r\n}\r\n// TODO: RFC about how to save scroll position\r\n/**\r\n * ScrollBehavior instance used by the router to compute and restore the scroll\r\n * position when navigating.\r\n */\r\n// export interface ScrollHandler {\r\n// // returns a scroll position that can be saved in history\r\n// compute(): ScrollPositionEntry\r\n// // can take an extended ScrollPositionEntry\r\n// scroll(position: ScrollPosition): void\r\n// }\r\n// export const scrollHandler: ScrollHandler = {\r\n// compute: computeScroll,\r\n// scroll: scrollToPosition,\r\n// }\n\nlet createBaseLocation = () => location.protocol + '//' + location.host;\r\n/**\r\n * Creates a normalized history location from a window.location object\r\n * @param location -\r\n */\r\nfunction createCurrentLocation(base, location) {\r\n const { pathname, search, hash } = location;\r\n // allows hash bases like #, /#, #/, #!, #!/, /#!/, or even /folder#end\r\n const hashPos = base.indexOf('#');\r\n if (hashPos > -1) {\r\n let slicePos = hash.includes(base.slice(hashPos))\r\n ? base.slice(hashPos).length\r\n : 1;\r\n let pathFromHash = hash.slice(slicePos);\r\n // prepend the starting slash to hash so the url starts with /#\r\n if (pathFromHash[0] !== '/')\r\n pathFromHash = '/' + pathFromHash;\r\n return stripBase(pathFromHash, '');\r\n }\r\n const path = stripBase(pathname, base);\r\n return path + search + hash;\r\n}\r\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\r\n let listeners = [];\r\n let teardowns = [];\r\n // TODO: should it be a stack? a Dict. Check if the popstate listener\r\n // can trigger twice\r\n let pauseState = null;\r\n const popStateHandler = ({ state, }) => {\r\n const to = createCurrentLocation(base, location);\r\n const from = currentLocation.value;\r\n const fromState = historyState.value;\r\n let delta = 0;\r\n if (state) {\r\n currentLocation.value = to;\r\n historyState.value = state;\r\n // ignore the popstate and reset the pauseState\r\n if (pauseState && pauseState === from) {\r\n pauseState = null;\r\n return;\r\n }\r\n delta = fromState ? state.position - fromState.position : 0;\r\n }\r\n else {\r\n replace(to);\r\n }\r\n // console.log({ deltaFromCurrent })\r\n // Here we could also revert the navigation by calling history.go(-delta)\r\n // this listener will have to be adapted to not trigger again and to wait for the url\r\n // to be updated before triggering the listeners. Some kind of validation function would also\r\n // need to be passed to the listeners so the navigation can be accepted\r\n // call all listeners\r\n listeners.forEach(listener => {\r\n listener(currentLocation.value, from, {\r\n delta,\r\n type: NavigationType.pop,\r\n direction: delta\r\n ? delta > 0\r\n ? NavigationDirection.forward\r\n : NavigationDirection.back\r\n : NavigationDirection.unknown,\r\n });\r\n });\r\n };\r\n function pauseListeners() {\r\n pauseState = currentLocation.value;\r\n }\r\n function listen(callback) {\r\n // set up the listener and prepare teardown callbacks\r\n listeners.push(callback);\r\n const teardown = () => {\r\n const index = listeners.indexOf(callback);\r\n if (index > -1)\r\n listeners.splice(index, 1);\r\n };\r\n teardowns.push(teardown);\r\n return teardown;\r\n }\r\n function beforeUnloadListener() {\r\n const { history } = window;\r\n if (!history.state)\r\n return;\r\n history.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), '');\r\n }\r\n function destroy() {\r\n for (const teardown of teardowns)\r\n teardown();\r\n teardowns = [];\r\n window.removeEventListener('popstate', popStateHandler);\r\n window.removeEventListener('beforeunload', beforeUnloadListener);\r\n }\r\n // set up the listeners and prepare teardown callbacks\r\n window.addEventListener('popstate', popStateHandler);\r\n window.addEventListener('beforeunload', beforeUnloadListener);\r\n return {\r\n pauseListeners,\r\n listen,\r\n destroy,\r\n };\r\n}\r\n/**\r\n * Creates a state object\r\n */\r\nfunction buildState(back, current, forward, replaced = false, computeScroll = false) {\r\n return {\r\n back,\r\n current,\r\n forward,\r\n replaced,\r\n position: window.history.length,\r\n scroll: computeScroll ? computeScrollPosition() : null,\r\n };\r\n}\r\nfunction useHistoryStateNavigation(base) {\r\n const { history, location } = window;\r\n // private variables\r\n const currentLocation = {\r\n value: createCurrentLocation(base, location),\r\n };\r\n const historyState = { value: history.state };\r\n // build current history entry as this is a fresh navigation\r\n if (!historyState.value) {\r\n changeLocation(currentLocation.value, {\r\n back: null,\r\n current: currentLocation.value,\r\n forward: null,\r\n // the length is off by one, we need to decrease it\r\n position: history.length - 1,\r\n replaced: true,\r\n // don't add a scroll as the user may have an anchor, and we want\r\n // scrollBehavior to be triggered without a saved position\r\n scroll: null,\r\n }, true);\r\n }\r\n function changeLocation(to, state, replace) {\r\n /**\r\n * if a base tag is provided, and we are on a normal domain, we have to\r\n * respect the provided `base` attribute because pushState() will use it and\r\n * potentially erase anything before the `#` like at\r\n * https://github.com/vuejs/router/issues/685 where a base of\r\n * `/folder/#` but a base of `/` would erase the `/folder/` section. If\r\n * there is no host, the `` tag makes no sense and if there isn't a\r\n * base tag we can just use everything after the `#`.\r\n */\r\n const hashIndex = base.indexOf('#');\r\n const url = hashIndex > -1\r\n ? (location.host && document.querySelector('base')\r\n ? base\r\n : base.slice(hashIndex)) + to\r\n : createBaseLocation() + base + to;\r\n try {\r\n // BROWSER QUIRK\r\n // NOTE: Safari throws a SecurityError when calling this function 100 times in 30 seconds\r\n history[replace ? 'replaceState' : 'pushState'](state, '', url);\r\n historyState.value = state;\r\n }\r\n catch (err) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Error with push/replace State', err);\r\n }\r\n else {\r\n console.error(err);\r\n }\r\n // Force the navigation, this also resets the call count\r\n location[replace ? 'replace' : 'assign'](url);\r\n }\r\n }\r\n function replace(to, data) {\r\n const state = assign({}, history.state, buildState(historyState.value.back, \r\n // keep back and forward entries but override current position\r\n to, historyState.value.forward, true), data, { position: historyState.value.position });\r\n changeLocation(to, state, true);\r\n currentLocation.value = to;\r\n }\r\n function push(to, data) {\r\n // Add to current entry the information of where we are going\r\n // as well as saving the current position\r\n const currentState = assign({}, \r\n // use current history state to gracefully handle a wrong call to\r\n // history.replaceState\r\n // https://github.com/vuejs/router/issues/366\r\n historyState.value, history.state, {\r\n forward: to,\r\n scroll: computeScrollPosition(),\r\n });\r\n if ((process.env.NODE_ENV !== 'production') && !history.state) {\r\n warn(`history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\\n\\n` +\r\n `history.replaceState(history.state, '', url)\\n\\n` +\r\n `You can find more information at https://next.router.vuejs.org/guide/migration/#usage-of-history-state.`);\r\n }\r\n changeLocation(currentState.current, currentState, true);\r\n const state = assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data);\r\n changeLocation(to, state, false);\r\n currentLocation.value = to;\r\n }\r\n return {\r\n location: currentLocation,\r\n state: historyState,\r\n push,\r\n replace,\r\n };\r\n}\r\n/**\r\n * Creates an HTML5 history. Most common history for single page applications.\r\n *\r\n * @param base -\r\n */\r\nfunction createWebHistory(base) {\r\n base = normalizeBase(base);\r\n const historyNavigation = useHistoryStateNavigation(base);\r\n const historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\r\n function go(delta, triggerListeners = true) {\r\n if (!triggerListeners)\r\n historyListeners.pauseListeners();\r\n history.go(delta);\r\n }\r\n const routerHistory = assign({\r\n // it's overridden right after\r\n location: '',\r\n base,\r\n go,\r\n createHref: createHref.bind(null, base),\r\n }, historyNavigation, historyListeners);\r\n Object.defineProperty(routerHistory, 'location', {\r\n enumerable: true,\r\n get: () => historyNavigation.location.value,\r\n });\r\n Object.defineProperty(routerHistory, 'state', {\r\n enumerable: true,\r\n get: () => historyNavigation.state.value,\r\n });\r\n return routerHistory;\r\n}\n\n/**\r\n * Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere.\r\n * It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`.\r\n *\r\n * @param base - Base applied to all urls, defaults to '/'\r\n * @returns a history object that can be passed to the router constructor\r\n */\r\nfunction createMemoryHistory(base = '') {\r\n let listeners = [];\r\n let queue = [START];\r\n let position = 0;\r\n base = normalizeBase(base);\r\n function setLocation(location) {\r\n position++;\r\n if (position === queue.length) {\r\n // we are at the end, we can simply append a new entry\r\n queue.push(location);\r\n }\r\n else {\r\n // we are in the middle, we remove everything from here in the queue\r\n queue.splice(position);\r\n queue.push(location);\r\n }\r\n }\r\n function triggerListeners(to, from, { direction, delta }) {\r\n const info = {\r\n direction,\r\n delta,\r\n type: NavigationType.pop,\r\n };\r\n for (const callback of listeners) {\r\n callback(to, from, info);\r\n }\r\n }\r\n const routerHistory = {\r\n // rewritten by Object.defineProperty\r\n location: START,\r\n // TODO: should be kept in queue\r\n state: {},\r\n base,\r\n createHref: createHref.bind(null, base),\r\n replace(to) {\r\n // remove current entry and decrement position\r\n queue.splice(position--, 1);\r\n setLocation(to);\r\n },\r\n push(to, data) {\r\n setLocation(to);\r\n },\r\n listen(callback) {\r\n listeners.push(callback);\r\n return () => {\r\n const index = listeners.indexOf(callback);\r\n if (index > -1)\r\n listeners.splice(index, 1);\r\n };\r\n },\r\n destroy() {\r\n listeners = [];\r\n queue = [START];\r\n position = 0;\r\n },\r\n go(delta, shouldTrigger = true) {\r\n const from = this.location;\r\n const direction = \r\n // we are considering delta === 0 going forward, but in abstract mode\r\n // using 0 for the delta doesn't make sense like it does in html5 where\r\n // it reloads the page\r\n delta < 0 ? NavigationDirection.back : NavigationDirection.forward;\r\n position = Math.max(0, Math.min(position + delta, queue.length - 1));\r\n if (shouldTrigger) {\r\n triggerListeners(this.location, from, {\r\n direction,\r\n delta,\r\n });\r\n }\r\n },\r\n };\r\n Object.defineProperty(routerHistory, 'location', {\r\n enumerable: true,\r\n get: () => queue[position],\r\n });\r\n return routerHistory;\r\n}\n\n/**\r\n * Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to\r\n * handle any URL is not possible.\r\n *\r\n * @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `` tag\r\n * in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState()\r\n * calls**, meaning that if you use a `` tag, it's `href` value **has to match this parameter** (ignoring anything\r\n * after the `#`).\r\n *\r\n * @example\r\n * ```js\r\n * // at https://example.com/folder\r\n * createWebHashHistory() // gives a url of `https://example.com/folder#`\r\n * createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`\r\n * // if the `#` is provided in the base, it won't be added by `createWebHashHistory`\r\n * createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`\r\n * // you should avoid doing this because it changes the original url and breaks copying urls\r\n * createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`\r\n *\r\n * // at file:///usr/etc/folder/index.html\r\n * // for locations with no `host`, the base is ignored\r\n * createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`\r\n * ```\r\n */\r\nfunction createWebHashHistory(base) {\r\n // Make sure this implementation is fine in terms of encoding, specially for IE11\r\n // for `file://`, directly use the pathname and ignore the base\r\n // location.pathname contains an initial `/` even at the root: `https://example.com`\r\n base = location.host ? base || location.pathname + location.search : '';\r\n // allow the user to provide a `#` in the middle: `/base/#/app`\r\n if (!base.includes('#'))\r\n base += '#';\r\n if ((process.env.NODE_ENV !== 'production') && !base.endsWith('#/') && !base.endsWith('#')) {\r\n warn(`A hash base must end with a \"#\":\\n\"${base}\" should be \"${base.replace(/#.*$/, '#')}\".`);\r\n }\r\n return createWebHistory(base);\r\n}\n\nfunction isRouteLocation(route) {\r\n return typeof route === 'string' || (route && typeof route === 'object');\r\n}\r\nfunction isRouteName(name) {\r\n return typeof name === 'string' || typeof name === 'symbol';\r\n}\n\n/**\r\n * Initial route location where the router is. Can be used in navigation guards\r\n * to differentiate the initial navigation.\r\n *\r\n * @example\r\n * ```js\r\n * import { START_LOCATION } from 'vue-router'\r\n *\r\n * router.beforeEach((to, from) => {\r\n * if (from === START_LOCATION) {\r\n * // initial navigation\r\n * }\r\n * })\r\n * ```\r\n */\r\nconst START_LOCATION_NORMALIZED = {\r\n path: '/',\r\n name: undefined,\r\n params: {},\r\n query: {},\r\n hash: '',\r\n fullPath: '/',\r\n matched: [],\r\n meta: {},\r\n redirectedFrom: undefined,\r\n};\n\nconst NavigationFailureSymbol = Symbol((process.env.NODE_ENV !== 'production') ? 'navigation failure' : '');\r\n/**\r\n * Enumeration with all possible types for navigation failures. Can be passed to\r\n * {@link isNavigationFailure} to check for specific failures.\r\n */\r\nvar NavigationFailureType;\r\n(function (NavigationFailureType) {\r\n /**\r\n * An aborted navigation is a navigation that failed because a navigation\r\n * guard returned `false` or called `next(false)`\r\n */\r\n NavigationFailureType[NavigationFailureType[\"aborted\"] = 4] = \"aborted\";\r\n /**\r\n * A cancelled navigation is a navigation that failed because a more recent\r\n * navigation finished started (not necessarily finished).\r\n */\r\n NavigationFailureType[NavigationFailureType[\"cancelled\"] = 8] = \"cancelled\";\r\n /**\r\n * A duplicated navigation is a navigation that failed because it was\r\n * initiated while already being at the exact same location.\r\n */\r\n NavigationFailureType[NavigationFailureType[\"duplicated\"] = 16] = \"duplicated\";\r\n})(NavigationFailureType || (NavigationFailureType = {}));\r\n// DEV only debug messages\r\nconst ErrorTypeMessages = {\r\n [1 /* ErrorTypes.MATCHER_NOT_FOUND */]({ location, currentLocation }) {\r\n return `No match for\\n ${JSON.stringify(location)}${currentLocation\r\n ? '\\nwhile being at\\n' + JSON.stringify(currentLocation)\r\n : ''}`;\r\n },\r\n [2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */]({ from, to, }) {\r\n return `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\r\n },\r\n [4 /* ErrorTypes.NAVIGATION_ABORTED */]({ from, to }) {\r\n return `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\r\n },\r\n [8 /* ErrorTypes.NAVIGATION_CANCELLED */]({ from, to }) {\r\n return `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\r\n },\r\n [16 /* ErrorTypes.NAVIGATION_DUPLICATED */]({ from, to }) {\r\n return `Avoided redundant navigation to current location: \"${from.fullPath}\".`;\r\n },\r\n};\r\nfunction createRouterError(type, params) {\r\n // keep full error messages in cjs versions\r\n if ((process.env.NODE_ENV !== 'production') || !true) {\r\n return assign(new Error(ErrorTypeMessages[type](params)), {\r\n type,\r\n [NavigationFailureSymbol]: true,\r\n }, params);\r\n }\r\n else {\r\n return assign(new Error(), {\r\n type,\r\n [NavigationFailureSymbol]: true,\r\n }, params);\r\n }\r\n}\r\nfunction isNavigationFailure(error, type) {\r\n return (error instanceof Error &&\r\n NavigationFailureSymbol in error &&\r\n (type == null || !!(error.type & type)));\r\n}\r\nconst propertiesToLog = ['params', 'query', 'hash'];\r\nfunction stringifyRoute(to) {\r\n if (typeof to === 'string')\r\n return to;\r\n if ('path' in to)\r\n return to.path;\r\n const location = {};\r\n for (const key of propertiesToLog) {\r\n if (key in to)\r\n location[key] = to[key];\r\n }\r\n return JSON.stringify(location, null, 2);\r\n}\n\n// default pattern for a param: non-greedy everything but /\r\nconst BASE_PARAM_PATTERN = '[^/]+?';\r\nconst BASE_PATH_PARSER_OPTIONS = {\r\n sensitive: false,\r\n strict: false,\r\n start: true,\r\n end: true,\r\n};\r\n// Special Regex characters that must be escaped in static tokens\r\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\r\n/**\r\n * Creates a path parser from an array of Segments (a segment is an array of Tokens)\r\n *\r\n * @param segments - array of segments returned by tokenizePath\r\n * @param extraOptions - optional options for the regexp\r\n * @returns a PathParser\r\n */\r\nfunction tokensToParser(segments, extraOptions) {\r\n const options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\r\n // the amount of scores is the same as the length of segments except for the root segment \"/\"\r\n const score = [];\r\n // the regexp as a string\r\n let pattern = options.start ? '^' : '';\r\n // extracted keys\r\n const keys = [];\r\n for (const segment of segments) {\r\n // the root segment needs special treatment\r\n const segmentScores = segment.length ? [] : [90 /* PathScore.Root */];\r\n // allow trailing slash\r\n if (options.strict && !segment.length)\r\n pattern += '/';\r\n for (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\r\n const token = segment[tokenIndex];\r\n // resets the score if we are inside a sub-segment /:a-other-:b\r\n let subSegmentScore = 40 /* PathScore.Segment */ +\r\n (options.sensitive ? 0.25 /* PathScore.BonusCaseSensitive */ : 0);\r\n if (token.type === 0 /* TokenType.Static */) {\r\n // prepend the slash if we are starting a new segment\r\n if (!tokenIndex)\r\n pattern += '/';\r\n pattern += token.value.replace(REGEX_CHARS_RE, '\\\\$&');\r\n subSegmentScore += 40 /* PathScore.Static */;\r\n }\r\n else if (token.type === 1 /* TokenType.Param */) {\r\n const { value, repeatable, optional, regexp } = token;\r\n keys.push({\r\n name: value,\r\n repeatable,\r\n optional,\r\n });\r\n const re = regexp ? regexp : BASE_PARAM_PATTERN;\r\n // the user provided a custom regexp /:id(\\\\d+)\r\n if (re !== BASE_PARAM_PATTERN) {\r\n subSegmentScore += 10 /* PathScore.BonusCustomRegExp */;\r\n // make sure the regexp is valid before using it\r\n try {\r\n new RegExp(`(${re})`);\r\n }\r\n catch (err) {\r\n throw new Error(`Invalid custom RegExp for param \"${value}\" (${re}): ` +\r\n err.message);\r\n }\r\n }\r\n // when we repeat we must take care of the repeating leading slash\r\n let subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`;\r\n // prepend the slash if we are starting a new segment\r\n if (!tokenIndex)\r\n subPattern =\r\n // avoid an optional / if there are more segments e.g. /:p?-static\r\n // or /:p?-:p2\r\n optional && segment.length < 2\r\n ? `(?:/${subPattern})`\r\n : '/' + subPattern;\r\n if (optional)\r\n subPattern += '?';\r\n pattern += subPattern;\r\n subSegmentScore += 20 /* PathScore.Dynamic */;\r\n if (optional)\r\n subSegmentScore += -8 /* PathScore.BonusOptional */;\r\n if (repeatable)\r\n subSegmentScore += -20 /* PathScore.BonusRepeatable */;\r\n if (re === '.*')\r\n subSegmentScore += -50 /* PathScore.BonusWildcard */;\r\n }\r\n segmentScores.push(subSegmentScore);\r\n }\r\n // an empty array like /home/ -> [[{home}], []]\r\n // if (!segment.length) pattern += '/'\r\n score.push(segmentScores);\r\n }\r\n // only apply the strict bonus to the last score\r\n if (options.strict && options.end) {\r\n const i = score.length - 1;\r\n score[i][score[i].length - 1] += 0.7000000000000001 /* PathScore.BonusStrict */;\r\n }\r\n // TODO: dev only warn double trailing slash\r\n if (!options.strict)\r\n pattern += '/?';\r\n if (options.end)\r\n pattern += '$';\r\n // allow paths like /dynamic to only match dynamic or dynamic/... but not dynamic_something_else\r\n else if (options.strict)\r\n pattern += '(?:/|$)';\r\n const re = new RegExp(pattern, options.sensitive ? '' : 'i');\r\n function parse(path) {\r\n const match = path.match(re);\r\n const params = {};\r\n if (!match)\r\n return null;\r\n for (let i = 1; i < match.length; i++) {\r\n const value = match[i] || '';\r\n const key = keys[i - 1];\r\n params[key.name] = value && key.repeatable ? value.split('/') : value;\r\n }\r\n return params;\r\n }\r\n function stringify(params) {\r\n let path = '';\r\n // for optional parameters to allow to be empty\r\n let avoidDuplicatedSlash = false;\r\n for (const segment of segments) {\r\n if (!avoidDuplicatedSlash || !path.endsWith('/'))\r\n path += '/';\r\n avoidDuplicatedSlash = false;\r\n for (const token of segment) {\r\n if (token.type === 0 /* TokenType.Static */) {\r\n path += token.value;\r\n }\r\n else if (token.type === 1 /* TokenType.Param */) {\r\n const { value, repeatable, optional } = token;\r\n const param = value in params ? params[value] : '';\r\n if (isArray(param) && !repeatable) {\r\n throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\r\n }\r\n const text = isArray(param)\r\n ? param.join('/')\r\n : param;\r\n if (!text) {\r\n if (optional) {\r\n // if we have more than one optional param like /:a?-static we don't need to care about the optional param\r\n if (segment.length < 2) {\r\n // remove the last slash as we could be at the end\r\n if (path.endsWith('/'))\r\n path = path.slice(0, -1);\r\n // do not append a slash on the next iteration\r\n else\r\n avoidDuplicatedSlash = true;\r\n }\r\n }\r\n else\r\n throw new Error(`Missing required param \"${value}\"`);\r\n }\r\n path += text;\r\n }\r\n }\r\n }\r\n // avoid empty path when we have multiple optional params\r\n return path || '/';\r\n }\r\n return {\r\n re,\r\n score,\r\n keys,\r\n parse,\r\n stringify,\r\n };\r\n}\r\n/**\r\n * Compares an array of numbers as used in PathParser.score and returns a\r\n * number. This function can be used to `sort` an array\r\n *\r\n * @param a - first array of numbers\r\n * @param b - second array of numbers\r\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\r\n * should be sorted first\r\n */\r\nfunction compareScoreArray(a, b) {\r\n let i = 0;\r\n while (i < a.length && i < b.length) {\r\n const diff = b[i] - a[i];\r\n // only keep going if diff === 0\r\n if (diff)\r\n return diff;\r\n i++;\r\n }\r\n // if the last subsegment was Static, the shorter segments should be sorted first\r\n // otherwise sort the longest segment first\r\n if (a.length < b.length) {\r\n return a.length === 1 && a[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\r\n ? -1\r\n : 1;\r\n }\r\n else if (a.length > b.length) {\r\n return b.length === 1 && b[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\r\n ? 1\r\n : -1;\r\n }\r\n return 0;\r\n}\r\n/**\r\n * Compare function that can be used with `sort` to sort an array of PathParser\r\n *\r\n * @param a - first PathParser\r\n * @param b - second PathParser\r\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\r\n */\r\nfunction comparePathParserScore(a, b) {\r\n let i = 0;\r\n const aScore = a.score;\r\n const bScore = b.score;\r\n while (i < aScore.length && i < bScore.length) {\r\n const comp = compareScoreArray(aScore[i], bScore[i]);\r\n // do not return if both are equal\r\n if (comp)\r\n return comp;\r\n i++;\r\n }\r\n if (Math.abs(bScore.length - aScore.length) === 1) {\r\n if (isLastScoreNegative(aScore))\r\n return 1;\r\n if (isLastScoreNegative(bScore))\r\n return -1;\r\n }\r\n // if a and b share the same score entries but b has more, sort b first\r\n return bScore.length - aScore.length;\r\n // this is the ternary version\r\n // return aScore.length < bScore.length\r\n // ? 1\r\n // : aScore.length > bScore.length\r\n // ? -1\r\n // : 0\r\n}\r\n/**\r\n * This allows detecting splats at the end of a path: /home/:id(.*)*\r\n *\r\n * @param score - score to check\r\n * @returns true if the last entry is negative\r\n */\r\nfunction isLastScoreNegative(score) {\r\n const last = score[score.length - 1];\r\n return score.length > 0 && last[last.length - 1] < 0;\r\n}\n\nconst ROOT_TOKEN = {\r\n type: 0 /* TokenType.Static */,\r\n value: '',\r\n};\r\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\r\n// After some profiling, the cache seems to be unnecessary because tokenizePath\r\n// (the slowest part of adding a route) is very fast\r\n// const tokenCache = new Map()\r\nfunction tokenizePath(path) {\r\n if (!path)\r\n return [[]];\r\n if (path === '/')\r\n return [[ROOT_TOKEN]];\r\n if (!path.startsWith('/')) {\r\n throw new Error((process.env.NODE_ENV !== 'production')\r\n ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".`\r\n : `Invalid path \"${path}\"`);\r\n }\r\n // if (tokenCache.has(path)) return tokenCache.get(path)!\r\n function crash(message) {\r\n throw new Error(`ERR (${state})/\"${buffer}\": ${message}`);\r\n }\r\n let state = 0 /* TokenizerState.Static */;\r\n let previousState = state;\r\n const tokens = [];\r\n // the segment will always be valid because we get into the initial state\r\n // with the leading /\r\n let segment;\r\n function finalizeSegment() {\r\n if (segment)\r\n tokens.push(segment);\r\n segment = [];\r\n }\r\n // index on the path\r\n let i = 0;\r\n // char at index\r\n let char;\r\n // buffer of the value read\r\n let buffer = '';\r\n // custom regexp for a param\r\n let customRe = '';\r\n function consumeBuffer() {\r\n if (!buffer)\r\n return;\r\n if (state === 0 /* TokenizerState.Static */) {\r\n segment.push({\r\n type: 0 /* TokenType.Static */,\r\n value: buffer,\r\n });\r\n }\r\n else if (state === 1 /* TokenizerState.Param */ ||\r\n state === 2 /* TokenizerState.ParamRegExp */ ||\r\n state === 3 /* TokenizerState.ParamRegExpEnd */) {\r\n if (segment.length > 1 && (char === '*' || char === '+'))\r\n crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\r\n segment.push({\r\n type: 1 /* TokenType.Param */,\r\n value: buffer,\r\n regexp: customRe,\r\n repeatable: char === '*' || char === '+',\r\n optional: char === '*' || char === '?',\r\n });\r\n }\r\n else {\r\n crash('Invalid state to consume buffer');\r\n }\r\n buffer = '';\r\n }\r\n function addCharToBuffer() {\r\n buffer += char;\r\n }\r\n while (i < path.length) {\r\n char = path[i++];\r\n if (char === '\\\\' && state !== 2 /* TokenizerState.ParamRegExp */) {\r\n previousState = state;\r\n state = 4 /* TokenizerState.EscapeNext */;\r\n continue;\r\n }\r\n switch (state) {\r\n case 0 /* TokenizerState.Static */:\r\n if (char === '/') {\r\n if (buffer) {\r\n consumeBuffer();\r\n }\r\n finalizeSegment();\r\n }\r\n else if (char === ':') {\r\n consumeBuffer();\r\n state = 1 /* TokenizerState.Param */;\r\n }\r\n else {\r\n addCharToBuffer();\r\n }\r\n break;\r\n case 4 /* TokenizerState.EscapeNext */:\r\n addCharToBuffer();\r\n state = previousState;\r\n break;\r\n case 1 /* TokenizerState.Param */:\r\n if (char === '(') {\r\n state = 2 /* TokenizerState.ParamRegExp */;\r\n }\r\n else if (VALID_PARAM_RE.test(char)) {\r\n addCharToBuffer();\r\n }\r\n else {\r\n consumeBuffer();\r\n state = 0 /* TokenizerState.Static */;\r\n // go back one character if we were not modifying\r\n if (char !== '*' && char !== '?' && char !== '+')\r\n i--;\r\n }\r\n break;\r\n case 2 /* TokenizerState.ParamRegExp */:\r\n // TODO: is it worth handling nested regexp? like :p(?:prefix_([^/]+)_suffix)\r\n // it already works by escaping the closing )\r\n // https://paths.esm.dev/?p=AAMeJbiAwQEcDKbAoAAkP60PG2R6QAvgNaA6AFACM2ABuQBB#\r\n // is this really something people need since you can also write\r\n // /prefix_:p()_suffix\r\n if (char === ')') {\r\n // handle the escaped )\r\n if (customRe[customRe.length - 1] == '\\\\')\r\n customRe = customRe.slice(0, -1) + char;\r\n else\r\n state = 3 /* TokenizerState.ParamRegExpEnd */;\r\n }\r\n else {\r\n customRe += char;\r\n }\r\n break;\r\n case 3 /* TokenizerState.ParamRegExpEnd */:\r\n // same as finalizing a param\r\n consumeBuffer();\r\n state = 0 /* TokenizerState.Static */;\r\n // go back one character if we were not modifying\r\n if (char !== '*' && char !== '?' && char !== '+')\r\n i--;\r\n customRe = '';\r\n break;\r\n default:\r\n crash('Unknown state');\r\n break;\r\n }\r\n }\r\n if (state === 2 /* TokenizerState.ParamRegExp */)\r\n crash(`Unfinished custom RegExp for param \"${buffer}\"`);\r\n consumeBuffer();\r\n finalizeSegment();\r\n // tokenCache.set(path, tokens)\r\n return tokens;\r\n}\n\nfunction createRouteRecordMatcher(record, parent, options) {\r\n const parser = tokensToParser(tokenizePath(record.path), options);\r\n // warn against params with the same name\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const existingKeys = new Set();\r\n for (const key of parser.keys) {\r\n if (existingKeys.has(key.name))\r\n warn(`Found duplicated params with name \"${key.name}\" for path \"${record.path}\". Only the last one will be available on \"$route.params\".`);\r\n existingKeys.add(key.name);\r\n }\r\n }\r\n const matcher = assign(parser, {\r\n record,\r\n parent,\r\n // these needs to be populated by the parent\r\n children: [],\r\n alias: [],\r\n });\r\n if (parent) {\r\n // both are aliases or both are not aliases\r\n // we don't want to mix them because the order is used when\r\n // passing originalRecord in Matcher.addRoute\r\n if (!matcher.record.aliasOf === !parent.record.aliasOf)\r\n parent.children.push(matcher);\r\n }\r\n return matcher;\r\n}\n\n/**\r\n * Creates a Router Matcher.\r\n *\r\n * @internal\r\n * @param routes - array of initial routes\r\n * @param globalOptions - global route options\r\n */\r\nfunction createRouterMatcher(routes, globalOptions) {\r\n // normalized ordered array of matchers\r\n const matchers = [];\r\n const matcherMap = new Map();\r\n globalOptions = mergeOptions({ strict: false, end: true, sensitive: false }, globalOptions);\r\n function getRecordMatcher(name) {\r\n return matcherMap.get(name);\r\n }\r\n function addRoute(record, parent, originalRecord) {\r\n // used later on to remove by name\r\n const isRootAdd = !originalRecord;\r\n const mainNormalizedRecord = normalizeRouteRecord(record);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\r\n }\r\n // we might be the child of an alias\r\n mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\r\n const options = mergeOptions(globalOptions, record);\r\n // generate an array of records to correctly handle aliases\r\n const normalizedRecords = [\r\n mainNormalizedRecord,\r\n ];\r\n if ('alias' in record) {\r\n const aliases = typeof record.alias === 'string' ? [record.alias] : record.alias;\r\n for (const alias of aliases) {\r\n normalizedRecords.push(assign({}, mainNormalizedRecord, {\r\n // this allows us to hold a copy of the `components` option\r\n // so that async components cache is hold on the original record\r\n components: originalRecord\r\n ? originalRecord.record.components\r\n : mainNormalizedRecord.components,\r\n path: alias,\r\n // we might be the child of an alias\r\n aliasOf: originalRecord\r\n ? originalRecord.record\r\n : mainNormalizedRecord,\r\n // the aliases are always of the same kind as the original since they\r\n // are defined on the same record\r\n }));\r\n }\r\n }\r\n let matcher;\r\n let originalMatcher;\r\n for (const normalizedRecord of normalizedRecords) {\r\n const { path } = normalizedRecord;\r\n // Build up the path for nested routes if the child isn't an absolute\r\n // route. Only add the / delimiter if the child path isn't empty and if the\r\n // parent path doesn't have a trailing slash\r\n if (parent && path[0] !== '/') {\r\n const parentPath = parent.record.path;\r\n const connectingSlash = parentPath[parentPath.length - 1] === '/' ? '' : '/';\r\n normalizedRecord.path =\r\n parent.record.path + (path && connectingSlash + path);\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && normalizedRecord.path === '*') {\r\n throw new Error('Catch all routes (\"*\") must now be defined using a param with a custom regexp.\\n' +\r\n 'See more at https://next.router.vuejs.org/guide/migration/#removed-star-or-catch-all-routes.');\r\n }\r\n // create the object beforehand, so it can be passed to children\r\n matcher = createRouteRecordMatcher(normalizedRecord, parent, options);\r\n if ((process.env.NODE_ENV !== 'production') && parent && path[0] === '/')\r\n checkMissingParamsInAbsolutePath(matcher, parent);\r\n // if we are an alias we must tell the original record that we exist,\r\n // so we can be removed\r\n if (originalRecord) {\r\n originalRecord.alias.push(matcher);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkSameParams(originalRecord, matcher);\r\n }\r\n }\r\n else {\r\n // otherwise, the first record is the original and others are aliases\r\n originalMatcher = originalMatcher || matcher;\r\n if (originalMatcher !== matcher)\r\n originalMatcher.alias.push(matcher);\r\n // remove the route if named and only for the top record (avoid in nested calls)\r\n // this works because the original record is the first one\r\n if (isRootAdd && record.name && !isAliasRecord(matcher))\r\n removeRoute(record.name);\r\n }\r\n if (mainNormalizedRecord.children) {\r\n const children = mainNormalizedRecord.children;\r\n for (let i = 0; i < children.length; i++) {\r\n addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\r\n }\r\n }\r\n // if there was no original record, then the first one was not an alias and all\r\n // other aliases (if any) need to reference this record when adding children\r\n originalRecord = originalRecord || matcher;\r\n // TODO: add normalized records for more flexibility\r\n // if (parent && isAliasRecord(originalRecord)) {\r\n // parent.children.push(originalRecord)\r\n // }\r\n // Avoid adding a record that doesn't display anything. This allows passing through records without a component to\r\n // not be reached and pass through the catch all route\r\n if ((matcher.record.components &&\r\n Object.keys(matcher.record.components).length) ||\r\n matcher.record.name ||\r\n matcher.record.redirect) {\r\n insertMatcher(matcher);\r\n }\r\n }\r\n return originalMatcher\r\n ? () => {\r\n // since other matchers are aliases, they should be removed by the original matcher\r\n removeRoute(originalMatcher);\r\n }\r\n : noop;\r\n }\r\n function removeRoute(matcherRef) {\r\n if (isRouteName(matcherRef)) {\r\n const matcher = matcherMap.get(matcherRef);\r\n if (matcher) {\r\n matcherMap.delete(matcherRef);\r\n matchers.splice(matchers.indexOf(matcher), 1);\r\n matcher.children.forEach(removeRoute);\r\n matcher.alias.forEach(removeRoute);\r\n }\r\n }\r\n else {\r\n const index = matchers.indexOf(matcherRef);\r\n if (index > -1) {\r\n matchers.splice(index, 1);\r\n if (matcherRef.record.name)\r\n matcherMap.delete(matcherRef.record.name);\r\n matcherRef.children.forEach(removeRoute);\r\n matcherRef.alias.forEach(removeRoute);\r\n }\r\n }\r\n }\r\n function getRoutes() {\r\n return matchers;\r\n }\r\n function insertMatcher(matcher) {\r\n let i = 0;\r\n while (i < matchers.length &&\r\n comparePathParserScore(matcher, matchers[i]) >= 0 &&\r\n // Adding children with empty path should still appear before the parent\r\n // https://github.com/vuejs/router/issues/1124\r\n (matcher.record.path !== matchers[i].record.path ||\r\n !isRecordChildOf(matcher, matchers[i])))\r\n i++;\r\n matchers.splice(i, 0, matcher);\r\n // only add the original record to the name map\r\n if (matcher.record.name && !isAliasRecord(matcher))\r\n matcherMap.set(matcher.record.name, matcher);\r\n }\r\n function resolve(location, currentLocation) {\r\n let matcher;\r\n let params = {};\r\n let path;\r\n let name;\r\n if ('name' in location && location.name) {\r\n matcher = matcherMap.get(location.name);\r\n if (!matcher)\r\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\r\n location,\r\n });\r\n // warn if the user is passing invalid params so they can debug it better when they get removed\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const invalidParams = Object.keys(location.params || {}).filter(paramName => !matcher.keys.find(k => k.name === paramName));\r\n if (invalidParams.length) {\r\n warn(`Discarded invalid param(s) \"${invalidParams.join('\", \"')}\" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`);\r\n }\r\n }\r\n name = matcher.record.name;\r\n params = assign(\r\n // paramsFromLocation is a new object\r\n paramsFromLocation(currentLocation.params, \r\n // only keep params that exist in the resolved location\r\n // TODO: only keep optional params coming from a parent record\r\n matcher.keys.filter(k => !k.optional).map(k => k.name)), \r\n // discard any existing params in the current location that do not exist here\r\n // #1497 this ensures better active/exact matching\r\n location.params &&\r\n paramsFromLocation(location.params, matcher.keys.map(k => k.name)));\r\n // throws if cannot be stringified\r\n path = matcher.stringify(params);\r\n }\r\n else if ('path' in location) {\r\n // no need to resolve the path with the matcher as it was provided\r\n // this also allows the user to control the encoding\r\n path = location.path;\r\n if ((process.env.NODE_ENV !== 'production') && !path.startsWith('/')) {\r\n warn(`The Matcher cannot resolve relative paths but received \"${path}\". Unless you directly called \\`matcher.resolve(\"${path}\")\\`, this is probably a bug in vue-router. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/router.`);\r\n }\r\n matcher = matchers.find(m => m.re.test(path));\r\n // matcher should have a value after the loop\r\n if (matcher) {\r\n // we know the matcher works because we tested the regexp\r\n params = matcher.parse(path);\r\n name = matcher.record.name;\r\n }\r\n // location is a relative path\r\n }\r\n else {\r\n // match by name or path of current route\r\n matcher = currentLocation.name\r\n ? matcherMap.get(currentLocation.name)\r\n : matchers.find(m => m.re.test(currentLocation.path));\r\n if (!matcher)\r\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\r\n location,\r\n currentLocation,\r\n });\r\n name = matcher.record.name;\r\n // since we are navigating to the same location, we don't need to pick the\r\n // params like when `name` is provided\r\n params = assign({}, currentLocation.params, location.params);\r\n path = matcher.stringify(params);\r\n }\r\n const matched = [];\r\n let parentMatcher = matcher;\r\n while (parentMatcher) {\r\n // reversed order so parents are at the beginning\r\n matched.unshift(parentMatcher.record);\r\n parentMatcher = parentMatcher.parent;\r\n }\r\n return {\r\n name,\r\n path,\r\n params,\r\n matched,\r\n meta: mergeMetaFields(matched),\r\n };\r\n }\r\n // add initial routes\r\n routes.forEach(route => addRoute(route));\r\n return { addRoute, resolve, removeRoute, getRoutes, getRecordMatcher };\r\n}\r\nfunction paramsFromLocation(params, keys) {\r\n const newParams = {};\r\n for (const key of keys) {\r\n if (key in params)\r\n newParams[key] = params[key];\r\n }\r\n return newParams;\r\n}\r\n/**\r\n * Normalizes a RouteRecordRaw. Creates a copy\r\n *\r\n * @param record\r\n * @returns the normalized version\r\n */\r\nfunction normalizeRouteRecord(record) {\r\n return {\r\n path: record.path,\r\n redirect: record.redirect,\r\n name: record.name,\r\n meta: record.meta || {},\r\n aliasOf: undefined,\r\n beforeEnter: record.beforeEnter,\r\n props: normalizeRecordProps(record),\r\n children: record.children || [],\r\n instances: {},\r\n leaveGuards: new Set(),\r\n updateGuards: new Set(),\r\n enterCallbacks: {},\r\n components: 'components' in record\r\n ? record.components || null\r\n : record.component && { default: record.component },\r\n };\r\n}\r\n/**\r\n * Normalize the optional `props` in a record to always be an object similar to\r\n * components. Also accept a boolean for components.\r\n * @param record\r\n */\r\nfunction normalizeRecordProps(record) {\r\n const propsObject = {};\r\n // props does not exist on redirect records, but we can set false directly\r\n const props = record.props || false;\r\n if ('component' in record) {\r\n propsObject.default = props;\r\n }\r\n else {\r\n // NOTE: we could also allow a function to be applied to every component.\r\n // Would need user feedback for use cases\r\n for (const name in record.components)\r\n propsObject[name] = typeof props === 'boolean' ? props : props[name];\r\n }\r\n return propsObject;\r\n}\r\n/**\r\n * Checks if a record or any of its parent is an alias\r\n * @param record\r\n */\r\nfunction isAliasRecord(record) {\r\n while (record) {\r\n if (record.record.aliasOf)\r\n return true;\r\n record = record.parent;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Merge meta fields of an array of records\r\n *\r\n * @param matched - array of matched records\r\n */\r\nfunction mergeMetaFields(matched) {\r\n return matched.reduce((meta, record) => assign(meta, record.meta), {});\r\n}\r\nfunction mergeOptions(defaults, partialOptions) {\r\n const options = {};\r\n for (const key in defaults) {\r\n options[key] = key in partialOptions ? partialOptions[key] : defaults[key];\r\n }\r\n return options;\r\n}\r\nfunction isSameParam(a, b) {\r\n return (a.name === b.name &&\r\n a.optional === b.optional &&\r\n a.repeatable === b.repeatable);\r\n}\r\n/**\r\n * Check if a path and its alias have the same required params\r\n *\r\n * @param a - original record\r\n * @param b - alias record\r\n */\r\nfunction checkSameParams(a, b) {\r\n for (const key of a.keys) {\r\n if (!key.optional && !b.keys.find(isSameParam.bind(null, key)))\r\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\r\n }\r\n for (const key of b.keys) {\r\n if (!key.optional && !a.keys.find(isSameParam.bind(null, key)))\r\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\r\n }\r\n}\r\n/**\r\n * A route with a name and a child with an empty path without a name should warn when adding the route\r\n *\r\n * @param mainNormalizedRecord - RouteRecordNormalized\r\n * @param parent - RouteRecordMatcher\r\n */\r\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\r\n if (parent &&\r\n parent.record.name &&\r\n !mainNormalizedRecord.name &&\r\n !mainNormalizedRecord.path) {\r\n warn(`The route named \"${String(parent.record.name)}\" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`);\r\n }\r\n}\r\nfunction checkMissingParamsInAbsolutePath(record, parent) {\r\n for (const key of parent.keys) {\r\n if (!record.keys.find(isSameParam.bind(null, key)))\r\n return warn(`Absolute path \"${record.record.path}\" must have the exact same param named \"${key.name}\" as its parent \"${parent.record.path}\".`);\r\n }\r\n}\r\nfunction isRecordChildOf(record, parent) {\r\n return parent.children.some(child => child === record || isRecordChildOf(record, child));\r\n}\n\n/**\r\n * Encoding Rules ␣ = Space Path: ␣ \" < > # ? { } Query: ␣ \" < > # & = Hash: ␣ \"\r\n * < > `\r\n *\r\n * On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)\r\n * defines some extra characters to be encoded. Most browsers do not encode them\r\n * in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to\r\n * also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`)\r\n * plus `-._~`. This extra safety should be applied to query by patching the\r\n * string returned by encodeURIComponent encodeURI also encodes `[\\]^`. `\\`\r\n * should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\\`\r\n * into a `/` if directly typed in. The _backtick_ (`````) should also be\r\n * encoded everywhere because some browsers like FF encode it when directly\r\n * written while others don't. Safari and IE don't encode ``\"<>{}``` in hash.\r\n */\r\n// const EXTRA_RESERVED_RE = /[!'()*]/g\r\n// const encodeReservedReplacer = (c: string) => '%' + c.charCodeAt(0).toString(16)\r\nconst HASH_RE = /#/g; // %23\r\nconst AMPERSAND_RE = /&/g; // %26\r\nconst SLASH_RE = /\\//g; // %2F\r\nconst EQUAL_RE = /=/g; // %3D\r\nconst IM_RE = /\\?/g; // %3F\r\nconst PLUS_RE = /\\+/g; // %2B\r\n/**\r\n * NOTE: It's not clear to me if we should encode the + symbol in queries, it\r\n * seems to be less flexible than not doing so and I can't find out the legacy\r\n * systems requiring this for regular requests like text/html. In the standard,\r\n * the encoding of the plus character is only mentioned for\r\n * application/x-www-form-urlencoded\r\n * (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo\r\n * leave the plus character as is in queries. To be more flexible, we allow the\r\n * plus character on the query, but it can also be manually encoded by the user.\r\n *\r\n * Resources:\r\n * - https://url.spec.whatwg.org/#urlencoded-parsing\r\n * - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20\r\n */\r\nconst ENC_BRACKET_OPEN_RE = /%5B/g; // [\r\nconst ENC_BRACKET_CLOSE_RE = /%5D/g; // ]\r\nconst ENC_CARET_RE = /%5E/g; // ^\r\nconst ENC_BACKTICK_RE = /%60/g; // `\r\nconst ENC_CURLY_OPEN_RE = /%7B/g; // {\r\nconst ENC_PIPE_RE = /%7C/g; // |\r\nconst ENC_CURLY_CLOSE_RE = /%7D/g; // }\r\nconst ENC_SPACE_RE = /%20/g; // }\r\n/**\r\n * Encode characters that need to be encoded on the path, search and hash\r\n * sections of the URL.\r\n *\r\n * @internal\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction commonEncode(text) {\r\n return encodeURI('' + text)\r\n .replace(ENC_PIPE_RE, '|')\r\n .replace(ENC_BRACKET_OPEN_RE, '[')\r\n .replace(ENC_BRACKET_CLOSE_RE, ']');\r\n}\r\n/**\r\n * Encode characters that need to be encoded on the hash section of the URL.\r\n *\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction encodeHash(text) {\r\n return commonEncode(text)\r\n .replace(ENC_CURLY_OPEN_RE, '{')\r\n .replace(ENC_CURLY_CLOSE_RE, '}')\r\n .replace(ENC_CARET_RE, '^');\r\n}\r\n/**\r\n * Encode characters that need to be encoded query values on the query\r\n * section of the URL.\r\n *\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction encodeQueryValue(text) {\r\n return (commonEncode(text)\r\n // Encode the space as +, encode the + to differentiate it from the space\r\n .replace(PLUS_RE, '%2B')\r\n .replace(ENC_SPACE_RE, '+')\r\n .replace(HASH_RE, '%23')\r\n .replace(AMPERSAND_RE, '%26')\r\n .replace(ENC_BACKTICK_RE, '`')\r\n .replace(ENC_CURLY_OPEN_RE, '{')\r\n .replace(ENC_CURLY_CLOSE_RE, '}')\r\n .replace(ENC_CARET_RE, '^'));\r\n}\r\n/**\r\n * Like `encodeQueryValue` but also encodes the `=` character.\r\n *\r\n * @param text - string to encode\r\n */\r\nfunction encodeQueryKey(text) {\r\n return encodeQueryValue(text).replace(EQUAL_RE, '%3D');\r\n}\r\n/**\r\n * Encode characters that need to be encoded on the path section of the URL.\r\n *\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction encodePath(text) {\r\n return commonEncode(text).replace(HASH_RE, '%23').replace(IM_RE, '%3F');\r\n}\r\n/**\r\n * Encode characters that need to be encoded on the path section of the URL as a\r\n * param. This function encodes everything {@link encodePath} does plus the\r\n * slash (`/`) character. If `text` is `null` or `undefined`, returns an empty\r\n * string instead.\r\n *\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction encodeParam(text) {\r\n return text == null ? '' : encodePath(text).replace(SLASH_RE, '%2F');\r\n}\r\n/**\r\n * Decode text using `decodeURIComponent`. Returns the original text if it\r\n * fails.\r\n *\r\n * @param text - string to decode\r\n * @returns decoded string\r\n */\r\nfunction decode(text) {\r\n try {\r\n return decodeURIComponent('' + text);\r\n }\r\n catch (err) {\r\n (process.env.NODE_ENV !== 'production') && warn(`Error decoding \"${text}\". Using original value`);\r\n }\r\n return '' + text;\r\n}\n\n/**\r\n * Transforms a queryString into a {@link LocationQuery} object. Accept both, a\r\n * version with the leading `?` and without Should work as URLSearchParams\r\n\n * @internal\r\n *\r\n * @param search - search string to parse\r\n * @returns a query object\r\n */\r\nfunction parseQuery(search) {\r\n const query = {};\r\n // avoid creating an object with an empty key and empty value\r\n // because of split('&')\r\n if (search === '' || search === '?')\r\n return query;\r\n const hasLeadingIM = search[0] === '?';\r\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\r\n for (let i = 0; i < searchParams.length; ++i) {\r\n // pre decode the + into space\r\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\r\n // allow the = character\r\n const eqPos = searchParam.indexOf('=');\r\n const key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\r\n const value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\r\n if (key in query) {\r\n // an extra variable for ts types\r\n let currentValue = query[key];\r\n if (!isArray(currentValue)) {\r\n currentValue = query[key] = [currentValue];\r\n }\r\n currentValue.push(value);\r\n }\r\n else {\r\n query[key] = value;\r\n }\r\n }\r\n return query;\r\n}\r\n/**\r\n * Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it\r\n * doesn't prepend a `?`\r\n *\r\n * @internal\r\n *\r\n * @param query - query object to stringify\r\n * @returns string version of the query without the leading `?`\r\n */\r\nfunction stringifyQuery(query) {\r\n let search = '';\r\n for (let key in query) {\r\n const value = query[key];\r\n key = encodeQueryKey(key);\r\n if (value == null) {\r\n // only null adds the value\r\n if (value !== undefined) {\r\n search += (search.length ? '&' : '') + key;\r\n }\r\n continue;\r\n }\r\n // keep null values\r\n const values = isArray(value)\r\n ? value.map(v => v && encodeQueryValue(v))\r\n : [value && encodeQueryValue(value)];\r\n values.forEach(value => {\r\n // skip undefined values in arrays as if they were not present\r\n // smaller code than using filter\r\n if (value !== undefined) {\r\n // only append & with non-empty search\r\n search += (search.length ? '&' : '') + key;\r\n if (value != null)\r\n search += '=' + value;\r\n }\r\n });\r\n }\r\n return search;\r\n}\r\n/**\r\n * Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting\r\n * numbers into strings, removing keys with an undefined value and replacing\r\n * undefined with null in arrays\r\n *\r\n * @param query - query object to normalize\r\n * @returns a normalized query object\r\n */\r\nfunction normalizeQuery(query) {\r\n const normalizedQuery = {};\r\n for (const key in query) {\r\n const value = query[key];\r\n if (value !== undefined) {\r\n normalizedQuery[key] = isArray(value)\r\n ? value.map(v => (v == null ? null : '' + v))\r\n : value == null\r\n ? value\r\n : '' + value;\r\n }\r\n }\r\n return normalizedQuery;\r\n}\n\n/**\r\n * RouteRecord being rendered by the closest ancestor Router View. Used for\r\n * `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View\r\n * Location Matched\r\n *\r\n * @internal\r\n */\r\nconst matchedRouteKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location matched' : '');\r\n/**\r\n * Allows overriding the router view depth to control which component in\r\n * `matched` is rendered. rvd stands for Router View Depth\r\n *\r\n * @internal\r\n */\r\nconst viewDepthKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view depth' : '');\r\n/**\r\n * Allows overriding the router instance returned by `useRouter` in tests. r\r\n * stands for router\r\n *\r\n * @internal\r\n */\r\nconst routerKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router' : '');\r\n/**\r\n * Allows overriding the current route returned by `useRoute` in tests. rl\r\n * stands for route location\r\n *\r\n * @internal\r\n */\r\nconst routeLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'route location' : '');\r\n/**\r\n * Allows overriding the current route used by router-view. Internally this is\r\n * used when the `route` prop is passed.\r\n *\r\n * @internal\r\n */\r\nconst routerViewLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location' : '');\n\n/**\r\n * Create a list of callbacks that can be reset. Used to create before and after navigation guards list\r\n */\r\nfunction useCallbacks() {\r\n let handlers = [];\r\n function add(handler) {\r\n handlers.push(handler);\r\n return () => {\r\n const i = handlers.indexOf(handler);\r\n if (i > -1)\r\n handlers.splice(i, 1);\r\n };\r\n }\r\n function reset() {\r\n handlers = [];\r\n }\r\n return {\r\n add,\r\n list: () => handlers,\r\n reset,\r\n };\r\n}\n\nfunction registerGuard(record, name, guard) {\r\n const removeFromList = () => {\r\n record[name].delete(guard);\r\n };\r\n onUnmounted(removeFromList);\r\n onDeactivated(removeFromList);\r\n onActivated(() => {\r\n record[name].add(guard);\r\n });\r\n record[name].add(guard);\r\n}\r\n/**\r\n * Add a navigation guard that triggers whenever the component for the current\r\n * location is about to be left. Similar to {@link beforeRouteLeave} but can be\r\n * used in any component. The guard is removed when the component is unmounted.\r\n *\r\n * @param leaveGuard - {@link NavigationGuard}\r\n */\r\nfunction onBeforeRouteLeave(leaveGuard) {\r\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\r\n warn('getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function');\r\n return;\r\n }\r\n const activeRecord = inject(matchedRouteKey, \r\n // to avoid warning\r\n {}).value;\r\n if (!activeRecord) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn('No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\r\n return;\r\n }\r\n registerGuard(activeRecord, 'leaveGuards', leaveGuard);\r\n}\r\n/**\r\n * Add a navigation guard that triggers whenever the current location is about\r\n * to be updated. Similar to {@link beforeRouteUpdate} but can be used in any\r\n * component. The guard is removed when the component is unmounted.\r\n *\r\n * @param updateGuard - {@link NavigationGuard}\r\n */\r\nfunction onBeforeRouteUpdate(updateGuard) {\r\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\r\n warn('getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function');\r\n return;\r\n }\r\n const activeRecord = inject(matchedRouteKey, \r\n // to avoid warning\r\n {}).value;\r\n if (!activeRecord) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn('No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\r\n return;\r\n }\r\n registerGuard(activeRecord, 'updateGuards', updateGuard);\r\n}\r\nfunction guardToPromiseFn(guard, to, from, record, name) {\r\n // keep a reference to the enterCallbackArray to prevent pushing callbacks if a new navigation took place\r\n const enterCallbackArray = record &&\r\n // name is defined if record is because of the function overload\r\n (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\r\n return () => new Promise((resolve, reject) => {\r\n const next = (valid) => {\r\n if (valid === false) {\r\n reject(createRouterError(4 /* ErrorTypes.NAVIGATION_ABORTED */, {\r\n from,\r\n to,\r\n }));\r\n }\r\n else if (valid instanceof Error) {\r\n reject(valid);\r\n }\r\n else if (isRouteLocation(valid)) {\r\n reject(createRouterError(2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */, {\r\n from: to,\r\n to: valid,\r\n }));\r\n }\r\n else {\r\n if (enterCallbackArray &&\r\n // since enterCallbackArray is truthy, both record and name also are\r\n record.enterCallbacks[name] === enterCallbackArray &&\r\n typeof valid === 'function') {\r\n enterCallbackArray.push(valid);\r\n }\r\n resolve();\r\n }\r\n };\r\n // wrapping with Promise.resolve allows it to work with both async and sync guards\r\n const guardReturn = guard.call(record && record.instances[name], to, from, (process.env.NODE_ENV !== 'production') ? canOnlyBeCalledOnce(next, to, from) : next);\r\n let guardCall = Promise.resolve(guardReturn);\r\n if (guard.length < 3)\r\n guardCall = guardCall.then(next);\r\n if ((process.env.NODE_ENV !== 'production') && guard.length > 2) {\r\n const message = `The \"next\" callback was never called inside of ${guard.name ? '\"' + guard.name + '\"' : ''}:\\n${guard.toString()}\\n. If you are returning a value instead of calling \"next\", make sure to remove the \"next\" parameter from your function.`;\r\n if (typeof guardReturn === 'object' && 'then' in guardReturn) {\r\n guardCall = guardCall.then(resolvedValue => {\r\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\r\n if (!next._called) {\r\n warn(message);\r\n return Promise.reject(new Error('Invalid navigation guard'));\r\n }\r\n return resolvedValue;\r\n });\r\n }\r\n else if (guardReturn !== undefined) {\r\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\r\n if (!next._called) {\r\n warn(message);\r\n reject(new Error('Invalid navigation guard'));\r\n return;\r\n }\r\n }\r\n }\r\n guardCall.catch(err => reject(err));\r\n });\r\n}\r\nfunction canOnlyBeCalledOnce(next, to, from) {\r\n let called = 0;\r\n return function () {\r\n if (called++ === 1)\r\n warn(`The \"next\" callback was called more than once in one navigation guard when going from \"${from.fullPath}\" to \"${to.fullPath}\". It should be called exactly one time in each navigation guard. This will fail in production.`);\r\n // @ts-expect-error: we put it in the original one because it's easier to check\r\n next._called = true;\r\n if (called === 1)\r\n next.apply(null, arguments);\r\n };\r\n}\r\nfunction extractComponentsGuards(matched, guardType, to, from) {\r\n const guards = [];\r\n for (const record of matched) {\r\n if ((process.env.NODE_ENV !== 'production') && !record.components && !record.children.length) {\r\n warn(`Record with path \"${record.path}\" is either missing a \"component(s)\"` +\r\n ` or \"children\" property.`);\r\n }\r\n for (const name in record.components) {\r\n let rawComponent = record.components[name];\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (!rawComponent ||\r\n (typeof rawComponent !== 'object' &&\r\n typeof rawComponent !== 'function')) {\r\n warn(`Component \"${name}\" in record with path \"${record.path}\" is not` +\r\n ` a valid component. Received \"${String(rawComponent)}\".`);\r\n // throw to ensure we stop here but warn to ensure the message isn't\r\n // missed by the user\r\n throw new Error('Invalid route component');\r\n }\r\n else if ('then' in rawComponent) {\r\n // warn if user wrote import('/component.vue') instead of () =>\r\n // import('./component.vue')\r\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a ` +\r\n `Promise instead of a function that returns a Promise. Did you ` +\r\n `write \"import('./MyPage.vue')\" instead of ` +\r\n `\"() => import('./MyPage.vue')\" ? This will break in ` +\r\n `production if not fixed.`);\r\n const promise = rawComponent;\r\n rawComponent = () => promise;\r\n }\r\n else if (rawComponent.__asyncLoader &&\r\n // warn only once per component\r\n !rawComponent.__warnedDefineAsync) {\r\n rawComponent.__warnedDefineAsync = true;\r\n warn(`Component \"${name}\" in record with path \"${record.path}\" is defined ` +\r\n `using \"defineAsyncComponent()\". ` +\r\n `Write \"() => import('./MyPage.vue')\" instead of ` +\r\n `\"defineAsyncComponent(() => import('./MyPage.vue'))\".`);\r\n }\r\n }\r\n // skip update and leave guards if the route component is not mounted\r\n if (guardType !== 'beforeRouteEnter' && !record.instances[name])\r\n continue;\r\n if (isRouteComponent(rawComponent)) {\r\n // __vccOpts is added by vue-class-component and contain the regular options\r\n const options = rawComponent.__vccOpts || rawComponent;\r\n const guard = options[guardType];\r\n guard && guards.push(guardToPromiseFn(guard, to, from, record, name));\r\n }\r\n else {\r\n // start requesting the chunk already\r\n let componentPromise = rawComponent();\r\n if ((process.env.NODE_ENV !== 'production') && !('catch' in componentPromise)) {\r\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a function that does not return a Promise. If you were passing a functional component, make sure to add a \"displayName\" to the component. This will break in production if not fixed.`);\r\n componentPromise = Promise.resolve(componentPromise);\r\n }\r\n guards.push(() => componentPromise.then(resolved => {\r\n if (!resolved)\r\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`));\r\n const resolvedComponent = isESModule(resolved)\r\n ? resolved.default\r\n : resolved;\r\n // replace the function with the resolved component\r\n // cannot be null or undefined because we went into the for loop\r\n record.components[name] = resolvedComponent;\r\n // __vccOpts is added by vue-class-component and contain the regular options\r\n const options = resolvedComponent.__vccOpts || resolvedComponent;\r\n const guard = options[guardType];\r\n return guard && guardToPromiseFn(guard, to, from, record, name)();\r\n }));\r\n }\r\n }\r\n }\r\n return guards;\r\n}\r\n/**\r\n * Allows differentiating lazy components from functional components and vue-class-component\r\n * @internal\r\n *\r\n * @param component\r\n */\r\nfunction isRouteComponent(component) {\r\n return (typeof component === 'object' ||\r\n 'displayName' in component ||\r\n 'props' in component ||\r\n '__vccOpts' in component);\r\n}\r\n/**\r\n * Ensures a route is loaded, so it can be passed as o prop to ``.\r\n *\r\n * @param route - resolved route to load\r\n */\r\nfunction loadRouteLocation(route) {\r\n return route.matched.every(record => record.redirect)\r\n ? Promise.reject(new Error('Cannot load a route that redirects.'))\r\n : Promise.all(route.matched.map(record => record.components &&\r\n Promise.all(Object.keys(record.components).reduce((promises, name) => {\r\n const rawComponent = record.components[name];\r\n if (typeof rawComponent === 'function' &&\r\n !('displayName' in rawComponent)) {\r\n promises.push(rawComponent().then(resolved => {\r\n if (!resolved)\r\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\". Ensure you passed a function that returns a promise.`));\r\n const resolvedComponent = isESModule(resolved)\r\n ? resolved.default\r\n : resolved;\r\n // replace the function with the resolved component\r\n // cannot be null or undefined because we went into the for loop\r\n record.components[name] = resolvedComponent;\r\n return;\r\n }));\r\n }\r\n return promises;\r\n }, [])))).then(() => route);\r\n}\n\n// TODO: we could allow currentRoute as a prop to expose `isActive` and\r\n// `isExactActive` behavior should go through an RFC\r\nfunction useLink(props) {\r\n const router = inject(routerKey);\r\n const currentRoute = inject(routeLocationKey);\r\n const route = computed(() => router.resolve(unref(props.to)));\r\n const activeRecordIndex = computed(() => {\r\n const { matched } = route.value;\r\n const { length } = matched;\r\n const routeMatched = matched[length - 1];\r\n const currentMatched = currentRoute.matched;\r\n if (!routeMatched || !currentMatched.length)\r\n return -1;\r\n const index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\r\n if (index > -1)\r\n return index;\r\n // possible parent record\r\n const parentRecordPath = getOriginalPath(matched[length - 2]);\r\n return (\r\n // we are dealing with nested routes\r\n length > 1 &&\r\n // if the parent and matched route have the same path, this link is\r\n // referring to the empty child. Or we currently are on a different\r\n // child of the same parent\r\n getOriginalPath(routeMatched) === parentRecordPath &&\r\n // avoid comparing the child with its parent\r\n currentMatched[currentMatched.length - 1].path !== parentRecordPath\r\n ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2]))\r\n : index);\r\n });\r\n const isActive = computed(() => activeRecordIndex.value > -1 &&\r\n includesParams(currentRoute.params, route.value.params));\r\n const isExactActive = computed(() => activeRecordIndex.value > -1 &&\r\n activeRecordIndex.value === currentRoute.matched.length - 1 &&\r\n isSameRouteLocationParams(currentRoute.params, route.value.params));\r\n function navigate(e = {}) {\r\n if (guardEvent(e)) {\r\n return router[unref(props.replace) ? 'replace' : 'push'](unref(props.to)\r\n // avoid uncaught errors are they are logged anyway\r\n ).catch(noop);\r\n }\r\n return Promise.resolve();\r\n }\r\n // devtools only\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\r\n const instance = getCurrentInstance();\r\n if (instance) {\r\n const linkContextDevtools = {\r\n route: route.value,\r\n isActive: isActive.value,\r\n isExactActive: isExactActive.value,\r\n };\r\n // @ts-expect-error: this is internal\r\n instance.__vrl_devtools = instance.__vrl_devtools || [];\r\n // @ts-expect-error: this is internal\r\n instance.__vrl_devtools.push(linkContextDevtools);\r\n watchEffect(() => {\r\n linkContextDevtools.route = route.value;\r\n linkContextDevtools.isActive = isActive.value;\r\n linkContextDevtools.isExactActive = isExactActive.value;\r\n }, { flush: 'post' });\r\n }\r\n }\r\n /**\r\n * NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this\r\n */\r\n return {\r\n route,\r\n href: computed(() => route.value.href),\r\n isActive,\r\n isExactActive,\r\n navigate,\r\n };\r\n}\r\nconst RouterLinkImpl = /*#__PURE__*/ defineComponent({\r\n name: 'RouterLink',\r\n compatConfig: { MODE: 3 },\r\n props: {\r\n to: {\r\n type: [String, Object],\r\n required: true,\r\n },\r\n replace: Boolean,\r\n activeClass: String,\r\n // inactiveClass: String,\r\n exactActiveClass: String,\r\n custom: Boolean,\r\n ariaCurrentValue: {\r\n type: String,\r\n default: 'page',\r\n },\r\n },\r\n useLink,\r\n setup(props, { slots }) {\r\n const link = reactive(useLink(props));\r\n const { options } = inject(routerKey);\r\n const elClass = computed(() => ({\r\n [getLinkClass(props.activeClass, options.linkActiveClass, 'router-link-active')]: link.isActive,\r\n // [getLinkClass(\r\n // props.inactiveClass,\r\n // options.linkInactiveClass,\r\n // 'router-link-inactive'\r\n // )]: !link.isExactActive,\r\n [getLinkClass(props.exactActiveClass, options.linkExactActiveClass, 'router-link-exact-active')]: link.isExactActive,\r\n }));\r\n return () => {\r\n const children = slots.default && slots.default(link);\r\n return props.custom\r\n ? children\r\n : h('a', {\r\n 'aria-current': link.isExactActive\r\n ? props.ariaCurrentValue\r\n : null,\r\n href: link.href,\r\n // this would override user added attrs but Vue will still add\r\n // the listener, so we end up triggering both\r\n onClick: link.navigate,\r\n class: elClass.value,\r\n }, children);\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\n/**\r\n * Component to render a link that triggers a navigation on click.\r\n */\r\nconst RouterLink = RouterLinkImpl;\r\nfunction guardEvent(e) {\r\n // don't redirect with control keys\r\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)\r\n return;\r\n // don't redirect when preventDefault called\r\n if (e.defaultPrevented)\r\n return;\r\n // don't redirect on right click\r\n if (e.button !== undefined && e.button !== 0)\r\n return;\r\n // don't redirect if `target=\"_blank\"`\r\n // @ts-expect-error getAttribute does exist\r\n if (e.currentTarget && e.currentTarget.getAttribute) {\r\n // @ts-expect-error getAttribute exists\r\n const target = e.currentTarget.getAttribute('target');\r\n if (/\\b_blank\\b/i.test(target))\r\n return;\r\n }\r\n // this may be a Weex event which doesn't have this method\r\n if (e.preventDefault)\r\n e.preventDefault();\r\n return true;\r\n}\r\nfunction includesParams(outer, inner) {\r\n for (const key in inner) {\r\n const innerValue = inner[key];\r\n const outerValue = outer[key];\r\n if (typeof innerValue === 'string') {\r\n if (innerValue !== outerValue)\r\n return false;\r\n }\r\n else {\r\n if (!isArray(outerValue) ||\r\n outerValue.length !== innerValue.length ||\r\n innerValue.some((value, i) => value !== outerValue[i]))\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n/**\r\n * Get the original path value of a record by following its aliasOf\r\n * @param record\r\n */\r\nfunction getOriginalPath(record) {\r\n return record ? (record.aliasOf ? record.aliasOf.path : record.path) : '';\r\n}\r\n/**\r\n * Utility class to get the active class based on defaults.\r\n * @param propClass\r\n * @param globalClass\r\n * @param defaultClass\r\n */\r\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null\r\n ? propClass\r\n : globalClass != null\r\n ? globalClass\r\n : defaultClass;\n\nconst RouterViewImpl = /*#__PURE__*/ defineComponent({\r\n name: 'RouterView',\r\n // #674 we manually inherit them\r\n inheritAttrs: false,\r\n props: {\r\n name: {\r\n type: String,\r\n default: 'default',\r\n },\r\n route: Object,\r\n },\r\n // Better compat for @vue/compat users\r\n // https://github.com/vuejs/router/issues/1315\r\n compatConfig: { MODE: 3 },\r\n setup(props, { attrs, slots }) {\r\n (process.env.NODE_ENV !== 'production') && warnDeprecatedUsage();\r\n const injectedRoute = inject(routerViewLocationKey);\r\n const routeToDisplay = computed(() => props.route || injectedRoute.value);\r\n const injectedDepth = inject(viewDepthKey, 0);\r\n // The depth changes based on empty components option, which allows passthrough routes e.g. routes with children\r\n // that are used to reuse the `path` property\r\n const depth = computed(() => {\r\n let initialDepth = unref(injectedDepth);\r\n const { matched } = routeToDisplay.value;\r\n let matchedRoute;\r\n while ((matchedRoute = matched[initialDepth]) &&\r\n !matchedRoute.components) {\r\n initialDepth++;\r\n }\r\n return initialDepth;\r\n });\r\n const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\r\n provide(viewDepthKey, computed(() => depth.value + 1));\r\n provide(matchedRouteKey, matchedRouteRef);\r\n provide(routerViewLocationKey, routeToDisplay);\r\n const viewRef = ref();\r\n // watch at the same time the component instance, the route record we are\r\n // rendering, and the name\r\n watch(() => [viewRef.value, matchedRouteRef.value, props.name], ([instance, to, name], [oldInstance, from, oldName]) => {\r\n // copy reused instances\r\n if (to) {\r\n // this will update the instance for new instances as well as reused\r\n // instances when navigating to a new route\r\n to.instances[name] = instance;\r\n // the component instance is reused for a different route or name, so\r\n // we copy any saved update or leave guards. With async setup, the\r\n // mounting component will mount before the matchedRoute changes,\r\n // making instance === oldInstance, so we check if guards have been\r\n // added before. This works because we remove guards when\r\n // unmounting/deactivating components\r\n if (from && from !== to && instance && instance === oldInstance) {\r\n if (!to.leaveGuards.size) {\r\n to.leaveGuards = from.leaveGuards;\r\n }\r\n if (!to.updateGuards.size) {\r\n to.updateGuards = from.updateGuards;\r\n }\r\n }\r\n }\r\n // trigger beforeRouteEnter next callbacks\r\n if (instance &&\r\n to &&\r\n // if there is no instance but to and from are the same this might be\r\n // the first visit\r\n (!from || !isSameRouteRecord(to, from) || !oldInstance)) {\r\n (to.enterCallbacks[name] || []).forEach(callback => callback(instance));\r\n }\r\n }, { flush: 'post' });\r\n return () => {\r\n const route = routeToDisplay.value;\r\n // we need the value at the time we render because when we unmount, we\r\n // navigated to a different location so the value is different\r\n const currentName = props.name;\r\n const matchedRoute = matchedRouteRef.value;\r\n const ViewComponent = matchedRoute && matchedRoute.components[currentName];\r\n if (!ViewComponent) {\r\n return normalizeSlot(slots.default, { Component: ViewComponent, route });\r\n }\r\n // props from route configuration\r\n const routePropsOption = matchedRoute.props[currentName];\r\n const routeProps = routePropsOption\r\n ? routePropsOption === true\r\n ? route.params\r\n : typeof routePropsOption === 'function'\r\n ? routePropsOption(route)\r\n : routePropsOption\r\n : null;\r\n const onVnodeUnmounted = vnode => {\r\n // remove the instance reference to prevent leak\r\n if (vnode.component.isUnmounted) {\r\n matchedRoute.instances[currentName] = null;\r\n }\r\n };\r\n const component = h(ViewComponent, assign({}, routeProps, attrs, {\r\n onVnodeUnmounted,\r\n ref: viewRef,\r\n }));\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n isBrowser &&\r\n component.ref) {\r\n // TODO: can display if it's an alias, its props\r\n const info = {\r\n depth: depth.value,\r\n name: matchedRoute.name,\r\n path: matchedRoute.path,\r\n meta: matchedRoute.meta,\r\n };\r\n const internalInstances = isArray(component.ref)\r\n ? component.ref.map(r => r.i)\r\n : [component.ref.i];\r\n internalInstances.forEach(instance => {\r\n // @ts-expect-error\r\n instance.__vrv_devtools = info;\r\n });\r\n }\r\n return (\r\n // pass the vnode to the slot as a prop.\r\n // h and both accept vnodes\r\n normalizeSlot(slots.default, { Component: component, route }) ||\r\n component);\r\n };\r\n },\r\n});\r\nfunction normalizeSlot(slot, data) {\r\n if (!slot)\r\n return null;\r\n const slotContent = slot(data);\r\n return slotContent.length === 1 ? slotContent[0] : slotContent;\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\n/**\r\n * Component to display the current route the user is at.\r\n */\r\nconst RouterView = RouterViewImpl;\r\n// warn against deprecated usage with & \r\n// due to functional component being no longer eager in Vue 3\r\nfunction warnDeprecatedUsage() {\r\n const instance = getCurrentInstance();\r\n const parentName = instance.parent && instance.parent.type.name;\r\n if (parentName &&\r\n (parentName === 'KeepAlive' || parentName.includes('Transition'))) {\r\n const comp = parentName === 'KeepAlive' ? 'keep-alive' : 'transition';\r\n warn(` can no longer be used directly inside or .\\n` +\r\n `Use slot props instead:\\n\\n` +\r\n `\\n` +\r\n ` <${comp}>\\n` +\r\n ` \\n` +\r\n ` \\n` +\r\n ``);\r\n }\r\n}\n\n/**\r\n * Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances).\r\n *\r\n * @param routeLocation - routeLocation to format\r\n * @param tooltip - optional tooltip\r\n * @returns a copy of the routeLocation\r\n */\r\nfunction formatRouteLocation(routeLocation, tooltip) {\r\n const copy = assign({}, routeLocation, {\r\n // remove variables that can contain vue instances\r\n matched: routeLocation.matched.map(matched => omit(matched, ['instances', 'children', 'aliasOf'])),\r\n });\r\n return {\r\n _custom: {\r\n type: null,\r\n readOnly: true,\r\n display: routeLocation.fullPath,\r\n tooltip,\r\n value: copy,\r\n },\r\n };\r\n}\r\nfunction formatDisplay(display) {\r\n return {\r\n _custom: {\r\n display,\r\n },\r\n };\r\n}\r\n// to support multiple router instances\r\nlet routerId = 0;\r\nfunction addDevtools(app, router, matcher) {\r\n // Take over router.beforeEach and afterEach\r\n // make sure we are not registering the devtool twice\r\n if (router.__hasDevtools)\r\n return;\r\n router.__hasDevtools = true;\r\n // increment to support multiple router instances\r\n const id = routerId++;\r\n setupDevtoolsPlugin({\r\n id: 'org.vuejs.router' + (id ? '.' + id : ''),\r\n label: 'Vue Router',\r\n packageName: 'vue-router',\r\n homepage: 'https://router.vuejs.org',\r\n logo: 'https://router.vuejs.org/logo.png',\r\n componentStateTypes: ['Routing'],\r\n app,\r\n }, api => {\r\n if (typeof api.now !== 'function') {\r\n console.warn('[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\r\n }\r\n // display state added by the router\r\n api.on.inspectComponent((payload, ctx) => {\r\n if (payload.instanceData) {\r\n payload.instanceData.state.push({\r\n type: 'Routing',\r\n key: '$route',\r\n editable: false,\r\n value: formatRouteLocation(router.currentRoute.value, 'Current Route'),\r\n });\r\n }\r\n });\r\n // mark router-link as active and display tags on router views\r\n api.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\r\n if (componentInstance.__vrv_devtools) {\r\n const info = componentInstance.__vrv_devtools;\r\n node.tags.push({\r\n label: (info.name ? `${info.name.toString()}: ` : '') + info.path,\r\n textColor: 0,\r\n tooltip: 'This component is rendered by <router-view>',\r\n backgroundColor: PINK_500,\r\n });\r\n }\r\n // if multiple useLink are used\r\n if (isArray(componentInstance.__vrl_devtools)) {\r\n componentInstance.__devtoolsApi = api;\r\n componentInstance.__vrl_devtools.forEach(devtoolsData => {\r\n let backgroundColor = ORANGE_400;\r\n let tooltip = '';\r\n if (devtoolsData.isExactActive) {\r\n backgroundColor = LIME_500;\r\n tooltip = 'This is exactly active';\r\n }\r\n else if (devtoolsData.isActive) {\r\n backgroundColor = BLUE_600;\r\n tooltip = 'This link is active';\r\n }\r\n node.tags.push({\r\n label: devtoolsData.route.path,\r\n textColor: 0,\r\n tooltip,\r\n backgroundColor,\r\n });\r\n });\r\n }\r\n });\r\n watch(router.currentRoute, () => {\r\n // refresh active state\r\n refreshRoutesView();\r\n api.notifyComponentUpdate();\r\n api.sendInspectorTree(routerInspectorId);\r\n api.sendInspectorState(routerInspectorId);\r\n });\r\n const navigationsLayerId = 'router:navigations:' + id;\r\n api.addTimelineLayer({\r\n id: navigationsLayerId,\r\n label: `Router${id ? ' ' + id : ''} Navigations`,\r\n color: 0x40a8c4,\r\n });\r\n // const errorsLayerId = 'router:errors'\r\n // api.addTimelineLayer({\r\n // id: errorsLayerId,\r\n // label: 'Router Errors',\r\n // color: 0xea5455,\r\n // })\r\n router.onError((error, to) => {\r\n api.addTimelineEvent({\r\n layerId: navigationsLayerId,\r\n event: {\r\n title: 'Error during Navigation',\r\n subtitle: to.fullPath,\r\n logType: 'error',\r\n time: api.now(),\r\n data: { error },\r\n groupId: to.meta.__navigationId,\r\n },\r\n });\r\n });\r\n // attached to `meta` and used to group events\r\n let navigationId = 0;\r\n router.beforeEach((to, from) => {\r\n const data = {\r\n guard: formatDisplay('beforeEach'),\r\n from: formatRouteLocation(from, 'Current Location during this navigation'),\r\n to: formatRouteLocation(to, 'Target location'),\r\n };\r\n // Used to group navigations together, hide from devtools\r\n Object.defineProperty(to.meta, '__navigationId', {\r\n value: navigationId++,\r\n });\r\n api.addTimelineEvent({\r\n layerId: navigationsLayerId,\r\n event: {\r\n time: api.now(),\r\n title: 'Start of navigation',\r\n subtitle: to.fullPath,\r\n data,\r\n groupId: to.meta.__navigationId,\r\n },\r\n });\r\n });\r\n router.afterEach((to, from, failure) => {\r\n const data = {\r\n guard: formatDisplay('afterEach'),\r\n };\r\n if (failure) {\r\n data.failure = {\r\n _custom: {\r\n type: Error,\r\n readOnly: true,\r\n display: failure ? failure.message : '',\r\n tooltip: 'Navigation Failure',\r\n value: failure,\r\n },\r\n };\r\n data.status = formatDisplay('❌');\r\n }\r\n else {\r\n data.status = formatDisplay('✅');\r\n }\r\n // we set here to have the right order\r\n data.from = formatRouteLocation(from, 'Current Location during this navigation');\r\n data.to = formatRouteLocation(to, 'Target location');\r\n api.addTimelineEvent({\r\n layerId: navigationsLayerId,\r\n event: {\r\n title: 'End of navigation',\r\n subtitle: to.fullPath,\r\n time: api.now(),\r\n data,\r\n logType: failure ? 'warning' : 'default',\r\n groupId: to.meta.__navigationId,\r\n },\r\n });\r\n });\r\n /**\r\n * Inspector of Existing routes\r\n */\r\n const routerInspectorId = 'router-inspector:' + id;\r\n api.addInspector({\r\n id: routerInspectorId,\r\n label: 'Routes' + (id ? ' ' + id : ''),\r\n icon: 'book',\r\n treeFilterPlaceholder: 'Search routes',\r\n });\r\n function refreshRoutesView() {\r\n // the routes view isn't active\r\n if (!activeRoutesPayload)\r\n return;\r\n const payload = activeRoutesPayload;\r\n // children routes will appear as nested\r\n let routes = matcher.getRoutes().filter(route => !route.parent);\r\n // reset match state to false\r\n routes.forEach(resetMatchStateOnRouteRecord);\r\n // apply a match state if there is a payload\r\n if (payload.filter) {\r\n routes = routes.filter(route => \r\n // save matches state based on the payload\r\n isRouteMatching(route, payload.filter.toLowerCase()));\r\n }\r\n // mark active routes\r\n routes.forEach(route => markRouteRecordActive(route, router.currentRoute.value));\r\n payload.rootNodes = routes.map(formatRouteRecordForInspector);\r\n }\r\n let activeRoutesPayload;\r\n api.on.getInspectorTree(payload => {\r\n activeRoutesPayload = payload;\r\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\r\n refreshRoutesView();\r\n }\r\n });\r\n /**\r\n * Display information about the currently selected route record\r\n */\r\n api.on.getInspectorState(payload => {\r\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\r\n const routes = matcher.getRoutes();\r\n const route = routes.find(route => route.record.__vd_id === payload.nodeId);\r\n if (route) {\r\n payload.state = {\r\n options: formatRouteRecordMatcherForStateInspector(route),\r\n };\r\n }\r\n }\r\n });\r\n api.sendInspectorTree(routerInspectorId);\r\n api.sendInspectorState(routerInspectorId);\r\n });\r\n}\r\nfunction modifierForKey(key) {\r\n if (key.optional) {\r\n return key.repeatable ? '*' : '?';\r\n }\r\n else {\r\n return key.repeatable ? '+' : '';\r\n }\r\n}\r\nfunction formatRouteRecordMatcherForStateInspector(route) {\r\n const { record } = route;\r\n const fields = [\r\n { editable: false, key: 'path', value: record.path },\r\n ];\r\n if (record.name != null) {\r\n fields.push({\r\n editable: false,\r\n key: 'name',\r\n value: record.name,\r\n });\r\n }\r\n fields.push({ editable: false, key: 'regexp', value: route.re });\r\n if (route.keys.length) {\r\n fields.push({\r\n editable: false,\r\n key: 'keys',\r\n value: {\r\n _custom: {\r\n type: null,\r\n readOnly: true,\r\n display: route.keys\r\n .map(key => `${key.name}${modifierForKey(key)}`)\r\n .join(' '),\r\n tooltip: 'Param keys',\r\n value: route.keys,\r\n },\r\n },\r\n });\r\n }\r\n if (record.redirect != null) {\r\n fields.push({\r\n editable: false,\r\n key: 'redirect',\r\n value: record.redirect,\r\n });\r\n }\r\n if (route.alias.length) {\r\n fields.push({\r\n editable: false,\r\n key: 'aliases',\r\n value: route.alias.map(alias => alias.record.path),\r\n });\r\n }\r\n if (Object.keys(route.record.meta).length) {\r\n fields.push({\r\n editable: false,\r\n key: 'meta',\r\n value: route.record.meta,\r\n });\r\n }\r\n fields.push({\r\n key: 'score',\r\n editable: false,\r\n value: {\r\n _custom: {\r\n type: null,\r\n readOnly: true,\r\n display: route.score.map(score => score.join(', ')).join(' | '),\r\n tooltip: 'Score used to sort routes',\r\n value: route.score,\r\n },\r\n },\r\n });\r\n return fields;\r\n}\r\n/**\r\n * Extracted from tailwind palette\r\n */\r\nconst PINK_500 = 0xec4899;\r\nconst BLUE_600 = 0x2563eb;\r\nconst LIME_500 = 0x84cc16;\r\nconst CYAN_400 = 0x22d3ee;\r\nconst ORANGE_400 = 0xfb923c;\r\n// const GRAY_100 = 0xf4f4f5\r\nconst DARK = 0x666666;\r\nfunction formatRouteRecordForInspector(route) {\r\n const tags = [];\r\n const { record } = route;\r\n if (record.name != null) {\r\n tags.push({\r\n label: String(record.name),\r\n textColor: 0,\r\n backgroundColor: CYAN_400,\r\n });\r\n }\r\n if (record.aliasOf) {\r\n tags.push({\r\n label: 'alias',\r\n textColor: 0,\r\n backgroundColor: ORANGE_400,\r\n });\r\n }\r\n if (route.__vd_match) {\r\n tags.push({\r\n label: 'matches',\r\n textColor: 0,\r\n backgroundColor: PINK_500,\r\n });\r\n }\r\n if (route.__vd_exactActive) {\r\n tags.push({\r\n label: 'exact',\r\n textColor: 0,\r\n backgroundColor: LIME_500,\r\n });\r\n }\r\n if (route.__vd_active) {\r\n tags.push({\r\n label: 'active',\r\n textColor: 0,\r\n backgroundColor: BLUE_600,\r\n });\r\n }\r\n if (record.redirect) {\r\n tags.push({\r\n label: typeof record.redirect === 'string'\r\n ? `redirect: ${record.redirect}`\r\n : 'redirects',\r\n textColor: 0xffffff,\r\n backgroundColor: DARK,\r\n });\r\n }\r\n // add an id to be able to select it. Using the `path` is not possible because\r\n // empty path children would collide with their parents\r\n let id = record.__vd_id;\r\n if (id == null) {\r\n id = String(routeRecordId++);\r\n record.__vd_id = id;\r\n }\r\n return {\r\n id,\r\n label: record.path,\r\n tags,\r\n children: route.children.map(formatRouteRecordForInspector),\r\n };\r\n}\r\n// incremental id for route records and inspector state\r\nlet routeRecordId = 0;\r\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\r\nfunction markRouteRecordActive(route, currentRoute) {\r\n // no route will be active if matched is empty\r\n // reset the matching state\r\n const isExactActive = currentRoute.matched.length &&\r\n isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\r\n route.__vd_exactActive = route.__vd_active = isExactActive;\r\n if (!isExactActive) {\r\n route.__vd_active = currentRoute.matched.some(match => isSameRouteRecord(match, route.record));\r\n }\r\n route.children.forEach(childRoute => markRouteRecordActive(childRoute, currentRoute));\r\n}\r\nfunction resetMatchStateOnRouteRecord(route) {\r\n route.__vd_match = false;\r\n route.children.forEach(resetMatchStateOnRouteRecord);\r\n}\r\nfunction isRouteMatching(route, filter) {\r\n const found = String(route.re).match(EXTRACT_REGEXP_RE);\r\n route.__vd_match = false;\r\n if (!found || found.length < 3) {\r\n return false;\r\n }\r\n // use a regexp without $ at the end to match nested routes better\r\n const nonEndingRE = new RegExp(found[1].replace(/\\$$/, ''), found[2]);\r\n if (nonEndingRE.test(filter)) {\r\n // mark children as matches\r\n route.children.forEach(child => isRouteMatching(child, filter));\r\n // exception case: `/`\r\n if (route.record.path !== '/' || filter === '/') {\r\n route.__vd_match = route.re.test(filter);\r\n return true;\r\n }\r\n // hide the / route\r\n return false;\r\n }\r\n const path = route.record.path.toLowerCase();\r\n const decodedPath = decode(path);\r\n // also allow partial matching on the path\r\n if (!filter.startsWith('/') &&\r\n (decodedPath.includes(filter) || path.includes(filter)))\r\n return true;\r\n if (decodedPath.startsWith(filter) || path.startsWith(filter))\r\n return true;\r\n if (route.record.name && String(route.record.name).includes(filter))\r\n return true;\r\n return route.children.some(child => isRouteMatching(child, filter));\r\n}\r\nfunction omit(obj, keys) {\r\n const ret = {};\r\n for (const key in obj) {\r\n if (!keys.includes(key)) {\r\n // @ts-expect-error\r\n ret[key] = obj[key];\r\n }\r\n }\r\n return ret;\r\n}\n\n/**\r\n * Creates a Router instance that can be used by a Vue app.\r\n *\r\n * @param options - {@link RouterOptions}\r\n */\r\nfunction createRouter(options) {\r\n const matcher = createRouterMatcher(options.routes, options);\r\n const parseQuery$1 = options.parseQuery || parseQuery;\r\n const stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\r\n const routerHistory = options.history;\r\n if ((process.env.NODE_ENV !== 'production') && !routerHistory)\r\n throw new Error('Provide the \"history\" option when calling \"createRouter()\":' +\r\n ' https://next.router.vuejs.org/api/#history.');\r\n const beforeGuards = useCallbacks();\r\n const beforeResolveGuards = useCallbacks();\r\n const afterGuards = useCallbacks();\r\n const currentRoute = shallowRef(START_LOCATION_NORMALIZED);\r\n let pendingLocation = START_LOCATION_NORMALIZED;\r\n // leave the scrollRestoration if no scrollBehavior is provided\r\n if (isBrowser && options.scrollBehavior && 'scrollRestoration' in history) {\r\n history.scrollRestoration = 'manual';\r\n }\r\n const normalizeParams = applyToParams.bind(null, paramValue => '' + paramValue);\r\n const encodeParams = applyToParams.bind(null, encodeParam);\r\n const decodeParams = \r\n // @ts-expect-error: intentionally avoid the type check\r\n applyToParams.bind(null, decode);\r\n function addRoute(parentOrRoute, route) {\r\n let parent;\r\n let record;\r\n if (isRouteName(parentOrRoute)) {\r\n parent = matcher.getRecordMatcher(parentOrRoute);\r\n record = route;\r\n }\r\n else {\r\n record = parentOrRoute;\r\n }\r\n return matcher.addRoute(record, parent);\r\n }\r\n function removeRoute(name) {\r\n const recordMatcher = matcher.getRecordMatcher(name);\r\n if (recordMatcher) {\r\n matcher.removeRoute(recordMatcher);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Cannot remove non-existent route \"${String(name)}\"`);\r\n }\r\n }\r\n function getRoutes() {\r\n return matcher.getRoutes().map(routeMatcher => routeMatcher.record);\r\n }\r\n function hasRoute(name) {\r\n return !!matcher.getRecordMatcher(name);\r\n }\r\n function resolve(rawLocation, currentLocation) {\r\n // const objectLocation = routerLocationAsObject(rawLocation)\r\n // we create a copy to modify it later\r\n currentLocation = assign({}, currentLocation || currentRoute.value);\r\n if (typeof rawLocation === 'string') {\r\n const locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\r\n const matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation);\r\n const href = routerHistory.createHref(locationNormalized.fullPath);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (href.startsWith('//'))\r\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\r\n else if (!matchedRoute.matched.length) {\r\n warn(`No match found for location with path \"${rawLocation}\"`);\r\n }\r\n }\r\n // locationNormalized is always a new object\r\n return assign(locationNormalized, matchedRoute, {\r\n params: decodeParams(matchedRoute.params),\r\n hash: decode(locationNormalized.hash),\r\n redirectedFrom: undefined,\r\n href,\r\n });\r\n }\r\n let matcherLocation;\r\n // path could be relative in object as well\r\n if ('path' in rawLocation) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n 'params' in rawLocation &&\r\n !('name' in rawLocation) &&\r\n // @ts-expect-error: the type is never\r\n Object.keys(rawLocation.params).length) {\r\n warn(`Path \"${\r\n // @ts-expect-error: the type is never\r\n rawLocation.path}\" was passed with params but they will be ignored. Use a named route alongside params instead.`);\r\n }\r\n matcherLocation = assign({}, rawLocation, {\r\n path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path,\r\n });\r\n }\r\n else {\r\n // remove any nullish param\r\n const targetParams = assign({}, rawLocation.params);\r\n for (const key in targetParams) {\r\n if (targetParams[key] == null) {\r\n delete targetParams[key];\r\n }\r\n }\r\n // pass encoded values to the matcher, so it can produce encoded path and fullPath\r\n matcherLocation = assign({}, rawLocation, {\r\n params: encodeParams(rawLocation.params),\r\n });\r\n // current location params are decoded, we need to encode them in case the\r\n // matcher merges the params\r\n currentLocation.params = encodeParams(currentLocation.params);\r\n }\r\n const matchedRoute = matcher.resolve(matcherLocation, currentLocation);\r\n const hash = rawLocation.hash || '';\r\n if ((process.env.NODE_ENV !== 'production') && hash && !hash.startsWith('#')) {\r\n warn(`A \\`hash\\` should always start with the character \"#\". Replace \"${hash}\" with \"#${hash}\".`);\r\n }\r\n // the matcher might have merged current location params, so\r\n // we need to run the decoding again\r\n matchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\r\n const fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\r\n hash: encodeHash(hash),\r\n path: matchedRoute.path,\r\n }));\r\n const href = routerHistory.createHref(fullPath);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (href.startsWith('//')) {\r\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\r\n }\r\n else if (!matchedRoute.matched.length) {\r\n warn(`No match found for location with path \"${'path' in rawLocation ? rawLocation.path : rawLocation}\"`);\r\n }\r\n }\r\n return assign({\r\n fullPath,\r\n // keep the hash encoded so fullPath is effectively path + encodedQuery +\r\n // hash\r\n hash,\r\n query: \r\n // if the user is using a custom query lib like qs, we might have\r\n // nested objects, so we keep the query as is, meaning it can contain\r\n // numbers at `$route.query`, but at the point, the user will have to\r\n // use their own type anyway.\r\n // https://github.com/vuejs/router/issues/328#issuecomment-649481567\r\n stringifyQuery$1 === stringifyQuery\r\n ? normalizeQuery(rawLocation.query)\r\n : (rawLocation.query || {}),\r\n }, matchedRoute, {\r\n redirectedFrom: undefined,\r\n href,\r\n });\r\n }\r\n function locationAsObject(to) {\r\n return typeof to === 'string'\r\n ? parseURL(parseQuery$1, to, currentRoute.value.path)\r\n : assign({}, to);\r\n }\r\n function checkCanceledNavigation(to, from) {\r\n if (pendingLocation !== to) {\r\n return createRouterError(8 /* ErrorTypes.NAVIGATION_CANCELLED */, {\r\n from,\r\n to,\r\n });\r\n }\r\n }\r\n function push(to) {\r\n return pushWithRedirect(to);\r\n }\r\n function replace(to) {\r\n return push(assign(locationAsObject(to), { replace: true }));\r\n }\r\n function handleRedirectRecord(to) {\r\n const lastMatched = to.matched[to.matched.length - 1];\r\n if (lastMatched && lastMatched.redirect) {\r\n const { redirect } = lastMatched;\r\n let newTargetLocation = typeof redirect === 'function' ? redirect(to) : redirect;\r\n if (typeof newTargetLocation === 'string') {\r\n newTargetLocation =\r\n newTargetLocation.includes('?') || newTargetLocation.includes('#')\r\n ? (newTargetLocation = locationAsObject(newTargetLocation))\r\n : // force empty params\r\n { path: newTargetLocation };\r\n // @ts-expect-error: force empty params when a string is passed to let\r\n // the router parse them again\r\n newTargetLocation.params = {};\r\n }\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n !('path' in newTargetLocation) &&\r\n !('name' in newTargetLocation)) {\r\n warn(`Invalid redirect found:\\n${JSON.stringify(newTargetLocation, null, 2)}\\n when navigating to \"${to.fullPath}\". A redirect must contain a name or path. This will break in production.`);\r\n throw new Error('Invalid redirect');\r\n }\r\n return assign({\r\n query: to.query,\r\n hash: to.hash,\r\n // avoid transferring params if the redirect has a path\r\n params: 'path' in newTargetLocation ? {} : to.params,\r\n }, newTargetLocation);\r\n }\r\n }\r\n function pushWithRedirect(to, redirectedFrom) {\r\n const targetLocation = (pendingLocation = resolve(to));\r\n const from = currentRoute.value;\r\n const data = to.state;\r\n const force = to.force;\r\n // to could be a string where `replace` is a function\r\n const replace = to.replace === true;\r\n const shouldRedirect = handleRedirectRecord(targetLocation);\r\n if (shouldRedirect)\r\n return pushWithRedirect(assign(locationAsObject(shouldRedirect), {\r\n state: typeof shouldRedirect === 'object'\r\n ? assign({}, data, shouldRedirect.state)\r\n : data,\r\n force,\r\n replace,\r\n }), \r\n // keep original redirectedFrom if it exists\r\n redirectedFrom || targetLocation);\r\n // if it was a redirect we already called `pushWithRedirect` above\r\n const toLocation = targetLocation;\r\n toLocation.redirectedFrom = redirectedFrom;\r\n let failure;\r\n if (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\r\n failure = createRouterError(16 /* ErrorTypes.NAVIGATION_DUPLICATED */, { to: toLocation, from });\r\n // trigger scroll to allow scrolling to the same anchor\r\n handleScroll(from, from, \r\n // this is a push, the only way for it to be triggered from a\r\n // history.listen is with a redirect, which makes it become a push\r\n true, \r\n // This cannot be the first navigation because the initial location\r\n // cannot be manually navigated to\r\n false);\r\n }\r\n return (failure ? Promise.resolve(failure) : navigate(toLocation, from))\r\n .catch((error) => isNavigationFailure(error)\r\n ? // navigation redirects still mark the router as ready\r\n isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)\r\n ? error\r\n : markAsReady(error) // also returns the error\r\n : // reject any unknown error\r\n triggerError(error, toLocation, from))\r\n .then((failure) => {\r\n if (failure) {\r\n if (isNavigationFailure(failure, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n // we are redirecting to the same location we were already at\r\n isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) &&\r\n // and we have done it a couple of times\r\n redirectedFrom &&\r\n // @ts-expect-error: added only in dev\r\n (redirectedFrom._count = redirectedFrom._count\r\n ? // @ts-expect-error\r\n redirectedFrom._count + 1\r\n : 1) > 10) {\r\n warn(`Detected an infinite redirection in a navigation guard when going from \"${from.fullPath}\" to \"${toLocation.fullPath}\". Aborting to avoid a Stack Overflow. This will break in production if not fixed.`);\r\n return Promise.reject(new Error('Infinite redirect in navigation guard'));\r\n }\r\n return pushWithRedirect(\r\n // keep options\r\n assign({\r\n // preserve an existing replacement but allow the redirect to override it\r\n replace,\r\n }, locationAsObject(failure.to), {\r\n state: typeof failure.to === 'object'\r\n ? assign({}, data, failure.to.state)\r\n : data,\r\n force,\r\n }), \r\n // preserve the original redirectedFrom if any\r\n redirectedFrom || toLocation);\r\n }\r\n }\r\n else {\r\n // if we fail we don't finalize the navigation\r\n failure = finalizeNavigation(toLocation, from, true, replace, data);\r\n }\r\n triggerAfterEach(toLocation, from, failure);\r\n return failure;\r\n });\r\n }\r\n /**\r\n * Helper to reject and skip all navigation guards if a new navigation happened\r\n * @param to\r\n * @param from\r\n */\r\n function checkCanceledNavigationAndReject(to, from) {\r\n const error = checkCanceledNavigation(to, from);\r\n return error ? Promise.reject(error) : Promise.resolve();\r\n }\r\n // TODO: refactor the whole before guards by internally using router.beforeEach\r\n function navigate(to, from) {\r\n let guards;\r\n const [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\r\n // all components here have been resolved once because we are leaving\r\n guards = extractComponentsGuards(leavingRecords.reverse(), 'beforeRouteLeave', to, from);\r\n // leavingRecords is already reversed\r\n for (const record of leavingRecords) {\r\n record.leaveGuards.forEach(guard => {\r\n guards.push(guardToPromiseFn(guard, to, from));\r\n });\r\n }\r\n const canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\r\n guards.push(canceledNavigationCheck);\r\n // run the queue of per route beforeRouteLeave guards\r\n return (runGuardQueue(guards)\r\n .then(() => {\r\n // check global guards beforeEach\r\n guards = [];\r\n for (const guard of beforeGuards.list()) {\r\n guards.push(guardToPromiseFn(guard, to, from));\r\n }\r\n guards.push(canceledNavigationCheck);\r\n return runGuardQueue(guards);\r\n })\r\n .then(() => {\r\n // check in components beforeRouteUpdate\r\n guards = extractComponentsGuards(updatingRecords, 'beforeRouteUpdate', to, from);\r\n for (const record of updatingRecords) {\r\n record.updateGuards.forEach(guard => {\r\n guards.push(guardToPromiseFn(guard, to, from));\r\n });\r\n }\r\n guards.push(canceledNavigationCheck);\r\n // run the queue of per route beforeEnter guards\r\n return runGuardQueue(guards);\r\n })\r\n .then(() => {\r\n // check the route beforeEnter\r\n guards = [];\r\n for (const record of to.matched) {\r\n // do not trigger beforeEnter on reused views\r\n if (record.beforeEnter && !from.matched.includes(record)) {\r\n if (isArray(record.beforeEnter)) {\r\n for (const beforeEnter of record.beforeEnter)\r\n guards.push(guardToPromiseFn(beforeEnter, to, from));\r\n }\r\n else {\r\n guards.push(guardToPromiseFn(record.beforeEnter, to, from));\r\n }\r\n }\r\n }\r\n guards.push(canceledNavigationCheck);\r\n // run the queue of per route beforeEnter guards\r\n return runGuardQueue(guards);\r\n })\r\n .then(() => {\r\n // NOTE: at this point to.matched is normalized and does not contain any () => Promise\r\n // clear existing enterCallbacks, these are added by extractComponentsGuards\r\n to.matched.forEach(record => (record.enterCallbacks = {}));\r\n // check in-component beforeRouteEnter\r\n guards = extractComponentsGuards(enteringRecords, 'beforeRouteEnter', to, from);\r\n guards.push(canceledNavigationCheck);\r\n // run the queue of per route beforeEnter guards\r\n return runGuardQueue(guards);\r\n })\r\n .then(() => {\r\n // check global guards beforeResolve\r\n guards = [];\r\n for (const guard of beforeResolveGuards.list()) {\r\n guards.push(guardToPromiseFn(guard, to, from));\r\n }\r\n guards.push(canceledNavigationCheck);\r\n return runGuardQueue(guards);\r\n })\r\n // catch any navigation canceled\r\n .catch(err => isNavigationFailure(err, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)\r\n ? err\r\n : Promise.reject(err)));\r\n }\r\n function triggerAfterEach(to, from, failure) {\r\n // navigation is confirmed, call afterGuards\r\n // TODO: wrap with error handlers\r\n for (const guard of afterGuards.list())\r\n guard(to, from, failure);\r\n }\r\n /**\r\n * - Cleans up any navigation guards\r\n * - Changes the url if necessary\r\n * - Calls the scrollBehavior\r\n */\r\n function finalizeNavigation(toLocation, from, isPush, replace, data) {\r\n // a more recent navigation took place\r\n const error = checkCanceledNavigation(toLocation, from);\r\n if (error)\r\n return error;\r\n // only consider as push if it's not the first navigation\r\n const isFirstNavigation = from === START_LOCATION_NORMALIZED;\r\n const state = !isBrowser ? {} : history.state;\r\n // change URL only if the user did a push/replace and if it's not the initial navigation because\r\n // it's just reflecting the url\r\n if (isPush) {\r\n // on the initial navigation, we want to reuse the scroll position from\r\n // history state if it exists\r\n if (replace || isFirstNavigation)\r\n routerHistory.replace(toLocation.fullPath, assign({\r\n scroll: isFirstNavigation && state && state.scroll,\r\n }, data));\r\n else\r\n routerHistory.push(toLocation.fullPath, data);\r\n }\r\n // accept current navigation\r\n currentRoute.value = toLocation;\r\n handleScroll(toLocation, from, isPush, isFirstNavigation);\r\n markAsReady();\r\n }\r\n let removeHistoryListener;\r\n // attach listener to history to trigger navigations\r\n function setupListeners() {\r\n // avoid setting up listeners twice due to an invalid first navigation\r\n if (removeHistoryListener)\r\n return;\r\n removeHistoryListener = routerHistory.listen((to, _from, info) => {\r\n if (!router.listening)\r\n return;\r\n // cannot be a redirect route because it was in history\r\n const toLocation = resolve(to);\r\n // due to dynamic routing, and to hash history with manual navigation\r\n // (manually changing the url or calling history.hash = '#/somewhere'),\r\n // there could be a redirect record in history\r\n const shouldRedirect = handleRedirectRecord(toLocation);\r\n if (shouldRedirect) {\r\n pushWithRedirect(assign(shouldRedirect, { replace: true }), toLocation).catch(noop);\r\n return;\r\n }\r\n pendingLocation = toLocation;\r\n const from = currentRoute.value;\r\n // TODO: should be moved to web history?\r\n if (isBrowser) {\r\n saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());\r\n }\r\n navigate(toLocation, from)\r\n .catch((error) => {\r\n if (isNavigationFailure(error, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\r\n return error;\r\n }\r\n if (isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\r\n // Here we could call if (info.delta) routerHistory.go(-info.delta,\r\n // false) but this is bug prone as we have no way to wait the\r\n // navigation to be finished before calling pushWithRedirect. Using\r\n // a setTimeout of 16ms seems to work but there is no guarantee for\r\n // it to work on every browser. So instead we do not restore the\r\n // history entry and trigger a new navigation as requested by the\r\n // navigation guard.\r\n // the error is already handled by router.push we just want to avoid\r\n // logging the error\r\n pushWithRedirect(error.to, toLocation\r\n // avoid an uncaught rejection, let push call triggerError\r\n )\r\n .then(failure => {\r\n // manual change in hash history #916 ending up in the URL not\r\n // changing, but it was changed by the manual url change, so we\r\n // need to manually change it ourselves\r\n if (isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ |\r\n 16 /* ErrorTypes.NAVIGATION_DUPLICATED */) &&\r\n !info.delta &&\r\n info.type === NavigationType.pop) {\r\n routerHistory.go(-1, false);\r\n }\r\n })\r\n .catch(noop);\r\n // avoid the then branch\r\n return Promise.reject();\r\n }\r\n // do not restore history on unknown direction\r\n if (info.delta) {\r\n routerHistory.go(-info.delta, false);\r\n }\r\n // unrecognized error, transfer to the global handler\r\n return triggerError(error, toLocation, from);\r\n })\r\n .then((failure) => {\r\n failure =\r\n failure ||\r\n finalizeNavigation(\r\n // after navigation, all matched components are resolved\r\n toLocation, from, false);\r\n // revert the navigation\r\n if (failure) {\r\n if (info.delta &&\r\n // a new navigation has been triggered, so we do not want to revert, that will change the current history\r\n // entry while a different route is displayed\r\n !isNavigationFailure(failure, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\r\n routerHistory.go(-info.delta, false);\r\n }\r\n else if (info.type === NavigationType.pop &&\r\n isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 16 /* ErrorTypes.NAVIGATION_DUPLICATED */)) {\r\n // manual change in hash history #916\r\n // it's like a push but lacks the information of the direction\r\n routerHistory.go(-1, false);\r\n }\r\n }\r\n triggerAfterEach(toLocation, from, failure);\r\n })\r\n .catch(noop);\r\n });\r\n }\r\n // Initialization and Errors\r\n let readyHandlers = useCallbacks();\r\n let errorHandlers = useCallbacks();\r\n let ready;\r\n /**\r\n * Trigger errorHandlers added via onError and throws the error as well\r\n *\r\n * @param error - error to throw\r\n * @param to - location we were navigating to when the error happened\r\n * @param from - location we were navigating from when the error happened\r\n * @returns the error as a rejected promise\r\n */\r\n function triggerError(error, to, from) {\r\n markAsReady(error);\r\n const list = errorHandlers.list();\r\n if (list.length) {\r\n list.forEach(handler => handler(error, to, from));\r\n }\r\n else {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn('uncaught error during route navigation:');\r\n }\r\n console.error(error);\r\n }\r\n return Promise.reject(error);\r\n }\r\n function isReady() {\r\n if (ready && currentRoute.value !== START_LOCATION_NORMALIZED)\r\n return Promise.resolve();\r\n return new Promise((resolve, reject) => {\r\n readyHandlers.add([resolve, reject]);\r\n });\r\n }\r\n function markAsReady(err) {\r\n if (!ready) {\r\n // still not ready if an error happened\r\n ready = !err;\r\n setupListeners();\r\n readyHandlers\r\n .list()\r\n .forEach(([resolve, reject]) => (err ? reject(err) : resolve()));\r\n readyHandlers.reset();\r\n }\r\n return err;\r\n }\r\n // Scroll behavior\r\n function handleScroll(to, from, isPush, isFirstNavigation) {\r\n const { scrollBehavior } = options;\r\n if (!isBrowser || !scrollBehavior)\r\n return Promise.resolve();\r\n const scrollPosition = (!isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0))) ||\r\n ((isFirstNavigation || !isPush) &&\r\n history.state &&\r\n history.state.scroll) ||\r\n null;\r\n return nextTick()\r\n .then(() => scrollBehavior(to, from, scrollPosition))\r\n .then(position => position && scrollToPosition(position))\r\n .catch(err => triggerError(err, to, from));\r\n }\r\n const go = (delta) => routerHistory.go(delta);\r\n let started;\r\n const installedApps = new Set();\r\n const router = {\r\n currentRoute,\r\n listening: true,\r\n addRoute,\r\n removeRoute,\r\n hasRoute,\r\n getRoutes,\r\n resolve,\r\n options,\r\n push,\r\n replace,\r\n go,\r\n back: () => go(-1),\r\n forward: () => go(1),\r\n beforeEach: beforeGuards.add,\r\n beforeResolve: beforeResolveGuards.add,\r\n afterEach: afterGuards.add,\r\n onError: errorHandlers.add,\r\n isReady,\r\n install(app) {\r\n const router = this;\r\n app.component('RouterLink', RouterLink);\r\n app.component('RouterView', RouterView);\r\n app.config.globalProperties.$router = router;\r\n Object.defineProperty(app.config.globalProperties, '$route', {\r\n enumerable: true,\r\n get: () => unref(currentRoute),\r\n });\r\n // this initial navigation is only necessary on client, on server it doesn't\r\n // make sense because it will create an extra unnecessary navigation and could\r\n // lead to problems\r\n if (isBrowser &&\r\n // used for the initial navigation client side to avoid pushing\r\n // multiple times when the router is used in multiple apps\r\n !started &&\r\n currentRoute.value === START_LOCATION_NORMALIZED) {\r\n // see above\r\n started = true;\r\n push(routerHistory.location).catch(err => {\r\n if ((process.env.NODE_ENV !== 'production'))\r\n warn('Unexpected error when starting the router:', err);\r\n });\r\n }\r\n const reactiveRoute = {};\r\n for (const key in START_LOCATION_NORMALIZED) {\r\n // @ts-expect-error: the key matches\r\n reactiveRoute[key] = computed(() => currentRoute.value[key]);\r\n }\r\n app.provide(routerKey, router);\r\n app.provide(routeLocationKey, reactive(reactiveRoute));\r\n app.provide(routerViewLocationKey, currentRoute);\r\n const unmountApp = app.unmount;\r\n installedApps.add(app);\r\n app.unmount = function () {\r\n installedApps.delete(app);\r\n // the router is not attached to an app anymore\r\n if (installedApps.size < 1) {\r\n // invalidate the current navigation\r\n pendingLocation = START_LOCATION_NORMALIZED;\r\n removeHistoryListener && removeHistoryListener();\r\n removeHistoryListener = null;\r\n currentRoute.value = START_LOCATION_NORMALIZED;\r\n started = false;\r\n ready = false;\r\n }\r\n unmountApp();\r\n };\r\n // TODO: this probably needs to be updated so it can be used by vue-termui\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\r\n addDevtools(app, router, matcher);\r\n }\r\n },\r\n };\r\n return router;\r\n}\r\nfunction runGuardQueue(guards) {\r\n return guards.reduce((promise, guard) => promise.then(() => guard()), Promise.resolve());\r\n}\r\nfunction extractChangingRecords(to, from) {\r\n const leavingRecords = [];\r\n const updatingRecords = [];\r\n const enteringRecords = [];\r\n const len = Math.max(from.matched.length, to.matched.length);\r\n for (let i = 0; i < len; i++) {\r\n const recordFrom = from.matched[i];\r\n if (recordFrom) {\r\n if (to.matched.find(record => isSameRouteRecord(record, recordFrom)))\r\n updatingRecords.push(recordFrom);\r\n else\r\n leavingRecords.push(recordFrom);\r\n }\r\n const recordTo = to.matched[i];\r\n if (recordTo) {\r\n // the type doesn't matter because we are comparing per reference\r\n if (!from.matched.find(record => isSameRouteRecord(record, recordTo))) {\r\n enteringRecords.push(recordTo);\r\n }\r\n }\r\n }\r\n return [leavingRecords, updatingRecords, enteringRecords];\r\n}\n\n/**\r\n * Returns the router instance. Equivalent to using `$router` inside\r\n * templates.\r\n */\r\nfunction useRouter() {\r\n return inject(routerKey);\r\n}\r\n/**\r\n * Returns the current route location. Equivalent to using `$route` inside\r\n * templates.\r\n */\r\nfunction useRoute() {\r\n return inject(routeLocationKey);\r\n}\n\nexport { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };\n","// can-promise has a crash in some versions of react native that dont have\n// standard global objects\n// https://github.com/soldair/node-qrcode/issues/157\n\nmodule.exports = function () {\n return typeof Promise === 'function' && Promise.prototype && Promise.prototype.then\n}\n","/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT © Zeno Rocha\n */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){\"use strict\";n.d(e,{default:function(){return b}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),r=n.n(e);function c(t){try{return document.execCommand(t)}catch(t){return}}var a=function(t){t=r()(t);return c(\"cut\"),t};function o(t,e){var n,o,t=(n=t,o=\"rtl\"===document.documentElement.getAttribute(\"dir\"),(t=document.createElement(\"textarea\")).style.fontSize=\"12pt\",t.style.border=\"0\",t.style.padding=\"0\",t.style.margin=\"0\",t.style.position=\"absolute\",t.style[o?\"right\":\"left\"]=\"-9999px\",o=window.pageYOffset||document.documentElement.scrollTop,t.style.top=\"\".concat(o,\"px\"),t.setAttribute(\"readonly\",\"\"),t.value=n,t);return e.container.appendChild(t),e=r()(t),c(\"copy\"),t.remove(),e}var f=function(t){var e=1= 256, but a lot faster (because 0x100 == 256)\n x ^= 0x11D\n }\n }\n\n // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n // stay inside the bounds (because we will mainly use this table for the multiplication of\n // two GF numbers, no more).\n // @see {@link mul}\n for (let i = 255; i < 512; i++) {\n EXP_TABLE[i] = EXP_TABLE[i - 255]\n }\n}())\n\n/**\n * Returns log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.log = function log (n) {\n if (n < 1) throw new Error('log(' + n + ')')\n return LOG_TABLE[n]\n}\n\n/**\n * Returns anti-log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.exp = function exp (n) {\n return EXP_TABLE[n]\n}\n\n/**\n * Multiplies two number inside Galois Field\n *\n * @param {Number} x\n * @param {Number} y\n * @return {Number}\n */\nexports.mul = function mul (x, y) {\n if (x === 0 || y === 0) return 0\n\n // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n // @see {@link initTables}\n return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n}\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\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 /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw 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","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// runtime helper for setting properties on components\n// in a tree-shakable way\nexports.default = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\n","import { resolveDirective, openBlock, createElementBlock, normalizeClass, withDirectives, withKeys, createElementVNode, createCommentVNode, toDisplayString, renderSlot, Fragment, renderList, vModelDynamic } from \"vue\";\nconst allCountries = [\n [\n \"Afghanistan (\\u202B\\u0627\\u0641\\u063A\\u0627\\u0646\\u0633\\u062A\\u0627\\u0646\\u202C\\u200E)\",\n \"af\",\n \"93\"\n ],\n [\n \"Albania (Shqip\\xEBri)\",\n \"al\",\n \"355\"\n ],\n [\n \"Algeria (\\u202B\\u0627\\u0644\\u062C\\u0632\\u0627\\u0626\\u0631\\u202C\\u200E)\",\n \"dz\",\n \"213\"\n ],\n [\n \"American Samoa\",\n \"as\",\n \"1684\"\n ],\n [\n \"Andorra\",\n \"ad\",\n \"376\"\n ],\n [\n \"Angola\",\n \"ao\",\n \"244\"\n ],\n [\n \"Anguilla\",\n \"ai\",\n \"1264\"\n ],\n [\n \"Antigua and Barbuda\",\n \"ag\",\n \"1268\"\n ],\n [\n \"Argentina\",\n \"ar\",\n \"54\"\n ],\n [\n \"Armenia (\\u0540\\u0561\\u0575\\u0561\\u057D\\u057F\\u0561\\u0576)\",\n \"am\",\n \"374\"\n ],\n [\n \"Aruba\",\n \"aw\",\n \"297\"\n ],\n [\n \"Australia\",\n \"au\",\n \"61\"\n ],\n [\n \"Austria (\\xD6sterreich)\",\n \"at\",\n \"43\"\n ],\n [\n \"Azerbaijan (Az\\u0259rbaycan)\",\n \"az\",\n \"994\"\n ],\n [\n \"Bahamas\",\n \"bs\",\n \"1242\"\n ],\n [\n \"Bahrain (\\u202B\\u0627\\u0644\\u0628\\u062D\\u0631\\u064A\\u0646\\u202C\\u200E)\",\n \"bh\",\n \"973\"\n ],\n [\n \"Bangladesh (\\u09AC\\u09BE\\u0982\\u09B2\\u09BE\\u09A6\\u09C7\\u09B6)\",\n \"bd\",\n \"880\"\n ],\n [\n \"Barbados\",\n \"bb\",\n \"1246\"\n ],\n [\n \"Belarus (\\u0411\\u0435\\u043B\\u0430\\u0440\\u0443\\u0441\\u044C)\",\n \"by\",\n \"375\"\n ],\n [\n \"Belgium (Belgi\\xEB)\",\n \"be\",\n \"32\"\n ],\n [\n \"Belize\",\n \"bz\",\n \"501\"\n ],\n [\n \"Benin (B\\xE9nin)\",\n \"bj\",\n \"229\"\n ],\n [\n \"Bermuda\",\n \"bm\",\n \"1441\"\n ],\n [\n \"Bhutan (\\u0F60\\u0F56\\u0FB2\\u0F74\\u0F42)\",\n \"bt\",\n \"975\"\n ],\n [\n \"Bolivia\",\n \"bo\",\n \"591\"\n ],\n [\n \"Bosnia and Herzegovina (\\u0411\\u043E\\u0441\\u043D\\u0430 \\u0438 \\u0425\\u0435\\u0440\\u0446\\u0435\\u0433\\u043E\\u0432\\u0438\\u043D\\u0430)\",\n \"ba\",\n \"387\"\n ],\n [\n \"Botswana\",\n \"bw\",\n \"267\"\n ],\n [\n \"Brazil (Brasil)\",\n \"br\",\n \"55\"\n ],\n [\n \"British Indian Ocean Territory\",\n \"io\",\n \"246\"\n ],\n [\n \"British Virgin Islands\",\n \"vg\",\n \"1284\"\n ],\n [\n \"Brunei\",\n \"bn\",\n \"673\"\n ],\n [\n \"Bulgaria (\\u0411\\u044A\\u043B\\u0433\\u0430\\u0440\\u0438\\u044F)\",\n \"bg\",\n \"359\"\n ],\n [\n \"Burkina Faso\",\n \"bf\",\n \"226\"\n ],\n [\n \"Burundi (Uburundi)\",\n \"bi\",\n \"257\"\n ],\n [\n \"Cambodia (\\u1780\\u1798\\u17D2\\u1796\\u17BB\\u1787\\u17B6)\",\n \"kh\",\n \"855\"\n ],\n [\n \"Cameroon (Cameroun)\",\n \"cm\",\n \"237\"\n ],\n [\n \"Canada\",\n \"ca\",\n \"1\"\n ],\n [\n \"Cape Verde (Kabu Verdi)\",\n \"cv\",\n \"238\"\n ],\n [\n \"Caribbean Netherlands\",\n \"bq\",\n \"599\"\n ],\n [\n \"Cayman Islands\",\n \"ky\",\n \"1345\"\n ],\n [\n \"Central African Republic (R\\xE9publique centrafricaine)\",\n \"cf\",\n \"236\"\n ],\n [\n \"Chad (Tchad)\",\n \"td\",\n \"235\"\n ],\n [\n \"Chile\",\n \"cl\",\n \"56\"\n ],\n [\n \"China (\\u4E2D\\u56FD)\",\n \"cn\",\n \"86\"\n ],\n [\n \"Christmas Island\",\n \"cx\",\n \"61\"\n ],\n [\n \"Cocos (Keeling) Islands\",\n \"cc\",\n \"61\"\n ],\n [\n \"Colombia\",\n \"co\",\n \"57\"\n ],\n [\n \"Comoros (\\u202B\\u062C\\u0632\\u0631 \\u0627\\u0644\\u0642\\u0645\\u0631\\u202C\\u200E)\",\n \"km\",\n \"269\"\n ],\n [\n \"Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)\",\n \"cd\",\n \"243\"\n ],\n [\n \"Congo (Republic) (Congo-Brazzaville)\",\n \"cg\",\n \"242\"\n ],\n [\n \"Cook Islands\",\n \"ck\",\n \"682\"\n ],\n [\n \"Costa Rica\",\n \"cr\",\n \"506\"\n ],\n [\n \"C\\xF4te d\\u2019Ivoire\",\n \"ci\",\n \"225\"\n ],\n [\n \"Croatia (Hrvatska)\",\n \"hr\",\n \"385\"\n ],\n [\n \"Cuba\",\n \"cu\",\n \"53\"\n ],\n [\n \"Cura\\xE7ao\",\n \"cw\",\n \"599\"\n ],\n [\n \"Cyprus (\\u039A\\u03CD\\u03C0\\u03C1\\u03BF\\u03C2)\",\n \"cy\",\n \"357\"\n ],\n [\n \"Czech Republic (\\u010Cesk\\xE1 republika)\",\n \"cz\",\n \"420\"\n ],\n [\n \"Denmark (Danmark)\",\n \"dk\",\n \"45\"\n ],\n [\n \"Djibouti\",\n \"dj\",\n \"253\"\n ],\n [\n \"Dominica\",\n \"dm\",\n \"1767\"\n ],\n [\n \"Dominican Republic (Rep\\xFAblica Dominicana)\",\n \"do\",\n \"1\"\n ],\n [\n \"Ecuador\",\n \"ec\",\n \"593\"\n ],\n [\n \"Egypt (\\u202B\\u0645\\u0635\\u0631\\u202C\\u200E)\",\n \"eg\",\n \"20\"\n ],\n [\n \"El Salvador\",\n \"sv\",\n \"503\"\n ],\n [\n \"Equatorial Guinea (Guinea Ecuatorial)\",\n \"gq\",\n \"240\"\n ],\n [\n \"Eritrea\",\n \"er\",\n \"291\"\n ],\n [\n \"Estonia (Eesti)\",\n \"ee\",\n \"372\"\n ],\n [\n \"Ethiopia\",\n \"et\",\n \"251\"\n ],\n [\n \"Falkland Islands (Islas Malvinas)\",\n \"fk\",\n \"500\"\n ],\n [\n \"Faroe Islands (F\\xF8royar)\",\n \"fo\",\n \"298\"\n ],\n [\n \"Fiji\",\n \"fj\",\n \"679\"\n ],\n [\n \"Finland (Suomi)\",\n \"fi\",\n \"358\"\n ],\n [\n \"France\",\n \"fr\",\n \"33\"\n ],\n [\n \"French Guiana (Guyane fran\\xE7aise)\",\n \"gf\",\n \"594\"\n ],\n [\n \"French Polynesia (Polyn\\xE9sie fran\\xE7aise)\",\n \"pf\",\n \"689\"\n ],\n [\n \"Gabon\",\n \"ga\",\n \"241\"\n ],\n [\n \"Gambia\",\n \"gm\",\n \"220\"\n ],\n [\n \"Georgia (\\u10E1\\u10D0\\u10E5\\u10D0\\u10E0\\u10D7\\u10D5\\u10D4\\u10DA\\u10DD)\",\n \"ge\",\n \"995\"\n ],\n [\n \"Germany (Deutschland)\",\n \"de\",\n \"49\"\n ],\n [\n \"Ghana (Gaana)\",\n \"gh\",\n \"233\"\n ],\n [\n \"Gibraltar\",\n \"gi\",\n \"350\"\n ],\n [\n \"Greece (\\u0395\\u03BB\\u03BB\\u03AC\\u03B4\\u03B1)\",\n \"gr\",\n \"30\"\n ],\n [\n \"Greenland (Kalaallit Nunaat)\",\n \"gl\",\n \"299\"\n ],\n [\n \"Grenada\",\n \"gd\",\n \"1473\"\n ],\n [\n \"Guadeloupe\",\n \"gp\",\n \"590\"\n ],\n [\n \"Guam\",\n \"gu\",\n \"1671\"\n ],\n [\n \"Guatemala\",\n \"gt\",\n \"502\"\n ],\n [\n \"Guernsey\",\n \"gg\",\n \"44\",\n 1\n ],\n [\n \"Guinea (Guin\\xE9e)\",\n \"gn\",\n \"224\"\n ],\n [\n \"Guinea-Bissau (Guin\\xE9 Bissau)\",\n \"gw\",\n \"245\"\n ],\n [\n \"Guyana\",\n \"gy\",\n \"592\"\n ],\n [\n \"Haiti\",\n \"ht\",\n \"509\"\n ],\n [\n \"Honduras\",\n \"hn\",\n \"504\"\n ],\n [\n \"Hong Kong (\\u9999\\u6E2F)\",\n \"hk\",\n \"852\"\n ],\n [\n \"Hungary (Magyarorsz\\xE1g)\",\n \"hu\",\n \"36\"\n ],\n [\n \"Iceland (\\xCDsland)\",\n \"is\",\n \"354\"\n ],\n [\n \"India (\\u092D\\u093E\\u0930\\u0924)\",\n \"in\",\n \"91\"\n ],\n [\n \"Indonesia\",\n \"id\",\n \"62\"\n ],\n [\n \"Iran (\\u202B\\u0627\\u06CC\\u0631\\u0627\\u0646\\u202C\\u200E)\",\n \"ir\",\n \"98\"\n ],\n [\n \"Iraq (\\u202B\\u0627\\u0644\\u0639\\u0631\\u0627\\u0642\\u202C\\u200E)\",\n \"iq\",\n \"964\"\n ],\n [\n \"Ireland\",\n \"ie\",\n \"353\"\n ],\n [\n \"Isle of Man\",\n \"im\",\n \"44\"\n ],\n [\n \"Israel (\\u202B\\u05D9\\u05E9\\u05E8\\u05D0\\u05DC\\u202C\\u200E)\",\n \"il\",\n \"972\"\n ],\n [\n \"Italy (Italia)\",\n \"it\",\n \"39\"\n ],\n [\n \"Jamaica\",\n \"jm\",\n \"1876\"\n ],\n [\n \"Japan (\\u65E5\\u672C)\",\n \"jp\",\n \"81\"\n ],\n [\n \"Jersey\",\n \"je\",\n \"44\"\n ],\n [\n \"Jordan (\\u202B\\u0627\\u0644\\u0623\\u0631\\u062F\\u0646\\u202C\\u200E)\",\n \"jo\",\n \"962\"\n ],\n [\n \"Kazakhstan (\\u041A\\u0430\\u0437\\u0430\\u0445\\u0441\\u0442\\u0430\\u043D)\",\n \"kz\",\n \"7\"\n ],\n [\n \"Kenya\",\n \"ke\",\n \"254\"\n ],\n [\n \"Kiribati\",\n \"ki\",\n \"686\"\n ],\n [\n \"Kosovo\",\n \"xk\",\n \"383\"\n ],\n [\n \"Kuwait (\\u202B\\u0627\\u0644\\u0643\\u0648\\u064A\\u062A\\u202C\\u200E)\",\n \"kw\",\n \"965\"\n ],\n [\n \"Kyrgyzstan (\\u041A\\u044B\\u0440\\u0433\\u044B\\u0437\\u0441\\u0442\\u0430\\u043D)\",\n \"kg\",\n \"996\"\n ],\n [\n \"Laos (\\u0EA5\\u0EB2\\u0EA7)\",\n \"la\",\n \"856\"\n ],\n [\n \"Latvia (Latvija)\",\n \"lv\",\n \"371\"\n ],\n [\n \"Lebanon (\\u202B\\u0644\\u0628\\u0646\\u0627\\u0646\\u202C\\u200E)\",\n \"lb\",\n \"961\"\n ],\n [\n \"Lesotho\",\n \"ls\",\n \"266\"\n ],\n [\n \"Liberia\",\n \"lr\",\n \"231\"\n ],\n [\n \"Libya (\\u202B\\u0644\\u064A\\u0628\\u064A\\u0627\\u202C\\u200E)\",\n \"ly\",\n \"218\"\n ],\n [\n \"Liechtenstein\",\n \"li\",\n \"423\"\n ],\n [\n \"Lithuania (Lietuva)\",\n \"lt\",\n \"370\"\n ],\n [\n \"Luxembourg\",\n \"lu\",\n \"352\"\n ],\n [\n \"Macau (\\u6FB3\\u9580)\",\n \"mo\",\n \"853\"\n ],\n [\n \"Macedonia (FYROM) (\\u041C\\u0430\\u043A\\u0435\\u0434\\u043E\\u043D\\u0438\\u0458\\u0430)\",\n \"mk\",\n \"389\"\n ],\n [\n \"Madagascar (Madagasikara)\",\n \"mg\",\n \"261\"\n ],\n [\n \"Malawi\",\n \"mw\",\n \"265\"\n ],\n [\n \"Malaysia\",\n \"my\",\n \"60\"\n ],\n [\n \"Maldives\",\n \"mv\",\n \"960\"\n ],\n [\n \"Mali\",\n \"ml\",\n \"223\"\n ],\n [\n \"Malta\",\n \"mt\",\n \"356\"\n ],\n [\n \"Marshall Islands\",\n \"mh\",\n \"692\"\n ],\n [\n \"Martinique\",\n \"mq\",\n \"596\"\n ],\n [\n \"Mauritania (\\u202B\\u0645\\u0648\\u0631\\u064A\\u062A\\u0627\\u0646\\u064A\\u0627\\u202C\\u200E)\",\n \"mr\",\n \"222\"\n ],\n [\n \"Mauritius (Moris)\",\n \"mu\",\n \"230\"\n ],\n [\n \"Mayotte\",\n \"yt\",\n \"262\"\n ],\n [\n \"Mexico (M\\xE9xico)\",\n \"mx\",\n \"52\"\n ],\n [\n \"Micronesia\",\n \"fm\",\n \"691\"\n ],\n [\n \"Moldova (Republica Moldova)\",\n \"md\",\n \"373\"\n ],\n [\n \"Monaco\",\n \"mc\",\n \"377\"\n ],\n [\n \"Mongolia (\\u041C\\u043E\\u043D\\u0433\\u043E\\u043B)\",\n \"mn\",\n \"976\"\n ],\n [\n \"Montenegro (Crna Gora)\",\n \"me\",\n \"382\"\n ],\n [\n \"Montserrat\",\n \"ms\",\n \"1664\"\n ],\n [\n \"Morocco (\\u202B\\u0627\\u0644\\u0645\\u063A\\u0631\\u0628\\u202C\\u200E)\",\n \"ma\",\n \"212\"\n ],\n [\n \"Mozambique (Mo\\xE7ambique)\",\n \"mz\",\n \"258\"\n ],\n [\n \"Myanmar (Burma) (\\u1019\\u103C\\u1014\\u103A\\u1019\\u102C)\",\n \"mm\",\n \"95\"\n ],\n [\n \"Namibia (Namibi\\xEB)\",\n \"na\",\n \"264\"\n ],\n [\n \"Nauru\",\n \"nr\",\n \"674\"\n ],\n [\n \"Nepal (\\u0928\\u0947\\u092A\\u093E\\u0932)\",\n \"np\",\n \"977\"\n ],\n [\n \"Netherlands (Nederland)\",\n \"nl\",\n \"31\"\n ],\n [\n \"New Caledonia (Nouvelle-Cal\\xE9donie)\",\n \"nc\",\n \"687\"\n ],\n [\n \"New Zealand\",\n \"nz\",\n \"64\"\n ],\n [\n \"Nicaragua\",\n \"ni\",\n \"505\"\n ],\n [\n \"Niger (Nijar)\",\n \"ne\",\n \"227\"\n ],\n [\n \"Nigeria\",\n \"ng\",\n \"234\"\n ],\n [\n \"Niue\",\n \"nu\",\n \"683\"\n ],\n [\n \"Norfolk Island\",\n \"nf\",\n \"672\"\n ],\n [\n \"North Korea (\\uC870\\uC120 \\uBBFC\\uC8FC\\uC8FC\\uC758 \\uC778\\uBBFC \\uACF5\\uD654\\uAD6D)\",\n \"kp\",\n \"850\"\n ],\n [\n \"Northern Mariana Islands\",\n \"mp\",\n \"1670\"\n ],\n [\n \"Norway (Norge)\",\n \"no\",\n \"47\"\n ],\n [\n \"Oman (\\u202B\\u0639\\u064F\\u0645\\u0627\\u0646\\u202C\\u200E)\",\n \"om\",\n \"968\"\n ],\n [\n \"Pakistan (\\u202B\\u067E\\u0627\\u06A9\\u0633\\u062A\\u0627\\u0646\\u202C\\u200E)\",\n \"pk\",\n \"92\"\n ],\n [\n \"Palau\",\n \"pw\",\n \"680\"\n ],\n [\n \"Palestine (\\u202B\\u0641\\u0644\\u0633\\u0637\\u064A\\u0646\\u202C\\u200E)\",\n \"ps\",\n \"970\"\n ],\n [\n \"Panama (Panam\\xE1)\",\n \"pa\",\n \"507\"\n ],\n [\n \"Papua New Guinea\",\n \"pg\",\n \"675\"\n ],\n [\n \"Paraguay\",\n \"py\",\n \"595\"\n ],\n [\n \"Peru (Per\\xFA)\",\n \"pe\",\n \"51\"\n ],\n [\n \"Philippines\",\n \"ph\",\n \"63\"\n ],\n [\n \"Poland (Polska)\",\n \"pl\",\n \"48\"\n ],\n [\n \"Portugal\",\n \"pt\",\n \"351\"\n ],\n [\n \"Puerto Rico\",\n \"pr\",\n \"1\"\n ],\n [\n \"Qatar (\\u202B\\u0642\\u0637\\u0631\\u202C\\u200E)\",\n \"qa\",\n \"974\"\n ],\n [\n \"R\\xE9union (La R\\xE9union)\",\n \"re\",\n \"262\"\n ],\n [\n \"Romania (Rom\\xE2nia)\",\n \"ro\",\n \"40\"\n ],\n [\n \"Russia (\\u0420\\u043E\\u0441\\u0441\\u0438\\u044F)\",\n \"ru\",\n \"7\"\n ],\n [\n \"Rwanda\",\n \"rw\",\n \"250\"\n ],\n [\n \"Saint Barth\\xE9lemy\",\n \"bl\",\n \"590\"\n ],\n [\n \"Saint Helena\",\n \"sh\",\n \"290\"\n ],\n [\n \"Saint Kitts and Nevis\",\n \"kn\",\n \"1869\"\n ],\n [\n \"Saint Lucia\",\n \"lc\",\n \"1758\"\n ],\n [\n \"Saint Martin (Saint-Martin (partie fran\\xE7aise))\",\n \"mf\",\n \"590\"\n ],\n [\n \"Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)\",\n \"pm\",\n \"508\"\n ],\n [\n \"Saint Vincent and the Grenadines\",\n \"vc\",\n \"1784\"\n ],\n [\n \"Samoa\",\n \"ws\",\n \"685\"\n ],\n [\n \"San Marino\",\n \"sm\",\n \"378\"\n ],\n [\n \"S\\xE3o Tom\\xE9 and Pr\\xEDncipe (S\\xE3o Tom\\xE9 e Pr\\xEDncipe)\",\n \"st\",\n \"239\"\n ],\n [\n \"Saudi Arabia (\\u202B\\u0627\\u0644\\u0645\\u0645\\u0644\\u0643\\u0629 \\u0627\\u0644\\u0639\\u0631\\u0628\\u064A\\u0629 \\u0627\\u0644\\u0633\\u0639\\u0648\\u062F\\u064A\\u0629\\u202C\\u200E)\",\n \"sa\",\n \"966\"\n ],\n [\n \"Senegal (S\\xE9n\\xE9gal)\",\n \"sn\",\n \"221\"\n ],\n [\n \"Serbia (\\u0421\\u0440\\u0431\\u0438\\u0458\\u0430)\",\n \"rs\",\n \"381\"\n ],\n [\n \"Seychelles\",\n \"sc\",\n \"248\"\n ],\n [\n \"Sierra Leone\",\n \"sl\",\n \"232\"\n ],\n [\n \"Singapore\",\n \"sg\",\n \"65\"\n ],\n [\n \"Sint Maarten\",\n \"sx\",\n \"1721\"\n ],\n [\n \"Slovakia (Slovensko)\",\n \"sk\",\n \"421\"\n ],\n [\n \"Slovenia (Slovenija)\",\n \"si\",\n \"386\"\n ],\n [\n \"Solomon Islands\",\n \"sb\",\n \"677\"\n ],\n [\n \"Somalia (Soomaaliya)\",\n \"so\",\n \"252\"\n ],\n [\n \"South Africa\",\n \"za\",\n \"27\"\n ],\n [\n \"South Korea (\\uB300\\uD55C\\uBBFC\\uAD6D)\",\n \"kr\",\n \"82\"\n ],\n [\n \"South Sudan (\\u202B\\u062C\\u0646\\u0648\\u0628 \\u0627\\u0644\\u0633\\u0648\\u062F\\u0627\\u0646\\u202C\\u200E)\",\n \"ss\",\n \"211\"\n ],\n [\n \"Spain (Espa\\xF1a)\",\n \"es\",\n \"34\"\n ],\n [\n \"Sri Lanka (\\u0DC1\\u0DCA\\u200D\\u0DBB\\u0DD3 \\u0DBD\\u0D82\\u0D9A\\u0DCF\\u0DC0)\",\n \"lk\",\n \"94\"\n ],\n [\n \"Sudan (\\u202B\\u0627\\u0644\\u0633\\u0648\\u062F\\u0627\\u0646\\u202C\\u200E)\",\n \"sd\",\n \"249\"\n ],\n [\n \"Suriname\",\n \"sr\",\n \"597\"\n ],\n [\n \"Svalbard and Jan Mayen\",\n \"sj\",\n \"47\"\n ],\n [\n \"Swaziland\",\n \"sz\",\n \"268\"\n ],\n [\n \"Sweden (Sverige)\",\n \"se\",\n \"46\"\n ],\n [\n \"Switzerland (Schweiz)\",\n \"ch\",\n \"41\"\n ],\n [\n \"Syria (\\u202B\\u0633\\u0648\\u0631\\u064A\\u0627\\u202C\\u200E)\",\n \"sy\",\n \"963\"\n ],\n [\n \"Taiwan (\\u53F0\\u7063)\",\n \"tw\",\n \"886\"\n ],\n [\n \"Tajikistan\",\n \"tj\",\n \"992\"\n ],\n [\n \"Tanzania\",\n \"tz\",\n \"255\"\n ],\n [\n \"Thailand (\\u0E44\\u0E17\\u0E22)\",\n \"th\",\n \"66\"\n ],\n [\n \"Timor-Leste\",\n \"tl\",\n \"670\"\n ],\n [\n \"Togo\",\n \"tg\",\n \"228\"\n ],\n [\n \"Tokelau\",\n \"tk\",\n \"690\"\n ],\n [\n \"Tonga\",\n \"to\",\n \"676\"\n ],\n [\n \"Trinidad and Tobago\",\n \"tt\",\n \"1868\"\n ],\n [\n \"Tunisia (\\u202B\\u062A\\u0648\\u0646\\u0633\\u202C\\u200E)\",\n \"tn\",\n \"216\"\n ],\n [\n \"Turkey (T\\xFCrkiye)\",\n \"tr\",\n \"90\"\n ],\n [\n \"Turkmenistan\",\n \"tm\",\n \"993\"\n ],\n [\n \"Turks and Caicos Islands\",\n \"tc\",\n \"1649\"\n ],\n [\n \"Tuvalu\",\n \"tv\",\n \"688\"\n ],\n [\n \"U.S. Virgin Islands\",\n \"vi\",\n \"1340\"\n ],\n [\n \"Uganda\",\n \"ug\",\n \"256\"\n ],\n [\n \"Ukraine (\\u0423\\u043A\\u0440\\u0430\\u0457\\u043D\\u0430)\",\n \"ua\",\n \"380\"\n ],\n [\n \"United Arab Emirates (\\u202B\\u0627\\u0644\\u0625\\u0645\\u0627\\u0631\\u0627\\u062A \\u0627\\u0644\\u0639\\u0631\\u0628\\u064A\\u0629 \\u0627\\u0644\\u0645\\u062A\\u062D\\u062F\\u0629\\u202C\\u200E)\",\n \"ae\",\n \"971\"\n ],\n [\n \"United Kingdom\",\n \"gb\",\n \"44\"\n ],\n [\n \"United States\",\n \"us\",\n \"1\"\n ],\n [\n \"Uruguay\",\n \"uy\",\n \"598\"\n ],\n [\n \"Uzbekistan (O\\u02BBzbekiston)\",\n \"uz\",\n \"998\"\n ],\n [\n \"Vanuatu\",\n \"vu\",\n \"678\"\n ],\n [\n \"Vatican City (Citt\\xE0 del Vaticano)\",\n \"va\",\n \"39\"\n ],\n [\n \"Venezuela\",\n \"ve\",\n \"58\"\n ],\n [\n \"Vietnam (Vi\\u1EC7t Nam)\",\n \"vn\",\n \"84\"\n ],\n [\n \"Wallis and Futuna (Wallis-et-Futuna)\",\n \"wf\",\n \"681\"\n ],\n [\n \"Western Sahara (\\u202B\\u0627\\u0644\\u0635\\u062D\\u0631\\u0627\\u0621 \\u0627\\u0644\\u063A\\u0631\\u0628\\u064A\\u0629\\u202C\\u200E)\",\n \"eh\",\n \"212\"\n ],\n [\n \"Yemen (\\u202B\\u0627\\u0644\\u064A\\u0645\\u0646\\u202C\\u200E)\",\n \"ye\",\n \"967\"\n ],\n [\n \"Zambia\",\n \"zm\",\n \"260\"\n ],\n [\n \"Zimbabwe\",\n \"zw\",\n \"263\"\n ],\n [\n \"\\xC5land Islands\",\n \"ax\",\n \"358\"\n ]\n];\nvar allCountries$1 = allCountries.map(([name, iso2, dialCode]) => ({\n name,\n iso2: iso2.toUpperCase(),\n dialCode\n}));\nfunction getCountry() {\n return fetch(\"https://ip2c.org/s\").then((response) => response.text()).then((response) => {\n const result2 = (response || \"\").toString();\n if (!result2 || result2[0] !== \"1\") {\n throw new Error(\"unable to fetch the country\");\n }\n return result2.substr(2, 2);\n });\n}\nfunction setCaretPosition(ctrl, pos) {\n if (ctrl.setSelectionRange) {\n ctrl.focus();\n ctrl.setSelectionRange(pos, pos);\n } else if (ctrl.createTextRange) {\n const range = ctrl.createTextRange();\n range.collapse(true);\n range.moveEnd(\"character\", pos);\n range.moveStart(\"character\", pos);\n range.select();\n }\n}\nconst allProps = [\n {\n name: \"allCountries\",\n type: Array,\n default: allCountries$1,\n description: \"All countries that are used in libphonenumber-js, can be overridden by this prop\",\n inDemo: false\n },\n {\n name: \"autoFormat\",\n type: Boolean,\n default: true,\n description: \"Auto update the input to the formatted phone number when it's valid\",\n inDemo: true\n },\n {\n name: \"customValidate\",\n type: [Boolean, RegExp],\n default: false,\n description: \"Custom validation RegExp for input\",\n inDemo: false\n },\n {\n name: \"defaultCountry\",\n default: \"\",\n type: [String, Number],\n description: \"Default country (by iso2 or dialCode), will override the country fetched from IP address of user\",\n inDemo: false\n },\n {\n name: \"disabled\",\n default: false,\n type: Boolean,\n description: \"Disable vue-tel-input, including the input & flag dropdown\",\n inDemo: false\n },\n {\n name: \"autoDefaultCountry\",\n default: true,\n type: Boolean,\n description: \"To fetch default country based on IP address of user\",\n inDemo: false\n },\n {\n name: \"dropdownOptions\",\n type: Object,\n description: \"Options for dropdown, see below\",\n inDemo: false\n },\n {\n name: \"dropdownOptions.disabled\",\n default: false,\n type: Boolean,\n description: \"Disable dropdown\",\n inDemo: false\n },\n {\n name: \"dropdownOptions.showDialCodeInList\",\n default: true,\n type: Boolean,\n description: \"Show dial code in the dropdown list\",\n inDemo: true\n },\n {\n name: \"dropdownOptions.showDialCodeInSelection\",\n default: false,\n type: Boolean,\n description: \"Show dial code in the dropdown selection\",\n inDemo: true\n },\n {\n name: \"dropdownOptions.showFlags\",\n default: true,\n type: Boolean,\n description: \"Show flags in the dropdown selection and list\",\n inDemo: true\n },\n {\n name: \"dropdownOptions.tabindex\",\n default: 0,\n type: Number,\n description: \"Native dropdown tabindex attribute\",\n inDemo: false\n },\n {\n name: \"ignoredCountries\",\n default: [],\n type: Array,\n description: \"List of countries will NOT be shown on the dropdown\",\n inDemo: false\n },\n {\n name: \"inputOptions\",\n type: Object,\n description: \"Options for input, see below\",\n inDemo: false\n },\n {\n name: \"inputOptions.autocomplete\",\n type: String,\n default: \"on\",\n description: \"Native input autocomplete attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.autofocus\",\n type: Boolean,\n default: false,\n description: \"Native input autofocus attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.aria-describedby\",\n default: \"\",\n type: String,\n description: \"Native input aria-describedby attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.id\",\n default: \"\",\n type: String,\n description: \"Native input id attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.maxlength\",\n default: 25,\n type: Number,\n description: \"Native input maxlength attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.name\",\n default: \"telephone\",\n type: String,\n description: \"Native input name attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.showDialCode\",\n default: false,\n type: Boolean,\n description: \"Show dial code in input\",\n inDemo: false\n },\n {\n name: \"inputOptions.placeholder\",\n default: \"Enter a phone number\",\n type: String,\n description: \"Placeholder for the input\",\n inDemo: false\n },\n {\n name: \"inputOptions.readonly\",\n default: false,\n type: Boolean,\n description: \"Native input readonly attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.required\",\n default: false,\n type: Boolean,\n description: \"Native input required attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.tabindex\",\n default: 0,\n type: Number,\n description: \"Native input tabindex attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.type\",\n default: \"tel\",\n type: String,\n description: \"Native input type attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.styleClasses\",\n default: \"\",\n type: [String, Array, Object],\n description: \"Custom classes for the input\",\n inDemo: false\n },\n {\n name: \"invalidMsg\",\n default: \"\",\n type: String,\n description: \"\",\n inDemo: false\n },\n {\n name: \"mode\",\n default: \"auto\",\n type: String,\n description: \"Allowed values: 'auto' (Default set by phone), 'international' (Format number with the dial code i.e. + 61), 'national' (Format number without dial code i.e. 0321232)\",\n inDemo: true,\n options: [\"auto\", \"national\", \"international\"]\n },\n {\n name: \"onlyCountries\",\n default: [],\n type: Array,\n description: \"List of countries will be shown on the dropdown\",\n inDemo: false\n },\n {\n name: \"preferredCountries\",\n default: [],\n type: Array,\n description: \"Preferred countries list, will be on top of the dropdown\",\n inDemo: false\n },\n {\n name: \"styleClasses\",\n default: \"\",\n type: [String, Array, Object],\n description: \"Custom classes for the wrapper\",\n inDemo: false\n },\n {\n name: \"validCharactersOnly\",\n default: false,\n type: Boolean,\n description: \"Only allow valid characters in a phone number (will also verify in mounted, so phone number with invalid characters will be shown as an empty string)\",\n inDemo: false\n }\n];\nconst defaultOptions = [...allProps].reduce((prv, crr) => {\n if (crr.name.includes(\".\")) {\n const [key, nestedKey] = crr.name.split(\".\");\n if (prv[key]) {\n Object.assign(prv[key], { [nestedKey]: crr.default });\n } else {\n Object.assign(prv, { [key]: { [nestedKey]: crr.default } });\n }\n } else {\n Object.assign(prv, { [crr.name]: crr.default });\n }\n return prv;\n}, {});\nvar utils = {\n options: { ...defaultOptions }\n};\nvar metadata = { \"version\": 4, \"country_calling_codes\": { \"1\": [\"US\", \"AG\", \"AI\", \"AS\", \"BB\", \"BM\", \"BS\", \"CA\", \"DM\", \"DO\", \"GD\", \"GU\", \"JM\", \"KN\", \"KY\", \"LC\", \"MP\", \"MS\", \"PR\", \"SX\", \"TC\", \"TT\", \"VC\", \"VG\", \"VI\"], \"7\": [\"RU\", \"KZ\"], \"20\": [\"EG\"], \"27\": [\"ZA\"], \"30\": [\"GR\"], \"31\": [\"NL\"], \"32\": [\"BE\"], \"33\": [\"FR\"], \"34\": [\"ES\"], \"36\": [\"HU\"], \"39\": [\"IT\", \"VA\"], \"40\": [\"RO\"], \"41\": [\"CH\"], \"43\": [\"AT\"], \"44\": [\"GB\", \"GG\", \"IM\", \"JE\"], \"45\": [\"DK\"], \"46\": [\"SE\"], \"47\": [\"NO\", \"SJ\"], \"48\": [\"PL\"], \"49\": [\"DE\"], \"51\": [\"PE\"], \"52\": [\"MX\"], \"53\": [\"CU\"], \"54\": [\"AR\"], \"55\": [\"BR\"], \"56\": [\"CL\"], \"57\": [\"CO\"], \"58\": [\"VE\"], \"60\": [\"MY\"], \"61\": [\"AU\", \"CC\", \"CX\"], \"62\": [\"ID\"], \"63\": [\"PH\"], \"64\": [\"NZ\"], \"65\": [\"SG\"], \"66\": [\"TH\"], \"81\": [\"JP\"], \"82\": [\"KR\"], \"84\": [\"VN\"], \"86\": [\"CN\"], \"90\": [\"TR\"], \"91\": [\"IN\"], \"92\": [\"PK\"], \"93\": [\"AF\"], \"94\": [\"LK\"], \"95\": [\"MM\"], \"98\": [\"IR\"], \"211\": [\"SS\"], \"212\": [\"MA\", \"EH\"], \"213\": [\"DZ\"], \"216\": [\"TN\"], \"218\": [\"LY\"], \"220\": [\"GM\"], \"221\": [\"SN\"], \"222\": [\"MR\"], \"223\": [\"ML\"], \"224\": [\"GN\"], \"225\": [\"CI\"], \"226\": [\"BF\"], \"227\": [\"NE\"], \"228\": [\"TG\"], \"229\": [\"BJ\"], \"230\": [\"MU\"], \"231\": [\"LR\"], \"232\": [\"SL\"], \"233\": [\"GH\"], \"234\": [\"NG\"], \"235\": [\"TD\"], \"236\": [\"CF\"], \"237\": [\"CM\"], \"238\": [\"CV\"], \"239\": [\"ST\"], \"240\": [\"GQ\"], \"241\": [\"GA\"], \"242\": [\"CG\"], \"243\": [\"CD\"], \"244\": [\"AO\"], \"245\": [\"GW\"], \"246\": [\"IO\"], \"247\": [\"AC\"], \"248\": [\"SC\"], \"249\": [\"SD\"], \"250\": [\"RW\"], \"251\": [\"ET\"], \"252\": [\"SO\"], \"253\": [\"DJ\"], \"254\": [\"KE\"], \"255\": [\"TZ\"], \"256\": [\"UG\"], \"257\": [\"BI\"], \"258\": [\"MZ\"], \"260\": [\"ZM\"], \"261\": [\"MG\"], \"262\": [\"RE\", \"YT\"], \"263\": [\"ZW\"], \"264\": [\"NA\"], \"265\": [\"MW\"], \"266\": [\"LS\"], \"267\": [\"BW\"], \"268\": [\"SZ\"], \"269\": [\"KM\"], \"290\": [\"SH\", \"TA\"], \"291\": [\"ER\"], \"297\": [\"AW\"], \"298\": [\"FO\"], \"299\": [\"GL\"], \"350\": [\"GI\"], \"351\": [\"PT\"], \"352\": [\"LU\"], \"353\": [\"IE\"], \"354\": [\"IS\"], \"355\": [\"AL\"], \"356\": [\"MT\"], \"357\": [\"CY\"], \"358\": [\"FI\", \"AX\"], \"359\": [\"BG\"], \"370\": [\"LT\"], \"371\": [\"LV\"], \"372\": [\"EE\"], \"373\": [\"MD\"], \"374\": [\"AM\"], \"375\": [\"BY\"], \"376\": [\"AD\"], \"377\": [\"MC\"], \"378\": [\"SM\"], \"380\": [\"UA\"], \"381\": [\"RS\"], \"382\": [\"ME\"], \"383\": [\"XK\"], \"385\": [\"HR\"], \"386\": [\"SI\"], \"387\": [\"BA\"], \"389\": [\"MK\"], \"420\": [\"CZ\"], \"421\": [\"SK\"], \"423\": [\"LI\"], \"500\": [\"FK\"], \"501\": [\"BZ\"], \"502\": [\"GT\"], \"503\": [\"SV\"], \"504\": [\"HN\"], \"505\": [\"NI\"], \"506\": [\"CR\"], \"507\": [\"PA\"], \"508\": [\"PM\"], \"509\": [\"HT\"], \"590\": [\"GP\", \"BL\", \"MF\"], \"591\": [\"BO\"], \"592\": [\"GY\"], \"593\": [\"EC\"], \"594\": [\"GF\"], \"595\": [\"PY\"], \"596\": [\"MQ\"], \"597\": [\"SR\"], \"598\": [\"UY\"], \"599\": [\"CW\", \"BQ\"], \"670\": [\"TL\"], \"672\": [\"NF\"], \"673\": [\"BN\"], \"674\": [\"NR\"], \"675\": [\"PG\"], \"676\": [\"TO\"], \"677\": [\"SB\"], \"678\": [\"VU\"], \"679\": [\"FJ\"], \"680\": [\"PW\"], \"681\": [\"WF\"], \"682\": [\"CK\"], \"683\": [\"NU\"], \"685\": [\"WS\"], \"686\": [\"KI\"], \"687\": [\"NC\"], \"688\": [\"TV\"], \"689\": [\"PF\"], \"690\": [\"TK\"], \"691\": [\"FM\"], \"692\": [\"MH\"], \"850\": [\"KP\"], \"852\": [\"HK\"], \"853\": [\"MO\"], \"855\": [\"KH\"], \"856\": [\"LA\"], \"880\": [\"BD\"], \"886\": [\"TW\"], \"960\": [\"MV\"], \"961\": [\"LB\"], \"962\": [\"JO\"], \"963\": [\"SY\"], \"964\": [\"IQ\"], \"965\": [\"KW\"], \"966\": [\"SA\"], \"967\": [\"YE\"], \"968\": [\"OM\"], \"970\": [\"PS\"], \"971\": [\"AE\"], \"972\": [\"IL\"], \"973\": [\"BH\"], \"974\": [\"QA\"], \"975\": [\"BT\"], \"976\": [\"MN\"], \"977\": [\"NP\"], \"992\": [\"TJ\"], \"993\": [\"TM\"], \"994\": [\"AZ\"], \"995\": [\"GE\"], \"996\": [\"KG\"], \"998\": [\"UZ\"] }, \"countries\": { \"AC\": [\"247\", \"00\", \"(?:[01589]\\\\d|[46])\\\\d{4}\", [5, 6]], \"AD\": [\"376\", \"00\", \"(?:1|6\\\\d)\\\\d{7}|[135-9]\\\\d{5}\", [6, 8, 9], [[\"(\\\\d{3})(\\\\d{3})\", \"$1 $2\", [\"[135-9]\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"1\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"6\"]]]], \"AE\": [\"971\", \"00\", \"(?:[4-7]\\\\d|9[0-689])\\\\d{7}|800\\\\d{2,9}|[2-4679]\\\\d{7}\", [5, 6, 7, 8, 9, 10, 11, 12], [[\"(\\\\d{3})(\\\\d{2,9})\", \"$1 $2\", [\"60|8\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[236]|[479][2-8]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d)(\\\\d{5})\", \"$1 $2 $3\", [\"[479]\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"5\"], \"0$1\"]], \"0\"], \"AF\": [\"93\", \"00\", \"[2-7]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2-7]\"], \"0$1\"]], \"0\"], \"AG\": [\"1\", \"011\", \"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([457]\\\\d{6})$\", \"268$1\", 0, \"268\"], \"AI\": [\"1\", \"011\", \"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2457]\\\\d{6})$\", \"264$1\", 0, \"264\"], \"AL\": [\"355\", \"00\", \"(?:700\\\\d\\\\d|900)\\\\d{3}|8\\\\d{5,7}|(?:[2-5]|6\\\\d)\\\\d{7}\", [6, 7, 8, 9], [[\"(\\\\d{3})(\\\\d{3,4})\", \"$1 $2\", [\"80|9\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"4[2-6]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2358][2-5]|4\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"[23578]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"6\"], \"0$1\"]], \"0\"], \"AM\": [\"374\", \"00\", \"(?:[1-489]\\\\d|55|60|77)\\\\d{6}\", [8], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"[89]0\"], \"0 $1\"], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"2|3[12]\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"1|47\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"[3-9]\"], \"0$1\"]], \"0\"], \"AO\": [\"244\", \"00\", \"[29]\\\\d{8}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[29]\"]]]], \"AR\": [\"54\", \"00\", \"(?:11|[89]\\\\d\\\\d)\\\\d{8}|[2368]\\\\d{9}\", [10, 11], [[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\", \"$1 $2-$3\", [\"2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])\", \"2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)\", \"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\", \"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"], \"0$1\", 1], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2-$3\", [\"1\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"[68]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2-$3\", [\"[23]\"], \"0$1\", 1], [\"(\\\\d)(\\\\d{4})(\\\\d{2})(\\\\d{4})\", \"$2 15-$3-$4\", [\"9(?:2[2-469]|3[3-578])\", \"9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))\", \"9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)\", \"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\", \"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"], \"0$1\", 0, \"$1 $2 $3-$4\"], [\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$2 15-$3-$4\", [\"91\"], \"0$1\", 0, \"$1 $2 $3-$4\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\", \"$1-$2-$3\", [\"8\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$2 15-$3-$4\", [\"9\"], \"0$1\", 0, \"$1 $2 $3-$4\"]], \"0\", 0, \"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?\", \"9$1\"], \"AS\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([267]\\\\d{6})$\", \"684$1\", 0, \"684\"], \"AT\": [\"43\", \"00\", \"1\\\\d{3,12}|2\\\\d{6,12}|43(?:(?:0\\\\d|5[02-9])\\\\d{3,9}|2\\\\d{4,5}|[3467]\\\\d{4}|8\\\\d{4,6}|9\\\\d{4,7})|5\\\\d{4,12}|8\\\\d{7,12}|9\\\\d{8,12}|(?:[367]\\\\d|4[0-24-9])\\\\d{4,11}\", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [[\"(\\\\d)(\\\\d{3,12})\", \"$1 $2\", [\"1(?:11|[2-9])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})\", \"$1 $2\", [\"517\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3,5})\", \"$1 $2\", [\"5[079]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3,10})\", \"$1 $2\", [\"(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3,9})\", \"$1 $2\", [\"[2-467]|5[2-6]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"5\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4,7})\", \"$1 $2 $3\", [\"5\"], \"0$1\"]], \"0\"], \"AU\": [\"61\", \"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\", \"1(?:[0-79]\\\\d{7}(?:\\\\d(?:\\\\d{2})?)?|8[0-24-9]\\\\d{7})|[2-478]\\\\d{8}|1\\\\d{4,7}\", [5, 6, 7, 8, 9, 10, 12], [[\"(\\\\d{2})(\\\\d{3,4})\", \"$1 $2\", [\"16\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2,4})\", \"$1 $2 $3\", [\"16\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"14|4\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[2378]\"], \"(0$1)\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1(?:30|[89])\"]]], \"0\", 0, \"0|(183[12])\", 0, 0, 0, [[\"(?:(?:2(?:[0-26-9]\\\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\\\d|2[0-8]))\\\\d{3}|8(?:51(?:0(?:0[03-9]|[12479]\\\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\\\d|7[89]|9[0-4]))|(?:6[0-8]|[78]\\\\d)\\\\d{3}|9(?:[02-9]\\\\d{3}|1(?:(?:[0-58]\\\\d|6[0135-9])\\\\d|7(?:0[0-24-9]|[1-9]\\\\d)|9(?:[0-46-9]\\\\d|5[0-79])))))\\\\d{3}\", [9]], [\"4(?:83[0-38]|93[0-6])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-24-9]|9[0-27-9])\\\\d{6}\", [9]], [\"180(?:0\\\\d{3}|2)\\\\d{3}\", [7, 10]], [\"190[0-26]\\\\d{6}\", [10]], 0, 0, 0, [\"163\\\\d{2,6}\", [5, 6, 7, 8, 9]], [\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\", [9]], [\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\", [6, 8, 10, 12]]], \"0011\"], \"AW\": [\"297\", \"00\", \"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[25-9]\"]]]], \"AX\": [\"358\", \"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\", \"2\\\\d{4,9}|35\\\\d{4,5}|(?:60\\\\d\\\\d|800)\\\\d{4,6}|7\\\\d{5,11}|(?:[14]\\\\d|3[0-46-9]|50)\\\\d{4,8}\", [5, 6, 7, 8, 9, 10, 11, 12], 0, \"0\", 0, 0, 0, 0, \"18\", 0, \"00\"], \"AZ\": [\"994\", \"00\", \"365\\\\d{6}|(?:[124579]\\\\d|60|88)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"90\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"1[28]|2|365|46\", \"1[28]|2|365[45]|46\", \"1[28]|2|365(?:4|5[02])|46\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[13-9]\"], \"0$1\"]], \"0\"], \"BA\": [\"387\", \"00\", \"6\\\\d{8}|(?:[35689]\\\\d|49|70)\\\\d{6}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"6[1-3]|[7-9]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2-$3\", [\"[3-5]|6[56]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"6\"], \"0$1\"]], \"0\"], \"BB\": [\"1\", \"011\", \"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"246$1\", 0, \"246\"], \"BD\": [\"880\", \"00\", \"[1-469]\\\\d{9}|8[0-79]\\\\d{7,8}|[2-79]\\\\d{8}|[2-9]\\\\d{7}|[3-9]\\\\d{6}|[57-9]\\\\d{5}\", [6, 7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{4,6})\", \"$1-$2\", [\"31[5-8]|[459]1\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3,7})\", \"$1-$2\", [\"3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:28|4[14]|5)|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3,6})\", \"$1-$2\", [\"[13-9]|22\"], \"0$1\"], [\"(\\\\d)(\\\\d{7,8})\", \"$1-$2\", [\"2\"], \"0$1\"]], \"0\"], \"BE\": [\"32\", \"00\", \"4\\\\d{8}|[1-9]\\\\d{7}\", [8, 9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"(?:80|9)0\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[239]|4[23]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[15-8]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"4\"], \"0$1\"]], \"0\"], \"BF\": [\"226\", \"00\", \"[025-7]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[025-7]\"]]]], \"BG\": [\"359\", \"00\", \"[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\", [6, 7, 8, 9], [[\"(\\\\d)(\\\\d)(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"2\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"43[1-6]|70[1-9]\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"2\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\", \"$1 $2 $3\", [\"[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"(?:70|8)0\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\", \"$1 $2 $3\", [\"43[1-7]|7\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[48]|9[08]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"9\"], \"0$1\"]], \"0\"], \"BH\": [\"973\", \"00\", \"[136-9]\\\\d{7}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[13679]|8[047]\"]]]], \"BI\": [\"257\", \"00\", \"(?:[267]\\\\d|31)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2367]\"]]]], \"BJ\": [\"229\", \"00\", \"(?:[25689]\\\\d|40)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[24-689]\"]]]], \"BL\": [\"590\", \"00\", \"(?:590|(?:69|80)\\\\d|976)\\\\d{6}\", [9], 0, \"0\", 0, 0, 0, 0, 0, [[\"590(?:2[7-9]|5[12]|87)\\\\d{4}\"], [\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"], [\"80[0-5]\\\\d{6}\"], 0, 0, 0, 0, 0, [\"976[01]\\\\d{5}\"]]], \"BM\": [\"1\", \"011\", \"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-8]\\\\d{6})$\", \"441$1\", 0, \"441\"], \"BN\": [\"673\", \"00\", \"[2-578]\\\\d{6}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-578]\"]]]], \"BO\": [\"591\", \"00(?:1\\\\d)?\", \"(?:[2-467]\\\\d\\\\d|8001)\\\\d{5}\", [8, 9], [[\"(\\\\d)(\\\\d{7})\", \"$1 $2\", [\"[23]|4[46]\"]], [\"(\\\\d{8})\", \"$1\", [\"[67]\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"]]], \"0\", 0, \"0(1\\\\d)?\"], \"BQ\": [\"599\", \"00\", \"(?:[34]1|7\\\\d)\\\\d{5}\", [7], 0, 0, 0, 0, 0, 0, \"[347]\"], \"BR\": [\"55\", \"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)\", \"(?:[1-46-9]\\\\d\\\\d|5(?:[0-46-9]\\\\d|5[0-46-9]))\\\\d{8}|[1-9]\\\\d{9}|[3589]\\\\d{8}|[34]\\\\d{7}\", [8, 9, 10, 11], [[\"(\\\\d{4})(\\\\d{4})\", \"$1-$2\", [\"300|4(?:0[02]|37)\", \"4(?:02|37)0|[34]00\"]], [\"(\\\\d{3})(\\\\d{2,3})(\\\\d{4})\", \"$1 $2 $3\", [\"(?:[358]|90)0\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2-$3\", [\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]\"], \"($1)\"], [\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\", \"$1 $2-$3\", [\"[16][1-9]|[2-57-9]\"], \"($1)\"]], \"0\", 0, \"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\", \"$2\"], \"BS\": [\"1\", \"011\", \"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([3-8]\\\\d{6})$\", \"242$1\", 0, \"242\"], \"BT\": [\"975\", \"00\", \"[17]\\\\d{7}|[2-8]\\\\d{6}\", [7, 8], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2-68]|7[246]\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"1[67]|7\"]]]], \"BW\": [\"267\", \"00\", \"(?:0800|(?:[37]|800)\\\\d)\\\\d{6}|(?:[2-6]\\\\d|90)\\\\d{5}\", [7, 8, 10], [[\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"90\"]], [\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[24-6]|3[15-79]\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[37]\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"0\"]], [\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"]]]], \"BY\": [\"375\", \"810\", \"(?:[12]\\\\d|33|44|902)\\\\d{7}|8(?:0[0-79]\\\\d{5,7}|[1-7]\\\\d{9})|8(?:1[0-489]|[5-79]\\\\d)\\\\d{7}|8[1-79]\\\\d{6,7}|8[0-79]\\\\d{5}|8\\\\d{5}\", [6, 7, 8, 9, 10, 11], [[\"(\\\\d{3})(\\\\d{3})\", \"$1 $2\", [\"800\"], \"8 $1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2,4})\", \"$1 $2 $3\", [\"800\"], \"8 $1\"], [\"(\\\\d{4})(\\\\d{2})(\\\\d{3})\", \"$1 $2-$3\", [\"1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])\", \"1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])\"], \"8 0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2-$3-$4\", [\"1(?:[56]|7[467])|2[1-3]\"], \"8 0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2-$3-$4\", [\"[1-4]\"], \"8 0$1\"], [\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"[89]\"], \"8 $1\"]], \"8\", 0, \"0|80?\", 0, 0, 0, 0, \"8~10\"], \"BZ\": [\"501\", \"00\", \"(?:0800\\\\d|[2-8])\\\\d{6}\", [7, 11], [[\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"[2-8]\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{4})(\\\\d{3})\", \"$1-$2-$3-$4\", [\"0\"]]]], \"CA\": [\"1\", \"011\", \"(?:[2-8]\\\\d|90)\\\\d{8}|3\\\\d{6}\", [7, 10], 0, \"1\", 0, 0, 0, 0, 0, [[\"(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|6[578])|4(?:03|1[68]|3[178]|50|68|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|13|39|47|72)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\\\d{6}\", [10]], [\"\", [10]], [\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\", [10]], [\"900[2-9]\\\\d{6}\", [10]], [\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|(?:5(?:00|2[125-7]|33|44|66|77|88)|622)[2-9]\\\\d{6}\", [10]], 0, [\"310\\\\d{4}\", [7]], 0, [\"600[2-9]\\\\d{6}\", [10]]]], \"CC\": [\"61\", \"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\", \"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\", [6, 7, 8, 9, 10, 12], 0, \"0\", 0, \"0|([59]\\\\d{7})$\", \"8$1\", 0, 0, [[\"8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\\\d|70[23]|959))\\\\d{3}\", [9]], [\"4(?:83[0-38]|93[0-6])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-24-9]|9[0-27-9])\\\\d{6}\", [9]], [\"180(?:0\\\\d{3}|2)\\\\d{3}\", [7, 10]], [\"190[0-26]\\\\d{6}\", [10]], 0, 0, 0, 0, [\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\", [9]], [\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\", [6, 8, 10, 12]]], \"0011\"], \"CD\": [\"243\", \"00\", \"[189]\\\\d{8}|[1-68]\\\\d{6}\", [7, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"88\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"[1-6]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[89]\"], \"0$1\"]], \"0\"], \"CF\": [\"236\", \"00\", \"(?:[27]\\\\d{3}|8776)\\\\d{4}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[278]\"]]]], \"CG\": [\"242\", \"00\", \"222\\\\d{6}|(?:0\\\\d|80)\\\\d{7}\", [9], [[\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[02]\"]]]], \"CH\": [\"41\", \"00\", \"8\\\\d{11}|[2-9]\\\\d{8}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8[047]|90\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2-79]|81\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4 $5\", [\"8\"], \"0$1\"]], \"0\"], \"CI\": [\"225\", \"00\", \"[02]\\\\d{9}\", [10], [[\"(\\\\d{2})(\\\\d{2})(\\\\d)(\\\\d{5})\", \"$1 $2 $3 $4\", [\"2\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3 $4\", [\"0\"]]]], \"CK\": [\"682\", \"00\", \"[2-578]\\\\d{4}\", [5], [[\"(\\\\d{2})(\\\\d{3})\", \"$1 $2\", [\"[2-578]\"]]]], \"CL\": [\"56\", \"(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0\", \"12300\\\\d{6}|6\\\\d{9,10}|[2-9]\\\\d{8}\", [9, 10, 11], [[\"(\\\\d{5})(\\\\d{4})\", \"$1 $2\", [\"219\", \"2196\"], \"($1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"44\"]], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"2[1-36]\"], \"($1)\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"9[2-9]\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])\"], \"($1)\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"60|8\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"60\"]]]], \"CM\": [\"237\", \"00\", \"[26]\\\\d{8}|88\\\\d{6,7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"88\"]], [\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4 $5\", [\"[26]|88\"]]]], \"CN\": [\"86\", \"00|1(?:[12]\\\\d|79)\\\\d\\\\d00\", \"1[127]\\\\d{8,9}|2\\\\d{9}(?:\\\\d{2})?|[12]\\\\d{6,7}|86\\\\d{6}|(?:1[03-689]\\\\d|6)\\\\d{7,9}|(?:[3-579]\\\\d|8[0-57-9])\\\\d{6,9}\", [7, 8, 9, 10, 11, 12], [[\"(\\\\d{2})(\\\\d{5,6})\", \"$1 $2\", [\"(?:10|2[0-57-9])[19]\", \"(?:10|2[0-57-9])(?:10|9[56])\", \"(?:10|2[0-57-9])(?:100|9[56])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5,6})\", \"$1 $2\", [\"3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]\", \"(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))[19]\", \"85[23](?:10|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:10|9[56])\", \"85[23](?:100|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:100|9[56])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"(?:4|80)0\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"10|2(?:[02-57-9]|1[1-9])\", \"10|2(?:[02-57-9]|1[1-9])\", \"10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{7,8})\", \"$1 $2\", [\"9\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"80\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[3-578]\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"1[3-9]\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3 $4\", [\"[12]\"], \"0$1\", 1]], \"0\", 0, \"0|(1(?:[12]\\\\d|79)\\\\d\\\\d)\", 0, 0, 0, 0, \"00\"], \"CO\": [\"57\", \"00(?:4(?:[14]4|56)|[579])\", \"(?:60\\\\d\\\\d|9101)\\\\d{6}|(?:1\\\\d|3)\\\\d{9}\", [10, 11], [[\"(\\\\d{3})(\\\\d{7})\", \"$1 $2\", [\"6\"], \"($1)\"], [\"(\\\\d{3})(\\\\d{7})\", \"$1 $2\", [\"[39]\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{7})\", \"$1-$2-$3\", [\"1\"], \"0$1\", 0, \"$1 $2 $3\"]], \"0\", 0, \"0(4(?:[14]4|56)|[579])?\"], \"CR\": [\"506\", \"00\", \"(?:8\\\\d|90)\\\\d{8}|(?:[24-8]\\\\d{3}|3005)\\\\d{4}\", [8, 10], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2-7]|8[3-9]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"[89]\"]]], 0, 0, \"(19(?:0[0-2468]|1[09]|20|66|77|99))\"], \"CU\": [\"53\", \"119\", \"[27]\\\\d{6,7}|[34]\\\\d{5,7}|(?:5|8\\\\d\\\\d)\\\\d{7}\", [6, 7, 8, 10], [[\"(\\\\d{2})(\\\\d{4,6})\", \"$1 $2\", [\"2[1-4]|[34]\"], \"(0$1)\"], [\"(\\\\d)(\\\\d{6,7})\", \"$1 $2\", [\"7\"], \"(0$1)\"], [\"(\\\\d)(\\\\d{7})\", \"$1 $2\", [\"5\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{7})\", \"$1 $2\", [\"8\"], \"0$1\"]], \"0\"], \"CV\": [\"238\", \"0\", \"(?:[2-59]\\\\d\\\\d|800)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[2-589]\"]]]], \"CW\": [\"599\", \"00\", \"(?:[34]1|60|(?:7|9\\\\d)\\\\d)\\\\d{5}\", [7, 8], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[3467]\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"9[4-8]\"]]], 0, 0, 0, 0, 0, \"[69]\"], \"CX\": [\"61\", \"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\", \"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\", [6, 7, 8, 9, 10, 12], 0, \"0\", 0, \"0|([59]\\\\d{7})$\", \"8$1\", 0, 0, [[\"8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\\\d|7(?:0[01]|1[0-2])|958))\\\\d{3}\", [9]], [\"4(?:83[0-38]|93[0-6])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-24-9]|9[0-27-9])\\\\d{6}\", [9]], [\"180(?:0\\\\d{3}|2)\\\\d{3}\", [7, 10]], [\"190[0-26]\\\\d{6}\", [10]], 0, 0, 0, 0, [\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\", [9]], [\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\", [6, 8, 10, 12]]], \"0011\"], \"CY\": [\"357\", \"00\", \"(?:[279]\\\\d|[58]0)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"[257-9]\"]]]], \"CZ\": [\"420\", \"00\", \"(?:[2-578]\\\\d|60)\\\\d{7}|9\\\\d{8,11}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2-8]|9[015-7]\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"96\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"9\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"9\"]]]], \"DE\": [\"49\", \"00\", \"[2579]\\\\d{5,14}|49(?:[34]0|69|8\\\\d)\\\\d\\\\d?|49(?:37|49|60|7[089]|9\\\\d)\\\\d{1,3}|49(?:2[02-9]|3[2-689]|7[1-7])\\\\d{1,8}|(?:1|[368]\\\\d|4[0-8])\\\\d{3,13}|49(?:[015]\\\\d|[23]1|[46][1-8])\\\\d{1,9}\", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [[\"(\\\\d{2})(\\\\d{3,13})\", \"$1 $2\", [\"3[02]|40|[68]9\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3,12})\", \"$1 $2\", [\"2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\", \"2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{2,11})\", \"$1 $2\", [\"[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]\", \"[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"138\"], \"0$1\"], [\"(\\\\d{5})(\\\\d{2,10})\", \"$1 $2\", [\"3\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5,11})\", \"$1 $2\", [\"181\"], \"0$1\"], [\"(\\\\d{3})(\\\\d)(\\\\d{4,10})\", \"$1 $2 $3\", [\"1(?:3|80)|9\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{7,8})\", \"$1 $2\", [\"1[67]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{7,12})\", \"$1 $2\", [\"8\"], \"0$1\"], [\"(\\\\d{5})(\\\\d{6})\", \"$1 $2\", [\"185\", \"1850\", \"18500\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{7})\", \"$1 $2\", [\"18[68]\"], \"0$1\"], [\"(\\\\d{5})(\\\\d{6})\", \"$1 $2\", [\"15[0568]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{7})\", \"$1 $2\", [\"15[1279]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{8})\", \"$1 $2\", [\"18\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{7,8})\", \"$1 $2 $3\", [\"1(?:6[023]|7)\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{2})(\\\\d{7})\", \"$1 $2 $3\", [\"15[279]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{8})\", \"$1 $2 $3\", [\"15\"], \"0$1\"]], \"0\"], \"DJ\": [\"253\", \"00\", \"(?:2\\\\d|77)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[27]\"]]]], \"DK\": [\"45\", \"00\", \"[2-9]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2-9]\"]]]], \"DM\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|767|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-7]\\\\d{6})$\", \"767$1\", 0, \"767\"], \"DO\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, 0, 0, 0, \"8001|8[024]9\"], \"DZ\": [\"213\", \"00\", \"(?:[1-4]|[5-79]\\\\d|80)\\\\d{7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[1-4]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"9\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[5-8]\"], \"0$1\"]], \"0\"], \"EC\": [\"593\", \"00\", \"1\\\\d{9,10}|(?:[2-7]|9\\\\d)\\\\d{7}\", [8, 9, 10, 11], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2-$3\", [\"[2-7]\"], \"(0$1)\", 0, \"$1-$2-$3\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"9\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"1\"]]], \"0\"], \"EE\": [\"372\", \"00\", \"8\\\\d{9}|[4578]\\\\d{7}|(?:[3-8]\\\\d|90)\\\\d{5}\", [7, 8, 10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88\", \"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88\"]], [\"(\\\\d{4})(\\\\d{3,4})\", \"$1 $2\", [\"[45]|8(?:00|[1-49])\", \"[45]|8(?:00[1-9]|[1-49])\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"]]]], \"EG\": [\"20\", \"00\", \"[189]\\\\d{8,9}|[24-6]\\\\d{8}|[135]\\\\d{7}\", [8, 9, 10], [[\"(\\\\d)(\\\\d{7,8})\", \"$1 $2\", [\"[23]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{6,7})\", \"$1 $2\", [\"1[35]|[4-6]|8[2468]|9[235-7]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[189]\"], \"0$1\"]], \"0\"], \"EH\": [\"212\", \"00\", \"[5-8]\\\\d{8}\", [9], 0, \"0\", 0, 0, 0, 0, \"528[89]\"], \"ER\": [\"291\", \"00\", \"[178]\\\\d{6}\", [7], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[178]\"], \"0$1\"]], \"0\"], \"ES\": [\"34\", \"00\", \"[5-9]\\\\d{8}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[89]00\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[5-9]\"]]]], \"ET\": [\"251\", \"00\", \"(?:11|[2-579]\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[1-579]\"], \"0$1\"]], \"0\"], \"FI\": [\"358\", \"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\", \"[1-35689]\\\\d{4}|7\\\\d{10,11}|(?:[124-7]\\\\d|3[0-46-9])\\\\d{8}|[1-9]\\\\d{5,8}\", [5, 6, 7, 8, 9, 10, 11, 12], [[\"(\\\\d)(\\\\d{4,9})\", \"$1 $2\", [\"[2568][1-8]|3(?:0[1-9]|[1-9])|9\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3,7})\", \"$1 $2\", [\"[12]00|[368]|70[07-9]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4,8})\", \"$1 $2\", [\"[1245]|7[135]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{6,10})\", \"$1 $2\", [\"7\"], \"0$1\"]], \"0\", 0, 0, 0, 0, \"1[03-79]|[2-9]\", 0, \"00\"], \"FJ\": [\"679\", \"0(?:0|52)\", \"45\\\\d{5}|(?:0800\\\\d|[235-9])\\\\d{6}\", [7, 11], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[235-9]|45\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"0\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"FK\": [\"500\", \"00\", \"[2-7]\\\\d{4}\", [5]], \"FM\": [\"691\", \"00\", \"(?:[39]\\\\d\\\\d|820)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[389]\"]]]], \"FO\": [\"298\", \"00\", \"[2-9]\\\\d{5}\", [6], [[\"(\\\\d{6})\", \"$1\", [\"[2-9]\"]]], 0, 0, \"(10(?:01|[12]0|88))\"], \"FR\": [\"33\", \"00\", \"[1-9]\\\\d{8}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"], \"0 $1\"], [\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4 $5\", [\"[1-79]\"], \"0$1\"]], \"0\"], \"GA\": [\"241\", \"00\", \"(?:[067]\\\\d|11)\\\\d{6}|[2-7]\\\\d{6}\", [7, 8], [[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2-7]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"0\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"11|[67]\"], \"0$1\"]], 0, 0, \"0(11\\\\d{6}|60\\\\d{6}|61\\\\d{6}|6[256]\\\\d{6}|7[467]\\\\d{6})\", \"$1\"], \"GB\": [\"44\", \"00\", \"[1-357-9]\\\\d{9}|[18]\\\\d{8}|8\\\\d{6}\", [7, 9, 10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"800\", \"8001\", \"80011\", \"800111\", \"8001111\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"845\", \"8454\", \"84546\", \"845464\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{6})\", \"$1 $2\", [\"800\"], \"0$1\"], [\"(\\\\d{5})(\\\\d{4,5})\", \"$1 $2\", [\"1(?:38|5[23]|69|76|94)\", \"1(?:(?:38|69)7|5(?:24|39)|768|946)\", \"1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{5,6})\", \"$1 $2\", [\"1(?:[2-69][02-9]|[78])\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[25]|7(?:0|6[02-9])\", \"[25]|7(?:0|6(?:[03-9]|2[356]))\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{6})\", \"$1 $2\", [\"7\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[1389]\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, [[\"(?:1(?:1(?:3(?:[0-58]\\\\d\\\\d|73[0235])|4(?:[0-5]\\\\d\\\\d|69[7-9]|70[01359])|(?:5[0-26-9]|[78][0-49])\\\\d\\\\d|6(?:[0-4]\\\\d\\\\d|50[0-79]))|2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)\\\\d\\\\d|1(?:[0-7]\\\\d\\\\d|8(?:[02]\\\\d|1[0-26-9])))|(?:3(?:0\\\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\\\d\\\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\\\d{3})\\\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\\\d)|76\\\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\\\d|7[4-79])|295[5-7]|35[34]\\\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\\\d{3}\", [9, 10]], [\"7(?:457[0-57-9]|700[01]|911[028])\\\\d{5}|7(?:[1-3]\\\\d\\\\d|4(?:[0-46-9]\\\\d|5[0-689])|5(?:0[0-8]|[13-9]\\\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\\\d|8[02-9]|9[0-689])|8(?:[014-9]\\\\d|[23][0-8])|9(?:[024-9]\\\\d|1[02-9]|3[0-689]))\\\\d{6}\", [10]], [\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"], [\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[2-49]))\\\\d{7}|845464\\\\d\", [7, 10]], [\"70\\\\d{8}\", [10]], 0, [\"(?:3[0347]|55)\\\\d{8}\", [10]], [\"76(?:464|652)\\\\d{5}|76(?:0[0-2]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\", [10]], [\"56\\\\d{8}\", [10]]], 0, \" x\"], \"GD\": [\"1\", \"011\", \"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"473$1\", 0, \"473\"], \"GE\": [\"995\", \"00\", \"(?:[3-57]\\\\d\\\\d|800)\\\\d{6}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"70\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"32\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[57]\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[348]\"], \"0$1\"]], \"0\"], \"GF\": [\"594\", \"00\", \"(?:[56]94|80\\\\d|976)\\\\d{6}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[569]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\"], \"GG\": [\"44\", \"00\", \"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\", [7, 9, 10], 0, \"0\", 0, \"0|([25-9]\\\\d{5})$\", \"1481$1\", 0, 0, [[\"1481[25-9]\\\\d{5}\", [10]], [\"7(?:(?:781|839)\\\\d|911[17])\\\\d{5}\", [10]], [\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"], [\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[0-3]))\\\\d{7}|845464\\\\d\", [7, 10]], [\"70\\\\d{8}\", [10]], 0, [\"(?:3[0347]|55)\\\\d{8}\", [10]], [\"76(?:464|652)\\\\d{5}|76(?:0[0-2]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\", [10]], [\"56\\\\d{8}\", [10]]]], \"GH\": [\"233\", \"00\", \"(?:[235]\\\\d{3}|800)\\\\d{5}\", [8, 9], [[\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"8\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[235]\"], \"0$1\"]], \"0\"], \"GI\": [\"350\", \"00\", \"(?:[25]\\\\d\\\\d|606)\\\\d{5}\", [8], [[\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"2\"]]]], \"GL\": [\"299\", \"00\", \"(?:19|[2-689]\\\\d|70)\\\\d{4}\", [6], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"19|[2-9]\"]]]], \"GM\": [\"220\", \"00\", \"[2-9]\\\\d{6}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-9]\"]]]], \"GN\": [\"224\", \"00\", \"722\\\\d{6}|(?:3|6\\\\d)\\\\d{7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"3\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[67]\"]]]], \"GP\": [\"590\", \"00\", \"(?:590|(?:69|80)\\\\d|976)\\\\d{6}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[569]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, [[\"590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1289]|5[3-579]|6[0-289]|7[08]|8[0-689]|9\\\\d)\\\\d{4}\"], [\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"], [\"80[0-5]\\\\d{6}\"], 0, 0, 0, 0, 0, [\"976[01]\\\\d{5}\"]]], \"GQ\": [\"240\", \"00\", \"222\\\\d{6}|(?:3\\\\d|55|[89]0)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[235]\"]], [\"(\\\\d{3})(\\\\d{6})\", \"$1 $2\", [\"[89]\"]]]], \"GR\": [\"30\", \"00\", \"5005000\\\\d{3}|8\\\\d{9,11}|(?:[269]\\\\d|70)\\\\d{8}\", [10, 11, 12], [[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"21|7\"]], [\"(\\\\d{4})(\\\\d{6})\", \"$1 $2\", [\"2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2689]\"]], [\"(\\\\d{3})(\\\\d{3,4})(\\\\d{5})\", \"$1 $2 $3\", [\"8\"]]]], \"GT\": [\"502\", \"00\", \"(?:1\\\\d{3}|[2-7])\\\\d{7}\", [8, 11], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2-7]\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"]]]], \"GU\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([3-9]\\\\d{6})$\", \"671$1\", 0, \"671\"], \"GW\": [\"245\", \"00\", \"[49]\\\\d{8}|4\\\\d{6}\", [7, 9], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"40\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[49]\"]]]], \"GY\": [\"592\", \"001\", \"9008\\\\d{3}|(?:[2-467]\\\\d\\\\d|862)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-46-9]\"]]]], \"HK\": [\"852\", \"00(?:30|5[09]|[126-9]?)\", \"8[0-46-9]\\\\d{6,7}|9\\\\d{4,7}|(?:[2-7]|9\\\\d{3})\\\\d{7}\", [5, 6, 7, 8, 9, 11], [[\"(\\\\d{3})(\\\\d{2,5})\", \"$1 $2\", [\"900\", \"9003\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2-7]|8[1-4]|9(?:0[1-9]|[1-8])\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"9\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"HN\": [\"504\", \"00\", \"8\\\\d{10}|[237-9]\\\\d{7}\", [8, 11], [[\"(\\\\d{4})(\\\\d{4})\", \"$1-$2\", [\"[237-9]\"]]]], \"HR\": [\"385\", \"00\", \"(?:[24-69]\\\\d|3[0-79])\\\\d{7}|80\\\\d{5,7}|[1-79]\\\\d{7}|6\\\\d{5,6}\", [6, 7, 8, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\", \"$1 $2 $3\", [\"6[01]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\", \"$1 $2 $3\", [\"8\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{3})\", \"$1 $2 $3\", [\"1\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[67]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"9\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[2-5]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"], \"0$1\"]], \"0\"], \"HT\": [\"509\", \"00\", \"[2-489]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"[2-489]\"]]]], \"HU\": [\"36\", \"00\", \"[235-7]\\\\d{8}|[1-9]\\\\d{7}\", [8, 9], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"(06 $1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]\"], \"(06 $1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[2-9]\"], \"06 $1\"]], \"06\"], \"ID\": [\"62\", \"00[89]\", \"(?:(?:00[1-9]|8\\\\d)\\\\d{4}|[1-36])\\\\d{6}|00\\\\d{10}|[1-9]\\\\d{8,10}|[2-9]\\\\d{7}\", [7, 8, 9, 10, 11, 12, 13], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"15\"]], [\"(\\\\d{2})(\\\\d{5,9})\", \"$1 $2\", [\"2[124]|[36]1\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{5,7})\", \"$1 $2\", [\"800\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5,8})\", \"$1 $2\", [\"[2-79]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{3,4})(\\\\d{3})\", \"$1-$2-$3\", [\"8[1-35-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{6,8})\", \"$1 $2\", [\"1\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"804\"], \"0$1\"], [\"(\\\\d{3})(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"80\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\", \"$1-$2-$3\", [\"8\"], \"0$1\"]], \"0\"], \"IE\": [\"353\", \"00\", \"(?:1\\\\d|[2569])\\\\d{6,8}|4\\\\d{6,9}|7\\\\d{8}|8\\\\d{8,9}\", [7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"2[24-9]|47|58|6[237-9]|9[35-9]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"[45]0\"], \"(0$1)\"], [\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[2569]|4[1-69]|7[14]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"70\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"81\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[78]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"4\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\"], \"IL\": [\"972\", \"0(?:0|1[2-9])\", \"1\\\\d{6}(?:\\\\d{3,5})?|[57]\\\\d{8}|[1-489]\\\\d{7}\", [7, 8, 9, 10, 11, 12], [[\"(\\\\d{4})(\\\\d{3})\", \"$1-$2\", [\"125\"]], [\"(\\\\d{4})(\\\\d{2})(\\\\d{2})\", \"$1-$2-$3\", [\"121\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"[2-489]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"[57]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1-$2-$3\", [\"12\"]], [\"(\\\\d{4})(\\\\d{6})\", \"$1-$2\", [\"159\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1-$2-$3-$4\", [\"1[7-9]\"]], [\"(\\\\d{3})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\", \"$1-$2 $3-$4\", [\"15\"]]], \"0\"], \"IM\": [\"44\", \"00\", \"1624\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\", [10], 0, \"0\", 0, \"0|([25-8]\\\\d{5})$\", \"1624$1\", 0, \"74576|(?:16|7[56])24\"], \"IN\": [\"91\", \"00\", \"(?:000800|[2-9]\\\\d\\\\d)\\\\d{7}|1\\\\d{7,12}\", [8, 9, 10, 11, 12, 13], [[\"(\\\\d{8})\", \"$1\", [\"5(?:0|2[23]|3[03]|[67]1|88)\", \"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)\", \"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)\"], 0, 1], [\"(\\\\d{4})(\\\\d{4,5})\", \"$1 $2\", [\"180\", \"1800\"], 0, 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"140\"], 0, 1], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"11|2[02]|33|4[04]|79[1-7]|80[2-46]\", \"11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])\", \"11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]\", \"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]\", \"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]\"], \"0$1\", 1], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807\", \"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]\", \"1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\\\d|7(?:1(?:[013-8]\\\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\\\d|5[0-367])|70[13-7]))[2-7]\"], \"0$1\", 1], [\"(\\\\d{5})(\\\\d{5})\", \"$1 $2\", [\"[6-9]\"], \"0$1\", 1], [\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\", \"$1 $2 $3\", [\"1(?:6|8[06])\", \"1(?:6|8[06]0)\"], 0, 1], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"18\"], 0, 1]], \"0\"], \"IO\": [\"246\", \"00\", \"3\\\\d{6}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"3\"]]]], \"IQ\": [\"964\", \"00\", \"(?:1|7\\\\d\\\\d)\\\\d{7}|[2-6]\\\\d{7,8}\", [8, 9, 10], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[2-6]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"0$1\"]], \"0\"], \"IR\": [\"98\", \"00\", \"[1-9]\\\\d{9}|(?:[1-8]\\\\d\\\\d|9)\\\\d{3,4}\", [4, 5, 6, 7, 10], [[\"(\\\\d{4,5})\", \"$1\", [\"96\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4,5})\", \"$1 $2\", [\"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"9\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[1-8]\"], \"0$1\"]], \"0\"], \"IS\": [\"354\", \"00|1(?:0(?:01|[12]0)|100)\", \"(?:38\\\\d|[4-9])\\\\d{6}\", [7, 9], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[4-9]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"3\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"IT\": [\"39\", \"00\", \"0\\\\d{5,10}|1\\\\d{8,10}|3(?:[0-8]\\\\d{7,10}|9\\\\d{7,8})|(?:55|70)\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?\", [6, 7, 8, 9, 10, 11], [[\"(\\\\d{2})(\\\\d{4,6})\", \"$1 $2\", [\"0[26]\"]], [\"(\\\\d{3})(\\\\d{3,6})\", \"$1 $2\", [\"0[13-57-9][0159]|8(?:03|4[17]|9[2-5])\", \"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))\"]], [\"(\\\\d{4})(\\\\d{2,6})\", \"$1 $2\", [\"0(?:[13-579][2-46-8]|8[236-8])\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"894\"]], [\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"0[26]|5\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"1(?:44|[679])|[378]\"]], [\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"0[13-57-9][0159]|14\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{5})\", \"$1 $2 $3\", [\"0[26]\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"0\"]], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\", \"$1 $2 $3\", [\"3\"]]], 0, 0, 0, 0, 0, 0, [[\"0669[0-79]\\\\d{1,6}|0(?:1(?:[0159]\\\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\\\d\\\\d|3(?:[0159]\\\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\\\d|6[0-8])|7(?:[0159]\\\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\\\d{2,7}\"], [\"3[1-9]\\\\d{8}|3[2-9]\\\\d{7}\", [9, 10]], [\"80(?:0\\\\d{3}|3)\\\\d{3}\", [6, 9]], [\"(?:0878\\\\d{3}|89(?:2\\\\d|3[04]|4(?:[0-4]|[5-9]\\\\d\\\\d)|5[0-4]))\\\\d\\\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\\\d{6}\", [6, 8, 9, 10]], [\"1(?:78\\\\d|99)\\\\d{6}\", [9, 10]], 0, 0, 0, [\"55\\\\d{8}\", [10]], [\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\", [6, 9]]]], \"JE\": [\"44\", \"00\", \"1534\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\", [10], 0, \"0\", 0, \"0|([0-24-8]\\\\d{5})$\", \"1534$1\", 0, 0, [[\"1534[0-24-8]\\\\d{5}\"], [\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97[7-9]))\\\\d{5}\"], [\"80(?:07(?:35|81)|8901)\\\\d{4}\"], [\"(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\\\d{4}\"], [\"701511\\\\d{4}\"], 0, [\"(?:3(?:0(?:07(?:35|81)|8901)|3\\\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\\\d{4})\\\\d{4}\"], [\"76(?:464|652)\\\\d{5}|76(?:0[0-2]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\"], [\"56\\\\d{8}\"]]], \"JM\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\", [10], 0, \"1\", 0, 0, 0, 0, \"658|876\"], \"JO\": [\"962\", \"00\", \"(?:(?:[2689]|7\\\\d)\\\\d|32|53)\\\\d{6}\", [8, 9], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2356]|87\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{5,6})\", \"$1 $2\", [\"[89]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1 $2\", [\"70\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"0$1\"]], \"0\"], \"JP\": [\"81\", \"010\", \"00[1-9]\\\\d{6,14}|[257-9]\\\\d{9}|(?:00|[1-9]\\\\d\\\\d)\\\\d{6}\", [8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1-$2-$3\", [\"(?:12|57|99)0\"], \"0$1\"], [\"(\\\\d{4})(\\\\d)(\\\\d{4})\", \"$1-$2-$3\", [\"1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:80|9[16])\", \"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9]|636)|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\", \"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9]|636[457-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"60\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1-$2-$3\", [\"[36]|4(?:2[09]|7[01])\", \"[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[27-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])\", \"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9])|5(?:2|3[045]|4[0-369]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|49|51|6(?:[0-24]|36|5[0-3589]|72|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:49|55|83)[29]|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]\", \"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\", \"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|7[015-9]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17|3[015-9]))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9(?:[019]|4[1-3]|6(?:[0-47-9]|5[01346-9])))|3(?:[29]|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|829(?:2|66)|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\", \"$1-$2-$3\", [\"[14]|[289][2-9]|5[3-9]|7[2-4679]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"800\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1-$2-$3\", [\"[257-9]\"], \"0$1\"]], \"0\"], \"KE\": [\"254\", \"000\", \"(?:[17]\\\\d\\\\d|900)\\\\d{6}|(?:2|80)0\\\\d{6,7}|[4-6]\\\\d{6,8}\", [7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{5,7})\", \"$1 $2\", [\"[24-6]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{6})\", \"$1 $2\", [\"[17]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[89]\"], \"0$1\"]], \"0\"], \"KG\": [\"996\", \"00\", \"8\\\\d{9}|(?:[235-8]\\\\d|99)\\\\d{7}\", [9, 10], [[\"(\\\\d{4})(\\\\d{5})\", \"$1 $2\", [\"3(?:1[346]|[24-79])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[235-79]|88\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d)(\\\\d{2,3})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\"], \"KH\": [\"855\", \"00[14-9]\", \"1\\\\d{9}|[1-9]\\\\d{7,8}\", [8, 9, 10], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[1-9]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1\"]]], \"0\"], \"KI\": [\"686\", \"00\", \"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\", [5, 8], 0, \"0\"], \"KM\": [\"269\", \"00\", \"[3478]\\\\d{6}\", [7], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[3478]\"]]]], \"KN\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-7]\\\\d{6})$\", \"869$1\", 0, \"869\"], \"KP\": [\"850\", \"00|99\", \"85\\\\d{6}|(?:19\\\\d|[2-7])\\\\d{7}\", [8, 10], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2-7]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"0$1\"]], \"0\"], \"KR\": [\"82\", \"00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))\", \"00[1-9]\\\\d{8,11}|(?:[12]|5\\\\d{3})\\\\d{7}|[13-6]\\\\d{9}|(?:[1-6]\\\\d|80)\\\\d{7}|[3-6]\\\\d{4,5}|(?:00|7)0\\\\d{8}\", [5, 6, 8, 9, 10, 11, 12, 13, 14], [[\"(\\\\d{2})(\\\\d{3,4})\", \"$1-$2\", [\"(?:3[1-3]|[46][1-4]|5[1-5])1\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{4})\", \"$1-$2\", [\"1\"]], [\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\", \"$1-$2-$3\", [\"2\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"60|8\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\", \"$1-$2-$3\", [\"[1346]|5[1-5]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1-$2-$3\", [\"[57]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\", \"$1-$2-$3\", [\"5\"], \"0$1\"]], \"0\", 0, \"0(8(?:[1-46-8]|5\\\\d\\\\d))?\"], \"KW\": [\"965\", \"00\", \"18\\\\d{5}|(?:[2569]\\\\d|41)\\\\d{6}\", [7, 8], [[\"(\\\\d{4})(\\\\d{3,4})\", \"$1 $2\", [\"[169]|2(?:[235]|4[1-35-9])|52\"]], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"[245]\"]]]], \"KY\": [\"1\", \"011\", \"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"345$1\", 0, \"345\"], \"KZ\": [\"7\", \"810\", \"(?:33622|8\\\\d{8})\\\\d{5}|[78]\\\\d{9}\", [10, 14], 0, \"8\", 0, 0, 0, 0, \"33|7\", 0, \"8~10\"], \"LA\": [\"856\", \"00\", \"[23]\\\\d{9}|3\\\\d{8}|(?:[235-8]\\\\d|41)\\\\d{6}\", [8, 9, 10], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"2[13]|3[14]|[4-8]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"30[013-9]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"[23]\"], \"0$1\"]], \"0\"], \"LB\": [\"961\", \"00\", \"[27-9]\\\\d{7}|[13-9]\\\\d{6}\", [7, 8], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[27-9]\"]]], \"0\"], \"LC\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-8]\\\\d{6})$\", \"758$1\", 0, \"758\"], \"LI\": [\"423\", \"00\", \"[68]\\\\d{8}|(?:[2378]\\\\d|90)\\\\d{5}\", [7, 9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[2379]|8(?:0[09]|7)\", \"[2379]|8(?:0(?:02|9)|7)\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"69\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"6\"]]], \"0\", 0, \"0|(1001)\"], \"LK\": [\"94\", \"00\", \"[1-9]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[1-689]\"], \"0$1\"]], \"0\"], \"LR\": [\"231\", \"00\", \"(?:2|33|5\\\\d|77|88)\\\\d{7}|[4-6]\\\\d{6}\", [7, 8, 9], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[4-6]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"2\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[3578]\"], \"0$1\"]], \"0\"], \"LS\": [\"266\", \"00\", \"(?:[256]\\\\d\\\\d|800)\\\\d{5}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2568]\"]]]], \"LT\": [\"370\", \"00\", \"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\", [8], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"52[0-7]\"], \"(8-$1)\", 1], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"[7-9]\"], \"8 $1\", 1], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"37|4(?:[15]|6[1-8])\"], \"(8-$1)\", 1], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"[3-6]\"], \"(8-$1)\", 1]], \"8\", 0, \"[08]\"], \"LU\": [\"352\", \"00\", \"35[013-9]\\\\d{4,8}|6\\\\d{8}|35\\\\d{2,4}|(?:[2457-9]\\\\d|3[0-46-9])\\\\d{2,9}\", [4, 5, 6, 7, 8, 9, 10, 11], [[\"(\\\\d{2})(\\\\d{3})\", \"$1 $2\", [\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"20[2-689]\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\", \"$1 $2 $3 $4\", [\"2(?:[0367]|4[3-8])\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"80[01]|90[015]\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"20\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"6\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\", \"$1 $2 $3 $4 $5\", [\"2(?:[0367]|4[3-8])\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,5})\", \"$1 $2 $3 $4\", [\"[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]\"]]], 0, 0, \"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\\\d)\"], \"LV\": [\"371\", \"00\", \"(?:[268]\\\\d|90)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[269]|8[01]\"]]]], \"LY\": [\"218\", \"00\", \"[2-9]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{7})\", \"$1-$2\", [\"[2-9]\"], \"0$1\"]], \"0\"], \"MA\": [\"212\", \"00\", \"[5-8]\\\\d{8}\", [9], [[\"(\\\\d{5})(\\\\d{4})\", \"$1-$2\", [\"5(?:29|38)\", \"5(?:29[89]|389)\", \"5(?:29[89]|389)0\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"5[45]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{5})\", \"$1-$2\", [\"5(?:2[2-489]|3[5-9]|9)|892\", \"5(?:2(?:[2-49]|8[235-9])|3[5-9]|9)|892\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1-$2\", [\"8\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{6})\", \"$1-$2\", [\"[5-7]\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, [[\"5(?:29(?:[189][05]|2[29]|3[01])|389[05])\\\\d{4}|5(?:2(?:[0-25-7]\\\\d|3[1-578]|4[02-46-8]|8[0235-7]|90)|3(?:[0-47]\\\\d|5[02-9]|6[02-8]|8[08]|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\"], [\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[017]\\\\d|2[0-2]|6[0-8]))\\\\d{6}\"], [\"80\\\\d{7}\"], [\"89\\\\d{7}\"], 0, 0, 0, 0, [\"592(?:4[0-2]|93)\\\\d{4}\"]]], \"MC\": [\"377\", \"00\", \"(?:[3489]|6\\\\d)\\\\d{7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"4\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[389]\"]], [\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4 $5\", [\"6\"], \"0$1\"]], \"0\"], \"MD\": [\"373\", \"00\", \"(?:[235-7]\\\\d|[89]0)\\\\d{6}\", [8], [[\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"[89]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"22|3\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"[25-7]\"], \"0$1\"]], \"0\"], \"ME\": [\"382\", \"00\", \"(?:20|[3-79]\\\\d)\\\\d{6}|80\\\\d{6,7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[2-9]\"], \"0$1\"]], \"0\"], \"MF\": [\"590\", \"00\", \"(?:590|(?:69|80)\\\\d|976)\\\\d{6}\", [9], 0, \"0\", 0, 0, 0, 0, 0, [[\"590(?:0[079]|[14]3|[27][79]|30|5[0-268]|87)\\\\d{4}\"], [\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"], [\"80[0-5]\\\\d{6}\"], 0, 0, 0, 0, 0, [\"976[01]\\\\d{5}\"]]], \"MG\": [\"261\", \"00\", \"[23]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[23]\"], \"0$1\"]], \"0\", 0, \"0|([24-9]\\\\d{6})$\", \"20$1\"], \"MH\": [\"692\", \"011\", \"329\\\\d{4}|(?:[256]\\\\d|45)\\\\d{5}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"[2-6]\"]]], \"1\"], \"MK\": [\"389\", \"00\", \"[2-578]\\\\d{7}\", [8], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"2|34[47]|4(?:[37]7|5[47]|64)\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[347]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[58]\"], \"0$1\"]], \"0\"], \"ML\": [\"223\", \"00\", \"[24-9]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[24-9]\"]]]], \"MM\": [\"95\", \"00\", \"1\\\\d{5,7}|95\\\\d{6}|(?:[4-7]|9[0-46-9])\\\\d{6,8}|(?:2|8\\\\d)\\\\d{5,8}\", [6, 7, 8, 9, 10], [[\"(\\\\d)(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"16|2\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[12]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[4-7]|8[1-35]\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{4,6})\", \"$1 $2 $3\", [\"9(?:2[0-4]|[35-9]|4[137-9])\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"2\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"92\"], \"0$1\"], [\"(\\\\d)(\\\\d{5})(\\\\d{4})\", \"$1 $2 $3\", [\"9\"], \"0$1\"]], \"0\"], \"MN\": [\"976\", \"001\", \"[12]\\\\d{7,9}|[5-9]\\\\d{7}\", [8, 9, 10], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"[12]1\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[5-9]\"]], [\"(\\\\d{3})(\\\\d{5,6})\", \"$1 $2\", [\"[12]2[1-3]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{5,6})\", \"$1 $2\", [\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])\", \"[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]\"], \"0$1\"], [\"(\\\\d{5})(\\\\d{4,5})\", \"$1 $2\", [\"[12]\"], \"0$1\"]], \"0\"], \"MO\": [\"853\", \"00\", \"0800\\\\d{3}|(?:28|[68]\\\\d)\\\\d{6}\", [7, 8], [[\"(\\\\d{4})(\\\\d{3})\", \"$1 $2\", [\"0\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[268]\"]]]], \"MP\": [\"1\", \"011\", \"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"670$1\", 0, \"670\"], \"MQ\": [\"596\", \"00\", \"(?:69|80)\\\\d{7}|(?:59|97)6\\\\d{6}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[569]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\"], \"MR\": [\"222\", \"00\", \"(?:[2-4]\\\\d\\\\d|800)\\\\d{5}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2-48]\"]]]], \"MS\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|664|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([34]\\\\d{6})$\", \"664$1\", 0, \"664\"], \"MT\": [\"356\", \"00\", \"3550\\\\d{4}|(?:[2579]\\\\d\\\\d|800)\\\\d{5}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2357-9]\"]]]], \"MU\": [\"230\", \"0(?:0|[24-7]0|3[03])\", \"(?:5|8\\\\d\\\\d)\\\\d{7}|[2-468]\\\\d{6}\", [7, 8, 10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-46]|8[013]\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"5\"]], [\"(\\\\d{5})(\\\\d{5})\", \"$1 $2\", [\"8\"]]], 0, 0, 0, 0, 0, 0, 0, \"020\"], \"MV\": [\"960\", \"0(?:0|19)\", \"(?:800|9[0-57-9]\\\\d)\\\\d{7}|[34679]\\\\d{6}\", [7, 10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"[3467]|9[13-9]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[89]\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"MW\": [\"265\", \"00\", \"(?:[129]\\\\d|31|77|88)\\\\d{7}|1\\\\d{6}\", [7, 9], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1[2-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"2\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[137-9]\"], \"0$1\"]], \"0\"], \"MX\": [\"52\", \"0[09]\", \"1(?:(?:44|99)[1-9]|65[0-689])\\\\d{7}|(?:1(?:[017]\\\\d|[235][1-9]|4[0-35-9]|6[0-46-9]|8[1-79]|9[1-8])|[2-9]\\\\d)\\\\d{8}\", [10, 11], [[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"33|5[56]|81\"], 0, 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2-9]\"], 0, 1], [\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$2 $3 $4\", [\"1(?:33|5[56]|81)\"], 0, 1], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$2 $3 $4\", [\"1\"], 0, 1]], \"01\", 0, \"0(?:[12]|4[45])|1\", 0, 0, 0, 0, \"00\"], \"MY\": [\"60\", \"00\", \"1\\\\d{8,9}|(?:3\\\\d|[4-9])\\\\d{7}\", [8, 9, 10], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1-$2 $3\", [\"[4-79]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1-$2 $3\", [\"1(?:[02469]|[378][1-9]|53)|8\", \"1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1-$2 $3\", [\"3\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{4})\", \"$1-$2-$3-$4\", [\"1(?:[367]|80)\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1-$2 $3\", [\"15\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1-$2 $3\", [\"1\"], \"0$1\"]], \"0\"], \"MZ\": [\"258\", \"00\", \"(?:2|8\\\\d)\\\\d{7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"2|8[2-79]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"]]]], \"NA\": [\"264\", \"00\", \"[68]\\\\d{7,8}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"88\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"6\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"87\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"], \"0$1\"]], \"0\"], \"NC\": [\"687\", \"00\", \"(?:050|[2-57-9]\\\\d\\\\d)\\\\d{3}\", [6], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1.$2.$3\", [\"[02-57-9]\"]]]], \"NE\": [\"227\", \"00\", \"[027-9]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"08\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[089]|2[013]|7[04]\"]]]], \"NF\": [\"672\", \"00\", \"[13]\\\\d{5}\", [6], [[\"(\\\\d{2})(\\\\d{4})\", \"$1 $2\", [\"1[0-3]\"]], [\"(\\\\d)(\\\\d{5})\", \"$1 $2\", [\"[13]\"]]], 0, 0, \"([0-258]\\\\d{4})$\", \"3$1\"], \"NG\": [\"234\", \"009\", \"(?:[124-7]|9\\\\d{3})\\\\d{6}|[1-9]\\\\d{7}|[78]\\\\d{9,13}\", [7, 8, 10, 11, 12, 13, 14], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"78\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[12]|9(?:0[3-9]|[1-9])\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\", \"$1 $2 $3\", [\"[3-7]|8[2-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[7-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\", \"$1 $2 $3\", [\"[78]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5})(\\\\d{5,6})\", \"$1 $2 $3\", [\"[78]\"], \"0$1\"]], \"0\"], \"NI\": [\"505\", \"00\", \"(?:1800|[25-8]\\\\d{3})\\\\d{4}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[125-8]\"]]]], \"NL\": [\"31\", \"00\", \"(?:[124-7]\\\\d\\\\d|3(?:[02-9]\\\\d|1[0-8]))\\\\d{6}|8\\\\d{6,9}|9\\\\d{6,10}|1\\\\d{4,5}\", [5, 6, 7, 8, 9, 10, 11], [[\"(\\\\d{3})(\\\\d{4,7})\", \"$1 $2\", [\"[89]0\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1 $2\", [\"66\"], \"0$1\"], [\"(\\\\d)(\\\\d{8})\", \"$1 $2\", [\"6\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1[16-8]|2[259]|3[124]|4[17-9]|5[124679]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[1-578]|91\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\", \"$1 $2 $3\", [\"9\"], \"0$1\"]], \"0\"], \"NO\": [\"47\", \"00\", \"(?:0|[2-9]\\\\d{3})\\\\d{4}\", [5, 8], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"[489]|59\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[235-7]\"]]], 0, 0, 0, 0, 0, \"[02-689]|7[0-8]\"], \"NP\": [\"977\", \"00\", \"(?:1\\\\d|9)\\\\d{9}|[1-9]\\\\d{7}\", [8, 10, 11], [[\"(\\\\d)(\\\\d{7})\", \"$1-$2\", [\"1[2-6]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{6})\", \"$1-$2\", [\"1[01]|[2-8]|9(?:[1-59]|[67][2-6])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{7})\", \"$1-$2\", [\"9\"]]], \"0\"], \"NR\": [\"674\", \"00\", \"(?:444|(?:55|8\\\\d)\\\\d|666)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[4-68]\"]]]], \"NU\": [\"683\", \"00\", \"(?:[47]|888\\\\d)\\\\d{3}\", [4, 7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"8\"]]]], \"NZ\": [\"64\", \"0(?:0|161)\", \"[29]\\\\d{7,9}|50\\\\d{5}(?:\\\\d{2,3})?|6[0-35-9]\\\\d{6}|7\\\\d{7,8}|8\\\\d{4,9}|(?:11\\\\d|[34])\\\\d{7}\", [5, 6, 7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{3,8})\", \"$1 $2\", [\"8[1-579]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\", \"$1 $2 $3\", [\"50[036-8]|[89]0\", \"50(?:[0367]|88)|[89]0\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"24|[346]|7[2-57-9]|9[2-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"2(?:10|74)|[59]|80\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"1|2[028]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,5})\", \"$1 $2 $3\", [\"2(?:[169]|7[0-35-9])|7|86\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, 0, \"00\"], \"OM\": [\"968\", \"00\", \"(?:1505|[279]\\\\d{3}|500)\\\\d{4}|800\\\\d{5,6}\", [7, 8, 9], [[\"(\\\\d{3})(\\\\d{4,6})\", \"$1 $2\", [\"[58]\"]], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"2\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[179]\"]]]], \"PA\": [\"507\", \"00\", \"(?:00800|8\\\\d{3})\\\\d{6}|[68]\\\\d{7}|[1-57-9]\\\\d{6}\", [7, 8, 10, 11], [[\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"[1-57-9]\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1-$2\", [\"[68]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"]]]], \"PE\": [\"51\", \"00|19(?:1[124]|77|90)00\", \"(?:[14-8]|9\\\\d)\\\\d{7}\", [8, 9], [[\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"80\"], \"(0$1)\"], [\"(\\\\d)(\\\\d{7})\", \"$1 $2\", [\"1\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"[4-8]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"9\"]]], \"0\", 0, 0, 0, 0, 0, 0, \"00\", \" Anexo \"], \"PF\": [\"689\", \"00\", \"4\\\\d{5}(?:\\\\d{2})?|8\\\\d{7,8}\", [6, 8, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"44\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"4|8[7-9]\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"]]]], \"PG\": [\"675\", \"00|140[1-3]\", \"(?:180|[78]\\\\d{3})\\\\d{4}|(?:[2-589]\\\\d|64)\\\\d{5}\", [7, 8], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"18|[2-69]|85\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[78]\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"PH\": [\"63\", \"00\", \"(?:[2-7]|9\\\\d)\\\\d{8}|2\\\\d{5}|(?:1800|8)\\\\d{7,9}\", [6, 8, 9, 10, 11, 12, 13], [[\"(\\\\d)(\\\\d{5})\", \"$1 $2\", [\"2\"], \"(0$1)\"], [\"(\\\\d{4})(\\\\d{4,6})\", \"$1 $2\", [\"3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2\", \"3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))\"], \"(0$1)\"], [\"(\\\\d{5})(\\\\d{4})\", \"$1 $2\", [\"346|4(?:27|9[35])|883\", \"3469|4(?:279|9(?:30|56))|8834\"], \"(0$1)\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"2\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[3-7]|8[2-8]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[89]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"]], [\"(\\\\d{4})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3 $4\", [\"1\"]]], \"0\"], \"PK\": [\"92\", \"00\", \"122\\\\d{6}|[24-8]\\\\d{10,11}|9(?:[013-9]\\\\d{8,10}|2(?:[01]\\\\d\\\\d|2(?:[06-8]\\\\d|1[01]))\\\\d{7})|(?:[2-8]\\\\d{3}|92(?:[0-7]\\\\d|8[1-9]))\\\\d{6}|[24-9]\\\\d{8}|[89]\\\\d{7}\", [8, 9, 10, 11, 12], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,7})\", \"$1 $2 $3\", [\"[89]0\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{5})\", \"$1 $2\", [\"1\"]], [\"(\\\\d{3})(\\\\d{6,7})\", \"$1 $2\", [\"2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])\", \"9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{7,8})\", \"$1 $2\", [\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\"], \"(0$1)\"], [\"(\\\\d{5})(\\\\d{5})\", \"$1 $2\", [\"58\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{7})\", \"$1 $2\", [\"3\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"[24-9]\"], \"(0$1)\"]], \"0\"], \"PL\": [\"48\", \"00\", \"6\\\\d{5}(?:\\\\d{2})?|8\\\\d{9}|[1-9]\\\\d{6}(?:\\\\d{2})?\", [6, 7, 8, 9, 10], [[\"(\\\\d{5})\", \"$1\", [\"19\"]], [\"(\\\\d{3})(\\\\d{3})\", \"$1 $2\", [\"11|64\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1\", \"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\", \"$1 $2 $3\", [\"64\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"1[2-8]|[2-7]|8[1-79]|9[145]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"8\"]]]], \"PM\": [\"508\", \"00\", \"(?:[45]|80\\\\d\\\\d)\\\\d{5}\", [6, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[45]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\"], \"PR\": [\"1\", \"011\", \"(?:[589]\\\\d\\\\d|787)\\\\d{7}\", [10], 0, \"1\", 0, 0, 0, 0, \"787|939\"], \"PS\": [\"970\", \"00\", \"[2489]2\\\\d{6}|(?:1\\\\d|5)\\\\d{8}\", [8, 9, 10], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2489]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"5\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1\"]]], \"0\"], \"PT\": [\"351\", \"00\", \"1693\\\\d{5}|(?:[26-9]\\\\d|30)\\\\d{7}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"2[12]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"16|[236-9]\"]]]], \"PW\": [\"680\", \"01[12]\", \"(?:[24-8]\\\\d\\\\d|345|900)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-9]\"]]]], \"PY\": [\"595\", \"00\", \"59\\\\d{4,6}|9\\\\d{5,10}|(?:[2-46-8]\\\\d|5[0-8])\\\\d{4,7}\", [6, 7, 8, 9, 10, 11], [[\"(\\\\d{3})(\\\\d{3,6})\", \"$1 $2\", [\"[2-9]0\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{4,5})\", \"$1 $2\", [\"2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"87\"]], [\"(\\\\d{3})(\\\\d{6})\", \"$1 $2\", [\"9(?:[5-79]|8[1-6])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2-8]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"9\"]]], \"0\"], \"QA\": [\"974\", \"00\", \"[2-7]\\\\d{7}|800\\\\d{4}(?:\\\\d{2})?|2\\\\d{6}\", [7, 8, 9], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"2[126]|8\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2-7]\"]]]], \"RE\": [\"262\", \"00\", \"976\\\\d{6}|(?:26|[68]\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2689]\"], \"0$1\"]], \"0\", 0, 0, 0, 0, \"26[23]|69|[89]\"], \"RO\": [\"40\", \"00\", \"(?:[2378]\\\\d|90)\\\\d{7}|[23]\\\\d{5}\", [6, 9], [[\"(\\\\d{3})(\\\\d{3})\", \"$1 $2\", [\"2[3-6]\", \"2[3-6]\\\\d9\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})\", \"$1 $2\", [\"219|31\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[23]1\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[237-9]\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, 0, 0, \" int \"], \"RS\": [\"381\", \"00\", \"38[02-9]\\\\d{6,9}|6\\\\d{7,9}|90\\\\d{4,8}|38\\\\d{5,6}|(?:7\\\\d\\\\d|800)\\\\d{3,9}|(?:[12]\\\\d|3[0-79])\\\\d{5,10}\", [6, 7, 8, 9, 10, 11, 12], [[\"(\\\\d{3})(\\\\d{3,9})\", \"$1 $2\", [\"(?:2[389]|39)0|[7-9]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{5,10})\", \"$1 $2\", [\"[1-36]\"], \"0$1\"]], \"0\"], \"RU\": [\"7\", \"810\", \"8\\\\d{13}|[347-9]\\\\d{9}\", [10, 14], [[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"7(?:1[0-8]|2[1-9])\", \"7(?:1(?:[0-6]2|7|8[27])|2(?:1[23]|[2-9]2))\", \"7(?:1(?:[0-6]2|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2\"], \"8 ($1)\", 1], [\"(\\\\d{5})(\\\\d)(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"7(?:1[0-68]|2[1-9])\", \"7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))\", \"7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]\"], \"8 ($1)\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"8 ($1)\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2-$3-$4\", [\"[349]|8(?:[02-7]|1[1-8])\"], \"8 ($1)\", 1], [\"(\\\\d{4})(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"8\"], \"8 ($1)\"]], \"8\", 0, 0, 0, 0, \"3[04-689]|[489]\", 0, \"8~10\"], \"RW\": [\"250\", \"00\", \"(?:06|[27]\\\\d\\\\d|[89]00)\\\\d{6}\", [8, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"0\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[7-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"2\"]]], \"0\"], \"SA\": [\"966\", \"00\", \"92\\\\d{7}|(?:[15]|8\\\\d)\\\\d{8}\", [9, 10], [[\"(\\\\d{4})(\\\\d{5})\", \"$1 $2\", [\"9\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"5\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"81\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"]]], \"0\"], \"SB\": [\"677\", \"0[01]\", \"(?:[1-6]|[7-9]\\\\d\\\\d)\\\\d{4}\", [5, 7], [[\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"7|8[4-9]|9(?:[1-8]|9[0-8])\"]]]], \"SC\": [\"248\", \"010|0[0-2]\", \"800\\\\d{4}|(?:[249]\\\\d|64)\\\\d{5}\", [7], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[246]|9[57]\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"SD\": [\"249\", \"00\", \"[19]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[19]\"], \"0$1\"]], \"0\"], \"SE\": [\"46\", \"00\", \"(?:[26]\\\\d\\\\d|9)\\\\d{9}|[1-9]\\\\d{8}|[1-689]\\\\d{7}|[1-4689]\\\\d{6}|2\\\\d{5}\", [6, 7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})\", \"$1-$2 $3\", [\"20\"], \"0$1\", 0, \"$1 $2 $3\"], [\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"9(?:00|39|44|9)\"], \"0$1\", 0, \"$1 $2\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})\", \"$1-$2 $3\", [\"[12][136]|3[356]|4[0246]|6[03]|90[1-9]\"], \"0$1\", 0, \"$1 $2 $3\"], [\"(\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\", \"$1-$2 $3 $4\", [\"8\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d{3})(\\\\d{2,3})(\\\\d{2})\", \"$1-$2 $3\", [\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"], \"0$1\", 0, \"$1 $2 $3\"], [\"(\\\\d{3})(\\\\d{2,3})(\\\\d{3})\", \"$1-$2 $3\", [\"9(?:00|39|44)\"], \"0$1\", 0, \"$1 $2 $3\"], [\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\", \"$1-$2 $3 $4\", [\"1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1-$2 $3 $4\", [\"10|7\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\", \"$1-$2 $3 $4\", [\"8\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1-$2 $3 $4\", [\"[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1-$2 $3 $4\", [\"9\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1-$2 $3 $4 $5\", [\"[26]\"], \"0$1\", 0, \"$1 $2 $3 $4 $5\"]], \"0\"], \"SG\": [\"65\", \"0[0-3]\\\\d\", \"(?:(?:1\\\\d|8)\\\\d\\\\d|7000)\\\\d{7}|[3689]\\\\d{7}\", [8, 10, 11], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[369]|8(?:0[1-5]|[1-9])\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"]], [\"(\\\\d{4})(\\\\d{4})(\\\\d{3})\", \"$1 $2 $3\", [\"7\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"]]]], \"SH\": [\"290\", \"00\", \"(?:[256]\\\\d|8)\\\\d{3}\", [4, 5], 0, 0, 0, 0, 0, 0, \"[256]\"], \"SI\": [\"386\", \"00|10(?:22|66|88|99)\", \"[1-7]\\\\d{7}|8\\\\d{4,7}|90\\\\d{4,6}\", [5, 6, 7, 8], [[\"(\\\\d{2})(\\\\d{3,6})\", \"$1 $2\", [\"8[09]|9\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"59|8\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[37][01]|4[0139]|51|6\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[1-57]\"], \"(0$1)\"]], \"0\", 0, 0, 0, 0, 0, 0, \"00\"], \"SJ\": [\"47\", \"00\", \"0\\\\d{4}|(?:[489]\\\\d|[57]9)\\\\d{6}\", [5, 8], 0, 0, 0, 0, 0, 0, \"79\"], \"SK\": [\"421\", \"00\", \"[2-689]\\\\d{8}|[2-59]\\\\d{6}|[2-5]\\\\d{5}\", [6, 7, 9], [[\"(\\\\d)(\\\\d{2})(\\\\d{3,4})\", \"$1 $2 $3\", [\"21\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\", \"$1 $2 $3\", [\"[3-5][1-8]1\", \"[3-5][1-8]1[67]\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\", \"$1/$2 $3 $4\", [\"2\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[689]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1/$2 $3 $4\", [\"[3-5]\"], \"0$1\"]], \"0\"], \"SL\": [\"232\", \"00\", \"(?:[237-9]\\\\d|66)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"[236-9]\"], \"(0$1)\"]], \"0\"], \"SM\": [\"378\", \"00\", \"(?:0549|[5-7]\\\\d)\\\\d{6}\", [8, 10], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[5-7]\"]], [\"(\\\\d{4})(\\\\d{6})\", \"$1 $2\", [\"0\"]]], 0, 0, \"([89]\\\\d{5})$\", \"0549$1\"], \"SN\": [\"221\", \"00\", \"(?:[378]\\\\d|93)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[379]\"]]]], \"SO\": [\"252\", \"00\", \"[346-9]\\\\d{8}|[12679]\\\\d{7}|[1-5]\\\\d{6}|[1348]\\\\d{5}\", [6, 7, 8, 9], [[\"(\\\\d{2})(\\\\d{4})\", \"$1 $2\", [\"8[125]\"]], [\"(\\\\d{6})\", \"$1\", [\"[134]\"]], [\"(\\\\d)(\\\\d{6})\", \"$1 $2\", [\"[15]|2[0-79]|3[0-46-8]|4[0-7]\"]], [\"(\\\\d)(\\\\d{7})\", \"$1 $2\", [\"24|[67]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[3478]|64|90\"]], [\"(\\\\d{2})(\\\\d{5,7})\", \"$1 $2\", [\"1|28|6(?:0[5-7]|[1-35-9])|9[2-9]\"]]], \"0\"], \"SR\": [\"597\", \"00\", \"(?:[2-5]|68|[78]\\\\d)\\\\d{5}\", [6, 7], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1-$2-$3\", [\"56\"]], [\"(\\\\d{3})(\\\\d{3})\", \"$1-$2\", [\"[2-5]\"]], [\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"[6-8]\"]]]], \"SS\": [\"211\", \"00\", \"[19]\\\\d{8}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[19]\"], \"0$1\"]], \"0\"], \"ST\": [\"239\", \"00\", \"(?:22|9\\\\d)\\\\d{5}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[29]\"]]]], \"SV\": [\"503\", \"00\", \"[267]\\\\d{7}|[89]00\\\\d{4}(?:\\\\d{4})?\", [7, 8, 11], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[89]\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[267]\"]], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[89]\"]]]], \"SX\": [\"1\", \"011\", \"7215\\\\d{6}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|(5\\\\d{6})$\", \"721$1\", 0, \"721\"], \"SY\": [\"963\", \"00\", \"[1-39]\\\\d{8}|[1-5]\\\\d{7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[1-5]\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"9\"], \"0$1\", 1]], \"0\"], \"SZ\": [\"268\", \"00\", \"0800\\\\d{4}|(?:[237]\\\\d|900)\\\\d{6}\", [8, 9], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[0237]\"]], [\"(\\\\d{5})(\\\\d{4})\", \"$1 $2\", [\"9\"]]]], \"TA\": [\"290\", \"00\", \"8\\\\d{3}\", [4], 0, 0, 0, 0, 0, 0, \"8\"], \"TC\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-479]\\\\d{6})$\", \"649$1\", 0, \"649\"], \"TD\": [\"235\", \"00|16\", \"(?:22|[69]\\\\d|77)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2679]\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"TG\": [\"228\", \"00\", \"[279]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[279]\"]]]], \"TH\": [\"66\", \"00[1-9]\", \"(?:001800|[2-57]|[689]\\\\d)\\\\d{7}|1\\\\d{7,9}\", [8, 9, 10, 13], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"2\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[13-9]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1\"]]], \"0\"], \"TJ\": [\"992\", \"810\", \"(?:00|[1-57-9]\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{6})(\\\\d)(\\\\d{2})\", \"$1 $2 $3\", [\"331\", \"3317\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"[34]7|91[78]\"]], [\"(\\\\d{4})(\\\\d)(\\\\d{4})\", \"$1 $2 $3\", [\"3[1-5]\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[0-57-9]\"]]], 0, 0, 0, 0, 0, 0, 0, \"8~10\"], \"TK\": [\"690\", \"00\", \"[2-47]\\\\d{3,6}\", [4, 5, 6, 7]], \"TL\": [\"670\", \"00\", \"7\\\\d{7}|(?:[2-47]\\\\d|[89]0)\\\\d{5}\", [7, 8], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-489]|70\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"7\"]]]], \"TM\": [\"993\", \"810\", \"[1-6]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2-$3-$4\", [\"12\"], \"(8 $1)\"], [\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\", \"$1 $2-$3-$4\", [\"[1-5]\"], \"(8 $1)\"], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"6\"], \"8 $1\"]], \"8\", 0, 0, 0, 0, 0, 0, \"8~10\"], \"TN\": [\"216\", \"00\", \"[2-57-9]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2-57-9]\"]]]], \"TO\": [\"676\", \"00\", \"(?:0800|(?:[5-8]\\\\d\\\\d|999)\\\\d)\\\\d{3}|[2-8]\\\\d{4}\", [5, 7], [[\"(\\\\d{2})(\\\\d{3})\", \"$1-$2\", [\"[2-4]|50|6[09]|7[0-24-69]|8[05]\"]], [\"(\\\\d{4})(\\\\d{3})\", \"$1 $2\", [\"0\"]], [\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[5-9]\"]]]], \"TR\": [\"90\", \"00\", \"4\\\\d{6}|8\\\\d{11,12}|(?:[2-58]\\\\d\\\\d|900)\\\\d{7}\", [7, 10, 12, 13], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"512|8[01589]|90\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"5(?:[0-59]|61)\", \"5(?:[0-59]|616)\", \"5(?:[0-59]|6161)\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[24][1-8]|3[1-9]\"], \"(0$1)\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{6,7})\", \"$1 $2 $3\", [\"80\"], \"0$1\", 1]], \"0\"], \"TT\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-46-8]\\\\d{6})$\", \"868$1\", 0, \"868\"], \"TV\": [\"688\", \"00\", \"(?:2|7\\\\d\\\\d|90)\\\\d{4}\", [5, 6, 7], [[\"(\\\\d{2})(\\\\d{3})\", \"$1 $2\", [\"2\"]], [\"(\\\\d{2})(\\\\d{4})\", \"$1 $2\", [\"90\"]], [\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"7\"]]]], \"TW\": [\"886\", \"0(?:0[25-79]|19)\", \"[2-689]\\\\d{8}|7\\\\d{9,10}|[2-8]\\\\d{7}|2\\\\d{6}\", [7, 8, 9, 10, 11], [[\"(\\\\d{2})(\\\\d)(\\\\d{4})\", \"$1 $2 $3\", [\"202\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[258]0\"], \"0$1\"], [\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]\", \"[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[49]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4,5})\", \"$1 $2 $3\", [\"7\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, 0, 0, \"#\"], \"TZ\": [\"255\", \"00[056]\", \"(?:[26-8]\\\\d|41|90)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"[89]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[24]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[67]\"], \"0$1\"]], \"0\"], \"UA\": [\"380\", \"00\", \"[89]\\\\d{9}|[3-9]\\\\d{8}\", [9, 10], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]\", \"6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{5})\", \"$1 $2\", [\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])\", \"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[3-7]|89|9[1-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[89]\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, 0, \"0~0\"], \"UG\": [\"256\", \"00[057]\", \"800\\\\d{6}|(?:[29]0|[347]\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{4})(\\\\d{5})\", \"$1 $2\", [\"202\", \"2024\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{6})\", \"$1 $2\", [\"[27-9]|4(?:6[45]|[7-9])\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1 $2\", [\"[34]\"], \"0$1\"]], \"0\"], \"US\": [\"1\", \"011\", \"[2-9]\\\\d{9}|3\\\\d{6}\", [10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"310\"], 0, 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"($1) $2-$3\", [\"[2-9]\"], 0, 1, \"$1-$2-$3\"]], \"1\", 0, 0, 0, 0, 0, [[\"5(?:05(?:[2-57-9]\\\\d\\\\d|6(?:[0-35-9]\\\\d|44))|82(?:2(?:0[0-3]|[268]2)|3(?:0[02]|22|33)|4(?:00|4[24]|65|82)|5(?:00|29|58|83)|6(?:00|66|82)|7(?:58|77)|8(?:00|42|5[25]|88)|9(?:00|9[89])))\\\\d{4}|(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[01356]|3[0-24679]|4[167]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[0-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-289]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\\\d{6}\"], [\"\"], [\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"], [\"900[2-9]\\\\d{6}\"], [\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-7]|33|44|66|77|88)[2-9]\\\\d{6}\"]]], \"UY\": [\"598\", \"0(?:0|1[3-9]\\\\d)\", \"4\\\\d{9}|[1249]\\\\d{7}|(?:[49]\\\\d|80)\\\\d{5}\", [7, 8, 10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"405|8|90\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"9\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[124]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"4\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, 0, \"00\", \" int. \"], \"UZ\": [\"998\", \"810\", \"(?:33|55|[679]\\\\d|88)\\\\d{7}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[35-9]\"], \"8 $1\"]], \"8\", 0, 0, 0, 0, 0, 0, \"8~10\"], \"VA\": [\"39\", \"00\", \"0\\\\d{5,10}|3[0-8]\\\\d{7,10}|55\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?|(?:1\\\\d|39)\\\\d{7,8}\", [6, 7, 8, 9, 10, 11], 0, 0, 0, 0, 0, 0, \"06698\"], \"VC\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-7]\\\\d{6})$\", \"784$1\", 0, \"784\"], \"VE\": [\"58\", \"00\", \"[68]00\\\\d{7}|(?:[24]\\\\d|[59]0)\\\\d{8}\", [10], [[\"(\\\\d{3})(\\\\d{7})\", \"$1-$2\", [\"[24-689]\"], \"0$1\"]], \"0\"], \"VG\": [\"1\", \"011\", \"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-578]\\\\d{6})$\", \"284$1\", 0, \"284\"], \"VI\": [\"1\", \"011\", \"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"340$1\", 0, \"340\"], \"VN\": [\"84\", \"00\", \"[12]\\\\d{9}|[135-9]\\\\d{8}|[16]\\\\d{7}|[16-8]\\\\d{6}\", [7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"80\"], \"0$1\", 1], [\"(\\\\d{4})(\\\\d{4,6})\", \"$1 $2\", [\"1\"], 0, 1], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[69]\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[3578]\"], \"0$1\", 1], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"2[48]\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\", \"$1 $2 $3\", [\"2\"], \"0$1\", 1]], \"0\"], \"VU\": [\"678\", \"00\", \"[57-9]\\\\d{6}|(?:[238]\\\\d|48)\\\\d{3}\", [5, 7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[57-9]\"]]]], \"WF\": [\"681\", \"00\", \"(?:40|72)\\\\d{4}|8\\\\d{5}(?:\\\\d{3})?\", [6, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[478]\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"]]]], \"WS\": [\"685\", \"0\", \"(?:[2-6]|8\\\\d{5})\\\\d{4}|[78]\\\\d{6}|[68]\\\\d{5}\", [5, 6, 7, 10], [[\"(\\\\d{5})\", \"$1\", [\"[2-5]|6[1-9]\"]], [\"(\\\\d{3})(\\\\d{3,7})\", \"$1 $2\", [\"[68]\"]], [\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"7\"]]]], \"XK\": [\"383\", \"00\", \"[23]\\\\d{7,8}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\", [8, 9], [[\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"[89]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2-4]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[23]\"], \"0$1\"]], \"0\"], \"YE\": [\"967\", \"00\", \"(?:1|7\\\\d)\\\\d{7}|[1-7]\\\\d{6}\", [7, 8, 9], [[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[1-6]|7[24-68]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"7\"], \"0$1\"]], \"0\"], \"YT\": [\"262\", \"00\", \"80\\\\d{7}|(?:26|63)9\\\\d{6}\", [9], 0, \"0\", 0, 0, 0, 0, \"269|63\"], \"ZA\": [\"27\", \"00\", \"[1-79]\\\\d{8}|8\\\\d{4,9}\", [5, 6, 7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{3,4})\", \"$1 $2\", [\"8[1-4]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\", \"$1 $2 $3\", [\"8[1-4]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"860\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[1-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"], \"0$1\"]], \"0\"], \"ZM\": [\"260\", \"00\", \"800\\\\d{6}|(?:21|63|[79]\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[28]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1 $2\", [\"[79]\"], \"0$1\"]], \"0\"], \"ZW\": [\"263\", \"00\", \"2(?:[0-57-9]\\\\d{6,8}|6[0-24-9]\\\\d{6,7})|[38]\\\\d{9}|[35-8]\\\\d{8}|[3-6]\\\\d{7}|[1-689]\\\\d{6}|[1-3569]\\\\d{5}|[1356]\\\\d{4}\", [5, 6, 7, 8, 9, 10], [[\"(\\\\d{3})(\\\\d{3,5})\", \"$1 $2\", [\"2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{2,4})\", \"$1 $2 $3\", [\"[49]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"80\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1 $2\", [\"24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2\", \"2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)\", \"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{6})\", \"$1 $2\", [\"8\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3,5})\", \"$1 $2\", [\"1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"29[013-9]|39|54\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3,5})\", \"$1 $2\", [\"(?:25|54)8\", \"258|5483\"], \"0$1\"]], \"0\"] }, \"nonGeographic\": { \"800\": [\"800\", 0, \"(?:00|[1-9]\\\\d)\\\\d{6}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"\\\\d\"]]], 0, 0, 0, 0, 0, 0, [0, 0, [\"(?:00|[1-9]\\\\d)\\\\d{6}\"]]], \"808\": [\"808\", 0, \"[1-9]\\\\d{7}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[1-9]\"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, [\"[1-9]\\\\d{7}\"]]], \"870\": [\"870\", 0, \"7\\\\d{11}|[35-7]\\\\d{8}\", [9, 12], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[35-7]\"]]], 0, 0, 0, 0, 0, 0, [0, [\"(?:[356]|774[45])\\\\d{8}|7[6-8]\\\\d{7}\"]]], \"878\": [\"878\", 0, \"10\\\\d{10}\", [12], [[\"(\\\\d{2})(\\\\d{5})(\\\\d{5})\", \"$1 $2 $3\", [\"1\"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, [\"10\\\\d{10}\"]]], \"881\": [\"881\", 0, \"[0-36-9]\\\\d{8}\", [9], [[\"(\\\\d)(\\\\d{3})(\\\\d{5})\", \"$1 $2 $3\", [\"[0-36-9]\"]]], 0, 0, 0, 0, 0, 0, [0, [\"[0-36-9]\\\\d{8}\"]]], \"882\": [\"882\", 0, \"[13]\\\\d{6}(?:\\\\d{2,5})?|285\\\\d{9}|(?:[19]\\\\d|49)\\\\d{6}\", [7, 8, 9, 10, 11, 12], [[\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"16|342\"]], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"4\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"[19]\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{3})\", \"$1 $2 $3\", [\"3[23]\"]], [\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"34[57]\"]], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"34\"]], [\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\", \"$1 $2 $3\", [\"[1-3]\"]]], 0, 0, 0, 0, 0, 0, [0, [\"342\\\\d{4}|(?:337|49)\\\\d{6}|3(?:2|47|7\\\\d{3})\\\\d{7}\", [7, 8, 9, 10, 12]], 0, 0, 0, 0, 0, 0, [\"1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\\\d{4}|6\\\\d{5,10})|(?:(?:285\\\\d\\\\d|3(?:45|[69]\\\\d{3}))\\\\d|9[89])\\\\d{6}\"]]], \"883\": [\"883\", 0, \"(?:210|370\\\\d\\\\d)\\\\d{7}|51\\\\d{7}(?:\\\\d{3})?\", [9, 10, 12], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"510\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"2\"]], [\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"51[13]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"[35]\"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, [\"(?:210|(?:370[1-9]|51[013]0)\\\\d)\\\\d{7}|5100\\\\d{5}\"]]], \"888\": [\"888\", 0, \"\\\\d{11}\", [11], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\", \"$1 $2 $3\"]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, [\"\\\\d{11}\"]]], \"979\": [\"979\", 0, \"[1359]\\\\d{8}\", [9], [[\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[1359]\"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, [\"[1359]\\\\d{8}\"]]] } };\nfunction withMetadataArgument(func, _arguments) {\n var args = Array.prototype.slice.call(_arguments);\n args.push(metadata);\n return func.apply(this, args);\n}\nfunction _typeof$2(obj) {\n \"@babel/helpers - typeof\";\n return _typeof$2 = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(obj2) {\n return typeof obj2;\n } : function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? \"symbol\" : typeof obj2;\n }, _typeof$2(obj);\n}\nfunction _defineProperties$2(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass$2(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties$2(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties$2(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", { writable: false });\n return Constructor;\n}\nfunction _classCallCheck$2(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } });\n Object.defineProperty(subClass, \"prototype\", { writable: false });\n if (superClass)\n _setPrototypeOf(subClass, superClass);\n}\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived), result2;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result2 = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result2 = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result2);\n };\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof$2(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? /* @__PURE__ */ new Map() : void 0;\n _wrapNativeSuper = function _wrapNativeSuper2(Class2) {\n if (Class2 === null || !_isNativeFunction(Class2))\n return Class2;\n if (typeof Class2 !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class2))\n return _cache.get(Class2);\n _cache.set(Class2, Wrapper);\n }\n function Wrapper() {\n return _construct(Class2, arguments, _getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class2.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } });\n return _setPrototypeOf(Wrapper, Class2);\n };\n return _wrapNativeSuper(Class);\n}\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct2(Parent2, args2, Class2) {\n var a = [null];\n a.push.apply(a, args2);\n var Constructor = Function.bind.apply(Parent2, a);\n var instance = new Constructor();\n if (Class2)\n _setPrototypeOf(instance, Class2.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct)\n return false;\n if (Reflect.construct.sham)\n return false;\n if (typeof Proxy === \"function\")\n return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {\n }));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf2(o2, p2) {\n o2.__proto__ = p2;\n return o2;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf2(o2) {\n return o2.__proto__ || Object.getPrototypeOf(o2);\n };\n return _getPrototypeOf(o);\n}\nvar ParseError = /* @__PURE__ */ function(_Error) {\n _inherits(ParseError2, _Error);\n var _super = _createSuper(ParseError2);\n function ParseError2(code) {\n var _this;\n _classCallCheck$2(this, ParseError2);\n _this = _super.call(this, code);\n Object.setPrototypeOf(_assertThisInitialized(_this), ParseError2.prototype);\n _this.name = _this.constructor.name;\n return _this;\n }\n return _createClass$2(ParseError2);\n}(/* @__PURE__ */ _wrapNativeSuper(Error));\nvar MIN_LENGTH_FOR_NSN = 2;\nvar MAX_LENGTH_FOR_NSN = 17;\nvar MAX_LENGTH_COUNTRY_CODE = 3;\nvar VALID_DIGITS = \"0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9\";\nvar DASHES = \"-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D\";\nvar SLASHES = \"\\uFF0F/\";\nvar DOTS = \"\\uFF0E.\";\nvar WHITESPACE = \" \\xA0\\xAD\\u200B\\u2060\\u3000\";\nvar BRACKETS = \"()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]\";\nvar TILDES = \"~\\u2053\\u223C\\uFF5E\";\nvar VALID_PUNCTUATION = \"\".concat(DASHES).concat(SLASHES).concat(DOTS).concat(WHITESPACE).concat(BRACKETS).concat(TILDES);\nvar PLUS_CHARS = \"+\\uFF0B\";\nfunction compare(a, b) {\n a = a.split(\"-\");\n b = b.split(\"-\");\n var pa = a[0].split(\".\");\n var pb = b[0].split(\".\");\n for (var i = 0; i < 3; i++) {\n var na = Number(pa[i]);\n var nb = Number(pb[i]);\n if (na > nb)\n return 1;\n if (nb > na)\n return -1;\n if (!isNaN(na) && isNaN(nb))\n return 1;\n if (isNaN(na) && !isNaN(nb))\n return -1;\n }\n if (a[1] && b[1]) {\n return a[1] > b[1] ? 1 : a[1] < b[1] ? -1 : 0;\n }\n return !a[1] && b[1] ? 1 : a[1] && !b[1] ? -1 : 0;\n}\nfunction _typeof$1(obj) {\n \"@babel/helpers - typeof\";\n return _typeof$1 = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(obj2) {\n return typeof obj2;\n } : function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? \"symbol\" : typeof obj2;\n }, _typeof$1(obj);\n}\nfunction _classCallCheck$1(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties$1(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass$1(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties$1(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties$1(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", { writable: false });\n return Constructor;\n}\nvar V3 = \"1.2.0\";\nvar V4 = \"1.7.35\";\nvar DEFAULT_EXT_PREFIX = \" ext. \";\nvar CALLING_CODE_REG_EXP = /^\\d+$/;\nvar Metadata = /* @__PURE__ */ function() {\n function Metadata2(metadata2) {\n _classCallCheck$1(this, Metadata2);\n validateMetadata(metadata2);\n this.metadata = metadata2;\n setVersion.call(this, metadata2);\n }\n _createClass$1(Metadata2, [{\n key: \"getCountries\",\n value: function getCountries() {\n return Object.keys(this.metadata.countries).filter(function(_) {\n return _ !== \"001\";\n });\n }\n }, {\n key: \"getCountryMetadata\",\n value: function getCountryMetadata(countryCode) {\n return this.metadata.countries[countryCode];\n }\n }, {\n key: \"nonGeographic\",\n value: function nonGeographic() {\n if (this.v1 || this.v2 || this.v3)\n return;\n return this.metadata.nonGeographic || this.metadata.nonGeographical;\n }\n }, {\n key: \"hasCountry\",\n value: function hasCountry(country) {\n return this.getCountryMetadata(country) !== void 0;\n }\n }, {\n key: \"hasCallingCode\",\n value: function hasCallingCode(callingCode) {\n if (this.getCountryCodesForCallingCode(callingCode)) {\n return true;\n }\n if (this.nonGeographic()) {\n if (this.nonGeographic()[callingCode]) {\n return true;\n }\n } else {\n var countryCodes = this.countryCallingCodes()[callingCode];\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === \"001\") {\n return true;\n }\n }\n }\n }, {\n key: \"isNonGeographicCallingCode\",\n value: function isNonGeographicCallingCode(callingCode) {\n if (this.nonGeographic()) {\n return this.nonGeographic()[callingCode] ? true : false;\n } else {\n return this.getCountryCodesForCallingCode(callingCode) ? false : true;\n }\n }\n }, {\n key: \"country\",\n value: function country(countryCode) {\n return this.selectNumberingPlan(countryCode);\n }\n }, {\n key: \"selectNumberingPlan\",\n value: function selectNumberingPlan(countryCode, callingCode) {\n if (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {\n callingCode = countryCode;\n countryCode = null;\n }\n if (countryCode && countryCode !== \"001\") {\n if (!this.hasCountry(countryCode)) {\n throw new Error(\"Unknown country: \".concat(countryCode));\n }\n this.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this);\n } else if (callingCode) {\n if (!this.hasCallingCode(callingCode)) {\n throw new Error(\"Unknown calling code: \".concat(callingCode));\n }\n this.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this);\n } else {\n this.numberingPlan = void 0;\n }\n return this;\n }\n }, {\n key: \"getCountryCodesForCallingCode\",\n value: function getCountryCodesForCallingCode(callingCode) {\n var countryCodes = this.countryCallingCodes()[callingCode];\n if (countryCodes) {\n if (countryCodes.length === 1 && countryCodes[0].length === 3) {\n return;\n }\n return countryCodes;\n }\n }\n }, {\n key: \"getCountryCodeForCallingCode\",\n value: function getCountryCodeForCallingCode(callingCode) {\n var countryCodes = this.getCountryCodesForCallingCode(callingCode);\n if (countryCodes) {\n return countryCodes[0];\n }\n }\n }, {\n key: \"getNumberingPlanMetadata\",\n value: function getNumberingPlanMetadata(callingCode) {\n var countryCode = this.getCountryCodeForCallingCode(callingCode);\n if (countryCode) {\n return this.getCountryMetadata(countryCode);\n }\n if (this.nonGeographic()) {\n var metadata2 = this.nonGeographic()[callingCode];\n if (metadata2) {\n return metadata2;\n }\n } else {\n var countryCodes = this.countryCallingCodes()[callingCode];\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === \"001\") {\n return this.metadata.countries[\"001\"];\n }\n }\n }\n }, {\n key: \"countryCallingCode\",\n value: function countryCallingCode() {\n return this.numberingPlan.callingCode();\n }\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n return this.numberingPlan.IDDPrefix();\n }\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n return this.numberingPlan.defaultIDDPrefix();\n }\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n return this.numberingPlan.nationalNumberPattern();\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n return this.numberingPlan.possibleLengths();\n }\n }, {\n key: \"formats\",\n value: function formats() {\n return this.numberingPlan.formats();\n }\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n return this.numberingPlan.nationalPrefixForParsing();\n }\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.numberingPlan.nationalPrefixTransformRule();\n }\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.numberingPlan.leadingDigits();\n }\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n return this.numberingPlan.hasTypes();\n }\n }, {\n key: \"type\",\n value: function type(_type) {\n return this.numberingPlan.type(_type);\n }\n }, {\n key: \"ext\",\n value: function ext() {\n return this.numberingPlan.ext();\n }\n }, {\n key: \"countryCallingCodes\",\n value: function countryCallingCodes() {\n if (this.v1)\n return this.metadata.country_phone_code_to_countries;\n return this.metadata.country_calling_codes;\n }\n }, {\n key: \"chooseCountryByCountryCallingCode\",\n value: function chooseCountryByCountryCallingCode(callingCode) {\n return this.selectNumberingPlan(callingCode);\n }\n }, {\n key: \"hasSelectedNumberingPlan\",\n value: function hasSelectedNumberingPlan() {\n return this.numberingPlan !== void 0;\n }\n }]);\n return Metadata2;\n}();\nvar NumberingPlan = /* @__PURE__ */ function() {\n function NumberingPlan2(metadata2, globalMetadataObject) {\n _classCallCheck$1(this, NumberingPlan2);\n this.globalMetadataObject = globalMetadataObject;\n this.metadata = metadata2;\n setVersion.call(this, globalMetadataObject.metadata);\n }\n _createClass$1(NumberingPlan2, [{\n key: \"callingCode\",\n value: function callingCode() {\n return this.metadata[0];\n }\n }, {\n key: \"getDefaultCountryMetadataForRegion\",\n value: function getDefaultCountryMetadataForRegion() {\n return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());\n }\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n if (this.v1 || this.v2)\n return;\n return this.metadata[1];\n }\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n if (this.v1 || this.v2)\n return;\n return this.metadata[12];\n }\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n if (this.v1 || this.v2)\n return this.metadata[1];\n return this.metadata[2];\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.v1)\n return;\n return this.metadata[this.v2 ? 2 : 3];\n }\n }, {\n key: \"_getFormats\",\n value: function _getFormats(metadata2) {\n return metadata2[this.v1 ? 2 : this.v2 ? 3 : 4];\n }\n }, {\n key: \"formats\",\n value: function formats() {\n var _this = this;\n var formats2 = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];\n return formats2.map(function(_) {\n return new Format(_, _this);\n });\n }\n }, {\n key: \"nationalPrefix\",\n value: function nationalPrefix() {\n return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];\n }\n }, {\n key: \"_getNationalPrefixFormattingRule\",\n value: function _getNationalPrefixFormattingRule(metadata2) {\n return metadata2[this.v1 ? 4 : this.v2 ? 5 : 6];\n }\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"_nationalPrefixForParsing\",\n value: function _nationalPrefixForParsing() {\n return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];\n }\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n return this._nationalPrefixForParsing() || this.nationalPrefix();\n }\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];\n }\n }, {\n key: \"_getNationalPrefixIsOptionalWhenFormatting\",\n value: function _getNationalPrefixIsOptionalWhenFormatting() {\n return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];\n }\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];\n }\n }, {\n key: \"types\",\n value: function types() {\n return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];\n }\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n if (this.types() && this.types().length === 0) {\n return false;\n }\n return !!this.types();\n }\n }, {\n key: \"type\",\n value: function type(_type2) {\n if (this.hasTypes() && getType(this.types(), _type2)) {\n return new Type(getType(this.types(), _type2), this);\n }\n }\n }, {\n key: \"ext\",\n value: function ext() {\n if (this.v1 || this.v2)\n return DEFAULT_EXT_PREFIX;\n return this.metadata[13] || DEFAULT_EXT_PREFIX;\n }\n }]);\n return NumberingPlan2;\n}();\nvar Format = /* @__PURE__ */ function() {\n function Format2(format, metadata2) {\n _classCallCheck$1(this, Format2);\n this._format = format;\n this.metadata = metadata2;\n }\n _createClass$1(Format2, [{\n key: \"pattern\",\n value: function pattern() {\n return this._format[0];\n }\n }, {\n key: \"format\",\n value: function format() {\n return this._format[1];\n }\n }, {\n key: \"leadingDigitsPatterns\",\n value: function leadingDigitsPatterns() {\n return this._format[2] || [];\n }\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._format[3] || this.metadata.nationalPrefixFormattingRule();\n }\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n }\n }, {\n key: \"nationalPrefixIsMandatoryWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\n return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n }\n }, {\n key: \"usesNationalPrefix\",\n value: function usesNationalPrefix() {\n return this.nationalPrefixFormattingRule() && !FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule()) ? true : false;\n }\n }, {\n key: \"internationalFormat\",\n value: function internationalFormat() {\n return this._format[5] || this.format();\n }\n }]);\n return Format2;\n}();\nvar FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/;\nvar Type = /* @__PURE__ */ function() {\n function Type2(type, metadata2) {\n _classCallCheck$1(this, Type2);\n this.type = type;\n this.metadata = metadata2;\n }\n _createClass$1(Type2, [{\n key: \"pattern\",\n value: function pattern() {\n if (this.metadata.v1)\n return this.type;\n return this.type[0];\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.metadata.v1)\n return;\n return this.type[1] || this.metadata.possibleLengths();\n }\n }]);\n return Type2;\n}();\nfunction getType(types, type) {\n switch (type) {\n case \"FIXED_LINE\":\n return types[0];\n case \"MOBILE\":\n return types[1];\n case \"TOLL_FREE\":\n return types[2];\n case \"PREMIUM_RATE\":\n return types[3];\n case \"PERSONAL_NUMBER\":\n return types[4];\n case \"VOICEMAIL\":\n return types[5];\n case \"UAN\":\n return types[6];\n case \"PAGER\":\n return types[7];\n case \"VOIP\":\n return types[8];\n case \"SHARED_COST\":\n return types[9];\n }\n}\nfunction validateMetadata(metadata2) {\n if (!metadata2) {\n throw new Error(\"[libphonenumber-js] `metadata` argument not passed. Check your arguments.\");\n }\n if (!is_object(metadata2) || !is_object(metadata2.countries)) {\n throw new Error(\"[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got \".concat(is_object(metadata2) ? \"an object of shape: { \" + Object.keys(metadata2).join(\", \") + \" }\" : \"a \" + type_of(metadata2) + \": \" + metadata2, \".\"));\n }\n}\nvar is_object = function is_object2(_) {\n return _typeof$1(_) === \"object\";\n};\nvar type_of = function type_of2(_) {\n return _typeof$1(_);\n};\nfunction getCountryCallingCode(country, metadata2) {\n metadata2 = new Metadata(metadata2);\n if (metadata2.hasCountry(country)) {\n return metadata2.country(country).countryCallingCode();\n }\n throw new Error(\"Unknown country: \".concat(country));\n}\nfunction isSupportedCountry(country, metadata2) {\n return metadata2.countries[country] !== void 0;\n}\nfunction setVersion(metadata2) {\n var version = metadata2.version;\n if (typeof version === \"number\") {\n this.v1 = version === 1;\n this.v2 = version === 2;\n this.v3 = version === 3;\n this.v4 = version === 4;\n } else {\n if (!version) {\n this.v1 = true;\n } else if (compare(version, V3) === -1) {\n this.v2 = true;\n } else if (compare(version, V4) === -1) {\n this.v3 = true;\n } else {\n this.v4 = true;\n }\n }\n}\nvar RFC3966_EXTN_PREFIX = \";ext=\";\nvar getExtensionDigitsPattern = function getExtensionDigitsPattern2(maxLength) {\n return \"([\".concat(VALID_DIGITS, \"]{1,\").concat(maxLength, \"})\");\n};\nfunction createExtensionPattern(purpose) {\n var extLimitAfterExplicitLabel = \"20\";\n var extLimitAfterLikelyLabel = \"15\";\n var extLimitAfterAmbiguousChar = \"9\";\n var extLimitWhenNotSure = \"6\";\n var possibleSeparatorsBetweenNumberAndExtLabel = \"[ \\xA0\\\\t,]*\";\n var possibleCharsAfterExtLabel = \"[:\\\\.\\uFF0E]?[ \\xA0\\\\t,-]*\";\n var optionalExtnSuffix = \"#?\";\n var explicitExtLabels = \"(?:e?xt(?:ensi(?:o\\u0301?|\\xF3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|\\u0434\\u043E\\u0431|anexo)\";\n var ambiguousExtLabels = \"(?:[x\\uFF58#\\uFF03~\\uFF5E]|int|\\uFF49\\uFF4E\\uFF54)\";\n var ambiguousSeparator = \"[- ]+\";\n var possibleSeparatorsNumberExtLabelNoComma = \"[ \\xA0\\\\t]*\";\n var autoDiallingAndExtLabelsFound = \"(?:,{2}|;)\";\n var rfcExtn = RFC3966_EXTN_PREFIX + getExtensionDigitsPattern(extLimitAfterExplicitLabel);\n var explicitExtn = possibleSeparatorsBetweenNumberAndExtLabel + explicitExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterExplicitLabel) + optionalExtnSuffix;\n var ambiguousExtn = possibleSeparatorsBetweenNumberAndExtLabel + ambiguousExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;\n var americanStyleExtnWithSuffix = ambiguousSeparator + getExtensionDigitsPattern(extLimitWhenNotSure) + \"#\";\n var autoDiallingExtn = possibleSeparatorsNumberExtLabelNoComma + autoDiallingAndExtLabelsFound + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterLikelyLabel) + optionalExtnSuffix;\n var onlyCommasExtn = possibleSeparatorsNumberExtLabelNoComma + \"(?:,)+\" + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;\n return rfcExtn + \"|\" + explicitExtn + \"|\" + ambiguousExtn + \"|\" + americanStyleExtnWithSuffix + \"|\" + autoDiallingExtn + \"|\" + onlyCommasExtn;\n}\nvar MIN_LENGTH_PHONE_NUMBER_PATTERN = \"[\" + VALID_DIGITS + \"]{\" + MIN_LENGTH_FOR_NSN + \"}\";\nvar VALID_PHONE_NUMBER = \"[\" + PLUS_CHARS + \"]{0,1}(?:[\" + VALID_PUNCTUATION + \"]*[\" + VALID_DIGITS + \"]){3,}[\" + VALID_PUNCTUATION + VALID_DIGITS + \"]*\";\nvar VALID_PHONE_NUMBER_START_REG_EXP = new RegExp(\"^[\" + PLUS_CHARS + \"]{0,1}(?:[\" + VALID_PUNCTUATION + \"]*[\" + VALID_DIGITS + \"]){1,2}$\", \"i\");\nvar VALID_PHONE_NUMBER_WITH_EXTENSION = VALID_PHONE_NUMBER + \"(?:\" + createExtensionPattern() + \")?\";\nvar VALID_PHONE_NUMBER_PATTERN = new RegExp(\"^\" + MIN_LENGTH_PHONE_NUMBER_PATTERN + \"$|^\" + VALID_PHONE_NUMBER_WITH_EXTENSION + \"$\", \"i\");\nfunction isViablePhoneNumber(number) {\n return number.length >= MIN_LENGTH_FOR_NSN && VALID_PHONE_NUMBER_PATTERN.test(number);\n}\nfunction isViablePhoneNumberStart(number) {\n return VALID_PHONE_NUMBER_START_REG_EXP.test(number);\n}\nvar EXTN_PATTERN = new RegExp(\"(?:\" + createExtensionPattern() + \")$\", \"i\");\nfunction extractExtension(number) {\n var start = number.search(EXTN_PATTERN);\n if (start < 0) {\n return {};\n }\n var numberWithoutExtension = number.slice(0, start);\n var matches = number.match(EXTN_PATTERN);\n var i = 1;\n while (i < matches.length) {\n if (matches[i]) {\n return {\n number: numberWithoutExtension,\n ext: matches[i]\n };\n }\n i++;\n }\n}\nvar DIGITS = {\n \"0\": \"0\",\n \"1\": \"1\",\n \"2\": \"2\",\n \"3\": \"3\",\n \"4\": \"4\",\n \"5\": \"5\",\n \"6\": \"6\",\n \"7\": \"7\",\n \"8\": \"8\",\n \"9\": \"9\",\n \"\\uFF10\": \"0\",\n \"\\uFF11\": \"1\",\n \"\\uFF12\": \"2\",\n \"\\uFF13\": \"3\",\n \"\\uFF14\": \"4\",\n \"\\uFF15\": \"5\",\n \"\\uFF16\": \"6\",\n \"\\uFF17\": \"7\",\n \"\\uFF18\": \"8\",\n \"\\uFF19\": \"9\",\n \"\\u0660\": \"0\",\n \"\\u0661\": \"1\",\n \"\\u0662\": \"2\",\n \"\\u0663\": \"3\",\n \"\\u0664\": \"4\",\n \"\\u0665\": \"5\",\n \"\\u0666\": \"6\",\n \"\\u0667\": \"7\",\n \"\\u0668\": \"8\",\n \"\\u0669\": \"9\",\n \"\\u06F0\": \"0\",\n \"\\u06F1\": \"1\",\n \"\\u06F2\": \"2\",\n \"\\u06F3\": \"3\",\n \"\\u06F4\": \"4\",\n \"\\u06F5\": \"5\",\n \"\\u06F6\": \"6\",\n \"\\u06F7\": \"7\",\n \"\\u06F8\": \"8\",\n \"\\u06F9\": \"9\"\n};\nfunction parseDigit(character) {\n return DIGITS[character];\n}\nfunction _createForOfIteratorHelperLoose$5(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it)\n return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray$6(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it)\n o = it;\n var i = 0;\n return function() {\n if (i >= o.length)\n return { done: true };\n return { done: false, value: o[i++] };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray$6(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray$6(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray$6(o, minLen);\n}\nfunction _arrayLikeToArray$6(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nfunction parseIncompletePhoneNumber(string) {\n var result2 = \"\";\n for (var _iterator = _createForOfIteratorHelperLoose$5(string.split(\"\")), _step; !(_step = _iterator()).done; ) {\n var character = _step.value;\n result2 += parsePhoneNumberCharacter(character, result2) || \"\";\n }\n return result2;\n}\nfunction parsePhoneNumberCharacter(character, prevParsedCharacters) {\n if (character === \"+\") {\n if (prevParsedCharacters) {\n return;\n }\n return \"+\";\n }\n return parseDigit(character);\n}\nfunction _createForOfIteratorHelperLoose$4(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it)\n return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray$5(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it)\n o = it;\n var i = 0;\n return function() {\n if (i >= o.length)\n return { done: true };\n return { done: false, value: o[i++] };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray$5(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray$5(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray$5(o, minLen);\n}\nfunction _arrayLikeToArray$5(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nfunction mergeArrays(a, b) {\n var merged = a.slice();\n for (var _iterator = _createForOfIteratorHelperLoose$4(b), _step; !(_step = _iterator()).done; ) {\n var element = _step.value;\n if (a.indexOf(element) < 0) {\n merged.push(element);\n }\n }\n return merged.sort(function(a2, b2) {\n return a2 - b2;\n });\n}\nfunction checkNumberLength(nationalNumber, metadata2) {\n return checkNumberLengthForType(nationalNumber, void 0, metadata2);\n}\nfunction checkNumberLengthForType(nationalNumber, type, metadata2) {\n var type_info = metadata2.type(type);\n var possible_lengths = type_info && type_info.possibleLengths() || metadata2.possibleLengths();\n if (!possible_lengths) {\n return \"IS_POSSIBLE\";\n }\n if (type === \"FIXED_LINE_OR_MOBILE\") {\n if (!metadata2.type(\"FIXED_LINE\")) {\n return checkNumberLengthForType(nationalNumber, \"MOBILE\", metadata2);\n }\n var mobile_type = metadata2.type(\"MOBILE\");\n if (mobile_type) {\n possible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths());\n }\n } else if (type && !type_info) {\n return \"INVALID_LENGTH\";\n }\n var actual_length = nationalNumber.length;\n var minimum_length = possible_lengths[0];\n if (minimum_length === actual_length) {\n return \"IS_POSSIBLE\";\n }\n if (minimum_length > actual_length) {\n return \"TOO_SHORT\";\n }\n if (possible_lengths[possible_lengths.length - 1] < actual_length) {\n return \"TOO_LONG\";\n }\n return possible_lengths.indexOf(actual_length, 1) >= 0 ? \"IS_POSSIBLE\" : \"INVALID_LENGTH\";\n}\nfunction isPossiblePhoneNumber(input, options, metadata2) {\n if (options === void 0) {\n options = {};\n }\n metadata2 = new Metadata(metadata2);\n if (options.v2) {\n if (!input.countryCallingCode) {\n throw new Error(\"Invalid phone number object passed\");\n }\n metadata2.selectNumberingPlan(input.countryCallingCode);\n } else {\n if (!input.phone) {\n return false;\n }\n if (input.country) {\n if (!metadata2.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n metadata2.country(input.country);\n } else {\n if (!input.countryCallingCode) {\n throw new Error(\"Invalid phone number object passed\");\n }\n metadata2.selectNumberingPlan(input.countryCallingCode);\n }\n }\n if (metadata2.possibleLengths()) {\n return isPossibleNumber(input.phone || input.nationalNumber, metadata2);\n } else {\n if (input.countryCallingCode && metadata2.isNonGeographicCallingCode(input.countryCallingCode)) {\n return true;\n } else {\n throw new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\n }\n }\n}\nfunction isPossibleNumber(nationalNumber, metadata2) {\n switch (checkNumberLength(nationalNumber, metadata2)) {\n case \"IS_POSSIBLE\":\n return true;\n default:\n return false;\n }\n}\nfunction _slicedToArray$1(arr, i) {\n return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _unsupportedIterableToArray$4(arr, i) || _nonIterableRest$1();\n}\nfunction _nonIterableRest$1() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _iterableToArrayLimit$1(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null)\n return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i)\n break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null)\n _i[\"return\"]();\n } finally {\n if (_d)\n throw _e;\n }\n }\n return _arr;\n}\nfunction _arrayWithHoles$1(arr) {\n if (Array.isArray(arr))\n return arr;\n}\nfunction _createForOfIteratorHelperLoose$3(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it)\n return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray$4(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it)\n o = it;\n var i = 0;\n return function() {\n if (i >= o.length)\n return { done: true };\n return { done: false, value: o[i++] };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray$4(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray$4(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray$4(o, minLen);\n}\nfunction _arrayLikeToArray$4(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nfunction parseRFC3966(text) {\n var number;\n var ext;\n text = text.replace(/^tel:/, \"tel=\");\n for (var _iterator = _createForOfIteratorHelperLoose$3(text.split(\";\")), _step; !(_step = _iterator()).done; ) {\n var part = _step.value;\n var _part$split = part.split(\"=\"), _part$split2 = _slicedToArray$1(_part$split, 2), name = _part$split2[0], value = _part$split2[1];\n switch (name) {\n case \"tel\":\n number = value;\n break;\n case \"ext\":\n ext = value;\n break;\n case \"phone-context\":\n if (value[0] === \"+\") {\n number = value + number;\n }\n break;\n }\n }\n if (!isViablePhoneNumber(number)) {\n return {};\n }\n var result2 = {\n number\n };\n if (ext) {\n result2.ext = ext;\n }\n return result2;\n}\nfunction formatRFC3966(_ref) {\n var number = _ref.number, ext = _ref.ext;\n if (!number) {\n return \"\";\n }\n if (number[0] !== \"+\") {\n throw new Error('\"formatRFC3966()\" expects \"number\" to be in E.164 format.');\n }\n return \"tel:\".concat(number).concat(ext ? \";ext=\" + ext : \"\");\n}\nfunction matchesEntirely(text, regular_expression) {\n text = text || \"\";\n return new RegExp(\"^(?:\" + regular_expression + \")$\").test(text);\n}\nfunction _createForOfIteratorHelperLoose$2(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it)\n return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray$3(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it)\n o = it;\n var i = 0;\n return function() {\n if (i >= o.length)\n return { done: true };\n return { done: false, value: o[i++] };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray$3(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray$3(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray$3(o, minLen);\n}\nfunction _arrayLikeToArray$3(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nvar NON_FIXED_LINE_PHONE_TYPES = [\"MOBILE\", \"PREMIUM_RATE\", \"TOLL_FREE\", \"SHARED_COST\", \"VOIP\", \"PERSONAL_NUMBER\", \"PAGER\", \"UAN\", \"VOICEMAIL\"];\nfunction getNumberType(input, options, metadata2) {\n options = options || {};\n if (!input.country) {\n return;\n }\n metadata2 = new Metadata(metadata2);\n metadata2.selectNumberingPlan(input.country, input.countryCallingCode);\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n if (!matchesEntirely(nationalNumber, metadata2.nationalNumberPattern())) {\n return;\n }\n if (isNumberTypeEqualTo(nationalNumber, \"FIXED_LINE\", metadata2)) {\n if (metadata2.type(\"MOBILE\") && metadata2.type(\"MOBILE\").pattern() === \"\") {\n return \"FIXED_LINE_OR_MOBILE\";\n }\n if (!metadata2.type(\"MOBILE\")) {\n return \"FIXED_LINE_OR_MOBILE\";\n }\n if (isNumberTypeEqualTo(nationalNumber, \"MOBILE\", metadata2)) {\n return \"FIXED_LINE_OR_MOBILE\";\n }\n return \"FIXED_LINE\";\n }\n for (var _iterator = _createForOfIteratorHelperLoose$2(NON_FIXED_LINE_PHONE_TYPES), _step; !(_step = _iterator()).done; ) {\n var type = _step.value;\n if (isNumberTypeEqualTo(nationalNumber, type, metadata2)) {\n return type;\n }\n }\n}\nfunction isNumberTypeEqualTo(nationalNumber, type, metadata2) {\n type = metadata2.type(type);\n if (!type || !type.pattern()) {\n return false;\n }\n if (type.possibleLengths() && type.possibleLengths().indexOf(nationalNumber.length) < 0) {\n return false;\n }\n return matchesEntirely(nationalNumber, type.pattern());\n}\nfunction isValidNumber(input, options, metadata2) {\n options = options || {};\n metadata2 = new Metadata(metadata2);\n if (!input.country) {\n return false;\n }\n metadata2.selectNumberingPlan(input.country, input.countryCallingCode);\n if (metadata2.hasTypes()) {\n return getNumberType(input, options, metadata2.metadata) !== void 0;\n }\n var national_number = options.v2 ? input.nationalNumber : input.phone;\n return matchesEntirely(national_number, metadata2.nationalNumberPattern());\n}\nfunction applyInternationalSeparatorStyle(formattedNumber) {\n return formattedNumber.replace(new RegExp(\"[\".concat(VALID_PUNCTUATION, \"]+\"), \"g\"), \" \").trim();\n}\nvar FIRST_GROUP_PATTERN = /(\\$\\d)/;\nfunction formatNationalNumberUsingFormat(number, format, _ref) {\n var useInternationalFormat = _ref.useInternationalFormat, withNationalPrefix = _ref.withNationalPrefix;\n _ref.carrierCode;\n _ref.metadata;\n var formattedNumber = number.replace(new RegExp(format.pattern()), useInternationalFormat ? format.internationalFormat() : withNationalPrefix && format.nationalPrefixFormattingRule() ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()) : format.format());\n if (useInternationalFormat) {\n return applyInternationalSeparatorStyle(formattedNumber);\n }\n return formattedNumber;\n}\nvar SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/;\nfunction getIddPrefix(country, callingCode, metadata2) {\n var countryMetadata = new Metadata(metadata2);\n countryMetadata.selectNumberingPlan(country, callingCode);\n if (countryMetadata.defaultIDDPrefix()) {\n return countryMetadata.defaultIDDPrefix();\n }\n if (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\n return countryMetadata.IDDPrefix();\n }\n}\nfunction _createForOfIteratorHelperLoose$1(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it)\n return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it)\n o = it;\n var i = 0;\n return function() {\n if (i >= o.length)\n return { done: true };\n return { done: false, value: o[i++] };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray$2(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray$2(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray$2(o, minLen);\n}\nfunction _arrayLikeToArray$2(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nfunction ownKeys$4(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$4(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n i % 2 ? ownKeys$4(Object(source), true).forEach(function(key) {\n _defineProperty$4(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty$4(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar DEFAULT_OPTIONS = {\n formatExtension: function formatExtension(formattedNumber, extension, metadata2) {\n return \"\".concat(formattedNumber).concat(metadata2.ext()).concat(extension);\n }\n};\nfunction formatNumber(input, format, options, metadata2) {\n if (options) {\n options = _objectSpread$4(_objectSpread$4({}, DEFAULT_OPTIONS), options);\n } else {\n options = DEFAULT_OPTIONS;\n }\n metadata2 = new Metadata(metadata2);\n if (input.country && input.country !== \"001\") {\n if (!metadata2.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n metadata2.country(input.country);\n } else if (input.countryCallingCode) {\n metadata2.selectNumberingPlan(input.countryCallingCode);\n } else\n return input.phone || \"\";\n var countryCallingCode = metadata2.countryCallingCode();\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n var number;\n switch (format) {\n case \"NATIONAL\":\n if (!nationalNumber) {\n return \"\";\n }\n number = formatNationalNumber(nationalNumber, input.carrierCode, \"NATIONAL\", metadata2, options);\n return addExtension(number, input.ext, metadata2, options.formatExtension);\n case \"INTERNATIONAL\":\n if (!nationalNumber) {\n return \"+\".concat(countryCallingCode);\n }\n number = formatNationalNumber(nationalNumber, null, \"INTERNATIONAL\", metadata2, options);\n number = \"+\".concat(countryCallingCode, \" \").concat(number);\n return addExtension(number, input.ext, metadata2, options.formatExtension);\n case \"E.164\":\n return \"+\".concat(countryCallingCode).concat(nationalNumber);\n case \"RFC3966\":\n return formatRFC3966({\n number: \"+\".concat(countryCallingCode).concat(nationalNumber),\n ext: input.ext\n });\n case \"IDD\":\n if (!options.fromCountry) {\n return;\n }\n var formattedNumber = formatIDD(nationalNumber, input.carrierCode, countryCallingCode, options.fromCountry, metadata2);\n return addExtension(formattedNumber, input.ext, metadata2, options.formatExtension);\n default:\n throw new Error('Unknown \"format\" argument passed to \"formatNumber()\": \"'.concat(format, '\"'));\n }\n}\nfunction formatNationalNumber(number, carrierCode, formatAs, metadata2, options) {\n var format = chooseFormatForNumber(metadata2.formats(), number);\n if (!format) {\n return number;\n }\n return formatNationalNumberUsingFormat(number, format, {\n useInternationalFormat: formatAs === \"INTERNATIONAL\",\n withNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && options && options.nationalPrefix === false ? false : true,\n carrierCode,\n metadata: metadata2\n });\n}\nfunction chooseFormatForNumber(availableFormats, nationalNnumber) {\n for (var _iterator = _createForOfIteratorHelperLoose$1(availableFormats), _step; !(_step = _iterator()).done; ) {\n var format = _step.value;\n if (format.leadingDigitsPatterns().length > 0) {\n var lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1];\n if (nationalNnumber.search(lastLeadingDigitsPattern) !== 0) {\n continue;\n }\n }\n if (matchesEntirely(nationalNnumber, format.pattern())) {\n return format;\n }\n }\n}\nfunction addExtension(formattedNumber, ext, metadata2, formatExtension2) {\n return ext ? formatExtension2(formattedNumber, ext, metadata2) : formattedNumber;\n}\nfunction formatIDD(nationalNumber, carrierCode, countryCallingCode, fromCountry, metadata2) {\n var fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata2.metadata);\n if (fromCountryCallingCode === countryCallingCode) {\n var formattedNumber = formatNationalNumber(nationalNumber, carrierCode, \"NATIONAL\", metadata2);\n if (countryCallingCode === \"1\") {\n return countryCallingCode + \" \" + formattedNumber;\n }\n return formattedNumber;\n }\n var iddPrefix = getIddPrefix(fromCountry, void 0, metadata2.metadata);\n if (iddPrefix) {\n return \"\".concat(iddPrefix, \" \").concat(countryCallingCode, \" \").concat(formatNationalNumber(nationalNumber, null, \"INTERNATIONAL\", metadata2));\n }\n}\nfunction ownKeys$3(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$3(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n i % 2 ? ownKeys$3(Object(source), true).forEach(function(key) {\n _defineProperty$3(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty$3(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", { writable: false });\n return Constructor;\n}\nvar PhoneNumber = /* @__PURE__ */ function() {\n function PhoneNumber2(countryCallingCode, nationalNumber, metadata2) {\n _classCallCheck(this, PhoneNumber2);\n if (!countryCallingCode) {\n throw new TypeError(\"`country` or `countryCallingCode` not passed\");\n }\n if (!nationalNumber) {\n throw new TypeError(\"`nationalNumber` not passed\");\n }\n if (!metadata2) {\n throw new TypeError(\"`metadata` not passed\");\n }\n var _metadata = new Metadata(metadata2);\n if (isCountryCode(countryCallingCode)) {\n this.country = countryCallingCode;\n _metadata.country(countryCallingCode);\n countryCallingCode = _metadata.countryCallingCode();\n }\n this.countryCallingCode = countryCallingCode;\n this.nationalNumber = nationalNumber;\n this.number = \"+\" + this.countryCallingCode + this.nationalNumber;\n this.metadata = metadata2;\n }\n _createClass(PhoneNumber2, [{\n key: \"setExt\",\n value: function setExt(ext) {\n this.ext = ext;\n }\n }, {\n key: \"isPossible\",\n value: function isPossible() {\n return isPossiblePhoneNumber(this, {\n v2: true\n }, this.metadata);\n }\n }, {\n key: \"isValid\",\n value: function isValid() {\n return isValidNumber(this, {\n v2: true\n }, this.metadata);\n }\n }, {\n key: \"isNonGeographic\",\n value: function isNonGeographic() {\n var metadata2 = new Metadata(this.metadata);\n return metadata2.isNonGeographicCallingCode(this.countryCallingCode);\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(phoneNumber) {\n return this.number === phoneNumber.number && this.ext === phoneNumber.ext;\n }\n }, {\n key: \"getType\",\n value: function getType2() {\n return getNumberType(this, {\n v2: true\n }, this.metadata);\n }\n }, {\n key: \"format\",\n value: function format(_format, options) {\n return formatNumber(this, _format, options ? _objectSpread$3(_objectSpread$3({}, options), {}, {\n v2: true\n }) : {\n v2: true\n }, this.metadata);\n }\n }, {\n key: \"formatNational\",\n value: function formatNational(options) {\n return this.format(\"NATIONAL\", options);\n }\n }, {\n key: \"formatInternational\",\n value: function formatInternational(options) {\n return this.format(\"INTERNATIONAL\", options);\n }\n }, {\n key: \"getURI\",\n value: function getURI(options) {\n return this.format(\"RFC3966\", options);\n }\n }]);\n return PhoneNumber2;\n}();\nvar isCountryCode = function isCountryCode2(value) {\n return /^[A-Z]{2}$/.test(value);\n};\nvar CAPTURING_DIGIT_PATTERN = new RegExp(\"([\" + VALID_DIGITS + \"])\");\nfunction stripIddPrefix(number, country, callingCode, metadata2) {\n if (!country) {\n return;\n }\n var countryMetadata = new Metadata(metadata2);\n countryMetadata.selectNumberingPlan(country, callingCode);\n var IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix());\n if (number.search(IDDPrefixPattern) !== 0) {\n return;\n }\n number = number.slice(number.match(IDDPrefixPattern)[0].length);\n var matchedGroups = number.match(CAPTURING_DIGIT_PATTERN);\n if (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\n if (matchedGroups[1] === \"0\") {\n return;\n }\n }\n return number;\n}\nfunction extractNationalNumberFromPossiblyIncompleteNumber(number, metadata2) {\n if (number && metadata2.numberingPlan.nationalPrefixForParsing()) {\n var prefixPattern = new RegExp(\"^(?:\" + metadata2.numberingPlan.nationalPrefixForParsing() + \")\");\n var prefixMatch = prefixPattern.exec(number);\n if (prefixMatch) {\n var nationalNumber;\n var carrierCode;\n var capturedGroupsCount = prefixMatch.length - 1;\n var hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount];\n if (metadata2.nationalPrefixTransformRule() && hasCapturedGroups) {\n nationalNumber = number.replace(prefixPattern, metadata2.nationalPrefixTransformRule());\n if (capturedGroupsCount > 1) {\n carrierCode = prefixMatch[1];\n }\n } else {\n var prefixBeforeNationalNumber = prefixMatch[0];\n nationalNumber = number.slice(prefixBeforeNationalNumber.length);\n if (hasCapturedGroups) {\n carrierCode = prefixMatch[1];\n }\n }\n var nationalPrefix;\n if (hasCapturedGroups) {\n var possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1]);\n var possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup);\n if (possibleNationalPrefix === metadata2.numberingPlan.nationalPrefix()) {\n nationalPrefix = metadata2.numberingPlan.nationalPrefix();\n }\n } else {\n nationalPrefix = prefixMatch[0];\n }\n return {\n nationalNumber,\n nationalPrefix,\n carrierCode\n };\n }\n }\n return {\n nationalNumber: number\n };\n}\nfunction extractNationalNumber(number, metadata2) {\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(number, metadata2), carrierCode = _extractNationalNumbe.carrierCode, nationalNumber = _extractNationalNumbe.nationalNumber;\n if (nationalNumber !== number) {\n if (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata2)) {\n return {\n nationalNumber: number\n };\n }\n if (metadata2.possibleLengths()) {\n if (!isPossibleIncompleteNationalNumber(nationalNumber, metadata2)) {\n return {\n nationalNumber: number\n };\n }\n }\n }\n return {\n nationalNumber,\n carrierCode\n };\n}\nfunction shouldHaveExtractedNationalPrefix(nationalNumberBefore, nationalNumberAfter, metadata2) {\n if (matchesEntirely(nationalNumberBefore, metadata2.nationalNumberPattern()) && !matchesEntirely(nationalNumberAfter, metadata2.nationalNumberPattern())) {\n return false;\n }\n return true;\n}\nfunction isPossibleIncompleteNationalNumber(nationalNumber, metadata2) {\n switch (checkNumberLength(nationalNumber, metadata2)) {\n case \"TOO_SHORT\":\n case \"INVALID_LENGTH\":\n return false;\n default:\n return true;\n }\n}\nfunction extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata2) {\n var countryCallingCode = country ? getCountryCallingCode(country, metadata2) : callingCode;\n if (number.indexOf(countryCallingCode) === 0) {\n metadata2 = new Metadata(metadata2);\n metadata2.selectNumberingPlan(country, callingCode);\n var possibleShorterNumber = number.slice(countryCallingCode.length);\n var _extractNationalNumbe = extractNationalNumber(possibleShorterNumber, metadata2), possibleShorterNationalNumber = _extractNationalNumbe.nationalNumber;\n var _extractNationalNumbe2 = extractNationalNumber(number, metadata2), nationalNumber = _extractNationalNumbe2.nationalNumber;\n if (!matchesEntirely(nationalNumber, metadata2.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata2.nationalNumberPattern()) || checkNumberLength(nationalNumber, metadata2) === \"TOO_LONG\") {\n return {\n countryCallingCode,\n number: possibleShorterNumber\n };\n }\n }\n return {\n number\n };\n}\nfunction extractCountryCallingCode(number, country, callingCode, metadata2) {\n if (!number) {\n return {};\n }\n if (number[0] !== \"+\") {\n var numberWithoutIDD = stripIddPrefix(number, country, callingCode, metadata2);\n if (numberWithoutIDD && numberWithoutIDD !== number) {\n number = \"+\" + numberWithoutIDD;\n } else {\n if (country || callingCode) {\n var _extractCountryCallin = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata2), countryCallingCode = _extractCountryCallin.countryCallingCode, shorterNumber = _extractCountryCallin.number;\n if (countryCallingCode) {\n return {\n countryCallingCode,\n number: shorterNumber\n };\n }\n }\n return {\n number\n };\n }\n }\n if (number[1] === \"0\") {\n return {};\n }\n metadata2 = new Metadata(metadata2);\n var i = 2;\n while (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\n var _countryCallingCode = number.slice(1, i);\n if (metadata2.hasCallingCode(_countryCallingCode)) {\n metadata2.selectNumberingPlan(_countryCallingCode);\n return {\n countryCallingCode: _countryCallingCode,\n number: number.slice(i)\n };\n }\n i++;\n }\n return {};\n}\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it)\n return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it)\n o = it;\n var i = 0;\n return function() {\n if (i >= o.length)\n return { done: true };\n return { done: false, value: o[i++] };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray$1(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray$1(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray$1(o, minLen);\n}\nfunction _arrayLikeToArray$1(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\nfunction getCountryByCallingCode(callingCode, nationalPhoneNumber, metadata2) {\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata2.isNonGeographicCallingCode(callingCode)) {\n return \"001\";\n }\n }\n var possibleCountries = metadata2.getCountryCodesForCallingCode(callingCode);\n if (!possibleCountries) {\n return;\n }\n if (possibleCountries.length === 1) {\n return possibleCountries[0];\n }\n return selectCountryFromList(possibleCountries, nationalPhoneNumber, metadata2.metadata);\n}\nfunction selectCountryFromList(possibleCountries, nationalPhoneNumber, metadata2) {\n metadata2 = new Metadata(metadata2);\n for (var _iterator = _createForOfIteratorHelperLoose(possibleCountries), _step; !(_step = _iterator()).done; ) {\n var country = _step.value;\n metadata2.country(country);\n if (metadata2.leadingDigits()) {\n if (nationalPhoneNumber && nationalPhoneNumber.search(metadata2.leadingDigits()) === 0) {\n return country;\n }\n } else if (getNumberType({\n phone: nationalPhoneNumber,\n country\n }, void 0, metadata2.metadata)) {\n return country;\n }\n }\n}\nvar MAX_INPUT_STRING_LENGTH = 250;\nvar PHONE_NUMBER_START_PATTERN = new RegExp(\"[\" + PLUS_CHARS + VALID_DIGITS + \"]\");\nvar AFTER_PHONE_NUMBER_END_PATTERN = new RegExp(\"[^\" + VALID_DIGITS + \"#]+$\");\nfunction parse(text, options, metadata2) {\n options = options || {};\n metadata2 = new Metadata(metadata2);\n if (options.defaultCountry && !metadata2.hasCountry(options.defaultCountry)) {\n if (options.v2) {\n throw new ParseError(\"INVALID_COUNTRY\");\n }\n throw new Error(\"Unknown country: \".concat(options.defaultCountry));\n }\n var _parseInput = parseInput(text, options.v2, options.extract), formattedPhoneNumber = _parseInput.number, ext = _parseInput.ext, error = _parseInput.error;\n if (!formattedPhoneNumber) {\n if (options.v2) {\n if (error === \"TOO_SHORT\") {\n throw new ParseError(\"TOO_SHORT\");\n }\n throw new ParseError(\"NOT_A_NUMBER\");\n }\n return {};\n }\n var _parsePhoneNumber = parsePhoneNumber$1(formattedPhoneNumber, options.defaultCountry, options.defaultCallingCode, metadata2), country = _parsePhoneNumber.country, nationalNumber = _parsePhoneNumber.nationalNumber, countryCallingCode = _parsePhoneNumber.countryCallingCode, carrierCode = _parsePhoneNumber.carrierCode;\n if (!metadata2.hasSelectedNumberingPlan()) {\n if (options.v2) {\n throw new ParseError(\"INVALID_COUNTRY\");\n }\n return {};\n }\n if (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\n if (options.v2) {\n throw new ParseError(\"TOO_SHORT\");\n }\n return {};\n }\n if (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\n if (options.v2) {\n throw new ParseError(\"TOO_LONG\");\n }\n return {};\n }\n if (options.v2) {\n var phoneNumber = new PhoneNumber(countryCallingCode, nationalNumber, metadata2.metadata);\n if (country) {\n phoneNumber.country = country;\n }\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n }\n if (ext) {\n phoneNumber.ext = ext;\n }\n return phoneNumber;\n }\n var valid = (options.extended ? metadata2.hasSelectedNumberingPlan() : country) ? matchesEntirely(nationalNumber, metadata2.nationalNumberPattern()) : false;\n if (!options.extended) {\n return valid ? result(country, nationalNumber, ext) : {};\n }\n return {\n country,\n countryCallingCode,\n carrierCode,\n valid,\n possible: valid ? true : options.extended === true && metadata2.possibleLengths() && isPossibleNumber(nationalNumber, metadata2) ? true : false,\n phone: nationalNumber,\n ext\n };\n}\nfunction extractFormattedPhoneNumber(text, extract, throwOnError) {\n if (!text) {\n return;\n }\n if (text.length > MAX_INPUT_STRING_LENGTH) {\n if (throwOnError) {\n throw new ParseError(\"TOO_LONG\");\n }\n return;\n }\n if (extract === false) {\n return text;\n }\n var startsAt = text.search(PHONE_NUMBER_START_PATTERN);\n if (startsAt < 0) {\n return;\n }\n return text.slice(startsAt).replace(AFTER_PHONE_NUMBER_END_PATTERN, \"\");\n}\nfunction parseInput(text, v2, extract) {\n if (text && text.indexOf(\"tel:\") === 0) {\n return parseRFC3966(text);\n }\n var number = extractFormattedPhoneNumber(text, extract, v2);\n if (!number) {\n return {};\n }\n if (!isViablePhoneNumber(number)) {\n if (isViablePhoneNumberStart(number)) {\n return {\n error: \"TOO_SHORT\"\n };\n }\n return {};\n }\n var withExtensionStripped = extractExtension(number);\n if (withExtensionStripped.ext) {\n return withExtensionStripped;\n }\n return {\n number\n };\n}\nfunction result(country, nationalNumber, ext) {\n var result2 = {\n country,\n phone: nationalNumber\n };\n if (ext) {\n result2.ext = ext;\n }\n return result2;\n}\nfunction parsePhoneNumber$1(formattedPhoneNumber, defaultCountry, defaultCallingCode, metadata2) {\n var _extractCountryCallin = extractCountryCallingCode(parseIncompletePhoneNumber(formattedPhoneNumber), defaultCountry, defaultCallingCode, metadata2.metadata), countryCallingCode = _extractCountryCallin.countryCallingCode, number = _extractCountryCallin.number;\n var country;\n if (countryCallingCode) {\n metadata2.selectNumberingPlan(countryCallingCode);\n } else if (number && (defaultCountry || defaultCallingCode)) {\n metadata2.selectNumberingPlan(defaultCountry, defaultCallingCode);\n if (defaultCountry) {\n country = defaultCountry;\n }\n countryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata2.metadata);\n } else\n return {};\n if (!number) {\n return {\n countryCallingCode\n };\n }\n var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number), metadata2), nationalNumber = _extractNationalNumbe.nationalNumber, carrierCode = _extractNationalNumbe.carrierCode;\n var exactCountry = getCountryByCallingCode(countryCallingCode, nationalNumber, metadata2);\n if (exactCountry) {\n country = exactCountry;\n if (exactCountry === \"001\")\n ;\n else {\n metadata2.country(country);\n }\n }\n return {\n country,\n countryCallingCode,\n nationalNumber,\n carrierCode\n };\n}\nfunction ownKeys$2(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n i % 2 ? ownKeys$2(Object(source), true).forEach(function(key) {\n _defineProperty$2(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty$2(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction parsePhoneNumber(text, options, metadata2) {\n return parse(text, _objectSpread$2(_objectSpread$2({}, options), {}, {\n v2: true\n }), metadata2);\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n return _typeof = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(obj2) {\n return typeof obj2;\n } : function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n}\nfunction ownKeys$1(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$1(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n i % 2 ? ownKeys$1(Object(source), true).forEach(function(key) {\n _defineProperty$1(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty$1(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null)\n return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i)\n break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null)\n _i[\"return\"]();\n } finally {\n if (_d)\n throw _e;\n }\n }\n return _arr;\n}\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr))\n return arr;\n}\nfunction normalizeArguments(args) {\n var _Array$prototype$slic = Array.prototype.slice.call(args), _Array$prototype$slic2 = _slicedToArray(_Array$prototype$slic, 4), arg_1 = _Array$prototype$slic2[0], arg_2 = _Array$prototype$slic2[1], arg_3 = _Array$prototype$slic2[2], arg_4 = _Array$prototype$slic2[3];\n var text;\n var options;\n var metadata2;\n if (typeof arg_1 === \"string\") {\n text = arg_1;\n } else\n throw new TypeError(\"A text for parsing must be a string.\");\n if (!arg_2 || typeof arg_2 === \"string\") {\n if (arg_4) {\n options = arg_3;\n metadata2 = arg_4;\n } else {\n options = void 0;\n metadata2 = arg_3;\n }\n if (arg_2) {\n options = _objectSpread$1({\n defaultCountry: arg_2\n }, options);\n }\n } else if (isObject(arg_2)) {\n if (arg_3) {\n options = arg_2;\n metadata2 = arg_3;\n } else {\n metadata2 = arg_2;\n }\n } else\n throw new Error(\"Invalid second argument: \".concat(arg_2));\n return {\n text,\n options,\n metadata: metadata2\n };\n}\nvar isObject = function isObject2(_) {\n return _typeof(_) === \"object\";\n};\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), true).forEach(function(key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction parsePhoneNumberFromString$2(text, options, metadata2) {\n if (options && options.defaultCountry && !isSupportedCountry(options.defaultCountry, metadata2)) {\n options = _objectSpread(_objectSpread({}, options), {}, {\n defaultCountry: void 0\n });\n }\n try {\n return parsePhoneNumber(text, options, metadata2);\n } catch (error) {\n if (error instanceof ParseError)\n ;\n else {\n throw error;\n }\n }\n}\nfunction parsePhoneNumberFromString$1() {\n var _normalizeArguments = normalizeArguments(arguments), text = _normalizeArguments.text, options = _normalizeArguments.options, metadata2 = _normalizeArguments.metadata;\n return parsePhoneNumberFromString$2(text, options, metadata2);\n}\nfunction parsePhoneNumberFromString() {\n return withMetadataArgument(parsePhoneNumberFromString$1, arguments);\n}\nvar clickOutside = {\n beforeMount(el, binding, vNode) {\n if (typeof binding.value !== \"function\") {\n const compName = vNode.context.name;\n let warn = `[Vue-click-outside:] provided expression ${binding.expression} is not a function, but has to be`;\n if (compName) {\n warn += `Found in component ${compName}`;\n }\n console.warn(warn);\n }\n el.clickOutsideEvent = function(event) {\n if (!(el === event.target || el.contains(event.target))) {\n binding.value(event, el);\n }\n };\n document.body.addEventListener(\"click\", el.clickOutsideEvent);\n },\n unmounted(el) {\n document.body.removeEventListener(\"click\", el.clickOutsideEvent);\n }\n};\nvar sprite_css_vue_type_style_index_0_src_5851b83d_lang = /* @__PURE__ */ (() => \".vti__flag{width:20px}.vti__flag.be{width:18px}.vti__flag.ch{width:15px}.vti__flag.mc{width:19px}.vti__flag.ne{width:18px}.vti__flag.np{width:13px}.vti__flag.va{width:15px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx){.vti__flag{background-size:5630px 15px}}.vti__flag.ac{height:10px;background-position:0px 0px}.vti__flag.ad{height:14px;background-position:-22px 0px}.vti__flag.ae{height:10px;background-position:-44px 0px}.vti__flag.af{height:14px;background-position:-66px 0px}.vti__flag.ag{height:14px;background-position:-88px 0px}.vti__flag.ai{height:10px;background-position:-110px 0px}.vti__flag.al{height:15px;background-position:-132px 0px}.vti__flag.am{height:10px;background-position:-154px 0px}.vti__flag.ao{height:14px;background-position:-176px 0px}.vti__flag.aq{height:14px;background-position:-198px 0px}.vti__flag.ar{height:13px;background-position:-220px 0px}.vti__flag.as{height:10px;background-position:-242px 0px}.vti__flag.at{height:14px;background-position:-264px 0px}.vti__flag.au{height:10px;background-position:-286px 0px}.vti__flag.aw{height:14px;background-position:-308px 0px}.vti__flag.ax{height:13px;background-position:-330px 0px}.vti__flag.az{height:10px;background-position:-352px 0px}.vti__flag.ba{height:10px;background-position:-374px 0px}.vti__flag.bb{height:14px;background-position:-396px 0px}.vti__flag.bd{height:12px;background-position:-418px 0px}.vti__flag.be{height:15px;background-position:-440px 0px}.vti__flag.bf{height:14px;background-position:-460px 0px}.vti__flag.bg{height:12px;background-position:-482px 0px}.vti__flag.bh{height:12px;background-position:-504px 0px}.vti__flag.bi{height:12px;background-position:-526px 0px}.vti__flag.bj{height:14px;background-position:-548px 0px}.vti__flag.bl{height:14px;background-position:-570px 0px}.vti__flag.bm{height:10px;background-position:-592px 0px}.vti__flag.bn{height:10px;background-position:-614px 0px}.vti__flag.bo{height:14px;background-position:-636px 0px}.vti__flag.bq{height:14px;background-position:-658px 0px}.vti__flag.br{height:14px;background-position:-680px 0px}.vti__flag.bs{height:10px;background-position:-702px 0px}.vti__flag.bt{height:14px;background-position:-724px 0px}.vti__flag.bv{height:15px;background-position:-746px 0px}.vti__flag.bw{height:14px;background-position:-768px 0px}.vti__flag.by{height:10px;background-position:-790px 0px}.vti__flag.bz{height:14px;background-position:-812px 0px}.vti__flag.ca{height:10px;background-position:-834px 0px}.vti__flag.cc{height:10px;background-position:-856px 0px}.vti__flag.cd{height:15px;background-position:-878px 0px}.vti__flag.cf{height:14px;background-position:-900px 0px}.vti__flag.cg{height:14px;background-position:-922px 0px}.vti__flag.ch{height:15px;background-position:-944px 0px}.vti__flag.ci{height:14px;background-position:-961px 0px}.vti__flag.ck{height:10px;background-position:-983px 0px}.vti__flag.cl{height:14px;background-position:-1005px 0px}.vti__flag.cm{height:14px;background-position:-1027px 0px}.vti__flag.cn{height:14px;background-position:-1049px 0px}.vti__flag.co{height:14px;background-position:-1071px 0px}.vti__flag.cp{height:14px;background-position:-1093px 0px}.vti__flag.cr{height:12px;background-position:-1115px 0px}.vti__flag.cu{height:10px;background-position:-1137px 0px}.vti__flag.cv{height:12px;background-position:-1159px 0px}.vti__flag.cw{height:14px;background-position:-1181px 0px}.vti__flag.cx{height:10px;background-position:-1203px 0px}.vti__flag.cy{height:14px;background-position:-1225px 0px}.vti__flag.cz{height:14px;background-position:-1247px 0px}.vti__flag.de{height:12px;background-position:-1269px 0px}.vti__flag.dg{height:10px;background-position:-1291px 0px}.vti__flag.dj{height:14px;background-position:-1313px 0px}.vti__flag.dk{height:15px;background-position:-1335px 0px}.vti__flag.dm{height:10px;background-position:-1357px 0px}.vti__flag.do{height:13px;background-position:-1379px 0px}.vti__flag.dz{height:14px;background-position:-1401px 0px}.vti__flag.ea{height:14px;background-position:-1423px 0px}.vti__flag.ec{height:14px;background-position:-1445px 0px}.vti__flag.ee{height:13px;background-position:-1467px 0px}.vti__flag.eg{height:14px;background-position:-1489px 0px}.vti__flag.eh{height:10px;background-position:-1511px 0px}.vti__flag.er{height:10px;background-position:-1533px 0px}.vti__flag.es{height:14px;background-position:-1555px 0px}.vti__flag.et{height:10px;background-position:-1577px 0px}.vti__flag.eu{height:14px;background-position:-1599px 0px}.vti__flag.fi{height:12px;background-position:-1621px 0px}.vti__flag.fj{height:10px;background-position:-1643px 0px}.vti__flag.fk{height:10px;background-position:-1665px 0px}.vti__flag.fm{height:11px;background-position:-1687px 0px}.vti__flag.fo{height:15px;background-position:-1709px 0px}.vti__flag.fr{height:14px;background-position:-1731px 0px}.vti__flag.ga{height:15px;background-position:-1753px 0px}.vti__flag.gb{height:10px;background-position:-1775px 0px}.vti__flag.gd{height:12px;background-position:-1797px 0px}.vti__flag.ge{height:14px;background-position:-1819px 0px}.vti__flag.gf{height:14px;background-position:-1841px 0px}.vti__flag.gg{height:14px;background-position:-1863px 0px}.vti__flag.gh{height:14px;background-position:-1885px 0px}.vti__flag.gi{height:10px;background-position:-1907px 0px}.vti__flag.gl{height:14px;background-position:-1929px 0px}.vti__flag.gm{height:14px;background-position:-1951px 0px}.vti__flag.gn{height:14px;background-position:-1973px 0px}.vti__flag.gp{height:14px;background-position:-1995px 0px}.vti__flag.gq{height:14px;background-position:-2017px 0px}.vti__flag.gr{height:14px;background-position:-2039px 0px}.vti__flag.gs{height:10px;background-position:-2061px 0px}.vti__flag.gt{height:13px;background-position:-2083px 0px}.vti__flag.gu{height:11px;background-position:-2105px 0px}.vti__flag.gw{height:10px;background-position:-2127px 0px}.vti__flag.gy{height:12px;background-position:-2149px 0px}.vti__flag.hk{height:14px;background-position:-2171px 0px}.vti__flag.hm{height:10px;background-position:-2193px 0px}.vti__flag.hn{height:10px;background-position:-2215px 0px}.vti__flag.hr{height:10px;background-position:-2237px 0px}.vti__flag.ht{height:12px;background-position:-2259px 0px}.vti__flag.hu{height:10px;background-position:-2281px 0px}.vti__flag.ic{height:14px;background-position:-2303px 0px}.vti__flag.id{height:14px;background-position:-2325px 0px}.vti__flag.ie{height:10px;background-position:-2347px 0px}.vti__flag.il{height:15px;background-position:-2369px 0px}.vti__flag.im{height:10px;background-position:-2391px 0px}.vti__flag.in{height:14px;background-position:-2413px 0px}.vti__flag.io{height:10px;background-position:-2435px 0px}.vti__flag.iq{height:14px;background-position:-2457px 0px}.vti__flag.ir{height:12px;background-position:-2479px 0px}.vti__flag.is{height:15px;background-position:-2501px 0px}.vti__flag.it{height:14px;background-position:-2523px 0px}.vti__flag.je{height:12px;background-position:-2545px 0px}.vti__flag.jm{height:10px;background-position:-2567px 0px}.vti__flag.jo{height:10px;background-position:-2589px 0px}.vti__flag.jp{height:14px;background-position:-2611px 0px}.vti__flag.ke{height:14px;background-position:-2633px 0px}.vti__flag.kg{height:12px;background-position:-2655px 0px}.vti__flag.kh{height:13px;background-position:-2677px 0px}.vti__flag.ki{height:10px;background-position:-2699px 0px}.vti__flag.km{height:12px;background-position:-2721px 0px}.vti__flag.kn{height:14px;background-position:-2743px 0px}.vti__flag.kp{height:10px;background-position:-2765px 0px}.vti__flag.kr{height:14px;background-position:-2787px 0px}.vti__flag.kw{height:10px;background-position:-2809px 0px}.vti__flag.ky{height:10px;background-position:-2831px 0px}.vti__flag.kz{height:10px;background-position:-2853px 0px}.vti__flag.la{height:14px;background-position:-2875px 0px}.vti__flag.lb{height:14px;background-position:-2897px 0px}.vti__flag.lc{height:10px;background-position:-2919px 0px}.vti__flag.li{height:12px;background-position:-2941px 0px}.vti__flag.lk{height:10px;background-position:-2963px 0px}.vti__flag.lr{height:11px;background-position:-2985px 0px}.vti__flag.ls{height:14px;background-position:-3007px 0px}.vti__flag.lt{height:12px;background-position:-3029px 0px}.vti__flag.lu{height:12px;background-position:-3051px 0px}.vti__flag.lv{height:10px;background-position:-3073px 0px}.vti__flag.ly{height:10px;background-position:-3095px 0px}.vti__flag.ma{height:14px;background-position:-3117px 0px}.vti__flag.mc{height:15px;background-position:-3139px 0px}.vti__flag.md{height:10px;background-position:-3160px 0px}.vti__flag.me{height:10px;background-position:-3182px 0px}.vti__flag.mf{height:14px;background-position:-3204px 0px}.vti__flag.mg{height:14px;background-position:-3226px 0px}.vti__flag.mh{height:11px;background-position:-3248px 0px}.vti__flag.mk{height:10px;background-position:-3270px 0px}.vti__flag.ml{height:14px;background-position:-3292px 0px}.vti__flag.mm{height:14px;background-position:-3314px 0px}.vti__flag.mn{height:10px;background-position:-3336px 0px}.vti__flag.mo{height:14px;background-position:-3358px 0px}.vti__flag.mp{height:10px;background-position:-3380px 0px}.vti__flag.mq{height:14px;background-position:-3402px 0px}.vti__flag.mr{height:14px;background-position:-3424px 0px}.vti__flag.ms{height:10px;background-position:-3446px 0px}.vti__flag.mt{height:14px;background-position:-3468px 0px}.vti__flag.mu{height:14px;background-position:-3490px 0px}.vti__flag.mv{height:14px;background-position:-3512px 0px}.vti__flag.mw{height:14px;background-position:-3534px 0px}.vti__flag.mx{height:12px;background-position:-3556px 0px}.vti__flag.my{height:10px;background-position:-3578px 0px}.vti__flag.mz{height:14px;background-position:-3600px 0px}.vti__flag.na{height:14px;background-position:-3622px 0px}.vti__flag.nc{height:10px;background-position:-3644px 0px}.vti__flag.ne{height:15px;background-position:-3666px 0px}.vti__flag.nf{height:10px;background-position:-3686px 0px}.vti__flag.ng{height:10px;background-position:-3708px 0px}.vti__flag.ni{height:12px;background-position:-3730px 0px}.vti__flag.nl{height:14px;background-position:-3752px 0px}.vti__flag.no{height:15px;background-position:-3774px 0px}.vti__flag.np{height:15px;background-position:-3796px 0px}.vti__flag.nr{height:10px;background-position:-3811px 0px}.vti__flag.nu{height:10px;background-position:-3833px 0px}.vti__flag.nz{height:10px;background-position:-3855px 0px}.vti__flag.om{height:10px;background-position:-3877px 0px}.vti__flag.pa{height:14px;background-position:-3899px 0px}.vti__flag.pe{height:14px;background-position:-3921px 0px}.vti__flag.pf{height:14px;background-position:-3943px 0px}.vti__flag.pg{height:15px;background-position:-3965px 0px}.vti__flag.ph{height:10px;background-position:-3987px 0px}.vti__flag.pk{height:14px;background-position:-4009px 0px}.vti__flag.pl{height:13px;background-position:-4031px 0px}.vti__flag.pm{height:14px;background-position:-4053px 0px}.vti__flag.pn{height:10px;background-position:-4075px 0px}.vti__flag.pr{height:14px;background-position:-4097px 0px}.vti__flag.ps{height:10px;background-position:-4119px 0px}.vti__flag.pt{height:14px;background-position:-4141px 0px}.vti__flag.pw{height:13px;background-position:-4163px 0px}.vti__flag.py{height:11px;background-position:-4185px 0px}.vti__flag.qa{height:8px;background-position:-4207px 0px}.vti__flag.re{height:14px;background-position:-4229px 0px}.vti__flag.ro{height:14px;background-position:-4251px 0px}.vti__flag.rs{height:14px;background-position:-4273px 0px}.vti__flag.ru{height:14px;background-position:-4295px 0px}.vti__flag.rw{height:14px;background-position:-4317px 0px}.vti__flag.sa{height:14px;background-position:-4339px 0px}.vti__flag.sb{height:10px;background-position:-4361px 0px}.vti__flag.sc{height:10px;background-position:-4383px 0px}.vti__flag.sd{height:10px;background-position:-4405px 0px}.vti__flag.se{height:13px;background-position:-4427px 0px}.vti__flag.sg{height:14px;background-position:-4449px 0px}.vti__flag.sh{height:10px;background-position:-4471px 0px}.vti__flag.si{height:10px;background-position:-4493px 0px}.vti__flag.sj{height:15px;background-position:-4515px 0px}.vti__flag.sk{height:14px;background-position:-4537px 0px}.vti__flag.sl{height:14px;background-position:-4559px 0px}.vti__flag.sm{height:15px;background-position:-4581px 0px}.vti__flag.sn{height:14px;background-position:-4603px 0px}.vti__flag.so{height:14px;background-position:-4625px 0px}.vti__flag.sr{height:14px;background-position:-4647px 0px}.vti__flag.ss{height:10px;background-position:-4669px 0px}.vti__flag.st{height:10px;background-position:-4691px 0px}.vti__flag.sv{height:12px;background-position:-4713px 0px}.vti__flag.sx{height:14px;background-position:-4735px 0px}.vti__flag.sy{height:14px;background-position:-4757px 0px}.vti__flag.sz{height:14px;background-position:-4779px 0px}.vti__flag.ta{height:10px;background-position:-4801px 0px}.vti__flag.tc{height:10px;background-position:-4823px 0px}.vti__flag.td{height:14px;background-position:-4845px 0px}.vti__flag.tf{height:14px;background-position:-4867px 0px}.vti__flag.tg{height:13px;background-position:-4889px 0px}.vti__flag.th{height:14px;background-position:-4911px 0px}.vti__flag.tj{height:10px;background-position:-4933px 0px}.vti__flag.tk{height:10px;background-position:-4955px 0px}.vti__flag.tl{height:10px;background-position:-4977px 0px}.vti__flag.tm{height:14px;background-position:-4999px 0px}.vti__flag.tn{height:14px;background-position:-5021px 0px}.vti__flag.to{height:10px;background-position:-5043px 0px}.vti__flag.tr{height:14px;background-position:-5065px 0px}.vti__flag.tt{height:12px;background-position:-5087px 0px}.vti__flag.tv{height:10px;background-position:-5109px 0px}.vti__flag.tw{height:14px;background-position:-5131px 0px}.vti__flag.tz{height:14px;background-position:-5153px 0px}.vti__flag.ua{height:14px;background-position:-5175px 0px}.vti__flag.ug{height:14px;background-position:-5197px 0px}.vti__flag.um{height:11px;background-position:-5219px 0px}.vti__flag.us{height:11px;background-position:-5241px 0px}.vti__flag.uy{height:14px;background-position:-5263px 0px}.vti__flag.uz{height:10px;background-position:-5285px 0px}.vti__flag.va{height:15px;background-position:-5307px 0px}.vti__flag.vc{height:14px;background-position:-5324px 0px}.vti__flag.ve{height:14px;background-position:-5346px 0px}.vti__flag.vg{height:10px;background-position:-5368px 0px}.vti__flag.vi{height:14px;background-position:-5390px 0px}.vti__flag.vn{height:14px;background-position:-5412px 0px}.vti__flag.vu{height:12px;background-position:-5434px 0px}.vti__flag.wf{height:14px;background-position:-5456px 0px}.vti__flag.ws{height:10px;background-position:-5478px 0px}.vti__flag.xk{height:15px;background-position:-5500px 0px}.vti__flag.ye{height:14px;background-position:-5522px 0px}.vti__flag.yt{height:14px;background-position:-5544px 0px}.vti__flag.za{height:14px;background-position:-5566px 0px}.vti__flag.zm{height:14px;background-position:-5588px 0px}.vti__flag.zw{height:10px;background-position:-5610px 0px}.vti__flag{width:20px;height:15px;box-shadow:0 0 1px #888;background-image:url(data:image/png;base64,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);background-repeat:no-repeat;background-color:#dbdbdb;background-position:20px 0}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx){.vti__flag{background-image:url(data:image/png;base64,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)}}.vti__flag.np{background-color:transparent}\\n\")();\nvar component_css_vue_type_style_index_1_src_5851b83d_lang = /* @__PURE__ */ (() => \".vue-tel-input{border-radius:3px;display:flex;border:1px solid #bbb;text-align:left}.vue-tel-input.disabled .selection,.vue-tel-input.disabled .dropdown,.vue-tel-input.disabled input{cursor:no-drop}.vue-tel-input:focus-within{box-shadow:inset 0 1px 1px #00000013,0 0 8px #66afe999;border-color:#66afe9}.vti__dropdown{display:flex;flex-direction:column;align-content:center;justify-content:center;position:relative;padding:7px;cursor:pointer}.vti__dropdown.show{max-height:300px;overflow:scroll}.vti__dropdown.open{background-color:#f3f3f3}.vti__dropdown.disabled{cursor:no-drop;outline:none;background-color:#f3f3f3}.vti__dropdown:hover{background-color:#f3f3f3}.vti__selection{font-size:.8em;display:flex;align-items:center}.vti__selection .vti__country-code{color:#666}.vti__flag{margin-right:5px;margin-left:5px}.vti__dropdown-list{z-index:1;padding:0;margin:0;text-align:left;list-style:none;max-height:200px;overflow-y:scroll;position:absolute;left:-1px;background-color:#fff;border:1px solid #ccc;width:390px}.vti__dropdown-list.below{top:33px}.vti__dropdown-list.above{top:auto;bottom:100%}.vti__dropdown-arrow{transform:scaleY(.5);display:inline-block;color:#666}.vti__dropdown-item{cursor:pointer;padding:4px 15px}.vti__dropdown-item.highlighted{background-color:#f3f3f3}.vti__dropdown-item.last-preferred{border-bottom:1px solid #cacaca}.vti__dropdown-item .vti__flag{display:inline-block;margin-right:5px}.vti__input{border:none;border-radius:0 2px 2px 0;width:100%;outline:none;padding-left:7px}\\n\")();\nvar _export_sfc = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\nfunction getDefault(key) {\n const value = utils.options[key];\n if (typeof value === \"undefined\") {\n return utils.options[key];\n }\n return value;\n}\nconst _sfc_main = {\n name: \"VueTelInput\",\n directives: {\n clickOutside\n },\n props: {\n modelValue: {\n type: String,\n default: \"\"\n },\n allCountries: {\n type: Array,\n default: () => getDefault(\"allCountries\")\n },\n autoFormat: {\n type: Boolean,\n default: () => getDefault(\"autoFormat\")\n },\n customValidate: {\n type: [Boolean, RegExp],\n default: () => getDefault(\"customValidate\")\n },\n defaultCountry: {\n type: [String, Number],\n default: () => getDefault(\"defaultCountry\")\n },\n disabled: {\n type: Boolean,\n default: () => getDefault(\"disabled\")\n },\n autoDefaultCountry: {\n type: Boolean,\n default: () => getDefault(\"autoDefaultCountry\")\n },\n dropdownOptions: {\n type: Object,\n default: () => getDefault(\"dropdownOptions\")\n },\n ignoredCountries: {\n type: Array,\n default: () => getDefault(\"ignoredCountries\")\n },\n inputOptions: {\n type: Object,\n default: () => getDefault(\"inputOptions\")\n },\n invalidMsg: {\n type: String,\n default: () => getDefault(\"invalidMsg\")\n },\n mode: {\n type: String,\n default: () => getDefault(\"mode\")\n },\n onlyCountries: {\n type: Array,\n default: () => getDefault(\"onlyCountries\")\n },\n preferredCountries: {\n type: Array,\n default: () => getDefault(\"preferredCountries\")\n },\n validCharactersOnly: {\n type: Boolean,\n default: () => getDefault(\"validCharactersOnly\")\n },\n styleClasses: {\n type: [String, Array, Object],\n default: () => getDefault(\"styleClasses\")\n }\n },\n data() {\n return {\n phone: \"\",\n activeCountryCode: \"\",\n open: false,\n finishMounted: false,\n selectedIndex: null,\n typeToFindInput: \"\",\n typeToFindTimer: null,\n dropdownOpenDirection: \"below\",\n parsedPlaceholder: this.inputOptions.placeholder\n };\n },\n computed: {\n activeCountry() {\n return this.findCountry(this.activeCountryCode);\n },\n parsedMode() {\n if (this.mode === \"auto\") {\n if (!this.phone || this.phone[0] !== \"+\") {\n return \"national\";\n }\n return \"international\";\n }\n if (![\"international\", \"national\"].includes(this.mode)) {\n console.error('Invalid value of prop \"mode\"');\n return \"international\";\n }\n return this.mode;\n },\n filteredCountries() {\n if (this.onlyCountries.length) {\n return this.allCountries.filter(({ iso2 }) => this.onlyCountries.some((c) => c.toUpperCase() === iso2));\n }\n if (this.ignoredCountries.length) {\n return this.allCountries.filter(({ iso2 }) => !this.ignoredCountries.includes(iso2.toUpperCase()) && !this.ignoredCountries.includes(iso2.toLowerCase()));\n }\n return this.allCountries;\n },\n sortedCountries() {\n const preferredCountries = this.getCountries(this.preferredCountries).map((country) => ({ ...country, preferred: true }));\n return [...preferredCountries, ...this.filteredCountries];\n },\n phoneObject() {\n var _a, _b, _c;\n let result2;\n if (((_a = this.phone) == null ? void 0 : _a[0]) === \"+\") {\n result2 = parsePhoneNumberFromString(this.phone) || {};\n } else {\n result2 = parsePhoneNumberFromString(this.phone, this.activeCountryCode) || {};\n }\n const {\n metadata: metadata2,\n ...phoneObject\n } = result2;\n let valid = (_b = result2.isValid) == null ? void 0 : _b.call(result2);\n let formatted = this.phone;\n if (valid) {\n formatted = (_c = result2.format) == null ? void 0 : _c.call(result2, this.parsedMode.toUpperCase());\n }\n if (result2.country && (this.ignoredCountries.length || this.onlyCountries.length)) {\n if (!this.findCountry(result2.country)) {\n valid = false;\n Object.assign(result2, { country: null });\n }\n }\n Object.assign(phoneObject, {\n countryCode: result2.country,\n valid,\n country: this.activeCountry,\n formatted\n });\n return phoneObject;\n }\n },\n watch: {\n activeCountry(value, oldValue) {\n if (!value && (oldValue == null ? void 0 : oldValue.iso2)) {\n this.activeCountryCode = oldValue.iso2;\n return;\n }\n if (value == null ? void 0 : value.iso2) {\n this.$emit(\"country-changed\", value);\n }\n },\n \"phoneObject.countryCode\": function(value) {\n this.activeCountryCode = value || \"\";\n },\n \"phoneObject.valid\": function() {\n this.$emit(\"validate\", this.phoneObject);\n },\n \"phoneObject.formatted\": function(value) {\n if (!this.autoFormat || this.customValidate) {\n return;\n }\n this.emitInput(value);\n this.$nextTick(() => {\n if (value && !this.modelValue) {\n this.phone = value;\n }\n });\n },\n \"inputOptions.placeholder\": function() {\n this.resetPlaceholder();\n },\n modelValue(value, oldValue) {\n if (!this.testCharacters()) {\n this.$nextTick(() => {\n this.phone = oldValue;\n this.onInput();\n });\n } else {\n this.phone = value;\n }\n },\n open(isDropdownOpened) {\n if (isDropdownOpened) {\n this.setDropdownPosition();\n this.$emit(\"open\");\n } else {\n this.$emit(\"close\");\n }\n }\n },\n mounted() {\n if (this.modelValue) {\n this.phone = this.modelValue.trim();\n }\n this.cleanInvalidCharacters();\n this.initializeCountry().then(() => {\n var _a;\n if (!this.phone && ((_a = this.inputOptions) == null ? void 0 : _a.showDialCode) && this.activeCountryCode) {\n this.phone = `+${this.activeCountryCode}`;\n }\n this.$emit(\"validate\", this.phoneObject);\n }).catch(console.error).then(() => {\n this.finishMounted = true;\n });\n },\n methods: {\n resetPlaceholder() {\n this.parsedPlaceholder = this.inputOptions.placeholder;\n },\n initializeCountry() {\n return new Promise((resolve) => {\n var _a;\n if (((_a = this.phone) == null ? void 0 : _a[0]) === \"+\") {\n resolve();\n return;\n }\n if (this.defaultCountry) {\n if (typeof this.defaultCountry === \"string\") {\n this.choose(this.defaultCountry);\n resolve();\n return;\n }\n if (typeof this.defaultCountry === \"number\") {\n const country = this.findCountryByDialCode(this.defaultCountry);\n if (country) {\n this.choose(country.iso2);\n resolve();\n return;\n }\n }\n }\n const fallbackCountry = this.preferredCountries[0] || this.filteredCountries[0];\n if (this.autoDefaultCountry) {\n getCountry().then((res) => {\n this.choose(res || this.activeCountryCode);\n }).catch((error) => {\n console.warn(error);\n this.choose(fallbackCountry);\n }).then(() => {\n resolve();\n });\n } else {\n this.choose(fallbackCountry);\n resolve();\n }\n });\n },\n getCountries(list = []) {\n return list.map((countryCode) => this.findCountry(countryCode)).filter(Boolean);\n },\n findCountry(iso = \"\") {\n return this.filteredCountries.find((country) => country.iso2 === iso.toUpperCase());\n },\n findCountryByDialCode(dialCode) {\n return this.filteredCountries.find((country) => Number(country.dialCode) === dialCode);\n },\n getItemClass(index2, iso2) {\n const highlighted = this.selectedIndex === index2;\n const lastPreferred = index2 === this.preferredCountries.length - 1;\n const preferred = this.preferredCountries.some((c) => c.toUpperCase() === iso2);\n return {\n highlighted,\n \"last-preferred\": lastPreferred,\n preferred\n };\n },\n choose(country) {\n var _a, _b;\n let parsedCountry = country;\n if (typeof parsedCountry === \"string\") {\n parsedCountry = this.findCountry(parsedCountry);\n }\n if (!parsedCountry) {\n return;\n }\n if (((_a = this.phone) == null ? void 0 : _a[0]) === \"+\" && parsedCountry.iso2 && this.phoneObject.nationalNumber) {\n this.activeCountryCode = parsedCountry.iso2;\n this.phone = parsePhoneNumberFromString(this.phoneObject.nationalNumber, parsedCountry.iso2).formatInternational();\n return;\n }\n if (((_b = this.inputOptions) == null ? void 0 : _b.showDialCode) && parsedCountry) {\n this.phone = `+${parsedCountry.dialCode}`;\n this.activeCountryCode = parsedCountry.iso2 || \"\";\n return;\n }\n this.activeCountryCode = parsedCountry.iso2 || \"\";\n this.emitInput(this.phone);\n },\n cleanInvalidCharacters() {\n const currentPhone = this.phone;\n if (this.validCharactersOnly) {\n const results = this.phone.match(/[()\\-+0-9\\s]*/g);\n this.phone = results.join(\"\");\n }\n if (this.customValidate && this.customValidate instanceof RegExp) {\n const results = this.phone.match(this.customValidate);\n this.phone = results.join(\"\");\n }\n if (currentPhone !== this.phone) {\n this.emitInput(this.phone);\n }\n },\n testCharacters() {\n if (this.validCharactersOnly) {\n const result2 = /^[()\\-+0-9\\s]*$/.test(this.phone);\n if (!result2) {\n return false;\n }\n }\n if (this.customValidate) {\n return this.testCustomValidate();\n }\n return true;\n },\n testCustomValidate() {\n return this.customValidate instanceof RegExp ? this.customValidate.test(this.phone) : false;\n },\n onInput() {\n this.$refs.input.setCustomValidity(this.phoneObject.valid ? \"\" : this.invalidMsg);\n this.emitInput(this.phone);\n },\n emitInput(value) {\n this.$emit(\"update:modelValue\", value);\n this.$emit(\"on-input\", value, this.phoneObject, this.$refs.input);\n },\n onBlur() {\n this.$emit(\"blur\");\n },\n onFocus() {\n setCaretPosition(this.$refs.input, this.phone.length);\n this.$emit(\"focus\");\n },\n onEnter() {\n this.$emit(\"enter\");\n },\n onSpace() {\n this.$emit(\"space\");\n },\n focus() {\n this.$refs.input.focus();\n },\n toggleDropdown() {\n if (this.disabled || this.dropdownOptions.disabled) {\n return;\n }\n this.open = !this.open;\n },\n clickedOutside() {\n this.open = false;\n },\n keyboardNav(e) {\n if (e.keyCode === 40) {\n e.preventDefault();\n this.open = true;\n if (this.selectedIndex === null) {\n this.selectedIndex = 0;\n } else {\n this.selectedIndex = Math.min(this.sortedCountries.length - 1, this.selectedIndex + 1);\n }\n const selEle = this.$refs.list.children[this.selectedIndex];\n selEle.focus();\n if (selEle.offsetTop + selEle.clientHeight > this.$refs.list.scrollTop + this.$refs.list.clientHeight) {\n this.$refs.list.scrollTop = selEle.offsetTop - this.$refs.list.clientHeight + selEle.clientHeight;\n }\n } else if (e.keyCode === 38) {\n e.preventDefault();\n this.open = true;\n if (this.selectedIndex === null) {\n this.selectedIndex = this.sortedCountries.length - 1;\n } else {\n this.selectedIndex = Math.max(0, this.selectedIndex - 1);\n }\n const selEle = this.$refs.list.children[this.selectedIndex];\n selEle.focus();\n if (selEle.offsetTop < this.$refs.list.scrollTop) {\n this.$refs.list.scrollTop = selEle.offsetTop;\n }\n } else if (e.keyCode === 13) {\n if (this.selectedIndex !== null) {\n this.choose(this.sortedCountries[this.selectedIndex]);\n }\n this.open = !this.open;\n } else {\n this.typeToFindInput += e.key;\n clearTimeout(this.typeToFindTimer);\n this.typeToFindTimer = setTimeout(() => {\n this.typeToFindInput = \"\";\n }, 700);\n const typedCountryI = this.sortedCountries.slice(this.preferredCountries.length).findIndex((c) => c.name.toLowerCase().startsWith(this.typeToFindInput));\n if (typedCountryI >= 0) {\n this.selectedIndex = this.preferredCountries.length + typedCountryI;\n const selEle = this.$refs.list.children[this.selectedIndex];\n const needToScrollTop = selEle.offsetTop < this.$refs.list.scrollTop;\n const needToScrollBottom = selEle.offsetTop + selEle.clientHeight > this.$refs.list.scrollTop + this.$refs.list.clientHeight;\n if (needToScrollTop || needToScrollBottom) {\n this.$refs.list.scrollTop = selEle.offsetTop - this.$refs.list.clientHeight / 2;\n }\n }\n }\n },\n reset() {\n this.selectedIndex = this.sortedCountries.map((c) => c.iso2).indexOf(this.activeCountryCode);\n this.open = false;\n },\n setDropdownPosition() {\n const spaceBelow = window.innerHeight - this.$el.getBoundingClientRect().bottom;\n const hasEnoughSpaceBelow = spaceBelow > 200;\n if (hasEnoughSpaceBelow) {\n this.dropdownOpenDirection = \"below\";\n } else {\n this.dropdownOpenDirection = \"above\";\n }\n }\n }\n};\nconst _hoisted_1 = [\"aria-expanded\", \"tabindex\"];\nconst _hoisted_2 = { class: \"vti__selection\" };\nconst _hoisted_3 = {\n key: 1,\n class: \"vti__country-code\"\n};\nconst _hoisted_4 = { class: \"vti__dropdown-arrow\" };\nconst _hoisted_5 = [\"onClick\", \"onMousemove\", \"aria-selected\"];\nconst _hoisted_6 = { key: 1 };\nconst _hoisted_7 = [\"type\", \"autocomplete\", \"autofocus\", \"disabled\", \"id\", \"maxlength\", \"name\", \"placeholder\", \"readonly\", \"required\", \"tabindex\", \"value\", \"aria-describedby\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _directive_click_outside = resolveDirective(\"click-outside\");\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"vue-tel-input\", $props.styleClasses, { disabled: $props.disabled }])\n }, [\n withDirectives((openBlock(), createElementBlock(\"div\", {\n \"aria-label\": \"Country Code Selector\",\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": $data.open,\n role: \"button\",\n class: normalizeClass([\"vti__dropdown\", { open: $data.open, disabled: $props.dropdownOptions.disabled }]),\n tabindex: $props.dropdownOptions.tabindex,\n onKeydown: [\n _cache[0] || (_cache[0] = (...args) => $options.keyboardNav && $options.keyboardNav(...args)),\n _cache[2] || (_cache[2] = withKeys((...args) => $options.toggleDropdown && $options.toggleDropdown(...args), [\"space\"])),\n _cache[3] || (_cache[3] = withKeys((...args) => $options.reset && $options.reset(...args), [\"esc\"])),\n _cache[4] || (_cache[4] = withKeys((...args) => $options.reset && $options.reset(...args), [\"tab\"]))\n ],\n onClick: _cache[1] || (_cache[1] = (...args) => $options.toggleDropdown && $options.toggleDropdown(...args))\n }, [\n createElementVNode(\"span\", _hoisted_2, [\n $props.dropdownOptions.showFlags ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n class: normalizeClass([\"vti__flag\", $data.activeCountryCode.toLowerCase()])\n }, null, 2)) : createCommentVNode(\"\", true),\n $props.dropdownOptions.showDialCodeInSelection ? (openBlock(), createElementBlock(\"span\", _hoisted_3, \" +\" + toDisplayString($options.activeCountry && $options.activeCountry.dialCode), 1)) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"arrow-icon\", { open: $data.open }, () => [\n createElementVNode(\"span\", _hoisted_4, toDisplayString($data.open ? \"\\u25B2\" : \"\\u25BC\"), 1)\n ])\n ]),\n $data.open ? (openBlock(), createElementBlock(\"ul\", {\n key: 0,\n ref: \"list\",\n class: normalizeClass([\"vti__dropdown-list\", $data.dropdownOpenDirection]),\n role: \"listbox\"\n }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList($options.sortedCountries, (pb, index2) => {\n return openBlock(), createElementBlock(\"li\", {\n role: \"option\",\n class: normalizeClass([\"vti__dropdown-item\", $options.getItemClass(index2, pb.iso2)]),\n key: pb.iso2 + (pb.preferred ? \"-preferred\" : \"\"),\n tabindex: \"-1\",\n onClick: ($event) => $options.choose(pb),\n onMousemove: ($event) => $data.selectedIndex = index2,\n \"aria-selected\": $data.activeCountryCode === pb.iso2 && !pb.preferred\n }, [\n $props.dropdownOptions.showFlags ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n class: normalizeClass([\"vti__flag\", pb.iso2.toLowerCase()])\n }, null, 2)) : createCommentVNode(\"\", true),\n createElementVNode(\"strong\", null, toDisplayString(pb.name), 1),\n $props.dropdownOptions.showDialCodeInList ? (openBlock(), createElementBlock(\"span\", _hoisted_6, \" +\" + toDisplayString(pb.dialCode), 1)) : createCommentVNode(\"\", true)\n ], 42, _hoisted_5);\n }), 128))\n ], 2)) : createCommentVNode(\"\", true)\n ], 42, _hoisted_1)), [\n [_directive_click_outside, $options.clickedOutside]\n ]),\n withDirectives(createElementVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event) => $data.phone = $event),\n ref: \"input\",\n type: $props.inputOptions.type,\n autocomplete: $props.inputOptions.autocomplete,\n autofocus: $props.inputOptions.autofocus,\n class: normalizeClass([\"vti__input\", $props.inputOptions.styleClasses]),\n disabled: $props.disabled,\n id: $props.inputOptions.id,\n maxlength: $props.inputOptions.maxlength,\n name: $props.inputOptions.name,\n placeholder: $data.parsedPlaceholder,\n readonly: $props.inputOptions.readonly,\n required: $props.inputOptions.required,\n tabindex: $props.inputOptions.tabindex,\n value: $props.modelValue,\n \"aria-describedby\": $props.inputOptions[\"aria-describedby\"],\n onBlur: _cache[6] || (_cache[6] = (...args) => $options.onBlur && $options.onBlur(...args)),\n onFocus: _cache[7] || (_cache[7] = (...args) => $options.onFocus && $options.onFocus(...args)),\n onInput: _cache[8] || (_cache[8] = (...args) => $options.onInput && $options.onInput(...args)),\n onKeyup: [\n _cache[9] || (_cache[9] = withKeys((...args) => $options.onEnter && $options.onEnter(...args), [\"enter\"])),\n _cache[10] || (_cache[10] = withKeys((...args) => $options.onSpace && $options.onSpace(...args), [\"space\"]))\n ]\n }, null, 42, _hoisted_7), [\n [vModelDynamic, $data.phone]\n ]),\n renderSlot(_ctx.$slots, \"icon-right\")\n ], 2);\n}\nvar VueTelInput = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nvar index = {\n install(app, customOptions = {}) {\n const {\n dropdownOptions: customDropdownOptions,\n inputOptions: customInputOptions,\n ...otherCustomOptions\n } = customOptions;\n const {\n dropdownOptions: defaultDropdownOptions,\n inputOptions: defaultInputOptions,\n ...otherDefaultOptions\n } = defaultOptions;\n utils.options = {\n inputOptions: {\n ...defaultInputOptions,\n ...customInputOptions\n },\n dropdownOptions: {\n ...defaultDropdownOptions,\n ...customDropdownOptions\n },\n ...otherDefaultOptions,\n ...otherCustomOptions\n };\n app.component(\"vue-tel-input\", VueTelInput);\n }\n};\nexport { VueTelInput, index as default };\n","import { getWindow, getDocument } from 'ssr-window';\nvar support;\n\nfunction calcSupport() {\n var window = getWindow();\n var document = getDocument();\n return {\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch),\n pointerEvents: !!window.PointerEvent && 'maxTouchPoints' in window.navigator && window.navigator.maxTouchPoints >= 0,\n observer: function checkObserver() {\n return 'MutationObserver' in window || 'WebkitMutationObserver' in window;\n }(),\n passiveListener: function checkPassiveListener() {\n var supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line\n get: function get() {\n supportsPassive = true;\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';\nvar device;\n\nfunction calcDevice(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n userAgent = _ref.userAgent;\n\n var support = getSupport();\n var window = getWindow();\n var platform = window.navigator.platform;\n var ua = userAgent || window.navigator.userAgent;\n var device = {\n ios: false,\n android: false\n };\n var screenWidth = window.screen.width;\n var screenHeight = window.screen.height;\n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n var iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n var windows = platform === 'Win32';\n var macos = platform === 'MacIntel'; // iPadOs 13 fix\n\n var 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 (!device) {\n device = calcDevice(overrides);\n }\n\n return device;\n}\n\nexport { getDevice };","import { getWindow } from 'ssr-window';\nvar browser;\n\nfunction calcBrowser() {\n var window = getWindow();\n\n function isSafari() {\n var ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n\n return {\n isEdge: !!window.navigator.userAgent.match(/Edge/g),\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';\nimport { extend } from '../../utils/utils';\n\nvar supportsResizeObserver = function supportsResizeObserver() {\n var window = getWindow();\n return typeof window.ResizeObserver !== 'undefined';\n};\n\nexport default {\n name: 'resize',\n create: function create() {\n var swiper = this;\n extend(swiper, {\n resize: {\n observer: null,\n createObserver: function createObserver() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.resize.observer = new ResizeObserver(function (entries) {\n var width = swiper.width,\n height = swiper.height;\n var newWidth = width;\n var newHeight = height;\n entries.forEach(function (_ref) {\n var contentBoxSize = _ref.contentBoxSize,\n contentRect = _ref.contentRect,\n target = _ref.target;\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 swiper.resize.resizeHandler();\n }\n });\n swiper.resize.observer.observe(swiper.el);\n },\n removeObserver: function removeObserver() {\n if (swiper.resize.observer && swiper.resize.observer.unobserve && swiper.el) {\n swiper.resize.observer.unobserve(swiper.el);\n swiper.resize.observer = null;\n }\n },\n resizeHandler: function resizeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('beforeResize');\n swiper.emit('resize');\n },\n orientationChangeHandler: function orientationChangeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('orientationchange');\n }\n }\n });\n },\n on: {\n init: function init(swiper) {\n var window = getWindow();\n\n if (swiper.params.resizeObserver && supportsResizeObserver()) {\n swiper.resize.createObserver();\n return;\n } // Emit resize\n\n\n window.addEventListener('resize', swiper.resize.resizeHandler); // Emit orientationchange\n\n window.addEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n },\n destroy: function destroy(swiper) {\n var window = getWindow();\n swiper.resize.removeObserver();\n window.removeEventListener('resize', swiper.resize.resizeHandler);\n window.removeEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { getWindow } from 'ssr-window';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Observer = {\n attach: function attach(target, options) {\n if (options === void 0) {\n options = {};\n }\n\n var window = getWindow();\n var swiper = this;\n var ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n var observer = new ObserverFunc(function (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 swiper.emit('observerUpdate', mutations[0]);\n return;\n }\n\n var observerUpdate = function observerUpdate() {\n swiper.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 swiper.observer.observers.push(observer);\n },\n init: function init() {\n var swiper = this;\n if (!swiper.support.observer || !swiper.params.observer) return;\n\n if (swiper.params.observeParents) {\n var containerParents = swiper.$el.parents();\n\n for (var i = 0; i < containerParents.length; i += 1) {\n swiper.observer.attach(containerParents[i]);\n }\n } // Observe container\n\n\n swiper.observer.attach(swiper.$el[0], {\n childList: swiper.params.observeSlideChildren\n }); // Observe wrapper\n\n swiper.observer.attach(swiper.$wrapperEl[0], {\n attributes: false\n });\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.observer.observers.forEach(function (observer) {\n observer.disconnect();\n });\n swiper.observer.observers = [];\n }\n};\nexport default {\n name: 'observer',\n params: {\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n observer: _extends({}, Observer, {\n observers: []\n })\n });\n },\n on: {\n init: function init(swiper) {\n swiper.observer.init();\n },\n destroy: function destroy(swiper) {\n swiper.observer.destroy();\n }\n }\n};","import { extend } from '../../utils/utils';\nexport default {\n useParams: function useParams(instanceParams) {\n var instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach(function (moduleName) {\n var module = instance.modules[moduleName]; // Extend params\n\n if (module.params) {\n extend(instanceParams, module.params);\n }\n });\n },\n useModules: function useModules(modulesParams) {\n if (modulesParams === void 0) {\n modulesParams = {};\n }\n\n var instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach(function (moduleName) {\n var module = instance.modules[moduleName];\n var moduleParams = modulesParams[moduleName] || {}; // Add event listeners\n\n if (module.on && instance.on) {\n Object.keys(module.on).forEach(function (moduleEventName) {\n instance.on(moduleEventName, module.on[moduleEventName]);\n });\n } // Module create callback\n\n\n if (module.create) {\n module.create.bind(instance)(moduleParams);\n }\n });\n }\n};","/* eslint-disable no-underscore-dangle */\nexport default {\n on: function on(events, handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(function (event) {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n once: function once(events, handler, priority) {\n var self = this;\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 onAny: function onAny(handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n\n return self;\n },\n offAny: function offAny(handler) {\n var self = this;\n if (!self.eventsAnyListeners) return self;\n var index = self.eventsAnyListeners.indexOf(handler);\n\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n\n return self;\n },\n off: function off(events, handler) {\n var self = this;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(function (event) {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (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 emit: function emit() {\n var self = this;\n if (!self.eventsListeners) return self;\n var events;\n var data;\n var 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 var eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(function (event) {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(function (eventHandler) {\n eventHandler.apply(context, [event].concat(data));\n });\n }\n\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (eventHandler) {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n};","import { extend } from '../../../utils/utils';\nexport default function updateSize() {\n var swiper = this;\n var width;\n var height;\n var $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 extend(swiper, {\n width: width,\n height: height,\n size: swiper.isHorizontal() ? width : height\n });\n}","import { extend } from '../../../utils/utils';\nexport default function updateSlides() {\n var 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 var params = swiper.params;\n var $wrapperEl = swiper.$wrapperEl,\n swiperSize = swiper.size,\n rtl = swiper.rtlTranslate,\n wrongRTL = swiper.wrongRTL;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n var previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n var slides = $wrapperEl.children(\".\" + swiper.params.slideClass);\n var slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n var snapGrid = [];\n var slidesGrid = [];\n var slidesSizesGrid = [];\n var offsetBefore = params.slidesOffsetBefore;\n\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n\n var offsetAfter = params.slidesOffsetAfter;\n\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n\n var previousSnapGridLength = swiper.snapGrid.length;\n var previousSlidesGridLength = swiper.slidesGrid.length;\n var spaceBetween = params.spaceBetween;\n var slidePosition = -offsetBefore;\n var prevSlideSize = 0;\n var 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 });\n var slidesNumberEvenToRows;\n\n if (params.slidesPerColumn > 1) {\n if (Math.floor(slidesLength / params.slidesPerColumn) === slidesLength / swiper.params.slidesPerColumn) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn;\n }\n\n if (params.slidesPerView !== 'auto' && params.slidesPerColumnFill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn);\n }\n } // Calc slides\n\n\n var slideSize;\n var slidesPerColumn = params.slidesPerColumn;\n var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;\n var numFullColumns = Math.floor(slidesLength / params.slidesPerColumn);\n\n for (var i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n var slide = slides.eq(i);\n\n if (params.slidesPerColumn > 1) {\n // Set slides order\n var newSlideOrderIndex = void 0;\n var column = void 0;\n var row = void 0;\n\n if (params.slidesPerColumnFill === 'row' && params.slidesPerGroup > 1) {\n var groupIndex = Math.floor(i / (params.slidesPerGroup * params.slidesPerColumn));\n var slideIndexInGroup = i - params.slidesPerColumn * params.slidesPerGroup * groupIndex;\n var columnsInGroup = groupIndex === 0 ? params.slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * slidesPerColumn * params.slidesPerGroup) / slidesPerColumn), params.slidesPerGroup);\n row = Math.floor(slideIndexInGroup / columnsInGroup);\n column = slideIndexInGroup - row * columnsInGroup + groupIndex * params.slidesPerGroup;\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / slidesPerColumn;\n slide.css({\n '-webkit-box-ordinal-group': newSlideOrderIndex,\n '-moz-box-ordinal-group': newSlideOrderIndex,\n '-ms-flex-order': newSlideOrderIndex,\n '-webkit-order': newSlideOrderIndex,\n order: newSlideOrderIndex\n });\n } else if (params.slidesPerColumnFill === 'column') {\n column = Math.floor(i / slidesPerColumn);\n row = i - column * slidesPerColumn;\n\n if (column > numFullColumns || column === numFullColumns && row === slidesPerColumn - 1) {\n row += 1;\n\n if (row >= slidesPerColumn) {\n row = 0;\n column += 1;\n }\n }\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n\n slide.css(getDirectionLabel('margin-top'), row !== 0 ? params.spaceBetween && params.spaceBetween + \"px\" : '');\n }\n\n if (slide.css('display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n var slideStyles = getComputedStyle(slide[0]);\n var currentTransform = slide[0].style.transform;\n var 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 var width = getDirectionPropertyValue(slideStyles, 'width');\n var paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n var paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n var marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n var marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n var boxSizing = slideStyles.getPropertyValue('box-sizing');\n\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n var _slide$ = slide[0],\n clientWidth = _slide$.clientWidth,\n offsetWidth = _slide$.offsetWidth;\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 var newSlidesGrid;\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 var _$wrapperEl$css;\n\n $wrapperEl.css((_$wrapperEl$css = {}, _$wrapperEl$css[getDirectionLabel('width')] = swiper.virtualSize + params.spaceBetween + \"px\", _$wrapperEl$css));\n }\n\n if (params.slidesPerColumn > 1) {\n var _$wrapperEl$css2;\n\n swiper.virtualSize = (slideSize + params.spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;\n $wrapperEl.css((_$wrapperEl$css2 = {}, _$wrapperEl$css2[getDirectionLabel('width')] = swiper.virtualSize + params.spaceBetween + \"px\", _$wrapperEl$css2));\n\n if (params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i = 0; _i < snapGrid.length; _i += 1) {\n var slidesGridItem = snapGrid[_i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[_i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n\n snapGrid = newSlidesGrid;\n }\n } // Remove last grid elements depending on width\n\n\n if (!params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i2 = 0; _i2 < snapGrid.length; _i2 += 1) {\n var _slidesGridItem = snapGrid[_i2];\n if (params.roundLengths) _slidesGridItem = Math.floor(_slidesGridItem);\n\n if (snapGrid[_i2] <= 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 var _slides$filter$css;\n\n var key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');\n slides.filter(function (_, slideIndex) {\n if (!params.cssMode) return true;\n\n if (slideIndex === slides.length - 1) {\n return false;\n }\n\n return true;\n }).css((_slides$filter$css = {}, _slides$filter$css[key] = spaceBetween + \"px\", _slides$filter$css));\n }\n\n if (params.centeredSlides && params.centeredSlidesBounds) {\n var allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n var maxSnap = allSlidesSize - swiperSize;\n snapGrid = snapGrid.map(function (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 var _allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n _allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n _allSlidesSize -= params.spaceBetween;\n\n if (_allSlidesSize < swiperSize) {\n var allSlidesOffset = (swiperSize - _allSlidesSize) / 2;\n snapGrid.forEach(function (snap, snapIndex) {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach(function (snap, snapIndex) {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n\n extend(swiper, {\n slides: slides,\n snapGrid: snapGrid,\n slidesGrid: slidesGrid,\n slidesSizesGrid: slidesSizesGrid\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 || params.watchSlidesVisibility) {\n swiper.updateSlidesOffset();\n }\n}","export default function updateAutoHeight(speed) {\n var swiper = this;\n var activeSlides = [];\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var newHeight = 0;\n var 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 var getSlideByIndex = function getSlideByIndex(index) {\n if (isVirtual) {\n return swiper.slides.filter(function (el) {\n return parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index;\n })[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(function (slide) {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n var 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 var height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n } // Update Height\n\n\n if (newHeight) swiper.$wrapperEl.css('height', newHeight + \"px\");\n}","export default function updateSlidesOffset() {\n var swiper = this;\n var slides = swiper.slides;\n\n for (var i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;\n }\n}","import $ from '../../../utils/dom';\nexport default function updateSlidesProgress(translate) {\n if (translate === void 0) {\n translate = this && this.translate || 0;\n }\n\n var swiper = this;\n var params = swiper.params;\n var slides = swiper.slides,\n rtl = swiper.rtlTranslate;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n var offsetCenter = -translate;\n if (rtl) offsetCenter = translate; // Visible Slides\n\n slides.removeClass(params.slideVisibleClass);\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n\n for (var i = 0; i < slides.length; i += 1) {\n var slide = slides[i];\n var slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slide.swiperSlideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n\n if (params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) {\n var slideBefore = -(offsetCenter - slide.swiperSlideOffset);\n var slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n var 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\n slide.progress = rtl ? -slideProgress : slideProgress;\n }\n\n swiper.visibleSlides = $(swiper.visibleSlides);\n}","import { extend } from '../../../utils/utils';\nexport default function updateProgress(translate) {\n var swiper = this;\n\n if (typeof translate === 'undefined') {\n var multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line\n\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n\n var params = swiper.params;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n var progress = swiper.progress,\n isBeginning = swiper.isBeginning,\n isEnd = swiper.isEnd;\n var wasBeginning = isBeginning;\n var 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 extend(swiper, {\n progress: progress,\n isBeginning: isBeginning,\n isEnd: isEnd\n });\n if (params.watchSlidesProgress || params.watchSlidesVisibility || 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 var swiper = this;\n var slides = swiper.slides,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex,\n realIndex = swiper.realIndex;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n slides.removeClass(params.slideActiveClass + \" \" + params.slideNextClass + \" \" + params.slidePrevClass + \" \" + params.slideDuplicateActiveClass + \" \" + params.slideDuplicateNextClass + \" \" + params.slideDuplicatePrevClass);\n var 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 var 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 var 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}","import { extend } from '../../../utils/utils';\nexport default function updateActiveIndex(newActiveIndex) {\n var swiper = this;\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n var slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid,\n params = swiper.params,\n previousIndex = swiper.activeIndex,\n previousRealIndex = swiper.realIndex,\n previousSnapIndex = swiper.snapIndex;\n var activeIndex = newActiveIndex;\n var snapIndex;\n\n if (typeof activeIndex === 'undefined') {\n for (var 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 var 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 var realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);\n extend(swiper, {\n snapIndex: snapIndex,\n realIndex: realIndex,\n previousIndex: previousIndex,\n activeIndex: 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 '../../../utils/dom';\nexport default function updateClickedSlide(e) {\n var swiper = this;\n var params = swiper.params;\n var slide = $(e.target).closest(\".\" + params.slideClass)[0];\n var slideFound = false;\n var slideIndex;\n\n if (slide) {\n for (var 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';\nimport updateSlides from './updateSlides';\nimport updateAutoHeight from './updateAutoHeight';\nimport updateSlidesOffset from './updateSlidesOffset';\nimport updateSlidesProgress from './updateSlidesProgress';\nimport updateProgress from './updateProgress';\nimport updateSlidesClasses from './updateSlidesClasses';\nimport updateActiveIndex from './updateActiveIndex';\nimport updateClickedSlide from './updateClickedSlide';\nexport default {\n updateSize: updateSize,\n updateSlides: updateSlides,\n updateAutoHeight: updateAutoHeight,\n updateSlidesOffset: updateSlidesOffset,\n updateSlidesProgress: updateSlidesProgress,\n updateProgress: updateProgress,\n updateSlidesClasses: updateSlidesClasses,\n updateActiveIndex: updateActiveIndex,\n updateClickedSlide: updateClickedSlide\n};","import { getTranslate } from '../../../utils/utils';\nexport default function getSwiperTranslate(axis) {\n if (axis === void 0) {\n axis = this.isHorizontal() ? 'x' : 'y';\n }\n\n var swiper = this;\n var params = swiper.params,\n rtl = swiper.rtlTranslate,\n translate = swiper.translate,\n $wrapperEl = swiper.$wrapperEl;\n\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n\n if (params.cssMode) {\n return translate;\n }\n\n var currentTranslate = getTranslate($wrapperEl[0], axis);\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}","export default function setTranslate(translate, byController) {\n var swiper = this;\n var rtl = swiper.rtlTranslate,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n wrapperEl = swiper.wrapperEl,\n progress = swiper.progress;\n var x = 0;\n var y = 0;\n var 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 var newProgress;\n var 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}","export 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 var swiper = this;\n var params = swiper.params,\n wrapperEl = swiper.wrapperEl;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n\n var minTranslate = swiper.minTranslate();\n var maxTranslate = swiper.maxTranslate();\n var 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 var isH = swiper.isHorizontal();\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n // eslint-disable-next-line\n if (wrapperEl.scrollTo) {\n var _wrapperEl$scrollTo;\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = -newTranslate, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\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';\nimport setTranslate from './setTranslate';\nimport minTranslate from './minTranslate';\nimport maxTranslate from './maxTranslate';\nimport translateTo from './translateTo';\nexport default {\n getTranslate: getTranslate,\n setTranslate: setTranslate,\n minTranslate: minTranslate,\n maxTranslate: maxTranslate,\n translateTo: translateTo\n};","export default function setTransition(duration, byController) {\n var 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 transitionStart(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n params = swiper.params,\n previousIndex = swiper.previousIndex;\n if (params.cssMode) return;\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n var 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('transitionStart');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionStart');\n return;\n }\n\n swiper.emit('slideChangeTransitionStart');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionStart');\n } else {\n swiper.emit('slidePrevTransitionStart');\n }\n }\n}","export default function transitionEnd(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n previousIndex = swiper.previousIndex,\n params = swiper.params;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n var 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('transitionEnd');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionEnd');\n return;\n }\n\n swiper.emit('slideChangeTransitionEnd');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionEnd');\n } else {\n swiper.emit('slidePrevTransitionEnd');\n }\n }\n}","import setTransition from './setTransition';\nimport transitionStart from './transitionStart';\nimport transitionEnd from './transitionEnd';\nexport default {\n setTransition: setTransition,\n transitionStart: transitionStart,\n transitionEnd: transitionEnd\n};","export 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 var 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 var 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 var swiper = this;\n var slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n var params = swiper.params,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n previousIndex = swiper.previousIndex,\n activeIndex = swiper.activeIndex,\n rtl = swiper.rtlTranslate,\n wrapperEl = swiper.wrapperEl,\n enabled = swiper.enabled;\n\n if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {\n return false;\n }\n\n var skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n var 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 var translate = -snapGrid[snapIndex]; // Update progress\n\n swiper.updateProgress(translate); // Normalize slideIndex\n\n if (params.normalizeSlideIndex) {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n var normalizedTranslate = -Math.floor(translate * 100);\n var normalizedGird = Math.floor(slidesGrid[i] * 100);\n var normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGird && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGird) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGird && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGird) {\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 var 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 var isH = swiper.isHorizontal();\n var t = -translate;\n\n if (rtl) {\n t = wrapperEl.scrollWidth - wrapperEl.offsetWidth - t;\n }\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n } else {\n // eslint-disable-next-line\n if (wrapperEl.scrollTo) {\n var _wrapperEl$scrollTo;\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = t, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n }\n }\n\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n } else {\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 (!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\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 var swiper = this;\n var 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 var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n enabled = swiper.enabled;\n if (!enabled) return swiper;\n var increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup;\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 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 var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\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 var 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 var normalizedTranslate = normalize(translate);\n var normalizedSnapGrid = snapGrid.map(function (val) {\n return normalize(val);\n });\n var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n snapGrid.forEach(function (snap) {\n if (!prevSnap && normalizedTranslate >= snap) prevSnap = snap;\n });\n }\n\n var prevIndex;\n\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\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 var 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 var swiper = this;\n var index = swiper.activeIndex;\n var skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n var snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n var 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 var currentSnap = swiper.snapGrid[snapIndex];\n var 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 var prevSnap = swiper.snapGrid[snapIndex - 1];\n var _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 '../../../utils/dom';\nimport { nextTick } from '../../../utils/utils';\nexport default function slideToClickedSlide() {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl;\n var slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n var slideToIndex = swiper.clickedIndex;\n var 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(function () {\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(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}","import slideTo from './slideTo';\nimport slideToLoop from './slideToLoop';\nimport slideNext from './slideNext';\nimport slidePrev from './slidePrev';\nimport slideReset from './slideReset';\nimport slideToClosest from './slideToClosest';\nimport slideToClickedSlide from './slideToClickedSlide';\nexport default {\n slideTo: slideTo,\n slideToLoop: slideToLoop,\n slideNext: slideNext,\n slidePrev: slidePrev,\n slideReset: slideReset,\n slideToClosest: slideToClosest,\n slideToClickedSlide: slideToClickedSlide\n};","import { getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nexport default function loopCreate() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl; // Remove duplicated slides\n\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass).remove();\n var slides = $wrapperEl.children(\".\" + params.slideClass);\n\n if (params.loopFillGroupWithBlank) {\n var blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;\n\n if (blankSlidesNum !== params.slidesPerGroup) {\n for (var i = 0; i < blankSlidesNum; i += 1) {\n var blankNode = $(document.createElement('div')).addClass(params.slideClass + \" \" + params.slideBlankClass);\n $wrapperEl.append(blankNode);\n }\n\n slides = $wrapperEl.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) {\n swiper.loopedSlides = slides.length;\n }\n\n var prependSlides = [];\n var appendSlides = [];\n slides.each(function (el, index) {\n var slide = $(el);\n\n if (index < swiper.loopedSlides) {\n appendSlides.push(el);\n }\n\n if (index < slides.length && index >= slides.length - swiper.loopedSlides) {\n prependSlides.push(el);\n }\n\n slide.attr('data-swiper-slide-index', index);\n });\n\n for (var _i = 0; _i < appendSlides.length; _i += 1) {\n $wrapperEl.append($(appendSlides[_i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n\n for (var _i2 = prependSlides.length - 1; _i2 >= 0; _i2 -= 1) {\n $wrapperEl.prepend($(prependSlides[_i2].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n}","export default function loopFix() {\n var swiper = this;\n swiper.emit('beforeLoopFix');\n var activeIndex = swiper.activeIndex,\n slides = swiper.slides,\n loopedSlides = swiper.loopedSlides,\n allowSlidePrev = swiper.allowSlidePrev,\n allowSlideNext = swiper.allowSlideNext,\n snapGrid = swiper.snapGrid,\n rtl = swiper.rtlTranslate;\n var newIndex;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n var snapTranslate = -snapGrid[activeIndex];\n var diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding\n\n if (activeIndex < loopedSlides) {\n newIndex = slides.length - loopedSlides * 3 + activeIndex;\n newIndex += loopedSlides;\n var 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\n var _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 var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n slides = swiper.slides;\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \",.\" + params.slideClass + \".\" + params.slideBlankClass).remove();\n slides.removeAttr('data-swiper-slide-index');\n}","import loopCreate from './loopCreate';\nimport loopFix from './loopFix';\nimport loopDestroy from './loopDestroy';\nexport default {\n loopCreate: loopCreate,\n loopFix: loopFix,\n loopDestroy: loopDestroy\n};","export default function setGrabCursor(moving) {\n var swiper = this;\n if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n var el = swiper.el;\n el.style.cursor = 'move';\n el.style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';\n el.style.cursor = moving ? '-moz-grabbin' : '-moz-grab';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n}","export default function unsetGrabCursor() {\n var swiper = this;\n\n if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n\n swiper.el.style.cursor = '';\n}","import setGrabCursor from './setGrabCursor';\nimport unsetGrabCursor from './unsetGrabCursor';\nexport default {\n setGrabCursor: setGrabCursor,\n unsetGrabCursor: unsetGrabCursor\n};","export default function appendSlide(slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.append(slides[i]);\n }\n } else {\n $wrapperEl.append(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n}","export default function prependSlide(slides) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n var newActiveIndex = activeIndex + 1;\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.prepend(slides[i]);\n }\n\n newActiveIndex = activeIndex + slides.length;\n } else {\n $wrapperEl.prepend(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n swiper.slideTo(newActiveIndex, 0, false);\n}","export default function addSlide(index, slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n\n var baseLength = swiper.slides.length;\n\n if (index <= 0) {\n swiper.prependSlide(slides);\n return;\n }\n\n if (index >= baseLength) {\n swiper.appendSlide(slides);\n return;\n }\n\n var newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\n var slidesBuffer = [];\n\n for (var i = baseLength - 1; i >= index; i -= 1) {\n var currentSlide = swiper.slides.eq(i);\n currentSlide.remove();\n slidesBuffer.unshift(currentSlide);\n }\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var _i = 0; _i < slides.length; _i += 1) {\n if (slides[_i]) $wrapperEl.append(slides[_i]);\n }\n\n newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\n } else {\n $wrapperEl.append(slides);\n }\n\n for (var _i2 = 0; _i2 < slidesBuffer.length; _i2 += 1) {\n $wrapperEl.append(slidesBuffer[_i2]);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}","export default function removeSlide(slidesIndexes) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n\n var newActiveIndex = activeIndexBuffer;\n var indexToRemove;\n\n if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {\n for (var i = 0; i < slidesIndexes.length; i += 1) {\n indexToRemove = slidesIndexes[i];\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n }\n\n newActiveIndex = Math.max(newActiveIndex, 0);\n } else {\n indexToRemove = slidesIndexes;\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}","export default function removeAllSlides() {\n var swiper = this;\n var slidesIndexes = [];\n\n for (var i = 0; i < swiper.slides.length; i += 1) {\n slidesIndexes.push(i);\n }\n\n swiper.removeSlide(slidesIndexes);\n}","import appendSlide from './appendSlide';\nimport prependSlide from './prependSlide';\nimport addSlide from './addSlide';\nimport removeSlide from './removeSlide';\nimport removeAllSlides from './removeAllSlides';\nexport default {\n appendSlide: appendSlide,\n prependSlide: prependSlide,\n addSlide: addSlide,\n removeSlide: removeSlide,\n removeAllSlides: removeAllSlides\n};","import { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nimport { extend, now } from '../../../utils/utils'; // 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 var found = el.closest(selector);\n return found || __closestFrom(el.getRootNode().host);\n }\n\n return __closestFrom(base);\n}\n\nexport default function onTouchStart(event) {\n var swiper = this;\n var document = getDocument();\n var window = getWindow();\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n enabled = swiper.enabled;\n if (!enabled) return;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n var $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 var 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 var noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : \".\" + params.noSwipingClass;\n var 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, e.target) : $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 var startX = touches.currentX;\n var startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n var edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n var 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 extend(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 var preventDefault = true;\n if ($targetEl.is(data.focusableElements)) preventDefault = false;\n\n if (document.activeElement && $(document.activeElement).is(data.focusableElements) && document.activeElement !== $targetEl[0]) {\n document.activeElement.blur();\n }\n\n var shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !$targetEl[0].isContentEditable) {\n e.preventDefault();\n }\n }\n\n swiper.emit('touchStart', e);\n}","import { getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nimport { extend, now } from '../../../utils/utils';\nexport default function onTouchMove(event) {\n var document = getDocument();\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n var 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 var targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);\n var pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;\n var 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 // isMoved = true;\n swiper.allowClick = false;\n\n if (data.isTouched) {\n extend(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 var diffX = touches.currentX - touches.startX;\n var diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(Math.pow(diffX, 2) + Math.pow(diffY, 2)) < swiper.params.threshold) return;\n\n if (typeof data.isScrolling === 'undefined') {\n var 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) {\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 var 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 var disableParentSwiper = true;\n var 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 + Math.pow(-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 - Math.pow(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.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n if (params.freeMode) {\n // Velocity\n if (data.velocities.length === 0) {\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\n time: data.touchStartTime\n });\n }\n\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\n time: now()\n });\n } // Update progress\n\n\n swiper.updateProgress(data.currentTranslate); // Update translate\n\n swiper.setTranslate(data.currentTranslate);\n}","import { now, nextTick } from '../../../utils/utils';\nexport default function onTouchEnd(event) {\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n $wrapperEl = swiper.$wrapperEl,\n slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid,\n enabled = swiper.enabled;\n if (!enabled) return;\n var 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 var touchEndTime = now();\n var timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click\n\n if (swiper.allowClick) {\n swiper.updateClickedSlide(e);\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(function () {\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 var 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 (params.freeMode) {\n if (currentPos < -swiper.minTranslate()) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (currentPos > -swiper.maxTranslate()) {\n if (swiper.slides.length < snapGrid.length) {\n swiper.slideTo(snapGrid.length - 1);\n } else {\n swiper.slideTo(swiper.slides.length - 1);\n }\n\n return;\n }\n\n if (params.freeModeMomentum) {\n if (data.velocities.length > 1) {\n var lastMoveEvent = data.velocities.pop();\n var velocityEvent = data.velocities.pop();\n var distance = lastMoveEvent.position - velocityEvent.position;\n var time = lastMoveEvent.time - velocityEvent.time;\n swiper.velocity = distance / time;\n swiper.velocity /= 2;\n\n if (Math.abs(swiper.velocity) < params.freeModeMinimumVelocity) {\n swiper.velocity = 0;\n } // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n\n\n if (time > 150 || now() - lastMoveEvent.time > 300) {\n swiper.velocity = 0;\n }\n } else {\n swiper.velocity = 0;\n }\n\n swiper.velocity *= params.freeModeMomentumVelocityRatio;\n data.velocities.length = 0;\n var momentumDuration = 1000 * params.freeModeMomentumRatio;\n var momentumDistance = swiper.velocity * momentumDuration;\n var newPosition = swiper.translate + momentumDistance;\n if (rtl) newPosition = -newPosition;\n var doBounce = false;\n var afterBouncePosition;\n var bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio;\n var needsLoopFix;\n\n if (newPosition < swiper.maxTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n newPosition = swiper.maxTranslate() - bounceAmount;\n }\n\n afterBouncePosition = swiper.maxTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.maxTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (newPosition > swiper.minTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition - swiper.minTranslate() > bounceAmount) {\n newPosition = swiper.minTranslate() + bounceAmount;\n }\n\n afterBouncePosition = swiper.minTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.minTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (params.freeModeSticky) {\n var nextSlide;\n\n for (var j = 0; j < snapGrid.length; j += 1) {\n if (snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n }\n\n if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\n newPosition = snapGrid[nextSlide];\n } else {\n newPosition = snapGrid[nextSlide - 1];\n }\n\n newPosition = -newPosition;\n }\n\n if (needsLoopFix) {\n swiper.once('transitionEnd', function () {\n swiper.loopFix();\n });\n } // Fix duration\n\n\n if (swiper.velocity !== 0) {\n if (rtl) {\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n } else {\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n }\n\n if (params.freeModeSticky) {\n // If freeModeSticky is active and the user ends a swipe with a slow-velocity\n // event, then durations can be 20+ seconds to slide one (or zero!) slides.\n // It's easy to see this when simulating touch with mouse events. To fix this,\n // limit single-slide swipes to the default slide duration. This also has the\n // nice side effect of matching slide speed if the user stopped moving before\n // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.\n // For faster swipes, also apply limits (albeit higher ones).\n var moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);\n var currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];\n\n if (moveDistance < currentSlideSize) {\n momentumDuration = params.speed;\n } else if (moveDistance < 2 * currentSlideSize) {\n momentumDuration = params.speed * 1.5;\n } else {\n momentumDuration = params.speed * 2.5;\n }\n }\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n }\n\n if (params.freeModeMomentumBounce && doBounce) {\n swiper.updateProgress(afterBouncePosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n swiper.emit('momentumBounce');\n swiper.setTransition(params.speed);\n setTimeout(function () {\n swiper.setTranslate(afterBouncePosition);\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }, 0);\n });\n } else if (swiper.velocity) {\n swiper.updateProgress(newPosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n\n if (!swiper.animating) {\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }\n } else {\n swiper.emit('_freeModeNoMomentumRelease');\n swiper.updateProgress(newPosition);\n }\n\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n } else if (params.freeMode) {\n swiper.emit('_freeModeNoMomentumRelease');\n }\n\n if (!params.freeModeMomentum || timeDiff >= params.longSwipesMs) {\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n return;\n } // Find current slide\n\n\n var stopIndex = 0;\n var groupSize = swiper.slidesSizesGrid[0];\n\n for (var i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n var _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 } // Find current slide size\n\n\n var ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n var 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(stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n var 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(stopIndex + increment);\n }\n\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(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 var swiper = this;\n var params = swiper.params,\n el = swiper.el;\n if (el && el.offsetWidth === 0) return; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n } // Save locks\n\n\n var allowSlideNext = swiper.allowSlideNext,\n allowSlidePrev = swiper.allowSlidePrev,\n snapGrid = swiper.snapGrid; // 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 var 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 var swiper = this;\n var wrapperEl = swiper.wrapperEl,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n\n if (swiper.isHorizontal()) {\n if (rtlTranslate) {\n swiper.translate = wrapperEl.scrollWidth - wrapperEl.offsetWidth - wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollLeft;\n }\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 var newProgress;\n var 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';\nimport onTouchMove from './onTouchMove';\nimport onTouchEnd from './onTouchEnd';\nimport onResize from './onResize';\nimport onClick from './onClick';\nimport onScroll from './onScroll';\nvar dummyEventAttached = false;\n\nfunction dummyEventListener() {}\n\nfunction attachEvents() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl,\n device = swiper.device,\n support = swiper.support;\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 var capture = !!params.nested; // Touch Events\n\n if (!support.touch && support.pointerEvents) {\n el.addEventListener(touchEvents.start, swiper.onTouchStart, false);\n document.addEventListener(touchEvents.move, swiper.onTouchMove, capture);\n document.addEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (support.touch) {\n var passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n el.addEventListener(touchEvents.move, swiper.onTouchMove, support.passiveListener ? {\n passive: false,\n capture: capture\n } : capture);\n el.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el.addEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n\n if (!dummyEventAttached) {\n document.addEventListener('touchstart', dummyEventListener);\n dummyEventAttached = true;\n }\n }\n\n if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {\n el.addEventListener('mousedown', swiper.onTouchStart, false);\n document.addEventListener('mousemove', swiper.onTouchMove, capture);\n document.addEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el.addEventListener('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl.addEventListener('scroll', swiper.onScroll);\n } // Resize handler\n\n\n if (params.updateOnWindowResize) {\n swiper.on(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper.on('observerUpdate', onResize, true);\n }\n}\n\nfunction detachEvents() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl,\n device = swiper.device,\n support = swiper.support;\n var capture = !!params.nested; // Touch Events\n\n if (!support.touch && support.pointerEvents) {\n el.removeEventListener(touchEvents.start, swiper.onTouchStart, false);\n document.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n document.removeEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (support.touch) {\n var passiveListener = touchEvents.start === 'onTouchStart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n el.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n el.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el.removeEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n }\n\n if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {\n el.removeEventListener('mousedown', swiper.onTouchStart, false);\n document.removeEventListener('mousemove', swiper.onTouchMove, capture);\n document.removeEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el.removeEventListener('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl.removeEventListener('scroll', swiper.onScroll);\n } // Resize handler\n\n\n swiper.off(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize);\n}\n\nexport default {\n attachEvents: attachEvents,\n detachEvents: detachEvents\n};","import { extend } from '../../../utils/utils';\nexport default function setBreakpoint() {\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n initialized = swiper.initialized,\n _swiper$loopedSlides = swiper.loopedSlides,\n loopedSlides = _swiper$loopedSlides === void 0 ? 0 : _swiper$loopedSlides,\n params = swiper.params,\n $el = swiper.$el;\n var breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters\n\n var breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n var breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n\n if (breakpointOnlyParams) {\n ['slidesPerView', 'spaceBetween', 'slidesPerGroup', 'slidesPerGroupSkip', 'slidesPerColumn'].forEach(function (param) {\n var paramValue = breakpointOnlyParams[param];\n if (typeof paramValue === 'undefined') return;\n\n if (param === 'slidesPerView' && (paramValue === 'AUTO' || paramValue === 'auto')) {\n breakpointOnlyParams[param] = 'auto';\n } else if (param === 'slidesPerView') {\n breakpointOnlyParams[param] = parseFloat(paramValue);\n } else {\n breakpointOnlyParams[param] = parseInt(paramValue, 10);\n }\n });\n }\n\n var breakpointParams = breakpointOnlyParams || swiper.originalParams;\n var wasMultiRow = params.slidesPerColumn > 1;\n var isMultiRow = breakpointParams.slidesPerColumn > 1;\n var wasEnabled = params.enabled;\n\n if (wasMultiRow && !isMultiRow) {\n $el.removeClass(params.containerModifierClass + \"multirow \" + params.containerModifierClass + \"multirow-column\");\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n $el.addClass(params.containerModifierClass + \"multirow\");\n\n if (breakpointParams.slidesPerColumnFill && breakpointParams.slidesPerColumnFill === 'column' || !breakpointParams.slidesPerColumnFill && params.slidesPerColumnFill === 'column') {\n $el.addClass(params.containerModifierClass + \"multirow-column\");\n }\n\n swiper.emitContainerClasses();\n }\n\n var directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n var needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n\n extend(swiper.params, breakpointParams);\n var isEnabled = swiper.params.enabled;\n extend(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 var breakpoint = false;\n var window = getWindow();\n var currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n var points = Object.keys(breakpoints).map(function (point) {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n var minRatio = parseFloat(point.substr(1));\n var value = currentHeight * minRatio;\n return {\n value: value,\n point: point\n };\n }\n\n return {\n value: point,\n point: point\n };\n });\n points.sort(function (a, b) {\n return parseInt(a.value, 10) - parseInt(b.value, 10);\n });\n\n for (var i = 0; i < points.length; i += 1) {\n var _points$i = points[i],\n point = _points$i.point,\n value = _points$i.value;\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';\nimport getBreakpoint from './getBreakpoint';\nexport default {\n setBreakpoint: setBreakpoint,\n getBreakpoint: getBreakpoint\n};","function prepareClasses(entries, prefix) {\n var resultClasses = [];\n entries.forEach(function (item) {\n if (typeof item === 'object') {\n Object.keys(item).forEach(function (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 var swiper = this;\n var classNames = swiper.classNames,\n params = swiper.params,\n rtl = swiper.rtl,\n $el = swiper.$el,\n device = swiper.device,\n support = swiper.support; // prettier-ignore\n\n var suffixes = prepareClasses(['initialized', params.direction, {\n 'pointer-events': support.pointerEvents && !support.touch\n }, {\n 'free-mode': params.freeMode\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'multirow': params.slidesPerColumn > 1\n }, {\n 'multirow-column': params.slidesPerColumn > 1 && params.slidesPerColumnFill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }], params.containerModifierClass);\n classNames.push.apply(classNames, suffixes);\n $el.addClass([].concat(classNames).join(' '));\n swiper.emitContainerClasses();\n}","export default function removeClasses() {\n var swiper = this;\n var $el = swiper.$el,\n classNames = swiper.classNames;\n $el.removeClass(classNames.join(' '));\n swiper.emitContainerClasses();\n}","import addClasses from './addClasses';\nimport removeClasses from './removeClasses';\nexport default {\n addClasses: addClasses,\n removeClasses: removeClasses\n};","import { getWindow } from 'ssr-window';\nimport $ from '../../../utils/dom';\nexport default function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {\n var window = getWindow();\n var image;\n\n function onReady() {\n if (callback) callback();\n }\n\n var 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 var 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 (var i = 0; i < swiper.imagesToLoad.length; i += 1) {\n var 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';\nimport preloadImages from './preloadImages';\nexport default {\n loadImage: loadImage,\n preloadImages: preloadImages\n};","function checkOverflow() {\n var swiper = this;\n var params = swiper.params;\n var wasLocked = swiper.isLocked;\n var lastSlidePosition = swiper.slides.length > 0 && params.slidesOffsetBefore + params.spaceBetween * (swiper.slides.length - 1) + swiper.slides[0].offsetWidth * swiper.slides.length;\n\n if (params.slidesOffsetBefore && params.slidesOffsetAfter && lastSlidePosition) {\n swiper.isLocked = lastSlidePosition <= swiper.size;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n\n swiper.allowSlideNext = !swiper.isLocked;\n swiper.allowSlidePrev = !swiper.isLocked; // events\n\n if (wasLocked !== swiper.isLocked) swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n if (swiper.navigation) swiper.navigation.update();\n }\n}\n\nexport default {\n checkOverflow: checkOverflow\n};","export default {\n init: true,\n direction: 'horizontal',\n touchEventsTarget: 'container',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: false,\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 // Free mode\n freeMode: false,\n freeModeMomentum: true,\n freeModeMomentumRatio: 1,\n freeModeMomentumBounce: true,\n freeModeMomentumBounceRatio: 1,\n freeModeMomentumVelocityRatio: 1,\n freeModeSticky: false,\n freeModeMinimumVelocity: 0.02,\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 slidesPerColumn: 1,\n slidesPerColumnFill: 'column',\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\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: false,\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 watchSlidesVisibility: 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 loopFillGroupWithBlank: false,\n loopPreventsSlide: true,\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 // NS\n containerModifierClass: 'swiper-container-',\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};","function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/* eslint no-param-reassign: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { extend, now, deleteProps } from '../../utils/utils';\nimport { getSupport } from '../../utils/get-support';\nimport { getDevice } from '../../utils/get-device';\nimport { getBrowser } from '../../utils/get-browser';\nimport Resize from '../../modules/resize/resize';\nimport Observer from '../../modules/observer/observer';\nimport modular from './modular';\nimport eventsEmitter from './events-emitter';\nimport update from './update/index';\nimport translate from './translate/index';\nimport transition from './transition/index';\nimport slide from './slide/index';\nimport loop from './loop/index';\nimport grabCursor from './grab-cursor/index';\nimport manipulation from './manipulation/index';\nimport events from './events/index';\nimport breakpoints from './breakpoints/index';\nimport classes from './classes/index';\nimport images from './images/index';\nimport checkOverflow from './check-overflow/index';\nimport defaults from './defaults';\nvar prototypes = {\n modular: modular,\n eventsEmitter: eventsEmitter,\n update: update,\n translate: translate,\n transition: transition,\n slide: slide,\n loop: loop,\n grabCursor: grabCursor,\n manipulation: manipulation,\n events: events,\n breakpoints: breakpoints,\n checkOverflow: checkOverflow,\n classes: classes,\n images: images\n};\nvar extendedDefaults = {};\n\nvar Swiper = /*#__PURE__*/function () {\n function Swiper() {\n var el;\n var 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 = args[0];\n params = args[1];\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 var swipers = [];\n $(params.el).each(function (containerEl) {\n var newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n return swipers;\n } // Swiper Instance\n\n\n var 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\n if (typeof swiper.modules === 'undefined') {\n swiper.modules = {};\n }\n\n Object.keys(swiper.modules).forEach(function (moduleName) {\n var module = swiper.modules[moduleName];\n\n if (module.params) {\n var moduleParamName = Object.keys(module.params)[0];\n var moduleParams = module.params[moduleParamName];\n if (typeof moduleParams !== 'object' || moduleParams === null) return;\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)) return;\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 }\n }); // Extend defaults with modules params\n\n var swiperParams = extend({}, defaults);\n swiper.useParams(swiperParams); // 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(function (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 extend(swiper, {\n enabled: swiper.params.enabled,\n el: el,\n // Classes\n classNames: [],\n // Slides\n slides: $(),\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal: function isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical: function isVertical() {\n return swiper.params.direction === 'vertical';\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 var touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];\n var desktop = ['mousedown', 'mousemove', 'mouseup'];\n\n if (swiper.support.pointerEvents) {\n desktop = ['pointerdown', 'pointermove', 'pointerup'];\n }\n\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 }); // Install Modules\n\n swiper.useModules();\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 var _proto = Swiper.prototype;\n\n _proto.enable = function enable() {\n var 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 _proto.disable = function disable() {\n var 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 _proto.setProgress = function setProgress(progress, speed) {\n var swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n var min = swiper.minTranslate();\n var max = swiper.maxTranslate();\n var current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n };\n\n _proto.emitContainerClasses = function emitContainerClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var classes = swiper.el.className.split(' ').filter(function (className) {\n return className.indexOf('swiper-container') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', classes.join(' '));\n };\n\n _proto.getSlideClasses = function getSlideClasses(slideEl) {\n var swiper = this;\n return slideEl.className.split(' ').filter(function (className) {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n };\n\n _proto.emitSlidesClasses = function emitSlidesClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var updates = [];\n swiper.slides.each(function (slideEl) {\n var classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl: slideEl,\n classNames: classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n };\n\n _proto.slidesPerViewDynamic = function slidesPerViewDynamic() {\n var swiper = this;\n var params = swiper.params,\n slides = swiper.slides,\n slidesGrid = swiper.slidesGrid,\n swiperSize = swiper.size,\n activeIndex = swiper.activeIndex;\n var spv = 1;\n\n if (params.centeredSlides) {\n var slideSize = slides[activeIndex].swiperSlideSize;\n var breakLoop;\n\n for (var 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 (var _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 for (var _i2 = activeIndex + 1; _i2 < slides.length; _i2 += 1) {\n if (slidesGrid[_i2] - slidesGrid[activeIndex] < swiperSize) {\n spv += 1;\n }\n }\n }\n\n return spv;\n };\n\n _proto.update = function update() {\n var swiper = this;\n if (!swiper || swiper.destroyed) return;\n var snapGrid = swiper.snapGrid,\n params = swiper.params; // 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 var translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n var newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n var translated;\n\n if (swiper.params.freeMode) {\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 _proto.changeDirection = function changeDirection(newDirection, needUpdate) {\n if (needUpdate === void 0) {\n needUpdate = true;\n }\n\n var swiper = this;\n var 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(function (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 _proto.mount = function mount(el) {\n var swiper = this;\n if (swiper.mounted) return true; // Find el\n\n var $el = $(el || swiper.params.el);\n el = $el[0];\n\n if (!el) {\n return false;\n }\n\n el.swiper = swiper;\n\n var getWrapperSelector = function getWrapperSelector() {\n return \".\" + (swiper.params.wrapperClass || '').trim().split(' ').join('.');\n };\n\n var getWrapper = function getWrapper() {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n var res = $(el.shadowRoot.querySelector(getWrapperSelector())); // Children needs to return slot items\n\n res.children = function (options) {\n return $el.children(options);\n };\n\n return res;\n }\n\n return $el.children(getWrapperSelector());\n }; // Find Wrapper\n\n\n var $wrapperEl = getWrapper();\n\n if ($wrapperEl.length === 0 && swiper.params.createElements) {\n var document = getDocument();\n var wrapper = document.createElement('div');\n $wrapperEl = $(wrapper);\n wrapper.className = swiper.params.wrapperClass;\n $el.append(wrapper);\n $el.children(\".\" + swiper.params.slideClass).each(function (slideEl) {\n $wrapperEl.append(slideEl);\n });\n }\n\n extend(swiper, {\n $el: $el,\n el: el,\n $wrapperEl: $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 _proto.init = function init(el) {\n var swiper = this;\n if (swiper.initialized) return swiper;\n var 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 _proto.destroy = function destroy(deleteInstance, cleanStyles) {\n if (deleteInstance === void 0) {\n deleteInstance = true;\n }\n\n if (cleanStyles === void 0) {\n cleanStyles = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n $el = swiper.$el,\n $wrapperEl = swiper.$wrapperEl,\n slides = swiper.slides;\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(function (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 Swiper.extendDefaults = function extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n };\n\n Swiper.installModule = function installModule(module) {\n if (!Swiper.prototype.modules) Swiper.prototype.modules = {};\n var name = module.name || Object.keys(Swiper.prototype.modules).length + \"_\" + now();\n Swiper.prototype.modules[name] = module;\n };\n\n Swiper.use = function use(module) {\n if (Array.isArray(module)) {\n module.forEach(function (m) {\n return Swiper.installModule(m);\n });\n return Swiper;\n }\n\n Swiper.installModule(module);\n return Swiper;\n };\n\n _createClass(Swiper, null, [{\n key: \"extendedDefaults\",\n get: function get() {\n return extendedDefaults;\n }\n }, {\n key: \"defaults\",\n get: function get() {\n return defaults;\n }\n }]);\n\n return Swiper;\n}();\n\nObject.keys(prototypes).forEach(function (prototypeGroup) {\n Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\nexport default Swiper;","import { getDocument, getWindow } from 'ssr-window';\n\nfunction deleteProps(obj) {\n var object = obj;\n Object.keys(object).forEach(function (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 var window = getWindow();\n var 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 var window = getWindow();\n var matrix;\n var curTransform;\n var transformMatrix;\n var 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(function (a) {\n return a.replace(',', '.');\n }).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 var to = Object(arguments.length <= 0 ? undefined : arguments[0]);\n var noExtend = ['__proto__', 'constructor', 'prototype'];\n\n for (var i = 1; i < arguments.length; i += 1) {\n var nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\n\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n var keysArray = Object.keys(Object(nextSource)).filter(function (key) {\n return noExtend.indexOf(key) < 0;\n });\n\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n var nextKey = keysArray[nextIndex];\n var 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 bindModuleMethods(instance, obj) {\n Object.keys(obj).forEach(function (key) {\n if (isObject(obj[key])) {\n Object.keys(obj[key]).forEach(function (subKey) {\n if (typeof obj[key][subKey] === 'function') {\n obj[key][subKey] = obj[key][subKey].bind(instance);\n }\n });\n }\n\n instance[key] = obj[key];\n });\n}\n\nfunction 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}\n\nfunction createElementIfNotDefined($container, params, createElements, checkProps) {\n var document = getDocument();\n\n if (createElements) {\n Object.keys(checkProps).forEach(function (key) {\n if (!params[key] && params.auto === true) {\n var element = document.createElement('div');\n element.className = checkProps[key];\n $container.append(element);\n params[key] = element;\n }\n });\n }\n\n return params;\n}\n\nexport { deleteProps, nextTick, now, getTranslate, isObject, extend, bindModuleMethods, getComputedStyle, classesToSelector, createElementIfNotDefined };","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Coverflow = {\n setTranslate: function setTranslate() {\n var swiper = this;\n var swiperWidth = swiper.width,\n swiperHeight = swiper.height,\n slides = swiper.slides,\n slidesSizesGrid = swiper.slidesSizesGrid;\n var params = swiper.params.coverflowEffect;\n var isHorizontal = swiper.isHorizontal();\n var transform = swiper.translate;\n var center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;\n var rotate = isHorizontal ? params.rotate : -params.rotate;\n var translate = params.depth; // Each slide offset from center\n\n for (var i = 0, length = slides.length; i < length; i += 1) {\n var $slideEl = slides.eq(i);\n var slideSize = slidesSizesGrid[i];\n var slideOffset = $slideEl[0].swiperSlideOffset;\n var offsetMultiplier = (center - slideOffset - slideSize / 2) / slideSize * params.modifier;\n var rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\n var rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; // var rotateZ = 0\n\n var translateZ = -translate * Math.abs(offsetMultiplier);\n var stretch = params.stretch; // Allow percentage to make a relative stretch for responsive sliders\n\n if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) {\n stretch = parseFloat(params.stretch) / 100 * slideSize;\n }\n\n var translateY = isHorizontal ? 0 : stretch * offsetMultiplier;\n var translateX = isHorizontal ? stretch * offsetMultiplier : 0;\n var scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier); // Fix for ultra small values\n\n if (Math.abs(translateX) < 0.001) translateX = 0;\n if (Math.abs(translateY) < 0.001) translateY = 0;\n if (Math.abs(translateZ) < 0.001) translateZ = 0;\n if (Math.abs(rotateY) < 0.001) rotateY = 0;\n if (Math.abs(rotateX) < 0.001) rotateX = 0;\n if (Math.abs(scale) < 0.001) scale = 0;\n var slideTransform = \"translate3d(\" + translateX + \"px,\" + translateY + \"px,\" + translateZ + \"px) rotateX(\" + rotateX + \"deg) rotateY(\" + rotateY + \"deg) scale(\" + scale + \")\";\n $slideEl.transform(slideTransform);\n $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\n\n if (params.slideShadows) {\n // Set shadows\n var $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n var $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n\n if ($shadowBeforeEl.length === 0) {\n $shadowBeforeEl = $(\"
\");\n $slideEl.append($shadowBeforeEl);\n }\n\n if ($shadowAfterEl.length === 0) {\n $shadowAfterEl = $(\"
\");\n $slideEl.append($shadowAfterEl);\n }\n\n if ($shadowBeforeEl.length) $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\n if ($shadowAfterEl.length) $shadowAfterEl[0].style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;\n }\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n swiper.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n }\n};\nexport default {\n name: 'effect-coverflow',\n params: {\n coverflowEffect: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n scale: 1,\n modifier: 1,\n slideShadows: true\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n coverflowEffect: _extends({}, Coverflow)\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n if (swiper.params.effect !== 'coverflow') return;\n swiper.classNames.push(swiper.params.containerModifierClass + \"coverflow\");\n swiper.classNames.push(swiper.params.containerModifierClass + \"3d\");\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n },\n setTranslate: function setTranslate(swiper) {\n if (swiper.params.effect !== 'coverflow') return;\n swiper.coverflowEffect.setTranslate();\n },\n setTransition: function setTransition(swiper, duration) {\n if (swiper.params.effect !== 'coverflow') return;\n swiper.coverflowEffect.setTransition(duration);\n }\n }\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","/**\n * Data mask pattern reference\n * @type {Object}\n */\nexports.Patterns = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n}\n\n/**\n * Weighted penalty scores for the undesirable features\n * @type {Object}\n */\nconst PenaltyScores = {\n N1: 3,\n N2: 3,\n N3: 40,\n N4: 10\n}\n\n/**\n * Check if mask pattern value is valid\n *\n * @param {Number} mask Mask pattern\n * @return {Boolean} true if valid, false otherwise\n */\nexports.isValid = function isValid (mask) {\n return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n}\n\n/**\n * Returns mask pattern from a value.\n * If value is not valid, returns undefined\n *\n * @param {Number|String} value Mask pattern value\n * @return {Number} Valid mask pattern or undefined\n */\nexports.from = function from (value) {\n return exports.isValid(value) ? parseInt(value, 10) : undefined\n}\n\n/**\n* Find adjacent modules in row/column with the same color\n* and assign a penalty value.\n*\n* Points: N1 + i\n* i is the amount by which the number of adjacent modules of the same color exceeds 5\n*/\nexports.getPenaltyN1 = function getPenaltyN1 (data) {\n const size = data.size\n let points = 0\n let sameCountCol = 0\n let sameCountRow = 0\n let lastCol = null\n let lastRow = null\n\n for (let row = 0; row < size; row++) {\n sameCountCol = sameCountRow = 0\n lastCol = lastRow = null\n\n for (let col = 0; col < size; col++) {\n let module = data.get(row, col)\n if (module === lastCol) {\n sameCountCol++\n } else {\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n lastCol = module\n sameCountCol = 1\n }\n\n module = data.get(col, row)\n if (module === lastRow) {\n sameCountRow++\n } else {\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n lastRow = module\n sameCountRow = 1\n }\n }\n\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n }\n\n return points\n}\n\n/**\n * Find 2x2 blocks with the same color and assign a penalty value\n *\n * Points: N2 * (m - 1) * (n - 1)\n */\nexports.getPenaltyN2 = function getPenaltyN2 (data) {\n const size = data.size\n let points = 0\n\n for (let row = 0; row < size - 1; row++) {\n for (let col = 0; col < size - 1; col++) {\n const last = data.get(row, col) +\n data.get(row, col + 1) +\n data.get(row + 1, col) +\n data.get(row + 1, col + 1)\n\n if (last === 4 || last === 0) points++\n }\n }\n\n return points * PenaltyScores.N2\n}\n\n/**\n * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n * preceded or followed by light area 4 modules wide\n *\n * Points: N3 * number of pattern found\n */\nexports.getPenaltyN3 = function getPenaltyN3 (data) {\n const size = data.size\n let points = 0\n let bitsCol = 0\n let bitsRow = 0\n\n for (let row = 0; row < size; row++) {\n bitsCol = bitsRow = 0\n for (let col = 0; col < size; col++) {\n bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col)\n if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++\n\n bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row)\n if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++\n }\n }\n\n return points * PenaltyScores.N3\n}\n\n/**\n * Calculate proportion of dark modules in entire symbol\n *\n * Points: N4 * k\n *\n * k is the rating of the deviation of the proportion of dark modules\n * in the symbol from 50% in steps of 5%\n */\nexports.getPenaltyN4 = function getPenaltyN4 (data) {\n let darkCount = 0\n const modulesCount = data.data.length\n\n for (let i = 0; i < modulesCount; i++) darkCount += data.data[i]\n\n const k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10)\n\n return k * PenaltyScores.N4\n}\n\n/**\n * Return mask value at given position\n *\n * @param {Number} maskPattern Pattern reference value\n * @param {Number} i Row\n * @param {Number} j Column\n * @return {Boolean} Mask value\n */\nfunction getMaskAt (maskPattern, i, j) {\n switch (maskPattern) {\n case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n case exports.Patterns.PATTERN001: return i % 2 === 0\n case exports.Patterns.PATTERN010: return j % 3 === 0\n case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n default: throw new Error('bad maskPattern:' + maskPattern)\n }\n}\n\n/**\n * Apply a mask pattern to a BitMatrix\n *\n * @param {Number} pattern Pattern reference number\n * @param {BitMatrix} data BitMatrix data\n */\nexports.applyMask = function applyMask (pattern, data) {\n const size = data.size\n\n for (let col = 0; col < size; col++) {\n for (let row = 0; row < size; row++) {\n if (data.isReserved(row, col)) continue\n data.xor(row, col, getMaskAt(pattern, row, col))\n }\n }\n}\n\n/**\n * Returns the best mask pattern for data\n *\n * @param {BitMatrix} data\n * @return {Number} Mask pattern reference number\n */\nexports.getBestMask = function getBestMask (data, setupFormatFunc) {\n const numPatterns = Object.keys(exports.Patterns).length\n let bestPattern = 0\n let lowerPenalty = Infinity\n\n for (let p = 0; p < numPatterns; p++) {\n setupFormatFunc(p)\n exports.applyMask(p, data)\n\n // Calculate penalty\n const penalty =\n exports.getPenaltyN1(data) +\n exports.getPenaltyN2(data) +\n exports.getPenaltyN3(data) +\n exports.getPenaltyN4(data)\n\n // Undo previously applied mask\n exports.applyMask(p, data)\n\n if (penalty < lowerPenalty) {\n lowerPenalty = penalty\n bestPattern = p\n }\n }\n\n return bestPattern\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) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index =\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n }\n finally {\n activeEffectScope = currentEffectScope;\n }\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n // nested scope, dereference from parent to avoid memory leaks\n if (!this.detached && this.parent && !fromParent) {\n // optimized O(1) removal\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = undefined;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`onScopeDispose() is called when there is no active effect scope` +\n ` to be associated with.`);\n }\n}\n\nconst createDep = (effects) => {\n const dep = new Set(effects);\n dep.w = 0;\n dep.n = 0;\n return dep;\n};\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\nconst initDepMarkers = ({ deps }) => {\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].w |= trackOpBit; // set was tracked\n }\n }\n};\nconst finalizeDepMarkers = (effect) => {\n const { deps } = effect;\n if (deps.length) {\n let ptr = 0;\n for (let i = 0; i < deps.length; i++) {\n const dep = deps[i];\n if (wasTracked(dep) && !newTracked(dep)) {\n dep.delete(effect);\n }\n else {\n deps[ptr++] = dep;\n }\n // clear bits\n dep.w &= ~trackOpBit;\n dep.n &= ~trackOpBit;\n }\n deps.length = ptr;\n }\n};\n\nconst targetMap = new WeakMap();\n// The number of effects currently being tracked recursively.\nlet effectTrackDepth = 0;\nlet trackOpBit = 1;\n/**\n * The bitwise track markers support at most 30 levels of recursion.\n * This value is chosen to enable modern JS engines to use a SMI on all platforms.\n * When recursion depth is greater, fall back to using a full cleanup.\n */\nconst maxMarkerBits = 30;\nlet activeEffect;\nconst ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');\nconst MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');\nclass ReactiveEffect {\n constructor(fn, scheduler = null, scope) {\n this.fn = fn;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n this.parent = undefined;\n recordEffectScope(this, scope);\n }\n run() {\n if (!this.active) {\n return this.fn();\n }\n let parent = activeEffect;\n let lastShouldTrack = shouldTrack;\n while (parent) {\n if (parent === this) {\n return;\n }\n parent = parent.parent;\n }\n try {\n this.parent = activeEffect;\n activeEffect = this;\n shouldTrack = true;\n trackOpBit = 1 << ++effectTrackDepth;\n if (effectTrackDepth <= maxMarkerBits) {\n initDepMarkers(this);\n }\n else {\n cleanupEffect(this);\n }\n return this.fn();\n }\n finally {\n if (effectTrackDepth <= maxMarkerBits) {\n finalizeDepMarkers(this);\n }\n trackOpBit = 1 << --effectTrackDepth;\n activeEffect = this.parent;\n shouldTrack = lastShouldTrack;\n this.parent = undefined;\n if (this.deferStop) {\n this.stop();\n }\n }\n }\n stop() {\n // stopped while running itself - defer the cleanup\n if (activeEffect === this) {\n this.deferStop = true;\n }\n else if (this.active) {\n cleanupEffect(this);\n if (this.onStop) {\n this.onStop();\n }\n this.active = false;\n }\n }\n}\nfunction cleanupEffect(effect) {\n const { deps } = effect;\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].delete(effect);\n }\n deps.length = 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn);\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === undefined ? true : last;\n}\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, (depsMap = new Map()));\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, (dep = createDep()));\n }\n const eventInfo = (process.env.NODE_ENV !== 'production')\n ? { effect: activeEffect, target, type, key }\n : undefined;\n trackEffects(dep, eventInfo);\n }\n}\nfunction trackEffects(dep, debuggerEventExtraInfo) {\n let shouldTrack = false;\n if (effectTrackDepth <= maxMarkerBits) {\n if (!newTracked(dep)) {\n dep.n |= trackOpBit; // set newly tracked\n shouldTrack = !wasTracked(dep);\n }\n }\n else {\n // Full cleanup mode.\n shouldTrack = !dep.has(activeEffect);\n }\n if (shouldTrack) {\n dep.add(activeEffect);\n activeEffect.deps.push(dep);\n if ((process.env.NODE_ENV !== 'production') && activeEffect.onTrack) {\n activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo));\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n // never been tracked\n return;\n }\n let deps = [];\n if (type === \"clear\" /* TriggerOpTypes.CLEAR */) {\n // collection being cleared\n // trigger all effects for target\n deps = [...depsMap.values()];\n }\n else if (key === 'length' && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key) => {\n if (key === 'length' || key >= newLength) {\n deps.push(dep);\n }\n });\n }\n else {\n // schedule runs for SET | ADD | DELETE\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n // also run for iteration key on ADD | DELETE | Map.SET\n switch (type) {\n case \"add\" /* TriggerOpTypes.ADD */:\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n else if (isIntegerKey(key)) {\n // new index added to array -> length changes\n deps.push(depsMap.get('length'));\n }\n break;\n case \"delete\" /* TriggerOpTypes.DELETE */:\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\" /* TriggerOpTypes.SET */:\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n const eventInfo = (process.env.NODE_ENV !== 'production')\n ? { target, type, key, newValue, oldValue, oldTarget }\n : undefined;\n if (deps.length === 1) {\n if (deps[0]) {\n if ((process.env.NODE_ENV !== 'production')) {\n triggerEffects(deps[0], eventInfo);\n }\n else {\n triggerEffects(deps[0]);\n }\n }\n }\n else {\n const effects = [];\n for (const dep of deps) {\n if (dep) {\n effects.push(...dep);\n }\n }\n if ((process.env.NODE_ENV !== 'production')) {\n triggerEffects(createDep(effects), eventInfo);\n }\n else {\n triggerEffects(createDep(effects));\n }\n }\n}\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\n // spread into array for stabilization\n const effects = isArray(dep) ? dep : [...dep];\n for (const effect of effects) {\n if (effect.computed) {\n triggerEffect(effect, debuggerEventExtraInfo);\n }\n }\n for (const effect of effects) {\n if (!effect.computed) {\n triggerEffect(effect, debuggerEventExtraInfo);\n }\n }\n}\nfunction triggerEffect(effect, debuggerEventExtraInfo) {\n if (effect !== activeEffect || effect.allowRecurse) {\n if ((process.env.NODE_ENV !== 'production') && effect.onTrigger) {\n effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));\n }\n if (effect.scheduler) {\n effect.scheduler();\n }\n else {\n effect.run();\n }\n }\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) === null || _a === void 0 ? void 0 : _a.get(key);\n}\n\nconst isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n/*#__PURE__*/\nObject.getOwnPropertyNames(Symbol)\n // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'\n // but accessing them on Symbol leads to TypeError because Symbol is a strict mode\n // function\n .filter(key => key !== 'arguments' && key !== 'caller')\n .map(key => Symbol[key])\n .filter(isSymbol));\nconst get$1 = /*#__PURE__*/ createGetter();\nconst shallowGet = /*#__PURE__*/ createGetter(false, true);\nconst readonlyGet = /*#__PURE__*/ createGetter(true);\nconst shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);\nconst arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n ['includes', 'indexOf', 'lastIndexOf'].forEach(key => {\n instrumentations[key] = function (...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\" /* TrackOpTypes.GET */, i + '');\n }\n // we run the method using the original args first (which may be reactive)\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n // if that didn't work, run it again using raw values.\n return arr[key](...args.map(toRaw));\n }\n else {\n return res;\n }\n };\n });\n ['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {\n instrumentations[key] = function (...args) {\n pauseTracking();\n const res = toRaw(this)[key].apply(this, args);\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\" /* TrackOpTypes.HAS */, key);\n return obj.hasOwnProperty(key);\n}\nfunction createGetter(isReadonly = false, shallow = false) {\n return function get(target, key, receiver) {\n if (key === \"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */) {\n return !isReadonly;\n }\n else if (key === \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */) {\n return isReadonly;\n }\n else if (key === \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */) {\n return shallow;\n }\n else if (key === \"__v_raw\" /* ReactiveFlags.RAW */ &&\n receiver ===\n (isReadonly\n ? shallow\n ? shallowReadonlyMap\n : readonlyMap\n : shallow\n ? shallowReactiveMap\n : reactiveMap).get(target)) {\n return target;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === 'hasOwnProperty') {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly) {\n track(target, \"get\" /* TrackOpTypes.GET */, key);\n }\n if (shallow) {\n return res;\n }\n if (isRef(res)) {\n // ref unwrapping - skip unwrap for Array + integer key.\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n // Convert returned value into a proxy as well. we do the isObject check\n // here to avoid invalid value warning. Also need to lazy access readonly\n // and reactive here to avoid circular dependency.\n return isReadonly ? readonly(res) : reactive(res);\n }\n return res;\n };\n}\nconst set$1 = /*#__PURE__*/ createSetter();\nconst shallowSet = /*#__PURE__*/ createSetter(true);\nfunction createSetter(shallow = false) {\n return function set(target, key, value, receiver) {\n let oldValue = target[key];\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\n return false;\n }\n if (!shallow) {\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key)\n ? Number(key) < target.length\n : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n // don't trigger if target is something up in the prototype chain of original\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, key, value);\n }\n else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\" /* TriggerOpTypes.SET */, key, value, oldValue);\n }\n }\n return result;\n };\n}\nfunction deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);\n }\n return result;\n}\nfunction has$1(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\" /* TrackOpTypes.HAS */, key);\n }\n return result;\n}\nfunction ownKeys(target) {\n track(target, \"iterate\" /* TrackOpTypes.ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);\n return Reflect.ownKeys(target);\n}\nconst mutableHandlers = {\n get: get$1,\n set: set$1,\n deleteProperty,\n has: has$1,\n ownKeys\n};\nconst readonlyHandlers = {\n get: readonlyGet,\n set(target, key) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n },\n deleteProperty(target, key) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n }\n};\nconst shallowReactiveHandlers = /*#__PURE__*/ extend({}, mutableHandlers, {\n get: shallowGet,\n set: shallowSet\n});\n// Props handlers are special in the sense that it should not unwrap top-level\n// refs (in order to allow refs to be explicitly passed down), but should\n// retain the reactivity of the normal readonly object.\nconst shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {\n get: shallowReadonlyGet\n});\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n // #1772: readonly(reactive(Map)) should return readonly + reactive version\n // of the value\n target = target[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (key !== rawKey) {\n track(rawTarget, \"get\" /* TrackOpTypes.GET */, key);\n }\n track(rawTarget, \"get\" /* TrackOpTypes.GET */, rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n }\n else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n }\n else if (target !== rawTarget) {\n // #3602 readonly(reactive(Map))\n // ensure that the nested reactive `Map` can do tracking for itself\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (key !== rawKey) {\n track(rawTarget, \"has\" /* TrackOpTypes.HAS */, key);\n }\n track(rawTarget, \"has\" /* TrackOpTypes.HAS */, rawKey);\n }\n return key === rawKey\n ? target.has(key)\n : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\" /* ReactiveFlags.RAW */];\n !isReadonly && track(toRaw(target), \"iterate\" /* TrackOpTypes.ITERATE */, ITERATE_KEY);\n return Reflect.get(target, 'size', target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, value, value);\n }\n return this;\n}\nfunction set(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, key, value);\n }\n else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\" /* TriggerOpTypes.SET */, key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : undefined;\n // forward the operation before queueing reactions\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = (process.env.NODE_ENV !== 'production')\n ? isMap(target)\n ? new Map(target)\n : new Set(target)\n : undefined;\n // forward the operation before queueing reactions\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\" /* TriggerOpTypes.CLEAR */, undefined, undefined, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\" /* TrackOpTypes.ITERATE */, ITERATE_KEY);\n return target.forEach((value, key) => {\n // important: make sure the callback is\n // 1. invoked with the reactive map as `this` and 3rd arg\n // 2. the value received should be a corresponding reactive/readonly.\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function (...args) {\n const target = this[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);\n const isKeyOnly = method === 'keys' && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly &&\n track(rawTarget, \"iterate\" /* TrackOpTypes.ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\n // return a wrapped iterator which returns observed versions of the\n // values emitted from the real iterator\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done\n ? { value, done }\n : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function (...args) {\n if ((process.env.NODE_ENV !== 'production')) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\n }\n return type === \"delete\" /* TriggerOpTypes.DELETE */ ? false : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\" /* TriggerOpTypes.ADD */),\n set: createReadonlyMethod(\"set\" /* TriggerOpTypes.SET */),\n delete: createReadonlyMethod(\"delete\" /* TriggerOpTypes.DELETE */),\n clear: createReadonlyMethod(\"clear\" /* TriggerOpTypes.CLEAR */),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\" /* TriggerOpTypes.ADD */),\n set: createReadonlyMethod(\"set\" /* TriggerOpTypes.SET */),\n delete: createReadonlyMethod(\"delete\" /* TriggerOpTypes.DELETE */),\n clear: createReadonlyMethod(\"clear\" /* TriggerOpTypes.CLEAR */),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];\n iteratorMethods.forEach(method => {\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\n shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);\n });\n return [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n ];\n}\nconst [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow\n ? isReadonly\n ? shallowReadonlyInstrumentations\n : shallowInstrumentations\n : isReadonly\n ? readonlyInstrumentations\n : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */) {\n return !isReadonly;\n }\n else if (key === \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */) {\n return isReadonly;\n }\n else if (key === \"__v_raw\" /* ReactiveFlags.RAW */) {\n return target;\n }\n return Reflect.get(hasOwn(instrumentations, key) && key in target\n ? instrumentations\n : target, key, receiver);\n };\n}\nconst mutableCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n console.warn(`Reactive ${type} contains both the raw and reactive ` +\n `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +\n `which can lead to inconsistencies. ` +\n `Avoid differentiating between the raw and reactive versions ` +\n `of an object and only use the reactive version if possible.`);\n }\n}\n\nconst reactiveMap = new WeakMap();\nconst shallowReactiveMap = new WeakMap();\nconst readonlyMap = new WeakMap();\nconst shallowReadonlyMap = new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case 'Object':\n case 'Array':\n return 1 /* TargetType.COMMON */;\n case 'Map':\n case 'Set':\n case 'WeakMap':\n case 'WeakSet':\n return 2 /* TargetType.COLLECTION */;\n default:\n return 0 /* TargetType.INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\" /* ReactiveFlags.SKIP */] || !Object.isExtensible(value)\n ? 0 /* TargetType.INVALID */\n : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n // if trying to observe a readonly proxy, return the readonly version.\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\n}\n/**\n * Return a shallowly-reactive copy of the original object, where only the root\n * level properties are reactive. It also does not auto-unwrap refs (even at the\n * root level).\n */\nfunction shallowReactive(target) {\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\n}\n/**\n * Creates a readonly copy of the original object. Note the returned copy is not\n * made reactive, but `readonly` can be called on an already reactive object.\n */\nfunction readonly(target) {\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\n}\n/**\n * Returns a reactive-copy of the original object, where only the root level\n * properties are readonly, and does NOT unwrap refs nor recursively convert\n * returned properties.\n * This is used for creating the props proxy object for stateful components.\n */\nfunction shallowReadonly(target) {\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\n}\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n // target is already a Proxy, return it.\n // exception: calling readonly() on a reactive object\n if (target[\"__v_raw\" /* ReactiveFlags.RAW */] &&\n !(isReadonly && target[\"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */])) {\n return target;\n }\n // target already has corresponding Proxy\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n // only specific value types can be observed.\n const targetType = getTargetType(target);\n if (targetType === 0 /* TargetType.INVALID */) {\n return target;\n }\n const proxy = new Proxy(target, targetType === 2 /* TargetType.COLLECTION */ ? collectionHandlers : baseHandlers);\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\" /* ReactiveFlags.RAW */]);\n }\n return !!(value && value[\"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\" /* ReactiveFlags.RAW */];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n def(value, \"__v_skip\" /* ReactiveFlags.SKIP */, true);\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref) {\n if (shouldTrack && activeEffect) {\n ref = toRaw(ref);\n if ((process.env.NODE_ENV !== 'production')) {\n trackEffects(ref.dep || (ref.dep = createDep()), {\n target: ref,\n type: \"get\" /* TrackOpTypes.GET */,\n key: 'value'\n });\n }\n else {\n trackEffects(ref.dep || (ref.dep = createDep()));\n }\n }\n}\nfunction triggerRefValue(ref, newVal) {\n ref = toRaw(ref);\n const dep = ref.dep;\n if (dep) {\n if ((process.env.NODE_ENV !== 'production')) {\n triggerEffects(dep, {\n target: ref,\n type: \"set\" /* TriggerOpTypes.SET */,\n key: 'value',\n newValue: newVal\n });\n }\n else {\n triggerEffects(dep);\n }\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = undefined;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, newVal);\n }\n }\n}\nfunction triggerRef(ref) {\n triggerRefValue(ref, (process.env.NODE_ENV !== 'production') ? ref.value : void 0);\n}\nfunction unref(ref) {\n return isRef(ref) ? ref.value : ref;\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs)\n ? objectWithRefs\n : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = undefined;\n this.__v_isRef = true;\n const { get, set } = factory(() => trackRefValue(this), () => triggerRefValue(this));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if ((process.env.NODE_ENV !== 'production') && !isProxy(object)) {\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = toRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === undefined ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nfunction toRef(object, key, defaultValue) {\n const val = object[key];\n return isRef(val)\n ? val\n : new ObjectRefImpl(object, key, defaultValue);\n}\n\nvar _a$1;\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this._setter = _setter;\n this.dep = undefined;\n this.__v_isRef = true;\n this[_a$1] = false;\n this._dirty = true;\n this.effect = new ReactiveEffect(getter, () => {\n if (!this._dirty) {\n this._dirty = true;\n triggerRefValue(this);\n }\n });\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */] = isReadonly;\n }\n get value() {\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\n const self = toRaw(this);\n trackRefValue(self);\n if (self._dirty || !self._cacheable) {\n self._dirty = false;\n self._value = self.effect.run();\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n}\n_a$1 = \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */;\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = (process.env.NODE_ENV !== 'production')\n ? () => {\n console.warn('Write operation failed: computed value is readonly');\n }\n : NOOP;\n }\n else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if ((process.env.NODE_ENV !== 'production') && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nvar _a;\nconst tick = /*#__PURE__*/ Promise.resolve();\nconst queue = [];\nlet queued = false;\nconst scheduler = (fn) => {\n queue.push(fn);\n if (!queued) {\n queued = true;\n tick.then(flush);\n }\n};\nconst flush = () => {\n for (let i = 0; i < queue.length; i++) {\n queue[i]();\n }\n queue.length = 0;\n queued = false;\n};\nclass DeferredComputedRefImpl {\n constructor(getter) {\n this.dep = undefined;\n this._dirty = true;\n this.__v_isRef = true;\n this[_a] = true;\n let compareTarget;\n let hasCompareTarget = false;\n let scheduled = false;\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\n if (this.dep) {\n if (computedTrigger) {\n compareTarget = this._value;\n hasCompareTarget = true;\n }\n else if (!scheduled) {\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\n scheduled = true;\n hasCompareTarget = false;\n scheduler(() => {\n if (this.effect.active && this._get() !== valueToCompare) {\n triggerRefValue(this);\n }\n scheduled = false;\n });\n }\n // chained upstream computeds are notified synchronously to ensure\n // value invalidation in case of sync access; normal effects are\n // deferred to be triggered in scheduler.\n for (const e of this.dep) {\n if (e.computed instanceof DeferredComputedRefImpl) {\n e.scheduler(true /* computedTrigger */);\n }\n }\n }\n this._dirty = true;\n });\n this.effect.computed = this;\n }\n _get() {\n if (this._dirty) {\n this._dirty = false;\n return (this._value = this.effect.run());\n }\n return this._value;\n }\n get value() {\n trackRefValue(this);\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\n return toRaw(this)._get();\n }\n}\n_a = \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */;\nfunction deferredComputed(getter) {\n return new DeferredComputedRefImpl(getter);\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, getCurrentScope, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, proxyRefs, markRaw, EffectScope, 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, looseToNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, toNumber, hasChanged, remove, isSet, isMap, isPlainObject, invokeArrayFns, isRegExp, 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 = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn(msg, ...args) {\n if (!(process.env.NODE_ENV !== 'production'))\n return;\n // avoid props formatting or warn handler tracking deps that might be mutated\n // during patch, leading to infinite recursion.\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(appWarnHandler, instance, 11 /* ErrorCodes.APP_WARN_HANDLER */, [\n msg + args.join(''),\n instance && instance.proxy,\n trace\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\n .join('\\n'),\n trace\n ]);\n }\n else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n /* istanbul ignore if */\n if (trace.length &&\n // avoid spamming console during tests\n !false) {\n warnArgs.push(`\\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n // we can't just use the stack because it will be incomplete during updates\n // that did not start from the root. Re-construct the parent chain using\n // instance parent pointers.\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n }\n else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\n/* istanbul ignore next */\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\n const close = `>` + postfix;\n return vnode.props\n ? [open, ...formatProps(vnode.props), close]\n : [open + close];\n}\n/* istanbul ignore next */\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach(key => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\n/* istanbul ignore next */\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n }\n else if (typeof value === 'number' ||\n typeof value === 'boolean' ||\n value == null) {\n return raw ? value : [`${key}=${value}`];\n }\n else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n }\n else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n }\n else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\n/**\n * @internal\n */\nfunction assertNumber(val, type) {\n if (!(process.env.NODE_ENV !== 'production'))\n return;\n if (val === undefined) {\n return;\n }\n else if (typeof val !== 'number') {\n warn(`${type} is not a valid number - ` + `got ${JSON.stringify(val)}.`);\n }\n else if (isNaN(val)) {\n warn(`${type} is NaN - ` + 'the duration expression might be incorrect.');\n }\n}\n\nconst ErrorTypeStrings = {\n [\"sp\" /* LifecycleHooks.SERVER_PREFETCH */]: 'serverPrefetch hook',\n [\"bc\" /* LifecycleHooks.BEFORE_CREATE */]: 'beforeCreate hook',\n [\"c\" /* LifecycleHooks.CREATED */]: 'created hook',\n [\"bm\" /* LifecycleHooks.BEFORE_MOUNT */]: 'beforeMount hook',\n [\"m\" /* LifecycleHooks.MOUNTED */]: 'mounted hook',\n [\"bu\" /* LifecycleHooks.BEFORE_UPDATE */]: 'beforeUpdate hook',\n [\"u\" /* LifecycleHooks.UPDATED */]: 'updated',\n [\"bum\" /* LifecycleHooks.BEFORE_UNMOUNT */]: 'beforeUnmount hook',\n [\"um\" /* LifecycleHooks.UNMOUNTED */]: 'unmounted hook',\n [\"a\" /* LifecycleHooks.ACTIVATED */]: 'activated hook',\n [\"da\" /* LifecycleHooks.DEACTIVATED */]: 'deactivated hook',\n [\"ec\" /* LifecycleHooks.ERROR_CAPTURED */]: 'errorCaptured hook',\n [\"rtc\" /* LifecycleHooks.RENDER_TRACKED */]: 'renderTracked hook',\n [\"rtg\" /* LifecycleHooks.RENDER_TRIGGERED */]: 'renderTriggered hook',\n [0 /* ErrorCodes.SETUP_FUNCTION */]: 'setup function',\n [1 /* ErrorCodes.RENDER_FUNCTION */]: 'render function',\n [2 /* ErrorCodes.WATCH_GETTER */]: 'watcher getter',\n [3 /* ErrorCodes.WATCH_CALLBACK */]: 'watcher callback',\n [4 /* ErrorCodes.WATCH_CLEANUP */]: 'watcher cleanup function',\n [5 /* ErrorCodes.NATIVE_EVENT_HANDLER */]: 'native event handler',\n [6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */]: 'component event handler',\n [7 /* ErrorCodes.VNODE_HOOK */]: 'vnode hook',\n [8 /* ErrorCodes.DIRECTIVE_HOOK */]: 'directive hook',\n [9 /* ErrorCodes.TRANSITION_HOOK */]: 'transition hook',\n [10 /* ErrorCodes.APP_ERROR_HANDLER */]: 'app errorHandler',\n [11 /* ErrorCodes.APP_WARN_HANDLER */]: 'app warnHandler',\n [12 /* ErrorCodes.FUNCTION_REF */]: 'ref function',\n [13 /* ErrorCodes.ASYNC_COMPONENT_LOADER */]: 'async component loader',\n [14 /* ErrorCodes.SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n let res;\n try {\n res = args ? fn(...args) : fn();\n }\n catch (err) {\n handleError(err, instance, type);\n }\n return res;\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch(err => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n // the exposed instance is the render proxy to keep it consistent with 2.x\n const exposedInstance = instance.proxy;\n // in production the hook receives only the error code\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n // app-level handling\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(appErrorHandler, null, 10 /* ErrorCodes.APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if ((process.env.NODE_ENV !== 'production')) {\n const info = ErrorTypeStrings[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n // crash in dev by default so it's more noticeable\n if (throwInDev) {\n throw err;\n }\n else {\n console.error(err);\n }\n }\n else {\n // recover in prod to reduce the impact on end-user\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /*#__PURE__*/ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\n// #2768\n// Use binary-search to find a suitable position in the queue,\n// so that the queue maintains the increasing order of job's id,\n// which can prevent the job from being skipped and also can avoid repeated patching.\nfunction findInsertionIndex(id) {\n // the start index should be `flushIndex + 1`\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = (start + end) >>> 1;\n const middleJobId = getId(queue[middle]);\n middleJobId < id ? (start = middle + 1) : (end = middle);\n }\n return start;\n}\nfunction queueJob(job) {\n // the dedupe search uses the startIndex argument of Array.includes()\n // by default the search index includes the current job that is being run\n // so it cannot recursively trigger itself again.\n // if the job is a watch() callback, the search will start with a +1 index to\n // allow it recursively trigger itself - it is the user's responsibility to\n // ensure it doesn't end up in an infinite loop.\n if (!queue.length ||\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) {\n if (job.id == null) {\n queue.push(job);\n }\n else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs ||\n !activePostFlushCbs.includes(cb, cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex)) {\n pendingPostFlushCbs.push(cb);\n }\n }\n else {\n // if cb is an array, it is a component lifecycle hook which can only be\n // triggered by a job, which is already deduped in the main queue, so\n // we can skip duplicate check here to improve perf\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(seen, \n// if currently flushing, skip the current job itself\ni = isFlushing ? flushIndex + 1 : 0) {\n if ((process.env.NODE_ENV !== 'production')) {\n seen = seen || new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if ((process.env.NODE_ENV !== 'production') && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)];\n pendingPostFlushCbs.length = 0;\n // #1947 already has active queue, nested flushPostFlushCbs call\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if ((process.env.NODE_ENV !== 'production')) {\n seen = seen || new Map();\n }\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if ((process.env.NODE_ENV !== 'production') &&\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if ((process.env.NODE_ENV !== 'production')) {\n seen = seen || new Map();\n }\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child so its render effect will have smaller\n // priority number)\n // 2. If a component is unmounted during a parent component's update,\n // its update can be skipped.\n queue.sort(comparator);\n // conditional usage of checkRecursiveUpdate must be determined out of\n // try ... catch block since Rollup by default de-optimizes treeshaking\n // inside try-catch. This can leave all warning code unshaked. Although\n // they would get eventually shaken by a minifier like terser, some minifiers\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\n const check = (process.env.NODE_ENV !== 'production')\n ? (job) => checkRecursiveUpdates(seen, job)\n : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if ((process.env.NODE_ENV !== 'production') && check(job)) {\n continue;\n }\n // console.log(`running:`, job.id)\n callWithErrorHandling(job, null, 14 /* ErrorCodes.SCHEDULER */);\n }\n }\n }\n finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n // some postFlushCb queued jobs!\n // keep flushing until it drains.\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n }\n else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\n `This means you have a reactive effect that is mutating its own ` +\n `dependencies and thus recursively triggering itself. Possible sources ` +\n `include component template, render function, updated hook or ` +\n `watcher source function.`);\n return true;\n }\n else {\n seen.set(fn, count + 1);\n }\n }\n}\n\n/* eslint-disable no-restricted-globals */\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = new Set();\n// Expose the HMR runtime on the global object\n// This makes it entirely tree-shakable without polluting the exports and makes\n// it easier to be used in toolings like vue-loader\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\n// to be set so that its instances can be registered / removed.\nif ((process.env.NODE_ENV !== 'production')) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n // update initial record (for not-yet-rendered component)\n record.initialDef.render = newRender;\n [...record.instances].forEach(instance => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n // this flag forces child components with slot content to update\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record)\n return;\n newComp = normalizeClassComponent(newComp);\n // update initial def (for not-yet-rendered components)\n updateComponentDef(record.initialDef, newComp);\n // create a snapshot which avoids the set being mutated during updates\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n // 1. Update existing comp definition to match new one\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n // 2. mark definition dirty. This forces the renderer to replace the\n // component on patch.\n hmrDirtyComponents.add(oldComp);\n }\n // 3. invalidate options resolution cache\n instance.appContext.optionsCache.delete(instance.type);\n // 4. actually update\n if (instance.ceReload) {\n // custom element\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n }\n else if (instance.parent) {\n // 4. Force the parent instance to re-render. This will cause all updated\n // components to be unmounted and re-mounted. Queue the update so that we\n // don't end up forcing the same parent to re-render multiple times.\n queueJob(instance.parent.update);\n }\n else if (instance.appContext.reload) {\n // root instance mounted via createApp() has a reload method\n instance.appContext.reload();\n }\n else if (typeof window !== 'undefined') {\n // root instance inside tree created via raw render(). Force reload.\n window.location.reload();\n }\n else {\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\n }\n }\n // 5. make sure to cleanup dirty hmr components after update\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(normalizeClassComponent(instance.type));\n }\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== '__file' && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n }\n catch (e) {\n console.error(e);\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\n `Full reload required.`);\n }\n };\n}\n\nlet devtools;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools) {\n devtools.emit(event, ...args);\n }\n else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n devtools = hook;\n if (devtools) {\n devtools.enabled = true;\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\n buffer = [];\n }\n else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== 'undefined' &&\n // some envs mock window but not fully\n window.HTMLElement &&\n // also exclude jsdom\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n // clear buffer after 3s - the user probably doesn't have devtools installed\n // at all, and keeping the buffer will cause memory leaks (#4738)\n setTimeout(() => {\n if (!devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3000);\n }\n else {\n // non-browser env, assume not installed\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* DevtoolsHooks.APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* DevtoolsHooks.APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* DevtoolsHooks.COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = \n/*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* DevtoolsHooks.COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* DevtoolsHooks.COMPONENT_REMOVED */);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools &&\n typeof devtools.cleanupBuffer === 'function' &&\n // remove the component if it wasn't buffered\n !devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\n };\n}\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* DevtoolsHooks.PERFORMANCE_START */);\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* DevtoolsHooks.PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\"component:emit\" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if ((process.env.NODE_ENV !== 'production')) {\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) &&\n !(false )) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\n }\n }\n else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith('update:');\n // for v-model update:xxx events, apply modifiers on args\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map(a => (isString(a) ? a.trim() : a));\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if ((process.env.NODE_ENV !== 'production')) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\n `Note that HTML attributes are case-insensitive and you cannot use ` +\n `v-on to listen to camelCase events when using in-DOM templates. ` +\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\n }\n }\n let handlerName;\n let handler = props[(handlerName = toHandlerKey(event))] ||\n // also try camelCase event handler (#2249)\n props[(handlerName = toHandlerKey(camelize(event)))];\n // for v-model update:xxx events, also trigger kebab-case equivalent\n // for props passed via kebab-case\n if (!handler && isModelListener) {\n handler = props[(handlerName = toHandlerKey(hyphenate(event)))];\n }\n if (handler) {\n callWithAsyncErrorHandling(handler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n }\n else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== undefined) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n // apply mixin/extends props\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach(key => (normalized[key] = null));\n }\n else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\n// Check if an incoming prop key is a declared emit event listener.\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\n// both considered matched listeners.\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, '');\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\n hasOwn(options, hyphenate(key)) ||\n hasOwn(options, key));\n}\n\n/**\n * mark the current rendering instance for asset resolution (e.g.\n * resolveComponent, resolveDirective) during render\n */\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\n/**\n * Note: rendering calls maybe nested. The function returns the parent rendering\n * instance if present, which should be restored after the render is done:\n *\n * ```js\n * const prev = setCurrentRenderingInstance(i)\n * // ...render\n * setCurrentRenderingInstance(prev)\n * ```\n */\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = (instance && instance.type.__scopeId) || null;\n return prev;\n}\n/**\n * Set scope id when creating hoisted vnodes.\n * @private compiler helper\n */\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\n/**\n * Technically we no longer need this after 3.0.8 but we need to keep the same\n * API for backwards compat w/ code generated by compilers.\n * @private\n */\nfunction popScopeId() {\n currentScopeId = null;\n}\n/**\n * Only for backwards compat\n * @private\n */\nconst withScopeId = (_id) => withCtx;\n/**\n * Wrap a slot function to memoize current rendering instance\n * @private compiler helper\n */\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\n) {\n if (!ctx)\n return fn;\n // already normalized\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n // If a user calls a compiled slot inside a template expression (#1745), it\n // can mess up block tracking, so by default we disable block tracking and\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\n // This isn't necessary if rendering a compiled ``, so we flip the\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n }\n finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n // mark normalized to avoid duplicated wrapping\n renderFnWithContext._n = true;\n // mark this as compiled by default\n // this is used in vnode.ts -> normalizeChildren() to set the slot\n // rendering flag.\n renderFnWithContext._c = true;\n // disable block tracking by default\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\n/**\n * dev only flag to track whether $attrs was used during render.\n * If $attrs was used during render then the warning for failed attrs\n * fallthrough can be suppressed.\n */\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\n let result;\n let fallthroughAttrs;\n const prev = setCurrentRenderingInstance(instance);\n if ((process.env.NODE_ENV !== 'production')) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */) {\n // withProxy is a proxy with a different `has` trap only for\n // runtime-compiled render functions using `with` block.\n const proxyToUse = withProxy || proxy;\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\n fallthroughAttrs = attrs;\n }\n else {\n // functional\n const render = Component;\n // in dev, mark attrs accessed if optional props (attrs === props)\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(render.length > 1\n ? render(props, (process.env.NODE_ENV !== 'production')\n ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n }\n : { attrs, slots, emit })\n : render(props, null /* we know it doesn't need it */));\n fallthroughAttrs = Component.props\n ? attrs\n : getFunctionalFallthrough(attrs);\n }\n }\n catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1 /* ErrorCodes.RENDER_FUNCTION */);\n result = createVNode(Comment);\n }\n // attr merging\n // in dev mode, comments are preserved, and it's possible for a template\n // to have comments along side the root element which makes it a fragment\n let root = result;\n let setRoot = undefined;\n if ((process.env.NODE_ENV !== 'production') &&\n result.patchFlag > 0 &&\n result.patchFlag & 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 /* ShapeFlags.ELEMENT */ | 6 /* ShapeFlags.COMPONENT */)) {\n if (propsOptions && keys.some(isModelListener)) {\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\n // prop, it indicates this component expects to handle v-model and\n // it should not fallthrough.\n // related: #1543, #1643, #1989\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\n }\n root = cloneVNode(root, fallthroughAttrs);\n }\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if (isOn(key)) {\n // ignore v-model handlers when they fail to fallthrough\n if (!isModelListener(key)) {\n // remove `on`, lowercase first letter to reflect event casing\n // accurately\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n }\n else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn(`Extraneous non-props attributes (` +\n `${extraAttrs.join(', ')}) ` +\n `were passed to component but could not be automatically inherited ` +\n `because component renders fragment or text root nodes.`);\n }\n if (eventAttrs.length) {\n warn(`Extraneous non-emits event listeners (` +\n `${eventAttrs.join(', ')}) ` +\n `were passed to component but could not be automatically inherited ` +\n `because component renders fragment or text root nodes. ` +\n `If the listener is intended to be a component custom event listener only, ` +\n `declare it using the \"emits\" option.`);\n }\n }\n }\n }\n // inherit directives\n if (vnode.dirs) {\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\n warn(`Runtime directive used on component with non-element root node. ` +\n `The directives will not function as intended.`);\n }\n // clone before mutating since the root may be a hoisted vnode\n root = cloneVNode(root);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n // inherit transition data\n if (vnode.transition) {\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\n warn(`Component inside renders non-element root node ` +\n `that cannot be animated.`);\n }\n root.transition = vnode.transition;\n }\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\n setRoot(root);\n }\n else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\n/**\n * dev only\n * In dev mode, template root level comments are rendered, which turns the\n * template into a fragment root, but we need to locate the single element\n * root for attrs and scope id processing.\n */\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren);\n if (!childRoot) {\n return [vnode, undefined];\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n }\n else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n // ignore user comment\n if (child.type !== Comment || child.children === 'v-if') {\n if (singleRoot) {\n // has more than 1 non-comment child, return now\n return;\n }\n else {\n singleRoot = child;\n }\n }\n }\n else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === 'class' || key === 'style' || isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return (vnode.shapeFlag & (6 /* ShapeFlags.COMPONENT */ | 1 /* ShapeFlags.ELEMENT */) ||\n vnode.type === Comment // potential v-if branch switch\n );\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n // Parent component's render function was hot-updated. Since this may have\n // caused the child component's slots content to have changed, we need to\n // force the child to update as well.\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n // force child update for runtime directive or transition on component vnode.\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024 /* PatchFlags.DYNAMIC_SLOTS */) {\n // slot content that references values that might have changed,\n // e.g. in a v-for\n return true;\n }\n if (patchFlag & 16 /* PatchFlags.FULL_PROPS */) {\n if (!prevProps) {\n return !!nextProps;\n }\n // presence of this flag indicates props are always non-null\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n else if (patchFlag & 8 /* PatchFlags.PROPS */) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] &&\n !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n }\n else {\n // this path is only taken by manually written render functions\n // so presence of any children leads to a forced update\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] &&\n !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\n) {\n while (parent && parent.subTree === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n }\n}\n\nconst isSuspense = (type) => type.__isSuspense;\n// Suspense exposes a component-like API, and is treated like a component\n// in the compiler, but internally it's a special built-in type that hooks\n// directly into the renderer.\nconst SuspenseImpl = {\n name: 'Suspense',\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \n // platform-specific impl passed from renderer\n rendererInternals) {\n if (n1 == null) {\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\n }\n else {\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\n// Force-casted public typing for h and TSX props inference\nconst Suspense = (SuspenseImpl\n );\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n const { p: patch, o: { createElement } } = rendererInternals;\n const hiddenContainer = createElement('div');\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\n // start mounting the content subtree in an off-dom container\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\n // now check if we have encountered any async deps\n if (suspense.deps > 0) {\n // has async\n // invoke @fallback event\n triggerEvent(vnode, 'onPending');\n triggerEvent(vnode, 'onFallback');\n // mount the fallback tree\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds);\n setActiveBranch(suspense, vnode.ssFallback);\n }\n else {\n // Suspense has no async deps. Just resolve.\n suspense.resolve();\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = (n2.suspense = n1.suspense);\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n // same root type but content may have changed.\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n else if (isInFallback) {\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newFallback);\n }\n }\n else {\n // toggled before pending tree is resolved\n suspense.pendingId++;\n if (isHydrating) {\n // if toggled before hydration is finished, the current DOM tree is\n // no longer valid. set it as the active branch so it will be unmounted\n // when resolved\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n }\n else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n // increment pending ID. this is used to invalidate async callbacks\n // reset suspense state\n suspense.deps = 0;\n // discard effects from pending branch\n suspense.effects.length = 0;\n // discard previous container\n suspense.hiddenContainer = createElement('div');\n if (isInFallback) {\n // already in fallback state\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n else {\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newFallback);\n }\n }\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n // toggled \"back\" to current active branch\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n // force resolve\n suspense.resolve(true);\n }\n else {\n // switched to a 3rd branch\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n }\n else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n // root did not change, just normal patch\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newBranch);\n }\n else {\n // root node toggled\n // invoke @pending event\n triggerEvent(n2, 'onPending');\n // mount pending branch in off-dom container\n suspense.pendingBranch = newBranch;\n suspense.pendingId++;\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n // incoming branch has no async deps, resolve now.\n suspense.resolve();\n }\n else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n }\n else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\n hasWarned = true;\n // @ts-ignore `console.info` cannot be null error\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\n }\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\n const timeout = vnode.props ? toNumber(vnode.props.timeout) : undefined;\n if ((process.env.NODE_ENV !== 'production')) {\n assertNumber(timeout, `Suspense timeout`);\n }\n const suspense = {\n vnode,\n parent,\n parentComponent,\n isSVG,\n container,\n hiddenContainer,\n anchor,\n deps: 0,\n pendingId: 0,\n timeout: typeof timeout === 'number' ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: true,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false) {\n if ((process.env.NODE_ENV !== 'production')) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(`suspense.resolve() is called without a pending branch.`);\n }\n if (suspense.isUnmounted) {\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\n }\n }\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n }\n else if (!resume) {\n const delayEnter = activeBranch &&\n pendingBranch.transition &&\n pendingBranch.transition.mode === 'out-in';\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);\n }\n };\n }\n // this is initial anchor on mount\n let { anchor } = suspense;\n // unmount current active tree\n if (activeBranch) {\n // if the fallback tree was mounted, it may have been moved\n // as part of a parent suspense. get the latest anchor for insertion\n anchor = next(activeBranch);\n unmount(activeBranch, parentComponent, suspense, true);\n }\n if (!delayEnter) {\n // move content from off-dom container to actual container\n move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n // flush buffered effects\n // check if there is a pending parent suspense\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n // found a pending parent suspense, merge buffered post jobs\n // into that parent\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n // no pending parent suspense, flush all jobs\n if (!hasUnresolvedAncestor) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n // invoke @resolve event\n triggerEvent(vnode, 'onResolve');\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\n // invoke @fallback event\n triggerEvent(vnode, 'onFallback');\n const anchor = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n // mount the fallback tree\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n // unmount current active branch\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\n true // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container, anchor, type) {\n suspense.activeBranch &&\n move(suspense.activeBranch, container, anchor, type);\n suspense.container = container;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance\n .asyncDep.catch(err => {\n handleError(err, instance, 0 /* ErrorCodes.SETUP_FUNCTION */);\n })\n .then(asyncSetupResult => {\n // retry when the setup() promise resolves.\n // component may have been unmounted before resolve.\n if (instance.isUnmounted ||\n suspense.isUnmounted ||\n suspense.pendingId !== instance.suspenseId) {\n return;\n }\n // retry from this component\n instance.asyncResolved = true;\n const { vnode } = instance;\n if ((process.env.NODE_ENV !== 'production')) {\n pushWarningContext(vnode);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n // vnode may have been replaced if an update happened before the\n // async dep is resolved.\n vnode.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(instance, vnode, \n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el), \n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode.el);\n if ((process.env.NODE_ENV !== 'production')) {\n popWarningContext();\n }\n // only decrease deps count if suspense is not already resolved\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\n }\n if (suspense.pendingBranch) {\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n /* eslint-disable no-restricted-globals */\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\n // there are two possible scenarios for server-rendered suspense:\n // - success: ssr content should be fully resolved\n // - failure: ssr content should be the fallback branch.\n // however, on the client we don't really know if it has failed or not\n // attempt to hydrate the DOM assuming it has succeeded, but we still\n // need to construct a suspense boundary first\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\n if (suspense.deps === 0) {\n suspense.resolve();\n }\n return result;\n /* eslint-enable no-restricted-globals */\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32 /* ShapeFlags.SLOTS_CHILDREN */;\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\n vnode.ssFallback = isSlotChildren\n ? normalizeSuspenseSlot(children.fallback)\n : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n // disableTracking: false\n // allow block tracking for compiled slots\n // (see ./componentRenderContext.ts)\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (isArray(s)) {\n const singleChild = filterSingleRoot(s);\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\n warn(` slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter(c => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (isArray(fn)) {\n suspense.effects.push(...fn);\n }\n else {\n suspense.effects.push(fn);\n }\n }\n else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n const el = (vnode.el = branch.el);\n // in case suspense is the root node of a component,\n // recursively update the HOC el\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(`provide() can only be used inside setup().`);\n }\n }\n else {\n let provides = currentInstance.provides;\n // by default an instance inherits its parent's provides object\n // but when it needs to provide values of its own, it creates its\n // own provides object using parent provides object as prototype.\n // this way in `inject` we can simply look up injections from direct\n // parent and let the prototype chain do the work.\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n // TS doesn't allow symbol as index type\n provides[key] = value;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n // fallback to `currentRenderingInstance` so that this can be called in\n // a functional component\n const instance = currentInstance || currentRenderingInstance;\n if (instance) {\n // #2400\n // to support `app.use` plugins,\n // fallback to appContext's `provides` if the instance is at root\n const provides = instance.parent == null\n ? instance.vnode.appContext && instance.vnode.appContext.provides\n : instance.parent.provides;\n if (provides && key in provides) {\n // TS doesn't allow symbol as index type\n return provides[key];\n }\n else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue)\n ? defaultValue.call(instance.proxy)\n : defaultValue;\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`injection \"${String(key)}\" not found.`);\n }\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`inject() can only be used inside setup() or functional components.`);\n }\n}\n\n// Simple effect.\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production') ? Object.assign(Object.assign({}, options), { flush: 'post' }) : { flush: 'post' });\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production') ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : { flush: 'sync' });\n}\n// initial value for watchers to trigger on undefined initial values\nconst INITIAL_WATCHER_VALUE = {};\n// implementation\nfunction watch(source, cb, options) {\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\n `supports \\`watch(source, cb, options?) signature.`);\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\n if ((process.env.NODE_ENV !== 'production') && !cb) {\n if (immediate !== undefined) {\n warn(`watch() \"immediate\" option is only respected when using the ` +\n `watch(source, callback, options?) signature.`);\n }\n if (deep !== undefined) {\n warn(`watch() \"deep\" option is only respected when using the ` +\n `watch(source, callback, options?) signature.`);\n }\n }\n const warnInvalidSource = (s) => {\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\n `a reactive object, or an array of these types.`);\n };\n const instance = getCurrentScope() === (currentInstance === null || currentInstance === void 0 ? void 0 : currentInstance.scope) ? currentInstance : null;\n // const instance = currentInstance\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow$1(source);\n }\n else if (isReactive(source)) {\n getter = () => source;\n deep = true;\n }\n else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some(s => isReactive(s) || isShallow$1(s));\n getter = () => source.map(s => {\n if (isRef(s)) {\n return s.value;\n }\n else if (isReactive(s)) {\n return traverse(s);\n }\n else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2 /* ErrorCodes.WATCH_GETTER */);\n }\n else {\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\n }\n });\n }\n else if (isFunction(source)) {\n if (cb) {\n // getter with cb\n getter = () => callWithErrorHandling(source, instance, 2 /* ErrorCodes.WATCH_GETTER */);\n }\n else {\n // no cb -> simple effect\n getter = () => {\n if (instance && instance.isUnmounted) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(source, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [onCleanup]);\n };\n }\n }\n else {\n getter = NOOP;\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4 /* ErrorCodes.WATCH_CLEANUP */);\n };\n };\n // in SSR there is no need to setup an actual effect, and it should be noop\n // unless it's eager or sync flush\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n // we will also not call the invalidate callback (+ runner is not set up)\n onCleanup = NOOP;\n if (!cb) {\n getter();\n }\n else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [\n getter(),\n isMultiSource ? [] : undefined,\n onCleanup\n ]);\n }\n if (flush === 'sync') {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n }\n else {\n return NOOP;\n }\n }\n let oldValue = isMultiSource\n ? new Array(source.length).fill(INITIAL_WATCHER_VALUE)\n : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active) {\n return;\n }\n if (cb) {\n // watch(source, cb)\n const newValue = effect.run();\n if (deep ||\n forceTrigger ||\n (isMultiSource\n ? newValue.some((v, i) => hasChanged(v, oldValue[i]))\n : hasChanged(newValue, oldValue)) ||\n (false )) {\n // cleanup before running cb again\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE\n ? undefined\n : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE\n ? []\n : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n }\n else {\n // watchEffect\n effect.run();\n }\n };\n // important: mark the job as a watcher callback so that scheduler knows\n // it is allowed to self-trigger (#1727)\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === 'sync') {\n scheduler = job; // the scheduler function gets called directly\n }\n else if (flush === 'post') {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n }\n else {\n // default: 'pre'\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, scheduler);\n if ((process.env.NODE_ENV !== 'production')) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n // initial run\n if (cb) {\n if (immediate) {\n job();\n }\n else {\n oldValue = effect.run();\n }\n }\n else if (flush === 'post') {\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\n }\n else {\n effect.run();\n }\n const unwatch = () => {\n effect.stop();\n if (instance && instance.scope) {\n remove(instance.scope.effects, effect);\n }\n };\n if (ssrCleanup)\n ssrCleanup.push(unwatch);\n return unwatch;\n}\n// this.$watch\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source)\n ? source.includes('.')\n ? createPathGetter(publicThis, source)\n : () => publicThis[source]\n : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n }\n else {\n cb = value.handler;\n options = value;\n }\n const cur = currentInstance;\n setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n if (cur) {\n setCurrentInstance(cur);\n }\n else {\n unsetCurrentInstance();\n }\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split('.');\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, seen) {\n if (!isObject(value) || value[\"__v_skip\" /* ReactiveFlags.SKIP */]) {\n return value;\n }\n seen = seen || new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, seen);\n }\n else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], seen);\n }\n }\n else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, seen);\n });\n }\n else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], seen);\n }\n }\n return value;\n}\n\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevTransitionKey;\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n // locate first non-comment child\n for (const c of children) {\n if (c.type !== Comment) {\n if ((process.env.NODE_ENV !== 'production') && hasFound) {\n // warn more than one non-comment child\n warn(' can only be used on a single element or component. ' +\n 'Use for lists.');\n break;\n }\n child = c;\n hasFound = true;\n if (!(process.env.NODE_ENV !== 'production'))\n break;\n }\n }\n }\n // there's no need to track reactivity for these props so use the raw\n // props for a bit better perf\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n // check mode\n if ((process.env.NODE_ENV !== 'production') &&\n mode &&\n mode !== 'in-out' &&\n mode !== 'out-in' &&\n mode !== 'default') {\n warn(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n // in the case of , we need to\n // compare the type of the kept-alive children.\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n let transitionKeyChanged = false;\n const { getTransitionKey } = innerChild.type;\n if (getTransitionKey) {\n const key = getTransitionKey();\n if (prevTransitionKey === undefined) {\n prevTransitionKey = key;\n }\n else if (key !== prevTransitionKey) {\n prevTransitionKey = key;\n transitionKeyChanged = true;\n }\n }\n // handle mode\n if (oldInnerChild &&\n oldInnerChild.type !== Comment &&\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\n // update old tree's hooks in case of dynamic transition\n setTransitionHooks(oldInnerChild, leavingHooks);\n // switching between different views\n if (mode === 'out-in') {\n state.isLeaving = true;\n // return placeholder node and queue update when leave finishes\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n // #6835\n // it also needs to be updated when active is undefined\n if (instance.update.active !== false) {\n instance.update();\n }\n };\n return emptyPlaceholder(child);\n }\n else if (mode === 'in-out' && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n // early removal callback\n el._leaveCb = () => {\n earlyRemove();\n el._leaveCb = undefined;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\n// The transition hooks are attached to the vnode as vnode.transition\n// and will be called at appropriate timing in the renderer.\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook &&\n callWithAsyncErrorHandling(hook, instance, 9 /* ErrorCodes.TRANSITION_HOOK */, args);\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every(hook => hook.length <= 1))\n done();\n }\n else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n }\n else {\n return;\n }\n }\n // for same element (v-show)\n if (el._leaveCb) {\n el._leaveCb(true /* cancelled */);\n }\n // for toggled element with same key (v-if)\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode &&\n isSameVNodeType(vnode, leavingVNode) &&\n leavingVNode.el._leaveCb) {\n // force early removal (not cancelled)\n leavingVNode.el._leaveCb();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n }\n else {\n return;\n }\n }\n let called = false;\n const done = (el._enterCb = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n }\n else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el._enterCb = undefined;\n });\n if (hook) {\n callAsyncHook(hook, [el, done]);\n }\n else {\n done();\n }\n },\n leave(el, remove) {\n const key = String(vnode.key);\n if (el._enterCb) {\n el._enterCb(true /* cancelled */);\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = (el._leaveCb = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n }\n else {\n callHook(onAfterLeave, [el]);\n }\n el._leaveCb = undefined;\n if (leavingVNodesCache[key] === vnode) {\n delete leavingVNodesCache[key];\n }\n });\n leavingVNodesCache[key] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n }\n else {\n done();\n }\n },\n clone(vnode) {\n return resolveTransitionHooks(vnode, props, state, instance);\n }\n };\n return hooks;\n}\n// the placeholder really only handles one special case: KeepAlive\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\n// placeholder with empty content to avoid the KeepAlive instance from being\n// unmounted.\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getKeepAliveChild(vnode) {\n return isKeepAlive(vnode)\n ? vnode.children\n ? vnode.children[0]\n : undefined\n : vnode;\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 /* ShapeFlags.COMPONENT */ && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n }\n else if (vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n }\n else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n // #5360 inherit parent key in case of