{"version":3,"sources":["webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/index.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/axios/lib/env/data.js","webpack:///./node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./node_modules/vue-router/dist/vue-router.esm-bundler.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/axios/lib/cancel/Cancel.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/axios/lib/helpers/validator.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/env.js","webpack:///./node_modules/@fortawesome/vue-fontawesome/index.es.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/const.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/@fortawesome/free-solid-svg-icons/index.es.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/vue-recaptcha/dist/vue-recaptcha.es.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/vue-tel-input/dist/vue-tel-input.js"],"names":["utils","buildURL","InterceptorManager","dispatchRequest","mergeConfig","validator","validators","Axios","instanceConfig","this","defaults","interceptors","request","response","prototype","config","arguments","url","method","toLowerCase","transitional","undefined","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","clarifyTimeoutError","requestInterceptorChain","synchronousRequestInterceptors","forEach","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","promise","responseInterceptorChain","push","chain","Array","apply","concat","Promise","resolve","length","then","shift","newConfig","onFulfilled","onRejected","error","reject","getUri","params","paramsSerializer","replace","data","module","exports","callback","arr","fn","thisArg","args","i","normalizeHeaderName","enhanceError","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","value","isUndefined","getDefaultAdapter","adapter","XMLHttpRequest","process","Object","toString","call","stringifySafely","rawValue","parser","encoder","isString","JSON","parse","trim","e","name","stringify","transformRequest","isFormData","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","transformResponse","strictJSONParsing","responseType","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","status","common","merge","message","code","Error","__CANCEL__","encode","val","encodeURIComponent","serializedParams","parts","key","isArray","v","isDate","toISOString","join","hashmarkIndex","indexOf","slice","isAxiosError","toJSON","description","number","fileName","lineNumber","columnNumber","stack","isStandardBrowserEnv","originURL","msie","test","navigator","userAgent","urlParsingNode","document","createElement","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","parsed","setupDevtoolsPlugin","pluginDescriptor","setupFn","target","hook","enableProxy","enableEarlyProxy","__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__","proxy","list","__VUE_DEVTOOLS_PLUGINS__","proxiedTarget","emit","nextTick","setTimeout","platform","arch","execPath","title","pid","browser","env","argv","binding","path","cwd","chdir","dir","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","createError","config1","config2","getMergedValue","source","isPlainObject","mergeDeepProperties","prop","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","keys","configValue","transformData","isCancel","Cancel","throwIfCancellationRequested","cancelToken","throwIfRequested","signal","aborted","reason","payload","hasSymbol","Symbol","toStringTag","PolySymbol","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","isBrowser","isESModule","obj","__esModule","assign","applyToParams","newParams","map","noop","TRAILING_SLASH_RE","removeTrailingSlash","parseURL","parseQuery","currentLocation","query","searchString","searchPos","hashPos","resolveRelativePath","fullPath","stringifyURL","stringifyQuery","stripBase","base","startsWith","isSameRouteLocation","a","b","aLastIndex","matched","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","aliasOf","isSameRouteLocationParamsValue","isEquivalentArray","every","to","from","fromSegments","split","toSegments","toPosition","segment","position","NavigationType","NavigationDirection","normalizeBase","baseEl","querySelector","getAttribute","BEFORE_HASH_RE","createHref","getElementPosition","el","offset","docRect","documentElement","getBoundingClientRect","elRect","behavior","left","top","computeScrollPosition","pageXOffset","pageYOffset","scrollToPosition","scrollToOptions","positionEl","isIdSelector","getElementById","style","scrollTo","getScrollKey","delta","history","state","scrollPositions","Map","saveScrollPosition","scrollPosition","set","getSavedScrollPosition","scroll","get","delete","createBaseLocation","createCurrentLocation","slicePos","includes","pathFromHash","useHistoryListeners","historyState","listeners","teardowns","pauseState","popStateHandler","fromState","listener","type","pop","direction","forward","back","unknown","pauseListeners","listen","teardown","index","splice","beforeUnloadListener","replaceState","destroy","removeEventListener","addEventListener","buildState","current","replaced","computeScroll","useHistoryStateNavigation","changeLocation","hashIndex","err","console","currentState","createWebHistory","historyNavigation","historyListeners","go","triggerListeners","routerHistory","bind","defineProperty","enumerable","createWebHashHistory","isRouteLocation","route","isRouteName","START_LOCATION_NORMALIZED","meta","redirectedFrom","NavigationFailureSymbol","NavigationFailureType","createRouterError","isNavigationFailure","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","sensitive","strict","start","end","REGEX_CHARS_RE","tokensToParser","segments","extraOptions","options","score","pattern","segmentScores","tokenIndex","token","subSegmentScore","repeatable","optional","regexp","re","RegExp","subPattern","match","avoidDuplicatedSlash","endsWith","param","text","compareScoreArray","diff","comparePathParserScore","aScore","bScore","comp","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","previousState","tokens","finalizeSegment","char","customRe","consumeBuffer","addCharToBuffer","createRouteRecordMatcher","record","parent","matcher","children","alias","createRouterMatcher","routes","globalOptions","matchers","matcherMap","getRecordMatcher","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","mergeOptions","normalizedRecords","aliases","components","originalMatcher","normalizedRecord","parentPath","connectingSlash","isAliasRecord","removeRoute","insertMatcher","matcherRef","getRoutes","paramsFromLocation","filter","k","find","m","parentMatcher","mergeMetaFields","redirect","beforeEnter","props","normalizeRecordProps","instances","leaveGuards","Set","updateGuards","enterCallbacks","default","component","propsObject","reduce","partialOptions","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","values","normalizeQuery","normalizedQuery","useCallbacks","handlers","add","handler","reset","guardToPromiseFn","guard","enterCallbackArray","next","valid","guardReturn","guardCall","catch","extractComponentsGuards","guardType","guards","rawComponent","isRouteComponent","__vccOpts","componentPromise","resolved","resolvedComponent","useLink","router","currentRoute","activeRecordIndex","routeMatched","currentMatched","findIndex","parentRecordPath","getOriginalPath","isActive","includesParams","isExactActive","navigate","guardEvent","RouterLinkImpl","String","required","Boolean","activeClass","exactActiveClass","custom","ariaCurrentValue","slots","link","elClass","getLinkClass","linkActiveClass","linkExactActiveClass","onClick","class","RouterLink","metaKey","altKey","ctrlKey","shiftKey","defaultPrevented","button","currentTarget","preventDefault","outer","inner","innerValue","outerValue","some","propClass","globalClass","defaultClass","RouterViewImpl","inheritAttrs","attrs","injectedRoute","routeToDisplay","depth","matchedRouteRef","viewRef","instance","oldInstance","oldName","size","flush","matchedRoute","ViewComponent","currentName","normalizeSlot","Component","routePropsOption","routeProps","onVnodeUnmounted","vnode","isUnmounted","ref","slot","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","triggerError","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","leavingRecords","updatingRecords","enteringRecords","extractChangingRecords","reverse","canceledNavigationCheck","runGuardQueue","isPush","isFirstNavigation","markAsReady","removeHistoryListener","setupListeners","_from","info","ready","readyHandlers","errorHandlers","isReady","started","installedApps","beforeEach","beforeResolve","afterEach","onError","app","globalProperties","$router","reactiveRoute","provide","unmountApp","unmount","len","Math","max","recordFrom","recordTo","activeEffectScope","activeEffect","EffectScope","detached","_active","effects","cleanups","scopes","currentEffectScope","fromParent","l","stop","last","recordEffectScope","effect","scope","active","getCurrentScope","ReactiveEffect","trigger","scheduler","deps","_dirtyLevel","_trackId","_runnings","_shouldSchedule","_depsLength","pauseTracking","dep","computed","triggerComputed","resetTracking","lastShouldTrack","shouldTrack","lastEffect","preCleanupEffect","postCleanupEffect","_a","onStop","effect2","cleanupDepEffect","trackId","cleanup","pauseScheduleStack","trackStack","pauseScheduling","resetScheduling","queueEffectSchedulers","trackEffect","debuggerEventExtraInfo","oldDep","triggerEffects","dirtyLevel","tracking","allowRecurse","createDep","targetMap","WeakMap","ITERATE_KEY","MAP_KEY_ITERATE_KEY","depsMap","newValue","oldValue","oldTarget","newLength","Number","key2","isNonTrackableKeys","builtInSymbols","getOwnPropertyNames","arrayInstrumentations","createArrayInstrumentations","instrumentations","toRaw","res","hasOwnProperty","_isReadonly","_isShallow","receiver","isReadonly2","isShallow2","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","getPrototypeOf","targetIsArray","Reflect","has","isRef","readonly","reactive","super","isOldValueReadonly","hadKey","result","deleteProperty","ownKeys","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","toShallow","getProto","isReadonly","isShallow","rawTarget","rawKey","has2","wrap","toReadonly","toReactive","proto","get2","deleteEntry","clear","hadItems","createForEach","observed","createIterableMethod","targetIsMap","isPair","iterator","isKeyOnly","innerIterator","done","createReadonlyMethod","createInstrumentations","mutableInstrumentations2","shallowInstrumentations2","readonlyInstrumentations2","shallowReadonlyInstrumentations2","iteratorMethods","mutableInstrumentations","readonlyInstrumentations","shallowInstrumentations","shallowReadonlyInstrumentations","createInstrumentationGetter","shallow","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","isExtensible","createReactiveObject","shallowReactive","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","Proxy","isReactive","isProxy","raw","markRaw","getter","_setter","isSSR","__v_isRef","_value","triggerRefValue","_cacheable","self","dirty","run","trackRefValue","getterOrOptions","debugOptions","setter","onlyGetter","cRef","ref2","newVal","r","createRef","shallowRef","__v_isShallow","_rawValue","useDirectValue","unref","shallowUnwrapHandlers","proxyRefs","objectWithRefs","callWithErrorHandling","handleError","callWithAsyncErrorHandling","throwInDev","contextVNode","cur","exposedInstance","errorInfo","errorCapturedHooks","ec","appErrorHandler","appContext","errorHandler","logError","isFlushPending","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","p","findInsertionIndex","id","middle","middleJob","middleJobId","getId","pre","queueJob","job","queueFlush","flushJobs","invalidateJob","queuePostFlushCb","cb","flushPreFlushCbs","seen","uid","flushPostFlushCbs","deduped","sort","Infinity","comparator","event","rawArgs","isModelListener","modelArg","modifiersKey","handlerName","onceHandler","emitted","normalizeEmitsOptions","asMixin","cache","emitsCache","cached","emits","normalized","hasExtends","extendEmits","raw2","normalizedFromExtend","mixins","extends","isEmitListener","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","prev","__scopeId","pushScopeId","popScopeId","withCtx","ctx","isNonScopedSlot","_n","renderFnWithContext","_d","setBlockTracking","prevInstance","_c","renderComponentRoot","withProxy","propsOptions","render","renderCache","setupState","fallthroughAttrs","shapeFlag","proxyToUse","thisProxy","normalizeVNode","render2","getFunctionalFallthrough","blockStack","createVNode","Comment","root","filterModelListeners","cloneVNode","dirs","transition","shouldUpdateComponent","prevVNode","nextVNode","optimized","prevProps","prevChildren","nextProps","nextChildren","patchFlag","emitsOptions","$stable","hasPropsChanged","dynamicProps","nextKeys","updateHOCHostEl","subTree","suspense","activeBranch","COMPONENTS","DIRECTIVES","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","for","resolveDynamicComponent","resolveDirective","warnMissing","currentInstance","selfName","getComponentName","registry","isSuspense","__isSuspense","queueEffectWithSuspense","pendingBranch","ssrContextKey","useSSRContext","inject","INITIAL_WATCHER_VALUE","watch","doWatch","immediate","deep","once","onTrack","onTrigger","_cb","unwatch","reactiveGetter","source2","traverse","forceTrigger","isMultiSource","s","onCleanup","baseGetter","ssrCleanup","isInSSRComponentSetup","__watcherHandles","fill","queuePostRenderEffect","instanceWatch","publicThis","createPathGetter","setCurrentInstance","currentDepth","withDirectives","directives","getExposeProxy","bindings","arg","modifiers","mounted","updated","invokeDirectiveHook","oldBindings","leaveCbKey","enterCbKey","useTransitionState","isMounted","isLeaving","isUnmounting","leavingVNodes","onMounted","onBeforeUnmount","TransitionHookValidator","Function","BaseTransitionPropsValidators","mode","appear","persisted","onBeforeEnter","onEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","BaseTransitionImpl","getCurrentInstance","getTransitionRawChildren","child","hasFound","c","rawProps","emptyPlaceholder","innerChild","getKeepAliveChild","enterHooks","resolveTransitionHooks","setTransitionHooks","oldChild","oldInnerChild","isSameVNodeType","leavingHooks","afterLeave","update","delayLeave","earlyRemove","delayedLeave","leavingVNodesCache","getLeavingNodesForType","BaseTransition","create","callHook","callAsyncHook","hook2","hooks","leavingVNode","afterHook","cancelHook","called","cancelled","remove","vnode2","isKeepAlive","ssContent","clone","ssFallback","keepComment","parentKey","ret","keyedFragmentCount","Fragment","defineComponent","setup","isAsyncWrapper","__asyncLoader","__isKeepAlive","KeepAliveImpl","include","exclude","sharedContext","renderer","parentSuspense","patch","move","um","_unmount","o","storageContainer","resetShapeFlag","pruneCache","pruneCacheEntry","activate","container","anchor","namespace","instance2","slotScopeIds","isDeactivated","vnodeHook","onVnodeMounted","invokeVNodeHook","deactivate","da","matches","pendingCacheKey","cacheSubtree","getInnerChild","onUpdated","rawVNode","isVNode","__asyncResolved","cachedVNode","parseInt","KeepAlive","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","__wdc","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","__weh","createHook","lifecycle","onBeforeMount","onBeforeUpdate","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","renderList","renderItem","item","renderSlot","fallback","noSlotted","isCE","openBlock","validSlotContent","ensureValidVNode","rendered","createBlock","_","scopeId","vnodes","getPublicInstance","isStatefulComponent","publicPropertiesMap","$","$el","$data","$props","$attrs","$slots","$refs","refs","$parent","$root","$emit","$options","resolveMergedOptions","$forceUpdate","f","$nextTick","n","$watch","hasSetupBinding","__isScriptSetup","PublicInstanceProxyHandlers","accessCache","normalizedProps","shouldCacheAccess","publicGetter","cssModule","__cssModules","descriptor","normalizePropsOrEmits","applyOptions","beforeCreate","dataOptions","computedOptions","methods","watchOptions","provideOptions","injectOptions","created","beforeMount","beforeUpdate","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","filters","checkDuplicateProperties","resolveInjections","methodHandler","opt","configurable","createWatcher","provides","registerLifecycleHook","register","_hook","exposed","normalizeInject","h","extendsOptions","globalMixins","optionsCache","optionMergeStrategies","strats","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","isNativeTag","performance","warnHandler","compilerOptions","propsCache","uid$1","createAppAPI","hydrate","rootComponent","rootProps","context","installedPlugins","WeakSet","_uid","_component","_props","_container","_context","_instance","version","plugin","install","mixin","directive","rootContainer","isHydrate","__vue_app__","lastApp","currentApp","parentProvides","defaultValue","treatDefaultAsFactory","initProps","isStateful","InternalObjectKey","propsDefaults","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","kebabKey","resolvePropValue","propsToUpdate","camelizedKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","skipFactory","normalizePropsOptions","extendProps","normalizedKey","validatePropName","booleanIndex","getTypeIndex","stringIndex","getType","ctor","constructor","isSameType","expectedTypes","t","isInternalKey","normalizeSlotValue","rawSlot","normalizeObjectSlots","rawSlots","_ctx","normalizeVNodeSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","setRef","rawRef","oldRawRef","isUnmount","refValue","owner","oldRef","_isString","_isRef","doSet","existing","initFeatureFlags","__VUE_PROD_HYDRATION_MISMATCH_DETAILS__","createRenderer","baseCreateRenderer","createHydrationFns","__VUE__","insert","hostInsert","hostRemove","patchProp","hostPatchProp","hostCreateElement","createText","hostCreateText","createComment","hostCreateComment","setText","hostSetText","setElementText","hostSetElementText","parentNode","hostParentNode","nextSibling","hostNextSibling","setScopeId","hostSetScopeId","insertStaticContent","hostInsertStaticContent","n1","n2","parentComponent","dynamicChildren","getNextHostNode","Text","processText","processCommentNode","Static","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","removeStaticNode","mountElement","patchElement","is","mountChildren","resolveChildrenNamespace","unmountChildren","onVnodeBeforeMount","needCallTransitionHooks","needTransition","enter","parentVNode","cloneIfMounted","oldProps","newProps","toggleRecurse","onVnodeBeforeUpdate","patchBlockChildren","patchChildren","patchProps","onVnodeUpdated","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","traverseStaticChildren","mountComponent","updateComponent","initialVNode","createComponentInstance","setupComponent","asyncDep","registerDep","setupRenderEffect","placeholder","asyncResolved","updateComponentPreRender","componentUpdateFn","bu","u","nonHydratedAsyncRoot","locateNonHydratedAsyncRoot","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","hydrateNode","hydrateSubTree","scopedInitialVNode","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","commonLength","min","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","j","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","moveType","needTransition2","leave","remove2","performLeave","doRemove","shouldInvokeDirs","shouldInvokeVnodeHook","onVnodeBeforeUnmount","unmountComponent","removeFragment","performRemove","bum","suspenseId","pendingId","isFlushing","_vnode","mt","mc","pc","pbc","createApp","currentNamespace","encoding","allowed","ch1","ch2","arrI","subComponent","isTeleport","__isTeleport","currentBlock","disableTracking","closeBlock","isBlockTreeEnabled","setupBlock","createElementBlock","createBaseVNode","__v_isVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","__v_skip","targetAnchor","staticCount","normalizeChildren","normalize","_createVNode","cloned","isClassComponent","guardReactiveProps","klass","extraProps","mergeRef","mergedProps","mergeProps","ce","createTextVNode","flag","createStaticVNode","content","numberOfNodes","createCommentVNode","asBlock","memo","slotFlag","toMerge","incoming","emptyAppContext","exposeProxy","setupContext","attrsProxy","slotsProxy","bc","rtg","rtc","sp","internalSetCurrentInstance","setInSSRSetupState","g","registerGlobalSetter","setters","on","off","unsetCurrentInstance","compile","installWithProxy","setupResult","setupStatefulComponent","createSetupContext","resolvedResult","handleSetupResult","finishComponentSetup","__ssrInlineRender","ssrRender","skipOptions","template","isCustomElement","delimiters","componentCompilerOptions","finalCompilerOptions","getAttrsProxy","includeInferred","displayName","__name","propsOrChildren","svgNS","mathmlNS","doc","templateContainer","nodeOps","insertBefore","removeChild","tag","createElementNS","multiple","createTextNode","node","nodeValue","textContent","selector","before","previousSibling","lastChild","cloneNode","innerHTML","wrapper","firstChild","appendChild","TRANSITION","ANIMATION","vtcKey","Transition","resolveTransitionProps","DOMTransitionPropsValidators","css","duration","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","TransitionPropsValidators","h2","hasExplicitCallback","baseProps","durations","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","removeTransitionClass","finishLeave","_isLeaving","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","forceReflow","NumberOf","cls","classList","_vtc","requestAnimationFrame","endId","expectedType","explicitTimeout","_endId","resolveIfNotStale","propCount","getTransitionInfo","endEvent","ended","onEnd","styles","getComputedStyle","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","d","toMs","body","offsetHeight","patchClass","isSVG","transitionClasses","removeAttribute","className","vShowOriginalDisplay","vShowHidden","CSS_VAR_TEXT","displayRE","patchStyle","isCssString","hasControlledDisplay","prevStyle","setStyle","cssVarText","cssText","display","importantRE","setProperty","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","removeAttributeNS","setAttributeNS","isBoolean","patchDOMProp","tagName","needRemove","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","cachedNow","getNow","Date","now","initialValue","_vts","attached","patchStopImmediatePropagation","originalStop","stopImmediatePropagation","_stopped","isNativeOn","charCodeAt","shouldSetAsProp","_trueValue","_falseValue","HTMLElement","positionMap","newPositionMap","moveCbKey","TransitionGroupImpl","moveClass","hasCSSTransform","callPendingCbs","recordPosition","movedChildren","applyTranslation","transform","webkitTransform","transitionDuration","propertyName","cssTransitionProps","oldPos","newPos","dx","dy","nodeType","getModelAssigner","onCompositionStart","composing","onCompositionEnd","dispatchEvent","Event","assignKey","vModelText","lazy","castToNumber","domValue","elValue","activeElement","vModelCheckbox","modelValue","_modelValue","elementValue","getValue","checked","found","filtered","getCheckboxValue","setChecked","vModelRadio","vModelSelect","isSetModel","selectedVal","selected","_assigning","setSelected","_binding","isMultiple","isArrayValue","option","optionValue","optionType","selectedIndex","vModelDynamic","callModelHook","resolveDynamicModel","modelToUse","systemModifiers","modifierGuards","stopPropagation","prevent","ctrl","alt","right","exact","withModifiers","_withMods","cacheKey","keyNames","esc","space","up","down","withKeys","_withKeys","eventKey","rendererOptions","ensureRenderer","mount","containerOrSelector","normalizeContainer","resolveRootNamespace","Element","SVGElement","MathMLElement","write","expires","domain","secure","cookie","isNumber","toGMTString","read","isAbsoluteURL","combineURLs","baseURL","requestedURL","VERSION","thing","deprecatedWarnings","schema","allowUnknown","TypeError","formatMessage","desc","opts","warn","CancelToken","executor","resolvePromise","cancel","_listeners","onfulfilled","_resolve","subscribe","unsubscribe","makeMap","str","expectsLowerCase","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","isOn","extend","hasOwn","isMap","toTypeString","isSet","isRegExp","isFunction","isSymbol","isPromise","objectToString","toRawType","isIntegerKey","isReservedProp","isBuiltInDirective","cacheStringFunction","hit","camelizeRE","camelize","toUpperCase","hyphenateRE","hyphenate","capitalize","toHandlerKey","hasChanged","invokeArrayFns","fns","def","looseToNumber","parseFloat","isNaN","toNumber","NaN","_globalThis","getGlobalThis","globalThis","global","GLOBALS_ALLOWED","isGloballyAllowed","normalizeStyle","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","tmp","stringifyStyle","normalizeClass","HTML_TAGS","SVG_TAGS","MATH_TAGS","isHTMLTag","isSVGTag","isMathMLTag","specialBooleanAttrs","isSpecialBooleanAttr","isBooleanAttr","includeBooleanAttr","isKnownHtmlAttr","isKnownSvgAttr","isRenderableAttrValue","looseCompareArrays","equal","looseEqual","aValidType","bValidType","getTime","aKeysCount","bKeysCount","aHasKey","bHasKey","looseIndexOf","toDisplayString","replacer","_key","entries","val2","stringifySymbol","getDevtoolsGlobalHook","getTarget","__VUE_DEVTOOLS_GLOBAL_HOOK__","isProxyAvailable","commonjsGlobal","createCommonjsModule","humps","_processKeys","convert","_isObject","_isDate","_isRegExp","_isBoolean","_isFunction","output","_isArray","separateWords","string","separator","_isNumerical","chr","substr","pascalize","camelized","decamelize","_processor","depascalize","camelizeKeys","object","decamelizeKeys","pascalizeKeys","depascalizeKeys","_typeof","writable","_extends","objectWithoutProperties","toConsumableArray","arr2","styleToObject","pair","idx","classToObject","classes","abstractElement","attributes","_attrs$style","aStyle","otherAttrs","PRODUCTION","log","_console","objectWithKey","_classes","spin","pulse","fixedWidth","border","listItem","inverse","flip","rotation","pull","swapOpacity","normalizeIconArgs","icon$$1","prefix","iconName","FontAwesomeIcon","icon","mask","symbol","_ref","renderedIcon","abstract","familyPrefix","counter","_text","settle","cookies","buildFullPath","parseHeaders","isURLSameOrigin","onCanceled","requestData","requestHeaders","auth","username","password","unescape","Authorization","btoa","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","open","onreadystatechange","readyState","responseURL","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","setRequestHeader","onDownloadProgress","onUploadProgress","upload","abort","send","HOOK_SETUP","HOOK_PLUGIN_SETTINGS_SET","faChevronUp","faPhone","ignoreDuplicateOf","line","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","assignValue","stripBOM","normalizedName","createInstance","defaultConfig","axios","all","promises","spread","sfc","normalizeArray","allowAboveRoot","basename","matchedSlash","xs","resolvedPath","resolvedAbsolute","isAbsolute","trailingSlash","paths","relative","fromParts","toParts","samePartsLength","outputParts","sep","delimiter","dirname","hasRoot","ext","extname","startDot","startPart","preDotState","defer","callbacks","deferred","ownProp","createRecaptcha","notify","wait","ele","grecaptcha","widgetId","assertLoaded","execute","checkRecaptchaLoad","recaptcha","vueRecaptchaApiLoaded","Recaptcha","sitekey","theme","badge","tabindex","loadRecaptchaScript","recaptchaScriptId","recaptchaHost","language","emitVerify","emitExpired","emitError","script","src","async","head","defaultContent","defaultSlot","relativeURL","_classCallCheck","Constructor","_defineProperties","_createClass","protoProps","staticProps","_defineProperty","_objectSpread","getOwnPropertySymbols","sym","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","_arr","_e","_s","_i","_WINDOW","_DOCUMENT","_PERFORMANCE","mark","measure","MutationObserver","_ref$userAgent","WINDOW","DOCUMENT","PERFORMANCE","IS_DOM","IS_IE","NAMESPACE_IDENTIFIER","UNITS_IN_GRID","DEFAULT_FAMILY_PREFIX","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","oneToTen","oneToTwenty","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","initial","FontAwesomeConfig","getAttrConfig","attr","element","coerce","_ref2","_default","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","_config","w","shims","functions","loaded","doScroll","asyncTimer","PENDING","SETTLED","FULFILLED","REJECTED","isNode","asyncSetTimer","setImmediate","asyncQueue","asyncFlush","asyncCall","invokeResolver","resolver","rejectPromise","invokeCallback","subscriber","settled","_state","_data","handleThenable","fulfill","publishFulfillment","publishRejection","publish","_then","_handled","notifyRejectionHandled","P","onFulfillment","onRejection","results","remaining","race","meaninglessTransform","x","y","rotate","flipX","flipY","insertCss","headChildren","childNodes","beforeChild","idPool","nextUniqueId","random","htmlEscape","joinAttributes","acc","attributeName","joinStyles","styleName","transformIsMeaningful","transformForSvg","containerWidth","iconWidth","innerTranslate","innerScale","innerRotate","transformForCss","_ref2$width","width","_ref2$height","height","_ref2$startCentered","startCentered","ALL_SPACE","fillBlack","deGroup","makeIconMasking","main","explicitMaskId","maskId","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","makeIconStandard","styleString","asIcon","asSymbol","makeInlineSvgAbstract","_params$icons","icons","titleId","extra","_params$watchable","watchable","isUploadedIcon","widthClass","ceil","attrClass","role","uploadedIconWidthStyle","makeLayersTextAbstract","_params$watchable2","noop$1","bindInternal4","func","thisContext","subject","defineIcons","_params$skipHooks","skipHooks","expanded","addPack","build","lookup","reducer","ligatures","ligature","hasRegular","shim","iconFromMapping","mapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","parseTransformString","transformString","first","rest","MissingIcon","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","cx","cy","opacity","asFoundIcon","_icon$slice","_icon$slice2","vectorData","baseStyles","dfp","drc","fp","rc","dPatt","customPropPatt","rPatt","Library","definitions","_this","_len","additions","_pullDefinitions","definition","0","_normalized$key","ensureCss","_cssInserted","apiObject","abstractCreator","html","findIconDefinition","iconLookup","_iconLookup$prefix","library","resolveIcons","maybeIconDefinition","iconDefinition","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","_params$transform2","_params$title2","_params$classes2","_params$attributes2","_params$styles2","ApiProxy","targetQueue","onQueue","defaultSettings","settings","localSettingsSaveId","currentSettings","localStorage","getItem","fallbacks","setItem","pluginId","setSettings","proxiedOn","_target","use","eject","Ve","Ke","iso2","dialCode","priority","areaCodes","We","fetch","ze","setSelectionRange","focus","createTextRange","collapse","moveEnd","moveStart","select","Xe","inDemo","we","G","Ze","country_calling_codes","1","7","20","27","30","31","32","33","34","36","39","40","41","43","44","45","46","47","48","49","51","52","53","54","55","56","57","58","60","61","62","63","64","65","66","81","82","84","86","90","91","92","93","94","95","98","211","212","213","216","218","220","221","222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238","239","240","241","242","243","244","245","246","247","248","249","250","251","252","253","254","255","256","257","258","260","261","262","263","264","265","266","267","268","269","290","291","297","298","299","350","351","352","353","354","355","356","357","358","359","370","371","372","373","374","375","376","377","378","380","381","382","383","385","386","387","389","420","421","423","500","501","502","503","504","505","506","507","508","509","590","591","592","593","594","595","596","597","598","599","670","672","673","674","675","676","677","678","679","680","681","682","683","685","686","687","688","689","690","691","692","850","852","853","855","856","880","886","960","961","962","963","964","965","966","967","968","970","971","972","973","974","975","976","977","992","993","994","995","996","998","countries","AC","AD","AE","AF","AG","AI","AL","AM","AO","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GT","GU","GW","GY","HK","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TA","TC","TD","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW","nonGeographic","800","808","870","878","881","882","883","888","979","Ye","Q","Je","qe","Qe","ed","Se","E","construct","dd","Ee","ReferenceError","U","td","F","sham","valueOf","setPrototypeOf","__proto__","z","nd","rd","$d","ad","od","ud","sd","X","ee","ld","T","H","D","de","R","cd","fd","te","hd","md","metadata","v1","v2","v3","nonGeographical","getCountryMetadata","getCountryCodesForCallingCode","countryCallingCodes","selectNumberingPlan","hasCountry","numberingPlan","ne","hasCallingCode","getNumberingPlanMetadata","getCountryCodeForCallingCode","callingCode","IDDPrefix","defaultIDDPrefix","nationalNumberPattern","possibleLengths","formats","nationalPrefixForParsing","nationalPrefixTransformRule","leadingDigits","hasTypes","country_phone_code_to_countries","globalMetadataObject","_getFormats","getDefaultCountryMetadataForRegion","pd","_getNationalPrefixFormattingRule","_nationalPrefixForParsing","nationalPrefix","_getNationalPrefixIsOptionalWhenFormatting","types","gd","_format","nationalPrefixFormattingRule","nationalPrefixIsOptionalWhenFormattingInNationalFormat","usesNationalPrefix","yd","format","vd","Z","country","countryCallingCode","bd","v4","Cd","Fe","N","De","Re","Me","Le","Od","Pd","Nd","Id","wd","Ed","Sd","ie","Fd","2","3","4","5","6","8","9","Td","xd","Ad","$e","ae","Dd","Rd","Md","oe","Ld","Y","Te","kd","phone","xe","nationalNumber","isNonGeographicCallingCode","Bd","Gd","ue","jd","J","L","Ud","Hd","Vd","Kd","Wd","zd","useInternationalFormat","withNationalPrefix","carrierCode","internationalFormat","Xd","Zd","Yd","Jd","qd","se","le","Qd","getOwnPropertyDescriptors","defineProperties","fe","formatExtension","et","A","fromCountry","tt","dt","leadingDigitsPatterns","he","pe","nt","rt","ye","it","$t","ot","getMetadata","at","ut","st","lt","exec","V","ct","ft","ht","pt","countryCallingCodeSource","yt","gt","ge","defaultCountry","vt","bt","Ae","Ct","me","Ot","Pt","K","Nt","It","wt","Et","St","ve","W","_t","Ft","substring","Tt","xt","extractFormattedPhoneNumber","At","Dt","Rt","Mt","kt","extract","Gt","defaultCallingCode","hasSelectedNumberingPlan","__countryCallingCodeSource","extended","possible","Bt","Lt","be","Ce","jt","Ut","Oe","Ht","Vt","Kt","Zt","Xt","zt","Wt","Pe","return","Yt","Ne","Ie","Jt","qt","Qt","B","e0","expression","clickOutsideEvent","composedPath","contains","d0","t0","clickOutside","allCountries","autoFormat","customValidate","disabled","autoDefaultCountry","dropdownOptions","ignoredCountries","inputOptions","invalidMsg","onlyCountries","preferredCountries","validCharactersOnly","styleClasses","activeCountryCode","finishMounted","typeToFindInput","typeToFindTimer","dropdownOpenDirection","parsedPlaceholder","searchQuery","findCountry","getCountries","preferred","filteredCountries","showSearchBox","isValid","parsedMode","countryCode","activeCountry","formatted","phoneObject","emitInput","resetPlaceholder","testCharacters","onInput","setDropdownPosition","cleanInvalidCharacters","initializeCountry","showDialCode","choose","findCountryByDialCode","highlighted","formatInternational","testCustomValidate","input","setCustomValidity","keyCode","sortedCountries","offsetTop","clientHeight","scrollTop","clearTimeout","innerHeight","bottom","n0","r0","i0","$0","a0","o0","u0","s0","l0","onKeydown","keyboardNav","toggleDropdown","showFlags","showDialCodeInSelection","getItemClass","onMousemove","showDialCodeInList","clickedOutside","autocomplete","autofocus","maxlength","onBlur","onFocus","onKeyup","onSpace","c0"],"mappings":"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BACA,KACA,OAEF,CACE,YACA,KACA,KACA,GAEF,CACE,uBACA,KACA,MAEF,CACE,0BACA,KACA,OAEF,CACE,UACA,KACA,IACA,EACA,CAAC,QAEH,CACE,uBACA,KACA,OAEF,CACE,wBACA,KACA,OAEF,CACE,WACA,KACA,IACA,EACA,CAAC,QAEH,CACE,qBACA,KACA,OAEF,CACE,mBACA,KACA,MAEF,CACE,SACA,KACA,OAEF,CACE,gBACA,KACA,OAEF,CACE,UACA,KACA,IACA,GACA,CAAC,QAEH,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,IACA,GACA,CAAC,QAEH,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,IACA,EACA,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QAEtX,CACE,0BACA,KACA,OAEF,CACE,wBACA,KACA,MACA,EACA,CAAC,IAAK,IAAK,MAEb,CACE,iBACA,KACA,IACA,GACA,CAAC,QAEH,CACE,uDACA,KACA,OAEF,CACE,eACA,KACA,OAEF,CACE,QACA,KACA,MAEF,CACE,aACA,KACA,MAEF,CACE,mBACA,KACA,KACA,EACA,CAAC,UAEH,CACE,0BACA,KACA,KACA,EACA,CAAC,UAEH,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,MACA,GAEF,CACE,kBACA,KACA,OAEF,CACE,mCACA,KACA,OAEF,CACE,oBACA,KACA,MAEF,CACE,WACA,KACA,OAEF,CACE,WACA,KACA,IACA,GACA,CAAC,QAEH,CACE,4CACA,KACA,IACA,EACA,CAAC,MAAO,MAAO,QAEjB,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,WACA,KACA,OAEF,CACE,oCACA,KACA,OAEF,CACE,0BACA,KACA,OAEF,CACE,OACA,KACA,OAEF,CACE,kBACA,KACA,MACA,GAEF,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,IACA,GACA,CAAC,QAEH,CACE,aACA,KACA,MACA,GAEF,CACE,OACA,KACA,IACA,GACA,CAAC,QAEH,CACE,YACA,KACA,OAEF,CACE,WACA,KACA,KACA,EACA,CAAC,OAAQ,OAAQ,OAAQ,SAE3B,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,KACA,EACA,CAAC,OAAQ,QAAS,OAAQ,OAAQ,SAEpC,CACE,oBACA,KACA,OAEF,CACE,iBACA,KACA,KACA,GAEF,CACE,UACA,KACA,IACA,EACA,CAAC,MAAO,QAEV,CACE,aACA,KACA,MAEF,CACE,SACA,KACA,KACA,EACA,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,SAE3C,CACE,qBACA,KACA,OAEF,CACE,yBACA,KACA,IACA,EACA,CAAC,KAAM,MAET,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,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,MACA,EACA,CAAC,MAAO,QAEV,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,IACA,GACA,CAAC,QAEH,CACE,sBACA,KACA,MACA,GAEF,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,uCACA,KACA,OAEF,CACE,2BACA,KACA,IACA,GACA,CAAC,QAEH,CACE,iBACA,KACA,KACA,GAEF,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,IACA,EACA,CAAC,MAAO,QAEV,CACE,iBACA,KACA,OAEF,CACE,uBACA,KACA,MACA,GAEF,CACE,oBACA,KACA,MAEF,CACE,kBACA,KACA,IACA,GAEF,CACE,SACA,KACA,OAEF,CACE,mBACA,KACA,MACA,GAEF,CACE,eACA,KACA,OAEF,CACE,wBACA,KACA,IACA,GACA,CAAC,QAEH,CACE,cACA,KACA,IACA,GACA,CAAC,QAEH,CACE,iDACA,KACA,MACA,GAEF,CACE,uDACA,KACA,OAEF,CACE,mCACA,KACA,IACA,GACA,CAAC,QAEH,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,IACA,GACA,CAAC,QAEH,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,KACA,EACA,CAAC,OAEH,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,sBACA,KACA,IACA,GACA,CAAC,QAEH,CACE,oBACA,KACA,OAEF,CACE,mBACA,KACA,MAEF,CACE,eACA,KACA,OAEF,CACE,2BACA,KACA,IACA,GACA,CAAC,QAEH,CACE,SACA,KACA,OAEF,CACE,sBACA,KACA,IACA,GACA,CAAC,QAEH,CACE,SACA,KACA,OAEF,CACE,oBACA,KACA,OAEF,CACE,qDACA,KACA,OAEF,CACE,iBACA,KACA,KACA,GAEF,CACE,gBACA,KACA,IACA,GAEF,CACE,UACA,KACA,OAEF,CACE,2BACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,oCACA,KACA,KACA,EACA,CAAC,UAEH,CACE,YACA,KACA,MAEF,CACE,qBACA,KACA,MAEF,CACE,uCACA,KACA,OAEF,CACE,sCACA,KACA,MACA,EACA,CAAC,OAAQ,SAEX,CACE,mBACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,gBACA,KACA,MACA,EACA,CAAC,QAEFC,EAAKD,EAAGpoE,IAAI,EAAExJ,EAAGyjD,EAAGtV,EAAGhI,EAAI,EAAGzW,EAAI,SAAU,CAC7CzvB,KAAMD,EACN8xE,KAAMruB,EAAEiN,cACRqhB,SAAU5jC,EACV6jC,SAAU7rC,EACV8rC,UAAWviD,KAEb,SAASwiD,IACP,OAAOC,MAAM,sBAAsB70E,KAAM0C,GAAMA,EAAE6T,QAAQvW,KAAM0C,IAC7D,MAAMyjD,GAAKzjD,GAAK,IAAIV,WACpB,IAAKmkD,G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OC,GAAI,CAAC,MAAOC,GAAI,CAAC,KAAM,KAAM,KAAM,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,KAAM,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,KAAM,KAAM,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,GAAI,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,KAAM,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,KAAM,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,KAAM,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,KAAM,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,KAAM,KAAM,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,KAAM,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MAAOC,IAAK,CAAC,MA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","file":"js/chunk-vendors.js","sourcesContent":["'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","'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\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","'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","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'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","import { getTarget, getDevtoolsGlobalHook, isProxyAvailable } from './env';\nimport { HOOK_SETUP } from './const';\nimport { ApiProxy } from './proxy';\nexport * from './api';\nexport * from './plugin';\nexport function setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n const target = getTarget();\n const hook = getDevtoolsGlobalHook();\n const enableProxy = isProxyAvailable && pluginDescriptor.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(pluginDescriptor, hook) : null;\n const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor,\n setupFn,\n proxy,\n });\n if (proxy)\n setupFn(proxy.proxiedTarget);\n }\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","'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","'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","'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","module.exports = {\n \"version\": \"0.23.0\"\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","/*!\n * vue-router v4.0.12\n * (c) 2021 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 hasSymbol = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\r\nconst PolySymbol = (name) => \r\n// vr = vue router\r\nhasSymbol\r\n ? Symbol((process.env.NODE_ENV !== 'production') ? '[vue-router]: ' + name : name)\r\n : ((process.env.NODE_ENV !== 'production') ? '[vue-router]: ' : '_vr_') + name;\r\n// rvlm = Router View Location Matched\r\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 = /*#__PURE__*/ PolySymbol((process.env.NODE_ENV !== 'production') ? 'router view location matched' : 'rvlm');\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 = /*#__PURE__*/ PolySymbol((process.env.NODE_ENV !== 'production') ? 'router view depth' : 'rvd');\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 = /*#__PURE__*/ PolySymbol((process.env.NODE_ENV !== 'production') ? 'router' : 'r');\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 = /*#__PURE__*/ PolySymbol((process.env.NODE_ENV !== 'production') ? 'route location' : 'rl');\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 = /*#__PURE__*/ PolySymbol((process.env.NODE_ENV !== 'production') ? 'router view location' : 'rvl');\n\nconst isBrowser = typeof window !== 'undefined';\n\nfunction isESModule(obj) {\r\n return obj.__esModule || (hasSymbol && 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] = Array.isArray(value) ? value.map(fn) : fn(value);\r\n }\r\n return newParams;\r\n}\r\nconst noop = () => { };\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 an 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 const searchPos = location.indexOf('?');\r\n const hashPos = location.indexOf('#', searchPos > -1 ? searchPos : 0);\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\r\n * 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 Array.isArray(a)\r\n ? isEquivalentArray(a, b)\r\n : Array.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 Array.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 // can't go below zero\r\n if (position === 1 || segment === '.')\r\n continue;\r\n if (segment === '..')\r\n position--;\r\n // found something that is not relative path\r\n else\r\n break;\r\n }\r\n return (fromSegments.slice(0, position).join('/') +\r\n '/' +\r\n 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 // setup 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 // setup 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/vue-router-next/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/vue-router-next/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 a 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.\r\n * `file://`) or when configuring a server to handle any URL is not possible.\r\n *\r\n * @param base - optional base to provide. Defaults to `location.pathname +\r\n * location.search` If there is a `` tag in the `head`, its value will be\r\n * ignored in favor of this parameter **but note it affects all the\r\n * history.pushState() calls**, meaning that if you use a `` tag, it's\r\n * `href` value **has to match this parameter** (ignoring anything after the\r\n * `#`).\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 = /*#__PURE__*/ PolySymbol((process.env.NODE_ENV !== 'production') ? 'navigation failure' : 'nf');\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 /* 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 /* NAVIGATION_GUARD_REDIRECT */]({ from, to, }) {\r\n return `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\r\n },\r\n [4 /* NAVIGATION_ABORTED */]({ from, to }) {\r\n return `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\r\n },\r\n [8 /* NAVIGATION_CANCELLED */]({ from, to }) {\r\n return `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\r\n },\r\n [16 /* 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 /* 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 /* Segment */ +\r\n (options.sensitive ? 0.25 /* BonusCaseSensitive */ : 0);\r\n if (token.type === 0 /* 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 /* Static */;\r\n }\r\n else if (token.type === 1 /* 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 /* 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 /* Dynamic */;\r\n if (optional)\r\n subSegmentScore += -8 /* BonusOptional */;\r\n if (repeatable)\r\n subSegmentScore += -20 /* BonusRepeatable */;\r\n if (re === '.*')\r\n subSegmentScore += -50 /* 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 /* 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 /* Static */) {\r\n path += token.value;\r\n }\r\n else if (token.type === 1 /* Param */) {\r\n const { value, repeatable, optional } = token;\r\n const param = value in params ? params[value] : '';\r\n if (Array.isArray(param) && !repeatable)\r\n throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\r\n const text = Array.isArray(param) ? param.join('/') : param;\r\n if (!text) {\r\n if (optional) {\r\n // if we have more than one optional param like /:a?-static we\r\n // 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 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 /* Static */ + 40 /* 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 /* Static */ + 40 /* 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 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}\n\nconst ROOT_TOKEN = {\r\n type: 0 /* 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 /* 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 /* Static */) {\r\n segment.push({\r\n type: 0 /* Static */,\r\n value: buffer,\r\n });\r\n }\r\n else if (state === 1 /* Param */ ||\r\n state === 2 /* ParamRegExp */ ||\r\n state === 3 /* 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 /* 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 /* ParamRegExp */) {\r\n previousState = state;\r\n state = 4 /* EscapeNext */;\r\n continue;\r\n }\r\n switch (state) {\r\n case 0 /* 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 /* Param */;\r\n }\r\n else {\r\n addCharToBuffer();\r\n }\r\n break;\r\n case 4 /* EscapeNext */:\r\n addCharToBuffer();\r\n state = previousState;\r\n break;\r\n case 1 /* Param */:\r\n if (char === '(') {\r\n state = 2 /* 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 /* 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 /* 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 /* ParamRegExpEnd */;\r\n }\r\n else {\r\n customRe += char;\r\n }\r\n break;\r\n case 3 /* ParamRegExpEnd */:\r\n // same as finalizing a param\r\n consumeBuffer();\r\n state = 0 /* 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 /* 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 // 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 before hand 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 ('children' in mainNormalizedRecord) {\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 alias (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 insertMatcher(matcher);\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 // console.log('i is', { i })\r\n while (i < matchers.length &&\r\n comparePathParserScore(matcher, matchers[i]) >= 0)\r\n i++;\r\n // console.log('END i is', { i })\r\n // while (i < matchers.length && matcher.score <= matchers[i].score) 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 /* MATCHER_NOT_FOUND */, {\r\n location,\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)), location.params);\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/vue-router-next.`);\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 // TODO: dev warning of unused params if provided\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 /* 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 || {}\r\n : { 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}\" should 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}\" should have the exact same param named \"${key.name}\"`);\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}\" should have the exact same param named \"${key.name}\" as its parent \"${parent.record.path}\".`);\r\n }\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 unencoded 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 (!Array.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 = Array.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] = Array.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 * 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 of 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 of 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 /* NAVIGATION_ABORTED */, {\r\n from,\r\n to,\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 /* 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 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 // TODO: test me!\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 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 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 *\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}\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 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 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 (!Array.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 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 depth = inject(viewDepthKey, 0);\r\n const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth]);\r\n provide(viewDepthKey, depth + 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 const matchedRoute = matchedRouteRef.value;\r\n const ViewComponent = matchedRoute && matchedRoute.components[props.name];\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 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[props.name];\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,\r\n name: matchedRoute.name,\r\n path: matchedRoute.path,\r\n meta: matchedRoute.meta,\r\n };\r\n const internalInstances = Array.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\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://next.router.vuejs.org/',\r\n logo: 'https://vuejs.org/images/icons/favicon-96x96.png',\r\n componentStateTypes: ['Routing'],\r\n app,\r\n }, api => {\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 (Array.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: Date.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: Date.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: Date.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 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: 'redirect: ' +\r\n (typeof record.redirect === 'string' ? record.redirect : 'Object'),\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 // decoding them) 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/vue-router-next/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 /* 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 params: 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: 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 /* 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 ? 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 /* 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(locationAsObject(failure.to), {\r\n state: data,\r\n force,\r\n replace,\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 (Array.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 /* 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 removeHistoryListener = routerHistory.listen((to, _from, info) => {\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 /* NAVIGATION_ABORTED */ | 8 /* NAVIGATION_CANCELLED */)) {\r\n return error;\r\n }\r\n if (isNavigationFailure(error, 2 /* 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 not 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 /* NAVIGATION_ABORTED */ |\r\n 16 /* 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 // 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 routerHistory.go(-info.delta, false);\r\n }\r\n else if (info.type === NavigationType.pop &&\r\n isNavigationFailure(failure, 4 /* NAVIGATION_ABORTED */ | 16 /* 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 /**\r\n * Mark the router as ready, resolving the promised returned by isReady(). Can\r\n * only be called once, otherwise does nothing.\r\n * @param err - optional error\r\n */\r\n function markAsReady(err) {\r\n if (ready)\r\n return;\r\n ready = true;\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 // 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 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 currentRoute.value = START_LOCATION_NORMALIZED;\r\n started = false;\r\n ready = false;\r\n }\r\n unmountApp();\r\n };\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, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };\n","/**\n* @vue/reactivity v3.4.21\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { NOOP, extend, isArray, isSymbol, isMap, isIntegerKey, hasOwn, hasChanged, isObject, makeMap, capitalize, toRawType, def, isFunction } 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 = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 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 } finally {\n activeEffectScope = currentEffectScope;\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 if (!this.detached && this.parent && !fromParent) {\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 = void 0;\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 } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeEffect;\nclass ReactiveEffect {\n constructor(fn, trigger, scheduler, scope) {\n this.fn = fn;\n this.trigger = trigger;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n /**\n * @internal\n */\n this._dirtyLevel = 4;\n /**\n * @internal\n */\n this._trackId = 0;\n /**\n * @internal\n */\n this._runnings = 0;\n /**\n * @internal\n */\n this._shouldSchedule = false;\n /**\n * @internal\n */\n this._depsLength = 0;\n recordEffectScope(this, scope);\n }\n get dirty() {\n if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {\n this._dirtyLevel = 1;\n pauseTracking();\n for (let i = 0; i < this._depsLength; i++) {\n const dep = this.deps[i];\n if (dep.computed) {\n triggerComputed(dep.computed);\n if (this._dirtyLevel >= 4) {\n break;\n }\n }\n }\n if (this._dirtyLevel === 1) {\n this._dirtyLevel = 0;\n }\n resetTracking();\n }\n return this._dirtyLevel >= 4;\n }\n set dirty(v) {\n this._dirtyLevel = v ? 4 : 0;\n }\n run() {\n this._dirtyLevel = 0;\n if (!this.active) {\n return this.fn();\n }\n let lastShouldTrack = shouldTrack;\n let lastEffect = activeEffect;\n try {\n shouldTrack = true;\n activeEffect = this;\n this._runnings++;\n preCleanupEffect(this);\n return this.fn();\n } finally {\n postCleanupEffect(this);\n this._runnings--;\n activeEffect = lastEffect;\n shouldTrack = lastShouldTrack;\n }\n }\n stop() {\n var _a;\n if (this.active) {\n preCleanupEffect(this);\n postCleanupEffect(this);\n (_a = this.onStop) == null ? void 0 : _a.call(this);\n this.active = false;\n }\n }\n}\nfunction triggerComputed(computed) {\n return computed.value;\n}\nfunction preCleanupEffect(effect2) {\n effect2._trackId++;\n effect2._depsLength = 0;\n}\nfunction postCleanupEffect(effect2) {\n if (effect2.deps.length > effect2._depsLength) {\n for (let i = effect2._depsLength; i < effect2.deps.length; i++) {\n cleanupDepEffect(effect2.deps[i], effect2);\n }\n effect2.deps.length = effect2._depsLength;\n }\n}\nfunction cleanupDepEffect(dep, effect2) {\n const trackId = dep.get(effect2);\n if (trackId !== void 0 && effect2._trackId !== trackId) {\n dep.delete(effect2);\n if (dep.size === 0) {\n dep.cleanup();\n }\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn, NOOP, () => {\n if (_effect.dirty) {\n _effect.run();\n }\n });\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;\nlet pauseScheduleStack = 0;\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 === void 0 ? true : last;\n}\nfunction pauseScheduling() {\n pauseScheduleStack++;\n}\nfunction resetScheduling() {\n pauseScheduleStack--;\n while (!pauseScheduleStack && queueEffectSchedulers.length) {\n queueEffectSchedulers.shift()();\n }\n}\nfunction trackEffect(effect2, dep, debuggerEventExtraInfo) {\n var _a;\n if (dep.get(effect2) !== effect2._trackId) {\n dep.set(effect2, effect2._trackId);\n const oldDep = effect2.deps[effect2._depsLength];\n if (oldDep !== dep) {\n if (oldDep) {\n cleanupDepEffect(oldDep, effect2);\n }\n effect2.deps[effect2._depsLength++] = dep;\n } else {\n effect2._depsLength++;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n }\n}\nconst queueEffectSchedulers = [];\nfunction triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {\n var _a;\n pauseScheduling();\n for (const effect2 of dep.keys()) {\n let tracking;\n if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);\n effect2._dirtyLevel = dirtyLevel;\n }\n if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n effect2.trigger();\n if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {\n effect2._shouldSchedule = false;\n if (effect2.scheduler) {\n queueEffectSchedulers.push(effect2.scheduler);\n }\n }\n }\n }\n resetScheduling();\n}\n\nconst createDep = (cleanup, computed) => {\n const dep = /* @__PURE__ */ new Map();\n dep.cleanup = cleanup;\n dep.computed = computed;\n return dep;\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = createDep(() => depsMap.delete(key)));\n }\n trackEffect(\n activeEffect,\n dep,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key\n } : void 0\n );\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n let deps = [];\n if (type === \"clear\") {\n deps = [...depsMap.values()];\n } else if (key === \"length\" && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || !isSymbol(key2) && key2 >= newLength) {\n deps.push(dep);\n }\n });\n } else {\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n switch (type) {\n case \"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 } else if (isIntegerKey(key)) {\n deps.push(depsMap.get(\"length\"));\n }\n break;\n case \"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\":\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n pauseScheduling();\n for (const dep of deps) {\n if (dep) {\n triggerEffects(\n dep,\n 4,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n } : void 0\n );\n }\n }\n resetScheduling();\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\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\", i + \"\");\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args.map(toRaw));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n pauseTracking();\n pauseScheduling();\n const res = toRaw(this)[key].apply(this, args);\n resetScheduling();\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the reciever is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\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 (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n 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\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(\n true\n);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\"];\n !isReadonly && track(toRaw(target), \"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\", value, value);\n }\n return this;\n}\nfunction set(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2 ? get2.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, 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\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, 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\"];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\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\"];\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 && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\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 warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\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 shallowInstrumentations2 = {\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 readonlyInstrumentations2 = {\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\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\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\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\"keys\", \"values\", \"entries\", Symbol.iterator];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(\n method,\n false,\n false\n );\n readonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n false\n );\n shallowInstrumentations2[method] = createIterableMethod(\n method,\n false,\n true\n );\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n true\n );\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nconst [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\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, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nconst COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this.getter = getter;\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this.effect = new ReactiveEffect(\n () => getter(this._value),\n () => triggerRefValue(\n this,\n this.effect._dirtyLevel === 2 ? 2 : 3\n )\n );\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\"] = isReadonly;\n }\n get value() {\n const self = toRaw(this);\n if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {\n triggerRefValue(self, 4);\n }\n trackRefValue(self);\n if (self.effect._dirtyLevel >= 2) {\n if (!!(process.env.NODE_ENV !== \"production\") && this._warnRecursive) {\n warn(COMPUTED_SIDE_EFFECT_WARN, `\n\ngetter: `, this.getter);\n }\n triggerRefValue(self, 2);\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x\n get _dirty() {\n return this.effect.dirty;\n }\n set _dirty(v) {\n this.effect.dirty = v;\n }\n // #endregion\n}\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 warn(\"Write operation failed: computed value is readonly\");\n } : NOOP;\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\nfunction trackRefValue(ref2) {\n var _a;\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n trackEffect(\n activeEffect,\n (_a = ref2.dep) != null ? _a : ref2.dep = createDep(\n () => ref2.dep = void 0,\n ref2 instanceof ComputedRefImpl ? ref2 : void 0\n ),\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"get\",\n key: \"value\"\n } : void 0\n );\n }\n}\nfunction triggerRefValue(ref2, dirtyLevel = 4, newVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n triggerEffects(\n dep,\n dirtyLevel,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal\n } : void 0\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 = void 0;\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, 4, newVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, 4, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\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 } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = void 0;\n this.__v_isRef = true;\n const { get, set } = factory(\n () => trackRefValue(this),\n () => triggerRefValue(this)\n );\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 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] = propertyToRef(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 === void 0 ? 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}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this.__v_isRef = true;\n this.__v_isReadonly = true;\n }\n get value() {\n return this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nconst deferredComputed = computed;\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\"\n};\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseScheduling, pauseTracking, proxyRefs, reactive, readonly, ref, resetScheduling, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, track, trigger, triggerRef, unref };\n","/**\n* @vue/runtime-core v3.4.21\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, isShallow, isReactive, ReactiveEffect, getCurrentScope, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, customRef, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, looseToNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, capitalize, toNumber, hasChanged, remove, isSet, isMap, isPlainObject, isBuiltInDirective, invokeArrayFns, isRegExp, isGloballyAllowed, NO, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue } 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$1(msg, ...args) {\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(\n appWarnHandler,\n instance,\n 11,\n [\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\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 const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\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}\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(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\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}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\"))\n return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core .\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\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 const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${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 const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\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$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else {\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}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.pre) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!queue.length || !queue.includes(\n job,\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\n )) {\n if (job.id == null) {\n queue.push(job);\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 || !activePostFlushCbs.includes(\n cb,\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\n )) {\n pendingPostFlushCbs.push(cb);\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\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)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if (!!(process.env.NODE_ENV !== \"production\") && 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 || /* @__PURE__ */ new Map();\n }\n queue.sort(comparator);\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : 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 callWithErrorHandling(job, null, 14);\n }\n }\n } finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\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 } 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 handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n } else {\n seen.set(fn, count + 1);\n }\n }\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Set();\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 = /* @__PURE__ */ 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: /* @__PURE__ */ 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 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 isHmrUpdating = true;\n instance.effect.dirty = 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 updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.add(oldComp);\n }\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n } else if (instance.parent) {\n instance.parent.effect.dirty = true;\n queueJob(instance.parent.update);\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n }\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(\n normalizeClassComponent(instance.type)\n );\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 } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\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\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:added\" /* COMPONENT_ADDED */\n);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:start\" /* PERFORMANCE_START */\n);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:end\" /* PERFORMANCE_END */\n);\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(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\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 {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn$1(\n `Component emitted event \"${event}\" but it is neither declared in 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$1(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\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$1(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(\n event\n )}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\n props[handlerName = toHandlerKey(camelize(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, 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 } else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\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)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx)\n return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\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 renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const {\n type: Component,\n vnode,\n proxy,\n withProxy,\n props,\n propsOptions: [propsOptions],\n slots,\n attrs,\n emit,\n render,\n renderCache,\n data,\n setupState,\n ctx,\n inheritAttrs\n } = 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) {\n const proxyToUse = withProxy || proxy;\n const thisProxy = !!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup ? new Proxy(proxyToUse, {\n get(target, key, receiver) {\n warn$1(\n `Property '${String(\n key\n )}' was accessed via 'this'. Avoid using 'this' in templates.`\n );\n return Reflect.get(target, key, receiver);\n }\n }) : proxyToUse;\n result = normalizeVNode(\n render.call(\n thisProxy,\n proxyToUse,\n renderCache,\n props,\n setupState,\n data,\n ctx\n )\n );\n fallthroughAttrs = attrs;\n } else {\n const render2 = Component;\n if (!!(process.env.NODE_ENV !== \"production\") && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(\n render2.length > 1 ? render2(\n props,\n !!(process.env.NODE_ENV !== \"production\") ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n } : { attrs, slots, emit }\n ) : render2(\n props,\n null\n /* we know it doesn't need it */\n )\n );\n fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);\n }\n } catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1);\n result = createVNode(Comment);\n }\n let root = result;\n let setRoot = void 0;\n if (!!(process.env.NODE_ENV !== \"production\") && result.patchFlag > 0 && result.patchFlag & 2048) {\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 | 6)) {\n if (propsOptions && keys.some(isModelListener)) {\n fallthroughAttrs = filterModelListeners(\n fallthroughAttrs,\n propsOptions\n );\n }\n root = cloneVNode(root, fallthroughAttrs);\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 if (!isModelListener(key)) {\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n } else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn$1(\n `Extraneous non-props attributes (${extraAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`\n );\n }\n if (eventAttrs.length) {\n warn$1(\n `Extraneous non-emits event listeners (${eventAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the \"emits\" option.`\n );\n }\n }\n }\n }\n if (vnode.dirs) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn$1(\n `Runtime directive used on component with non-element root node. The directives will not function as intended.`\n );\n }\n root = cloneVNode(root);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n if (vnode.transition) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn$1(\n `Component inside renders non-element root node that cannot be animated.`\n );\n }\n root.transition = vnode.transition;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && setRoot) {\n setRoot(root);\n } else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren, false);\n if (!childRoot) {\n return [vnode, void 0];\n } else if (!!(process.env.NODE_ENV !== \"production\") && childRoot.patchFlag > 0 && childRoot.patchFlag & 2048) {\n return getChildRoot(childRoot);\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 } else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children, recurse = true) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n if (child.type !== Comment || child.children === \"v-if\") {\n if (singleRoot) {\n return;\n } else {\n singleRoot = child;\n if (!!(process.env.NODE_ENV !== \"production\") && recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) {\n return filterSingleRoot(singleRoot.children);\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 | 1) || vnode.type === Comment;\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 if (!!(process.env.NODE_ENV !== \"production\") && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024) {\n return true;\n }\n if (patchFlag & 16) {\n if (!prevProps) {\n return !!nextProps;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n } else if (patchFlag & 8) {\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] && !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n } else {\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] && !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el) {\n while (parent) {\n const root = parent.subTree;\n if (root.suspense && root.suspense.activeBranch === vnode) {\n root.el = vnode.el;\n }\n if (root === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n } else {\n break;\n }\n }\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nconst isSuspense = (type) => type.__isSuspense;\nlet suspenseId = 0;\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, namespace, slotScopeIds, optimized, rendererInternals) {\n if (n1 == null) {\n mountSuspense(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n } else {\n if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback) {\n n2.suspense = n1.suspense;\n n2.suspense.vnode = n2;\n n2.el = n1.el;\n return;\n }\n patchSuspense(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\nconst Suspense = SuspenseImpl ;\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, namespace, slotScopeIds, optimized, rendererInternals) {\n const {\n p: patch,\n o: { createElement }\n } = rendererInternals;\n const hiddenContainer = createElement(\"div\");\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n container,\n hiddenContainer,\n anchor,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n patch(\n null,\n suspense.pendingBranch = vnode.ssContent,\n hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds\n );\n if (suspense.deps > 0) {\n triggerEvent(vnode, \"onPending\");\n triggerEvent(vnode, \"onFallback\");\n patch(\n null,\n vnode.ssFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds\n );\n setActiveBranch(suspense, vnode.ssFallback);\n } else {\n suspense.resolve(false, true);\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, namespace, 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 patch(\n pendingBranch,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else if (isInFallback) {\n if (!isHydrating) {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n }\n } else {\n suspense.pendingId = suspenseId++;\n if (isHydrating) {\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n } else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n suspense.deps = 0;\n suspense.effects.length = 0;\n suspense.hiddenContainer = createElement(\"div\");\n if (isInFallback) {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n suspense.resolve(true);\n } else {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n } else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newBranch);\n } else {\n triggerEvent(n2, \"onPending\");\n suspense.pendingBranch = newBranch;\n if (newBranch.shapeFlag & 512) {\n suspense.pendingId = newBranch.component.suspenseId;\n } else {\n suspense.pendingId = suspenseId++;\n }\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\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 } else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n if (!!(process.env.NODE_ENV !== \"production\") && true && !hasWarned) {\n hasWarned = true;\n console[console.info ? \"info\" : \"log\"](\n ` is an experimental feature and its API will likely change.`\n );\n }\n const {\n p: patch,\n m: move,\n um: unmount,\n n: next,\n o: { parentNode, remove }\n } = rendererInternals;\n let parentSuspenseId;\n const isSuspensible = isVNodeSuspensible(vnode);\n if (isSuspensible) {\n if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) {\n parentSuspenseId = parentSuspense.pendingId;\n parentSuspense.deps++;\n }\n }\n const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assertNumber(timeout, `Suspense timeout`);\n }\n const initialAnchor = anchor;\n const suspense = {\n vnode,\n parent: parentSuspense,\n parentComponent,\n namespace,\n container,\n hiddenContainer,\n deps: 0,\n pendingId: suspenseId++,\n timeout: typeof timeout === \"number\" ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: !isHydrating,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false, sync = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(\n `suspense.resolve() is called without a pending branch.`\n );\n }\n if (suspense.isUnmounted) {\n throw new Error(\n `suspense.resolve() is called on an already unmounted suspense boundary.`\n );\n }\n }\n const {\n vnode: vnode2,\n activeBranch,\n pendingBranch,\n pendingId,\n effects,\n parentComponent: parentComponent2,\n container: container2\n } = suspense;\n let delayEnter = false;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n } else if (!resume) {\n delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(\n pendingBranch,\n container2,\n anchor === initialAnchor ? next(activeBranch) : anchor,\n 0\n );\n queuePostFlushCb(effects);\n }\n };\n }\n if (activeBranch) {\n if (parentNode(activeBranch.el) !== suspense.hiddenContainer) {\n anchor = next(activeBranch);\n }\n unmount(activeBranch, parentComponent2, suspense, true);\n }\n if (!delayEnter) {\n move(pendingBranch, container2, anchor, 0);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n if (!hasUnresolvedAncestor && !delayEnter) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {\n parentSuspense.deps--;\n if (parentSuspense.deps === 0 && !sync) {\n parentSuspense.resolve();\n }\n }\n }\n triggerEvent(vnode2, \"onResolve\");\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, namespace: namespace2 } = suspense;\n triggerEvent(vnode2, \"onFallback\");\n const anchor2 = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n patch(\n null,\n fallbackVNode,\n container2,\n anchor2,\n parentComponent2,\n null,\n // fallback tree will not have suspense context\n namespace2,\n slotScopeIds,\n optimized\n );\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(\n activeBranch,\n parentComponent2,\n null,\n // no suspense so unmount hooks fire now\n true\n // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container2, anchor2, type) {\n suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type);\n suspense.container = container2;\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.asyncDep.catch((err) => {\n handleError(err, instance, 0);\n }).then((asyncSetupResult) => {\n if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {\n return;\n }\n instance.asyncResolved = true;\n const { vnode: vnode2 } = instance;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(vnode2);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n vnode2.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(\n instance,\n vnode2,\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),\n suspense,\n namespace,\n optimized\n );\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode2.el);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense2, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(\n suspense.activeBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n if (suspense.pendingBranch) {\n unmount(\n suspense.pendingBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n node.parentNode,\n // eslint-disable-next-line no-restricted-globals\n document.createElement(\"div\"),\n null,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals,\n true\n );\n const result = hydrateNode(\n node,\n suspense.pendingBranch = vnode.ssContent,\n parentComponent,\n suspense,\n slotScopeIds,\n optimized\n );\n if (suspense.deps === 0) {\n suspense.resolve(false, true);\n }\n return result;\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32;\n vnode.ssContent = normalizeSuspenseSlot(\n isSlotChildren ? children.default : children\n );\n vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\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 && s.filter((child) => child !== NULL_DYNAMIC_COMPONENT).length > 0) {\n warn$1(` 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 } else {\n suspense.effects.push(fn);\n }\n } else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n let el = branch.el;\n while (!el && branch.component) {\n branch = branch.component.subTree;\n el = branch.el;\n }\n vnode.el = el;\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\nfunction isVNodeSuspensible(vnode) {\n var _a;\n return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false;\n}\n\nconst ssrContextKey = Symbol.for(\"v-scx\");\nconst useSSRContext = () => {\n {\n const ctx = inject(ssrContextKey);\n if (!ctx) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`\n );\n }\n return ctx;\n }\n};\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nconst INITIAL_WATCHER_VALUE = {};\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn$1(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, {\n immediate,\n deep,\n flush,\n once,\n onTrack,\n onTrigger\n} = EMPTY_OBJ) {\n if (cb && once) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n unwatch();\n };\n }\n if (!!(process.env.NODE_ENV !== \"production\") && deep !== void 0 && typeof deep === \"number\") {\n warn$1(\n `watch() \"deep\" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.`\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn$1(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn$1(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (once !== void 0) {\n warn$1(\n `watch() \"once\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const warnInvalidSource = (s) => {\n warn$1(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const instance = currentInstance;\n const reactiveGetter = (source2) => deep === true ? source2 : (\n // for deep: false, only traverse root-level properties\n traverse(source2, deep === false ? 1 : void 0)\n );\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2);\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = () => callWithErrorHandling(source, instance, 2);\n } else {\n getter = () => {\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(\n source,\n instance,\n 3,\n [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);\n cleanup = effect.onStop = void 0;\n };\n };\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n onCleanup = NOOP;\n if (!cb) {\n getter();\n } else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3, [\n getter(),\n isMultiSource ? [] : void 0,\n onCleanup\n ]);\n }\n if (flush === \"sync\") {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n } else {\n return NOOP;\n }\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active || !effect.dirty) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n } else {\n effect.run();\n }\n };\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === \"sync\") {\n scheduler = job;\n } else if (flush === \"post\") {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n } else {\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, NOOP, scheduler);\n const scope = getCurrentScope();\n const unwatch = () => {\n effect.stop();\n if (scope) {\n remove(scope.effects, effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n if (cb) {\n if (immediate) {\n job();\n } else {\n oldValue = effect.run();\n }\n } else if (flush === \"post\") {\n queuePostRenderEffect(\n effect.run.bind(effect),\n instance && instance.suspense\n );\n } else {\n effect.run();\n }\n if (ssrCleanup)\n ssrCleanup.push(unwatch);\n return unwatch;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const reset = setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n reset();\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, depth, currentDepth = 0, seen) {\n if (!isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n if (depth && depth > 0) {\n if (currentDepth >= depth) {\n return value;\n }\n currentDepth++;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, depth, currentDepth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, currentDepth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, currentDepth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, currentDepth, seen);\n }\n }\n return value;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getExposeProxy(currentRenderingInstance) || currentRenderingInstance.proxy;\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ 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 BaseTransitionPropsValidators = {\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};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\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 for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn$1(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\"))\n break;\n }\n }\n }\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild)) {\n const leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\") {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (instance.update.active !== false) {\n instance.effect.dirty = true;\n instance.update();\n }\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1))\n done();\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 } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\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 } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n return resolveTransitionHooks(vnode2, props, state, instance);\n }\n };\n return hooks;\n}\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 // #7121 ensure get the child component subtree in case\n // it's been replaced during HMR\n !!(process.env.NODE_ENV !== \"production\") && vnode.component ? vnode.component.subTree : vnode.children ? vnode.children[0] : void 0\n ) : vnode;\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\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 const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128)\n keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8326: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.effect.dirty = true;\n queueJob(instance.parent.update);\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && (!filter || !filter(name))) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (!current || !isSameVNodeType(cached, current)) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\n);\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\"bu\");\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\"bum\");\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\"sp\");\nconst onRenderTriggered = createHook(\n \"rtg\"\n);\nconst onRenderTracked = createHook(\n \"rtc\"\n);\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n if (isArray(source) || isString(source)) {\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(source[i], i, void 0, cached && cached[i]);\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn$1(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res)\n res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) {\n if (name !== \"default\")\n props.name = name;\n return createVNode(\"slot\", props, fallback && fallback());\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const rendered = createBlock(\n Fragment,\n {\n key: props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key || `_${name}`\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child))\n return true;\n if (child.type === Comment)\n return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i)\n return null;\n if (isStatefulComponent(i))\n return getExposeProxy(i) || i.proxy;\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n i.effect.dirty = true;\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance, \"get\", key);\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate \n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction makeIconStandard (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.4\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = 'far' in styles;\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\nfunction transformParser (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser (node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\n\nvar styles$2 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n}\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(_content.length === 3 ? _content.substr(1, 1) : _content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements (root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar Library =\n/*#__PURE__*/\nfunction () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };\n","import { HOOK_PLUGIN_SETTINGS_SET } from './const';\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 = { ...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 };\n hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {\n if (pluginId === this.plugin.id) {\n this.fallbacks.setSettings(value);\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","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","import { resolveDirective as ke, openBlock as h, createElementBlock as p, normalizeClass as C, withDirectives as M, withKeys as I, createElementVNode as S, createCommentVNode as O, toDisplayString as _, renderSlot as q, withModifiers as Be, vModelText as Ge, Fragment as je, renderList as Ue, vModelDynamic as He } from \"vue\";\nconst Ve = [\n [\n \"Afghanistan (‫افغانستان‬‎)\",\n \"af\",\n \"93\"\n ],\n [\n \"Albania (Shqipëri)\",\n \"al\",\n \"355\"\n ],\n [\n \"Algeria (‫الجزائر‬‎)\",\n \"dz\",\n \"213\"\n ],\n [\n \"American Samoa\",\n \"as\",\n \"1\",\n 5,\n [\"684\"]\n ],\n [\n \"Andorra\",\n \"ad\",\n \"376\"\n ],\n [\n \"Angola\",\n \"ao\",\n \"244\"\n ],\n [\n \"Anguilla\",\n \"ai\",\n \"1\",\n 6,\n [\"264\"]\n ],\n [\n \"Antigua and Barbuda\",\n \"ag\",\n \"1\",\n 7,\n [\"268\"]\n ],\n [\n \"Argentina\",\n \"ar\",\n \"54\"\n ],\n [\n \"Armenia (Հայաստան)\",\n \"am\",\n \"374\"\n ],\n [\n \"Aruba\",\n \"aw\",\n \"297\"\n ],\n [\n \"Ascension Island\",\n \"ac\",\n \"247\"\n ],\n [\n \"Australia\",\n \"au\",\n \"61\",\n 0\n ],\n [\n \"Austria (Österreich)\",\n \"at\",\n \"43\"\n ],\n [\n \"Azerbaijan (Azərbaycan)\",\n \"az\",\n \"994\"\n ],\n [\n \"Bahamas\",\n \"bs\",\n \"1\",\n 8,\n [\"242\"]\n ],\n [\n \"Bahrain (‫البحرين‬‎)\",\n \"bh\",\n \"973\"\n ],\n [\n \"Bangladesh (বাংলাদেশ)\",\n \"bd\",\n \"880\"\n ],\n [\n \"Barbados\",\n \"bb\",\n \"1\",\n 9,\n [\"246\"]\n ],\n [\n \"Belarus (Беларусь)\",\n \"by\",\n \"375\"\n ],\n [\n \"Belgium (België)\",\n \"be\",\n \"32\"\n ],\n [\n \"Belize\",\n \"bz\",\n \"501\"\n ],\n [\n \"Benin (Bénin)\",\n \"bj\",\n \"229\"\n ],\n [\n \"Bermuda\",\n \"bm\",\n \"1\",\n 10,\n [\"441\"]\n ],\n [\n \"Bhutan (འབྲུག)\",\n \"bt\",\n \"975\"\n ],\n [\n \"Bolivia\",\n \"bo\",\n \"591\"\n ],\n [\n \"Bosnia and Herzegovina (Босна и Херцеговина)\",\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 \"1\",\n 11,\n [\"284\"]\n ],\n [\n \"Brunei\",\n \"bn\",\n \"673\"\n ],\n [\n \"Bulgaria (България)\",\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 (កម្ពុជា)\",\n \"kh\",\n \"855\"\n ],\n [\n \"Cameroon (Cameroun)\",\n \"cm\",\n \"237\"\n ],\n [\n \"Canada\",\n \"ca\",\n \"1\",\n 1,\n [\"204\", \"226\", \"236\", \"249\", \"250\", \"263\", \"289\", \"306\", \"343\", \"354\", \"365\", \"367\", \"368\", \"382\", \"387\", \"403\", \"416\", \"418\", \"428\", \"431\", \"437\", \"438\", \"450\", \"584\", \"468\", \"474\", \"506\", \"514\", \"519\", \"548\", \"579\", \"581\", \"584\", \"587\", \"604\", \"613\", \"639\", \"647\", \"672\", \"683\", \"705\", \"709\", \"742\", \"753\", \"778\", \"780\", \"782\", \"807\", \"819\", \"825\", \"867\", \"873\", \"902\", \"905\"]\n ],\n [\n \"Cape Verde (Kabu Verdi)\",\n \"cv\",\n \"238\"\n ],\n [\n \"Caribbean Netherlands\",\n \"bq\",\n \"599\",\n 1,\n [\"3\", \"4\", \"7\"]\n ],\n [\n \"Cayman Islands\",\n \"ky\",\n \"1\",\n 12,\n [\"345\"]\n ],\n [\n \"Central African Republic (République 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 (中国)\",\n \"cn\",\n \"86\"\n ],\n [\n \"Christmas Island\",\n \"cx\",\n \"61\",\n 2,\n [\"89164\"]\n ],\n [\n \"Cocos (Keeling) Islands\",\n \"cc\",\n \"61\",\n 1,\n [\"89162\"]\n ],\n [\n \"Colombia\",\n \"co\",\n \"57\"\n ],\n [\n \"Comoros (‫جزر القمر‬‎)\",\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ôte d’Ivoire\",\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çao\",\n \"cw\",\n \"599\",\n 0\n ],\n [\n \"Cyprus (Κύπρος)\",\n \"cy\",\n \"357\"\n ],\n [\n \"Czech Republic (Česká 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 \"1\",\n 13,\n [\"767\"]\n ],\n [\n \"Dominican Republic (República Dominicana)\",\n \"do\",\n \"1\",\n 2,\n [\"809\", \"829\", \"849\"]\n ],\n [\n \"Ecuador\",\n \"ec\",\n \"593\"\n ],\n [\n \"Egypt (‫مصر‬‎)\",\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 \"Eswatini\",\n \"sz\",\n \"268\"\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øroyar)\",\n \"fo\",\n \"298\"\n ],\n [\n \"Fiji\",\n \"fj\",\n \"679\"\n ],\n [\n \"Finland (Suomi)\",\n \"fi\",\n \"358\",\n 0\n ],\n [\n \"France\",\n \"fr\",\n \"33\"\n ],\n [\n \"French Guiana (Guyane française)\",\n \"gf\",\n \"594\"\n ],\n [\n \"French Polynesia (Polynésie française)\",\n \"pf\",\n \"689\"\n ],\n [\n \"Gabon\",\n \"ga\",\n \"241\"\n ],\n [\n \"Gambia\",\n \"gm\",\n \"220\"\n ],\n [\n \"Georgia (საქართველო)\",\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 (Ελλάδα)\",\n \"gr\",\n \"30\"\n ],\n [\n \"Greenland (Kalaallit Nunaat)\",\n \"gl\",\n \"299\"\n ],\n [\n \"Grenada\",\n \"gd\",\n \"1\",\n 14,\n [\"473\"]\n ],\n [\n \"Guadeloupe\",\n \"gp\",\n \"590\",\n 0\n ],\n [\n \"Guam\",\n \"gu\",\n \"1\",\n 15,\n [\"671\"]\n ],\n [\n \"Guatemala\",\n \"gt\",\n \"502\"\n ],\n [\n \"Guernsey\",\n \"gg\",\n \"44\",\n 1,\n [\"1481\", \"7781\", \"7839\", \"7911\"]\n ],\n [\n \"Guinea (Guinée)\",\n \"gn\",\n \"224\"\n ],\n [\n \"Guinea-Bissau (Guiné 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 (香港)\",\n \"hk\",\n \"852\"\n ],\n [\n \"Hungary (Magyarország)\",\n \"hu\",\n \"36\"\n ],\n [\n \"Iceland (Ísland)\",\n \"is\",\n \"354\"\n ],\n [\n \"India (भारत)\",\n \"in\",\n \"91\"\n ],\n [\n \"Indonesia\",\n \"id\",\n \"62\"\n ],\n [\n \"Iran (‫ایران‬‎)\",\n \"ir\",\n \"98\"\n ],\n [\n \"Iraq (‫العراق‬‎)\",\n \"iq\",\n \"964\"\n ],\n [\n \"Ireland\",\n \"ie\",\n \"353\"\n ],\n [\n \"Isle of Man\",\n \"im\",\n \"44\",\n 2,\n [\"1624\", \"74576\", \"7524\", \"7924\", \"7624\"]\n ],\n [\n \"Israel (‫ישראל‬‎)\",\n \"il\",\n \"972\"\n ],\n [\n \"Italy (Italia)\",\n \"it\",\n \"39\",\n 0\n ],\n [\n \"Jamaica\",\n \"jm\",\n \"1\",\n 4,\n [\"876\", \"658\"]\n ],\n [\n \"Japan (日本)\",\n \"jp\",\n \"81\"\n ],\n [\n \"Jersey\",\n \"je\",\n \"44\",\n 3,\n [\"1534\", \"7509\", \"7700\", \"7797\", \"7829\", \"7937\"]\n ],\n [\n \"Jordan (‫الأردن‬‎)\",\n \"jo\",\n \"962\"\n ],\n [\n \"Kazakhstan (Казахстан)\",\n \"kz\",\n \"7\",\n 1,\n [\"33\", \"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 (‫الكويت‬‎)\",\n \"kw\",\n \"965\"\n ],\n [\n \"Kyrgyzstan (Кыргызстан)\",\n \"kg\",\n \"996\"\n ],\n [\n \"Laos (ລາວ)\",\n \"la\",\n \"856\"\n ],\n [\n \"Latvia (Latvija)\",\n \"lv\",\n \"371\"\n ],\n [\n \"Lebanon (‫لبنان‬‎)\",\n \"lb\",\n \"961\"\n ],\n [\n \"Lesotho\",\n \"ls\",\n \"266\"\n ],\n [\n \"Liberia\",\n \"lr\",\n \"231\"\n ],\n [\n \"Libya (‫ليبيا‬‎)\",\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 (澳門)\",\n \"mo\",\n \"853\"\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 (‫موريتانيا‬‎)\",\n \"mr\",\n \"222\"\n ],\n [\n \"Mauritius (Moris)\",\n \"mu\",\n \"230\"\n ],\n [\n \"Mayotte\",\n \"yt\",\n \"262\",\n 1,\n [\"269\", \"639\"]\n ],\n [\n \"Mexico (México)\",\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 (Монгол)\",\n \"mn\",\n \"976\"\n ],\n [\n \"Montenegro (Crna Gora)\",\n \"me\",\n \"382\"\n ],\n [\n \"Montserrat\",\n \"ms\",\n \"1\",\n 16,\n [\"664\"]\n ],\n [\n \"Morocco (‫المغرب‬‎)\",\n \"ma\",\n \"212\",\n 0\n ],\n [\n \"Mozambique (Moçambique)\",\n \"mz\",\n \"258\"\n ],\n [\n \"Myanmar (Burma) (မြန်မာ)\",\n \"mm\",\n \"95\"\n ],\n [\n \"Namibia (Namibië)\",\n \"na\",\n \"264\"\n ],\n [\n \"Nauru\",\n \"nr\",\n \"674\"\n ],\n [\n \"Nepal (नेपाल)\",\n \"np\",\n \"977\"\n ],\n [\n \"Netherlands (Nederland)\",\n \"nl\",\n \"31\"\n ],\n [\n \"New Caledonia (Nouvelle-Calédonie)\",\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 (조선 민주주의 인민 공화국)\",\n \"kp\",\n \"850\"\n ],\n [\n \"North Macedonia (Северна Македонија)\",\n \"mk\",\n \"389\"\n ],\n [\n \"Northern Mariana Islands\",\n \"mp\",\n \"1\",\n 17,\n [\"670\"]\n ],\n [\n \"Norway (Norge)\",\n \"no\",\n \"47\",\n 0\n ],\n [\n \"Oman (‫عُمان‬‎)\",\n \"om\",\n \"968\"\n ],\n [\n \"Pakistan (‫پاکستان‬‎)\",\n \"pk\",\n \"92\"\n ],\n [\n \"Palau\",\n \"pw\",\n \"680\"\n ],\n [\n \"Palestine (‫فلسطين‬‎)\",\n \"ps\",\n \"970\"\n ],\n [\n \"Panama (Panamá)\",\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ú)\",\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 3,\n [\"787\", \"939\"]\n ],\n [\n \"Qatar (‫قطر‬‎)\",\n \"qa\",\n \"974\"\n ],\n [\n \"Réunion (La Réunion)\",\n \"re\",\n \"262\",\n 0\n ],\n [\n \"Romania (România)\",\n \"ro\",\n \"40\"\n ],\n [\n \"Russia (Россия)\",\n \"ru\",\n \"7\",\n 0\n ],\n [\n \"Rwanda\",\n \"rw\",\n \"250\"\n ],\n [\n \"Saint Barthélemy\",\n \"bl\",\n \"590\",\n 1\n ],\n [\n \"Saint Helena\",\n \"sh\",\n \"290\"\n ],\n [\n \"Saint Kitts and Nevis\",\n \"kn\",\n \"1\",\n 18,\n [\"869\"]\n ],\n [\n \"Saint Lucia\",\n \"lc\",\n \"1\",\n 19,\n [\"758\"]\n ],\n [\n \"Saint Martin (Saint-Martin (partie française))\",\n \"mf\",\n \"590\",\n 2\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 \"1\",\n 20,\n [\"784\"]\n ],\n [\n \"Samoa\",\n \"ws\",\n \"685\"\n ],\n [\n \"San Marino\",\n \"sm\",\n \"378\"\n ],\n [\n \"São Tomé and Príncipe (São Tomé e Príncipe)\",\n \"st\",\n \"239\"\n ],\n [\n \"Saudi Arabia (‫المملكة العربية السعودية‬‎)\",\n \"sa\",\n \"966\"\n ],\n [\n \"Senegal (Sénégal)\",\n \"sn\",\n \"221\"\n ],\n [\n \"Serbia (Србија)\",\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 \"1\",\n 21,\n [\"721\"]\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 (대한민국)\",\n \"kr\",\n \"82\"\n ],\n [\n \"South Sudan (‫جنوب السودان‬‎)\",\n \"ss\",\n \"211\"\n ],\n [\n \"Spain (España)\",\n \"es\",\n \"34\"\n ],\n [\n \"Sri Lanka (ශ්‍රී ලංකාව)\",\n \"lk\",\n \"94\"\n ],\n [\n \"Sudan (‫السودان‬‎)\",\n \"sd\",\n \"249\"\n ],\n [\n \"Suriname\",\n \"sr\",\n \"597\"\n ],\n [\n \"Svalbard and Jan Mayen\",\n \"sj\",\n \"47\",\n 1,\n [\"79\"]\n ],\n [\n \"Sweden (Sverige)\",\n \"se\",\n \"46\"\n ],\n [\n \"Switzerland (Schweiz)\",\n \"ch\",\n \"41\"\n ],\n [\n \"Syria (‫سوريا‬‎)\",\n \"sy\",\n \"963\"\n ],\n [\n \"Taiwan (台灣)\",\n \"tw\",\n \"886\"\n ],\n [\n \"Tajikistan\",\n \"tj\",\n \"992\"\n ],\n [\n \"Tanzania\",\n \"tz\",\n \"255\"\n ],\n [\n \"Thailand (ไทย)\",\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 \"1\",\n 22,\n [\"868\"]\n ],\n [\n \"Tunisia (‫تونس‬‎)\",\n \"tn\",\n \"216\"\n ],\n [\n \"Turkey (Türkiye)\",\n \"tr\",\n \"90\"\n ],\n [\n \"Turkmenistan\",\n \"tm\",\n \"993\"\n ],\n [\n \"Turks and Caicos Islands\",\n \"tc\",\n \"1\",\n 23,\n [\"649\"]\n ],\n [\n \"Tuvalu\",\n \"tv\",\n \"688\"\n ],\n [\n \"U.S. Virgin Islands\",\n \"vi\",\n \"1\",\n 24,\n [\"340\"]\n ],\n [\n \"Uganda\",\n \"ug\",\n \"256\"\n ],\n [\n \"Ukraine (Україна)\",\n \"ua\",\n \"380\"\n ],\n [\n \"United Arab Emirates (‫الإمارات العربية المتحدة‬‎)\",\n \"ae\",\n \"971\"\n ],\n [\n \"United Kingdom\",\n \"gb\",\n \"44\",\n 0\n ],\n [\n \"United States\",\n \"us\",\n \"1\",\n 0\n ],\n [\n \"Uruguay\",\n \"uy\",\n \"598\"\n ],\n [\n \"Uzbekistan (Oʻzbekiston)\",\n \"uz\",\n \"998\"\n ],\n [\n \"Vanuatu\",\n \"vu\",\n \"678\"\n ],\n [\n \"Vatican City (Città del Vaticano)\",\n \"va\",\n \"39\",\n 1,\n [\"06698\"]\n ],\n [\n \"Venezuela\",\n \"ve\",\n \"58\"\n ],\n [\n \"Vietnam (Việt Nam)\",\n \"vn\",\n \"84\"\n ],\n [\n \"Wallis and Futuna (Wallis-et-Futuna)\",\n \"wf\",\n \"681\"\n ],\n [\n \"Western Sahara (‫الصحراء الغربية‬‎)\",\n \"eh\",\n \"212\",\n 1,\n [\"5288\", \"5289\"]\n ],\n [\n \"Yemen (‫اليمن‬‎)\",\n \"ye\",\n \"967\"\n ],\n [\n \"Zambia\",\n \"zm\",\n \"260\"\n ],\n [\n \"Zimbabwe\",\n \"zw\",\n \"263\"\n ],\n [\n \"Åland Islands\",\n \"ax\",\n \"358\",\n 1,\n [\"18\"]\n ]\n], Ke = Ve.map(([e, d, t, n = 0, r = null]) => ({\n name: e,\n iso2: d.toUpperCase(),\n dialCode: t,\n priority: n,\n areaCodes: r\n}));\nfunction We() {\n return fetch(\"https://ip2c.org/s\").then((e) => e.text()).then((e) => {\n const d = (e || \"\").toString();\n if (!d || d[0] !== \"1\")\n throw new Error(\"unable to fetch the country\");\n return d.substr(2, 2);\n });\n}\nfunction ze(e, d) {\n if (e.setSelectionRange)\n e.focus(), e.setSelectionRange(d, d);\n else if (e.createTextRange) {\n const t = e.createTextRange();\n t.collapse(!0), t.moveEnd(\"character\", d), t.moveStart(\"character\", d), t.select();\n }\n}\nconst Xe = [\n {\n name: \"allCountries\",\n type: Array,\n default: Ke,\n description: \"All countries that are used in libphonenumber-js, can be overridden by this prop\",\n inDemo: !1\n },\n {\n name: \"autoFormat\",\n type: Boolean,\n default: !0,\n description: \"Auto update the input to the formatted phone number when it's valid\",\n inDemo: !0\n },\n {\n name: \"customValidate\",\n type: [Boolean, RegExp],\n default: !1,\n description: \"Custom validation RegExp for input\",\n inDemo: !1\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: !1\n },\n {\n name: \"disabled\",\n default: !1,\n type: Boolean,\n description: \"Disable vue-tel-input, including the input & flag dropdown\",\n inDemo: !1\n },\n {\n name: \"autoDefaultCountry\",\n default: !0,\n type: Boolean,\n description: \"To fetch default country based on IP address of user\",\n inDemo: !1\n },\n {\n name: \"dropdownOptions\",\n type: Object,\n description: \"Options for dropdown, see below\",\n inDemo: !1\n },\n {\n name: \"dropdownOptions.disabled\",\n default: !1,\n type: Boolean,\n description: \"Disable dropdown\",\n inDemo: !1\n },\n {\n name: \"dropdownOptions.showDialCodeInList\",\n default: !0,\n type: Boolean,\n description: \"Show dial code in the dropdown list\",\n inDemo: !0\n },\n {\n name: \"dropdownOptions.showDialCodeInSelection\",\n default: !1,\n type: Boolean,\n description: \"Show dial code in the dropdown selection\",\n inDemo: !0\n },\n {\n name: \"dropdownOptions.showFlags\",\n default: !0,\n type: Boolean,\n description: \"Show flags in the dropdown selection and list\",\n inDemo: !0\n },\n {\n name: \"dropdownOptions.showSearchBox\",\n default: !1,\n type: Boolean,\n description: \"Show country search box\",\n inDemo: !0\n },\n {\n name: \"dropdownOptions.tabindex\",\n default: 0,\n type: Number,\n description: \"Native dropdown tabindex attribute\",\n inDemo: !1\n },\n {\n name: \"ignoredCountries\",\n default: [],\n type: Array,\n description: \"List of countries will NOT be shown on the dropdown\",\n inDemo: !1\n },\n {\n name: \"inputOptions\",\n type: Object,\n description: \"Options for input, see below\",\n inDemo: !1\n },\n {\n name: \"inputOptions.autocomplete\",\n type: String,\n default: \"on\",\n description: \"Native input autocomplete attribute\",\n inDemo: !1\n },\n {\n name: \"inputOptions.autofocus\",\n type: Boolean,\n default: !1,\n description: \"Native input autofocus attribute\",\n inDemo: !1\n },\n // {\n // name: 'inputOptions.dynamicPlaceholder',\n // default: false,\n // type: Boolean,\n // description: 'Placeholder as a sample phone number in the current country',\n // inDemo: false,\n // },\n {\n name: \"inputOptions.aria-describedby\",\n default: \"\",\n type: String,\n description: \"Native input aria-describedby attribute\",\n inDemo: !1\n },\n {\n name: \"inputOptions.id\",\n default: \"\",\n type: String,\n description: \"Native input id attribute\",\n inDemo: !1\n },\n {\n name: \"inputOptions.maxlength\",\n default: 25,\n type: Number,\n description: \"Native input maxlength attribute\",\n inDemo: !1\n },\n {\n name: \"inputOptions.name\",\n default: \"telephone\",\n type: String,\n description: \"Native input name attribute\",\n inDemo: !1\n },\n {\n name: \"inputOptions.showDialCode\",\n default: !1,\n type: Boolean,\n description: \"Show dial code in input\",\n inDemo: !1\n },\n {\n name: \"inputOptions.placeholder\",\n default: \"Enter a phone number\",\n type: String,\n description: \"Placeholder for the input\",\n inDemo: !1\n },\n {\n name: \"inputOptions.readonly\",\n default: !1,\n type: Boolean,\n description: \"Native input readonly attribute\",\n inDemo: !1\n },\n {\n name: \"inputOptions.required\",\n default: !1,\n type: Boolean,\n description: \"Native input required attribute\",\n inDemo: !1\n },\n {\n name: \"inputOptions.tabindex\",\n default: 0,\n type: Number,\n description: \"Native input tabindex attribute\",\n inDemo: !1\n },\n {\n name: \"inputOptions.type\",\n default: \"tel\",\n type: String,\n description: \"Native input type attribute\",\n inDemo: !1\n },\n {\n name: \"inputOptions.styleClasses\",\n default: \"\",\n type: [String, Array, Object],\n description: \"Custom classes for the input\",\n inDemo: !1\n },\n {\n name: \"invalidMsg\",\n default: \"\",\n type: String,\n description: \"\",\n inDemo: !1\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: !0,\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: !1\n },\n {\n name: \"preferredCountries\",\n default: [],\n type: Array,\n description: \"Preferred countries list, will be on top of the dropdown\",\n inDemo: !1\n },\n {\n name: \"styleClasses\",\n default: \"\",\n type: [String, Array, Object],\n description: \"Custom classes for the wrapper\",\n inDemo: !1\n },\n {\n name: \"validCharactersOnly\",\n default: !1,\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: !1\n }\n], we = [...Xe].reduce((e, d) => {\n if (d.name.includes(\".\")) {\n const [t, n] = d.name.split(\".\");\n e[t] ? Object.assign(e[t], { [n]: d.default }) : Object.assign(e, { [t]: { [n]: d.default } });\n } else\n Object.assign(e, { [d.name]: d.default });\n return e;\n}, {}), G = {\n options: { ...we }\n}, Ze = { 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, \"([457]\\\\d{6})$|1\", \"268$1\", 0, \"268\"], AI: [\"1\", \"011\", \"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"([2457]\\\\d{6})$|1\", \"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, \"([267]\\\\d{6})$|1\", \"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, \"(183[12])|0\", 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(?:(?:79|94)[01]|83[0-389])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[0-26-9]|7[02-8]|8[0-24-9]|9[0-37-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, \"([2-9]\\\\d{6})$|1\", \"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(?:[15]|28|4[14])|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\", \"00800\\\\d{7}|[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\", [6, 7, 8, 9, 12], [[\"(\\\\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[02-4679]\"]]]], 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\", \"[24-689]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[24-689]\"]]]], BL: [\"590\", \"00\", \"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\", [9], 0, \"0\", 0, 0, 0, 0, 0, [[\"590(?:2[7-9]|3[3-7]|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, [\"9(?:(?:395|76[018])\\\\d|475[0-5])\\\\d{4}\"]]], BM: [\"1\", \"011\", \"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"([2-9]\\\\d{6})$|1\", \"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, \"([3-8]\\\\d{6})$|1\", \"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-9]\"]], [\"(\\\\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|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|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-9]|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, \"([59]\\\\d{7})$|0\", \"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(?:(?:79|94)[01]|83[0-389])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[0-26-9]|7[02-8]|8[0-24-9]|9[0-37-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(?:10|9[56])|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, \"(1(?:[12]\\\\d|79)\\\\d\\\\d)|0\", 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\", [\"3[0-357]|91\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{7})\", \"$1-$2-$3\", [\"1\"], \"0$1\", 0, \"$1 $2 $3\"]], \"0\", 0, \"0([3579]|4(?:[14]4|56))?\"], 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}|63\\\\d{6}|(?: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\", [\"[56]\"], \"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, \"([59]\\\\d{7})$|0\", \"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(?:(?:79|94)[01]|83[0-389])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[0-26-9]|7[02-8]|8[0-24-9]|9[0-37-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[024-9]|3[2-689]|7[1-7])\\\\d{1,8}|(?:1|[368]\\\\d|4[0-8])\\\\d{3,13}|49(?:[015]\\\\d|2[13]|31|[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, \"([2-7]\\\\d{6})$|1\", \"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\", [\"[89]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{8})\", \"$1 $2\", [\"1\"], \"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[0-79])|(?:(?:5[0-26-9]|[78][0-49])\\\\d|6(?:[0-4]\\\\d|50))\\\\d)|(?: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|1(?:[0-7]\\\\d|8[0-2]))|(?: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-28]|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, \"([2-9]\\\\d{6})$|1\", \"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\\\\d{6}|(?:80|9\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[56]|9[47]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[89]\"], \"0$1\"]], \"0\"], GG: [\"44\", \"00\", \"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\", [7, 9, 10], 0, \"0\", 0, \"([25-9]\\\\d{5})$|0\", \"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-28]|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|60)\\\\d{6}\", [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\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\", [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[1-9]|5[3-579]|[68][0-689]|7[08]|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, [\"9(?:(?:395|76[018])\\\\d|475[0-5])\\\\d{4}\"]]], 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\", \"80\\\\d{6}|(?:1\\\\d{3}|[2-7])\\\\d{7}\", [8, 11], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2-8]\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"]]]], GU: [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\", [10], 0, \"1\", 0, \"([2-9]\\\\d{6})$|1\", \"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\", \"(?:[2-8]\\\\d{3}|9008)\\\\d{3}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-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|55)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"[2-589]\"]]]], 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, \"([25-8]\\\\d{5})$|0\", \"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-24-8]\\\\d{5})$|0\", \"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-28]|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)|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])|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])|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[0459]|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[26-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]|9[29])|5(?:2|3(?:[045]|9[0-8])|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[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|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]))|(?: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]|9(?:[0-58]|6[4-9]|7[0-35689]))|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]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|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]\"], \"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\", 0, \"(000[259]\\\\d{6})$|(?:(?:003768)0?)|0\", \"$1\"], 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-9]\\\\d{8}\", [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, \"([2-7]\\\\d{6})$|1\", \"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, \"([2-9]\\\\d{6})$|1\", \"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, \"([2-8]\\\\d{6})$|1\", \"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, \"(1001)|0\"], 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\", \"(?:[25]\\\\d|33|77|88)\\\\d{7}|(?:2\\\\d|[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\", [\"[23578]\"], \"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{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)|8(?:0[89]|92)\", \"5(?:2(?:[2-49]|8[235-9])|3[5-9]|9)|8(?:0[89]|92)\"], \"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(?:2(?:[0-25-79]\\\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\"], [\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[0167]\\\\d|2[0-2]|5[01]|8[0-3]))\\\\d{6}\"], [\"80[0-7]\\\\d{6}\"], [\"89\\\\d{7}\"], 0, 0, 0, 0, [\"(?:592(?:4[0-2]|93)|80[89]\\\\d\\\\d)\\\\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\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\", [9], 0, \"0\", 0, 0, 0, 0, 0, [[\"590(?:0[079]|[14]3|[27][79]|3[03-7]|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, [\"9(?:(?:395|76[018])\\\\d|475[0-5])\\\\d{4}\"]]], MG: [\"261\", \"00\", \"[23]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[23]\"], \"0$1\"]], \"0\", 0, \"([24-9]\\\\d{6})$|0\", \"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, \"([2-9]\\\\d{6})$|1\", \"670$1\", 0, \"670\"], MQ: [\"596\", \"00\", \"596\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\", [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, \"([34]\\\\d{6})$|1\", \"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])\", \"(?:[57]|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\", [\"[57]\"]], [\"(\\\\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\", [\"[34679]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[89]\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], MW: [\"265\", \"00\", \"(?:[1289]\\\\d|31|77)\\\\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(?:(?:[27]2|44|87|99)[1-9]|65[0-689])\\\\d{7}|(?:1(?:[01]\\\\d|2[13-9]|[35][1-9]|4[0-35-9]|6[0-46-9]|7[013-9]|8[1-69]|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[047]\"]]]], 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\", [\"8\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2-79]\"]]], 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\", \"(?:[4-7]|888\\\\d)\\\\d{3}\", [4, 7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"8\"]]]], NZ: [\"64\", \"0(?:0|161)\", \"[1289]\\\\d{9}|50\\\\d{5}(?:\\\\d{2,3})?|[27-9]\\\\d{7,8}|(?:[34]\\\\d|6[0-35-9])\\\\d{6}|8\\\\d{4,6}\", [5, 6, 7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{3,8})\", \"$1 $2\", [\"8[1-79]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\", \"$1 $2 $3\", [\"50[036-8]|8|90\", \"50(?:[0367]|88)|8|90\"], \"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)|[589]\"], \"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\"], \"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|8\\\\d\\\\d)\\\\d{7}|[1-9]\\\\d{6}(?:\\\\d{2})?|[26]\\\\d{5}\", [6, 7, 8, 9, 10], [[\"(\\\\d{5})\", \"$1\", [\"19\"]], [\"(\\\\d{3})(\\\\d{3})\", \"$1 $2\", [\"11|20|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]\\\\d{5}|(?:708|80\\\\d)\\\\d{6}\", [6, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[45]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"7\"]], [\"(\\\\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\", \"800\\\\d{4}|(?:2|800)\\\\d{6}|(?:0080|[3-7])\\\\d{7}\", [7, 8, 9, 11], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"2[16]|8\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[3-7]\"]]]], RE: [\"262\", \"00\", \"(?:26|[689]\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2689]\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, [[\"26(?:2\\\\d\\\\d|3(?:0\\\\d|1[0-6]))\\\\d{4}\"], [\"69(?:2\\\\d\\\\d|3(?:[06][0-6]|1[013]|2[0-2]|3[0-39]|4\\\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))\\\\d{4}\"], [\"80\\\\d{7}\"], [\"89[1-37-9]\\\\d{6}\"], 0, 0, 0, 0, [\"9(?:399[0-3]|479[0-5]|76(?:2[27]|3[0-37]))\\\\d{4}\"], [\"8(?:1[019]|2[0156]|84|90)\\\\d{6}\"]]], RO: [\"40\", \"00\", \"(?:[2378]\\\\d|62|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\", [\"[236-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-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))\", \"7(?:1(?:[0-356]2|4[29]|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\", [\"2\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[7-9]\"], \"0$1\"]], \"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-8]|[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|79)\\\\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\", [\"(?:2|90)4|[67]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[348]|64|79|90\"]], [\"(\\\\d{2})(\\\\d{5,7})\", \"$1 $2\", [\"1|28|6[0-35-9]|77|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, \"(5\\\\d{6})$|1\", \"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, \"([2-479]\\\\d{6})$|1\", \"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\", \"[0-57-9]\\\\d{8}\", [9], [[\"(\\\\d{6})(\\\\d)(\\\\d{2})\", \"$1 $2 $3\", [\"331\", \"3317\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"44[02-479]|[34]7\"]], [\"(\\\\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]|61[06])\", \"5(?:[0-59]|61[06]1)\"], \"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, \"([2-46-8]\\\\d{6})$|1\", \"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]\", \"(?:[25-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{2})(\\\\d{7})\", \"$1 $2\", [\"5\"]], [\"(\\\\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, [[\"(?:5056(?:[0-35-9]\\\\d|4[468])|73020\\\\d)\\\\d{4}|(?:4722|505[2-57-9]|983[289])\\\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[013569]|3[0-24679]|4[167]|5[0-2]|6[0149]|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[179]|6[1-47]|7[0-5]|8[0256])|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-2589]|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-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]], UY: [\"598\", \"0(?:0|1[3-9]\\\\d)\", \"0004\\\\d{2,9}|[1249]\\\\d{7}|(?:[49]\\\\d|80)\\\\d{5}\", [6, 7, 8, 9, 10, 11, 12, 13], [[\"(\\\\d{3})(\\\\d{3,4})\", \"$1 $2\", [\"0\"]], [\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[49]0|8\"], \"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{2,4})\", \"$1 $2 $3\", [\"0\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{2,4})\", \"$1 $2 $3 $4\", [\"0\"]]], \"0\", 0, 0, 0, 0, 0, 0, \"00\", \" int. \"], UZ: [\"998\", \"810\", \"(?:20|33|[5-79]\\\\d|88)\\\\d{7}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[235-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, \"([2-7]\\\\d{6})$|1\", \"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, \"([2-578]\\\\d{6})$|1\", \"284$1\", 0, \"284\"], VI: [\"1\", \"011\", \"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\", [10], 0, \"1\", 0, \"([2-9]\\\\d{6})$|1\", \"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\", [\"6\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[357-9]\"], \"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-6]|8[0-7])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"7\"], \"0$1\"]], \"0\"], YT: [\"262\", \"00\", \"(?:80|9\\\\d)\\\\d{7}|(?:26|63)9\\\\d{6}\", [9], 0, \"0\", 0, 0, 0, 0, 0, [[\"269(?:0[0-467]|5[0-4]|6\\\\d|[78]0)\\\\d{4}\"], [\"639(?:0[0-79]|1[019]|[267]\\\\d|3[09]|40|5[05-9]|9[04-79])\\\\d{4}\"], [\"80\\\\d{7}\"], 0, 0, 0, 0, 0, [\"9(?:(?:39|47)8[01]|769\\\\d)\\\\d{4}\"]]], 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, \"6\\\\d{9}|[0-36-9]\\\\d{8}\", [9, 10], [[\"(\\\\d)(\\\\d{3})(\\\\d{5})\", \"$1 $2 $3\", [\"[0-37-9]\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{5,6})\", \"$1 $2 $3\", [\"6\"]]], 0, 0, 0, 0, 0, 0, [0, [\"6\\\\d{9}|[0-36-9]\\\\d{8}\"]]], 882: [\"882\", 0, \"[13]\\\\d{6}(?:\\\\d{2,5})?|[19]\\\\d{7}|(?:[25]\\\\d\\\\d|4)\\\\d{7}(?:\\\\d{2})?\", [7, 8, 9, 10, 11, 12], [[\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"16|342\"]], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"49\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"1[36]|9\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{3})\", \"$1 $2 $3\", [\"3[23]\"]], [\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"16\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"10|23|3(?:[15]|4[57])|4|51\"]], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"34\"]], [\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\", \"$1 $2 $3\", [\"[1-35]\"]]], 0, 0, 0, 0, 0, 0, [0, [\"342\\\\d{4}|(?:337|49)\\\\d{6}|(?:3(?:2|47|7\\\\d{3})|50\\\\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})|(?:345\\\\d|9[89])\\\\d{6}|(?:10|2(?:3|85\\\\d)|3(?:[15]|[69]\\\\d\\\\d)|4[15-8]|51)\\\\d{8}\"]]], 883: [\"883\", 0, \"(?:[1-4]\\\\d|51)\\\\d{6,10}\", [8, 9, 10, 11, 12], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,8})\", \"$1 $2 $3\", [\"[14]|2[24-689]|3[02-689]|51[24-9]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"510\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"21\"]], [\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"51[13]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"[235]\"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, [\"(?:2(?:00\\\\d\\\\d|10)|(?:370[1-9]|51\\\\d0)\\\\d)\\\\d{7}|51(?:00\\\\d{5}|[24-9]0\\\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\\\d{5,9}\"]]], 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 Ye(e, d) {\n var t = Array.prototype.slice.call(d);\n return t.push(Ze), e.apply(this, t);\n}\nfunction j(e) {\n \"@babel/helpers - typeof\";\n return j = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(d) {\n return typeof d;\n } : function(d) {\n return d && typeof Symbol == \"function\" && d.constructor === Symbol && d !== Symbol.prototype ? \"symbol\" : typeof d;\n }, j(e);\n}\nfunction Q(e, d) {\n for (var t = 0; t < d.length; t++) {\n var n = d[t];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\n }\n}\nfunction Je(e, d, t) {\n return d && Q(e.prototype, d), t && Q(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e;\n}\nfunction qe(e, d) {\n if (!(e instanceof d))\n throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction Qe(e, d) {\n if (typeof d != \"function\" && d !== null)\n throw new TypeError(\"Super expression must either be null or a function\");\n e.prototype = Object.create(d && d.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), Object.defineProperty(e, \"prototype\", { writable: !1 }), d && w(e, d);\n}\nfunction ed(e) {\n var d = Se();\n return function() {\n var n = E(e), r;\n if (d) {\n var i = E(this).constructor;\n r = Reflect.construct(n, arguments, i);\n } else\n r = n.apply(this, arguments);\n return dd(this, r);\n };\n}\nfunction dd(e, d) {\n if (d && (j(d) === \"object\" || typeof d == \"function\"))\n return d;\n if (d !== void 0)\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n return Ee(e);\n}\nfunction Ee(e) {\n if (e === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nfunction U(e) {\n var d = typeof Map == \"function\" ? /* @__PURE__ */ new Map() : void 0;\n return U = function(n) {\n if (n === null || !td(n))\n return n;\n if (typeof n != \"function\")\n throw new TypeError(\"Super expression must either be null or a function\");\n if (typeof d < \"u\") {\n if (d.has(n))\n return d.get(n);\n d.set(n, r);\n }\n function r() {\n return F(n, arguments, E(this).constructor);\n }\n return r.prototype = Object.create(n.prototype, { constructor: { value: r, enumerable: !1, writable: !0, configurable: !0 } }), w(r, n);\n }, U(e);\n}\nfunction F(e, d, t) {\n return Se() ? F = Reflect.construct : F = function(r, i, a) {\n var $ = [null];\n $.push.apply($, i);\n var o = Function.bind.apply(r, $), u = new o();\n return a && w(u, a.prototype), u;\n }, F.apply(null, arguments);\n}\nfunction Se() {\n if (typeof Reflect > \"u\" || !Reflect.construct || Reflect.construct.sham)\n return !1;\n if (typeof Proxy == \"function\")\n return !0;\n try {\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {\n })), !0;\n } catch {\n return !1;\n }\n}\nfunction td(e) {\n return Function.toString.call(e).indexOf(\"[native code]\") !== -1;\n}\nfunction w(e, d) {\n return w = Object.setPrototypeOf || function(n, r) {\n return n.__proto__ = r, n;\n }, w(e, d);\n}\nfunction E(e) {\n return E = Object.setPrototypeOf ? Object.getPrototypeOf : function(t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, E(e);\n}\nvar g = /* @__PURE__ */ function(e) {\n Qe(t, e);\n var d = ed(t);\n function t(n) {\n var r;\n return qe(this, t), r = d.call(this, n), Object.setPrototypeOf(Ee(r), t.prototype), r.name = r.constructor.name, r;\n }\n return Je(t);\n}(/* @__PURE__ */ U(Error)), z = 2, nd = 17, rd = 3, f = \"0-90-9٠-٩۰-۹\", id = \"-‐-―−ー-\", $d = \"//\", ad = \"..\", od = \"  ­​⁠ \", ud = \"()()[]\\\\[\\\\]\", sd = \"~⁓∼~\", x = \"\".concat(id).concat($d).concat(ad).concat(od).concat(ud).concat(sd), X = \"++\";\nfunction ee(e, d) {\n e = e.split(\"-\"), d = d.split(\"-\");\n for (var t = e[0].split(\".\"), n = d[0].split(\".\"), r = 0; r < 3; r++) {\n var i = Number(t[r]), a = Number(n[r]);\n if (i > a)\n return 1;\n if (a > i)\n return -1;\n if (!isNaN(i) && isNaN(a))\n return 1;\n if (isNaN(i) && !isNaN(a))\n return -1;\n }\n return e[1] && d[1] ? e[1] > d[1] ? 1 : e[1] < d[1] ? -1 : 0 : !e[1] && d[1] ? 1 : e[1] && !d[1] ? -1 : 0;\n}\nvar ld = {}.constructor;\nfunction T(e) {\n return e != null && e.constructor === ld;\n}\nfunction H(e) {\n \"@babel/helpers - typeof\";\n return H = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(d) {\n return typeof d;\n } : function(d) {\n return d && typeof Symbol == \"function\" && d.constructor === Symbol && d !== Symbol.prototype ? \"symbol\" : typeof d;\n }, H(e);\n}\nfunction D(e, d) {\n if (!(e instanceof d))\n throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction de(e, d) {\n for (var t = 0; t < d.length; t++) {\n var n = d[t];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\n }\n}\nfunction R(e, d, t) {\n return d && de(e.prototype, d), t && de(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e;\n}\nvar cd = \"1.2.0\", fd = \"1.7.35\", te = \" ext. \", hd = /^\\d+$/, l = /* @__PURE__ */ function() {\n function e(d) {\n D(this, e), md(d), this.metadata = d, _e.call(this, d);\n }\n return R(e, [{\n key: \"getCountries\",\n value: function() {\n return Object.keys(this.metadata.countries).filter(function(t) {\n return t !== \"001\";\n });\n }\n }, {\n key: \"getCountryMetadata\",\n value: function(t) {\n return this.metadata.countries[t];\n }\n }, {\n key: \"nonGeographic\",\n value: function() {\n if (!(this.v1 || this.v2 || this.v3))\n return this.metadata.nonGeographic || this.metadata.nonGeographical;\n }\n }, {\n key: \"hasCountry\",\n value: function(t) {\n return this.getCountryMetadata(t) !== void 0;\n }\n }, {\n key: \"hasCallingCode\",\n value: function(t) {\n if (this.getCountryCodesForCallingCode(t))\n return !0;\n if (this.nonGeographic()) {\n if (this.nonGeographic()[t])\n return !0;\n } else {\n var n = this.countryCallingCodes()[t];\n if (n && n.length === 1 && n[0] === \"001\")\n return !0;\n }\n }\n }, {\n key: \"isNonGeographicCallingCode\",\n value: function(t) {\n return this.nonGeographic() ? !!this.nonGeographic()[t] : !this.getCountryCodesForCallingCode(t);\n }\n // Deprecated.\n }, {\n key: \"country\",\n value: function(t) {\n return this.selectNumberingPlan(t);\n }\n }, {\n key: \"selectNumberingPlan\",\n value: function(t, n) {\n if (t && hd.test(t) && (n = t, t = null), t && t !== \"001\") {\n if (!this.hasCountry(t))\n throw new Error(\"Unknown country: \".concat(t));\n this.numberingPlan = new ne(this.getCountryMetadata(t), this);\n } else if (n) {\n if (!this.hasCallingCode(n))\n throw new Error(\"Unknown calling code: \".concat(n));\n this.numberingPlan = new ne(this.getNumberingPlanMetadata(n), this);\n } else\n this.numberingPlan = void 0;\n return this;\n }\n }, {\n key: \"getCountryCodesForCallingCode\",\n value: function(t) {\n var n = this.countryCallingCodes()[t];\n if (n)\n return n.length === 1 && n[0].length === 3 ? void 0 : n;\n }\n }, {\n key: \"getCountryCodeForCallingCode\",\n value: function(t) {\n var n = this.getCountryCodesForCallingCode(t);\n if (n)\n return n[0];\n }\n }, {\n key: \"getNumberingPlanMetadata\",\n value: function(t) {\n var n = this.getCountryCodeForCallingCode(t);\n if (n)\n return this.getCountryMetadata(n);\n if (this.nonGeographic()) {\n var r = this.nonGeographic()[t];\n if (r)\n return r;\n } else {\n var i = this.countryCallingCodes()[t];\n if (i && i.length === 1 && i[0] === \"001\")\n return this.metadata.countries[\"001\"];\n }\n }\n // Deprecated.\n }, {\n key: \"countryCallingCode\",\n value: function() {\n return this.numberingPlan.callingCode();\n }\n // Deprecated.\n }, {\n key: \"IDDPrefix\",\n value: function() {\n return this.numberingPlan.IDDPrefix();\n }\n // Deprecated.\n }, {\n key: \"defaultIDDPrefix\",\n value: function() {\n return this.numberingPlan.defaultIDDPrefix();\n }\n // Deprecated.\n }, {\n key: \"nationalNumberPattern\",\n value: function() {\n return this.numberingPlan.nationalNumberPattern();\n }\n // Deprecated.\n }, {\n key: \"possibleLengths\",\n value: function() {\n return this.numberingPlan.possibleLengths();\n }\n // Deprecated.\n }, {\n key: \"formats\",\n value: function() {\n return this.numberingPlan.formats();\n }\n // Deprecated.\n }, {\n key: \"nationalPrefixForParsing\",\n value: function() {\n return this.numberingPlan.nationalPrefixForParsing();\n }\n // Deprecated.\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function() {\n return this.numberingPlan.nationalPrefixTransformRule();\n }\n // Deprecated.\n }, {\n key: \"leadingDigits\",\n value: function() {\n return this.numberingPlan.leadingDigits();\n }\n // Deprecated.\n }, {\n key: \"hasTypes\",\n value: function() {\n return this.numberingPlan.hasTypes();\n }\n // Deprecated.\n }, {\n key: \"type\",\n value: function(t) {\n return this.numberingPlan.type(t);\n }\n // Deprecated.\n }, {\n key: \"ext\",\n value: function() {\n return this.numberingPlan.ext();\n }\n }, {\n key: \"countryCallingCodes\",\n value: function() {\n return this.v1 ? this.metadata.country_phone_code_to_countries : this.metadata.country_calling_codes;\n }\n // Deprecated.\n }, {\n key: \"chooseCountryByCountryCallingCode\",\n value: function(t) {\n return this.selectNumberingPlan(t);\n }\n }, {\n key: \"hasSelectedNumberingPlan\",\n value: function() {\n return this.numberingPlan !== void 0;\n }\n }]), e;\n}(), ne = /* @__PURE__ */ function() {\n function e(d, t) {\n D(this, e), this.globalMetadataObject = t, this.metadata = d, _e.call(this, t.metadata);\n }\n return R(e, [{\n key: \"callingCode\",\n value: function() {\n return this.metadata[0];\n }\n // Formatting information for regions which share\n // a country calling code is contained by only one region\n // for performance reasons. For example, for NANPA region\n // (\"North American Numbering Plan Administration\",\n // which includes USA, Canada, Cayman Islands, Bahamas, etc)\n // it will be contained in the metadata for `US`.\n }, {\n key: \"getDefaultCountryMetadataForRegion\",\n value: function() {\n return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());\n }\n // Is always present.\n }, {\n key: \"IDDPrefix\",\n value: function() {\n if (!(this.v1 || this.v2))\n return this.metadata[1];\n }\n // Is only present when a country supports multiple IDD prefixes.\n }, {\n key: \"defaultIDDPrefix\",\n value: function() {\n if (!(this.v1 || this.v2))\n return this.metadata[12];\n }\n }, {\n key: \"nationalNumberPattern\",\n value: function() {\n return this.v1 || this.v2 ? this.metadata[1] : this.metadata[2];\n }\n // \"possible length\" data is always present in Google's metadata.\n }, {\n key: \"possibleLengths\",\n value: function() {\n if (!this.v1)\n return this.metadata[this.v2 ? 2 : 3];\n }\n }, {\n key: \"_getFormats\",\n value: function(t) {\n return t[this.v1 ? 2 : this.v2 ? 3 : 4];\n }\n // For countries of the same region (e.g. NANPA)\n // formats are all stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n }, {\n key: \"formats\",\n value: function() {\n var t = this, n = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];\n return n.map(function(r) {\n return new pd(r, t);\n });\n }\n }, {\n key: \"nationalPrefix\",\n value: function() {\n return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];\n }\n }, {\n key: \"_getNationalPrefixFormattingRule\",\n value: function(t) {\n return t[this.v1 ? 4 : this.v2 ? 5 : 6];\n }\n // For countries of the same region (e.g. NANPA)\n // national prefix formatting rule is stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function() {\n return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"_nationalPrefixForParsing\",\n value: function() {\n return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];\n }\n }, {\n key: \"nationalPrefixForParsing\",\n value: function() {\n return this._nationalPrefixForParsing() || this.nationalPrefix();\n }\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function() {\n return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];\n }\n }, {\n key: \"_getNationalPrefixIsOptionalWhenFormatting\",\n value: function() {\n return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];\n }\n // For countries of the same region (e.g. NANPA)\n // \"national prefix is optional when formatting\" flag is\n // stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function() {\n return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"leadingDigits\",\n value: function() {\n return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];\n }\n }, {\n key: \"types\",\n value: function() {\n return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];\n }\n }, {\n key: \"hasTypes\",\n value: function() {\n return this.types() && this.types().length === 0 ? !1 : !!this.types();\n }\n }, {\n key: \"type\",\n value: function(t) {\n if (this.hasTypes() && re(this.types(), t))\n return new gd(re(this.types(), t), this);\n }\n }, {\n key: \"ext\",\n value: function() {\n return this.v1 || this.v2 ? te : this.metadata[13] || te;\n }\n }]), e;\n}(), pd = /* @__PURE__ */ function() {\n function e(d, t) {\n D(this, e), this._format = d, this.metadata = t;\n }\n return R(e, [{\n key: \"pattern\",\n value: function() {\n return this._format[0];\n }\n }, {\n key: \"format\",\n value: function() {\n return this._format[1];\n }\n }, {\n key: \"leadingDigitsPatterns\",\n value: function() {\n return this._format[2] || [];\n }\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function() {\n return this._format[3] || this.metadata.nationalPrefixFormattingRule();\n }\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function() {\n return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n }\n }, {\n key: \"nationalPrefixIsMandatoryWhenFormattingInNationalFormat\",\n value: function() {\n return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n }\n // Checks whether national prefix formatting rule contains national prefix.\n }, {\n key: \"usesNationalPrefix\",\n value: function() {\n return !!(this.nationalPrefixFormattingRule() && // Check that national prefix formatting rule is not a \"dummy\" one.\n !yd.test(this.nationalPrefixFormattingRule()));\n }\n }, {\n key: \"internationalFormat\",\n value: function() {\n return this._format[5] || this.format();\n }\n }]), e;\n}(), yd = /^\\(?\\$1\\)?$/, gd = /* @__PURE__ */ function() {\n function e(d, t) {\n D(this, e), this.type = d, this.metadata = t;\n }\n return R(e, [{\n key: \"pattern\",\n value: function() {\n return this.metadata.v1 ? this.type : this.type[0];\n }\n }, {\n key: \"possibleLengths\",\n value: function() {\n if (!this.metadata.v1)\n return this.type[1] || this.metadata.possibleLengths();\n }\n }]), e;\n}();\nfunction re(e, d) {\n switch (d) {\n case \"FIXED_LINE\":\n return e[0];\n case \"MOBILE\":\n return e[1];\n case \"TOLL_FREE\":\n return e[2];\n case \"PREMIUM_RATE\":\n return e[3];\n case \"PERSONAL_NUMBER\":\n return e[4];\n case \"VOICEMAIL\":\n return e[5];\n case \"UAN\":\n return e[6];\n case \"PAGER\":\n return e[7];\n case \"VOIP\":\n return e[8];\n case \"SHARED_COST\":\n return e[9];\n }\n}\nfunction md(e) {\n if (!e)\n throw new Error(\"[libphonenumber-js] `metadata` argument not passed. Check your arguments.\");\n if (!T(e) || !T(e.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(T(e) ? \"an object of shape: { \" + Object.keys(e).join(\", \") + \" }\" : \"a \" + vd(e) + \": \" + e, \".\"));\n}\nvar vd = function(d) {\n return H(d);\n};\nfunction Z(e, d) {\n if (d = new l(d), d.hasCountry(e))\n return d.country(e).countryCallingCode();\n throw new Error(\"Unknown country: \".concat(e));\n}\nfunction bd(e, d) {\n return d.countries.hasOwnProperty(e);\n}\nfunction _e(e) {\n var d = e.version;\n typeof d == \"number\" ? (this.v1 = d === 1, this.v2 = d === 2, this.v3 = d === 3, this.v4 = d === 4) : d ? ee(d, cd) === -1 ? this.v2 = !0 : ee(d, fd) === -1 ? this.v3 = !0 : this.v4 = !0 : this.v1 = !0;\n}\nvar Cd = \";ext=\", P = function(d) {\n return \"([\".concat(f, \"]{1,\").concat(d, \"})\");\n};\nfunction Fe(e) {\n var d = \"20\", t = \"15\", n = \"9\", r = \"6\", i = \"[  \\\\t,]*\", a = \"[:\\\\..]?[  \\\\t,-]*\", $ = \"#?\", o = \"(?:e?xt(?:ensi(?:ó?|ó))?n?|e?xtn?|доб|anexo)\", u = \"(?:[xx##~~]|int|int)\", c = \"[- ]+\", v = \"[  \\\\t]*\", y = \"(?:,{2}|;)\", b = Cd + P(d), N = i + o + a + P(d) + $, De = i + u + a + P(n) + $, Re = c + P(r) + \"#\", Me = v + y + a + P(t) + $, Le = v + \"(?:,)+\" + a + P(n) + $;\n return b + \"|\" + N + \"|\" + De + \"|\" + Re + \"|\" + Me + \"|\" + Le;\n}\nvar Od = \"[\" + f + \"]{\" + z + \"}\", Pd = \"[\" + X + \"]{0,1}(?:[\" + x + \"]*[\" + f + \"]){3,}[\" + x + f + \"]*\", Nd = new RegExp(\"^[\" + X + \"]{0,1}(?:[\" + x + \"]*[\" + f + \"]){1,2}$\", \"i\"), Id = Pd + // Phone number extensions\n\"(?:\" + Fe() + \")?\", wd = new RegExp(\n // Either a short two-digit-only phone number\n \"^\" + Od + \"$|^\" + Id + \"$\",\n \"i\"\n);\nfunction Ed(e) {\n return e.length >= z && wd.test(e);\n}\nfunction Sd(e) {\n return Nd.test(e);\n}\nvar ie = new RegExp(\"(?:\" + Fe() + \")$\", \"i\");\nfunction _d(e) {\n var d = e.search(ie);\n if (d < 0)\n return {};\n for (var t = e.slice(0, d), n = e.match(ie), r = 1; r < n.length; ) {\n if (n[r])\n return {\n number: t,\n ext: n[r]\n };\n r++;\n }\n}\nvar Fd = {\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 \"0\": \"0\",\n // Fullwidth digit 0\n \"1\": \"1\",\n // Fullwidth digit 1\n \"2\": \"2\",\n // Fullwidth digit 2\n \"3\": \"3\",\n // Fullwidth digit 3\n \"4\": \"4\",\n // Fullwidth digit 4\n \"5\": \"5\",\n // Fullwidth digit 5\n \"6\": \"6\",\n // Fullwidth digit 6\n \"7\": \"7\",\n // Fullwidth digit 7\n \"8\": \"8\",\n // Fullwidth digit 8\n \"9\": \"9\",\n // Fullwidth digit 9\n \"٠\": \"0\",\n // Arabic-indic digit 0\n \"١\": \"1\",\n // Arabic-indic digit 1\n \"٢\": \"2\",\n // Arabic-indic digit 2\n \"٣\": \"3\",\n // Arabic-indic digit 3\n \"٤\": \"4\",\n // Arabic-indic digit 4\n \"٥\": \"5\",\n // Arabic-indic digit 5\n \"٦\": \"6\",\n // Arabic-indic digit 6\n \"٧\": \"7\",\n // Arabic-indic digit 7\n \"٨\": \"8\",\n // Arabic-indic digit 8\n \"٩\": \"9\",\n // Arabic-indic digit 9\n \"۰\": \"0\",\n // Eastern-Arabic digit 0\n \"۱\": \"1\",\n // Eastern-Arabic digit 1\n \"۲\": \"2\",\n // Eastern-Arabic digit 2\n \"۳\": \"3\",\n // Eastern-Arabic digit 3\n \"۴\": \"4\",\n // Eastern-Arabic digit 4\n \"۵\": \"5\",\n // Eastern-Arabic digit 5\n \"۶\": \"6\",\n // Eastern-Arabic digit 6\n \"۷\": \"7\",\n // Eastern-Arabic digit 7\n \"۸\": \"8\",\n // Eastern-Arabic digit 8\n \"۹\": \"9\"\n // Eastern-Arabic digit 9\n};\nfunction Td(e) {\n return Fd[e];\n}\nfunction xd(e, d) {\n var t = typeof Symbol < \"u\" && e[Symbol.iterator] || e[\"@@iterator\"];\n if (t)\n return (t = t.call(e)).next.bind(t);\n if (Array.isArray(e) || (t = Ad(e)) || d && e && typeof e.length == \"number\") {\n t && (e = t);\n var n = 0;\n return function() {\n return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };\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 Ad(e, d) {\n if (e) {\n if (typeof e == \"string\")\n return $e(e, d);\n var t = Object.prototype.toString.call(e).slice(8, -1);\n if (t === \"Object\" && e.constructor && (t = e.constructor.name), t === \"Map\" || t === \"Set\")\n return Array.from(e);\n if (t === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))\n return $e(e, d);\n }\n}\nfunction $e(e, d) {\n (d == null || d > e.length) && (d = e.length);\n for (var t = 0, n = new Array(d); t < d; t++)\n n[t] = e[t];\n return n;\n}\nfunction ae(e) {\n for (var d = \"\", t = xd(e.split(\"\")), n; !(n = t()).done; ) {\n var r = n.value;\n d += Dd(r, d) || \"\";\n }\n return d;\n}\nfunction Dd(e, d) {\n return e === \"+\" ? d ? void 0 : \"+\" : Td(e);\n}\nfunction Rd(e, d) {\n var t = typeof Symbol < \"u\" && e[Symbol.iterator] || e[\"@@iterator\"];\n if (t)\n return (t = t.call(e)).next.bind(t);\n if (Array.isArray(e) || (t = Md(e)) || d && e && typeof e.length == \"number\") {\n t && (e = t);\n var n = 0;\n return function() {\n return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };\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 Md(e, d) {\n if (e) {\n if (typeof e == \"string\")\n return oe(e, d);\n var t = Object.prototype.toString.call(e).slice(8, -1);\n if (t === \"Object\" && e.constructor && (t = e.constructor.name), t === \"Map\" || t === \"Set\")\n return Array.from(e);\n if (t === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))\n return oe(e, d);\n }\n}\nfunction oe(e, d) {\n (d == null || d > e.length) && (d = e.length);\n for (var t = 0, n = new Array(d); t < d; t++)\n n[t] = e[t];\n return n;\n}\nfunction Ld(e, d) {\n for (var t = e.slice(), n = Rd(d), r; !(r = n()).done; ) {\n var i = r.value;\n e.indexOf(i) < 0 && t.push(i);\n }\n return t.sort(function(a, $) {\n return a - $;\n });\n}\nfunction Y(e, d) {\n return Te(e, void 0, d);\n}\nfunction Te(e, d, t) {\n var n = t.type(d), r = n && n.possibleLengths() || t.possibleLengths();\n if (!r)\n return \"IS_POSSIBLE\";\n if (d === \"FIXED_LINE_OR_MOBILE\") {\n if (!t.type(\"FIXED_LINE\"))\n return Te(e, \"MOBILE\", t);\n var i = t.type(\"MOBILE\");\n i && (r = Ld(r, i.possibleLengths()));\n } else if (d && !n)\n return \"INVALID_LENGTH\";\n var a = e.length, $ = r[0];\n return $ === a ? \"IS_POSSIBLE\" : $ > a ? \"TOO_SHORT\" : r[r.length - 1] < a ? \"TOO_LONG\" : r.indexOf(a, 1) >= 0 ? \"IS_POSSIBLE\" : \"INVALID_LENGTH\";\n}\nfunction kd(e, d, t) {\n if (d === void 0 && (d = {}), t = new l(t), d.v2) {\n if (!e.countryCallingCode)\n throw new Error(\"Invalid phone number object passed\");\n t.selectNumberingPlan(e.countryCallingCode);\n } else {\n if (!e.phone)\n return !1;\n if (e.country) {\n if (!t.hasCountry(e.country))\n throw new Error(\"Unknown country: \".concat(e.country));\n t.country(e.country);\n } else {\n if (!e.countryCallingCode)\n throw new Error(\"Invalid phone number object passed\");\n t.selectNumberingPlan(e.countryCallingCode);\n }\n }\n if (t.possibleLengths())\n return xe(e.phone || e.nationalNumber, t);\n if (e.countryCallingCode && t.isNonGeographicCallingCode(e.countryCallingCode))\n return !0;\n throw new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\n}\nfunction xe(e, d) {\n switch (Y(e, d)) {\n case \"IS_POSSIBLE\":\n return !0;\n default:\n return !1;\n }\n}\nfunction m(e, d) {\n return e = e || \"\", new RegExp(\"^(?:\" + d + \")$\").test(e);\n}\nfunction Bd(e, d) {\n var t = typeof Symbol < \"u\" && e[Symbol.iterator] || e[\"@@iterator\"];\n if (t)\n return (t = t.call(e)).next.bind(t);\n if (Array.isArray(e) || (t = Gd(e)) || d && e && typeof e.length == \"number\") {\n t && (e = t);\n var n = 0;\n return function() {\n return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };\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 Gd(e, d) {\n if (e) {\n if (typeof e == \"string\")\n return ue(e, d);\n var t = Object.prototype.toString.call(e).slice(8, -1);\n if (t === \"Object\" && e.constructor && (t = e.constructor.name), t === \"Map\" || t === \"Set\")\n return Array.from(e);\n if (t === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))\n return ue(e, d);\n }\n}\nfunction ue(e, d) {\n (d == null || d > e.length) && (d = e.length);\n for (var t = 0, n = new Array(d); t < d; t++)\n n[t] = e[t];\n return n;\n}\nvar jd = [\"MOBILE\", \"PREMIUM_RATE\", \"TOLL_FREE\", \"SHARED_COST\", \"VOIP\", \"PERSONAL_NUMBER\", \"PAGER\", \"UAN\", \"VOICEMAIL\"];\nfunction J(e, d, t) {\n if (d = d || {}, !(!e.country && !e.countryCallingCode)) {\n t = new l(t), t.selectNumberingPlan(e.country, e.countryCallingCode);\n var n = d.v2 ? e.nationalNumber : e.phone;\n if (m(n, t.nationalNumberPattern())) {\n if (L(n, \"FIXED_LINE\", t))\n return t.type(\"MOBILE\") && t.type(\"MOBILE\").pattern() === \"\" || !t.type(\"MOBILE\") || L(n, \"MOBILE\", t) ? \"FIXED_LINE_OR_MOBILE\" : \"FIXED_LINE\";\n for (var r = Bd(jd), i; !(i = r()).done; ) {\n var a = i.value;\n if (L(n, a, t))\n return a;\n }\n }\n }\n}\nfunction L(e, d, t) {\n return d = t.type(d), !d || !d.pattern() || d.possibleLengths() && d.possibleLengths().indexOf(e.length) < 0 ? !1 : m(e, d.pattern());\n}\nfunction Ud(e, d, t) {\n if (d = d || {}, t = new l(t), t.selectNumberingPlan(e.country, e.countryCallingCode), t.hasTypes())\n return J(e, d, t.metadata) !== void 0;\n var n = d.v2 ? e.nationalNumber : e.phone;\n return m(n, t.nationalNumberPattern());\n}\nfunction Hd(e, d, t) {\n var n = new l(t), r = n.getCountryCodesForCallingCode(e);\n return r ? r.filter(function(i) {\n return Vd(d, i, t);\n }) : [];\n}\nfunction Vd(e, d, t) {\n var n = new l(t);\n return n.selectNumberingPlan(d), n.numberingPlan.possibleLengths().indexOf(e.length) >= 0;\n}\nfunction Kd(e) {\n return e.replace(new RegExp(\"[\".concat(x, \"]+\"), \"g\"), \" \").trim();\n}\nvar Wd = /(\\$\\d)/;\nfunction zd(e, d, t) {\n var n = t.useInternationalFormat, r = t.withNationalPrefix;\n t.carrierCode, t.metadata;\n var i = e.replace(new RegExp(d.pattern()), n ? d.internationalFormat() : (\n // This library doesn't use `domestic_carrier_code_formatting_rule`,\n // because that one is only used when formatting phone numbers\n // for dialing from a mobile phone, and this is not a dialing library.\n // carrierCode && format.domesticCarrierCodeFormattingRule()\n // \t// First, replace the $CC in the formatting rule with the desired carrier code.\n // \t// Then, replace the $FG in the formatting rule with the first group\n // \t// and the carrier code combined in the appropriate way.\n // \t? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))\n // \t: (\n // \t\twithNationalPrefix && format.nationalPrefixFormattingRule()\n // \t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\n // \t\t\t: format.format()\n // \t)\n r && d.nationalPrefixFormattingRule() ? d.format().replace(Wd, d.nationalPrefixFormattingRule()) : d.format()\n ));\n return n ? Kd(i) : i;\n}\nvar Xd = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/;\nfunction Zd(e, d, t) {\n var n = new l(t);\n if (n.selectNumberingPlan(e, d), n.defaultIDDPrefix())\n return n.defaultIDDPrefix();\n if (Xd.test(n.IDDPrefix()))\n return n.IDDPrefix();\n}\nfunction Yd(e) {\n var d = e.number, t = e.ext;\n if (!d)\n return \"\";\n if (d[0] !== \"+\")\n throw new Error('\"formatRFC3966()\" expects \"number\" to be in E.164 format.');\n return \"tel:\".concat(d).concat(t ? \";ext=\" + t : \"\");\n}\nfunction Jd(e, d) {\n var t = typeof Symbol < \"u\" && e[Symbol.iterator] || e[\"@@iterator\"];\n if (t)\n return (t = t.call(e)).next.bind(t);\n if (Array.isArray(e) || (t = qd(e)) || d && e && typeof e.length == \"number\") {\n t && (e = t);\n var n = 0;\n return function() {\n return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };\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 qd(e, d) {\n if (e) {\n if (typeof e == \"string\")\n return se(e, d);\n var t = Object.prototype.toString.call(e).slice(8, -1);\n if (t === \"Object\" && e.constructor && (t = e.constructor.name), t === \"Map\" || t === \"Set\")\n return Array.from(e);\n if (t === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))\n return se(e, d);\n }\n}\nfunction se(e, d) {\n (d == null || d > e.length) && (d = e.length);\n for (var t = 0, n = new Array(d); t < d; t++)\n n[t] = e[t];\n return n;\n}\nfunction le(e, d) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n d && (n = n.filter(function(r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, n);\n }\n return t;\n}\nfunction ce(e) {\n for (var d = 1; d < arguments.length; d++) {\n var t = arguments[d] != null ? arguments[d] : {};\n d % 2 ? le(Object(t), !0).forEach(function(n) {\n Qd(e, n, t[n]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : le(Object(t)).forEach(function(n) {\n Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n));\n });\n }\n return e;\n}\nfunction Qd(e, d, t) {\n return d in e ? Object.defineProperty(e, d, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[d] = t, e;\n}\nvar fe = {\n formatExtension: function(d, t, n) {\n return \"\".concat(d).concat(n.ext()).concat(t);\n }\n};\nfunction et(e, d, t, n) {\n if (t ? t = ce(ce({}, fe), t) : t = fe, n = new l(n), e.country && e.country !== \"001\") {\n if (!n.hasCountry(e.country))\n throw new Error(\"Unknown country: \".concat(e.country));\n n.country(e.country);\n } else if (e.countryCallingCode)\n n.selectNumberingPlan(e.countryCallingCode);\n else\n return e.phone || \"\";\n var r = n.countryCallingCode(), i = t.v2 ? e.nationalNumber : e.phone, a;\n switch (d) {\n case \"NATIONAL\":\n return i ? (a = A(i, e.carrierCode, \"NATIONAL\", n, t), k(a, e.ext, n, t.formatExtension)) : \"\";\n case \"INTERNATIONAL\":\n return i ? (a = A(i, null, \"INTERNATIONAL\", n, t), a = \"+\".concat(r, \" \").concat(a), k(a, e.ext, n, t.formatExtension)) : \"+\".concat(r);\n case \"E.164\":\n return \"+\".concat(r).concat(i);\n case \"RFC3966\":\n return Yd({\n number: \"+\".concat(r).concat(i),\n ext: e.ext\n });\n case \"IDD\":\n if (!t.fromCountry)\n return;\n var $ = tt(i, e.carrierCode, r, t.fromCountry, n);\n return k($, e.ext, n, t.formatExtension);\n default:\n throw new Error('Unknown \"format\" argument passed to \"formatNumber()\": \"'.concat(d, '\"'));\n }\n}\nfunction A(e, d, t, n, r) {\n var i = dt(n.formats(), e);\n return i ? zd(e, i, {\n useInternationalFormat: t === \"INTERNATIONAL\",\n withNationalPrefix: !(i.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && r && r.nationalPrefix === !1),\n carrierCode: d,\n metadata: n\n }) : e;\n}\nfunction dt(e, d) {\n for (var t = Jd(e), n; !(n = t()).done; ) {\n var r = n.value;\n if (r.leadingDigitsPatterns().length > 0) {\n var i = r.leadingDigitsPatterns()[r.leadingDigitsPatterns().length - 1];\n if (d.search(i) !== 0)\n continue;\n }\n if (m(d, r.pattern()))\n return r;\n }\n}\nfunction k(e, d, t, n) {\n return d ? n(e, d, t) : e;\n}\nfunction tt(e, d, t, n, r) {\n var i = Z(n, r.metadata);\n if (i === t) {\n var a = A(e, d, \"NATIONAL\", r);\n return t === \"1\" ? t + \" \" + a : a;\n }\n var $ = Zd(n, void 0, r.metadata);\n if ($)\n return \"\".concat($, \" \").concat(t, \" \").concat(A(e, null, \"INTERNATIONAL\", r));\n}\nfunction he(e, d) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n d && (n = n.filter(function(r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, n);\n }\n return t;\n}\nfunction pe(e) {\n for (var d = 1; d < arguments.length; d++) {\n var t = arguments[d] != null ? arguments[d] : {};\n d % 2 ? he(Object(t), !0).forEach(function(n) {\n nt(e, n, t[n]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : he(Object(t)).forEach(function(n) {\n Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n));\n });\n }\n return e;\n}\nfunction nt(e, d, t) {\n return d in e ? Object.defineProperty(e, d, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[d] = t, e;\n}\nfunction rt(e, d) {\n if (!(e instanceof d))\n throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction ye(e, d) {\n for (var t = 0; t < d.length; t++) {\n var n = d[t];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\n }\n}\nfunction it(e, d, t) {\n return d && ye(e.prototype, d), t && ye(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e;\n}\nvar $t = /* @__PURE__ */ function() {\n function e(d, t, n) {\n if (rt(this, e), !d)\n throw new TypeError(\"`country` or `countryCallingCode` not passed\");\n if (!t)\n throw new TypeError(\"`nationalNumber` not passed\");\n if (!n)\n throw new TypeError(\"`metadata` not passed\");\n var r = ot(d, n), i = r.country, a = r.countryCallingCode;\n this.country = i, this.countryCallingCode = a, this.nationalNumber = t, this.number = \"+\" + this.countryCallingCode + this.nationalNumber, this.getMetadata = function() {\n return n;\n };\n }\n return it(e, [{\n key: \"setExt\",\n value: function(t) {\n this.ext = t;\n }\n }, {\n key: \"getPossibleCountries\",\n value: function() {\n return this.country ? [this.country] : Hd(this.countryCallingCode, this.nationalNumber, this.getMetadata());\n }\n }, {\n key: \"isPossible\",\n value: function() {\n return kd(this, {\n v2: !0\n }, this.getMetadata());\n }\n }, {\n key: \"isValid\",\n value: function() {\n return Ud(this, {\n v2: !0\n }, this.getMetadata());\n }\n }, {\n key: \"isNonGeographic\",\n value: function() {\n var t = new l(this.getMetadata());\n return t.isNonGeographicCallingCode(this.countryCallingCode);\n }\n }, {\n key: \"isEqual\",\n value: function(t) {\n return this.number === t.number && this.ext === t.ext;\n }\n // This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,\n // but later it was found out that it doesn't include the possible `TOO_SHORT` result\n // returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,\n // so eventually I simply commented out this method from the `PhoneNumber` class\n // and just left the `validatePhoneNumberLength()` function, even though that one would require\n // and additional step to also validate the actual country / calling code of the phone number.\n // validateLength() {\n // \tconst metadata = new Metadata(this.getMetadata())\n // \tmetadata.selectNumberingPlan(this.countryCallingCode)\n // \tconst result = checkNumberLength(this.nationalNumber, metadata)\n // \tif (result !== 'IS_POSSIBLE') {\n // \t\treturn result\n // \t}\n // }\n }, {\n key: \"getType\",\n value: function() {\n return J(this, {\n v2: !0\n }, this.getMetadata());\n }\n }, {\n key: \"format\",\n value: function(t, n) {\n return et(this, t, n ? pe(pe({}, n), {}, {\n v2: !0\n }) : {\n v2: !0\n }, this.getMetadata());\n }\n }, {\n key: \"formatNational\",\n value: function(t) {\n return this.format(\"NATIONAL\", t);\n }\n }, {\n key: \"formatInternational\",\n value: function(t) {\n return this.format(\"INTERNATIONAL\", t);\n }\n }, {\n key: \"getURI\",\n value: function(t) {\n return this.format(\"RFC3966\", t);\n }\n }]), e;\n}(), at = function(d) {\n return /^[A-Z]{2}$/.test(d);\n};\nfunction ot(e, d) {\n var t, n, r = new l(d);\n return at(e) ? (t = e, r.selectNumberingPlan(t), n = r.countryCallingCode()) : n = e, {\n country: t,\n countryCallingCode: n\n };\n}\nvar ut = new RegExp(\"([\" + f + \"])\");\nfunction st(e, d, t, n) {\n if (d) {\n var r = new l(n);\n r.selectNumberingPlan(d, t);\n var i = new RegExp(r.IDDPrefix());\n if (e.search(i) === 0) {\n e = e.slice(e.match(i)[0].length);\n var a = e.match(ut);\n if (!(a && a[1] != null && a[1].length > 0 && a[1] === \"0\"))\n return e;\n }\n }\n}\nfunction lt(e, d) {\n if (e && d.numberingPlan.nationalPrefixForParsing()) {\n var t = new RegExp(\"^(?:\" + d.numberingPlan.nationalPrefixForParsing() + \")\"), n = t.exec(e);\n if (n) {\n var r, i, a = n.length - 1, $ = a > 0 && n[a];\n if (d.nationalPrefixTransformRule() && $)\n r = e.replace(t, d.nationalPrefixTransformRule()), a > 1 && (i = n[1]);\n else {\n var o = n[0];\n r = e.slice(o.length), $ && (i = n[1]);\n }\n var u;\n if ($) {\n var c = e.indexOf(n[1]), v = e.slice(0, c);\n v === d.numberingPlan.nationalPrefix() && (u = d.numberingPlan.nationalPrefix());\n } else\n u = n[0];\n return {\n nationalNumber: r,\n nationalPrefix: u,\n carrierCode: i\n };\n }\n }\n return {\n nationalNumber: e\n };\n}\nfunction V(e, d) {\n var t = lt(e, d), n = t.carrierCode, r = t.nationalNumber;\n if (r !== e) {\n if (!ct(e, r, d))\n return {\n nationalNumber: e\n };\n if (d.possibleLengths() && !ft(r, d))\n return {\n nationalNumber: e\n };\n }\n return {\n nationalNumber: r,\n carrierCode: n\n };\n}\nfunction ct(e, d, t) {\n return !(m(e, t.nationalNumberPattern()) && !m(d, t.nationalNumberPattern()));\n}\nfunction ft(e, d) {\n switch (Y(e, d)) {\n case \"TOO_SHORT\":\n case \"INVALID_LENGTH\":\n return !1;\n default:\n return !0;\n }\n}\nfunction ht(e, d, t, n) {\n var r = d ? Z(d, n) : t;\n if (e.indexOf(r) === 0) {\n n = new l(n), n.selectNumberingPlan(d, t);\n var i = e.slice(r.length), a = V(i, n), $ = a.nationalNumber, o = V(e, n), u = o.nationalNumber;\n if (!m(u, n.nationalNumberPattern()) && m($, n.nationalNumberPattern()) || Y(u, n) === \"TOO_LONG\")\n return {\n countryCallingCode: r,\n number: i\n };\n }\n return {\n number: e\n };\n}\nfunction pt(e, d, t, n) {\n if (!e)\n return {};\n var r;\n if (e[0] !== \"+\") {\n var i = st(e, d, t, n);\n if (i && i !== e)\n r = !0, e = \"+\" + i;\n else {\n if (d || t) {\n var a = ht(e, d, t, n), $ = a.countryCallingCode, o = a.number;\n if ($)\n return {\n countryCallingCodeSource: \"FROM_NUMBER_WITHOUT_PLUS_SIGN\",\n countryCallingCode: $,\n number: o\n };\n }\n return {\n // No need to set it to `UNSPECIFIED`. It can be just `undefined`.\n // countryCallingCodeSource: 'UNSPECIFIED',\n number: e\n };\n }\n }\n if (e[1] === \"0\")\n return {};\n n = new l(n);\n for (var u = 2; u - 1 <= rd && u <= e.length; ) {\n var c = e.slice(1, u);\n if (n.hasCallingCode(c))\n return n.selectNumberingPlan(c), {\n countryCallingCodeSource: r ? \"FROM_NUMBER_WITH_IDD\" : \"FROM_NUMBER_WITH_PLUS_SIGN\",\n countryCallingCode: c,\n number: e.slice(u)\n };\n u++;\n }\n return {};\n}\nfunction yt(e, d) {\n var t = typeof Symbol < \"u\" && e[Symbol.iterator] || e[\"@@iterator\"];\n if (t)\n return (t = t.call(e)).next.bind(t);\n if (Array.isArray(e) || (t = gt(e)) || d && e && typeof e.length == \"number\") {\n t && (e = t);\n var n = 0;\n return function() {\n return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };\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 gt(e, d) {\n if (e) {\n if (typeof e == \"string\")\n return ge(e, d);\n var t = Object.prototype.toString.call(e).slice(8, -1);\n if (t === \"Object\" && e.constructor && (t = e.constructor.name), t === \"Map\" || t === \"Set\")\n return Array.from(e);\n if (t === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))\n return ge(e, d);\n }\n}\nfunction ge(e, d) {\n (d == null || d > e.length) && (d = e.length);\n for (var t = 0, n = new Array(d); t < d; t++)\n n[t] = e[t];\n return n;\n}\nfunction mt(e, d) {\n var t = d.countries, n = d.defaultCountry, r = d.metadata;\n r = new l(r);\n for (var i = [], a = yt(t), $; !($ = a()).done; ) {\n var o = $.value;\n if (r.country(o), r.leadingDigits()) {\n if (e && e.search(r.leadingDigits()) === 0)\n return o;\n } else if (J({\n phone: e,\n country: o\n }, void 0, r.metadata))\n if (n) {\n if (o === n)\n return o;\n i.push(o);\n } else\n return o;\n }\n if (i.length > 0)\n return i[0];\n}\nvar vt = !1;\nfunction bt(e, d) {\n var t = d.nationalNumber, n = d.defaultCountry, r = d.metadata;\n if (vt && r.isNonGeographicCallingCode(e))\n return \"001\";\n var i = r.getCountryCodesForCallingCode(e);\n if (i)\n return i.length === 1 ? i[0] : mt(t, {\n countries: i,\n defaultCountry: n,\n metadata: r.metadata\n });\n}\nvar Ae = \"+\", Ct = \"[\\\\-\\\\.\\\\(\\\\)]?\", me = \"([\" + f + \"]|\" + Ct + \")\", Ot = \"^\\\\\" + Ae + me + \"*[\" + f + \"]\" + me + \"*$\", Pt = new RegExp(Ot, \"g\"), K = f, Nt = \"[\" + K + \"]+((\\\\-)*[\" + K + \"])*\", It = \"a-zA-Z\", wt = \"[\" + It + \"]+((\\\\-)*[\" + K + \"])*\", Et = \"^(\" + Nt + \"\\\\.)*\" + wt + \"\\\\.?$\", St = new RegExp(Et, \"g\"), ve = \"tel:\", W = \";phone-context=\", _t = \";isub=\";\nfunction Ft(e) {\n var d = e.indexOf(W);\n if (d < 0)\n return null;\n var t = d + W.length;\n if (t >= e.length)\n return \"\";\n var n = e.indexOf(\";\", t);\n return n >= 0 ? e.substring(t, n) : e.substring(t);\n}\nfunction Tt(e) {\n return e === null ? !0 : e.length === 0 ? !1 : Pt.test(e) || St.test(e);\n}\nfunction xt(e, d) {\n var t = d.extractFormattedPhoneNumber, n = Ft(e);\n if (!Tt(n))\n throw new g(\"NOT_A_NUMBER\");\n var r;\n if (n === null)\n r = t(e) || \"\";\n else {\n r = \"\", n.charAt(0) === Ae && (r += n);\n var i = e.indexOf(ve), a;\n i >= 0 ? a = i + ve.length : a = 0;\n var $ = e.indexOf(W);\n r += e.substring(a, $);\n }\n var o = r.indexOf(_t);\n if (o > 0 && (r = r.substring(0, o)), r !== \"\")\n return r;\n}\nvar At = 250, Dt = new RegExp(\"[\" + X + f + \"]\"), Rt = new RegExp(\"[^\" + f + \"#]+$\");\nfunction Mt(e, d, t) {\n if (d = d || {}, t = new l(t), d.defaultCountry && !t.hasCountry(d.defaultCountry))\n throw d.v2 ? new g(\"INVALID_COUNTRY\") : new Error(\"Unknown country: \".concat(d.defaultCountry));\n var n = kt(e, d.v2, d.extract), r = n.number, i = n.ext, a = n.error;\n if (!r) {\n if (d.v2)\n throw a === \"TOO_SHORT\" ? new g(\"TOO_SHORT\") : new g(\"NOT_A_NUMBER\");\n return {};\n }\n var $ = Gt(r, d.defaultCountry, d.defaultCallingCode, t), o = $.country, u = $.nationalNumber, c = $.countryCallingCode, v = $.countryCallingCodeSource, y = $.carrierCode;\n if (!t.hasSelectedNumberingPlan()) {\n if (d.v2)\n throw new g(\"INVALID_COUNTRY\");\n return {};\n }\n if (!u || u.length < z) {\n if (d.v2)\n throw new g(\"TOO_SHORT\");\n return {};\n }\n if (u.length > nd) {\n if (d.v2)\n throw new g(\"TOO_LONG\");\n return {};\n }\n if (d.v2) {\n var b = new $t(c, u, t.metadata);\n return o && (b.country = o), y && (b.carrierCode = y), i && (b.ext = i), b.__countryCallingCodeSource = v, b;\n }\n var N = (d.extended ? t.hasSelectedNumberingPlan() : o) ? m(u, t.nationalNumberPattern()) : !1;\n return d.extended ? {\n country: o,\n countryCallingCode: c,\n carrierCode: y,\n valid: N,\n possible: N ? !0 : !!(d.extended === !0 && t.possibleLengths() && xe(u, t)),\n phone: u,\n ext: i\n } : N ? Bt(o, u, i) : {};\n}\nfunction Lt(e, d, t) {\n if (e) {\n if (e.length > At) {\n if (t)\n throw new g(\"TOO_LONG\");\n return;\n }\n if (d === !1)\n return e;\n var n = e.search(Dt);\n if (!(n < 0))\n return e.slice(n).replace(Rt, \"\");\n }\n}\nfunction kt(e, d, t) {\n var n = xt(e, {\n extractFormattedPhoneNumber: function(a) {\n return Lt(a, t, d);\n }\n });\n if (!n)\n return {};\n if (!Ed(n))\n return Sd(n) ? {\n error: \"TOO_SHORT\"\n } : {};\n var r = _d(n);\n return r.ext ? r : {\n number: n\n };\n}\nfunction Bt(e, d, t) {\n var n = {\n country: e,\n phone: d\n };\n return t && (n.ext = t), n;\n}\nfunction Gt(e, d, t, n) {\n var r = pt(ae(e), d, t, n.metadata), i = r.countryCallingCodeSource, a = r.countryCallingCode, $ = r.number, o;\n if (a)\n n.selectNumberingPlan(a);\n else if ($ && (d || t))\n n.selectNumberingPlan(d, t), d && (o = d), a = t || Z(d, n.metadata);\n else\n return {};\n if (!$)\n return {\n countryCallingCodeSource: i,\n countryCallingCode: a\n };\n var u = V(ae($), n), c = u.nationalNumber, v = u.carrierCode, y = bt(a, {\n nationalNumber: c,\n defaultCountry: d,\n metadata: n\n });\n return y && (o = y, y === \"001\" || n.country(o)), {\n country: o,\n countryCallingCode: a,\n countryCallingCodeSource: i,\n nationalNumber: c,\n carrierCode: v\n };\n}\nfunction be(e, d) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n d && (n = n.filter(function(r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, n);\n }\n return t;\n}\nfunction Ce(e) {\n for (var d = 1; d < arguments.length; d++) {\n var t = arguments[d] != null ? arguments[d] : {};\n d % 2 ? be(Object(t), !0).forEach(function(n) {\n jt(e, n, t[n]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : be(Object(t)).forEach(function(n) {\n Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n));\n });\n }\n return e;\n}\nfunction jt(e, d, t) {\n return d in e ? Object.defineProperty(e, d, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[d] = t, e;\n}\nfunction Ut(e, d, t) {\n return Mt(e, Ce(Ce({}, d), {}, {\n v2: !0\n }), t);\n}\nfunction Oe(e, d) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n d && (n = n.filter(function(r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, n);\n }\n return t;\n}\nfunction Ht(e) {\n for (var d = 1; d < arguments.length; d++) {\n var t = arguments[d] != null ? arguments[d] : {};\n d % 2 ? Oe(Object(t), !0).forEach(function(n) {\n Vt(e, n, t[n]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : Oe(Object(t)).forEach(function(n) {\n Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n));\n });\n }\n return e;\n}\nfunction Vt(e, d, t) {\n return d in e ? Object.defineProperty(e, d, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[d] = t, e;\n}\nfunction Kt(e, d) {\n return Zt(e) || Xt(e, d) || zt(e, d) || Wt();\n}\nfunction Wt() {\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 zt(e, d) {\n if (e) {\n if (typeof e == \"string\")\n return Pe(e, d);\n var t = Object.prototype.toString.call(e).slice(8, -1);\n if (t === \"Object\" && e.constructor && (t = e.constructor.name), t === \"Map\" || t === \"Set\")\n return Array.from(e);\n if (t === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))\n return Pe(e, d);\n }\n}\nfunction Pe(e, d) {\n (d == null || d > e.length) && (d = e.length);\n for (var t = 0, n = new Array(d); t < d; t++)\n n[t] = e[t];\n return n;\n}\nfunction Xt(e, d) {\n var t = e == null ? null : typeof Symbol < \"u\" && e[Symbol.iterator] || e[\"@@iterator\"];\n if (t != null) {\n var n = [], r = !0, i = !1, a, $;\n try {\n for (t = t.call(e); !(r = (a = t.next()).done) && (n.push(a.value), !(d && n.length === d)); r = !0)\n ;\n } catch (o) {\n i = !0, $ = o;\n } finally {\n try {\n !r && t.return != null && t.return();\n } finally {\n if (i)\n throw $;\n }\n }\n return n;\n }\n}\nfunction Zt(e) {\n if (Array.isArray(e))\n return e;\n}\nfunction Yt(e) {\n var d = Array.prototype.slice.call(e), t = Kt(d, 4), n = t[0], r = t[1], i = t[2], a = t[3], $, o, u;\n if (typeof n == \"string\")\n $ = n;\n else\n throw new TypeError(\"A text for parsing must be a string.\");\n if (!r || typeof r == \"string\")\n a ? (o = i, u = a) : (o = void 0, u = i), r && (o = Ht({\n defaultCountry: r\n }, o));\n else if (T(r))\n i ? (o = r, u = i) : u = r;\n else\n throw new Error(\"Invalid second argument: \".concat(r));\n return {\n text: $,\n options: o,\n metadata: u\n };\n}\nfunction Ne(e, d) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n d && (n = n.filter(function(r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, n);\n }\n return t;\n}\nfunction Ie(e) {\n for (var d = 1; d < arguments.length; d++) {\n var t = arguments[d] != null ? arguments[d] : {};\n d % 2 ? Ne(Object(t), !0).forEach(function(n) {\n Jt(e, n, t[n]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : Ne(Object(t)).forEach(function(n) {\n Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n));\n });\n }\n return e;\n}\nfunction Jt(e, d, t) {\n return d in e ? Object.defineProperty(e, d, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[d] = t, e;\n}\nfunction qt(e, d, t) {\n d && d.defaultCountry && !bd(d.defaultCountry, t) && (d = Ie(Ie({}, d), {}, {\n defaultCountry: void 0\n }));\n try {\n return Ut(e, d, t);\n } catch (n) {\n if (!(n instanceof g))\n throw n;\n }\n}\nfunction Qt() {\n var e = Yt(arguments), d = e.text, t = e.options, n = e.metadata;\n return qt(d, t, n);\n}\nfunction B() {\n return Ye(Qt, arguments);\n}\nconst e0 = {\n beforeMount(e, d, t) {\n if (typeof d.value != \"function\") {\n const n = t.context.name;\n let r = `[Vue-click-outside:] provided expression ${d.expression} is not a function, but has to be`;\n n && (r += `Found in component ${n}`), console.warn(r);\n }\n e.clickOutsideEvent = function(n) {\n const r = n.composedPath ? n.composedPath() : n.path;\n e === n.target || e.contains(n.target) || r.includes(e) || d.value(n, e);\n }, document.body.addEventListener(\"click\", e.clickOutsideEvent);\n },\n unmounted(e) {\n document.body.removeEventListener(\"click\", e.clickOutsideEvent);\n }\n}, d0 = (e, d) => {\n const t = e.__vccOpts || e;\n for (const [n, r] of d)\n t[n] = r;\n return t;\n};\nfunction s(e) {\n const d = G.options[e];\n return typeof d > \"u\" ? G.options[e] : d;\n}\nconst t0 = {\n name: \"VueTelInput\",\n directives: {\n clickOutside: e0\n },\n props: {\n modelValue: {\n type: String,\n default: \"\"\n },\n allCountries: {\n type: Array,\n default: () => s(\"allCountries\")\n },\n autoFormat: {\n type: Boolean,\n default: () => s(\"autoFormat\")\n },\n customValidate: {\n type: [Boolean, RegExp],\n default: () => s(\"customValidate\")\n },\n defaultCountry: {\n // Default country code, ie: 'AU'\n // Will override the current country of user\n type: [String, Number],\n default: () => s(\"defaultCountry\")\n },\n disabled: {\n type: Boolean,\n default: () => s(\"disabled\")\n },\n autoDefaultCountry: {\n type: Boolean,\n default: () => s(\"autoDefaultCountry\")\n },\n dropdownOptions: {\n type: Object,\n default: () => s(\"dropdownOptions\")\n },\n ignoredCountries: {\n type: Array,\n default: () => s(\"ignoredCountries\")\n },\n inputOptions: {\n type: Object,\n default: () => s(\"inputOptions\")\n },\n invalidMsg: {\n type: String,\n default: () => s(\"invalidMsg\")\n },\n mode: {\n type: String,\n default: () => s(\"mode\")\n },\n onlyCountries: {\n type: Array,\n default: () => s(\"onlyCountries\")\n },\n preferredCountries: {\n type: Array,\n default: () => s(\"preferredCountries\")\n },\n validCharactersOnly: {\n type: Boolean,\n default: () => s(\"validCharactersOnly\")\n },\n styleClasses: {\n type: [String, Array, Object],\n default: () => s(\"styleClasses\")\n }\n },\n data() {\n return {\n phone: \"\",\n activeCountryCode: \"\",\n open: !1,\n finishMounted: !1,\n selectedIndex: null,\n typeToFindInput: \"\",\n typeToFindTimer: null,\n dropdownOpenDirection: \"below\",\n parsedPlaceholder: this.inputOptions.placeholder,\n searchQuery: \"\"\n };\n },\n computed: {\n activeCountry() {\n return this.findCountry(this.activeCountryCode);\n },\n parsedMode() {\n return this.mode === \"auto\" ? !this.phone || this.phone[0] !== \"+\" ? \"national\" : \"international\" : [\"international\", \"national\"].includes(this.mode) ? this.mode : (console.error('Invalid value of prop \"mode\"'), \"international\");\n },\n filteredCountries() {\n return this.onlyCountries.length ? this.allCountries.filter(({ iso2: e }) => this.onlyCountries.some((d) => d.toUpperCase() === e)) : this.ignoredCountries.length ? this.allCountries.filter(\n ({ iso2: e }) => !this.ignoredCountries.includes(e.toUpperCase()) && !this.ignoredCountries.includes(e.toLowerCase())\n ) : this.allCountries;\n },\n sortedCountries() {\n const d = [...this.getCountries(this.preferredCountries).map((r) => ({ ...r, preferred: !0 })), ...this.filteredCountries];\n if (!this.dropdownOptions.showSearchBox)\n return d;\n const n = this.searchQuery.replace(/[~`!@#$%^&*()+={}\\[\\];:\\'\\\"<>.,\\/\\\\\\?-_]/g, \"\");\n return d.filter(\n (r) => new RegExp(n, \"i\").test(r.name) || new RegExp(n, \"i\").test(r.iso2) || new RegExp(n, \"i\").test(r.dialCode)\n );\n },\n phoneObject() {\n var i, a, $;\n let e;\n ((i = this.phone) == null ? void 0 : i[0]) === \"+\" ? e = B(this.phone) || {} : e = B(this.phone, this.activeCountryCode) || {};\n const {\n metadata: d,\n ...t\n } = e;\n let n = (a = e.isValid) == null ? void 0 : a.call(e), r = this.phone;\n return n && (r = ($ = e.format) == null ? void 0 : $.call(e, this.parsedMode.toUpperCase())), e.country && (this.ignoredCountries.length || this.onlyCountries.length) && (this.findCountry(e.country) || (n = !1, Object.assign(e, { country: null }))), Object.assign(t, {\n countryCode: e.country,\n valid: n,\n country: this.activeCountry,\n formatted: r\n }), t;\n }\n },\n watch: {\n activeCountry(e, d) {\n if (!e && (d != null && d.iso2)) {\n this.activeCountryCode = d.iso2;\n return;\n }\n e != null && e.iso2 && this.$emit(\"country-changed\", e);\n },\n \"phoneObject.countryCode\": function(e) {\n this.activeCountryCode = e || \"\";\n },\n \"phoneObject.valid\": function() {\n this.$emit(\"validate\", this.phoneObject);\n },\n \"phoneObject.formatted\": function(e) {\n !this.autoFormat || this.customValidate || (this.emitInput(e), this.$nextTick(() => {\n e && !this.modelValue && (this.phone = e);\n }));\n },\n // finishMounted() {\n // this.resetPlaceholder();\n // },\n \"inputOptions.placeholder\": function() {\n this.resetPlaceholder();\n },\n modelValue(e, d) {\n this.testCharacters() ? this.phone = e : this.$nextTick(() => {\n this.phone = d, this.onInput();\n });\n },\n open(e) {\n e ? (this.setDropdownPosition(), this.$emit(\"open\")) : this.$emit(\"close\");\n }\n },\n mounted() {\n this.modelValue && (this.phone = this.modelValue.trim()), this.cleanInvalidCharacters(), this.initializeCountry().then(() => {\n var e;\n !this.phone && ((e = this.inputOptions) != null && e.showDialCode) && this.activeCountryCode && (this.phone = `+${this.activeCountryCode}`), this.$emit(\"validate\", this.phoneObject);\n }).catch(console.error).then(() => {\n this.finishMounted = !0;\n });\n },\n methods: {\n resetPlaceholder() {\n this.parsedPlaceholder = this.inputOptions.placeholder;\n },\n initializeCountry() {\n return new Promise((e) => {\n var t;\n if (((t = this.phone) == null ? void 0 : t[0]) === \"+\") {\n e();\n return;\n }\n if (this.defaultCountry) {\n if (typeof this.defaultCountry == \"string\") {\n this.choose(this.defaultCountry), e();\n return;\n }\n if (typeof this.defaultCountry == \"number\") {\n const n = this.findCountryByDialCode(this.defaultCountry);\n if (n) {\n this.choose(n.iso2), e();\n return;\n }\n }\n }\n const d = this.preferredCountries[0] || this.filteredCountries[0];\n this.autoDefaultCountry ? We().then((n) => {\n this.choose(n || this.activeCountryCode);\n }).catch((n) => {\n console.warn(n), this.choose(d);\n }).then(() => {\n e();\n }) : (this.choose(d), e());\n });\n },\n /**\n * Get the list of countries from the list of iso2 code\n */\n getCountries(e = []) {\n return e.map((d) => this.findCountry(d)).filter(Boolean);\n },\n findCountry(e = \"\") {\n return this.filteredCountries.find((d) => d.iso2 === e.toUpperCase());\n },\n findCountryByDialCode(e) {\n return this.filteredCountries.find((d) => Number(d.dialCode) === e);\n },\n getItemClass(e, d) {\n const t = this.selectedIndex === e, n = e === this.preferredCountries.length - 1, r = this.preferredCountries.some((i) => i.toUpperCase() === d);\n return {\n highlighted: t,\n \"last-preferred\": n,\n preferred: r\n };\n },\n choose(e) {\n var t, n;\n let d = e;\n if (typeof d == \"string\" && (d = this.findCountry(d)), !!d) {\n if (((t = this.phone) == null ? void 0 : t[0]) === \"+\" && d.iso2 && this.phoneObject.nationalNumber) {\n this.activeCountryCode = d.iso2, this.phone = B(\n this.phoneObject.nationalNumber,\n d.iso2\n ).formatInternational();\n return;\n }\n if ((n = this.inputOptions) != null && n.showDialCode && d) {\n this.phone = `+${d.dialCode}`, this.activeCountryCode = d.iso2 || \"\";\n return;\n }\n this.activeCountryCode = d.iso2 || \"\", this.emitInput(this.phone);\n }\n },\n cleanInvalidCharacters() {\n const e = this.phone;\n if (this.validCharactersOnly) {\n const d = this.phone.match(/[()\\-+0-9\\s]*/g);\n this.phone = d.join(\"\");\n }\n if (this.customValidate && this.customValidate instanceof RegExp) {\n const d = this.phone.match(this.customValidate);\n this.phone = d.join(\"\");\n }\n e !== this.phone && this.emitInput(this.phone);\n },\n testCharacters() {\n return this.validCharactersOnly && !/^[()\\-+0-9\\s]*$/.test(this.phone) ? !1 : this.customValidate ? this.testCustomValidate() : !0;\n },\n testCustomValidate() {\n return this.customValidate instanceof RegExp ? this.customValidate.test(this.phone) : !1;\n },\n onInput() {\n this.$refs.input.setCustomValidity(this.phoneObject.valid ? \"\" : this.invalidMsg), this.emitInput(this.phone);\n },\n emitInput(e) {\n this.$emit(\"update:modelValue\", e), this.$emit(\"on-input\", e, this.phoneObject, this.$refs.input);\n },\n onBlur() {\n this.$emit(\"blur\");\n },\n onFocus() {\n ze(this.$refs.input, this.phone.length), 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 this.disabled || this.dropdownOptions.disabled || (this.searchQuery = \"\", this.open = !this.open);\n },\n clickedOutside() {\n this.open = !1;\n },\n keyboardNav(e) {\n if (e.keyCode === 40) {\n e.preventDefault(), this.open = !0, this.selectedIndex === null ? this.selectedIndex = 0 : this.selectedIndex = Math.min(this.sortedCountries.length - 1, this.selectedIndex + 1);\n const d = this.$refs.list.children[this.selectedIndex];\n d.focus(), d.offsetTop + d.clientHeight > this.$refs.list.scrollTop + this.$refs.list.clientHeight && (this.$refs.list.scrollTop = d.offsetTop - this.$refs.list.clientHeight + d.clientHeight);\n } else if (e.keyCode === 38) {\n e.preventDefault(), this.open = !0, this.selectedIndex === null ? this.selectedIndex = this.sortedCountries.length - 1 : this.selectedIndex = Math.max(0, this.selectedIndex - 1);\n const d = this.$refs.list.children[this.selectedIndex];\n d.focus(), d.offsetTop < this.$refs.list.scrollTop && (this.$refs.list.scrollTop = d.offsetTop);\n } else if (e.keyCode === 13)\n this.selectedIndex !== null && this.choose(this.sortedCountries[this.selectedIndex]), this.open = !this.open;\n else {\n this.typeToFindInput += e.key, clearTimeout(this.typeToFindTimer), this.typeToFindTimer = setTimeout(() => {\n this.typeToFindInput = \"\";\n }, 700);\n const d = this.sortedCountries.slice(this.preferredCountries.length).findIndex((t) => t.name.toLowerCase().startsWith(this.typeToFindInput));\n if (d >= 0) {\n this.selectedIndex = this.preferredCountries.length + d;\n const t = this.$refs.list.children[this.selectedIndex], n = t.offsetTop < this.$refs.list.scrollTop, r = t.offsetTop + t.clientHeight > this.$refs.list.scrollTop + this.$refs.list.clientHeight;\n (n || r) && (this.$refs.list.scrollTop = t.offsetTop - this.$refs.list.clientHeight / 2);\n }\n }\n },\n reset() {\n this.selectedIndex = this.sortedCountries.map((e) => e.iso2).indexOf(this.activeCountryCode), this.open = !1;\n },\n setDropdownPosition() {\n window.innerHeight - this.$el.getBoundingClientRect().bottom > 200 ? this.dropdownOpenDirection = \"below\" : this.dropdownOpenDirection = \"above\";\n }\n }\n}, n0 = [\"aria-expanded\", \"tabindex\"], r0 = { class: \"vti__selection\" }, i0 = {\n key: 1,\n class: \"vti__country-code\"\n}, $0 = { class: \"vti__dropdown-arrow\" }, a0 = [\"placeholder\"], o0 = [\"onClick\", \"onMousemove\", \"aria-selected\"], u0 = { key: 1 }, s0 = [\"type\", \"autocomplete\", \"autofocus\", \"disabled\", \"id\", \"maxlength\", \"name\", \"placeholder\", \"readonly\", \"required\", \"tabindex\", \"value\", \"aria-describedby\"];\nfunction l0(e, d, t, n, r, i) {\n const a = ke(\"click-outside\");\n return h(), p(\"div\", {\n class: C([\"vue-tel-input\", t.styleClasses, { disabled: t.disabled }])\n }, [\n M((h(), p(\"div\", {\n \"aria-label\": \"Country Code Selector\",\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": r.open,\n role: \"button\",\n class: C([\"vti__dropdown\", { open: r.open, disabled: t.dropdownOptions.disabled }]),\n tabindex: t.dropdownOptions.tabindex,\n onKeydown: [\n d[2] || (d[2] = (...$) => i.keyboardNav && i.keyboardNav(...$)),\n d[4] || (d[4] = I((...$) => i.toggleDropdown && i.toggleDropdown(...$), [\"space\"])),\n d[5] || (d[5] = I((...$) => i.reset && i.reset(...$), [\"esc\"])),\n d[6] || (d[6] = I((...$) => i.reset && i.reset(...$), [\"tab\"]))\n ],\n onClick: d[3] || (d[3] = (...$) => i.toggleDropdown && i.toggleDropdown(...$))\n }, [\n S(\"span\", r0, [\n t.dropdownOptions.showFlags ? (h(), p(\"span\", {\n key: 0,\n class: C([\"vti__flag\", r.activeCountryCode.toLowerCase()])\n }, null, 2)) : O(\"\", !0),\n t.dropdownOptions.showDialCodeInSelection ? (h(), p(\"span\", i0, \" +\" + _(i.activeCountry && i.activeCountry.dialCode), 1)) : O(\"\", !0),\n q(e.$slots, \"arrow-icon\", { open: r.open }, () => [\n S(\"span\", $0, _(r.open ? \"▲\" : \"▼\"), 1)\n ])\n ]),\n r.open ? (h(), p(\"ul\", {\n key: 0,\n ref: \"list\",\n class: C([\"vti__dropdown-list\", r.dropdownOpenDirection]),\n role: \"listbox\"\n }, [\n t.dropdownOptions.showSearchBox ? M((h(), p(\"input\", {\n key: 0,\n class: \"vti__input vti__search_box\",\n \"aria-label\": \"Search by country name or country code\",\n placeholder: i.sortedCountries.length ? i.sortedCountries[0].name : \"\",\n type: \"text\",\n \"onUpdate:modelValue\": d[0] || (d[0] = ($) => r.searchQuery = $),\n onClick: d[1] || (d[1] = Be(() => {\n }, [\"stop\"]))\n }, null, 8, a0)), [\n [Ge, r.searchQuery]\n ]) : O(\"\", !0),\n (h(!0), p(je, null, Ue(i.sortedCountries, ($, o) => (h(), p(\"li\", {\n role: \"option\",\n class: C([\"vti__dropdown-item\", i.getItemClass(o, $.iso2)]),\n key: $.iso2 + ($.preferred ? \"-preferred\" : \"\"),\n tabindex: \"-1\",\n onClick: (u) => i.choose($),\n onMousemove: (u) => r.selectedIndex = o,\n \"aria-selected\": r.activeCountryCode === $.iso2 && !$.preferred\n }, [\n t.dropdownOptions.showFlags ? (h(), p(\"span\", {\n key: 0,\n class: C([\"vti__flag\", $.iso2.toLowerCase()])\n }, null, 2)) : O(\"\", !0),\n S(\"strong\", null, _($.name), 1),\n t.dropdownOptions.showDialCodeInList ? (h(), p(\"span\", u0, \" +\" + _($.dialCode), 1)) : O(\"\", !0)\n ], 42, o0))), 128))\n ], 2)) : O(\"\", !0)\n ], 42, n0)), [\n [a, i.clickedOutside]\n ]),\n M(S(\"input\", {\n \"onUpdate:modelValue\": d[7] || (d[7] = ($) => r.phone = $),\n ref: \"input\",\n type: t.inputOptions.type,\n autocomplete: t.inputOptions.autocomplete,\n autofocus: t.inputOptions.autofocus,\n class: C([\"vti__input\", t.inputOptions.styleClasses]),\n disabled: t.disabled,\n id: t.inputOptions.id,\n maxlength: t.inputOptions.maxlength,\n name: t.inputOptions.name,\n placeholder: r.parsedPlaceholder,\n readonly: t.inputOptions.readonly,\n required: t.inputOptions.required,\n tabindex: t.inputOptions.tabindex,\n value: t.modelValue,\n \"aria-describedby\": t.inputOptions[\"aria-describedby\"],\n onBlur: d[8] || (d[8] = (...$) => i.onBlur && i.onBlur(...$)),\n onFocus: d[9] || (d[9] = (...$) => i.onFocus && i.onFocus(...$)),\n onInput: d[10] || (d[10] = (...$) => i.onInput && i.onInput(...$)),\n onKeyup: [\n d[11] || (d[11] = I((...$) => i.onEnter && i.onEnter(...$), [\"enter\"])),\n d[12] || (d[12] = I((...$) => i.onSpace && i.onSpace(...$), [\"space\"]))\n ]\n }, null, 42, s0), [\n [He, r.phone]\n ]),\n q(e.$slots, \"icon-right\")\n ], 2);\n}\nconst c0 = /* @__PURE__ */ d0(t0, [[\"render\", l0]]), h0 = {\n install(e, d = {}) {\n const {\n dropdownOptions: t,\n inputOptions: n,\n ...r\n } = d, {\n dropdownOptions: i,\n inputOptions: a,\n ...$\n } = we;\n G.options = {\n inputOptions: {\n ...a,\n ...n\n },\n dropdownOptions: {\n ...i,\n ...t\n },\n ...$,\n ...r\n }, e.component(\"vue-tel-input\", c0);\n }\n};\nexport {\n c0 as VueTelInput,\n h0 as default\n};\n"],"sourceRoot":""}