{"version":3,"sources":["webpack:///./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js"],"names":["stack","warn","msg","args","instance","length","component","appWarnHandler","appContext","config","warnHandler","trace","getComponentTrace","callWithErrorHandling","join","proxy","map","vnode","formatComponentName","type","warnArgs","push","formatTrace","console","currentVNode","normalizedStack","last","recurseCount","parentInstance","parent","logs","forEach","entry","i","formatTraceEntry","postfix","isRoot","open","close","props","formatProps","res","keys","Object","slice","key","formatProp","value","raw","JSON","stringify","name","fn","err","handleError","callWithAsyncErrorHandling","catch","values","throwInDev","contextVNode","cur","exposedInstance","errorInfo","errorCapturedHooks","ec","appErrorHandler","errorHandler","logError","error","isFlushing","isFlushPending","queue","flushIndex","pendingPreFlushCbs","activePreFlushCbs","preFlushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","Promise","resolve","currentFlushPromise","currentPreFlushParentJob","nextTick","p","then","this","bind","findInsertionIndex","id","start","end","middle","middleJobId","getId","queueJob","job","includes","allowRecurse","splice","queueFlush","flushJobs","invalidateJob","indexOf","queueCb","cb","activeQueue","pendingQueue","index","queuePreFlushCb","queuePostFlushCb","flushPreFlushCbs","seen","parentJob","Set","flushPostFlushCbs","deduped","sort","a","b","Infinity","active","Map","devtools","buffer","devtoolsNotInstalled","setDevtoolsHook","hook","target","_a","_b","enabled","event","emit","window","HTMLElement","navigator","userAgent","replay","__VUE_DEVTOOLS_HOOK_REPLAY__","newHook","setTimeout","emit$1","rawArgs","isUnmounted","isModelListener","startsWith","modelArg","modifiersKey","number","trim","handlerName","handler","onceHandler","emitted","normalizeEmitsOptions","comp","asMixin","cache","emitsCache","cached","get","undefined","emits","normalized","hasExtends","extendEmits","normalizedFromExtend","mixins","extends","set","isEmitListener","options","replace","toLowerCase","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","prev","__scopeId","pushScopeId","popScopeId","withScopeId","_id","withCtx","ctx","isNonScopedSlot","_n","renderFnWithContext","_d","setBlockTracking","prevInstance","_c","renderComponentRoot","Component","withProxy","propsOptions","slots","attrs","render","renderCache","data","setupState","inheritAttrs","result","fallthroughAttrs","shapeFlag","proxyToUse","normalizeVNode","call","getFunctionalFallthrough","blockStack","createVNode","Comment","root","some","filterModelListeners","cloneVNode","dirs","concat","transition","filterSingleRoot","children","singleRoot","child","isVNode","shouldUpdateComponent","prevVNode","nextVNode","optimized","prevProps","prevChildren","nextProps","nextChildren","patchFlag","emitsOptions","$stable","hasPropsChanged","dynamicProps","nextKeys","updateHOCHostEl","el","subTree","isSuspense","__isSuspense","SuspenseImpl","n1","n2","container","anchor","parentComponent","parentSuspense","isSVG","slotScopeIds","rendererInternals","mountSuspense","patchSuspense","hydrate","hydrateSuspense","create","createSuspenseBoundary","normalize","normalizeSuspenseChildren","Suspense","triggerEvent","eventListener","patch","o","createElement","hiddenContainer","suspense","pendingBranch","ssContent","deps","ssFallback","setActiveBranch","um","unmount","newBranch","newFallback","activeBranch","isInFallback","isHydrating","isSameVNodeType","pendingId","effects","timeout","fallback","m","move","n","next","parentNode","remove","resume","delayEnter","mode","afterLeave","hasUnresolvedAncestor","fallbackVNode","mountFallback","setupRenderEffect","isInPendingSuspense","hydratedEl","asyncDep","asyncSetupResult","suspenseId","asyncResolved","handleSetupResult","placeholder","doRemove","node","hydrateNode","document","isSlotChildren","normalizeSuspenseSlot","default","s","block","trackBlock","isBlockTreeEnabled","openBlock","currentBlock","closeBlock","singleChild","dynamicChildren","filter","c","queueEffectWithSuspense","branch","provide","currentInstance","provides","parentProvides","inject","defaultValue","treatDefaultAsFactory","arguments","watchEffect","effect","doWatch","watchPostEffect","flush","watchSyncEffect","INITIAL_WATCHER_VALUE","watch","source","immediate","deep","onTrack","onTrigger","getter","cleanup","forceTrigger","isMultiSource","traverse","onCleanup","baseGetter","onStop","isInSSRComponentSetup","oldValue","newValue","run","v","scheduler","queuePostRenderEffect","stop","scope","instanceWatch","publicThis","createPathGetter","setCurrentInstance","unsetCurrentInstance","path","segments","split","has","add","useTransitionState","state","isMounted","isLeaving","isUnmounting","leavingVNodes","onMounted","onBeforeUnmount","TransitionHookValidator","Function","Array","BaseTransitionImpl","String","appear","Boolean","persisted","onBeforeEnter","onEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","getCurrentInstance","prevTransitionKey","getTransitionRawChildren","hasFound","rawProps","emptyPlaceholder","innerChild","getKeepAliveChild","enterHooks","resolveTransitionHooks","setTransitionHooks","oldChild","oldInnerChild","transitionKeyChanged","getTransitionKey","leavingHooks","update","delayLeave","earlyRemove","delayedLeave","leavingVNodesCache","getLeavingNodesForType","_leaveCb","BaseTransition","callHook","callAsyncHook","done","every","hooks","leavingVNode","afterHook","cancelHook","called","_enterCb","cancelled","isKeepAlive","clone","keepComment","parentKey","ret","keyedFragmentCount","Fragment","defineComponent","setup","isAsyncWrapper","__asyncLoader","defineAsyncComponent","loader","loadingComponent","errorComponent","delay","suspensible","onError","userOnError","resolvedComp","pendingRequest","retries","retry","load","thisRequest","Error","reject","userRetry","userFail","__esModule","Symbol","toStringTag","createInnerComp","loaded","delayed","ref","__isKeepAlive","KeepAliveImpl","include","RegExp","exclude","max","Number","sharedContext","renderer","current","_unmount","storageContainer","resetShapeFlag","pruneCache","getComponentName","pruneCacheEntry","delete","activate","isDeactivated","vnodeHook","onVnodeMounted","invokeVNodeHook","deactivate","da","onVnodeUnmounted","matches","pendingCacheKey","cacheSubtree","getInnerChild","onUpdated","rawVNode","__asyncResolved","cachedVNode","size","parseInt","KeepAlive","pattern","test","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","__wdc","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","__weh","unshift","createHook","lifecycle","onBeforeMount","onBeforeUpdate","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","withDirectives","directives","internalInstance","getExposeProxy","bindings","dir","arg","modifiers","mounted","updated","invokeDirectiveHook","oldBindings","binding","COMPONENTS","DIRECTIVES","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","resolveDynamicComponent","resolveDirective","warnMissing","selfName","registry","renderList","renderItem","l","iterator","from","item","createSlots","dynamicSlots","slot","j","renderSlot","noSlotted","isCE","validSlotContent","ensureValidVNode","rendered","createBlock","_","scopeId","vnodes","toHandlers","obj","getPublicInstance","isStatefulComponent","publicPropertiesMap","$","$el","$data","$props","$attrs","$slots","$refs","refs","$parent","$root","$emit","$options","resolveMergedOptions","$forceUpdate","f","$nextTick","$watch","PublicInstanceProxyHandlers","accessCache","normalizedProps","shouldCacheAccess","publicGetter","cssModule","globalProperties","__cssModules","descriptor","Reflect","defineProperty","RuntimeCompiledPublicInstanceProxyHandlers","unscopables","applyOptions","beforeCreate","dataOptions","computed","computedOptions","methods","watchOptions","provideOptions","injectOptions","created","beforeMount","beforeUpdate","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","components","filters","checkDuplicateProperties","resolveInjections","unwrapInjectedRef","methodHandler","opt","enumerable","configurable","createWatcher","ownKeys","registerLifecycleHook","register","_hook","exposed","val","unwrapRef","normalizeInject","h","r","base","extendsOptions","globalMixins","optionsCache","optionMergeStrategies","resolved","mergeOptions","to","strats","strat","internalOptionMergeStrats","mergeDataFn","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","initProps","isStateful","isSSR","InternalObjectKey","propsDefaults","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","kebabKey","resolvePropValue","propsToUpdate","camelizedKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","normalizePropsOptions","propsCache","extendProps","normalizedKey","validatePropName","prop","booleanIndex","getTypeIndex","stringIndex","getType","ctor","match","toString","isSameType","expectedTypes","findIndex","t","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","_ctx","normalizeVNodeSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","createAppContext","app","isNativeTag","performance","compilerOptions","WeakMap","uid","createAppAPI","rootComponent","rootProps","assign","context","installedPlugins","_uid","_component","_props","_container","_context","_instance","version","plugin","install","mixin","directive","rootContainer","isHydrate","__vue_app__","setRef","rawRef","oldRawRef","isUnmount","refValue","owner","oldRef","_isString","_isRef","doSet","existing","k","hasMismatch","isSVGContainer","namespaceURI","tagName","isComment","nodeType","createHydrationFunctions","mt","mountComponent","patchProp","createText","nextSibling","insert","createComment","hasChildNodes","_vnode","firstChild","isFragmentStart","onMismatch","handleMismatch","domType","nextNode","Text","Static","needToAdoptContent","staticCount","outerHTML","hydrateFragment","hydrateElement","locateClosingAsyncAnchor","previousSibling","lastChild","createTextVNode","hydrateChildren","forcePatchValue","endsWith","onClick","vnodeHooks","onVnodeBeforeMount","innerHTML","textContent","parentVNode","fragmentSlotScopeIds","isFragment","initFeatureFlags","createRenderer","baseCreateRenderer","createHydrationRenderer","createHydrationFns","__VUE__","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","setText","hostSetText","setElementText","hostSetElementText","hostParentNode","hostNextSibling","setScopeId","hostSetScopeId","cloneNode","hostCloneNode","insertStaticContent","hostInsertStaticContent","getNextHostNode","processText","processCommentNode","mountStaticNode","processFragment","processElement","processComponent","process","internals","moveStaticNode","removeStaticNode","mountElement","patchElement","is","mountChildren","unmountChildren","needCallTransitionHooks","beforeEnter","enter","cloneIfMounted","oldProps","newProps","toggleRecurse","onVnodeBeforeUpdate","areChildrenSVG","patchBlockChildren","patchChildren","patchProps","class","style","onVnodeUpdated","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","traverseStaticChildren","updateComponent","initialVNode","createComponentInstance","setupComponent","registerDep","updateComponentPreRender","componentUpdateFn","bu","u","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","hydrateSubTree","scopedInitialVNode","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","newLength","commonLength","Math","min","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","moveType","needTransition","leave","performLeave","shouldInvokeDirs","shouldInvokeVnodeHook","onVnodeBeforeUnmount","unmountComponent","removeFragment","performRemove","bum","mc","pc","pbc","createApp","allowed","shallow","ch1","ch2","arr","len","arrI","isTeleport","__isTeleport","isTeleportDisabled","disabled","isTargetSVG","SVGElement","resolveTarget","select","targetSelector","TeleportImpl","querySelector","mainAnchor","targetAnchor","mount","wasDisabled","currentContainer","currentAnchor","moveTeleport","nextTarget","hydrateTeleport","isReorder","targetNode","_lpa","Teleport","disableTracking","pop","vnodeArgsTransformer","setupBlock","createElementBlock","createBaseVNode","__v_isVNode","transformVNodeArgs","transformer","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","__v_skip","normalizeChildren","_createVNode","cloned","isClassComponent","__vccOpts","guardReactiveProps","klass","extraProps","mergeRef","mergedProps","mergeProps","text","flag","createStaticVNode","content","numberOfNodes","createCommentVNode","asBlock","memo","slotFlag","toMerge","incoming","emptyAppContext","uid$1","exposeProxy","setupContext","bc","rtg","rtc","sp","ce","on","off","compile","installWithProxy","setupResult","setupStatefulComponent","Proxy","createSetupContext","resolvedResult","e","finishComponentSetup","__ssrInlineRender","ssrRender","registerRuntimeCompiler","_compile","_rc","isRuntimeOnly","skipOptions","template","isCustomElement","delimiters","componentCompilerOptions","finalCompilerOptions","createAttrsProxy","classifyRE","classify","str","toUpperCase","includeInferred","displayName","__name","__file","inferFromRegistry","getterOrOptions","debugOptions","defineProps","defineEmits","defineExpose","withDefaults","defaults","useSlots","getContext","useAttrs","mergeDefaults","reduce","createPropsRestProxy","excludedKeys","withAsyncContext","getAwaitable","awaitable","propsOrChildren","prototype","ssrContextKey","useSSRContext","initCustomFormatter","withMemo","isMemoSame","_ssrUtils","ssrUtils","resolveFilter","compatUtils"],"mappings":"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","file":"js/chunk-vendors~5ea1a303.78ae89bd.js","sourcesContent":["import { pauseTracking, resetTracking, isRef, toRaw, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, EffectScope, markRaw, proxyRefs, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, toNumber, hyphenate, camelize, isOn, hasOwn, isModelListener, hasChanged, remove, isObject, isSet, isMap, isPlainObject, invokeArrayFns, isBuiltInDirective, capitalize, isGloballyWhitelisted, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, NO, normalizeClass, normalizeStyle } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\r\nfunction pushWarningContext(vnode) {\r\n stack.push(vnode);\r\n}\r\nfunction popWarningContext() {\r\n stack.pop();\r\n}\r\nfunction warn(msg, ...args) {\r\n // avoid props formatting or warn handler tracking deps that might be mutated\r\n // during patch, leading to infinite recursion.\r\n pauseTracking();\r\n const instance = stack.length ? stack[stack.length - 1].component : null;\r\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\r\n const trace = getComponentTrace();\r\n if (appWarnHandler) {\r\n callWithErrorHandling(appWarnHandler, instance, 11 /* APP_WARN_HANDLER */, [\r\n msg + args.join(''),\r\n instance && instance.proxy,\r\n trace\r\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\r\n .join('\\n'),\r\n trace\r\n ]);\r\n }\r\n else {\r\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\r\n /* istanbul ignore if */\r\n if (trace.length &&\r\n // avoid spamming console during tests\r\n !false) {\r\n warnArgs.push(`\\n`, ...formatTrace(trace));\r\n }\r\n console.warn(...warnArgs);\r\n }\r\n resetTracking();\r\n}\r\nfunction getComponentTrace() {\r\n let currentVNode = stack[stack.length - 1];\r\n if (!currentVNode) {\r\n return [];\r\n }\r\n // we can't just use the stack because it will be incomplete during updates\r\n // that did not start from the root. Re-construct the parent chain using\r\n // instance parent pointers.\r\n const normalizedStack = [];\r\n while (currentVNode) {\r\n const last = normalizedStack[0];\r\n if (last && last.vnode === currentVNode) {\r\n last.recurseCount++;\r\n }\r\n else {\r\n normalizedStack.push({\r\n vnode: currentVNode,\r\n recurseCount: 0\r\n });\r\n }\r\n const parentInstance = currentVNode.component && currentVNode.component.parent;\r\n currentVNode = parentInstance && parentInstance.vnode;\r\n }\r\n return normalizedStack;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatTrace(trace) {\r\n const logs = [];\r\n trace.forEach((entry, i) => {\r\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\r\n });\r\n return logs;\r\n}\r\nfunction formatTraceEntry({ vnode, recurseCount }) {\r\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\r\n const isRoot = vnode.component ? vnode.component.parent == null : false;\r\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\r\n const close = `>` + postfix;\r\n return vnode.props\r\n ? [open, ...formatProps(vnode.props), close]\r\n : [open + close];\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProps(props) {\r\n const res = [];\r\n const keys = Object.keys(props);\r\n keys.slice(0, 3).forEach(key => {\r\n res.push(...formatProp(key, props[key]));\r\n });\r\n if (keys.length > 3) {\r\n res.push(` ...`);\r\n }\r\n return res;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProp(key, value, raw) {\r\n if (isString(value)) {\r\n value = JSON.stringify(value);\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (typeof value === 'number' ||\r\n typeof value === 'boolean' ||\r\n value == null) {\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (isRef(value)) {\r\n value = formatProp(key, toRaw(value.value), true);\r\n return raw ? value : [`${key}=Ref<`, value, `>`];\r\n }\r\n else if (isFunction(value)) {\r\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\r\n }\r\n else {\r\n value = toRaw(value);\r\n return raw ? value : [`${key}=`, value];\r\n }\r\n}\n\nconst ErrorTypeStrings = {\r\n [\"sp\" /* SERVER_PREFETCH */]: 'serverPrefetch hook',\r\n [\"bc\" /* BEFORE_CREATE */]: 'beforeCreate hook',\r\n [\"c\" /* CREATED */]: 'created hook',\r\n [\"bm\" /* BEFORE_MOUNT */]: 'beforeMount hook',\r\n [\"m\" /* MOUNTED */]: 'mounted hook',\r\n [\"bu\" /* BEFORE_UPDATE */]: 'beforeUpdate hook',\r\n [\"u\" /* UPDATED */]: 'updated',\r\n [\"bum\" /* BEFORE_UNMOUNT */]: 'beforeUnmount hook',\r\n [\"um\" /* UNMOUNTED */]: 'unmounted hook',\r\n [\"a\" /* ACTIVATED */]: 'activated hook',\r\n [\"da\" /* DEACTIVATED */]: 'deactivated hook',\r\n [\"ec\" /* ERROR_CAPTURED */]: 'errorCaptured hook',\r\n [\"rtc\" /* RENDER_TRACKED */]: 'renderTracked hook',\r\n [\"rtg\" /* RENDER_TRIGGERED */]: 'renderTriggered hook',\r\n [0 /* SETUP_FUNCTION */]: 'setup function',\r\n [1 /* RENDER_FUNCTION */]: 'render function',\r\n [2 /* WATCH_GETTER */]: 'watcher getter',\r\n [3 /* WATCH_CALLBACK */]: 'watcher callback',\r\n [4 /* WATCH_CLEANUP */]: 'watcher cleanup function',\r\n [5 /* NATIVE_EVENT_HANDLER */]: 'native event handler',\r\n [6 /* COMPONENT_EVENT_HANDLER */]: 'component event handler',\r\n [7 /* VNODE_HOOK */]: 'vnode hook',\r\n [8 /* DIRECTIVE_HOOK */]: 'directive hook',\r\n [9 /* TRANSITION_HOOK */]: 'transition hook',\r\n [10 /* APP_ERROR_HANDLER */]: 'app errorHandler',\r\n [11 /* APP_WARN_HANDLER */]: 'app warnHandler',\r\n [12 /* FUNCTION_REF */]: 'ref function',\r\n [13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',\r\n [14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\r\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'\r\n};\r\nfunction callWithErrorHandling(fn, instance, type, args) {\r\n let res;\r\n try {\r\n res = args ? fn(...args) : fn();\r\n }\r\n catch (err) {\r\n handleError(err, instance, type);\r\n }\r\n return res;\r\n}\r\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\r\n if (isFunction(fn)) {\r\n const res = callWithErrorHandling(fn, instance, type, args);\r\n if (res && isPromise(res)) {\r\n res.catch(err => {\r\n handleError(err, instance, type);\r\n });\r\n }\r\n return res;\r\n }\r\n const values = [];\r\n for (let i = 0; i < fn.length; i++) {\r\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\r\n }\r\n return values;\r\n}\r\nfunction handleError(err, instance, type, throwInDev = true) {\r\n const contextVNode = instance ? instance.vnode : null;\r\n if (instance) {\r\n let cur = instance.parent;\r\n // the exposed instance is the render proxy to keep it consistent with 2.x\r\n const exposedInstance = instance.proxy;\r\n // in production the hook receives only the error code\r\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\r\n while (cur) {\r\n const errorCapturedHooks = cur.ec;\r\n if (errorCapturedHooks) {\r\n for (let i = 0; i < errorCapturedHooks.length; i++) {\r\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\r\n return;\r\n }\r\n }\r\n }\r\n cur = cur.parent;\r\n }\r\n // app-level handling\r\n const appErrorHandler = instance.appContext.config.errorHandler;\r\n if (appErrorHandler) {\r\n callWithErrorHandling(appErrorHandler, null, 10 /* APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\r\n return;\r\n }\r\n }\r\n logError(err, type, contextVNode, throwInDev);\r\n}\r\nfunction logError(err, type, contextVNode, throwInDev = true) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const info = ErrorTypeStrings[type];\r\n if (contextVNode) {\r\n pushWarningContext(contextVNode);\r\n }\r\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\r\n if (contextVNode) {\r\n popWarningContext();\r\n }\r\n // crash in dev by default so it's more noticeable\r\n if (throwInDev) {\r\n throw err;\r\n }\r\n else {\r\n console.error(err);\r\n }\r\n }\r\n else {\r\n // recover in prod to reduce the impact on end-user\r\n console.error(err);\r\n }\r\n}\n\nlet isFlushing = false;\r\nlet isFlushPending = false;\r\nconst queue = [];\r\nlet flushIndex = 0;\r\nconst pendingPreFlushCbs = [];\r\nlet activePreFlushCbs = null;\r\nlet preFlushIndex = 0;\r\nconst pendingPostFlushCbs = [];\r\nlet activePostFlushCbs = null;\r\nlet postFlushIndex = 0;\r\nconst resolvedPromise = /*#__PURE__*/ Promise.resolve();\r\nlet currentFlushPromise = null;\r\nlet currentPreFlushParentJob = null;\r\nconst RECURSION_LIMIT = 100;\r\nfunction nextTick(fn) {\r\n const p = currentFlushPromise || resolvedPromise;\r\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\r\n}\r\n// #2768\r\n// Use binary-search to find a suitable position in the queue,\r\n// so that the queue maintains the increasing order of job's id,\r\n// which can prevent the job from being skipped and also can avoid repeated patching.\r\nfunction findInsertionIndex(id) {\r\n // the start index should be `flushIndex + 1`\r\n let start = flushIndex + 1;\r\n let end = queue.length;\r\n while (start < end) {\r\n const middle = (start + end) >>> 1;\r\n const middleJobId = getId(queue[middle]);\r\n middleJobId < id ? (start = middle + 1) : (end = middle);\r\n }\r\n return start;\r\n}\r\nfunction queueJob(job) {\r\n // the dedupe search uses the startIndex argument of Array.includes()\r\n // by default the search index includes the current job that is being run\r\n // so it cannot recursively trigger itself again.\r\n // if the job is a watch() callback, the search will start with a +1 index to\r\n // allow it recursively trigger itself - it is the user's responsibility to\r\n // ensure it doesn't end up in an infinite loop.\r\n if ((!queue.length ||\r\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) &&\r\n job !== currentPreFlushParentJob) {\r\n if (job.id == null) {\r\n queue.push(job);\r\n }\r\n else {\r\n queue.splice(findInsertionIndex(job.id), 0, job);\r\n }\r\n queueFlush();\r\n }\r\n}\r\nfunction queueFlush() {\r\n if (!isFlushing && !isFlushPending) {\r\n isFlushPending = true;\r\n currentFlushPromise = resolvedPromise.then(flushJobs);\r\n }\r\n}\r\nfunction invalidateJob(job) {\r\n const i = queue.indexOf(job);\r\n if (i > flushIndex) {\r\n queue.splice(i, 1);\r\n }\r\n}\r\nfunction queueCb(cb, activeQueue, pendingQueue, index) {\r\n if (!isArray(cb)) {\r\n if (!activeQueue ||\r\n !activeQueue.includes(cb, cb.allowRecurse ? index + 1 : index)) {\r\n pendingQueue.push(cb);\r\n }\r\n }\r\n else {\r\n // if cb is an array, it is a component lifecycle hook which can only be\r\n // triggered by a job, which is already deduped in the main queue, so\r\n // we can skip duplicate check here to improve perf\r\n pendingQueue.push(...cb);\r\n }\r\n queueFlush();\r\n}\r\nfunction queuePreFlushCb(cb) {\r\n queueCb(cb, activePreFlushCbs, pendingPreFlushCbs, preFlushIndex);\r\n}\r\nfunction queuePostFlushCb(cb) {\r\n queueCb(cb, activePostFlushCbs, pendingPostFlushCbs, postFlushIndex);\r\n}\r\nfunction flushPreFlushCbs(seen, parentJob = null) {\r\n if (pendingPreFlushCbs.length) {\r\n currentPreFlushParentJob = parentJob;\r\n activePreFlushCbs = [...new Set(pendingPreFlushCbs)];\r\n pendingPreFlushCbs.length = 0;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePreFlushCbs[preFlushIndex])) {\r\n continue;\r\n }\r\n activePreFlushCbs[preFlushIndex]();\r\n }\r\n activePreFlushCbs = null;\r\n preFlushIndex = 0;\r\n currentPreFlushParentJob = null;\r\n // recursively flush until it drains\r\n flushPreFlushCbs(seen, parentJob);\r\n }\r\n}\r\nfunction flushPostFlushCbs(seen) {\r\n // flush any pre cbs queued during the flush (e.g. pre watchers)\r\n flushPreFlushCbs();\r\n if (pendingPostFlushCbs.length) {\r\n const deduped = [...new Set(pendingPostFlushCbs)];\r\n pendingPostFlushCbs.length = 0;\r\n // #1947 already has active queue, nested flushPostFlushCbs call\r\n if (activePostFlushCbs) {\r\n activePostFlushCbs.push(...deduped);\r\n return;\r\n }\r\n activePostFlushCbs = deduped;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\r\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\r\n continue;\r\n }\r\n activePostFlushCbs[postFlushIndex]();\r\n }\r\n activePostFlushCbs = null;\r\n postFlushIndex = 0;\r\n }\r\n}\r\nconst getId = (job) => job.id == null ? Infinity : job.id;\r\nfunction flushJobs(seen) {\r\n isFlushPending = false;\r\n isFlushing = true;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n flushPreFlushCbs(seen);\r\n // Sort queue before flush.\r\n // This ensures that:\r\n // 1. Components are updated from parent to child. (because parent is always\r\n // created before the child so its render effect will have smaller\r\n // priority number)\r\n // 2. If a component is unmounted during a parent component's update,\r\n // its update can be skipped.\r\n queue.sort((a, b) => getId(a) - getId(b));\r\n // conditional usage of checkRecursiveUpdate must be determined out of\r\n // try ... catch block since Rollup by default de-optimizes treeshaking\r\n // inside try-catch. This can leave all warning code unshaked. Although\r\n // they would get eventually shaken by a minifier like terser, some minifiers\r\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\r\n const check = (process.env.NODE_ENV !== 'production')\r\n ? (job) => checkRecursiveUpdates(seen, job)\r\n : NOOP;\r\n try {\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job && job.active !== false) {\r\n if ((process.env.NODE_ENV !== 'production') && check(job)) {\r\n continue;\r\n }\r\n // console.log(`running:`, job.id)\r\n callWithErrorHandling(job, null, 14 /* SCHEDULER */);\r\n }\r\n }\r\n }\r\n finally {\r\n flushIndex = 0;\r\n queue.length = 0;\r\n flushPostFlushCbs(seen);\r\n isFlushing = false;\r\n currentFlushPromise = null;\r\n // some postFlushCb queued jobs!\r\n // keep flushing until it drains.\r\n if (queue.length ||\r\n pendingPreFlushCbs.length ||\r\n pendingPostFlushCbs.length) {\r\n flushJobs(seen);\r\n }\r\n }\r\n}\r\nfunction checkRecursiveUpdates(seen, fn) {\r\n if (!seen.has(fn)) {\r\n seen.set(fn, 1);\r\n }\r\n else {\r\n const count = seen.get(fn);\r\n if (count > RECURSION_LIMIT) {\r\n const instance = fn.ownerInstance;\r\n const componentName = instance && getComponentName(instance.type);\r\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\r\n `This means you have a reactive effect that is mutating its own ` +\r\n `dependencies and thus recursively triggering itself. Possible sources ` +\r\n `include component template, render function, updated hook or ` +\r\n `watcher source function.`);\r\n return true;\r\n }\r\n else {\r\n seen.set(fn, count + 1);\r\n }\r\n }\r\n}\n\n/* eslint-disable no-restricted-globals */\r\nlet isHmrUpdating = false;\r\nconst hmrDirtyComponents = new Set();\r\n// Expose the HMR runtime on the global object\r\n// This makes it entirely tree-shakable without polluting the exports and makes\r\n// it easier to be used in toolings like vue-loader\r\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\r\n// to be set so that its instances can be registered / removed.\r\nif ((process.env.NODE_ENV !== 'production')) {\r\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\r\n createRecord: tryWrap(createRecord),\r\n rerender: tryWrap(rerender),\r\n reload: tryWrap(reload)\r\n };\r\n}\r\nconst map = new Map();\r\nfunction registerHMR(instance) {\r\n const id = instance.type.__hmrId;\r\n let record = map.get(id);\r\n if (!record) {\r\n createRecord(id, instance.type);\r\n record = map.get(id);\r\n }\r\n record.instances.add(instance);\r\n}\r\nfunction unregisterHMR(instance) {\r\n map.get(instance.type.__hmrId).instances.delete(instance);\r\n}\r\nfunction createRecord(id, initialDef) {\r\n if (map.has(id)) {\r\n return false;\r\n }\r\n map.set(id, {\r\n initialDef: normalizeClassComponent(initialDef),\r\n instances: new Set()\r\n });\r\n return true;\r\n}\r\nfunction normalizeClassComponent(component) {\r\n return isClassComponent(component) ? component.__vccOpts : component;\r\n}\r\nfunction rerender(id, newRender) {\r\n const record = map.get(id);\r\n if (!record) {\r\n return;\r\n }\r\n // update initial record (for not-yet-rendered component)\r\n record.initialDef.render = newRender;\r\n [...record.instances].forEach(instance => {\r\n if (newRender) {\r\n instance.render = newRender;\r\n normalizeClassComponent(instance.type).render = newRender;\r\n }\r\n instance.renderCache = [];\r\n // this flag forces child components with slot content to update\r\n isHmrUpdating = true;\r\n instance.update();\r\n isHmrUpdating = false;\r\n });\r\n}\r\nfunction reload(id, newComp) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n newComp = normalizeClassComponent(newComp);\r\n // update initial def (for not-yet-rendered components)\r\n updateComponentDef(record.initialDef, newComp);\r\n // create a snapshot which avoids the set being mutated during updates\r\n const instances = [...record.instances];\r\n for (const instance of instances) {\r\n const oldComp = normalizeClassComponent(instance.type);\r\n if (!hmrDirtyComponents.has(oldComp)) {\r\n // 1. Update existing comp definition to match new one\r\n if (oldComp !== record.initialDef) {\r\n updateComponentDef(oldComp, newComp);\r\n }\r\n // 2. mark definition dirty. This forces the renderer to replace the\r\n // component on patch.\r\n hmrDirtyComponents.add(oldComp);\r\n }\r\n // 3. invalidate options resolution cache\r\n instance.appContext.optionsCache.delete(instance.type);\r\n // 4. actually update\r\n if (instance.ceReload) {\r\n // custom element\r\n hmrDirtyComponents.add(oldComp);\r\n instance.ceReload(newComp.styles);\r\n hmrDirtyComponents.delete(oldComp);\r\n }\r\n else if (instance.parent) {\r\n // 4. Force the parent instance to re-render. This will cause all updated\r\n // components to be unmounted and re-mounted. Queue the update so that we\r\n // don't end up forcing the same parent to re-render multiple times.\r\n queueJob(instance.parent.update);\r\n // instance is the inner component of an async custom element\r\n // invoke to reset styles\r\n if (instance.parent.type.__asyncLoader &&\r\n instance.parent.ceReload) {\r\n instance.parent.ceReload(newComp.styles);\r\n }\r\n }\r\n else if (instance.appContext.reload) {\r\n // root instance mounted via createApp() has a reload method\r\n instance.appContext.reload();\r\n }\r\n else if (typeof window !== 'undefined') {\r\n // root instance inside tree created via raw render(). Force reload.\r\n window.location.reload();\r\n }\r\n else {\r\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\r\n }\r\n }\r\n // 5. make sure to cleanup dirty hmr components after update\r\n queuePostFlushCb(() => {\r\n for (const instance of instances) {\r\n hmrDirtyComponents.delete(normalizeClassComponent(instance.type));\r\n }\r\n });\r\n}\r\nfunction updateComponentDef(oldComp, newComp) {\r\n extend(oldComp, newComp);\r\n for (const key in oldComp) {\r\n if (key !== '__file' && !(key in newComp)) {\r\n delete oldComp[key];\r\n }\r\n }\r\n}\r\nfunction tryWrap(fn) {\r\n return (id, arg) => {\r\n try {\r\n return fn(id, arg);\r\n }\r\n catch (e) {\r\n console.error(e);\r\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\r\n `Full reload required.`);\r\n }\r\n };\r\n}\n\nlet devtools;\r\nlet buffer = [];\r\nlet devtoolsNotInstalled = false;\r\nfunction emit(event, ...args) {\r\n if (devtools) {\r\n devtools.emit(event, ...args);\r\n }\r\n else if (!devtoolsNotInstalled) {\r\n buffer.push({ event, args });\r\n }\r\n}\r\nfunction setDevtoolsHook(hook, target) {\r\n var _a, _b;\r\n devtools = hook;\r\n if (devtools) {\r\n devtools.enabled = true;\r\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\r\n buffer = [];\r\n }\r\n else if (\r\n // handle late devtools injection - only do this if we are in an actual\r\n // browser environment to avoid the timer handle stalling test runner exit\r\n // (#4815)\r\n typeof window !== 'undefined' &&\r\n // some envs mock window but not fully\r\n window.HTMLElement &&\r\n // also exclude jsdom\r\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\r\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\r\n replay.push((newHook) => {\r\n setDevtoolsHook(newHook, target);\r\n });\r\n // clear buffer after 3s - the user probably doesn't have devtools installed\r\n // at all, and keeping the buffer will cause memory leaks (#4738)\r\n setTimeout(() => {\r\n if (!devtools) {\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n }, 3000);\r\n }\r\n else {\r\n // non-browser env, assume not installed\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n emit(\"app:init\" /* APP_INIT */, app, version, {\r\n Fragment,\r\n Text,\r\n Comment,\r\n Static\r\n });\r\n}\r\nfunction devtoolsUnmountApp(app) {\r\n emit(\"app:unmount\" /* APP_UNMOUNT */, app);\r\n}\r\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\r\nconst devtoolsComponentUpdated = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\r\nconst devtoolsComponentRemoved = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* COMPONENT_REMOVED */);\r\nfunction createDevtoolsComponentHook(hook) {\r\n return (component) => {\r\n emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\r\n };\r\n}\r\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\r\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\r\nfunction createDevtoolsPerformanceHook(hook) {\r\n return (component, type, time) => {\r\n emit(hook, component.appContext.app, component.uid, component, type, time);\r\n };\r\n}\r\nfunction devtoolsComponentEmit(component, event, params) {\r\n emit(\"component:emit\" /* COMPONENT_EMIT */, component.appContext.app, component, event, params);\r\n}\n\nfunction emit$1(instance, event, ...rawArgs) {\r\n if (instance.isUnmounted)\r\n return;\r\n const props = instance.vnode.props || EMPTY_OBJ;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\r\n if (emitsOptions) {\r\n if (!(event in emitsOptions) &&\r\n !(false )) {\r\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\r\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\r\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\r\n }\r\n }\r\n else {\r\n const validator = emitsOptions[event];\r\n if (isFunction(validator)) {\r\n const isValid = validator(...rawArgs);\r\n if (!isValid) {\r\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let args = rawArgs;\r\n const isModelListener = event.startsWith('update:');\r\n // for v-model update:xxx events, apply modifiers on args\r\n const modelArg = isModelListener && event.slice(7);\r\n if (modelArg && modelArg in props) {\r\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\r\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\r\n if (trim) {\r\n args = rawArgs.map(a => a.trim());\r\n }\r\n if (number) {\r\n args = rawArgs.map(toNumber);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentEmit(instance, event, args);\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const lowerCaseEvent = event.toLowerCase();\r\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\r\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\r\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\r\n `Note that HTML attributes are case-insensitive and you cannot use ` +\r\n `v-on to listen to camelCase events when using in-DOM templates. ` +\r\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\r\n }\r\n }\r\n let handlerName;\r\n let handler = props[(handlerName = toHandlerKey(event))] ||\r\n // also try camelCase event handler (#2249)\r\n props[(handlerName = toHandlerKey(camelize(event)))];\r\n // for v-model update:xxx events, also trigger kebab-case equivalent\r\n // for props passed via kebab-case\r\n if (!handler && isModelListener) {\r\n handler = props[(handlerName = toHandlerKey(hyphenate(event)))];\r\n }\r\n if (handler) {\r\n callWithAsyncErrorHandling(handler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n const onceHandler = props[handlerName + `Once`];\r\n if (onceHandler) {\r\n if (!instance.emitted) {\r\n instance.emitted = {};\r\n }\r\n else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n instance.emitted[handlerName] = true;\r\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.emitsCache;\r\n const cached = cache.get(comp);\r\n if (cached !== undefined) {\r\n return cached;\r\n }\r\n const raw = comp.emits;\r\n let normalized = {};\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendEmits = (raw) => {\r\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\r\n if (normalizedFromExtend) {\r\n hasExtends = true;\r\n extend(normalized, normalizedFromExtend);\r\n }\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendEmits);\r\n }\r\n if (comp.extends) {\r\n extendEmits(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendEmits);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n cache.set(comp, null);\r\n return null;\r\n }\r\n if (isArray(raw)) {\r\n raw.forEach(key => (normalized[key] = null));\r\n }\r\n else {\r\n extend(normalized, raw);\r\n }\r\n cache.set(comp, normalized);\r\n return normalized;\r\n}\r\n// Check if an incoming prop key is a declared emit event listener.\r\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\r\n// both considered matched listeners.\r\nfunction isEmitListener(options, key) {\r\n if (!options || !isOn(key)) {\r\n return false;\r\n }\r\n key = key.slice(2).replace(/Once$/, '');\r\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\r\n hasOwn(options, hyphenate(key)) ||\r\n hasOwn(options, key));\r\n}\n\n/**\r\n * mark the current rendering instance for asset resolution (e.g.\r\n * resolveComponent, resolveDirective) during render\r\n */\r\nlet currentRenderingInstance = null;\r\nlet currentScopeId = null;\r\n/**\r\n * Note: rendering calls maybe nested. The function returns the parent rendering\r\n * instance if present, which should be restored after the render is done:\r\n *\r\n * ```js\r\n * const prev = setCurrentRenderingInstance(i)\r\n * // ...render\r\n * setCurrentRenderingInstance(prev)\r\n * ```\r\n */\r\nfunction setCurrentRenderingInstance(instance) {\r\n const prev = currentRenderingInstance;\r\n currentRenderingInstance = instance;\r\n currentScopeId = (instance && instance.type.__scopeId) || null;\r\n return prev;\r\n}\r\n/**\r\n * Set scope id when creating hoisted vnodes.\r\n * @private compiler helper\r\n */\r\nfunction pushScopeId(id) {\r\n currentScopeId = id;\r\n}\r\n/**\r\n * Technically we no longer need this after 3.0.8 but we need to keep the same\r\n * API for backwards compat w/ code generated by compilers.\r\n * @private\r\n */\r\nfunction popScopeId() {\r\n currentScopeId = null;\r\n}\r\n/**\r\n * Only for backwards compat\r\n * @private\r\n */\r\nconst withScopeId = (_id) => withCtx;\r\n/**\r\n * Wrap a slot function to memoize current rendering instance\r\n * @private compiler helper\r\n */\r\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\r\n) {\r\n if (!ctx)\r\n return fn;\r\n // already normalized\r\n if (fn._n) {\r\n return fn;\r\n }\r\n const renderFnWithContext = (...args) => {\r\n // If a user calls a compiled slot inside a template expression (#1745), it\r\n // can mess up block tracking, so by default we disable block tracking and\r\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\r\n // This isn't necessary if rendering a compiled ``, so we flip the\r\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(-1);\r\n }\r\n const prevInstance = setCurrentRenderingInstance(ctx);\r\n const res = fn(...args);\r\n setCurrentRenderingInstance(prevInstance);\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(1);\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentUpdated(ctx);\r\n }\r\n return res;\r\n };\r\n // mark normalized to avoid duplicated wrapping\r\n renderFnWithContext._n = true;\r\n // mark this as compiled by default\r\n // this is used in vnode.ts -> normalizeChildren() to set the slot\r\n // rendering flag.\r\n renderFnWithContext._c = true;\r\n // disable block tracking by default\r\n renderFnWithContext._d = true;\r\n return renderFnWithContext;\r\n}\n\n/**\r\n * dev only flag to track whether $attrs was used during render.\r\n * If $attrs was used during render then the warning for failed attrs\r\n * fallthrough can be suppressed.\r\n */\r\nlet accessedAttrs = false;\r\nfunction markAttrsAccessed() {\r\n accessedAttrs = true;\r\n}\r\nfunction renderComponentRoot(instance) {\r\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\r\n let result;\r\n let fallthroughAttrs;\r\n const prev = setCurrentRenderingInstance(instance);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n accessedAttrs = false;\r\n }\r\n try {\r\n if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {\r\n // withProxy is a proxy with a different `has` trap only for\r\n // runtime-compiled render functions using `with` block.\r\n const proxyToUse = withProxy || proxy;\r\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\r\n fallthroughAttrs = attrs;\r\n }\r\n else {\r\n // functional\r\n const render = Component;\r\n // in dev, mark attrs accessed if optional props (attrs === props)\r\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\r\n markAttrsAccessed();\r\n }\r\n result = normalizeVNode(render.length > 1\r\n ? render(props, (process.env.NODE_ENV !== 'production')\r\n ? {\r\n get attrs() {\r\n markAttrsAccessed();\r\n return attrs;\r\n },\r\n slots,\r\n emit\r\n }\r\n : { attrs, slots, emit })\r\n : render(props, null /* we know it doesn't need it */));\r\n fallthroughAttrs = Component.props\r\n ? attrs\r\n : getFunctionalFallthrough(attrs);\r\n }\r\n }\r\n catch (err) {\r\n blockStack.length = 0;\r\n handleError(err, instance, 1 /* RENDER_FUNCTION */);\r\n result = createVNode(Comment);\r\n }\r\n // attr merging\r\n // in dev mode, comments are preserved, and it's possible for a template\r\n // to have comments along side the root element which makes it a fragment\r\n let root = result;\r\n let setRoot = undefined;\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n result.patchFlag > 0 &&\r\n result.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {\r\n [root, setRoot] = getChildRoot(result);\r\n }\r\n if (fallthroughAttrs && inheritAttrs !== false) {\r\n const keys = Object.keys(fallthroughAttrs);\r\n const { shapeFlag } = root;\r\n if (keys.length) {\r\n if (shapeFlag & (1 /* ELEMENT */ | 6 /* COMPONENT */)) {\r\n if (propsOptions && keys.some(isModelListener)) {\r\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\r\n // prop, it indicates this component expects to handle v-model and\r\n // it should not fallthrough.\r\n // related: #1543, #1643, #1989\r\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\r\n }\r\n root = cloneVNode(root, fallthroughAttrs);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\r\n const allAttrs = Object.keys(attrs);\r\n const eventAttrs = [];\r\n const extraAttrs = [];\r\n for (let i = 0, l = allAttrs.length; i < l; i++) {\r\n const key = allAttrs[i];\r\n if (isOn(key)) {\r\n // ignore v-model handlers when they fail to fallthrough\r\n if (!isModelListener(key)) {\r\n // remove `on`, lowercase first letter to reflect event casing\r\n // accurately\r\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\r\n }\r\n }\r\n else {\r\n extraAttrs.push(key);\r\n }\r\n }\r\n if (extraAttrs.length) {\r\n warn(`Extraneous non-props attributes (` +\r\n `${extraAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes.`);\r\n }\r\n if (eventAttrs.length) {\r\n warn(`Extraneous non-emits event listeners (` +\r\n `${eventAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes. ` +\r\n `If the listener is intended to be a component custom event listener only, ` +\r\n `declare it using the \"emits\" option.`);\r\n }\r\n }\r\n }\r\n }\r\n // inherit directives\r\n if (vnode.dirs) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Runtime directive used on component with non-element root node. ` +\r\n `The directives will not function as intended.`);\r\n }\r\n // clone before mutating since the root may be a hoisted vnode\r\n root = cloneVNode(root);\r\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\r\n }\r\n // inherit transition data\r\n if (vnode.transition) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Component inside renders non-element root node ` +\r\n `that cannot be animated.`);\r\n }\r\n root.transition = vnode.transition;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\r\n setRoot(root);\r\n }\r\n else {\r\n result = root;\r\n }\r\n setCurrentRenderingInstance(prev);\r\n return result;\r\n}\r\n/**\r\n * dev only\r\n * In dev mode, template root level comments are rendered, which turns the\r\n * template into a fragment root, but we need to locate the single element\r\n * root for attrs and scope id processing.\r\n */\r\nconst getChildRoot = (vnode) => {\r\n const rawChildren = vnode.children;\r\n const dynamicChildren = vnode.dynamicChildren;\r\n const childRoot = filterSingleRoot(rawChildren);\r\n if (!childRoot) {\r\n return [vnode, undefined];\r\n }\r\n const index = rawChildren.indexOf(childRoot);\r\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\r\n const setRoot = (updatedRoot) => {\r\n rawChildren[index] = updatedRoot;\r\n if (dynamicChildren) {\r\n if (dynamicIndex > -1) {\r\n dynamicChildren[dynamicIndex] = updatedRoot;\r\n }\r\n else if (updatedRoot.patchFlag > 0) {\r\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\r\n }\r\n }\r\n };\r\n return [normalizeVNode(childRoot), setRoot];\r\n};\r\nfunction filterSingleRoot(children) {\r\n let singleRoot;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n if (isVNode(child)) {\r\n // ignore user comment\r\n if (child.type !== Comment || child.children === 'v-if') {\r\n if (singleRoot) {\r\n // has more than 1 non-comment child, return now\r\n return;\r\n }\r\n else {\r\n singleRoot = child;\r\n }\r\n }\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n return singleRoot;\r\n}\r\nconst getFunctionalFallthrough = (attrs) => {\r\n let res;\r\n for (const key in attrs) {\r\n if (key === 'class' || key === 'style' || isOn(key)) {\r\n (res || (res = {}))[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst filterModelListeners = (attrs, props) => {\r\n const res = {};\r\n for (const key in attrs) {\r\n if (!isModelListener(key) || !(key.slice(9) in props)) {\r\n res[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst isElementRoot = (vnode) => {\r\n return (vnode.shapeFlag & (6 /* COMPONENT */ | 1 /* ELEMENT */) ||\r\n vnode.type === Comment // potential v-if branch switch\r\n );\r\n};\r\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\r\n const { props: prevProps, children: prevChildren, component } = prevVNode;\r\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\r\n const emits = component.emitsOptions;\r\n // Parent component's render function was hot-updated. Since this may have\r\n // caused the child component's slots content to have changed, we need to\r\n // force the child to update as well.\r\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\r\n return true;\r\n }\r\n // force child update for runtime directive or transition on component vnode.\r\n if (nextVNode.dirs || nextVNode.transition) {\r\n return true;\r\n }\r\n if (optimized && patchFlag >= 0) {\r\n if (patchFlag & 1024 /* DYNAMIC_SLOTS */) {\r\n // slot content that references values that might have changed,\r\n // e.g. in a v-for\r\n return true;\r\n }\r\n if (patchFlag & 16 /* FULL_PROPS */) {\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n // presence of this flag indicates props are always non-null\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n else if (patchFlag & 8 /* PROPS */) {\r\n const dynamicProps = nextVNode.dynamicProps;\r\n for (let i = 0; i < dynamicProps.length; i++) {\r\n const key = dynamicProps[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emits, key)) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // this path is only taken by manually written render functions\r\n // so presence of any children leads to a forced update\r\n if (prevChildren || nextChildren) {\r\n if (!nextChildren || !nextChildren.$stable) {\r\n return true;\r\n }\r\n }\r\n if (prevProps === nextProps) {\r\n return false;\r\n }\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n if (!nextProps) {\r\n return true;\r\n }\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n return false;\r\n}\r\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\r\n const nextKeys = Object.keys(nextProps);\r\n if (nextKeys.length !== Object.keys(prevProps).length) {\r\n return true;\r\n }\r\n for (let i = 0; i < nextKeys.length; i++) {\r\n const key = nextKeys[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emitsOptions, key)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\r\n) {\r\n while (parent && parent.subTree === vnode) {\r\n (vnode = parent.vnode).el = el;\r\n parent = parent.parent;\r\n }\r\n}\n\nconst isSuspense = (type) => type.__isSuspense;\r\n// Suspense exposes a component-like API, and is treated like a component\r\n// in the compiler, but internally it's a special built-in type that hooks\r\n// directly into the renderer.\r\nconst SuspenseImpl = {\r\n name: 'Suspense',\r\n // In order to make Suspense tree-shakable, we need to avoid importing it\r\n // directly in the renderer. The renderer checks for the __isSuspense flag\r\n // on a vnode's type and calls the `process` method, passing in renderer\r\n // internals.\r\n __isSuspense: true,\r\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \r\n // platform-specific impl passed from renderer\r\n rendererInternals) {\r\n if (n1 == null) {\r\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n else {\r\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n },\r\n hydrate: hydrateSuspense,\r\n create: createSuspenseBoundary,\r\n normalize: normalizeSuspenseChildren\r\n};\r\n// Force-casted public typing for h and TSX props inference\r\nconst Suspense = (SuspenseImpl );\r\nfunction triggerEvent(vnode, name) {\r\n const eventListener = vnode.props && vnode.props[name];\r\n if (isFunction(eventListener)) {\r\n eventListener();\r\n }\r\n}\r\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\r\n const { p: patch, o: { createElement } } = rendererInternals;\r\n const hiddenContainer = createElement('div');\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\r\n // start mounting the content subtree in an off-dom container\r\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\r\n // now check if we have encountered any async deps\r\n if (suspense.deps > 0) {\r\n // has async\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onPending');\r\n triggerEvent(vnode, 'onFallback');\r\n // mount the fallback tree\r\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds);\r\n setActiveBranch(suspense, vnode.ssFallback);\r\n }\r\n else {\r\n // Suspense has no async deps. Just resolve.\r\n suspense.resolve();\r\n }\r\n}\r\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\r\n const suspense = (n2.suspense = n1.suspense);\r\n suspense.vnode = n2;\r\n n2.el = n1.el;\r\n const newBranch = n2.ssContent;\r\n const newFallback = n2.ssFallback;\r\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\r\n if (pendingBranch) {\r\n suspense.pendingBranch = newBranch;\r\n if (isSameVNodeType(newBranch, pendingBranch)) {\r\n // same root type but content may have changed.\r\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else if (isInFallback) {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else {\r\n // toggled before pending tree is resolved\r\n suspense.pendingId++;\r\n if (isHydrating) {\r\n // if toggled before hydration is finished, the current DOM tree is\r\n // no longer valid. set it as the active branch so it will be unmounted\r\n // when resolved\r\n suspense.isHydrating = false;\r\n suspense.activeBranch = pendingBranch;\r\n }\r\n else {\r\n unmount(pendingBranch, parentComponent, suspense);\r\n }\r\n // increment pending ID. this is used to invalidate async callbacks\r\n // reset suspense state\r\n suspense.deps = 0;\r\n // discard effects from pending branch\r\n suspense.effects.length = 0;\r\n // discard previous container\r\n suspense.hiddenContainer = createElement('div');\r\n if (isInFallback) {\r\n // already in fallback state\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // toggled \"back\" to current active branch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n // force resolve\r\n suspense.resolve(true);\r\n }\r\n else {\r\n // switched to a 3rd branch\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // root did not change, just normal patch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newBranch);\r\n }\r\n else {\r\n // root node toggled\r\n // invoke @pending event\r\n triggerEvent(n2, 'onPending');\r\n // mount pending branch in off-dom container\r\n suspense.pendingBranch = newBranch;\r\n suspense.pendingId++;\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n // incoming branch has no async deps, resolve now.\r\n suspense.resolve();\r\n }\r\n else {\r\n const { timeout, pendingId } = suspense;\r\n if (timeout > 0) {\r\n setTimeout(() => {\r\n if (suspense.pendingId === pendingId) {\r\n suspense.fallback(newFallback);\r\n }\r\n }, timeout);\r\n }\r\n else if (timeout === 0) {\r\n suspense.fallback(newFallback);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nlet hasWarned = false;\r\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\r\n /* istanbul ignore if */\r\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\r\n hasWarned = true;\r\n // @ts-ignore `console.info` cannot be null error\r\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\r\n }\r\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\r\n const timeout = toNumber(vnode.props && vnode.props.timeout);\r\n const suspense = {\r\n vnode,\r\n parent,\r\n parentComponent,\r\n isSVG,\r\n container,\r\n hiddenContainer,\r\n anchor,\r\n deps: 0,\r\n pendingId: 0,\r\n timeout: typeof timeout === 'number' ? timeout : -1,\r\n activeBranch: null,\r\n pendingBranch: null,\r\n isInFallback: true,\r\n isHydrating,\r\n isUnmounted: false,\r\n effects: [],\r\n resolve(resume = false) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (!resume && !suspense.pendingBranch) {\r\n throw new Error(`suspense.resolve() is called without a pending branch.`);\r\n }\r\n if (suspense.isUnmounted) {\r\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\r\n }\r\n }\r\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\r\n if (suspense.isHydrating) {\r\n suspense.isHydrating = false;\r\n }\r\n else if (!resume) {\r\n const delayEnter = activeBranch &&\r\n pendingBranch.transition &&\r\n pendingBranch.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = () => {\r\n if (pendingId === suspense.pendingId) {\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n };\r\n }\r\n // this is initial anchor on mount\r\n let { anchor } = suspense;\r\n // unmount current active tree\r\n if (activeBranch) {\r\n // if the fallback tree was mounted, it may have been moved\r\n // as part of a parent suspense. get the latest anchor for insertion\r\n anchor = next(activeBranch);\r\n unmount(activeBranch, parentComponent, suspense, true);\r\n }\r\n if (!delayEnter) {\r\n // move content from off-dom container to actual container\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n }\r\n setActiveBranch(suspense, pendingBranch);\r\n suspense.pendingBranch = null;\r\n suspense.isInFallback = false;\r\n // flush buffered effects\r\n // check if there is a pending parent suspense\r\n let parent = suspense.parent;\r\n let hasUnresolvedAncestor = false;\r\n while (parent) {\r\n if (parent.pendingBranch) {\r\n // found a pending parent suspense, merge buffered post jobs\r\n // into that parent\r\n parent.effects.push(...effects);\r\n hasUnresolvedAncestor = true;\r\n break;\r\n }\r\n parent = parent.parent;\r\n }\r\n // no pending parent suspense, flush all jobs\r\n if (!hasUnresolvedAncestor) {\r\n queuePostFlushCb(effects);\r\n }\r\n suspense.effects = [];\r\n // invoke @resolve event\r\n triggerEvent(vnode, 'onResolve');\r\n },\r\n fallback(fallbackVNode) {\r\n if (!suspense.pendingBranch) {\r\n return;\r\n }\r\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onFallback');\r\n const anchor = next(activeBranch);\r\n const mountFallback = () => {\r\n if (!suspense.isInFallback) {\r\n return;\r\n }\r\n // mount the fallback tree\r\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, fallbackVNode);\r\n };\r\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = mountFallback;\r\n }\r\n suspense.isInFallback = true;\r\n // unmount current active branch\r\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\r\n true // shouldRemove\r\n );\r\n if (!delayEnter) {\r\n mountFallback();\r\n }\r\n },\r\n move(container, anchor, type) {\r\n suspense.activeBranch &&\r\n move(suspense.activeBranch, container, anchor, type);\r\n suspense.container = container;\r\n },\r\n next() {\r\n return suspense.activeBranch && next(suspense.activeBranch);\r\n },\r\n registerDep(instance, setupRenderEffect) {\r\n const isInPendingSuspense = !!suspense.pendingBranch;\r\n if (isInPendingSuspense) {\r\n suspense.deps++;\r\n }\r\n const hydratedEl = instance.vnode.el;\r\n instance\r\n .asyncDep.catch(err => {\r\n handleError(err, instance, 0 /* SETUP_FUNCTION */);\r\n })\r\n .then(asyncSetupResult => {\r\n // retry when the setup() promise resolves.\r\n // component may have been unmounted before resolve.\r\n if (instance.isUnmounted ||\r\n suspense.isUnmounted ||\r\n suspense.pendingId !== instance.suspenseId) {\r\n return;\r\n }\r\n // retry from this component\r\n instance.asyncResolved = true;\r\n const { vnode } = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n pushWarningContext(vnode);\r\n }\r\n handleSetupResult(instance, asyncSetupResult, false);\r\n if (hydratedEl) {\r\n // vnode may have been replaced if an update happened before the\r\n // async dep is resolved.\r\n vnode.el = hydratedEl;\r\n }\r\n const placeholder = !hydratedEl && instance.subTree.el;\r\n setupRenderEffect(instance, vnode, \r\n // component may have been moved before resolve.\r\n // if this is not a hydration, instance.subTree will be the comment\r\n // placeholder.\r\n parentNode(hydratedEl || instance.subTree.el), \r\n // anchor will not be used if this is hydration, so only need to\r\n // consider the comment placeholder case.\r\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\r\n if (placeholder) {\r\n remove(placeholder);\r\n }\r\n updateHOCHostEl(instance, vnode.el);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n popWarningContext();\r\n }\r\n // only decrease deps count if suspense is not already resolved\r\n if (isInPendingSuspense && --suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n });\r\n },\r\n unmount(parentSuspense, doRemove) {\r\n suspense.isUnmounted = true;\r\n if (suspense.activeBranch) {\r\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n if (suspense.pendingBranch) {\r\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n }\r\n };\r\n return suspense;\r\n}\r\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\r\n /* eslint-disable no-restricted-globals */\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\r\n // there are two possible scenarios for server-rendered suspense:\r\n // - success: ssr content should be fully resolved\r\n // - failure: ssr content should be the fallback branch.\r\n // however, on the client we don't really know if it has failed or not\r\n // attempt to hydrate the DOM assuming it has succeeded, but we still\r\n // need to construct a suspense boundary first\r\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\r\n if (suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n return result;\r\n /* eslint-enable no-restricted-globals */\r\n}\r\nfunction normalizeSuspenseChildren(vnode) {\r\n const { shapeFlag, children } = vnode;\r\n const isSlotChildren = shapeFlag & 32 /* SLOTS_CHILDREN */;\r\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\r\n vnode.ssFallback = isSlotChildren\r\n ? normalizeSuspenseSlot(children.fallback)\r\n : createVNode(Comment);\r\n}\r\nfunction normalizeSuspenseSlot(s) {\r\n let block;\r\n if (isFunction(s)) {\r\n const trackBlock = isBlockTreeEnabled && s._c;\r\n if (trackBlock) {\r\n // disableTracking: false\r\n // allow block tracking for compiled slots\r\n // (see ./componentRenderContext.ts)\r\n s._d = false;\r\n openBlock();\r\n }\r\n s = s();\r\n if (trackBlock) {\r\n s._d = true;\r\n block = currentBlock;\r\n closeBlock();\r\n }\r\n }\r\n if (isArray(s)) {\r\n const singleChild = filterSingleRoot(s);\r\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\r\n warn(` slots expect a single root node.`);\r\n }\r\n s = singleChild;\r\n }\r\n s = normalizeVNode(s);\r\n if (block && !s.dynamicChildren) {\r\n s.dynamicChildren = block.filter(c => c !== s);\r\n }\r\n return s;\r\n}\r\nfunction queueEffectWithSuspense(fn, suspense) {\r\n if (suspense && suspense.pendingBranch) {\r\n if (isArray(fn)) {\r\n suspense.effects.push(...fn);\r\n }\r\n else {\r\n suspense.effects.push(fn);\r\n }\r\n }\r\n else {\r\n queuePostFlushCb(fn);\r\n }\r\n}\r\nfunction setActiveBranch(suspense, branch) {\r\n suspense.activeBranch = branch;\r\n const { vnode, parentComponent } = suspense;\r\n const el = (vnode.el = branch.el);\r\n // in case suspense is the root node of a component,\r\n // recursively update the HOC el\r\n if (parentComponent && parentComponent.subTree === vnode) {\r\n parentComponent.vnode.el = el;\r\n updateHOCHostEl(parentComponent, el);\r\n }\r\n}\n\nfunction provide(key, value) {\r\n if (!currentInstance) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`provide() can only be used inside setup().`);\r\n }\r\n }\r\n else {\r\n let provides = currentInstance.provides;\r\n // by default an instance inherits its parent's provides object\r\n // but when it needs to provide values of its own, it creates its\r\n // own provides object using parent provides object as prototype.\r\n // this way in `inject` we can simply look up injections from direct\r\n // parent and let the prototype chain do the work.\r\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\r\n if (parentProvides === provides) {\r\n provides = currentInstance.provides = Object.create(parentProvides);\r\n }\r\n // TS doesn't allow symbol as index type\r\n provides[key] = value;\r\n }\r\n}\r\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\r\n // fallback to `currentRenderingInstance` so that this can be called in\r\n // a functional component\r\n const instance = currentInstance || currentRenderingInstance;\r\n if (instance) {\r\n // #2400\r\n // to support `app.use` plugins,\r\n // fallback to appContext's `provides` if the instance is at root\r\n const provides = instance.parent == null\r\n ? instance.vnode.appContext && instance.vnode.appContext.provides\r\n : instance.parent.provides;\r\n if (provides && key in provides) {\r\n // TS doesn't allow symbol as index type\r\n return provides[key];\r\n }\r\n else if (arguments.length > 1) {\r\n return treatDefaultAsFactory && isFunction(defaultValue)\r\n ? defaultValue.call(instance.proxy)\r\n : defaultValue;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`injection \"${String(key)}\" not found.`);\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`inject() can only be used inside setup() or functional components.`);\r\n }\r\n}\n\n// Simple effect.\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\nfunction watchPostEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'post' }) : { flush: 'post' }));\r\n}\r\nfunction watchSyncEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));\r\n}\r\n// initial value for watchers to trigger on undefined initial values\r\nconst INITIAL_WATCHER_VALUE = {};\r\n// implementation\r\nfunction watch(source, cb, options) {\r\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\r\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\r\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\r\n `supports \\`watch(source, cb, options?) signature.`);\r\n }\r\n return doWatch(source, cb, options);\r\n}\r\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\r\n if ((process.env.NODE_ENV !== 'production') && !cb) {\r\n if (immediate !== undefined) {\r\n warn(`watch() \"immediate\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n if (deep !== undefined) {\r\n warn(`watch() \"deep\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n }\r\n const warnInvalidSource = (s) => {\r\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\r\n `a reactive object, or an array of these types.`);\r\n };\r\n const instance = currentInstance;\r\n let getter;\r\n let forceTrigger = false;\r\n let isMultiSource = false;\r\n if (isRef(source)) {\r\n getter = () => source.value;\r\n forceTrigger = isShallow$1(source);\r\n }\r\n else if (isReactive(source)) {\r\n getter = () => source;\r\n deep = true;\r\n }\r\n else if (isArray(source)) {\r\n isMultiSource = true;\r\n forceTrigger = source.some(s => isReactive(s) || isShallow$1(s));\r\n getter = () => source.map(s => {\r\n if (isRef(s)) {\r\n return s.value;\r\n }\r\n else if (isReactive(s)) {\r\n return traverse(s);\r\n }\r\n else if (isFunction(s)) {\r\n return callWithErrorHandling(s, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\r\n }\r\n });\r\n }\r\n else if (isFunction(source)) {\r\n if (cb) {\r\n // getter with cb\r\n getter = () => callWithErrorHandling(source, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n // no cb -> simple effect\r\n getter = () => {\r\n if (instance && instance.isUnmounted) {\r\n return;\r\n }\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n return callWithAsyncErrorHandling(source, instance, 3 /* WATCH_CALLBACK */, [onCleanup]);\r\n };\r\n }\r\n }\r\n else {\r\n getter = NOOP;\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\r\n }\r\n if (cb && deep) {\r\n const baseGetter = getter;\r\n getter = () => traverse(baseGetter());\r\n }\r\n let cleanup;\r\n let onCleanup = (fn) => {\r\n cleanup = effect.onStop = () => {\r\n callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);\r\n };\r\n };\r\n // in SSR there is no need to setup an actual effect, and it should be noop\r\n // unless it's eager\r\n if (isInSSRComponentSetup) {\r\n // we will also not call the invalidate callback (+ runner is not set up)\r\n onCleanup = NOOP;\r\n if (!cb) {\r\n getter();\r\n }\r\n else if (immediate) {\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n getter(),\r\n isMultiSource ? [] : undefined,\r\n onCleanup\r\n ]);\r\n }\r\n return NOOP;\r\n }\r\n let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\r\n const job = () => {\r\n if (!effect.active) {\r\n return;\r\n }\r\n if (cb) {\r\n // watch(source, cb)\r\n const newValue = effect.run();\r\n if (deep ||\r\n forceTrigger ||\r\n (isMultiSource\r\n ? newValue.some((v, i) => hasChanged(v, oldValue[i]))\r\n : hasChanged(newValue, oldValue)) ||\r\n (false )) {\r\n // cleanup before running cb again\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n newValue,\r\n // pass undefined as the old value when it's changed for the first time\r\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\r\n onCleanup\r\n ]);\r\n oldValue = newValue;\r\n }\r\n }\r\n else {\r\n // watchEffect\r\n effect.run();\r\n }\r\n };\r\n // important: mark the job as a watcher callback so that scheduler knows\r\n // it is allowed to self-trigger (#1727)\r\n job.allowRecurse = !!cb;\r\n let scheduler;\r\n if (flush === 'sync') {\r\n scheduler = job; // the scheduler function gets called directly\r\n }\r\n else if (flush === 'post') {\r\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\r\n }\r\n else {\r\n // default: 'pre'\r\n scheduler = () => queuePreFlushCb(job);\r\n }\r\n const effect = new ReactiveEffect(getter, scheduler);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n effect.onTrack = onTrack;\r\n effect.onTrigger = onTrigger;\r\n }\r\n // initial run\r\n if (cb) {\r\n if (immediate) {\r\n job();\r\n }\r\n else {\r\n oldValue = effect.run();\r\n }\r\n }\r\n else if (flush === 'post') {\r\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\r\n }\r\n else {\r\n effect.run();\r\n }\r\n return () => {\r\n effect.stop();\r\n if (instance && instance.scope) {\r\n remove(instance.scope.effects, effect);\r\n }\r\n };\r\n}\r\n// this.$watch\r\nfunction instanceWatch(source, value, options) {\r\n const publicThis = this.proxy;\r\n const getter = isString(source)\r\n ? source.includes('.')\r\n ? createPathGetter(publicThis, source)\r\n : () => publicThis[source]\r\n : source.bind(publicThis, publicThis);\r\n let cb;\r\n if (isFunction(value)) {\r\n cb = value;\r\n }\r\n else {\r\n cb = value.handler;\r\n options = value;\r\n }\r\n const cur = currentInstance;\r\n setCurrentInstance(this);\r\n const res = doWatch(getter, cb.bind(publicThis), options);\r\n if (cur) {\r\n setCurrentInstance(cur);\r\n }\r\n else {\r\n unsetCurrentInstance();\r\n }\r\n return res;\r\n}\r\nfunction createPathGetter(ctx, path) {\r\n const segments = path.split('.');\r\n return () => {\r\n let cur = ctx;\r\n for (let i = 0; i < segments.length && cur; i++) {\r\n cur = cur[segments[i]];\r\n }\r\n return cur;\r\n };\r\n}\r\nfunction traverse(value, seen) {\r\n if (!isObject(value) || value[\"__v_skip\" /* SKIP */]) {\r\n return value;\r\n }\r\n seen = seen || new Set();\r\n if (seen.has(value)) {\r\n return value;\r\n }\r\n seen.add(value);\r\n if (isRef(value)) {\r\n traverse(value.value, seen);\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n traverse(value[i], seen);\r\n }\r\n }\r\n else if (isSet(value) || isMap(value)) {\r\n value.forEach((v) => {\r\n traverse(v, seen);\r\n });\r\n }\r\n else if (isPlainObject(value)) {\r\n for (const key in value) {\r\n traverse(value[key], seen);\r\n }\r\n }\r\n return value;\r\n}\n\nfunction useTransitionState() {\r\n const state = {\r\n isMounted: false,\r\n isLeaving: false,\r\n isUnmounting: false,\r\n leavingVNodes: new Map()\r\n };\r\n onMounted(() => {\r\n state.isMounted = true;\r\n });\r\n onBeforeUnmount(() => {\r\n state.isUnmounting = true;\r\n });\r\n return state;\r\n}\r\nconst TransitionHookValidator = [Function, Array];\r\nconst BaseTransitionImpl = {\r\n name: `BaseTransition`,\r\n props: {\r\n mode: String,\r\n appear: Boolean,\r\n persisted: Boolean,\r\n // enter\r\n onBeforeEnter: TransitionHookValidator,\r\n onEnter: TransitionHookValidator,\r\n onAfterEnter: TransitionHookValidator,\r\n onEnterCancelled: TransitionHookValidator,\r\n // leave\r\n onBeforeLeave: TransitionHookValidator,\r\n onLeave: TransitionHookValidator,\r\n onAfterLeave: TransitionHookValidator,\r\n onLeaveCancelled: TransitionHookValidator,\r\n // appear\r\n onBeforeAppear: TransitionHookValidator,\r\n onAppear: TransitionHookValidator,\r\n onAfterAppear: TransitionHookValidator,\r\n onAppearCancelled: TransitionHookValidator\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n const state = useTransitionState();\r\n let prevTransitionKey;\r\n return () => {\r\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\r\n if (!children || !children.length) {\r\n return;\r\n }\r\n let child = children[0];\r\n if (children.length > 1) {\r\n let hasFound = false;\r\n // locate first non-comment child\r\n for (const c of children) {\r\n if (c.type !== Comment) {\r\n if ((process.env.NODE_ENV !== 'production') && hasFound) {\r\n // warn more than one non-comment child\r\n warn(' can only be used on a single element or component. ' +\r\n 'Use for lists.');\r\n break;\r\n }\r\n child = c;\r\n hasFound = true;\r\n if (!(process.env.NODE_ENV !== 'production'))\r\n break;\r\n }\r\n }\r\n }\r\n // there's no need to track reactivity for these props so use the raw\r\n // props for a bit better perf\r\n const rawProps = toRaw(props);\r\n const { mode } = rawProps;\r\n // check mode\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n mode &&\r\n mode !== 'in-out' &&\r\n mode !== 'out-in' &&\r\n mode !== 'default') {\r\n warn(`invalid mode: ${mode}`);\r\n }\r\n if (state.isLeaving) {\r\n return emptyPlaceholder(child);\r\n }\r\n // in the case of , we need to\r\n // compare the type of the kept-alive children.\r\n const innerChild = getKeepAliveChild(child);\r\n if (!innerChild) {\r\n return emptyPlaceholder(child);\r\n }\r\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\r\n setTransitionHooks(innerChild, enterHooks);\r\n const oldChild = instance.subTree;\r\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\r\n let transitionKeyChanged = false;\r\n const { getTransitionKey } = innerChild.type;\r\n if (getTransitionKey) {\r\n const key = getTransitionKey();\r\n if (prevTransitionKey === undefined) {\r\n prevTransitionKey = key;\r\n }\r\n else if (key !== prevTransitionKey) {\r\n prevTransitionKey = key;\r\n transitionKeyChanged = true;\r\n }\r\n }\r\n // handle mode\r\n if (oldInnerChild &&\r\n oldInnerChild.type !== Comment &&\r\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\r\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\r\n // update old tree's hooks in case of dynamic transition\r\n setTransitionHooks(oldInnerChild, leavingHooks);\r\n // switching between different views\r\n if (mode === 'out-in') {\r\n state.isLeaving = true;\r\n // return placeholder node and queue update when leave finishes\r\n leavingHooks.afterLeave = () => {\r\n state.isLeaving = false;\r\n instance.update();\r\n };\r\n return emptyPlaceholder(child);\r\n }\r\n else if (mode === 'in-out' && innerChild.type !== Comment) {\r\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\r\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\r\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\r\n // early removal callback\r\n el._leaveCb = () => {\r\n earlyRemove();\r\n el._leaveCb = undefined;\r\n delete enterHooks.delayedLeave;\r\n };\r\n enterHooks.delayedLeave = delayedLeave;\r\n };\r\n }\r\n }\r\n return child;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst BaseTransition = BaseTransitionImpl;\r\nfunction getLeavingNodesForType(state, vnode) {\r\n const { leavingVNodes } = state;\r\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\r\n if (!leavingVNodesCache) {\r\n leavingVNodesCache = Object.create(null);\r\n leavingVNodes.set(vnode.type, leavingVNodesCache);\r\n }\r\n return leavingVNodesCache;\r\n}\r\n// The transition hooks are attached to the vnode as vnode.transition\r\n// and will be called at appropriate timing in the renderer.\r\nfunction resolveTransitionHooks(vnode, props, state, instance) {\r\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\r\n const key = String(vnode.key);\r\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\r\n const callHook = (hook, args) => {\r\n hook &&\r\n callWithAsyncErrorHandling(hook, instance, 9 /* TRANSITION_HOOK */, args);\r\n };\r\n const callAsyncHook = (hook, args) => {\r\n const done = args[1];\r\n callHook(hook, args);\r\n if (isArray(hook)) {\r\n if (hook.every(hook => hook.length <= 1))\r\n done();\r\n }\r\n else if (hook.length <= 1) {\r\n done();\r\n }\r\n };\r\n const hooks = {\r\n mode,\r\n persisted,\r\n beforeEnter(el) {\r\n let hook = onBeforeEnter;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onBeforeAppear || onBeforeEnter;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n // for same element (v-show)\r\n if (el._leaveCb) {\r\n el._leaveCb(true /* cancelled */);\r\n }\r\n // for toggled element with same key (v-if)\r\n const leavingVNode = leavingVNodesCache[key];\r\n if (leavingVNode &&\r\n isSameVNodeType(vnode, leavingVNode) &&\r\n leavingVNode.el._leaveCb) {\r\n // force early removal (not cancelled)\r\n leavingVNode.el._leaveCb();\r\n }\r\n callHook(hook, [el]);\r\n },\r\n enter(el) {\r\n let hook = onEnter;\r\n let afterHook = onAfterEnter;\r\n let cancelHook = onEnterCancelled;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onAppear || onEnter;\r\n afterHook = onAfterAppear || onAfterEnter;\r\n cancelHook = onAppearCancelled || onEnterCancelled;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n let called = false;\r\n const done = (el._enterCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n if (cancelled) {\r\n callHook(cancelHook, [el]);\r\n }\r\n else {\r\n callHook(afterHook, [el]);\r\n }\r\n if (hooks.delayedLeave) {\r\n hooks.delayedLeave();\r\n }\r\n el._enterCb = undefined;\r\n });\r\n if (hook) {\r\n callAsyncHook(hook, [el, done]);\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n leave(el, remove) {\r\n const key = String(vnode.key);\r\n if (el._enterCb) {\r\n el._enterCb(true /* cancelled */);\r\n }\r\n if (state.isUnmounting) {\r\n return remove();\r\n }\r\n callHook(onBeforeLeave, [el]);\r\n let called = false;\r\n const done = (el._leaveCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n remove();\r\n if (cancelled) {\r\n callHook(onLeaveCancelled, [el]);\r\n }\r\n else {\r\n callHook(onAfterLeave, [el]);\r\n }\r\n el._leaveCb = undefined;\r\n if (leavingVNodesCache[key] === vnode) {\r\n delete leavingVNodesCache[key];\r\n }\r\n });\r\n leavingVNodesCache[key] = vnode;\r\n if (onLeave) {\r\n callAsyncHook(onLeave, [el, done]);\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n clone(vnode) {\r\n return resolveTransitionHooks(vnode, props, state, instance);\r\n }\r\n };\r\n return hooks;\r\n}\r\n// the placeholder really only handles one special case: KeepAlive\r\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\r\n// placeholder with empty content to avoid the KeepAlive instance from being\r\n// unmounted.\r\nfunction emptyPlaceholder(vnode) {\r\n if (isKeepAlive(vnode)) {\r\n vnode = cloneVNode(vnode);\r\n vnode.children = null;\r\n return vnode;\r\n }\r\n}\r\nfunction getKeepAliveChild(vnode) {\r\n return isKeepAlive(vnode)\r\n ? vnode.children\r\n ? vnode.children[0]\r\n : undefined\r\n : vnode;\r\n}\r\nfunction setTransitionHooks(vnode, hooks) {\r\n if (vnode.shapeFlag & 6 /* COMPONENT */ && vnode.component) {\r\n setTransitionHooks(vnode.component.subTree, hooks);\r\n }\r\n else if (vnode.shapeFlag & 128 /* SUSPENSE */) {\r\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\r\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\r\n }\r\n else {\r\n vnode.transition = hooks;\r\n }\r\n}\r\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\r\n let ret = [];\r\n let keyedFragmentCount = 0;\r\n for (let i = 0; i < children.length; i++) {\r\n let child = children[i];\r\n // #5360 inherit parent key in case of