{"version":3,"mappings":"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","names":["makeMap","str","map","Object","create","key","split","val","doc","win","docEl","documentElement","resizeEvt","window","recalc","clientWidth","style","fontSize","addEventListener","document","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","isOn","charCodeAt","isModelListener","startsWith","extend","assign","remove","arr","el","i","indexOf","splice","hasOwnProperty","prototype","hasOwn","call","isArray","Array","isMap","toTypeString","isSet","isDate","isFunction","isString","isSymbol","isObject","isPromise","then","catch","objectToString","toString","value","toRawType","slice","isPlainObject","isIntegerKey","parseInt","isReservedProp","cacheStringFunction","fn","cache","camelizeRE","camelize","replace","_","c","toUpperCase","hyphenateRE","hyphenate","toLowerCase","capitalize","charAt","toHandlerKey","hasChanged","oldValue","is","invokeArrayFns","fns","arg","length","def","obj","writable","defineProperty","configurable","enumerable","looseToNumber","n","parseFloat","isNaN","toNumber","Number","NaN","_globalThis","getGlobalThis","globalThis","self","global","normalizeStyle","res","item","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","ret","forEach","tmp","trim","stringifyStyle","styles","normalizeClass","name","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","looseCompareArrays","a","b","equal","looseEqual","aValidType","bValidType","getTime","keys","aHasKey","bHasKey","String","looseIndexOf","findIndex","isRef","toDisplayString","JSON","stringify","replacer","_key","size","entries","reduce","val2","stringifySymbol","values","v","_a","description","activeEffectScope","activeSub","EffectScope","detached","this","_active","effects","cleanups","_isPaused","parent","index","scopes","push","active","l","pause","resume","currentEffectScope","on","off","fromParent","stop","last","pop","effectScope","getCurrentScope","onScopeDispose","failSilently","pausedQueueEffects","WeakSet","ReactiveEffect","deps","depsTail","flags","next","cleanup","scheduler","has","delete","trigger","notify","batch","cleanupEffect","prepareDeps","prevEffect","prevShouldTrack","shouldTrack","cleanupDeps","link","nextDep","removeSub","onStop","add","runIfDirty","isDirty","run","dirty","batchDepth","batchedSub","batchedComputed","sub","isComputed","startBatch","endBatch","e","error","err","version","prevActiveLink","dep","activeLink","head","tail","prev","prevDep","removeDep","computed","refreshComputed","_dirty","globalVersion","isSSR","prevSub","_value","soft","nextSub","subs","sc","trackStack","pauseTracking","resetTracking","Link","Dep","debugInfo","addSub","currentTail","targetMap","WeakMap","ITERATE_KEY","Symbol","MAP_KEY_ITERATE_KEY","ARRAY_ITERATE_KEY","track","target","type","depsMap","get","set","Map","newValue","oldTarget","targetIsArray","isArrayIndex","newLength","key2","getDepFromReactive","object","depMap","reactiveReadArray","array","raw","toRaw","isShallow","toReactive","shallowReadArray","arrayInstrumentations","__proto__","iterator","args","concat","x","thisArg","apply","arguments","searchProxy","separator","join","noTracking","shift","toReversed","comparer","toSorted","toSpliced","method","wrapValue","iter","_next","result","arrayProto","wrappedRetFn","needsWrap","methodFn","result2","wrappedFn","acc","isProxy","isNonTrackableKeys","builtInSymbols","Set","getOwnPropertyNames","filter","BaseReactiveHandler","_isReadonly","_isShallow","receiver","isReadonly2","isShallow2","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","getPrototypeOf","Reflect","readonly","reactive","MutableReactiveHandler","super","isOldValueReadonly","isReadonly","hadKey","deleteProperty","ownKeys","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","shallowReadonlyHandlers","toShallow","getProto","createIterableMethod","rawTarget","targetIsMap","isPair","isKeyOnly","innerIterator","wrap","toReadonly","done","t","createReadonlyMethod","createInstrumentations","shallow","instrumentations","rawKey","callback","observed","clear","hadItems","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","shallowReadonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","isExtensible","createReactiveObject","shallowReactive","shallowReadonly","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","proxy","Proxy","isReactive","markRaw","r","ref","createRef","shallowRef","rawValue","RefImpl","_rawValue","useDirectValue","unref","ref2","shallowUnwrapHandlers","proxyRefs","objectWithRefs","toRefs","propertyToRef","ObjectRefImpl","_object","_defaultValue","newVal","source","defaultValue","ComputedRefImpl","setter","__v_isRef","effect","getterOrOptions","debugOptions","getter","INITIAL_WATCHER_VALUE","cleanupMap","activeWatcher","onWatcherCleanup","cleanupFn","owner","watch","cb","options","immediate","deep","once","augmentJob","reactiveGetter","source2","traverse","boundCleanup","forceTrigger","isMultiSource","some","s","currentEffect","baseGetter","depth","Infinity","scope","watchHandle","_cb","fill","job","immediateFirstRun","currentWatcher","cleanup2","bind","seen","getOwnPropertySymbols","propertyIsEnumerable","stack","isWarning","warn$1","msg","instance","component","appWarnHandler","appContext","config","warnHandler","trace","getComponentTrace","callWithErrorHandling","_b","vnode","formatComponentName","warnArgs","formatTrace","console","warn","currentVNode","normalizedStack","recurseCount","parentInstance","logs","entry","formatTraceEntry","postfix","isRoot","open","close","props","formatProps","formatProp","handleError","callWithAsyncErrorHandling","throwInDev","contextVNode","errorHandler","throwUnhandledErrorInProduction","cur","exposedInstance","errorInfo","errorCapturedHooks","ec","logError","throwInProd","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","resolve","currentFlushPromise","nextTick","p","findInsertionIndex","id","start","end","middle","middleJob","middleJobId","getId","queueJob","jobId","lastJob","queueFlush","flushJobs","queuePostFlushCb","flushPreFlushCbs","uid","flushPostFlushCbs","deduped","sort","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","__scopeId","withCtx","ctx","isNonScopedSlot","_n","renderFnWithContext","_d","setBlockTracking","prevInstance","_c","withDirectives","directives","getComponentPublicInstance","bindings","dirs","dir","modifiers","mounted","updated","invokeDirectiveHook","prevVNode","oldBindings","binding","hook","TeleportEndKey","isTeleport","__isTeleport","isTeleportDisabled","disabled","isTeleportDeferred","defer","isTargetSVG","SVGElement","isTargetMathML","MathMLElement","resolveTarget","select","targetSelector","to","TeleportImpl","n1","n2","container","anchor","parentComponent","parentSuspense","namespace","slotScopeIds","optimized","internals","mc","mountChildren","pc","patchChildren","pbc","patchBlockChildren","o","insert","querySelector","createText","createComment","shapeFlag","children","dynamicChildren","placeholder","mainAnchor","mount","container2","anchor2","isCE","ce","_teleportTarget","mountToTarget","targetAnchor","prepareAnchor","updateCssVars","queuePostRenderEffect","__isMounted","process","targetStart","wasDisabled","currentContainer","currentAnchor","traverseStaticChildren","moveTeleport","nextTarget","um","unmount","hostRemove","doRemove","shouldRemove","child","move","hydrate","hydrateTeleport","parentAnchor","m","moveType","isReorder","node","nextSibling","parentNode","hydrateChildren","targetNode","_lpa","firstChild","nodeType","data","Teleport","isDisabled","ut","setAttribute","leaveCbKey","enterCbKey","useTransitionState","state","isMounted","isLeaving","isUnmounting","leavingVNodes","onMounted","onBeforeUnmount","TransitionHookValidator","Function","BaseTransitionPropsValidators","mode","appear","Boolean","persisted","onBeforeEnter","onEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","recursiveGetSubtree","subTree","BaseTransitionImpl","slots","getCurrentInstance","default","getTransitionRawChildren","findNonCommentChild","rawProps","emptyPlaceholder","innerChild","getInnerChild$1","enterHooks","resolveTransitionHooks","hooks","Comment","setTransitionHooks","oldInnerChild","isSameVNodeType","leavingHooks","afterLeave","update","delayLeave","earlyRemove","delayedLeave","getLeavingNodesForType","BaseTransition","leavingVNodesCache","postClone","callHook","callAsyncHook","every","hook2","leavingVNode","afterHook","cancelHook","called","cancelled","vnode2","hooks2","isKeepAlive","cloneVNode","transition","ssContent","clone","ssFallback","keepComment","parentKey","keyedFragmentCount","Fragment","patchFlag","defineComponent","extraOptions","setup","markAsyncBoundary","ids","setRef","rawRef","oldRawRef","isUnmount","isAsyncWrapper","__asyncResolved","refValue","oldRef","refs","setupState","rawSetupState","canSetSetupRef","_isString","_isRef","doSet","f","existing","includes","k","requestIdleCallback","cancelIdleCallback","__asyncLoader","__isKeepAlive","onActivated","registerKeepAliveHook","onDeactivated","currentInstance","wrappedHook","__wdc","current","isDeactivated","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","__weh","reset","setCurrentInstance","unshift","createHook","lifecycle","isInSSRComponentSetup","onBeforeMount","onBeforeUpdate","onUpdated","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","COMPONENTS","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","for","warnMissing","Component","selfName","getComponentName","registry","renderList","renderItem","cached","sourceIsArray","from","getPublicInstance","isStatefulComponent","publicPropertiesMap","$","$el","$data","$props","$attrs","attrs","$slots","$refs","$parent","$root","root","$host","$emit","emit","$options","resolveMergedOptions","$forceUpdate","$nextTick","$watch","instanceWatch","hasSetupBinding","__isScriptSetup","PublicInstanceProxyHandlers","accessCache","normalizedProps","propsOptions","shouldCacheAccess","publicGetter","cssModule","globalProperties","__cssModules","descriptor","normalizePropsOrEmits","applyOptions","publicThis","beforeCreate","dataOptions","computedOptions","methods","watchOptions","provide","provideOptions","inject","injectOptions","created","beforeMount","beforeUpdate","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","render","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","inheritAttrs","components","filters","resolveInjections","methodHandler","opt","createWatcher","provides","registerLifecycleHook","register","_hook","exposed","checkDuplicateProperties","normalizeInject","h","createPathGetter","handler","base","mixins","extends","extendsOptions","globalMixins","optionsCache","optionMergeStrategies","resolved","mergeOptions","strats","asMixin","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","emits","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","app","isNativeTag","performance","compilerOptions","propsCache","emitsCache","uid$1","createAppAPI","rootComponent","rootProps","context","installedPlugins","pluginCleanupFns","_uid","_component","_props","_container","_context","_instance","use","plugin","install","mixin","directive","rootContainer","isHydrate","_ceVNode","createVNode","__vue_app__","lastApp","currentApp","parentProvides","treatDefaultAsFactory","hasInjectionContext","internalObjectProto","createInternalObject","isInternalObject","initProps","isStateful","propsDefaults","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","kebabKey","resolvePropValue","propsToUpdate","dynamicProps","isEmitListener","emitsOptions","camelizedKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","skipFactory","_setProp","mixinPropsCache","normalizePropsOptions","comp","hasExtends","extendProps","raw2","normalizedKey","validatePropName","prop","propType","shouldCast","shouldCastTrue","typeName","isInternalKey","normalizeSlotValue","normalizeVNode","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","_ctx","normalizeVNodeSlots","assignSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","$stable","queueEffectWithSuspense","createRenderer","baseCreateRenderer","createHydrationFns","__VUE__","hostInsert","patchProp","hostPatchProp","createElement","hostCreateElement","hostCreateText","hostCreateComment","setText","hostSetText","setElementText","hostSetElementText","hostParentNode","hostNextSibling","setScopeId","hostSetScopeId","insertStaticContent","hostInsertStaticContent","patch","getNextHostNode","Text","processText","processCommentNode","Static","mountStaticNode","processFragment","processElement","processComponent","mountElement","patchElement","vnodeHook","resolveChildrenNamespace","scopeId","onVnodeBeforeMount","invokeVNodeHook","needCallTransitionHooks","needTransition","beforeEnter","onVnodeMounted","enter","isSuspense","parentVNode","cloneIfMounted","oldProps","newProps","toggleRecurse","onVnodeBeforeUpdate","innerHTML","textContent","patchProps","class","onVnodeUpdated","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","activate","mountComponent","updateComponent","initialVNode","createComponentInstance","renderer","setupComponent","asyncDep","registerDep","setupRenderEffect","shouldUpdateComponent","asyncResolved","updateComponentPreRender","componentUpdateFn","bu","u","nonHydratedAsyncRoot","locateNonHydratedAsyncRoot","isUnmounted","originNext","nextTree","renderComponentRoot","prevTree","updateHOCHostEl","bm","isAsyncWrapperVNode","_injectChildStyle","scopedInitialVNode","nextVNode","prevProps","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","unmountChildren","oldLength","commonLength","Math","min","nextChild","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","j","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","suspense","leave","remove2","performLeave","cacheIndex","renderCache","deactivate","shouldInvokeDirs","shouldInvokeVnodeHook","onVnodeBeforeUnmount","unmountComponent","hasOnce","onVnodeUnmounted","removeFragment","performRemove","bum","invalidateMount","pendingBranch","suspenseId","pendingId","teleportEnd","isFlushing","_vnode","mt","createApp","currentNamespace","encoding","allowed","ch1","ch2","len","arrI","subComponent","ssrContextKey","useSSRContext","watchEffect","doWatch","flush","baseWatchOptions","runsImmediately","ssrCleanup","__watcherHandles","watchStopHandle","isPre","isFirstRun","watch$1","path","segments","getModelModifiers","modelName","modelModifiers","event","rawArgs","handlerName","number","onceHandler","emitted","normalizeEmitsOptions","extendEmits","normalizedFromExtend","markAttrsAccessed","withProxy","fallthroughAttrs","proxyToUse","thisProxy","render2","getFunctionalFallthrough","blockStack","filterModelListeners","prevChildren","nextProps","nextChildren","hasPropsChanged","nextKeys","activeBranch","__isSuspense","currentBlock","openBlock","disableTracking","closeBlock","isBlockTreeEnabled","inVOnce","setupBlock","createElementBlock","createBaseVNode","createBlock","isVNode","__v_isVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","__v_skip","staticCount","normalizeChildren","normalize","_createVNode","cloned","isClassComponent","__vccOpts","guardReactiveProps","klass","extraProps","mergeRef","cloneTransition","mergedProps","mergeProps","createTextVNode","text","flag","createStaticVNode","content","numberOfNodes","createCommentVNode","asBlock","memo","slot","slotFlag","toMerge","incoming","emptyAppContext","exposeProxy","setupContext","bc","da","rtg","rtc","sp","internalSetCurrentInstance","setInSSRSetupState","g","registerGlobalSetter","setters","unsetCurrentInstance","compile","setupResult","setupStatefulComponent","createSetupContext","isAsyncSetup","resolvedResult","handleSetupResult","finishComponentSetup","__ssrInlineRender","ssrRender","skipOptions","template","isCustomElement","delimiters","componentCompilerOptions","finalCompilerOptions","attrsProxyHandlers","classifyRE","classify","includeInferred","displayName","__name","__file","match","inferFromRegistry","computed$1","propsOrChildren","policy","tt","trustedTypes","createPolicy","createHTML","unsafeToTrustedHTML","svgNS","mathmlNS","templateContainer","nodeOps","insertBefore","removeChild","tag","createElementNS","multiple","createTextNode","nodeValue","selector","before","previousSibling","lastChild","cloneNode","wrapper","appendChild","TRANSITION","ANIMATION","vtcKey","DOMTransitionPropsValidators","css","duration","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","TransitionPropsValidators","decorate$1","Transition","resolveTransitionProps","h2","hasExplicitCallback","baseProps","durations","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","isCancelled","_enterCancelled","removeTransitionClass","finishLeave","_isLeaving","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","forceReflow","NumberOf","cls","classList","_vtc","requestAnimationFrame","endId","expectedType","explicitTimeout","_endId","resolveIfNotStale","setTimeout","timeout","propCount","getTransitionInfo","endEvent","ended","removeEventListener","onEnd","getComputedStyle","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","max","hasTransform","test","delays","d","toMs","body","offsetHeight","patchClass","isSVG","transitionClasses","removeAttribute","className","vShowOriginalDisplay","vShowHidden","vShow","display","setDisplay","CSS_VAR_TEXT","displayRE","patchStyle","isCssString","hasControlledDisplay","prevStyle","setStyle","cssVarText","importantRE","setProperty","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","isBoolean","removeAttributeNS","setAttributeNS","patchDOMProp","attrName","tagName","getAttribute","needRemove","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","parseName","createInvoker","optionsModifierRE","cachedNow","getNow","Date","now","initialValue","invoker","_vts","attached","patchStopImmediatePropagation","originalStop","stopImmediatePropagation","_stopped","isNativeOn","shouldSetAsProp","_isVueCE","_trueValue","_falseValue","camelize$1","getModelAssigner","onCompositionStart","composing","onCompositionEnd","dispatchEvent","Event","assignKey","vModelText","lazy","castToNumber","domValue","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","systemModifiers","modifierGuards","stopPropagation","prevent","preventDefault","currentTarget","ctrl","ctrlKey","shiftKey","alt","altKey","meta","metaKey","left","button","right","exact","withModifiers","_withMods","cacheKey","guard","keyNames","esc","space","up","down","withKeys","_withKeys","eventKey","rendererOptions","ensureRenderer","containerOrSelector","normalizeContainer","resolveRootNamespace","Element","isVue2","activePinia","setActivePinia","pinia","piniaSymbol","toJSON","MutationType","createPinia","_p","toBeInstalled","$pinia","_e","_s","noop","addSubscription","subscriptions","onCleanup","removeSubscription","idx","triggerSubscriptions","fallbackRunWithContext","ACTION_MARKER","ACTION_NAME","mergeReactiveObjects","patchToApply","subPatch","targetValue","skipHydrateSymbol","shouldHydrate","createOptionsStore","hot","actions","getters","initialState","store","createSetupStore","localState","computedGetters","$id","isOptionsStore","optionsForPlugin","$subscribeOptions","isListening","isSyncListening","debuggerEvents","actionSubscriptions","activeListener","$patch","partialStateOrMutator","subscriptionMutation","patchFunction","storeId","events","patchObject","payload","myListenerId","$reset","newState","$state","action","wrappedAction","afterCallbackList","onErrorCallbackList","after","onError","Promise","reject","$onAction","stopWatcher","direct","$dispose","setupStore","runWithContext","actionValue","extender","defineStore","idOrOptions","setupOptions","isSetupStore","useStore","hasContext","mapState","keysOrMapper","reduced","storeKey","mapActions","_defineProperty","enumerableOnly","symbols","sym","getOwnPropertyDescriptor","_objectSpread2","getOwnPropertyDescriptors","defineProperties","load","url","getElementsByTagName","script","async","src","preconnectOrigin","href","rel","onload","onerror","mergeDeep","_len","sources","isBrowser","validateScreenviewShape","app_name","screen_name","getPathWithBase","pathAsArray","baseAsArray","getDefaultParams","bootstrap","onReady","onBeforeTrack","onAfterTrack","pageTrackerTemplate","customResourceURL","customPreconnectOrigin","deferScriptLoad","pageTrackerExcludedRoutes","pageTrackerEnabled","enabled","disableScriptLoad","pageTrackerScreenviewEnabled","appName","pageTrackerUseFullPath","pageTrackerPrependBase","pageTrackerSkipSamePath","globalDataLayerName","globalObjectName","defaultGroupName","params","send_page_view","setOptions","defaultParams","getOptions","query","_window","_getOptions","domain","assignGlobalProperty","disable","optOut","optIn","router","setRouter","getRouter","send_to","pageview","param","page_path","fullPath","useFullPath","useBase","page_title","page_location","location","screenview","exception","linker","time","refund","purchase","customMap","custom_map","api","freeze","attachApi","$gtag","registerGlobals","mergeDefaultParams","addConfiguration","useScreenview","isRouteExcluded","route","routes","addRoutesTracker","_getOptions2","isReady","currentRoute","afterEach","isPageTrackerEnabled","obfuscate","fromCharCode","deobfuscate","MGTag","VueGtag","executeScript","reportGtag","event_category","event_label","gtag","REPORT_EVENT","REGISTER","R1_COMPLETED","R1_ACCOUNT_NUMBER","NEXT","R2_COMPLETED","R2_VERIFICATION_CODE","R2_NEXT","R2_BACK","R3_BACK","R3_PASSWORD","SHOW_PASSWORD","CONCEAL_PASSWORD","R2_REGISTER","R1_CLOSE","R2_CLOSE","R3_CLOSE","CUSTOMER_SERVICE","TC","DEPOSIT","LOAD_COMPLETE","OPTIONAL_AMOUNT","AMOUNT_1","AMOUNT_2","AMOUNT_3","AMOUNT_4","AMOUNT_5","AMOUNT_6","CHANNEL_SANTIMPAY","CHANNEL_ARIFPAY","ENVELOPE","POCKET_MONEY_index_TG","POCKET_MONEY_index_FB","POCKET_MONEY_index_whatapp","POCKET_MONEY_index_sms","POCKET_MONEY_index_copy","POCKET_MONEY_withdraw_TG","POCKET_MONEY_withdraw_FB","POCKET_MONEY_withdraw_whatapp","POCKET_MONEY_withdraw_sms","POCKET_MONEY_Prompt_TG","inBrowser","isDef","isNumeric","isIOS","navigator","userAgent","pick","ignoreUndefined","toArray","unknownProp","numericProp","truthProp","makeRequiredProp","required","makeArrayProp","makeNumberProp","defaultVal","makeNumericProp","makeStringProp","raf","doubleRaf","isWindow","makeDOMRect","width2","height2","top","bottom","width","height","useRect","elementOrRef","element","innerWidth","innerHeight","getBoundingClientRect","useToggle","useParent","unlink","internalChildren","flattenVNodes","children2","findVNodeIndex","vnodes","sortChildren","publicChildren","orderedPublicChildren","useChildren","getCurrentInstance2","linkChildren","onMountedOrActivated","onActivated2","useEventListener","listener","passive","capture","cleaned","target2","unref2","stopWatch","onUnmounted2","onDeactivated2","oldVal","useClickAway","eventName","unref3","contains","useWindowSize","ref4","overflowScrollReg","defaultRoot","visibility","isElement","getScrollParent","overflowY","useScrollParent","scrollParent","ref5","onMounted2","usePageVisibility","ref6","hidden","CUSTOM_FIELD_INJECTION_KEY","getScrollTop","scrollTop","pageYOffset","setScrollTop","scrollTo","scrollX","getRootScrollTop","setRootScrollTop","checkIsIOS","resetScroll","isStopPropagation","cancelable","isHidden","elementRef","parentHidden","offsetParent","position","windowWidth","windowHeight","addUnit","getSizeStyle","originSize","getZIndexStyle","zIndex","rootFontSize","getRootFontSize","convertRem","convertVw","convertVh","unitToPx","clamp","num","trimExtraChar","char","regExp","formatNumber","allowDot","allowMinus","deepAssign","stdin_default","tel","save","cancel","confirm","loading","noCoupon","nameEmpty","addContact","telInvalid","vanCalendar","title","weekdays","monthTitle","year","month","rangePrompt","maxRange","vanCascader","vanPagination","vanPullRefresh","pulling","loosing","vanSubmitBar","label","vanCoupon","unlimited","discount","condition","vanCouponCell","count","vanCouponList","exchange","enable","vanAddressEdit","area","areaEmpty","addressEmpty","addressDetail","defaultAddress","vanAddressList","lang","messages","defaultMessages","Locale","newLang","newMessages","createTranslate","prefix","locale","message","genBem","mods","createBEM","createNamespace","prefixedName","BORDER","BORDER_TOP","BORDER_LEFT","BORDER_RIGHT","BORDER_BOTTOM","BORDER_SURROUND","BORDER_TOP_BOTTOM","HAPTICS_FEEDBACK","FORM_KEY","TAP_OFFSET","callInterceptor","interceptor","canceled","returnVal","withInstall","POPUP_TOGGLE_KEY","onPopupReopen","popupToggleStatus","show","useHeight","withSafeArea","setHeight","usePlaceholder","contentRef","bem","renderContent","ACTION_BAR_KEY","actionBarProps","safeAreaInsetBottom","renderPlaceholder","renderActionBar","ActionBar","_ActionBar","useExpose","apis","routeProps","$router","useRoute","vm","badgeProps","dot","color","offset","showZero","hasContent","getOffsetWithMinusString","style2","background","y","offsetY","offsetX","marginTop","marginLeft","renderBadge","fixed","Badge","_Badge","globalZIndex","useGlobalZIndex","CONFIG_PROVIDER_KEY","isImage","name2","iconProps","badge","classPrefix","iconPrefix","isImageIcon","_mergeProps","Icon","_Icon","SpinIcon","CircularIcon","viewBox","cx","cy","loadingProps","vertical","textSize","textColor","spinnerStyle","renderIcon","DefaultIcon","icon","renderText","Loading","_Loading","buttonProps","block","plain","round","square","hairline","nativeType","loadingSize","loadingText","loadingType","iconPosition","getStyle","border","borderColor","onClick","classes","Button","_Button","actionBarButtonProps","isFirst","isLast","isButton","first","ActionBarButton","_ActionBarButton","popupSharedProps","overlay","teleport","lockScroll","lazyRender","beforeClose","overlayStyle","overlayClass","transitionAppear","closeOnClickOverlay","popupSharedPropKeys","getDirection","useTouch","startX","startY","deltaX","deltaY","direction","isTap","touch","touches","clientX","clientY","abs","isVertical","isHorizontal","totalLockCount","BODY_LOCK_CLASS","useLockScroll","rootRef","shouldLock","onTouchMove","scrollHeight","status","lock","unlock","destroy","useLazyRender","inited","useScopeId","overlayProps","customStyle","renderOverlay","animationDuration","_withDirectives","_vShow","Content","Overlay","_Overlay","popupProps","closeIcon","closeable","closeOnPopstate","closeIconPosition","safeAreaInsetTop","opened","shouldReopen","popupRef","onClickOverlay","role","tabindex","onClickCloseIcon","renderCloseIcon","timer","onOpened","clearTimeout","onClosed","onKeydown","renderPopup","renderTransition","focus","_Fragment","Popup","_Popup","actionSheetProps","cancelText","closeOnClickAction","popupInheritKeys","updateShow","onCancel","renderHeader","renderCancel","renderActionContent","subname","renderAction","renderDescription","ActionSheet","_ActionSheet","pickerToolbarProps","cancelButtonText","confirmButtonText","useSyncPropRef","getProp","setProp","propRef","useId","useRefs","useVisibilityChange","onChange","IntersectionObserver","observer","intersectionRatio","unobserve","observe","stickyProps","offsetTop","offsetBottom","transform","isReset","rootStyle","stickyStyle","onScroll","rootRect","containerRect","difference","clientHeight","isFixed","Sticky","_Sticky","swipeProps","loop","autoplay","touchable","initialSwipe","indicatorColor","showIndicators","SWIPE_KEY","rect","swiping","dragging","delta","minOffset","maxCount","ceil","trackSize","activeIndicator","isCorrectDirection","expect","trackStyle","transitionDuration","toFixed","mainAxis","crossAxis","getTargetOffset","targetActive","currentPosition","targetOffset","pace","emitChange","outRightBound","setOffset","outLeftBound","correctPosition","autoplayTimer","stopAutoplay","initialize","offsetWidth","swipe","resize","touchStartTime","onTouchStart","onTouchEnd","speed","renderDot","backgroundColor","swipeTo","targetIndex","visible","onTouchstartPassive","onTouchend","onTouchcancel","indicator","total","Swipe","_Swipe","TABS_KEY","TAB_STATUS_KEY","useTabStatus","TabTitle","shrink","isActive","controls","scrollable","activeColor","inactiveColor","showZeroBadge","titleColor","ellipsis","grow","rendered","shouldRender","maxActive","prevActive","nextActive","SwipeItem","_SwipeItem","tabProps","titleClass","titleStyle","getName","currentName","onRendered","parsedClass","parsedStyle","hasInactiveClass","setLine","scrollIntoView","renderTitle","onClickTab","setTitleRefs","titleActiveColor","titleInactiveColor","animated","swipeable","scrollspy","inactive","_a2","Tab","_Tab","pickerSharedProps","allowHtml","optionHeight","showToolbar","swipeDuration","visibleOptionNum","columns","toolbarPosition","columnsFieldNames","cellSharedProps","center","isLink","valueClass","labelClass","arrowDirection","clickable","cellProps","renderLabel","titleSlot","renderValue","renderRightIcon","borderless","extra","Cell","_Cell","formProps","colon","showError","labelWidth","labelAlign","inputAlign","scrollToError","scrollToErrorPosition","validateFirst","submitOnEnter","showErrorMessage","errorMessageAlign","validateTrigger","getFieldsByNames","names","field","validate","matched","find","errors","promise","fields","all","validateAll","scrollToField","getValues","form","formValue","submit","onSubmit","resetValidation","getValidationStatus","Form","_Form","isEmptyValue","runSyncRule","rule","validateEmpty","pattern","runRuleValidator","validator","getRuleMessage","startComposing","endComposing","resizeTextarea","input","autosize","maxHeight","minHeight","mapInputType","inputmode","getStringLength","cutString","maxlength","fieldSharedProps","leftIcon","rightIcon","autofocus","clearable","formatter","clearIcon","autocomplete","autocapitalize","autocorrect","errorMessage","enterkeyhint","clearTrigger","formatTrigger","spellcheck","fieldProps","rows","rules","showWordLimit","focused","validateMessage","inputRef","clearIconRef","customValue","getModelValue","showClear","hasValue","showRequiredMark","endValidate","validateWithTrigger","defaultTrigger","updateValue","originalValue","selectionEnd","valueArr","exceededLength","limitDiffLen","isNumber","formatterDiffLen","bcoVal","selectionStart","valueLen","setSelectionRange","onInput","blur","adjustTextareaSize","onFocus","onBlur","onClickInput","onClickLeftIcon","onClickRightIcon","labelStyle","onKeypress","keyCode","getInputId","renderInput","controlClass","custom","inputAttrs","onCompositionend","onCompositionstart","rightIconSlot","renderWordLimit","_createTextVNode","renderMessage","renderFieldBody","LeftIcon","leftIconSlot","Label","Field","_Field","lockCount","lockClick","popupInheritProps","toastProps","iconSize","wordBreak","forbidClick","closeOnClick","toggleClickable","clearTimer","usePopupState","toggle","RootComponent","defaultOptions","onClose","allowMultiple","currentOptions","defaultOptionsMap","parseOptions","createInstance","VanToast","getInstance","showToast","toast","parsedOptions","createMethod","showLoadingToast","showSuccessToast","showFailToast","closeToast","Toast","_Toast","__async","__this","__arguments","generator","fulfilled","step","rejected","throw","barrageProps","autoPlay","delay","barrageWrapper","barrageItems","isInitBarrage","isPlay","appendBarrageItem","innerText","animationDelay","animationName","animationTimingFunction","animationPlayState","append","dataset","updateBarrages","span","play","Barrage","_Barrage","formatMonthTitle","date","getFullYear","getMonth","compareMonth","date1","date2","year1","year2","month1","month2","compareDay","day1","day2","compareMonthResult","getDate","cloneDate","cloneDates","dates","getDayByOffset","setDate","getMonthByOffset","setMonth","getYearByOffset","setFullYear","getPrevDay","getNextDay","getPrevMonth","getNextMonth","getPrevYear","getNextYear","getToday","today","setHours","calcDateNum","getMonthEndDay","rowHeight","marginBottom","renderTopInfo","topInfo","renderBottomInfo","bottomInfo","Nodes","calendarMonthProps","minDate","maxDate","showMark","currentDate","allowSameDay","showSubtitle","showMonthTitle","firstDayOfWeek","setVisible","daysRef","monthRef","realDay","getDay","totalDay","getDayType","day","isSelected","prevDay","nextDay","prevSelected","nextSelected","startDay","endDay","compareToStart","compareToEnd","getBottomInfo","dayType","renderMark","placeholders","days","days2","disabledDays","renderDay","CalendarDay","item2","onClickDisabledDate","getTitle","getHeight","scrollToDate","targetDate","daysRect","totalRows","rowOffset","subtitle","showTitle","switchMode","prevMonthDisabled","prevYearDisabled","nextMonthDisabled","nextYearDisabled","onClickSubtitle","onPanelChange","isNext","showYearAction","monthSlot","yearSlot","monthDisabled","yearDisabled","monthIconName","yearIconName","MonthAction","YearAction","renderSubtitle","canSwitch","renderWeekDays","renderWeekDays2","calendarProps","poppable","confirmText","showConfirm","defaultDate","showRangePrompt","confirmDisabledText","limitDateRange","getInitialDate","bodyHeight","bodyRef","currentPanelDate","getInitialPanelDate","currentMonthRef","monthRefs","setMonthRefs","dayOffset","months","months2","cursor","buttonDisabled","heights","currentMonth","visibleRange","showed","scrollToCurrentDate","init","floor","onConfirm","complete","setCurrentDate","valid","onClickDay","disabledDay","disabledDays2","endDay2","dateItem","unselectedDate","renderMonth","CalendarMonth","renderFooterButton","footer","renderCalendar","CalendarHeader","getSelectedDate","Calendar","_Calendar","cellGroupProps","inset","renderGroup","CellGroup","_CellGroup","dialogProps","theme","messageAlign","showCancelButton","cancelButtonColor","cancelButtonDisabled","confirmButtonColor","confirmButtonDisabled","showConfirmButton","keyboardEnabled","getActionHandler","Enter","Escape","isolated","hasTitle","classNames","renderFooter","DEFAULT_OPTIONS","initInstance","Dialog","showDialog","showConfirmDialog","_Dialog","gridProps","gutter","reverse","columnNum","GRID_KEY","paddingLeft","Grid","_Grid","gridItemProps","iconColor","percent","flexBasis","paddingTop","gutterValue","paddingRight","contentStyle","surround","GridItem","_GridItem","listProps","finished","scroller","errorText","finishedText","immediateCheck","tabStatus","check","scrollParentRect","isReachEdge","placeholderRect","renderFinishedText","clickErrorText","renderErrorText","renderLoading","tabActive","Placeholder","List","_List","notifyProps","Notify","_Notify","getWindow","ownerDocument","defaultView","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","getUAString","uaData","userAgentData","brands","brand","isLayoutViewport","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","visualViewport","addVisualOffsets","offsetLeft","getWindowScroll","scrollLeft","pageXOffset","getHTMLElementScroll","getNodeScroll","getNodeName","nodeName","getDocumentElement","getWindowScrollBarX","isScrollParent","_getComputedStyle","overflow","overflowX","isElementScaled","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","scroll","offsets","clientLeft","clientTop","getLayoutRect","getParentNode","assignedSlot","host","listScrollParents","list","_element$ownerDocumen","isBody","updatedList","isTableElement","getTrueOffsetParent","getContainingBlock","isFirefox","currentNode","perspective","contain","willChange","getOffsetParent","window2","auto","basePlacements","placements","placement","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","order","visited","modifier","requires","requiresIfExists","depModifier","orderModifiers","orderedModifiers","phase","debounce","fn2","pending","format","INVALID_MODIFIER_ERROR","MISSING_DEPENDENCY_ERROR","VALID_PROPERTIES","validateModifiers","requirement","mod","uniqueBy","identifiers","identifier","getBasePlacement","mergeByName","merged2","getVariation","getMainAxisFromPlacement","computeOffsets","_ref","reference","basePlacement","variation","commonX","commonY","INVALID_ELEMENT_ERROR","INFINITE_LOOP_ERROR","strategy","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","defaultModifiers2","_generatorOptions$def2","popper","modifiersData","elements","attributes","effectCleanupFns","isDestroyed","setOptionsAction","options2","cleanupModifierEffects","scrollParents","contextElement","_ref2","marginRight","margin","_ref3","_ref3$options","effect3","noopFn","forceUpdate","_state$elements","reference2","popper2","rects","__debug_loops__","_state$orderedModifie","_state$orderedModifie2","_options","state2","onFirstUpdate","_options$scroll","_options$resize","eventListeners_default","popperOffsets","popperOffsets_default","unsetSides","roundOffsetsByDPR","dpr","devicePixelRatio","mapToStyles","_Object$assign2","popperRect","gpuAcceleration","adaptive","roundOffsets","_offsets$x","_offsets$y","hasX","hasY","sideX","sideY","heightProp","widthProp","_Object$assign","commonStyles","_ref4","computeStyles","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","transitionProperty","property","arrow","computeStyles_default","applyStyles","effect2","initialStyles","attribute","applyStyles_default","createPopper","distanceAndSkiddingToXY","offset2","invertDistance","skidding","distance","_options$offset","_data$state$placement","offset_default","popoverProps","actionsDirection","showArrow","closeOnClickOutside","wrapperRef","popoverRef","getPopoverOptions","offsetModifier","updateLocation","onClickWrapper","Popover","_Popover","VantResolve","enUS","eventBus","eventBus$1","$bus","bridge","Key","Token","Country","isBonus","StickyBanner","ShowBonusTips","cid","channel","shared","currentReward","clickShareIcon","clickInviteBtn","clickEnvlopePopup","todayShowed","BonusGamesID","isEnvelope","localFrom","agentcode","firstdepositpopup","PerksPlay","setLocalStorage","localStorage","setItem","getLocalStorage","getItem","removeLocalStorage","removeItem","resBaseUrl","hideHeaderPages","hideFooterPages","selfDevelopedGameDomain","game","categories","favorite","records","lobby","banners","batchBanners","promotionsBanners","ping","user","balance","getUserInfo","login","logout","sms","usernameSms","bindPhone","restPwd","checkBindViaUser","changePassWord","usc","recharge","prepay","querypay","orders","depositActivity","paymentMethods","withdraw","notice","bonus","ncf","redpackage","claimed","collected","envelope","share","claim","guide","finishGuide","latestCollected","displayReward","totalClaimedReward","popup","cashback","collect","record","marquee","VpsExchange","buy","dailyTask","Million","spin","cost","myCode","rewards","history","limited","defaultCountry","localCountry","hostname","country","log","defaultLanguage","localLanguage","languageu","AIRBRIDEG","WEB_TOKEN","APP_NAME","API_TOKEN","BET_LINKS_API_TOKEN","BUS","SHOW_MENU","SHOW_POPUP","FULL_SCREEN","SCROLL_TO_TOP","UPDATE_GAME","SHOW_DEPOSIT_IN_GAME","REFRESH_PAGE","CHECK_INPUT_VALUE","PAY_SUCCESS","PAY_INVALID","UPDATE_GAME_LIST","PUSH_NOTIFICATION","CLOSE_DEPOSIT_IN_GAME","SHOW_CHAT","SHOW_GAME_FOOTER","HIDE_DEPOSIT_IN_GAME","CHECK_DEPOSIT_STATUS","SHOW_TOP_BUTTON","CHANGE_IPUTfIELD_ERROR_TIPS","SHOW_SYSTEM_LOADING","UPDATE_BALANCE","SHOW_SHARE_POPUP","SHOW_REWARD_POPUP","BACK_IN_GAME","SHOW_ACTIVE_BOX","SHOW_ENVELOPE_NOTIFY","UPDATE_DEEPLINK","POPUP","MENU","LOGIN","BINDING_PHONE","SELECT_COUNTRY","RESET_PASSWORD","CHANGE_PASSWORD","FIRST_DEPOSIT_POPUP","PERKS_PLAY_POPUP","makeSymbol","shareable","generateFormatCacheKey","friendlyJSONstringify","json","isFinite","isRegExp","isEmptyObject","escapeHtml","rawText","proto","constructor","items","incrementer","code","isNotObjectOrIsArray","deepCopy","des","Error","createPosition","line","column","createLocation","RE_ARGS","CompileWarnCodes","USE_MODULO_SYNTAX","__EXTEND_POINT__","warnMessages","createCompileWarn","loc","CompileErrorCodes","EXPECTED_TOKEN","INVALID_TOKEN_IN_PLACEHOLDER","UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER","UNKNOWN_ESCAPE_SEQUENCE","INVALID_UNICODE_ESCAPE_SEQUENCE","UNBALANCED_CLOSING_BRACE","UNTERMINATED_CLOSING_BRACE","EMPTY_PLACEHOLDER","NOT_ALLOW_NEST_PLACEHOLDER","INVALID_LINKED_FORMAT","MUST_HAVE_MESSAGES_IN_PLURAL","UNEXPECTED_EMPTY_LINKED_MODIFIER","UNEXPECTED_EMPTY_LINKED_KEY","UNEXPECTED_LEXICAL_ANALYSIS","UNHANDLED_CODEGEN_NODE_TYPE","UNHANDLED_MINIFIER_NODE_TYPE","errorMessages","createCompileError","SyntaxError","defaultOnError","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","CHAR_PS","createScanner","_buf","_index","_line","_column","_peekOffset","isCRLF","isPS","isLS","isLineEnd","peekOffset","currentChar","currentPeek","peek","resetPeek","skipToPeek","EOF","undefined","DOT","LITERAL_DELIMITER","ERROR_DOMAIN$3","createTokenizer","_scnr","currentOffset","_initLoc","_initOffset","currentType","startLoc","endLoc","lastType","lastOffset","lastStartLoc","lastEndLoc","braceNest","inLinked","emitError","pos","getToken","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","isListIdentifierStart","isNumberStart","isPluralStart","isTextStart","hasSpace","detectModulo","takeChar","isIdentifier","takeIdentifierChar","isNamedIdentifier","takeNamedIdentifierChar","isDigit","takeDigit","isHexDigit","takeHexDigit","getDigits","readText","isLiteral","readEscapeSequence","readUnicodeEscapeSequence","unicode","digits","sequence","isInvalidIdentifier","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","literal","isModulo","spaces","nextToken","ERROR_DOMAIN$2","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","fromCodePoint","createParser","onWarn","tokenzer","emitWarn","startNode","endNode","parseText","tokenizer","parseList","parseNamed","modulo","parseLiteral","parseLinked","linkedNode","parsed","nextConsumeToken","getTokenCaption","nextContext","emptyLinkedKeyNode","parseMessage","parseResource","msgNode","hasEmptyMessage","cases","parse","onCacheKey","createTransformer","ast","helpers","helper","traverseNodes","nodes","transformer","traverseNode","optimize","optimizeMessageNode","static","ERROR_DOMAIN$1","minify","resource","valueNode","linked","named","ERROR_DOMAIN","createCodeGenerator","sourceMap","filename","breakLineCode","needIndent","_needIndent","indentLevel","_newline","withBreakLine","_breakLineCode","repeat","indent","withNewLine","level","deindent","newline","generateLinkedNode","generateNode","generateMessageNode","generatePluralNode","generateResource","generate","baseCompile","assignedOptions","jit","enalbeMinify","enambeOptimize","initFeatureFlags","__INTLIFY_PROD_DEVTOOLS__","__INTLIFY_JIT_COMPILATION__","__INTLIFY_DROP_MESSAGE_COMPILER__","pathStateMachine","w","literalValueRE","exp","stripQuotes","getPathCharType","formatSubPath","trimmed","newChar","typeMap","subPathDepth","maybeUnescapeQuote","nextChar","resolveWithKeyValue","resolveValue","hit","DEFAULT_MODIFIER","DEFAULT_MESSAGE","DEFAULT_MESSAGE_DATA_TYPE","DEFAULT_NORMALIZE","DEFAULT_INTERPOLATE","pluralDefault","choice","choicesLength","getPluralIndex","pluralIndex","normalizeNamed","createMessageContext","pluralRule","pluralRules","orgPluralRule","_list","_named","processor","interpolate","arg1","arg2","_modifier","devtools","setDevToolsHook","initI18nDevTools","i18n","timestamp","translateDevTools","createDevToolsHook","payloads","code$1","inc$1","CoreWarnCodes","NOT_FOUND_KEY","FALLBACK_TO_TRANSLATE","CANNOT_FORMAT_NUMBER","FALLBACK_TO_NUMBER_FORMAT","CANNOT_FORMAT_DATE","FALLBACK_TO_DATE_FORMAT","EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER","inc","CoreErrorCodes","INVALID_ARGUMENT","INVALID_DATE_ARGUMENT","INVALID_ISO_DATE_ARGUMENT","NOT_SUPPORT_NON_STRING_MESSAGE","NOT_SUPPORT_LOCALE_PROMISE_VALUE","NOT_SUPPORT_LOCALE_ASYNC_FUNCTION","NOT_SUPPORT_LOCALE_TYPE","createCoreError","getLocale","resolveLocale","_resolveLocale","resolvedOnce","fallbackWithSimple","fallback","fallbackWithLocaleChain","startLocale","DEFAULT_LOCALE","__localeChainCache","chain","appendBlockToChain","defaults","blocks","follow","appendLocaleToChain","tokens","appendItemToChain","VERSION","NOT_REOSLVED","MISSING_RESOLVE_VALUE","toLocaleUpperCase","substr","getDefaultLinkedModifiers","upper","lower","_compiler","_resolver","_fallbacker","registerMessageCompiler","compiler","registerMessageResolver","resolver","registerLocaleFallbacker","fallbacker","_additionalMeta","setAdditionalMeta","getAdditionalMeta","_fallbackContext","setFallbackContext","getFallbackContext","_cid","createCoreContext","_locale","fallbackLocale","datetimeFormats","numberFormats","missing","missingWarn","fallbackWarn","fallbackFormat","unresolving","postTranslation","warnHtmlMessage","escapeParameter","messageCompiler","messageResolver","localeFallbacker","fallbackContext","internalOptions","__datetimeFormatters","__numberFormatters","__meta","handleMissing","updateFallbackLocale","isAlmostSameLocale","compareLocale","isImplicitFallback","targetLocale","locales","formatParts","formatMessageParts","_static","acm","formatMessagePart","linkedKey","linkedModifier","defaultOnCacheKey","compileCache","isMessageAST","detectError","baseCompile$1","compileToFunction","NOOP_MESSAGE_FUNCTION","isMessageFunction","translate","parseTranslateArgs","resolvedMessage","defaultMsgOrKey","enableDefaultMsg","escapeParams","formatScope","resolveMessageFormat","cacheBaseKey","occurred","compileMessageFormat","messaged","evaluateMessage","getMessageContextOptions","missingRet","getCompileContext","msgCtx","arg3","ctxOptions","datetime","overrides","parseDateTimeArgs","part","Intl","DateTimeFormat","datetimeFormat","formatToParts","DATETIME_FORMAT_OPTIONS_KEYS","arg4","matches","dateTime","toISOString","clearDateTimeFormat","parseNumberArgs","NumberFormat","numberFormat","NUMBER_FORMAT_OPTIONS_KEYS","clearNumberFormat","__VUE_I18N_FULL_INSTALL__","__VUE_I18N_LEGACY_API__","I18nErrorCodes","UNEXPECTED_RETURN_TYPE","MUST_BE_CALL_SETUP_TOP","NOT_INSTALLED","NOT_AVAILABLE_IN_LEGACY_MODE","REQUIRED_VALUE","INVALID_VALUE","CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN","NOT_INSTALLED_WITH_PROVIDE","UNEXPECTED_ERROR","NOT_COMPATIBLE_LEGACY_VUE_I18N","BRIDGE_SUPPORT_VUE_2_ONLY","MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION","NOT_AVAILABLE_COMPOSITION_IN_LEGACY","createI18nError","TranslateVNodeSymbol","DatetimePartsSymbol","NumberPartsSymbol","SetPluralRulesSymbol","InejctWithOptionSymbol","DisposeSymbol","handleFlatJson","subKeys","lastIndex","currentObj","hasStringValue","getLocaleMessages","__i18n","flatJson","getComponentOptions","adjustI18nResources","gl","componentOptions","__i18nGlobal","mergeLocaleMessage","mergeDateTimeFormat","mergeNumberFormat","DEVTOOLS_META","NOOP_RETURN_ARRAY","NOOP_RETURN_FALSE","composerID","defineCoreMissingHandler","getMetaInfo","createComposer","VueI18nLegacy","__root","__injectWithOption","_isGlobal","translateExistCompatible","_inheritLocale","inheritLocale","_fallbackLocale","_messages","_datetimeFormats","_numberFormats","_missingWarn","_fallbackWarn","_fallbackRoot","fallbackRoot","_fallbackFormat","_missing","_runtimeMissing","_postTranslation","_warnHtmlMessage","_escapeParameter","_modifiers","_pluralRules","framework","wrapWithDeps","argumentParser","warnType","fallbackSuccess","fallbackFail","successCondition","getLocaleMessage","composer","setLocaleMessage","_message","locale2","getPostTranslationHandler","setPostTranslationHandler","getMissingHandler","setMissingHandler","rt","te","tm","targetLocaleMessages","messageValue","getDateTimeFormat","setDateTimeFormat","getNumberFormat","setNumberFormat","convertComposerOptions","silentTranslationWarn","silentFallbackWarn","formatFallbackMessages","pluralizationRules","warnHtmlInMessage","escapeParameterHtml","sync","sharedMessages","createVueI18n","__extender","vueI18n","availableLocales","__composer","getChoiceIndex","baseFormatProps","getInterpolateArg","getFragmentableTag","TranslationImpl","keypath","useI18n","useScope","__useComponent","assignedAttrs","Translation","renderFormatter","slotKeys","partFormatter","parts","NumberFormatImpl","DatetimeFormatImpl","DatetimeFormat","getComposer$2","i18nInternal","__getInstance","vTDirective","_process","parsedValue","parseValue","makeParams","__i18nWatcher","getSSRProps","pluginOptions","useI18nComponentName","globalInstall","defineMixin","vuei18n","optionsI18n","$i18n","mergeToGlobal","__vueI18nExtend","_vueI18n","__disposer","$t","$rt","$tc","tc","$te","$d","$n","$tm","__setInstance","__deleteInstance","I18nInjectionKey","createI18n","__legacyMode","legacy","__globalInjection","globalInjection","__allowComposition","allowComposition","__instances","globalScope","__global","createGlobal","symbol","__VUE_I18N_SYMBOL__","opts","__composerExtend","globalReleaseHandler","injectGlobalFields","unmountApp","dispose","getI18nInstance","getGlobalComposer","getScope","useI18nForLegacy","getComposer","composerOptions","setupLifeCycle","legacyMode","useComponent","getParentComponentInstance","_composer","isLocalScope","warpWithDeps","C","isGlobal","globalExportProps","globalExportMethods","desc","__INTLIFY__","__INTLIFY_DEVTOOLS_GLOBAL_HOOK__","getLocalLanguage","setLocale","setupI18n","setI18nLanguage","loadLocaleMessages","response","fetch","language","ok","__variableDynamicImportRuntimeHelper","import","__vitePreload","__VITE_PRELOAD__","__VITE_IS_MODERN__","VERSION_JSON_URL","useLanguagesStore","languages","phone","currentLanguageCode","currentPhoneCode","currentPhone","reload","airbridge_loader","load_airbridge","a_","i_","r_","_r","_i","q","readyState","__spreadArray","pack","ar","flat_keys","FlatKeys","flatKeys_1","flatKey","build","airbridge_loader_1","require$$0","flat_keys_1","require$$1","throwOnServerSide","AirbridgeMock","airbridge","isSDKEnabled","startTracking","stopTracking","fetchResource","openBanner","setBanner","setDownloads","setDeeplinks","openDeeplink","sendWeb","createTouchpoint","setUserID","clearUserID","setUserEmail","clearUserEmail","setUserPhone","clearUserPhone","setUserAttribute","removeUserAttribute","clearUserAttributes","setUserAlias","removeUserAlias","clearUserAlias","clearUser","setUserId","setUserAttributes","setDeviceAlias","removeDeviceAlias","clearDeviceAlias","send","signIn","signUp","signOut","purchased","addedToCart","productDetailsViewEvent","homeViewEvent","productListViewEvent","searchResultViewEvent","wait","prepare","_loop_1","member","_default","AIRBRIDEG_EVENT","VIEWED","SIGNUP","SIGNIN","SIGNOUT","ADDED_TO_CART","ORDER_COMPLETED","airbrideg_init","hash","pageParam","URLSearchParams","webToken","utmParsing","urlQueryMapping","campaign","sub_id","term","airbrideg_report","eventData","socket","SocketService","useUserStore","io","transports","isLogin","connected","disconnect","SocketService$1","createCapacitorPlatforms","defaultPlatformMap","capPlatforms","CapacitorPlatforms","currentPlatform","platforms","addPlatform","platform","setPlatform","initPlatforms","ExceptionCode","CapacitorException","getPlatformId","androidBridge","webkit","messageHandlers","createCapacitor","capCustomPlatform","CapacitorCustomPlatform","cap","Capacitor","Plugins","getPlatform","isNativePlatform","isPluginAvailable","pluginName","registeredPlugins","getPluginHeader","PluginHeaders","registerPlugin","jsImplementations","registeredPlugin","pluginHeader","jsImplementation","createPluginMethodWrapper","impl","Unimplemented","methodHeader","rtype","nativePromise","nativeCallback","addListener","removeListener","addListenerNative","callbackId","convertFileSrc","filePath","pluginMethodNoop","_target","Exception","DEBUG","isLoggingEnabled","isNative","initCapacitorGlobal","WebPlugin","listeners","retainedEventArguments","windowListeners","listenerFunc","firstListener","windowListener","registered","addWindowListener","sendRetainedArgumentsForEvent","removeWindowListener","retainUntilConsumed","windowEventName","pluginEventName","notifyListeners","Unavailable","handle","encode","encodeURIComponent","decodeURIComponent","escape","decode","CapacitorCookiesPluginWeb","cookies","cookie","cookieMap","setCookie","encodedKey","encodedValue","expires","toUTCString","clearAllCookies","clearCookies","web","readBlobAsBase64","blob","reader","FileReader","base64String","readAsDataURL","normalizeHttpHeaders","headers","originalKeys","toLocaleLowerCase","buildUrlParams","shouldEncode","accumulator","buildRequestInit","output","FormData","Headers","CapacitorHttpPluginWeb","requestInit","webFetchExtra","urlParams","shouldEncodeUrlParams","contentType","responseType","request","Directory","Encoding","Filesystem","FilesystemWeb","checkForUpdate","currentVersionCode","staging","production","compareVersion","versionName","apkUrl","version1","version2","v1","v2","part1","part2","downloadAndSaveAPK","base64","onloadend","fileName","writeFile","directory","External","_hasBuffer","Buffer","_TD","TextDecoder","_TE","TextEncoder","b64ch","b64chs","b64tab","tab","b64re","_fromCC","_U8Afrom","Uint8Array","it","_mkUriSafe","m0","_tidyB64","btoaPolyfill","bin","u32","c0","asc","pad","TypeError","substring","_btoa","btoa","_fromUint8Array","u8a","strs","subarray","fromUint8Array","urlsafe","cb_utob","re_utob","utob","_encode","encodeURI","re_btou","cb_btou","cccc","btou","atobPolyfill","u24","r1","r2","_atob","atob","_toUint8Array","toUint8Array","_unURI","_decode","isValid","_noEnum","extendString","_add","extendUint8Array","extendBuiltins","gBase64","fromBase64","toBase64","encodeURL","checkAndUpdateApp","download","click","downloadAPK","savePWA","deferredPrompt","prompt","userChoice","outcome","encodeBase64","Base64","decodeBase64","encoded","copy","textarea","execCommand","fillterLongID","decimal","fillterLongUserName","formatMoney","amount","decimalCount","thousands","negativeSign","removeThousandSeparatorWithDecimal","chunkArray","chunkSize","needComplete","chunk","getRandomIntInclusive","random","parseUrl","parsedUrl","URL","search","splitText","unitConversion","formatNavTab","truncateText","maxLength","formatDate","hour","getHours","getMinutes","second","getSeconds","getMobileOperatingSystem","vendor","opera","MSStream","IOS","ANDROID","isNativeApp","findValueIn2DArray","targetObj","flatMap","row","rowIndex","col","colIndex","currentPage","HOME","WITHDRAW","ACTIVE","setSEO","seo","home","ET","GH","TZ","CI","KE","deposit","defaultCurrencyAlias","checkCountry","defaultHostname","localHostName","checkCid","activeCanvasAnimation","canvas","COLORS","Confetti","PI_2","confetti","drawCircle","range","resizeWindow","xpos","PI","getContext","clearRect","beginPath","arc","fillStyle","onmousemove","pageX","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","rgb","opacity","dop","xmax","ymax","vx","vy","results","draw","enterEnvelop","envelopeUrl","formatPayChannelName","routing","paymentMethod","payChannel","checkLuckywheel","accept","pragma","referrer","referrerPolicy","credentials","spinNum","M","ordinal","z","utcOffset","D","ms","Q","S","O","$L","utc","$u","$x","$offset","UTC","$y","$M","$D","$W","$H","$m","$s","$ms","getMilliseconds","$utils","isSame","startOf","endOf","isAfter","isBefore","$g","unix","valueOf","toDate","$locale","weekStart","$set","daysInMonth","subtract","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","$i","isDayjs","en","Ls","countries","userInfo","methodConfig","rechargeCount","username","password","verificationCode","envelopeId","inviteUserId","post","updateUserInfo","setToken","phoneNumber","oldPassword","configs","withdrawPayMentMethods","dayjs","kindOf","thing","kindOfTest","typeOfTest","isUndefined","isBuffer","isArrayBuffer","isArrayBufferView","ArrayBuffer","isView","buffer","toStringTag","isFile","isBlob","isFileList","isStream","pipe","isFormData","kind","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","findKey","_global","isContextDefined","merge","caseless","assignValue","targetKey","stripBOM","inherits","superConstructor","descriptors","toFlatObject","sourceObj","destObj","propFilter","endsWith","searchString","isTypedArray","TypedArray","forEachEntry","pair","matchAll","exec","isHTMLForm","toCamelCase","p1","p2","reduceDescriptors","reducer","reducedDescriptors","freezeMethods","toObjectSet","arrayOrString","delimiter","define","toFiniteNumber","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","generateString","alphabet","isSpecCompliantForm","toJSONObject","visit","reducedValue","isAsyncFn","isThenable","_setImmediate","setImmediateSupported","setImmediate","postMessageSupported","postMessage","callbacks","asap","queueMicrotask","utils$1","hasOwnProp","AxiosError","captureStackTrace","utils","lineNumber","columnNumber","customProps","axiosError","cause","httpAdapter","isVisitable","removeBrackets","renderKey","dots","isFlatArray","predicates","toFormData","formData","metaTokens","indexes","visitor","defaultVisitor","useBlob","Blob","convertValue","exposedHelpers","charMap","AxiosURLSearchParams","_pairs","buildURL","serialize","serializeFn","serializedParams","hashmarkIndex","encoder","InterceptorManager","handlers","synchronous","runWhen","transitionalDefaults","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams$1","FormData$1","Blob$1","platform$1","protocols","hasBrowserEnv","_navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","toURLEncodedForm","isNode","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","stringifySafely","parser","transitional","adapter","transformRequest","getContentType","hasJSONContentType","isObjectPayload","setContentType","formSerializer","_FormData","env","transformResponse","JSONRequested","strictJSONParsing","ERR_BAD_RESPONSE","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","Accept","ignoreDuplicateOf","parseHeaders","rawHeaders","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","buildAccessors","accessorName","methodName","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_header","_rewrite","lHeader","setHeaders","matcher","deleted","deleteHeader","targets","asStrings","accessors","defineAccessor","transformData","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","parseProtocol","speedometer","samplesCount","bytes","timestamps","firstSampleTS","chunkLength","startedAt","bytesCount","passed","throttle","freq","lastArgs","threshold","invoke","accessor","mapped","headerValue","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","loaded","lengthComputable","progressBytes","rate","progress","estimated","progressEventDecorator","throttled","asyncDecorator","isURLSameOrigin","isMSIE","protocol","port","secure","toGMTString","RegExp","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","configValue","resolveConfig","newConfig","auth","unescape","xsrfValue","isXHRAdapterSupported","XMLHttpRequest","xhrAdapter","_config","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","unsubscribe","signal","responseHeaders","getAllResponseHeaders","responseText","statusText","onreadystatechange","responseURL","onabort","ECONNABORTED","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","upload","abort","subscribe","aborted","composeSignals","signals","controller","AbortController","reason","streamChunk","byteLength","readBytes","iterable","readStream","stream","asyncIterator","getReader","trackStream","onProgress","onFinish","_onFinish","ReadableStream","pull","loadedBytes","enqueue","return","highWaterMark","isFetchSupported","Request","Response","isReadableStreamSupported","encodeText","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","duplex","DEFAULT_CHUNK_SIZE","supportsResponseStream","resolvers","ERR_NOT_SUPPORT","getBodyLength","resolveBodyLength","getContentLength","fetchAdapter","fetchOptions","composedSignal","toAbortSignal","requestContentLength","contentTypeHeader","_request","isCredentialsSupported","isStreamResponse","responseContentLength","responseData","knownAdapters","http","xhr","renderReason","isResolvedHandle","adapters","getAdapter","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","throwIfRequested","dispatchRequest","validators","deprecatedWarnings","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","formatMessage","ERR_DEPRECATED","spelling","correctSpelling","Axios","instanceConfig","interceptors","configOrUrl","dummy","boolean","function","baseUrl","withXsrfToken","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","responseInterceptorChain","onFulfilled","onRejected","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","spread","isAxiosError","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","defaultConfig","axios","Cancel","promises","formToJSON","myTimestamp","success","useEnvelopeStore","reward","inviteUserName","isFinishGuide","noticeRecords","browserId","visitorId","_sfc_main","resbaseurl","newvalue","checkNotice","setInterval","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_createElementBlock","_component_van_notify","_cache","$event","padding","_withCtx","_createElementVNode","_toDisplayString","nickname","currency","currencyAlias","selectLanguage","showPopover","languagesCI","languagesET","languagesKE","languagesTZ","setLanguage","currentLanguage","_openBlock","_component_van_popover","onSelect","_normalizeClass","isRouteComponent","isESModule","__esModule","applyToParams","newParams","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","encodeHash","encodeQueryValue","encodeQueryKey","encodePath","encodeParam","TRAILING_SLASH_RE","removeTrailingSlash","parseURL","parseQuery","currentLocation","hashPos","searchPos","resolveRelativePath","stringifyURL","stringifyQuery","stripBase","pathname","isSameRouteLocation","aLastIndex","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","aliasOf","isSameRouteLocationParamsValue","isEquivalentArray","fromSegments","toSegments","lastToSegment","toPosition","segment","START_LOCATION_NORMALIZED","redirectedFrom","NavigationType","NavigationDirection","normalizeBase","baseEl","BEFORE_HASH_RE","createHref","getElementPosition","docRect","elRect","behavior","computeScrollPosition","scrollY","scrollToPosition","scrollToOptions","positionEl","isIdSelector","getElementById","getScrollKey","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","createBaseLocation","createCurrentLocation","slicePos","pathFromHash","useHistoryListeners","historyState","teardowns","pauseState","popStateHandler","fromState","forward","back","unknown","beforeUnloadListener","replaceState","pauseListeners","listen","teardown","buildState","replaced","computeScroll","useHistoryStateNavigation","changeLocation","hashIndex","currentState","createWebHistory","historyNavigation","historyListeners","routerHistory","go","triggerListeners","isRouteLocation","isRouteName","NavigationFailureSymbol","NavigationFailureType","createRouterError","isNavigationFailure","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","sensitive","strict","REGEX_CHARS_RE","tokensToParser","score","segmentScores","tokenIndex","subSegmentScore","repeatable","optional","regexp","re","subPattern","avoidDuplicatedSlash","compareScoreArray","comparePathParserScore","aScore","bScore","isLastScoreNegative","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","previousState","finalizeSegment","customRe","consumeBuffer","addCharToBuffer","createRouteRecordMatcher","alias","createRouterMatcher","globalOptions","matchers","matcherMap","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","normalizedRecords","aliases","originalMatcher","normalizedRecord","parentPath","connectingSlash","isAliasRecord","removeRoute","isMatchable","insertMatcher","matcherRef","paramsFromLocation","parentMatcher","mergeMetaFields","clearRoutes","getRoutes","getRecordMatcher","redirect","normalizeRecordProps","instances","leaveGuards","updateGuards","enterCallbacks","propsObject","partialOptions","mid","insertionAncestor","getInsertionAncestor","lastIndexOf","ancestor","searchParams","searchParam","eqPos","currentValue","normalizeQuery","normalizedQuery","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","useCallbacks","guardToPromiseFn","enterCallbackArray","guardReturn","guardCall","extractComponentsGuards","guardType","guards","rawComponent","componentPromise","resolvedComponent","useLink","activeRecordIndex","routeMatched","currentMatched","parentRecordPath","getOriginalPath","includesParams","isExactActive","navigate","guardEvent","viewTransition","startViewTransition","preferSingleVNode","RouterLinkImpl","compatConfig","MODE","activeClass","exactActiveClass","ariaCurrentValue","elClass","getLinkClass","linkActiveClass","linkExactActiveClass","RouterLink","defaultPrevented","outer","inner","innerValue","outerValue","propClass","globalClass","defaultClass","RouterViewImpl","injectedRoute","routeToDisplay","injectedDepth","initialDepth","matchedRoute","matchedRouteRef","viewRef","oldInstance","oldName","ViewComponent","routePropsOption","slotContent","RouterView","createRouter","parseQuery$1","stringifyQuery$1","beforeGuards","beforeResolveGuards","afterGuards","pendingLocation","scrollBehavior","scrollRestoration","normalizeParams","paramValue","encodeParams","decodeParams","rawLocation","locationNormalized","matcherLocation","targetParams","locationAsObject","checkCanceledNavigation","pushWithRedirect","handleRedirectRecord","lastMatched","newTargetLocation","targetLocation","force","shouldRedirect","toLocation","failure","handleScroll","markAsReady","triggerError","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","installedApps","leavingRecords","updatingRecords","enteringRecords","extractChangingRecords","canceledNavigationCheck","runGuardQueue","isPush","isFirstNavigation","removeHistoryListener","ready","readyHandlers","errorListeners","_from","info","listening","started","parentOrRoute","recordMatcher","hasRoute","routeMatcher","beforeEach","beforeResolve","reactiveRoute","recordFrom","recordTo","_name","useLobbyStore","bannersHomeTop","recommend","functionTabs","functionTabIndex","collectGameId","bonusGamecategory","currentGameIsBonus","hasPopup","hasStickyBanner","allBanner","showdownloadBen","app_env","functionList","fillterGameList","itme","hotitem","cover","localName","functionWeight","updateLobby","getBannersHomeTop","getCategories","isRecommend","recommendWeight","banner","getBannerByCountryAndPOsition","nowTime","getUTCFullYear","getUTCMonth","getUTCDate","sticky_banner","hideStickyBanners","gameplayTag","pageNum","pageSize","category","gameId","endDate","startDate","system","terminal","popUps","DhLanguage","showDrawer","updateAnimation","menuList","bannersTop","bannersBottom","$on","boo","enterGame","onLogin","currentGameUrl","menu","luckywheel","LiveChatWidget","cmd","cmdValue","_hoisted_13","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","float","_hoisted_26","_hoisted_27","_createBlock","_component_van_popup","_hoisted_12","_hoisted_14","_hoisted_15","userId","onRegister","cash","onUpdateMoney","_createCommentVNode","onDeposit","onWithdraw","onBonus","_renderList","onClickBanner","onClickMenu","_hoisted_25","_component_DhLanguage","onLogout","menus","iconClass","iconUrl","selectUrl","showTips","bonusAmount","cd","onShowRegister","enterSportGame","onTouchFooter","onTouch","getCurrentRouter","onShowLogin","validateUsername","validatePassword","onShowSelectCountry","DhCountrySelectMenu","isPhone","minlength","inputType","errMsg","showpassword","keyboardEnterCallback","isFocus","setCustomDoneButton","_component_DhCountrySelectMenu","handleEnter","handleBlur","onShowPossWord","InputField","showValue","newPassword","usernameFocus","passwordFocus","onForget","onChat","_component_InputField","bannerUrl","isloading","_component_van_form","onOpenRegister","isLoading","btnName","lockBtn","setBtnName","onSend","finally","clearInterval","onHide","PIXEL_EVENT","VIEW_CONTENT","COMPLETE_REGISTRATION","SUBMIT_APPlICATION","START_TRIAL","ADD_TO_CART","INITIATE_CHECKOUT","PURCHASE","CUSTOMIZE_PRODUCT","mfbq","fbq","verify","changeStep","verifkStep","initUsername","initPassword","userNameKey","canClickNext","showCode","onTryAgain","onNext","_normalizeStyle","onChangeCode","LobbyVerify","verifyKey","onSignup","onFocusUserName","onJumpTC","_component_LobbyVerify","onOpenLogin","updateCountry","passwordKey","codeKey","addNum","showAnimation","totalReward","newCurrentReward","oldcurrentReward","ShareProgress","boostList","onShare","onWitchDraw","boostNames","collectType","collectNickname","onShareTG","_component_ShareProgress","telebirr","cbebirr","mpesa","other","isShowMore","selectChannel","seleceBankCode","rechargeChannel","parsePayMentDethods","paymentMethodGroups","groupPaymentMethods","cleanNumber","defaultChannel","fallbackChannels","onSelectBankCode","onUpdatePayMethod","payMethods","useDepositStore","requestConfig","createOrder","account","bankCode","otpCode","createOrderForKE","fee","queryPay","depositOrders","updateData","selectMethod","payChannels","selectBankCodeKey","omCode","withdrawChannel","onSelectMethod","__assign","qrcodegen","SuppressedError","QrCode","errorCorrectionLevel","dataCodewords","msk","modules","MIN_VERSION","MAX_VERSION","RangeError","drawFunctionPatterns","allCodewords","addEccAndInterleave","drawCodewords","minPenalty","applyMask","drawFormatBits","penalty","getPenaltyScore","assert","mask","ecl","segs","QrSegment","makeSegments","encodeSegments","encodeBinary","seg","makeBytes","minVersion","maxVersion","boostEcl","dataUsedBits","dataCapacityBits_1","getNumDataCodewords","usedBits","getTotalBits","Ecc","MEDIUM","QUARTILE","HIGH","newEcl","bb","segs_1","appendBits","modeBits","numChars","numCharCountBits","getData","dataCapacityBits","padByte","getModule","getModules","setFunctionModule","drawFinderPattern","alignPatPos","getAlignmentPatternPositions","numAlign","drawAlignmentPattern","drawVersion","formatBits","rem","bits","getBit","dy","dx","dist","xx","yy","isDark","ver","numBlocks","NUM_ERROR_CORRECTION_BLOCKS","blockEccLen","ECC_CODEWORDS_PER_BLOCK","rawCodewords","getNumRawDataModules","numShortBlocks","shortBlockLen","rsDiv","reedSolomonComputeDivisor","dat","ecc","reedSolomonComputeRemainder","vert","invert","runColor","runX","runHistory","PENALTY_N1","finderPenaltyAddHistory","finderPenaltyCountPatterns","PENALTY_N3","finderPenaltyTerminateAndCount","runY","PENALTY_N2","dark","sum","PENALTY_N4","degree","reedSolomonMultiply","divisor","_loop_2","factor","coef","data_1","core","currentRunColor","currentRunLength","cond","bitData","data_2","Mode","BYTE","makeNumeric","NUMERIC","makeAlphanumeric","isAlphanumeric","temp","ALPHANUMERIC_CHARSET","ALPHANUMERIC","toUtf8ByteArray","makeEci","assignVal","ECI","NUMERIC_REGEX","ALPHANUMERIC_REGEX","segs_2","ccbits","LOW","numBitsCharCount","KANJI","QR","defaultErrorCorrectLevel","ErrorCorrectLevelMap","L","H","SUPPORTS_PATH2D","Path2D","addPath","validErrorCorrectLevel","generatePath","ops","cell","getImageSettings","cells","imageSettings","imageX","imageY","numCells","defaultSize","scale","excavation","excavate","floorX","floorY","excavateModules","QRCodeProps","foreground","gradient","gradientType","gradientStartColor","gradientEndColor","QRCodeVueProps","renderAs","as","QrcodeSvg","imageProps","fgPath","_level","renderGradient","gradientProps","x1","y1","x2","y2","fx","fy","stopColor","xmlns","QrcodeCanvas","canvasEl","imageRef","_margin","image","showImage","naturalWidth","naturalHeight","fillRect","grad","createLinearGradient","createRadialGradient","addColorStop","rdx","cdx","drawImage","onLoad","QrcodeVue","QRCodeVue","PaymentMethod","isInGame","showWait","btnState","listData","inputAmount","showQRInfo","qrCode","currentAmount","currenReceived","statusTimer","showIfram","iframUrl","payStatus","payAmount","orderId","showHelp","qureypaymsg","enableviewtransaction","enableviewtransactionCD","interval","retryCode","showCredited","Configs","rechargeConfig","rechargeRecommendId","reqPrepay","queryOrderStatus","queryOrder","payUrl","getCurrentBonus","minimumRecharge","maximumReward","rewardPercent","tryagain","onTest","par","gototrancation","onCredited","_hoisted_28","_hoisted_33","_hoisted_34","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_36","_component_QRCodeVue","onCopiar","_hoisted_29","_hoisted_30","_hoisted_31","onConfitmer","_hoisted_32","_hoisted_35","onReTry","_component_PaymentMethod","onSelectAmount","rewardType","onRecharge","scrolling","frameborder","getPayerPar","SelectPayMethodsComponent","depositViewForKE","DepositViewForCI","isShowTips","selectBank","defaultType","bonusReward","recommendChannel","recommentConfig","amountObj","isNotRegisterOrActive","isNotBalance","showDepositKEPage","resetKey","bannerUrlForTz","minimum","mathBonus","isShowFailTips","getConfig","parseErrorTips","checkBannerForTz","bank","isMpesa","maximum","addAmount","adjustSelect","depositAmount","onSelectBank","isDefault","checkPhonePaymentType","isOther","redirectType","_component_select_pay_methods_component","reduceAmount","selectBankAndDeposit","_component_van_action_sheet","_component_deposit_view_for_k_e","fromPageCallback","_component_deposit_view_for_c_i","useMillionStore","ccc","spinRequest","winnerRrcord","useCashBackStore","configId","poolType","turnType","checkTopStatus","promotionsKey","promotions","superTopBanner","superLeftBanner","superRightBanner","loadConfig","getBannersByPosition","pigLoad","bigGlobal","BigGlobal","spinType","rewardVal","pageHistory","hasOpened","_component_van_grid","_component_van_grid_item","onNavigate","showBindingPhone","showRegister","showLogin","showSelectCountry","showResetPassword","showChangePassword","nextRouter","changepasswordKey","bindKey","userBarKey","showBoostListPopup","showFirstDepositPopup","showFirstPopup","DhPhoneBinding","Register","Login","SelectCountry","ChangePassWord","ResetPassword","ActiveBoostList","FirstDepositPopup","FirstPopup","updatecollectGameId","onShowMenu","addList","hidePopup","onCancelRegisterPopup","onHideResetPassword","_component_DhPhoneBinding","_component_Register","_component_Login","_component_SelectCountry","_component_ResetPassword","onResetPassword","_component_ChangePassWord","closeChangePassword","_component_ActiveBoostList","_component_first_deposit_popup","_component_first_popup","balanceWidth","onUseBonus","_component_van_overlay","$route","vps","onUseVps","BalanceTips","showBalanceTips","sticky_banners","hideDownloadAppBanner","balanceRef","onDownLoadAPk","checkShowAPPDownloadBanner","_component_van_swipe","_component_van_swipe_item","showBalanceInfo","_component_BalanceTips","factory","locationHref","_useWebWorker","initialDefaultFrame","setWebWorker","getWebWorker","setLocationHref","getLocationHref","createTag","extendPrototype","destination","sourcePrototype","attr","getDescriptor","createProxyFunction","ProxyFunction","audioControllerFactory","AudioController","audioFactory","audios","_volume","_isMuted","addAudio","audio","setRate","rateValue","createAudio","assetPath","Howl","isPlaying","seek","playing","setVolume","setAudioFactory","_updateVolume","mute","unmute","getVolume","volume","createTypedArray","createRegularArray","Uint8ClampedArray","Float32Array","Int16Array","createSizedArray","_typeof$6","subframeEnabled","expressionsPlugin","expressionsInterfaces","idPrefix$1","isSafari","bmPow","pow","bmSqrt","sqrt","bmFloor","bmMax","bmMin","BMMath","propertyNames","absArr","defaultCurveSegments","degToRads","roundCorner","styleDiv","transformOrigin","webkitTransformOrigin","backfaceVisibility","webkitBackfaceVisibility","transformStyle","webkitTransformStyle","mozTransformStyle","BMEnterFrameEvent","currentTime","totalTime","frameMultiplier","BMCompleteEvent","BMCompleteLoopEvent","totalLoops","currentLoop","BMSegmentStartEvent","firstFrame","totalFrames","BMDestroyEvent","BMRenderFrameErrorEvent","nativeError","BMConfigErrorEvent","createElementID","_count","HSVtoRGB","RGBtoHSV","addSaturationToRGB","hsv","addBrightnessToRGB","addHueToRGB","rgbToHex","hex","colorMap","setSubframeEnabled","getSubframeEnabled","setExpressionsPlugin","getExpressionsPlugin","setExpressionInterfaces","getExpressionInterfaces","setDefaultCurveSegments","getDefaultCurveSegments","setIdPrefix","createNS","_typeof$5","dataManager","workerFn","workerInstance","_counterId","processes","workerProxy","onmessage","_workerSelf","setupWorker","Worker","createObjectURL","completeLayers","layers","comps","layerData","jLen","kLen","completed","hasMask","maskProps","masksProperties","pt","convertPathsToAbsoluteValues","ty","findCompLayers","refId","completeShapes","shapes","completeText","__used","ks","checkVersion","animVersionString","animVersion","minimumVersion","checkText","iterateLayers","textLayer","documentData","animationData","assets","checkChars","chars","charData","ip","op","st","sr","sk","sa","checkPathProperties","pathData","checkColors","iterateShapes","checkShapes","completeClosingShapes","closed","cl","moduleOb","__complete","assetLoader","formatResponse","getResponseHeader","errorCallback","completeData","animation","onComplete","createProcess","loadAnimation","processId","loadData","completeAnimation","anim","ImagePreloader","proxyImage","imageLoaded","loadedAssets","totalImages","loadedFootagesCount","totalFootages","imagesLoadedCb","footageLoaded","getAssetsPath","assetData","assetsPath","originalPath","imagePath","testImageLoaded","img","intervalId","getBBox","_imageLoaded","createFootageData","ob","footageData","_footageLoaded","ImagePreloaderFactory","images","loadAssets","_createImageData","setAssetsPath","setPath","loadedImages","loadedFootages","getAsset","createImgData","crossOrigin","createImageData","_elementHelper","setCacheType","elementHelper","BaseEvent","triggerEvent","_cbs","markerParser","parsePayloadLines","lines","keysCount","_markers","markers","_marker","markerData","dr","cm","__","ProjectInterface","registerComposition","compositions","_thisProjectFunction","nm","prepareFrame","xt","currentFrame","compInterface","renderers","registerRenderer","getRenderer","getRegisteredRenderer","_typeof$4","AnimationItem","isLoaded","currentRawFrame","frameRate","frameMult","playSpeed","playDirection","playCount","isPaused","animationID","timeCompleted","segmentPos","isSubframeEnabled","_idle","_completedLoop","projectInterface","imagePreloader","audioController","configAnimation","onSetupError","onSegmentComplete","drawnFrameEvent","setParams","animType","RendererClass","rendererSettings","globalData","defs","setProjectInterface","autoloadSegments","initialSegment","setupAnimation","setData","wrapperAttributes","getNamedItem","prerender","includeLayers","newLayers","fonts","fontManager","addChars","addFonts","initExpressions","loadNextSegment","segmentPath","loadSegments","imagesLoaded","checkLoaded","preloadImages","animData","fr","searchExtraCompositions","updaFrameModifier","waitForFontsLoaded","triggerConfigError","rendererType","initItems","gotoFrame","_width","_height","updateContainerSize","setSubframe","renderFrame","resetFrame","triggerRenderFrameError","togglePause","setCurrentRawFrameValue","getMarkerData","markerName","marker","goToAndStop","isFrame","numValue","frameModifier","goToAndPlay","playSegments","advanceTime","_isComplete","checkSegments","adjustSegment","setSpeed","setDirection","setSegment","pendingFrame","forceFlag","resetSegments","onEnterFrame","onLoopComplete","onSegmentStart","onDestroy","setLoop","isLooping","getPath","getAssetData","hide","getDuration","updateDocumentData","getElementByPath","animationManager","registeredAnimations","initTime","playingAnimationsNum","_isFrozen","removeElement","ev","animItem","subtractPlayingCount","registerAnimation","elem","addPlayingCount","elapsedTime","searchAnimations","standalone","animElements","getElementsByClassName","lenAnims","div","unfreeze","getRegisteredAnimations","animations","BezierFactory","beziers","bezEasing","BezierEasing","kSplineTableSize","kSampleStepSize","float32ArraySupported","A","aA1","aA2","B","calcBezier","aT","getSlope","points","_mSampleValues","_precomputed","mX1","mY1","mX2","mY2","_precompute","_getTForX","_calcSampleValues","aX","mSampleValues","intervalStart","currentSample","lastSample","guessForT","initialSlope","aGuessT","currentSlope","aA","aB","currentX","currentT","pooling","double","poolFactory","initialLength","_create","_release","_length","_maxLength","pool","newElement","release","bezierLengthPool","addedLength","percents","lengths","segmentsLengthPool","totalLength","bezFunction","math","pointOnLine2D","x3","y3","det1","getBezierLength","pt1","pt2","pt3","pt4","ptCoord","perc","ptDistance","curveSegments","point","lastPoint","lengthData","BezierData","segmentLength","PointData","partial","partialLength","storedData","buildBezierData","bezierName","bezierData","getDistancePerc","initPos","lengthPos","lPerc","bezierSegmentPoints","getSegmentsLength","shapeData","segmentsLength","pathV","pathO","pathI","getNewSegment","startPerc","endPerc","t0","t1","u0","u1","u0u0u0","t0u0u0_3","t0t0u0_3","t0t0t0","u0u0u1","t0u0u1_3","t0t0u1_3","t0t0t1","u0u1u1","t0u1u1_3","t0t1u1_3","t0t1t1","u1u1u1","t1u1u1_3","t1t1u1_3","t1t1t1","getPointInSegment","pointOnLine3D","z1","z2","z3","diffDist","dist1","dist2","dist3","bez","initFrame","mathAbs","interpolateValue","frameNum","caching","offsetTime","pv","keyData","nextKeyData","keyframeMetadata","fnc","iterationIndex","keyframes","keyframesMetadata","endValue","nextKeyTime","keyTime","ti","ind","__fnct","getBezierEasing","segmentPerc","distanceInLine","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","outX","outY","inX","inY","keyValue","sh","quaternionToEuler","slerp","createQuaternion","omega","cosom","sinom","scale0","scale1","out","ax","ay","az","aw","bx","by","bz","bw","acos","sin","quat","qx","qy","qz","qw","heading","atan2","attitude","asin","cos","c3","s3","getValueAtCurrentTime","renderedFrame","endTime","_caching","renderResult","setVValue","multipliedValue","mult","_mdf","processEffectsSequence","frameId","effectsSequence","_isFirstFrame","finalValue","kf","addEffect","effectFunction","addDynamicProperty","ValueProperty","vel","MultiDimensionalProperty","KeyframedValueProperty","KeyframedMultidimensionalProperty","arrLen","PropertyFactory","sid","slotManager","DynamicPropertyContainer","dynamicProperties","_isAnimated","iterateDynamicProperties","initDynamicPropertyContainer","pointPool","ShapePath","setPathData","setLength","doubleArrayLength","setXYAt","setTripleAt","vX","vY","oX","oY","iX","iY","newPath","vertices","outPoints","inPoints","cnt","shapePool","shapePath","shape","ShapeCollection","addShape","releaseShapes","shapeCollectionPool","newShapeCollection","shapeCollection","ShapePropertyFactory","interpolateShape","previousValue","keyPropS","keyPropE","isHold","vertexValue","interpolateShapeCurrentTime","resetShape","paths","localShapeCollection","shape1","shape2","ShapeProperty","KeyframedShapeProperty","EllShapeProperty","cPoint","EllShapePropertyFactory","convertEllToPath","p0","s0","_cw","_v","StarShapeProperty","StarShapePropertyFactory","sy","ir","convertToPath","convertStarToPath","convertPolygonToPath","or","os","rad","roundness","perimSegment","numPts","angle","longFlag","longRad","shortRad","longRound","shortRound","longPerimSegment","shortPerimSegment","currentAng","ox","oy","RectShapeProperty","RectShapePropertyFactory","convertRectToPath","v0","Matrix","_cos","_sin","_tan","tan","_rnd","rotate","mCos","mSin","_t","rotateX","rotateY","rotateZ","shear","sx","skew","skewFromAxis","sz","setTransform","tx","tz","a2","b2","d2","f2","g2","i2","j2","k2","m2","o2","_identityCalculated","a1","b1","d1","f1","g1","h1","i1","j1","k1","l1","m1","o1","multiply","matrix","matrixProps","isIdentity","_identity","equals","matr","cloneFromProps","applyToPoint","applyToX","applyToY","applyToZ","getInverseMatrix","determinant","inverseMatrix","inversePoint","applyToPointArray","inversePoints","pts","retPts","applyToTriplePoints","p4","p5","p12","p13","applyToPointStringified","toCSS","cssValue","roundMatrixProperty","to2dCSS","_typeof$3","lottie","setLocation","setSubframeRendering","setPrefix","setQuality","installPlugin","getFactory","checkReady","readyStateCheckInterval","getQueryVariable","variable","vars","queryString","useWebWorker","setIDPrefix","__getFactory","scripts","myScript","exports","bodymovin","ShapeModifiers","registerModifier","getModifier","ShapeModifier","TrimModifier","PuckerAndBloatModifier","initModifierProperties","addShapeToModifier","setAsAnimated","processKeys","sValue","eValue","pathsData","calculateShapeEdges","shapeLength","totalModifierLength","segmentOb","shapeSegments","shapeS","shapeE","releasePathsData","processShapes","shapePaths","totalShapeLength","edges","newShapesData","addShapes","lastShape","addPaths","newPaths","addSegment","newShape","addSegmentFromArray","shapeSegment","currentLengthData","segmentCount","processPath","centerPoint","pathLength","clonedPath","TransformPropertyFactory","defaultVector","TransformProperty","pre","appliedTransformations","px","py","pz","rx","ry","rz","_isDirty","applyToMatrix","mat","forceRender","precalculateMatrix","autoOriented","getValueAtTime","autoOrient","_addDynamicProperty","getTransformProperty","RepeaterModifier","RoundCornersModifier","floatEqual","floatZero","lerp","lerpPoint","quadRoots","singleRoot","polynomialCoefficients","p3","singlePoint","PolynomialBezier","linearize","pointEqual","coeffx","coeffy","extrema","intersectData","t2","box","boundingBox","splitData","boxIntersect","intersectsImpl","tolerance","intersections","maxRecursion","d1s","d2s","crossProduct","lineIntersection","start1","end1","start2","end2","v3","v4","polarOffset","pointDistance","hypot","ZigZagModifier","setPoint","outputBezier","amplitude","outAmplitude","inAmplitude","angO","angI","getPerpendicularVector","vector","rot","getProjectingAngle","prevIndex","pVector","zigZagCorner","frequency","pointType","prevPoint","nextPoint","prevDist","nextDist","zigZagSegment","normalAngle","linearOffset","offsetSegment","p1a","p1b","p2b","p2a","joinLines","seg1","seg2","lineJoin","miterLimit","angleOut","tangentAngle","angleIn","radius","intersection","getIntersection","intersect","pruneSegmentIntersection","outa","outb","pruneIntersections","offsetSegmentSplit","flex","inflectionPoints","OffsetPathModifier","getFontProperties","fontData","fStyle","fWeight","weight","tr","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","applyTransforms","inv","elemsData","_currentCopies","_elements","_groups","resetElements","_processed","cloneElements","newElements","changeGroupRender","renderFlag","_render","itemsTransform","cont","hasReloaded","copies","group","ix","reloadShapes","elems","offsetModulo","roundOffset","pProps","rProps","sProps","iteration","mProps","rd","currentV","currentI","currentO","closerV","newPosPerc","derivative","denom","tcusp","p10","p11","p20","p21","bounds","shapeSegmentInverted","pointsType","ml","lj","inputBezier","multiSegments","lastSeg","multiSegment","FontManager","emptyChar","combinedCharacters","BLACK_FLAG_CODE_POINT","surrogateModifiers","setUpNode","font","family","fontFamily","fontVariant","fontStyle","fontWeight","letterSpacing","familyArray","enabledFamilies","createHelper","engine","fontProps","tHelper","fFamily","fClass","tCanvasHelper","OffscreenCanvas","measureText","getComputedTextLength","getCodePoint","string","isRegionalCode","Font","typekitLoaded","_warned","setIsLoadedBinded","setIsLoaded","checkLoadedFontsBinded","checkLoadedFonts","isModifier","firstCharCode","secondCharCode","isZeroWidthJoiner","charCode","isFlagEmoji","isCombinedCharacter","_char3","isRegionalFlag","isVariationSelector","fontPrototype","fontArr","_pendingFonts","loadedSelector","shouldLoadFont","monoCase","sansCase","fPath","fOrigin","querySelectorAll","getCharData","_char","getFontByName","fName","_char2","fontName","doubleSize","singleSize","loadedCount","SlotManager","slotFactory","RenderableElement","initRenderable","isInRange","isTransparent","renderableComponents","addRenderableComponent","removeRenderableComponent","prepareRenderableFrame","checkLayerLimits","checkTransparency","finalTransform","mProp","renderConfig","hideOnTransparent","renderRenderable","sourceRectAtTime","getLayerSize","textData","getBlendMode","blendModeEnums","SliderEffect","AngleEffect","ColorEffect","PointEffect","LayerIndexEffect","MaskIndexEffect","CheckboxEffect","NoValueEffect","EffectsManager","ef","effectElements","effectItem","GroupEffect","BaseElement","FrameElement","FootageElement","imageLoader","initBaseData","AudioElement","_isPlaying","_canPlay","_currentTime","_volumeMultiplier","_previousVolume","_placeholder","lv","au","BaseRenderer","eff","checkMasks","LayerExpressionInterface","EffectsExpressionInterface","ShapeExpressionInterface","TextExpressionInterface","CompExpressionInterface","layerInterface","maskManager","registerMaskInterface","effectsInterface","createEffectsInterface","registerEffectsInterface","shapeInterface","shapesData","itemsData","textInterface","setBlendMode","blendModeValue","baseElement","layerElement","layerId","effectsManager","getType","prepareProperties","isVisible","_isParent","getBaseElement","FootageInterface","getFootageData","timeRemapped","totalVolume","volumeValue","checkLayers","buildItem","checkPendingElements","createItem","layer","createImage","createComp","createSolid","createNull","createShape","createCamera","createFootage","buildAllItems","pInterface","progressiveLoad","buildElementParenting","parentName","hierarchy","setAsParent","setHierarchy","addPendingElement","pendingElements","pathValue","setupGlobalData","fontsContainer","animationItem","compSize","effectTypes","TRANSFORM_EFFECT","TransformElement","MaskElement","maskElement","viewData","solidPath","expansor","feMorph","properties","currentMasks","maskType","maskRef","getShapeProp","lastPath","filterID","expan","lastOperator","filterId","lastRadius","createLayerSolidPath","invRect","drawPath","maskedElement","initTransform","_matMdf","_localMatMdf","_opMdf","localMat","localOpacity","ao","renderTransform","finalMat","renderLocalTransform","localTransforms","lmat","localOp","searchEffectTransforms","renderableEffectsManager","transformEffects","getEffects","globalToLocal","transforms","ptNew","mHelper","getMaskProperty","isFirstFrame","getMaskelement","pathNodes","pathString","pathShapeValue","filtersFactory","filId","skipCoordinates","fil","feColorMatrix","featureSupport","svgLumaHidden","offscreenCanvas","registeredEffects$1","idPrefix","SVGEffects","filterManager","createFilter","countsAsEffect","registerEffect$1","SVGBaseElement","HierarchyElement","RenderableDOMElement","IImageElement","initElement","sourceRect","ProcessedElement","IShapeElement","initRendererElement","createContainerElements","matteElement","transformedElement","_sizeChanged","layerElementParent","td","matteMasks","gg","ln","hd","cp","clipId","cpGroup","renderElement","destroyBaseElement","createRenderableComponents","getMatte","matteType","useElement","masker","createAlphaToLuminanceFilter","maskGroup","maskGrouper","feCTr","feFunc","alphaRect","setMatte","initHierarchy","checkParenting","createContent","renderInnerContent","innerElem","pr","imagePreserveAspectRatio","addShapeToModifiers","shapeModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","renderModifiers","searchProcessedElement","processedElements","addProcessedElement","lineCapEnum","lineJoinEnum","SVGShapeData","transformers","caches","lStr","lvl","SVGStyleData","pElem","msElem","DashProperty","dataProps","dashStr","dashArray","dashoffset","SVGStrokeStyleData","styleOb","SVGFillStyleData","SVGNoStyleData","GradientProperty","cLength","_cmdf","_omdf","_collapsable","checkCollapsable","_hasOpacity","SVGGradientFillStyleData","initGradientData","SVGGradientStrokeStyleData","ShapeGroupData","prevViewData","gr","SVGTransformData","comparePoints","stops","setGradientData","setGradientOpacity","pathElement","gradientId","gfill","gf","cst","opacityId","maskId","opFill","lc","of","ost","buildShapeString","_o","shapeString","SVGElementsRenderer","_identityMatrix","_matrixHelper","renderContentTransform","styleData","itemData","renderNoop","renderPath","pathStringTransformed","redraw","iterations","lLen","renderFill","styleElem","renderGradientStroke","renderStroke","hasOpacity","attr1","attr2","cValues","oValues","ang","createRenderFunction","SVGShapeElement","stylesList","animatedContents","LetterProps","sw","fc","TextProperty","_frameId","keysIndex","canResize","minimumFontSize","currentData","ascent","boxWidth","defaultBoxWidth","justifyOffset","lh","lineWidths","ls","ps","fillColorAnim","strokeColorAnim","strokeWidthAnim","yOffset","finalSize","finalText","finalLineHeight","copyData","searchProperty","completeTextData","initSecondaryElement","identityMatrix","buildExpressionInterface","searchShapes","filterUniqueShapes","tempShapes","areAnimated","setShapesAsAnimated","createStyleElement","elementData","addToAnimatedContents","createGroupElement","createTransformElement","transformProperty","createShapeElement","ownTransformers","setElementStyles","currentTransform","processedPos","ownStyles","ownModifiers","renderShape","animatedContent","setCurrentData","searchKeyframes","getKeyframeValue","_finalValue","currentIndex","textKeys","buildFinalText","charactersArray","shouldCombine","shouldCombineNext","currentChars","newLineFlag","letters","anchorGrouping","currentSize","currentPos","currentLine","lineWidth","maxLineWidth","trackingOffset","currentHeight","boxHeight","lastSpaceIndex","uncollapsedSpaces","an","anIndexes","animatorJustifyOffset","animatorData","letterData","based","animators","fh","fs","fb","rn","totalChars","newInd","currentInd","newData","dData","recalculate","canResizeFont","_canResize","setMinimumFontSize","_fontValue","TextSelectorProp","TextSelectorPropFactory","_currentTextLength","finalS","finalE","xe","ne","sm","getMult","textProperty","easer","tot","smoothness","newCharsFlag","getTextSelectorProp","TextAnimatorDataProperty","animatorProps","defaultData","textAnimatorAnimatables","TextAnimatorProperty","renderType","_hasMaskedPath","_textData","_renderType","_elem","_animatorsData","_pathData","_moreOptions","alignment","renderedLetters","lettersChangedFlag","ITextElement","searchProperties","getMeasures","xPos","yPos","pathInfo","currentLength","currentPoint","pointInd","segmentInd","tanAngle","matrixHelper","renderedLettersCount","tLength","pi","letterValue","yOff","firstLine","offf","xPathPos","yPathPos","elemOpacity","letterSw","letterSc","letterFc","letterO","initPathPos","initSegmentInd","initPointInd","letterM","letterP","defaultPropsArray","animatorFirstCharOffset","justifyOffsetMult","isNewLine","animatorOffset","atan","textAnimator","createPathShape","shapeStr","_fontSize","applyTextPropertiesToMatrix","buildColor","colorData","emptyProp","validateText","buildNewText","emptyShapeData","SVGTextLottieElement","textSpans","ISolidElement","NullElement","SVGRendererBase","ICompElement","SVGCompElement","supports3d","SVGRenderer","svgElement","ariaLabel","titleElement","titleId","descElement","descId","preserveAspectRatio","contentVisibility","viewBoxOnly","viewBoxSize","focusable","filterSize","runExpressions","ShapeTransformManager","sequences","sequenceList","transform_key_count","singleShape","textContainer","buildTextContents","textArray","textContents","currentTextContent","buildShapeData","shapeItem","tSpan","usesGlyphs","cachedSpansLength","childSpan","glyph","glyphElement","_debug","tElement","justify","textBox","bbox","renderedLetter","textSpan","findIndexByInd","appendElementInPos","elementIndex","tp","matteMask","nextElement","setElements","getElements","destroyElements","addTransformSequence","processSequence","processSequences","getNewKey","lumaLoader","lumaBuffer","lumaBufferCtx","svg","loadLuma","_svg","createCanvas","loadLumaCanvas","getLumaCanvas","registeredEffects","CVEffects","registerEffect","CVMaskElement","hasMasks","CVBaseElement","canvasContext","moveTo","lineTo","bezierCurveTo","clip","operationsMap","CVShapeData","transformsManager","styledShapes","styledShape","trNodes","CVShapeElement","CVTextElement","stroke","currentRender","sWidth","fValue","CVImageElement","CVSolidElement","CanvasRendererBase","CanvasContext","strokeStyle","lineCap","CVContextData","cArrPos","cTr","nativeContext","transformMat","currentOpacity","currentFillStyle","appliedFillStyle","currentStrokeStyle","appliedStrokeStyle","currentLineWidth","appliedLineWidth","currentLineCap","appliedLineCap","currentLineJoin","appliedLineJoin","appliedMiterLimit","currentMiterLimit","CVCompElement","CanvasRenderer","clearCanvas","currentGlobalAlpha","contextData","ctxTransform","ctxOpacity","ctxFillStyle","ctxStrokeStyle","ctxLineWidth","ctxLineCap","ctxLineJoin","ctxMiterLimit","ctxFill","ctxFillRect","ctxStroke","HBaseElement","HSolidElement","HShapeElement","shapesContainer","currentBBox","HTextElement","textPaths","isMasked","HCameraElement","pe","_prevMat","HImageElement","HybridRendererBase","threeDElements","camera","HCompElement","HybridRenderer","createElements","buffers","bufferCanvas","bufferCanvas2","_isProxy","transformCanvas","blendMode","globalCompositeOperation","hideElement","showElement","prepareLayer","bufferCtx","getTransform","exitLayer","forceRealStack","restore","transformHelper","dashResetter","preTransforms","co","wi","addTransformToStyleList","removeTransformFromStyleList","closeStyles","ownTransforms","_shouldRender","renderShapeTransform","parentTransform","groupTransform","drawLayer","currentStyle","coOp","grd","setLineDash","lineDashOffset","closePath","isMain","renderGradientFill","renderStyledShape","shapeNodes","groupTransformMat","hasFill","hasStroke","commands","pathArr","commandsCounter","lastFill","lastStroke","lastStrokeW","widthCrop","heightCrop","imgW","imgH","imgRel","canvasRel","globalAlpha","actionFlag","containerStyle","mozTransformOrigin","setContext","isDashed","elementWidth","elementHeight","elementRel","animationRel","fillType","duplicate","forceRestore","currentContext","prevStack","saveOnNativeFlag","currentStack","newStack","setOpacity","trProps","checkBlendMode","tg","transformedElementStyle","matrixValue","webkitTransform","addEffects","_renderShapeFrame","shapeCont","getTransformedPoint","calculateShapeBoundingBox","vPoint","oPoint","nextIPoint","nextVPoint","checkBounds","getBoundsOfCurve","shapeBoundingBox","xMax","yMax","tempBoundingBox","b2ac","calculateF","calculateBoundingBox","expandStrokeBoundingBox","widthProperty","kfw","currentBoxContains","changed","shapeStyle","shapeTransform","compW","compH","innerElemStyle","strokeWidth","lineHeight","tParent","tCont","tContStyle","tContTranslation","tStyle","tSpanTranslation","svgStyle","translation","textPath","svgTransform","perspectiveStyle","perspectiveElem","webkitPerspective","mTransf","diffVector","mag","lookDir","lookLengthOnXZ","mRotationX","mRotationY","hasMatrixChanged","matValue","Image","imageElem","newDOMElement","ddd","addTo3dContainer","nextDOMElement","nextLayer","getThreeDContainerByPos","startPos","endPos","createThreeDContainer","threeDContainerData","build3dContainers","lastThreeDContainerData","resizerElem","cWidth","cHeight","floatingContainer","_createBaseContainerElements","_thisLayerFunction","pixelAspect","frameDuration","displayStartTime","numLayers","_typeof$2","seedRandom","rngname","startdenom","significance","ARC4","keylen","me","flatten","typ","mixkey","seed","smear","stringseed","tostring","shortseed","entropy","crypto","msCrypto","getRandomValues","browser","plugins","screen","arc4","prng","int32","quick","pass","is_math_call","initialize$2","propTypes","SHAPE","_typeof$1","ExpressionManager","frames","_lottieGlobal","$bm_isInstanceOfArray","isNumerable","tOfV","$bm_neg","tOfA","lenA","retArr","easeInBez","easeOutBez","easeInOutBez","tOfB","lenB","mul","$bm_sum","$bm_sub","$bm_mul","$bm_div","$bm_mod","mm","radiansToDegrees","radians_to_degrees","degreesToRadians","degrees_to_radians","helperLengthArray","arr1","arr2","vec","rgbToHsl","hue2rgb","hslToRgb","linear","tMin","tMax","value1","value2","_tMin","rnd","createPath","inTangents","outTangents","inVertexPoint","outVertexPoint","arrPlaceholder","initiateExpression","noOp","needsVelocity","_needsRandom","elemType","$bm_transform","thisProperty","valueAtTime","inPoint","outPoint","loopIn","loop_in","loopOut","loop_out","smooth","toWorld","fromWorld","fromComp","toComp","fromCompToSurface","rotation","anchorPoint","thisLayer","thisComp","velocityAtTime","scoped_bm_rt","expression_function","eval","numKeys","wiggle","amp","iWiggle","lenWiggle","addedAmps","periods","loopInDuration","loopOutDuration","getVelocityAtTime","velocity","textIndex","textTotal","selectorValue","lookAt","elem1","elem2","fVec","pitch","easeOut","val1","applyEase","easeIn","ease","iKey","lenKey","nearestKey","obKey","framesToTime","fps","timeToFrames","seedrandom","randSeed","posterizeTime","framesPerSecond","hasParent","executeExpression","frameExpressionId","__preventDeadCodeRemoval","Expressions","stackCount","registers","pushExpression","popExpression","releaseInstances","registerExpressionProperty","expression","MaskManagerInterface","MaskInterface","_mask","_data","_masksInterfaces","ExpressionPropertyInterface","defaultUnidimensionalValue","defaultMultidimensionalValue","completeProperty","expressionValue","valueProp","speedAtTime","getSpeedAtTime","propertyGroup","defaultGetter","arrValue","TransformExpressionInterface","_thisFunction","xRotation","yRotation","xPosition","yPosition","zPosition","_px","_py","_pz","_transformFactory","getMatrix","toWorldMat","toWorldVec","applyPoint","fromWorldVec","invertPoint","sampleImage","transformInterface","anchorPointDescriptor","anchor_point","startTime","propertyGroupFactory","interfaceFunction","parentPropertyGroup","PropertyInterface","propertyName","effectsData","createGroupInterface","groupInterface","mn","_propertyGroup","createValueInterface","numProperties","np","expressionProperty","setGroupProperty","ShapePathInterface","view","propertyIndex","iterateElements","groupInterfaceFactory","fillInterfaceFactory","strokeInterfaceFactory","trimInterfaceFactory","ellipseInterfaceFactory","starInterfaceFactory","rectInterfaceFactory","roundedInterfaceFactory","repeaterInterfaceFactory","gradientFillInterfaceFactory","interfaces","transformInterfaceFactory","cix","startPoint","endPoint","_dashPropertyGroup","dashOb","addPropertyToDashOb","dash","skewAxis","outerRadius","outerRoundness","innerRoundness","innerRadius","_interfaceFunction","_sourceText","sourceText","stringValue","fillColor","_typeof","dataInterfaceFactory","outlineInterface","currentPropertyName","currentProperty","propertyNameIndex","dataInterface","footage","getInterface","expressionHelpers","searchExpressions","_cachingAtTime","getStaticValueAtTime","addPropertyDecorator","durationFlag","cycleDuration","firstKeyFrame","lastKeyFrame","initV","endV","repeats","lastValue","nextLastValue","firstValue","nextFirstValue","samples","sampleValue","sampleFrequency","getTransformValueAtTime","_transformCachingAtTime","rotationZ","rotationY","rotationX","orientation","positionX","positionY","positionZ","getTransformStaticValueAtTime","propertyGetProp","ShapePropertyConstructorFunction","getConstructorFunction","KeyframedShapePropertyConstructorFunction","getKeyframedConstructorFunction","ShapeExpressions","isClosed","pointOnPath","_segmentsLength","accumulatedLength","initIndex","endIndex","vectorOnPath","vectorType","xLength","yLength","magnitude","tangentOnPath","normalOnPath","shapeValue","lastTime","propertyGetShapeProp","trims","initialize$1","addDecorator","getExpressionValue","calculateExpression","isKeyframed","hasExpressions","SVGComposableEffect","createMergeNode","resultId","ins","feMergeNode","feMerge","linearFilterValue","SVGTintFilter","linearFilter","matrixFilter","SVGFillFilter","SVGStrokeEffect","initialized","SVGTritoneFilter","feComponentTransfer","feFuncR","feFuncG","feFuncB","SVGProLevelsFilter","createFeFunc","feFuncA","feFuncRComposed","feFuncGComposed","feFuncBComposed","SVGDropShadowEffect","globalFilterSize","feGaussianBlur","feOffset","feFlood","feComposite","colorBlack","colorWhite","groupPath","elemChildren","childNodes","pathMasker","dasharrayValue","getTotalLength","lineLength","units","color1","color2","color3","tableR","tableG","tableB","getTableValue","inputBlack","inputWhite","gamma","outputBlack","outputWhite","colorValue","table","outputDelta","inputDelta","_svgMatteSymbols","SVGMatte3Effect","filterElem","SVGGaussianBlurEffect","TransformEffect","SVGTransformEffect","CVTransformEffect","findSymbol","replaceInParent","symbolId","useElem","setElementAsMask","sigma","dimensions","sigmaX","sigmaY","edgeMode","forceFrame","isUniformScale","scaleHeight","scaleWidth","module","years","hours","minutes","seconds","milliseconds","weeks","$l","negative","parseFromMilliseconds","calMilliseconds","Y","YY","YYYY","MM","DD","HH","ss","SSS","humanize","fromNow","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","isDuration","inviteUser","showProgress","boxStatus","envelopeData","totleAmount","envelopValue","cooldownStr","cooldown","openBox","updateReward","onBackVivaGame","onClickClose","superSimple","mitt","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arr","minLen","_arrayLikeToArray","scriptRef","createJSApi","_scriptRef$current","_h","_q","assignConfiguration","license","chatBetweenGroups","sessionVariables","customIdentityProvider","__lc","chat_between_groups","custom_identity_provider","assignEventHandlers","eventHandlers","onAvailabilityChanged","onVisibilityChanged","onCustomerStatusChanged","onNewEvent","onFormSubmitted","onRatingSubmitted","onGreetingDisplayed","onGreetingHidden","onRichMessageButtonClicked","assignCustomerData","customerData","email","assignVisibility","emitter","lifecycleEmit","createWidget","desiredState","currentEventHandlers","customerName","customerEmail","integration_name","_this","LC_API","on_after_load","updateVisibility","updateEventHandlers","eventHabndlers","updateSessionVariables","hideGreeting","updateCustomerData","widget","_visibility","_this$widget","_this$widget2","_this$widget3","_sessionVariables","_this$widget4","setupWidget","_this$widget5","rating","greeting","availability","reinitialize","_this$widget6","currentTop","showChat","oldScrollTop","itemWidth","itemHeight","gapWidth","coefficientHeight","floatButton","targetTouches","bodyScroll","onBtnClicked","_component_LiveChatWidget","handleNewEvent","onChatOpened","swipeKey","App","AppWeb","imgSrc","getBannerUrl","linksET","linksCI","linksKE","linksTZ","onAllGames","onShowTC","onSearchGames","tabItem","rightName","isBig","iscollect","isHot","person","isCollect","hotGame","randomPerson","getRandomValue","changeMin","changeMax","limitMin","limitMax","changeValue","getPersonValue","onGame","needRecharge","backColor","getCover","_withModifiers","onCollect","getIcon","getColor","jackpots","getNameSize","getBackgroundColor","getNameMinSize","GameCard","games","showicon","hideRecommend","getGameList","_component_GameCard","DhGameTitle","Empty","funTab","onReload","categorie","isfirst","_component_DhGameTitle","_component_Empty","isHome","rowslist","navType","navValue","countrys","PersonComponents","mtag","_createStaticVNode","getGameUrl","_component_PersonComponents","requestNotice","startMarquee","isInit","phone_number","unitconversion","getCurrency","game_name","offSetTop","oldvalue","selectFunctionTab","_component_van_sticky","onSelectTab","onSavePwa","useSystemStore","backTimestamp","frontTimestamp","DhMarquee","DhNavTab","DhGridGames","DhListGames","DhFootContent","DhGridListGames","DhLazyBanner","HelpComponents","bannerKey","checkEnvelop","gameListKey","showLuckywheelTips","envelopColor","frontTooth","nologinbanners","scrollableDiv","getFrontTooth","getNoLogin","_component_DhMarquee","_component_DhNavTab","_component_DhGridGames","haveDownBanner","_component_DhLazyBanner","_component_DhGridListGames","_component_DhListGames","_component_DhFootContent","_component_HelpComponents","inviteIcon","offX","guidHand","shareLink","shareText","shareImage","telegramLink","facebookLink","whatsappLink","smsLink","randomNum","srcset","onCopy","openNewBox","onGetNewBox","onFocusPassWord","hostUrl","onCancelLogin","inviteFriends","depositCollected","InviteIcon","withdrawSuccess","collectedList","getList","_component_InviteIcon","getCollectType","ActiveRulePopup","ActiveSuccessPopup","ActiveSharePopup","ActiveRewardPopup","ActiveWithdrawPopup","ActiveUserBar","ActiveMarquee","EnvelopeBoxComponent","Banner","showCanvas","tabs","allGame","showRewardPopup","showSharePopup","showBox","showWithdrawPopup","showSuccessPopup","showRulePopup","animationTotalAmount","countdown","checkBox","expiredAt","invite","gamelist","mathTotalAmount","updateInvite","onBack","localHost","selectTab","_component_ActiveUserBar","onShowRule","_component_ActiveMarquee","_component_Banner","_hoisted_44","_component_EnvelopeBoxComponent","_component_ActiveRewardPopup","_component_ActiveSharePopup","_component_ActiveWithdrawPopup","_component_ActiveSuccessPopup","_component_ActiveRulePopup","EnvelopeHome","DepositViewForKE","useEventDepositStore","NavBar","UserBar","DhMenu","FloatingButton","PopupHome","SystemPopupComponents","EnvelopeNotify","RushDepositButton","resbaseUrl","fullscreen","notifyStr","showNotify","isPaySucess","showInstallPrompt","isShowTop","deeplink","userStatus","race","routeHistory","lastPage","exitApp","cidParam","setOgImage","navigatorByDeepLink","semanticAttributes","transactionID","checkCurrentPage","initCountry","ogimageTag","isFirstLoad","MAX_HISTORY_LENGTH","existingIndex","_component_UserBar","_component_RouterView","_component_NavBar","_component_DhMenu","onTop","_component_FloatingButton","_component_RushDepositButton","_component_PopupHome","_component_SystemPopupComponents","_component_EnvelopeNotify","lastTouchEnd"],"ignoreList":[0,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,111,112,113,114,117,118,119,122,123,124,126,128,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,183,203,214,215,217,218,219,222],"sources":["../../../node_modules/@vue/shared/dist/shared.esm-bundler.js","../../../src/common/flexible.js","../../../node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../../node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../../node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../../../node_modules/pinia/node_modules/vue-demi/lib/index.mjs","../../../node_modules/pinia/dist/pinia.mjs","../../../node_modules/vue-gtag/dist/vue-gtag.esm.js","../../../src/common/mgtag.js","../../../node_modules/vant/es/utils/basic.mjs","../../../node_modules/vant/es/utils/props.mjs","../../../node_modules/@vant/use/dist/index.esm.mjs","../../../node_modules/vant/es/utils/dom.mjs","../../../node_modules/vant/es/utils/format.mjs","../../../node_modules/vant/es/utils/deep-assign.mjs","../../../node_modules/vant/es/locale/lang/zh-CN.mjs","../../../node_modules/vant/es/locale/index.mjs","../../../node_modules/vant/es/utils/create.mjs","../../../node_modules/vant/es/utils/constant.mjs","../../../node_modules/vant/es/utils/interceptor.mjs","../../../node_modules/vant/es/utils/with-install.mjs","../../../node_modules/vant/es/composables/on-popup-reopen.mjs","../../../node_modules/vant/es/composables/use-height.mjs","../../../node_modules/vant/es/composables/use-placeholder.mjs","../../../node_modules/vant/es/action-bar/ActionBar.mjs","../../../node_modules/vant/es/action-bar/index.mjs","../../../node_modules/vant/es/composables/use-expose.mjs","../../../node_modules/vant/es/composables/use-route.mjs","../../../node_modules/vant/es/badge/Badge.mjs","../../../node_modules/vant/es/badge/index.mjs","../../../node_modules/vant/es/composables/use-global-z-index.mjs","../../../node_modules/vant/es/config-provider/ConfigProvider.mjs","../../../node_modules/vant/es/icon/Icon.mjs","../../../node_modules/vant/es/icon/index.mjs","../../../node_modules/vant/es/loading/Loading.mjs","../../../node_modules/vant/es/loading/index.mjs","../../../node_modules/vant/es/button/Button.mjs","../../../node_modules/vant/es/button/index.mjs","../../../node_modules/vant/es/action-bar-button/ActionBarButton.mjs","../../../node_modules/vant/es/action-bar-button/index.mjs","../../../node_modules/vant/es/popup/shared.mjs","../../../node_modules/vant/es/composables/use-touch.mjs","../../../node_modules/vant/es/composables/use-lock-scroll.mjs","../../../node_modules/vant/es/composables/use-lazy-render.mjs","../../../node_modules/vant/es/composables/use-scope-id.mjs","../../../node_modules/vant/es/overlay/Overlay.mjs","../../../node_modules/vant/es/overlay/index.mjs","../../../node_modules/vant/es/popup/Popup.mjs","../../../node_modules/vant/es/popup/index.mjs","../../../node_modules/vant/es/action-sheet/ActionSheet.mjs","../../../node_modules/vant/es/action-sheet/index.mjs","../../../node_modules/vant/es/picker/PickerToolbar.mjs","../../../node_modules/vant/es/composables/use-sync-prop-ref.mjs","../../../node_modules/vant/es/composables/use-id.mjs","../../../node_modules/vant/es/composables/use-refs.mjs","../../../node_modules/vant/es/composables/use-visibility-change.mjs","../../../node_modules/vant/es/sticky/Sticky.mjs","../../../node_modules/vant/es/sticky/index.mjs","../../../node_modules/vant/es/swipe/Swipe.mjs","../../../node_modules/vant/es/swipe/index.mjs","../../../node_modules/vant/es/tabs/Tabs.mjs","../../../node_modules/vant/es/composables/use-tab-status.mjs","../../../node_modules/vant/es/tab/TabTitle.mjs","../../../node_modules/vant/es/swipe-item/SwipeItem.mjs","../../../node_modules/vant/es/swipe-item/index.mjs","../../../node_modules/vant/es/tab/Tab.mjs","../../../node_modules/vant/es/tab/index.mjs","../../../node_modules/vant/es/picker/Picker.mjs","../../../node_modules/vant/es/cell/Cell.mjs","../../../node_modules/vant/es/cell/index.mjs","../../../node_modules/vant/es/form/Form.mjs","../../../node_modules/vant/es/form/index.mjs","../../../node_modules/vant/es/field/utils.mjs","../../../node_modules/vant/es/field/Field.mjs","../../../node_modules/vant/es/field/index.mjs","../../../node_modules/vant/es/toast/lock-click.mjs","../../../node_modules/vant/es/toast/Toast.mjs","../../../node_modules/vant/es/utils/mount-component.mjs","../../../node_modules/vant/es/toast/function-call.mjs","../../../node_modules/vant/es/toast/index.mjs","../../../node_modules/vant/es/barrage/Barrage.mjs","../../../node_modules/vant/es/barrage/index.mjs","../../../node_modules/vant/es/calendar/utils.mjs","../../../node_modules/vant/es/date-picker/utils.mjs","../../../node_modules/vant/es/calendar/CalendarDay.mjs","../../../node_modules/vant/es/calendar/CalendarMonth.mjs","../../../node_modules/vant/es/calendar/CalendarHeader.mjs","../../../node_modules/vant/es/calendar/Calendar.mjs","../../../node_modules/vant/es/calendar/index.mjs","../../../node_modules/vant/es/cell-group/CellGroup.mjs","../../../node_modules/vant/es/cell-group/index.mjs","../../../node_modules/vant/es/dialog/Dialog.mjs","../../../node_modules/vant/es/dialog/function-call.mjs","../../../node_modules/vant/es/dialog/index.mjs","../../../node_modules/vant/es/grid/Grid.mjs","../../../node_modules/vant/es/grid/index.mjs","../../../node_modules/vant/es/grid-item/GridItem.mjs","../../../node_modules/vant/es/grid-item/index.mjs","../../../node_modules/vant/es/list/List.mjs","../../../node_modules/vant/es/list/index.mjs","../../../node_modules/vant/es/notify/Notify.mjs","../../../node_modules/vant/es/notify/index.mjs","../../../node_modules/@vant/popperjs/dist/index.esm.mjs","../../../node_modules/vant/es/popover/Popover.mjs","../../../node_modules/vant/es/popover/index.mjs","../../../node_modules/vant/es/locale/lang/en-US.mjs","../../../src/common/vant.js","../../../src/event/EventBus.js","../../../src/common/localStorage.js","../../../src/common/config.js","../../../src/event/EventCenter.js","../../../node_modules/@intlify/shared/dist/shared.mjs","../../../node_modules/@intlify/message-compiler/dist/message-compiler.esm-browser.js","../../../node_modules/@intlify/core-base/dist/core-base.mjs","../../../node_modules/vue-i18n/dist/vue-i18n.mjs","../../../src/locales/index.js","../../../src/stores/languages.js","../../../node_modules/airbridge-web-sdk-loader/build/library/airbridge_loader.js","../../../node_modules/airbridge-web-sdk-loader/build/library/flat_keys.js","../../../node_modules/airbridge-web-sdk-loader/build/index.js","../../../src/common/airbridge.js","../../../src/server/socket.js","../../../node_modules/@capacitor/core/dist/index.js","../../../node_modules/@capacitor/filesystem/dist/esm/definitions.js","../../../node_modules/@capacitor/filesystem/dist/esm/index.js","../../../src/common/updateService.js","../../../node_modules/js-base64/base64.mjs","../../../src/utils/helper.js","../../../node_modules/dayjs/dayjs.min.js","../../../src/stores/user.js","../../../node_modules/axios/lib/helpers/bind.js","../../../node_modules/axios/lib/utils.js","../../../node_modules/axios/lib/core/AxiosError.js","../../../node_modules/axios/lib/helpers/null.js","../../../node_modules/axios/lib/helpers/toFormData.js","../../../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../../node_modules/axios/lib/helpers/buildURL.js","../../../node_modules/axios/lib/core/InterceptorManager.js","../../../node_modules/axios/lib/defaults/transitional.js","../../../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../../node_modules/axios/lib/platform/browser/classes/FormData.js","../../../node_modules/axios/lib/platform/browser/classes/Blob.js","../../../node_modules/axios/lib/platform/browser/index.js","../../../node_modules/axios/lib/platform/common/utils.js","../../../node_modules/axios/lib/platform/index.js","../../../node_modules/axios/lib/helpers/toURLEncodedForm.js","../../../node_modules/axios/lib/helpers/formDataToJSON.js","../../../node_modules/axios/lib/defaults/index.js","../../../node_modules/axios/lib/helpers/parseHeaders.js","../../../node_modules/axios/lib/core/AxiosHeaders.js","../../../node_modules/axios/lib/core/transformData.js","../../../node_modules/axios/lib/cancel/isCancel.js","../../../node_modules/axios/lib/cancel/CanceledError.js","../../../node_modules/axios/lib/core/settle.js","../../../node_modules/axios/lib/helpers/parseProtocol.js","../../../node_modules/axios/lib/helpers/speedometer.js","../../../node_modules/axios/lib/helpers/throttle.js","../../../node_modules/axios/lib/helpers/progressEventReducer.js","../../../node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../node_modules/axios/lib/helpers/cookies.js","../../../node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../node_modules/axios/lib/helpers/combineURLs.js","../../../node_modules/axios/lib/core/buildFullPath.js","../../../node_modules/axios/lib/core/mergeConfig.js","../../../node_modules/axios/lib/helpers/resolveConfig.js","../../../node_modules/axios/lib/adapters/xhr.js","../../../node_modules/axios/lib/helpers/composeSignals.js","../../../node_modules/axios/lib/helpers/trackStream.js","../../../node_modules/axios/lib/adapters/fetch.js","../../../node_modules/axios/lib/adapters/adapters.js","../../../node_modules/axios/lib/core/dispatchRequest.js","../../../node_modules/axios/lib/env/data.js","../../../node_modules/axios/lib/helpers/validator.js","../../../node_modules/axios/lib/core/Axios.js","../../../node_modules/axios/lib/cancel/CancelToken.js","../../../node_modules/axios/lib/helpers/spread.js","../../../node_modules/axios/lib/helpers/isAxiosError.js","../../../node_modules/axios/lib/helpers/HttpStatusCode.js","../../../node_modules/axios/lib/axios.js","../../../src/common/request.js","../../../src/stores/envelope.js","../../../src/components/EnvelopeNotify.vue","../../../src/components/ChangeLanguage.vue","../../../node_modules/vue-router/dist/vue-router.mjs","../../../src/stores/lobby.js","../../../src/components/Menu.vue","../../../src/components/NavBar.vue","../../../src/common/valiadate.js","../../../src/components/CountrySelectMenu.vue","../../../src/components/InputField.vue","../../../src/components/ChangePassWord.vue","../../../src/components/Login.vue","../../../src/components/PhoneBinding.vue","../../../src/common/mFbq.js","../../../src/components/LobbyVerify.vue","../../../src/components/Register.vue","../../../src/components/SelectCountry.vue","../../../src/components/ResetPassword.vue","../../../src/components/active/ShareProgress.vue","../../../src/components/active/ActiveBoostList.vue","../../../src/components/deposit/SelectPayMethodsComponent.vue","../../../src/stores/deposit.js","../../../src/components/PaymentMethodForKE.vue","../../../node_modules/qrcode.vue/dist/qrcode.vue.esm.js","../../../src/views/DepositViewForKE.vue","../../../src/components/PaymentMethodForCI.vue","../../../src/views/DepositViewForCI.vue","../../../src/components/FirstDepositPopup.vue","../../../src/stores/million.js","../../../src/stores/cashback.js","../../../src/components/FirstPopup.vue","../../../src/components/SystemPopupComponents.vue","../../../src/components/BalanceTipsComponent.vue","../../../src/components/UserBar.vue","../../../node_modules/lottie-web/build/player/lottie.js","../../../node_modules/dayjs/plugin/duration.js","../../../src/components/EnvelopeBoxComponent.vue","../../../node_modules/mitt/dist/mitt.mjs","../../../node_modules/@livechat/widget-core/dist/widget-core.esm.js","../../../node_modules/@livechat/widget-vue/dist/widget-vue.esm.js","../../../src/components/FloatingButton.vue","../../../src/components/PopupHome.vue","../../../node_modules/@capacitor/app/dist/esm/index.js","../../../src/components/DhLazyBanner.vue","../../../src/components/FootContent.vue","../../../src/components/GameTitle.vue","../../../src/components/GameCard.vue","../../../src/components/Empty.vue","../../../src/components/GridGames.vue","../../../src/components/GridListGames.vue","../../../src/components/HelpComponents.vue","../../../src/components/PersonComponents.vue","../../../src/components/ListGames.vue","../../../src/components/Marquee.vue","../../../src/components/NavTab.vue","../../../src/stores/system.js","../../../src/views/HomeView.vue","../../../src/components/active/ActiveMarquee.vue","../../../src/components/active/ActiveRewardPopup.vue","../../../src/components/active/ActiveRulePopup.vue","../../../src/components/active/ActiveSharePopup.vue","../../../src/components/active/ActiveSuccessPopup.vue","../../../src/components/active/ActiveInputField.vue","../../../src/components/active/ActiveLogin.vue","../../../src/components/active/ActiveLobbyVerify.vue","../../../src/components/active/ActiveRegister.vue","../../../src/components/active/ActiveSelectCountry.vue","../../../src/components/active/ActiveResetPassword.vue","../../../src/components/active/ActiveUserBar.vue","../../../src/components/active/InviteIcon.vue","../../../src/components/active/ActiveWithdrawPopup.vue","../../../src/views/envelope/EnvelopeHome.vue","../../../src/router/index.js","../../../src/components/RushDepositButton.vue","../../../src/stores/eventdeposit.js","../../../src/App.vue","../../../src/main.js"],"sourcesContent":["/**\n* @vue/shared v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction makeMap(str) {\n const map = /* @__PURE__ */ Object.create(null);\n for (const key of str.split(\",\")) map[key] = 1;\n return (val) => val in map;\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction(\n (str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n }\n);\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction(\n (str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n }\n);\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, ...arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](...arg);\n }\n};\nconst def = (obj, key, value, writable = false) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n writable,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\nfunction genCacheKey(source, options) {\n return source + JSON.stringify(\n options,\n (_, val) => typeof val === \"function\" ? val.toString() : val\n );\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"CACHED\": -1,\n \"-1\": \"CACHED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n start = Math.max(0, Math.min(start, source.length));\n end = Math.max(0, Math.min(end, source.length));\n if (start > end) return \"\";\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n if (!styles) return \"\";\n if (isString(styles)) return styles;\n let ret = \"\";\n for (const key in styles) {\n const value = styles[key];\n if (isString(value) || typeof value === \"number\") {\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props) return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nconst isKnownMathMLAttr = /* @__PURE__ */ makeMap(\n `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>|?@[\\\\\\]^`{|}~]/g;\nfunction getEscapedCssVarName(key, doubleEscape) {\n return key.replace(\n cssVarNameEscapeSymbolsRE,\n (s) => doubleEscape ? s === '\"' ? '\\\\\\\\\\\\\"' : `\\\\\\\\${s}` : `\\\\${s}`\n );\n}\n\nfunction looseCompareArrays(a, b) {\n if (a.length !== b.length) return false;\n let equal = true;\n for (let i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i]);\n }\n return equal;\n}\nfunction looseEqual(a, b) {\n if (a === b) return true;\n let aValidType = isDate(a);\n let bValidType = isDate(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n aValidType = isSymbol(a);\n bValidType = isSymbol(b);\n if (aValidType || bValidType) {\n return a === b;\n }\n aValidType = isArray(a);\n bValidType = isArray(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareArrays(a, b) : false;\n }\n aValidType = isObject(a);\n bValidType = isObject(b);\n if (aValidType || bValidType) {\n if (!aValidType || !bValidType) {\n return false;\n }\n const aKeysCount = Object.keys(a).length;\n const bKeysCount = Object.keys(b).length;\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n for (const key in a) {\n const aHasKey = a.hasOwnProperty(key);\n const bHasKey = b.hasOwnProperty(key);\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n return String(a) === String(b);\n}\nfunction looseIndexOf(arr, val) {\n return arr.findIndex((item) => looseEqual(item, val));\n}\n\nconst isRef = (val) => {\n return !!(val && val[\"__v_isRef\"] === true);\n};\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (isRef(val)) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return (\n // Symbol.description in es2019+ so we need to cast here to pass\n // the lib: es2016 check\n isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v\n );\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, cssVarNameEscapeSymbolsRE, def, escapeHtml, escapeHtmlComment, extend, genCacheKey, genPropsAccessExp, generateCodeFrame, getEscapedCssVarName, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownMathMLAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n",";(function (doc, win) {\r\n let docEl = doc.documentElement,\r\n resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',\r\n recalc = function () {\r\n let clientWidth = docEl.clientWidth\r\n if (!clientWidth) return\r\n docEl.style.fontSize = 100 * (clientWidth / 750) + 'px'\r\n }\r\n\r\n if (!doc.addEventListener) return\r\n win.addEventListener(resizeEvt, recalc, false)\r\n doc.addEventListener('DOMContentLoaded', recalc, false)\r\n})(document, window)\r\n","/**\n* @vue/reactivity v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { hasChanged, extend, isArray, isIntegerKey, isSymbol, isMap, hasOwn, isObject, makeMap, toRawType, capitalize, def, isFunction, EMPTY_OBJ, isSet, isPlainObject, NOOP, remove } 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._isPaused = false;\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 pause() {\n if (this._active) {\n this._isPaused = true;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].pause();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].pause();\n }\n }\n }\n /**\n * Resumes the effect scope, including all child scopes and effects.\n */\n resume() {\n if (this._active) {\n if (this._isPaused) {\n this._isPaused = false;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].resume();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].resume();\n }\n }\n }\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 this._active = false;\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n this.effects.length = 0;\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n this.cleanups.length = 0;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n this.scopes.length = 0;\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 }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn, failSilently = false) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeSub;\nconst EffectFlags = {\n \"ACTIVE\": 1,\n \"1\": \"ACTIVE\",\n \"RUNNING\": 2,\n \"2\": \"RUNNING\",\n \"TRACKING\": 4,\n \"4\": \"TRACKING\",\n \"NOTIFIED\": 8,\n \"8\": \"NOTIFIED\",\n \"DIRTY\": 16,\n \"16\": \"DIRTY\",\n \"ALLOW_RECURSE\": 32,\n \"32\": \"ALLOW_RECURSE\",\n \"PAUSED\": 64,\n \"64\": \"PAUSED\"\n};\nconst pausedQueueEffects = /* @__PURE__ */ new WeakSet();\nclass ReactiveEffect {\n constructor(fn) {\n this.fn = fn;\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 1 | 4;\n /**\n * @internal\n */\n this.next = void 0;\n /**\n * @internal\n */\n this.cleanup = void 0;\n this.scheduler = void 0;\n if (activeEffectScope && activeEffectScope.active) {\n activeEffectScope.effects.push(this);\n }\n }\n pause() {\n this.flags |= 64;\n }\n resume() {\n if (this.flags & 64) {\n this.flags &= ~64;\n if (pausedQueueEffects.has(this)) {\n pausedQueueEffects.delete(this);\n this.trigger();\n }\n }\n }\n /**\n * @internal\n */\n notify() {\n if (this.flags & 2 && !(this.flags & 32)) {\n return;\n }\n if (!(this.flags & 8)) {\n batch(this);\n }\n }\n run() {\n if (!(this.flags & 1)) {\n return this.fn();\n }\n this.flags |= 2;\n cleanupEffect(this);\n prepareDeps(this);\n const prevEffect = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = this;\n shouldTrack = true;\n try {\n return this.fn();\n } finally {\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub !== this) {\n warn(\n \"Active effect was not restored correctly - this is likely a Vue internal bug.\"\n );\n }\n cleanupDeps(this);\n activeSub = prevEffect;\n shouldTrack = prevShouldTrack;\n this.flags &= ~2;\n }\n }\n stop() {\n if (this.flags & 1) {\n for (let link = this.deps; link; link = link.nextDep) {\n removeSub(link);\n }\n this.deps = this.depsTail = void 0;\n cleanupEffect(this);\n this.onStop && this.onStop();\n this.flags &= ~1;\n }\n }\n trigger() {\n if (this.flags & 64) {\n pausedQueueEffects.add(this);\n } else if (this.scheduler) {\n this.scheduler();\n } else {\n this.runIfDirty();\n }\n }\n /**\n * @internal\n */\n runIfDirty() {\n if (isDirty(this)) {\n this.run();\n }\n }\n get dirty() {\n return isDirty(this);\n }\n}\nlet batchDepth = 0;\nlet batchedSub;\nlet batchedComputed;\nfunction batch(sub, isComputed = false) {\n sub.flags |= 8;\n if (isComputed) {\n sub.next = batchedComputed;\n batchedComputed = sub;\n return;\n }\n sub.next = batchedSub;\n batchedSub = sub;\n}\nfunction startBatch() {\n batchDepth++;\n}\nfunction endBatch() {\n if (--batchDepth > 0) {\n return;\n }\n if (batchedComputed) {\n let e = batchedComputed;\n batchedComputed = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n e = next;\n }\n }\n let error;\n while (batchedSub) {\n let e = batchedSub;\n batchedSub = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n if (e.flags & 1) {\n try {\n ;\n e.trigger();\n } catch (err) {\n if (!error) error = err;\n }\n }\n e = next;\n }\n }\n if (error) throw error;\n}\nfunction prepareDeps(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n link.version = -1;\n link.prevActiveLink = link.dep.activeLink;\n link.dep.activeLink = link;\n }\n}\nfunction cleanupDeps(sub) {\n let head;\n let tail = sub.depsTail;\n let link = tail;\n while (link) {\n const prev = link.prevDep;\n if (link.version === -1) {\n if (link === tail) tail = prev;\n removeSub(link);\n removeDep(link);\n } else {\n head = link;\n }\n link.dep.activeLink = link.prevActiveLink;\n link.prevActiveLink = void 0;\n link = prev;\n }\n sub.deps = head;\n sub.depsTail = tail;\n}\nfunction isDirty(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {\n return true;\n }\n }\n if (sub._dirty) {\n return true;\n }\n return false;\n}\nfunction refreshComputed(computed) {\n if (computed.flags & 4 && !(computed.flags & 16)) {\n return;\n }\n computed.flags &= ~16;\n if (computed.globalVersion === globalVersion) {\n return;\n }\n computed.globalVersion = globalVersion;\n const dep = computed.dep;\n computed.flags |= 2;\n if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {\n computed.flags &= ~2;\n return;\n }\n const prevSub = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = computed;\n shouldTrack = true;\n try {\n prepareDeps(computed);\n const value = computed.fn(computed._value);\n if (dep.version === 0 || hasChanged(value, computed._value)) {\n computed._value = value;\n dep.version++;\n }\n } catch (err) {\n dep.version++;\n throw err;\n } finally {\n activeSub = prevSub;\n shouldTrack = prevShouldTrack;\n cleanupDeps(computed);\n computed.flags &= ~2;\n }\n}\nfunction removeSub(link, soft = false) {\n const { dep, prevSub, nextSub } = link;\n if (prevSub) {\n prevSub.nextSub = nextSub;\n link.prevSub = void 0;\n }\n if (nextSub) {\n nextSub.prevSub = prevSub;\n link.nextSub = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && dep.subsHead === link) {\n dep.subsHead = nextSub;\n }\n if (dep.subs === link) {\n dep.subs = prevSub;\n if (!prevSub && dep.computed) {\n dep.computed.flags &= ~4;\n for (let l = dep.computed.deps; l; l = l.nextDep) {\n removeSub(l, true);\n }\n }\n }\n if (!soft && !--dep.sc && dep.map) {\n dep.map.delete(dep.key);\n }\n}\nfunction removeDep(link) {\n const { prevDep, nextDep } = link;\n if (prevDep) {\n prevDep.nextDep = nextDep;\n link.prevDep = void 0;\n }\n if (nextDep) {\n nextDep.prevDep = prevDep;\n link.nextDep = void 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const e = new ReactiveEffect(fn);\n if (options) {\n extend(e, options);\n }\n try {\n e.run();\n } catch (err) {\n e.stop();\n throw err;\n }\n const runner = e.run.bind(e);\n runner.effect = e;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction onEffectCleanup(fn, failSilently = false) {\n if (activeSub instanceof ReactiveEffect) {\n activeSub.cleanup = fn;\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onEffectCleanup() was called when there was no active effect to associate with.`\n );\n }\n}\nfunction cleanupEffect(e) {\n const { cleanup } = e;\n e.cleanup = void 0;\n if (cleanup) {\n const prevSub = activeSub;\n activeSub = void 0;\n try {\n cleanup();\n } finally {\n activeSub = prevSub;\n }\n }\n}\n\nlet globalVersion = 0;\nclass Link {\n constructor(sub, dep) {\n this.sub = sub;\n this.dep = dep;\n this.version = dep.version;\n this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;\n }\n}\nclass Dep {\n constructor(computed) {\n this.computed = computed;\n this.version = 0;\n /**\n * Link between this dep and the current active effect\n */\n this.activeLink = void 0;\n /**\n * Doubly linked list representing the subscribing effects (tail)\n */\n this.subs = void 0;\n /**\n * For object property deps cleanup\n */\n this.map = void 0;\n this.key = void 0;\n /**\n * Subscriber counter\n */\n this.sc = 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.subsHead = void 0;\n }\n }\n track(debugInfo) {\n if (!activeSub || !shouldTrack || activeSub === this.computed) {\n return;\n }\n let link = this.activeLink;\n if (link === void 0 || link.sub !== activeSub) {\n link = this.activeLink = new Link(activeSub, this);\n if (!activeSub.deps) {\n activeSub.deps = activeSub.depsTail = link;\n } else {\n link.prevDep = activeSub.depsTail;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n }\n addSub(link);\n } else if (link.version === -1) {\n link.version = this.version;\n if (link.nextDep) {\n const next = link.nextDep;\n next.prevDep = link.prevDep;\n if (link.prevDep) {\n link.prevDep.nextDep = next;\n }\n link.prevDep = activeSub.depsTail;\n link.nextDep = void 0;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n if (activeSub.deps === link) {\n activeSub.deps = next;\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub.onTrack) {\n activeSub.onTrack(\n extend(\n {\n effect: activeSub\n },\n debugInfo\n )\n );\n }\n return link;\n }\n trigger(debugInfo) {\n this.version++;\n globalVersion++;\n this.notify(debugInfo);\n }\n notify(debugInfo) {\n startBatch();\n try {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (let head = this.subsHead; head; head = head.nextSub) {\n if (head.sub.onTrigger && !(head.sub.flags & 8)) {\n head.sub.onTrigger(\n extend(\n {\n effect: head.sub\n },\n debugInfo\n )\n );\n }\n }\n }\n for (let link = this.subs; link; link = link.prevSub) {\n if (link.sub.notify()) {\n ;\n link.sub.dep.notify();\n }\n }\n } finally {\n endBatch();\n }\n }\n}\nfunction addSub(link) {\n link.dep.sc++;\n if (link.sub.flags & 4) {\n const computed = link.dep.computed;\n if (computed && !link.dep.subs) {\n computed.flags |= 4 | 16;\n for (let l = computed.deps; l; l = l.nextDep) {\n addSub(l);\n }\n }\n const currentTail = link.dep.subs;\n if (currentTail !== link) {\n link.prevSub = currentTail;\n if (currentTail) currentTail.nextSub = link;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && link.dep.subsHead === void 0) {\n link.dep.subsHead = link;\n }\n link.dep.subs = link;\n }\n}\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Object iterate\" : \"\"\n);\nconst MAP_KEY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Map keys iterate\" : \"\"\n);\nconst ARRAY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Array iterate\" : \"\"\n);\nfunction track(target, type, key) {\n if (shouldTrack && activeSub) {\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 = new Dep());\n dep.map = depsMap;\n dep.key = key;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.track({\n target,\n type,\n key\n });\n } else {\n dep.track();\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n globalVersion++;\n return;\n }\n const run = (dep) => {\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.trigger({\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n });\n } else {\n dep.trigger();\n }\n }\n };\n startBatch();\n if (type === \"clear\") {\n depsMap.forEach(run);\n } else {\n const targetIsArray = isArray(target);\n const isArrayIndex = targetIsArray && isIntegerKey(key);\n if (targetIsArray && key === \"length\") {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {\n run(dep);\n }\n });\n } else {\n if (key !== void 0 || depsMap.has(void 0)) {\n run(depsMap.get(key));\n }\n if (isArrayIndex) {\n run(depsMap.get(ARRAY_ITERATE_KEY));\n }\n switch (type) {\n case \"add\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isArrayIndex) {\n run(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n run(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n }\n endBatch();\n}\nfunction getDepFromReactive(object, key) {\n const depMap = targetMap.get(object);\n return depMap && depMap.get(key);\n}\n\nfunction reactiveReadArray(array) {\n const raw = toRaw(array);\n if (raw === array) return raw;\n track(raw, \"iterate\", ARRAY_ITERATE_KEY);\n return isShallow(array) ? raw : raw.map(toReactive);\n}\nfunction shallowReadArray(arr) {\n track(arr = toRaw(arr), \"iterate\", ARRAY_ITERATE_KEY);\n return arr;\n}\nconst arrayInstrumentations = {\n __proto__: null,\n [Symbol.iterator]() {\n return iterator(this, Symbol.iterator, toReactive);\n },\n concat(...args) {\n return reactiveReadArray(this).concat(\n ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x)\n );\n },\n entries() {\n return iterator(this, \"entries\", (value) => {\n value[1] = toReactive(value[1]);\n return value;\n });\n },\n every(fn, thisArg) {\n return apply(this, \"every\", fn, thisArg, void 0, arguments);\n },\n filter(fn, thisArg) {\n return apply(this, \"filter\", fn, thisArg, (v) => v.map(toReactive), arguments);\n },\n find(fn, thisArg) {\n return apply(this, \"find\", fn, thisArg, toReactive, arguments);\n },\n findIndex(fn, thisArg) {\n return apply(this, \"findIndex\", fn, thisArg, void 0, arguments);\n },\n findLast(fn, thisArg) {\n return apply(this, \"findLast\", fn, thisArg, toReactive, arguments);\n },\n findLastIndex(fn, thisArg) {\n return apply(this, \"findLastIndex\", fn, thisArg, void 0, arguments);\n },\n // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement\n forEach(fn, thisArg) {\n return apply(this, \"forEach\", fn, thisArg, void 0, arguments);\n },\n includes(...args) {\n return searchProxy(this, \"includes\", args);\n },\n indexOf(...args) {\n return searchProxy(this, \"indexOf\", args);\n },\n join(separator) {\n return reactiveReadArray(this).join(separator);\n },\n // keys() iterator only reads `length`, no optimisation required\n lastIndexOf(...args) {\n return searchProxy(this, \"lastIndexOf\", args);\n },\n map(fn, thisArg) {\n return apply(this, \"map\", fn, thisArg, void 0, arguments);\n },\n pop() {\n return noTracking(this, \"pop\");\n },\n push(...args) {\n return noTracking(this, \"push\", args);\n },\n reduce(fn, ...args) {\n return reduce(this, \"reduce\", fn, args);\n },\n reduceRight(fn, ...args) {\n return reduce(this, \"reduceRight\", fn, args);\n },\n shift() {\n return noTracking(this, \"shift\");\n },\n // slice could use ARRAY_ITERATE but also seems to beg for range tracking\n some(fn, thisArg) {\n return apply(this, \"some\", fn, thisArg, void 0, arguments);\n },\n splice(...args) {\n return noTracking(this, \"splice\", args);\n },\n toReversed() {\n return reactiveReadArray(this).toReversed();\n },\n toSorted(comparer) {\n return reactiveReadArray(this).toSorted(comparer);\n },\n toSpliced(...args) {\n return reactiveReadArray(this).toSpliced(...args);\n },\n unshift(...args) {\n return noTracking(this, \"unshift\", args);\n },\n values() {\n return iterator(this, \"values\", toReactive);\n }\n};\nfunction iterator(self, method, wrapValue) {\n const arr = shallowReadArray(self);\n const iter = arr[method]();\n if (arr !== self && !isShallow(self)) {\n iter._next = iter.next;\n iter.next = () => {\n const result = iter._next();\n if (result.value) {\n result.value = wrapValue(result.value);\n }\n return result;\n };\n }\n return iter;\n}\nconst arrayProto = Array.prototype;\nfunction apply(self, method, fn, thisArg, wrappedRetFn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n const methodFn = arr[method];\n if (methodFn !== arrayProto[method]) {\n const result2 = methodFn.apply(self, args);\n return needsWrap ? toReactive(result2) : result2;\n }\n let wrappedFn = fn;\n if (arr !== self) {\n if (needsWrap) {\n wrappedFn = function(item, index) {\n return fn.call(this, toReactive(item), index, self);\n };\n } else if (fn.length > 2) {\n wrappedFn = function(item, index) {\n return fn.call(this, item, index, self);\n };\n }\n }\n const result = methodFn.call(arr, wrappedFn, thisArg);\n return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;\n}\nfunction reduce(self, method, fn, args) {\n const arr = shallowReadArray(self);\n let wrappedFn = fn;\n if (arr !== self) {\n if (!isShallow(self)) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, toReactive(item), index, self);\n };\n } else if (fn.length > 3) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, item, index, self);\n };\n }\n }\n return arr[method](wrappedFn, ...args);\n}\nfunction searchProxy(self, method, args) {\n const arr = toRaw(self);\n track(arr, \"iterate\", ARRAY_ITERATE_KEY);\n const res = arr[method](...args);\n if ((res === -1 || res === false) && isProxy(args[0])) {\n args[0] = toRaw(args[0]);\n return arr[method](...args);\n }\n return res;\n}\nfunction noTracking(self, method, args = []) {\n pauseTracking();\n startBatch();\n const res = toRaw(self)[method].apply(self, args);\n endBatch();\n resetTracking();\n return res;\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);\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(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 if (key === \"__v_skip\") return target[\"__v_skip\"];\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 receiver 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 let fn;\n if (targetIsArray && (fn = arrayInstrumentations[key])) {\n return fn;\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(\n target,\n key,\n // if this is a proxy wrapping a ref, return methods using the raw ref\n // as receiver so that we don't have to call `toRaw` on the ref in all\n // its class methods\n isRef(target) ? target : receiver\n );\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(\n target,\n key,\n value,\n isRef(target) ? target : receiver\n );\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(true);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction createIterableMethod(method, isReadonly2, isShallow2) {\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 = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && 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(readonly, shallow) {\n const instrumentations = {\n get(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n },\n get size() {\n const target = this[\"__v_raw\"];\n !readonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n },\n has(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\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 },\n forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n !readonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n }\n };\n extend(\n instrumentations,\n readonly ? {\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\")\n } : {\n add(value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\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 },\n set(key, value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n },\n delete(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.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 },\n 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(\n target,\n \"clear\",\n void 0,\n void 0,\n oldTarget\n );\n }\n return result;\n }\n }\n );\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n instrumentations[method] = createIterableMethod(method, readonly, shallow);\n });\n return instrumentations;\n}\nfunction createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = createInstrumentations(isReadonly2, shallow);\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\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, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.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(\n `value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(\n target\n )}`\n );\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 value ? !!value[\"__v_raw\"] : false;\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (!hasOwn(value, \"__v_skip\") && 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\nfunction isRef(r) {\n return r ? r[\"__v_isRef\"] === true : false;\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, isShallow2) {\n this.dep = new Dep();\n this[\"__v_isRef\"] = true;\n this[\"__v_isShallow\"] = false;\n this._rawValue = isShallow2 ? value : toRaw(value);\n this._value = isShallow2 ? value : toReactive(value);\n this[\"__v_isShallow\"] = isShallow2;\n }\n get value() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n });\n } else {\n this.dep.track();\n }\n return this._value;\n }\n set value(newValue) {\n const oldValue = this._rawValue;\n const useDirectValue = this[\"__v_isShallow\"] || isShallow(newValue) || isReadonly(newValue);\n newValue = useDirectValue ? newValue : toRaw(newValue);\n if (hasChanged(newValue, oldValue)) {\n this._rawValue = newValue;\n this._value = useDirectValue ? newValue : toReactive(newValue);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.trigger({\n target: this,\n type: \"set\",\n key: \"value\",\n newValue,\n oldValue\n });\n } else {\n this.dep.trigger();\n }\n }\n }\n}\nfunction triggerRef(ref2) {\n if (ref2.dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n ref2.dep.trigger({\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: ref2._value\n });\n } else {\n ref2.dep.trigger();\n }\n }\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) => key === \"__v_raw\" ? target : 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[\"__v_isRef\"] = true;\n this._value = void 0;\n const dep = this.dep = new Dep();\n const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._value = 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 this._value = void 0;\n }\n get value() {\n const val = this._object[this._key];\n return this._value = 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 this._value = void 0;\n }\n get value() {\n return this._value = 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\nclass ComputedRefImpl {\n constructor(fn, setter, isSSR) {\n this.fn = fn;\n this.setter = setter;\n /**\n * @internal\n */\n this._value = void 0;\n /**\n * @internal\n */\n this.dep = new Dep(this);\n /**\n * @internal\n */\n this.__v_isRef = true;\n // TODO isolatedDeclarations \"__v_isReadonly\"\n // A computed is also a subscriber that tracks other deps\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 16;\n /**\n * @internal\n */\n this.globalVersion = globalVersion - 1;\n /**\n * @internal\n */\n this.next = void 0;\n // for backwards compat\n this.effect = this;\n this[\"__v_isReadonly\"] = !setter;\n this.isSSR = isSSR;\n }\n /**\n * @internal\n */\n notify() {\n this.flags |= 16;\n if (!(this.flags & 8) && // avoid infinite self recursion\n activeSub !== this) {\n batch(this, true);\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) ;\n }\n get value() {\n const link = !!(process.env.NODE_ENV !== \"production\") ? this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n }) : this.dep.track();\n refreshComputed(this);\n if (link) {\n link.version = this.dep.version;\n }\n return this._value;\n }\n set value(newValue) {\n if (this.setter) {\n this.setter(newValue);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Write operation failed: computed value is readonly\");\n }\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n if (isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.onTrack = debugOptions.onTrack;\n cRef.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\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 \"IS_REF\": \"__v_isRef\"\n};\n\nconst WatchErrorCodes = {\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};\nconst INITIAL_WATCHER_VALUE = {};\nconst cleanupMap = /* @__PURE__ */ new WeakMap();\nlet activeWatcher = void 0;\nfunction getCurrentWatcher() {\n return activeWatcher;\n}\nfunction onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {\n if (owner) {\n let cleanups = cleanupMap.get(owner);\n if (!cleanups) cleanupMap.set(owner, cleanups = []);\n cleanups.push(cleanupFn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onWatcherCleanup() was called when there was no active watcher to associate with.`\n );\n }\n}\nfunction watch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, once, scheduler, augmentJob, call } = options;\n const warnInvalidSource = (s) => {\n (options.onWarn || warn)(\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 reactiveGetter = (source2) => {\n if (deep) return source2;\n if (isShallow(source2) || deep === false || deep === 0)\n return traverse(source2, 1);\n return traverse(source2);\n };\n let effect;\n let getter;\n let cleanup;\n let boundCleanup;\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 call ? call(s, 2) : s();\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = call ? () => call(source, 2) : source;\n } else {\n getter = () => {\n if (cleanup) {\n pauseTracking();\n try {\n cleanup();\n } finally {\n resetTracking();\n }\n }\n const currentEffect = activeWatcher;\n activeWatcher = effect;\n try {\n return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);\n } finally {\n activeWatcher = currentEffect;\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 const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n const scope = getCurrentScope();\n const watchHandle = () => {\n effect.stop();\n if (scope && scope.active) {\n remove(scope.effects, effect);\n }\n };\n if (once && cb) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n watchHandle();\n };\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = (immediateFirstRun) => {\n if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {\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))) {\n if (cleanup) {\n cleanup();\n }\n const currentWatcher = activeWatcher;\n activeWatcher = effect;\n try {\n const args = [\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 boundCleanup\n ];\n call ? call(cb, 3, args) : (\n // @ts-expect-error\n cb(...args)\n );\n oldValue = newValue;\n } finally {\n activeWatcher = currentWatcher;\n }\n }\n } else {\n effect.run();\n }\n };\n if (augmentJob) {\n augmentJob(job);\n }\n effect = new ReactiveEffect(getter);\n effect.scheduler = scheduler ? () => scheduler(job, false) : job;\n boundCleanup = (fn) => onWatcherCleanup(fn, false, effect);\n cleanup = effect.onStop = () => {\n const cleanups = cleanupMap.get(effect);\n if (cleanups) {\n if (call) {\n call(cleanups, 4);\n } else {\n for (const cleanup2 of cleanups) cleanup2();\n }\n cleanupMap.delete(effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = options.onTrack;\n effect.onTrigger = options.onTrigger;\n }\n if (cb) {\n if (immediate) {\n job(true);\n } else {\n oldValue = effect.run();\n }\n } else if (scheduler) {\n scheduler(job.bind(null, true), true);\n } else {\n effect.run();\n }\n watchHandle.pause = effect.pause.bind(effect);\n watchHandle.resume = effect.resume.bind(effect);\n watchHandle.stop = watchHandle;\n return watchHandle;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n for (const key of Object.getOwnPropertySymbols(value)) {\n if (Object.prototype.propertyIsEnumerable.call(value, key)) {\n traverse(value[key], depth, seen);\n }\n }\n }\n return value;\n}\n\nexport { ARRAY_ITERATE_KEY, EffectFlags, EffectScope, ITERATE_KEY, MAP_KEY_ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, WatchErrorCodes, computed, customRef, effect, effectScope, enableTracking, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onEffectCleanup, onScopeDispose, onWatcherCleanup, pauseTracking, proxyRefs, reactive, reactiveReadArray, readonly, ref, resetTracking, shallowReactive, shallowReadArray, shallowReadonly, shallowRef, stop, toRaw, toReactive, toReadonly, toRef, toRefs, toValue, track, traverse, trigger, triggerRef, unref, watch };\n","/**\n* @vue/runtime-core v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, traverse, shallowRef, readonly, isReactive, ref, isShallow, shallowReadArray, toReactive, shallowReadonly, track, reactive, shallowReactive, trigger, ReactiveEffect, watch as watch$1, customRef, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, EMPTY_OBJ, NOOP, getGlobalThis, extend, isBuiltInDirective, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, capitalize, camelize, isSymbol, isGloballyAllowed, NO, hyphenate, EMPTY_ARR, toRawType, makeMap, hasChanged, looseToNumber, isModelListener, toNumber } 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}\nlet isWarning = false;\nfunction warn$1(msg, ...args) {\n if (isWarning) return;\n isWarning = true;\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 // eslint-disable-next-line no-restricted-syntax\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 isWarning = false;\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\")) 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 \"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 \"COMPONENT_UPDATE\": 15,\n \"15\": \"COMPONENT_UPDATE\",\n \"APP_UNMOUNT_CLEANUP\": 16,\n \"16\": \"APP_UNMOUNT_CLEANUP\"\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\",\n [15]: \"component update\",\n [16]: \"app unmount cleanup function\"\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 if (isArray(fn)) {\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 } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ;\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 if (errorHandler) {\n pauseTracking();\n callWithErrorHandling(errorHandler, null, 10, [\n err,\n exposedInstance,\n errorInfo\n ]);\n resetTracking();\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction);\n}\nfunction logError(err, type, contextVNode, throwInDev = true, throwInProd = false) {\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 if (throwInProd) {\n throw err;\n } else {\n console.error(err);\n }\n}\n\nconst queue = [];\nlet flushIndex = -1;\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.flags & 2) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!(job.flags & 1)) {\n const jobId = getId(job);\n const lastJob = queue[queue.length - 1];\n if (!lastJob || // fast path when the job id is larger than the tail\n !(job.flags & 2) && jobId >= getId(lastJob)) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(jobId), 0, job);\n }\n job.flags |= 1;\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!currentFlushPromise) {\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (activePostFlushCbs && cb.id === -1) {\n activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);\n } else if (!(cb.flags & 1)) {\n pendingPostFlushCbs.push(cb);\n cb.flags |= 1;\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = flushIndex + 1) {\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.flags & 2) {\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 if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n cb();\n if (!(cb.flags & 4)) {\n cb.flags &= ~1;\n }\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 const cb = activePostFlushCbs[postFlushIndex];\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n if (!(cb.flags & 8)) cb();\n cb.flags &= ~1;\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;\nfunction flushJobs(seen) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\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.flags & 8)) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n if (job.flags & 4) {\n job.flags &= ~1;\n }\n callWithErrorHandling(\n job,\n job.i,\n job.i ? 15 : 14\n );\n if (!(job.flags & 4)) {\n job.flags &= ~1;\n }\n }\n }\n } finally {\n for (; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job) {\n job.flags &= ~1;\n }\n }\n flushIndex = -1;\n queue.length = 0;\n flushPostFlushCbs(seen);\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n const count = seen.get(fn) || 0;\n if (count > RECURSION_LIMIT) {\n const instance = fn.i;\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 }\n seen.set(fn, count + 1);\n return false;\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Map();\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.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record) return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (let i = 0; i < instances.length; i++) {\n const instance = instances[i];\n const oldComp = normalizeClassComponent(instance.type);\n let dirtyInstances = hmrDirtyComponents.get(oldComp);\n if (!dirtyInstances) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());\n }\n dirtyInstances.add(instance);\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 dirtyInstances.add(instance);\n instance.ceReload(newComp.styles);\n dirtyInstances.delete(instance);\n } else if (instance.parent) {\n queueJob(() => {\n isHmrUpdating = true;\n instance.parent.update();\n isHmrUpdating = false;\n dirtyInstances.delete(instance);\n });\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 if (instance.root.ce && instance !== instance.root) {\n instance.root.ce._removeChildStyle(oldComp);\n }\n }\n queuePostFlushCb(() => {\n hmrDirtyComponents.clear();\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 // eslint-disable-next-line no-restricted-syntax\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(\"component:added\" /* COMPONENT_ADDED */);\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};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\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(\"perf:start\" /* PERFORMANCE_START */);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\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) 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\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 = getComponentPublicInstance(currentRenderingInstance);\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 TeleportEndKey = Symbol(\"_vte\");\nconst isTeleport = (type) => type.__isTeleport;\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === \"\");\nconst isTeleportDeferred = (props) => props && (props.defer || props.defer === \"\");\nconst isTargetSVG = (target) => typeof SVGElement !== \"undefined\" && target instanceof SVGElement;\nconst isTargetMathML = (target) => typeof MathMLElement === \"function\" && target instanceof MathMLElement;\nconst resolveTarget = (props, select) => {\n const targetSelector = props && props.to;\n if (isString(targetSelector)) {\n if (!select) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`\n );\n return null;\n } else {\n const target = select(targetSelector);\n if (!!(process.env.NODE_ENV !== \"production\") && !target && !isTeleportDisabled(props)) {\n warn$1(\n `Failed to locate Teleport target with selector \"${targetSelector}\". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`\n );\n }\n return target;\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && !targetSelector && !isTeleportDisabled(props)) {\n warn$1(`Invalid Teleport target: ${targetSelector}`);\n }\n return targetSelector;\n }\n};\nconst TeleportImpl = {\n name: \"Teleport\",\n __isTeleport: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {\n const {\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n o: { insert, querySelector, createText, createComment }\n } = internals;\n const disabled = isTeleportDisabled(n2.props);\n let { shapeFlag, children, dynamicChildren } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n optimized = false;\n dynamicChildren = null;\n }\n if (n1 == null) {\n const placeholder = n2.el = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport start\") : createText(\"\");\n const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport end\") : createText(\"\");\n insert(placeholder, container, anchor);\n insert(mainAnchor, container, anchor);\n const mount = (container2, anchor2) => {\n if (shapeFlag & 16) {\n if (parentComponent && parentComponent.isCE) {\n parentComponent.ce._teleportTarget = container2;\n }\n mountChildren(\n children,\n container2,\n anchor2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const mountToTarget = () => {\n const target = n2.target = resolveTarget(n2.props, querySelector);\n const targetAnchor = prepareAnchor(target, n2, createText, insert);\n if (target) {\n if (namespace !== \"svg\" && isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace !== \"mathml\" && isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (!disabled) {\n mount(target, targetAnchor);\n updateCssVars(n2, false);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && !disabled) {\n warn$1(\n \"Invalid Teleport target on mount:\",\n target,\n `(${typeof target})`\n );\n }\n };\n if (disabled) {\n mount(container, mainAnchor);\n updateCssVars(n2, true);\n }\n if (isTeleportDeferred(n2.props)) {\n queuePostRenderEffect(() => {\n mountToTarget();\n n2.el.__isMounted = true;\n }, parentSuspense);\n } else {\n mountToTarget();\n }\n } else {\n if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) {\n queuePostRenderEffect(() => {\n TeleportImpl.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n internals\n );\n delete n1.el.__isMounted;\n }, parentSuspense);\n return;\n }\n n2.el = n1.el;\n n2.targetStart = n1.targetStart;\n const mainAnchor = n2.anchor = n1.anchor;\n const target = n2.target = n1.target;\n const targetAnchor = n2.targetAnchor = n1.targetAnchor;\n const wasDisabled = isTeleportDisabled(n1.props);\n const currentContainer = wasDisabled ? container : target;\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\n if (namespace === \"svg\" || isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace === \"mathml\" || isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n currentContainer,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n traverseStaticChildren(n1, n2, true);\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n currentContainer,\n currentAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n false\n );\n }\n if (disabled) {\n if (!wasDisabled) {\n moveTeleport(\n n2,\n container,\n mainAnchor,\n internals,\n 1\n );\n } else {\n if (n2.props && n1.props && n2.props.to !== n1.props.to) {\n n2.props.to = n1.props.to;\n }\n }\n } else {\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\n const nextTarget = n2.target = resolveTarget(\n n2.props,\n querySelector\n );\n if (nextTarget) {\n moveTeleport(\n n2,\n nextTarget,\n null,\n internals,\n 0\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Invalid Teleport target on update:\",\n target,\n `(${typeof target})`\n );\n }\n } else if (wasDisabled) {\n moveTeleport(\n n2,\n target,\n targetAnchor,\n internals,\n 1\n );\n }\n }\n updateCssVars(n2, disabled);\n }\n },\n remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {\n const {\n shapeFlag,\n children,\n anchor,\n targetStart,\n targetAnchor,\n target,\n props\n } = vnode;\n if (target) {\n hostRemove(targetStart);\n hostRemove(targetAnchor);\n }\n doRemove && hostRemove(anchor);\n if (shapeFlag & 16) {\n const shouldRemove = doRemove || !isTeleportDisabled(props);\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n unmount(\n child,\n parentComponent,\n parentSuspense,\n shouldRemove,\n !!child.dynamicChildren\n );\n }\n }\n },\n move: moveTeleport,\n hydrate: hydrateTeleport\n};\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {\n if (moveType === 0) {\n insert(vnode.targetAnchor, container, parentAnchor);\n }\n const { el, anchor, shapeFlag, children, props } = vnode;\n const isReorder = moveType === 2;\n if (isReorder) {\n insert(el, container, parentAnchor);\n }\n if (!isReorder || isTeleportDisabled(props)) {\n if (shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n move(\n children[i],\n container,\n parentAnchor,\n 2\n );\n }\n }\n }\n if (isReorder) {\n insert(anchor, container, parentAnchor);\n }\n}\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {\n o: { nextSibling, parentNode, querySelector, insert, createText }\n}, hydrateChildren) {\n const target = vnode.target = resolveTarget(\n vnode.props,\n querySelector\n );\n if (target) {\n const disabled = isTeleportDisabled(vnode.props);\n const targetNode = target._lpa || target.firstChild;\n if (vnode.shapeFlag & 16) {\n if (disabled) {\n vnode.anchor = hydrateChildren(\n nextSibling(node),\n vnode,\n parentNode(node),\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n vnode.targetStart = targetNode;\n vnode.targetAnchor = targetNode && nextSibling(targetNode);\n } else {\n vnode.anchor = nextSibling(node);\n let targetAnchor = targetNode;\n while (targetAnchor) {\n if (targetAnchor && targetAnchor.nodeType === 8) {\n if (targetAnchor.data === \"teleport start anchor\") {\n vnode.targetStart = targetAnchor;\n } else if (targetAnchor.data === \"teleport anchor\") {\n vnode.targetAnchor = targetAnchor;\n target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);\n break;\n }\n }\n targetAnchor = nextSibling(targetAnchor);\n }\n if (!vnode.targetAnchor) {\n prepareAnchor(target, vnode, createText, insert);\n }\n hydrateChildren(\n targetNode && nextSibling(targetNode),\n vnode,\n target,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n }\n updateCssVars(vnode, disabled);\n }\n return vnode.anchor && nextSibling(vnode.anchor);\n}\nconst Teleport = TeleportImpl;\nfunction updateCssVars(vnode, isDisabled) {\n const ctx = vnode.ctx;\n if (ctx && ctx.ut) {\n let node, anchor;\n if (isDisabled) {\n node = vnode.el;\n anchor = vnode.anchor;\n } else {\n node = vnode.targetStart;\n anchor = vnode.targetAnchor;\n }\n while (node && node !== anchor) {\n if (node.nodeType === 1) node.setAttribute(\"data-v-owner\", ctx.uid);\n node = node.nextSibling;\n }\n ctx.ut();\n }\n}\nfunction prepareAnchor(target, vnode, createText, insert) {\n const targetStart = vnode.targetStart = createText(\"\");\n const targetAnchor = vnode.targetAnchor = createText(\"\");\n targetStart[TeleportEndKey] = targetAnchor;\n if (target) {\n insert(targetStart, target);\n insert(targetAnchor, target);\n }\n return targetAnchor;\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 recursiveGetSubtree = (instance) => {\n const subTree = instance.subTree;\n return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;\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 const child = findNonCommentChild(children);\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 = getInnerChild$1(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n let enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance,\n // #11061, ensure enterHooks is fresh after clone\n (hooks) => enterHooks = hooks\n );\n if (innerChild.type !== Comment) {\n setTransitionHooks(innerChild, enterHooks);\n }\n let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {\n let leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\" && innerChild.type !== Comment) {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n delete leavingHooks.afterLeave;\n oldInnerChild = void 0;\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 oldInnerChild = void 0;\n };\n enterHooks.delayedLeave = () => {\n delayedLeave();\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n };\n } else {\n oldInnerChild = void 0;\n }\n } else if (oldInnerChild) {\n oldInnerChild = void 0;\n }\n return child;\n };\n }\n};\nfunction findNonCommentChild(children) {\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\")) break;\n }\n }\n }\n return child;\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, postClone) {\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)) 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) 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) 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 const hooks2 = resolveTransitionHooks(\n vnode2,\n props,\n state,\n instance,\n postClone\n );\n if (postClone) postClone(hooks2);\n return hooks2;\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 getInnerChild$1(vnode) {\n if (!isKeepAlive(vnode)) {\n if (isTeleport(vnode.type) && vnode.children) {\n return findNonCommentChild(vnode.children);\n }\n return vnode;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.component) {\n return vnode.component.subTree;\n }\n const { shapeFlag, children } = vnode;\n if (children) {\n if (shapeFlag & 16) {\n return children[0];\n }\n if (shapeFlag & 32 && isFunction(children.default)) {\n return children.default();\n }\n }\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n vnode.transition = hooks;\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) 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 // #8236: 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\nfunction useId() {\n const i = getCurrentInstance();\n if (i) {\n return (i.appContext.config.idPrefix || \"v\") + \"-\" + i.ids[0] + i.ids[1]++;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useId() is called when there is no active component instance to be associated with.`\n );\n }\n return \"\";\n}\nfunction markAsyncBoundary(instance) {\n instance.ids = [instance.ids[0] + instance.ids[2]++ + \"-\", 0, 0];\n}\n\nconst knownTemplateRefs = /* @__PURE__ */ new WeakSet();\nfunction useTemplateRef(key) {\n const i = getCurrentInstance();\n const r = shallowRef(null);\n if (i) {\n const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;\n let desc;\n if (!!(process.env.NODE_ENV !== \"production\") && (desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {\n warn$1(`useTemplateRef('${key}') already exists.`);\n } else {\n Object.defineProperty(refs, key, {\n enumerable: true,\n get: () => r.value,\n set: (val) => r.value = val\n });\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useTemplateRef() is called when there is no active component instance to be associated with.`\n );\n }\n const ret = !!(process.env.NODE_ENV !== \"production\") ? readonly(r) : r;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n knownTemplateRefs.add(ret);\n }\n return ret;\n}\n\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\n if (isArray(rawRef)) {\n rawRef.forEach(\n (r, i) => setRef(\n r,\n oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),\n parentSuspense,\n vnode,\n isUnmount\n )\n );\n return;\n }\n if (isAsyncWrapper(vnode) && !isUnmount) {\n if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {\n setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);\n }\n return;\n }\n const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;\n const value = isUnmount ? null : refValue;\n const { i: owner, r: ref } = rawRef;\n if (!!(process.env.NODE_ENV !== \"production\") && !owner) {\n warn$1(\n `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`\n );\n return;\n }\n const oldRef = oldRawRef && oldRawRef.r;\n const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;\n const setupState = owner.setupState;\n const rawSetupState = toRaw(setupState);\n const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (hasOwn(rawSetupState, key) && !isRef(rawSetupState[key])) {\n warn$1(\n `Template ref \"${key}\" used on a non-ref value. It will not work in the production build.`\n );\n }\n if (knownTemplateRefs.has(rawSetupState[key])) {\n return false;\n }\n }\n return hasOwn(rawSetupState, key);\n };\n if (oldRef != null && oldRef !== ref) {\n if (isString(oldRef)) {\n refs[oldRef] = null;\n if (canSetSetupRef(oldRef)) {\n setupState[oldRef] = null;\n }\n } else if (isRef(oldRef)) {\n oldRef.value = null;\n }\n }\n if (isFunction(ref)) {\n callWithErrorHandling(ref, owner, 12, [value, refs]);\n } else {\n const _isString = isString(ref);\n const _isRef = isRef(ref);\n if (_isString || _isRef) {\n const doSet = () => {\n if (rawRef.f) {\n const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value;\n if (isUnmount) {\n isArray(existing) && remove(existing, refValue);\n } else {\n if (!isArray(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n if (canSetSetupRef(ref)) {\n setupState[ref] = refs[ref];\n }\n } else {\n ref.value = [refValue];\n if (rawRef.k) refs[rawRef.k] = ref.value;\n }\n } else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n } else if (_isString) {\n refs[ref] = value;\n if (canSetSetupRef(ref)) {\n setupState[ref] = value;\n }\n } else if (_isRef) {\n ref.value = value;\n if (rawRef.k) refs[rawRef.k] = value;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n };\n if (value) {\n doSet.id = -1;\n queuePostRenderEffect(doSet, parentSuspense);\n } else {\n doSet();\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n }\n}\n\nlet hasLoggedMismatchError = false;\nconst logMismatchError = () => {\n if (hasLoggedMismatchError) {\n return;\n }\n console.error(\"Hydration completed but contains mismatches.\");\n hasLoggedMismatchError = true;\n};\nconst isSVGContainer = (container) => container.namespaceURI.includes(\"svg\") && container.tagName !== \"foreignObject\";\nconst isMathMLContainer = (container) => container.namespaceURI.includes(\"MathML\");\nconst getContainerType = (container) => {\n if (container.nodeType !== 1) return void 0;\n if (isSVGContainer(container)) return \"svg\";\n if (isMathMLContainer(container)) return \"mathml\";\n return void 0;\n};\nconst isComment = (node) => node.nodeType === 8;\nfunction createHydrationFunctions(rendererInternals) {\n const {\n mt: mountComponent,\n p: patch,\n o: {\n patchProp,\n createText,\n nextSibling,\n parentNode,\n remove,\n insert,\n createComment\n }\n } = rendererInternals;\n const hydrate = (vnode, container) => {\n if (!container.hasChildNodes()) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`\n );\n patch(null, vnode, container);\n flushPostFlushCbs();\n container._vnode = vnode;\n return;\n }\n hydrateNode(container.firstChild, vnode, null, null, null);\n flushPostFlushCbs();\n container._vnode = vnode;\n };\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const isFragmentStart = isComment(node) && node.data === \"[\";\n const onMismatch = () => handleMismatch(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n isFragmentStart\n );\n const { type, ref, shapeFlag, patchFlag } = vnode;\n let domType = node.nodeType;\n vnode.el = node;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n def(node, \"__vnode\", vnode, true);\n def(node, \"__vueParentComponent\", parentComponent, true);\n }\n if (patchFlag === -2) {\n optimized = false;\n vnode.dynamicChildren = null;\n }\n let nextNode = null;\n switch (type) {\n case Text:\n if (domType !== 3) {\n if (vnode.children === \"\") {\n insert(vnode.el = createText(\"\"), parentNode(node), node);\n nextNode = node;\n } else {\n nextNode = onMismatch();\n }\n } else {\n if (node.data !== vnode.children) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text mismatch in`,\n node.parentNode,\n `\n - rendered on server: ${JSON.stringify(\n node.data\n )}\n - expected on client: ${JSON.stringify(vnode.children)}`\n );\n logMismatchError();\n node.data = vnode.children;\n }\n nextNode = nextSibling(node);\n }\n break;\n case Comment:\n if (isTemplateNode(node)) {\n nextNode = nextSibling(node);\n replaceNode(\n vnode.el = node.content.firstChild,\n node,\n parentComponent\n );\n } else if (domType !== 8 || isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = nextSibling(node);\n }\n break;\n case Static:\n if (isFragmentStart) {\n node = nextSibling(node);\n domType = node.nodeType;\n }\n if (domType === 1 || domType === 3) {\n nextNode = node;\n const needToAdoptContent = !vnode.children.length;\n for (let i = 0; i < vnode.staticCount; i++) {\n if (needToAdoptContent)\n vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data;\n if (i === vnode.staticCount - 1) {\n vnode.anchor = nextNode;\n }\n nextNode = nextSibling(nextNode);\n }\n return isFragmentStart ? nextSibling(nextNode) : nextNode;\n } else {\n onMismatch();\n }\n break;\n case Fragment:\n if (!isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateFragment(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n break;\n default:\n if (shapeFlag & 1) {\n if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateElement(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n } else if (shapeFlag & 6) {\n vnode.slotScopeIds = slotScopeIds;\n const container = parentNode(node);\n if (isFragmentStart) {\n nextNode = locateClosingAnchor(node);\n } else if (isComment(node) && node.data === \"teleport start\") {\n nextNode = locateClosingAnchor(node, node.data, \"teleport end\");\n } else {\n nextNode = nextSibling(node);\n }\n mountComponent(\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n optimized\n );\n if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {\n let subTree;\n if (isFragmentStart) {\n subTree = createVNode(Fragment);\n subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;\n } else {\n subTree = node.nodeType === 3 ? createTextVNode(\"\") : createVNode(\"div\");\n }\n subTree.el = node;\n vnode.component.subTree = subTree;\n }\n } else if (shapeFlag & 64) {\n if (domType !== 8) {\n nextNode = onMismatch();\n } else {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateChildren\n );\n }\n } else if (shapeFlag & 128) {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n getContainerType(parentNode(node)),\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateNode\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) {\n warn$1(\"Invalid HostVNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode);\n }\n return nextNode;\n };\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode;\n const forcePatch = type === \"input\" || type === \"option\";\n if (!!(process.env.NODE_ENV !== \"production\") || forcePatch || patchFlag !== -1) {\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n let needCallTransitionHooks = false;\n if (isTemplateNode(el)) {\n needCallTransitionHooks = needTransition(\n null,\n // no need check parentSuspense in hydration\n transition\n ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;\n const content = el.content.firstChild;\n if (needCallTransitionHooks) {\n transition.beforeEnter(content);\n }\n replaceNode(content, el, parentComponent);\n vnode.el = el = content;\n }\n if (shapeFlag & 16 && // skip if element has innerHTML / textContent\n !(props && (props.innerHTML || props.textContent))) {\n let next = hydrateChildren(\n el.firstChild,\n vnode,\n el,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n let hasWarned = false;\n while (next) {\n if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n el,\n `\nServer rendered element contains more child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n const cur = next;\n next = next.nextSibling;\n remove(cur);\n }\n } else if (shapeFlag & 8) {\n let clientText = vnode.children;\n if (clientText[0] === \"\\n\" && (el.tagName === \"PRE\" || el.tagName === \"TEXTAREA\")) {\n clientText = clientText.slice(1);\n }\n if (el.textContent !== clientText) {\n if (!isMismatchAllowed(el, 0 /* TEXT */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text content mismatch on`,\n el,\n `\n - rendered on server: ${el.textContent}\n - expected on client: ${vnode.children}`\n );\n logMismatchError();\n }\n el.textContent = vnode.children;\n }\n }\n if (props) {\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || !optimized || patchFlag & (16 | 32)) {\n const isCustomElement = el.tagName.includes(\"-\");\n for (const key in props) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks\n // as it could have mutated the DOM in any possible way\n !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {\n logMismatchError();\n }\n if (forcePatch && (key.endsWith(\"value\") || key === \"indeterminate\") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers\n key[0] === \".\" || isCustomElement) {\n patchProp(el, key, null, props[key], void 0, parentComponent);\n }\n }\n } else if (props.onClick) {\n patchProp(\n el,\n \"onClick\",\n null,\n props.onClick,\n void 0,\n parentComponent\n );\n } else if (patchFlag & 4 && isReactive(props.style)) {\n for (const key in props.style) props.style[key];\n }\n }\n let vnodeHooks;\n if (vnodeHooks = props && props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {\n queueEffectWithSuspense(() => {\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n }\n return el.nextSibling;\n };\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!parentVNode.dynamicChildren;\n const children = parentVNode.children;\n const l = children.length;\n let hasWarned = false;\n for (let i = 0; i < l; i++) {\n const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);\n const isText = vnode.type === Text;\n if (node) {\n if (isText && !optimized) {\n if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) {\n insert(\n createText(\n node.data.slice(vnode.children.length)\n ),\n container,\n nextSibling(node)\n );\n node.data = vnode.children;\n }\n }\n node = hydrateNode(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n } else if (isText && !vnode.children) {\n insert(vnode.el = createText(\"\"), container);\n } else {\n if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n container,\n `\nServer rendered element contains fewer child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n patch(\n null,\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n }\n }\n return node;\n };\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n const container = parentNode(node);\n const next = hydrateChildren(\n nextSibling(node),\n vnode,\n container,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && isComment(next) && next.data === \"]\") {\n return nextSibling(vnode.anchor = next);\n } else {\n logMismatchError();\n insert(vnode.anchor = createComment(`]`), container, next);\n return next;\n }\n };\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\n if (!isMismatchAllowed(node.parentElement, 1 /* CHILDREN */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration node mismatch:\n- rendered on server:`,\n node,\n node.nodeType === 3 ? `(text)` : isComment(node) && node.data === \"[\" ? `(start of fragment)` : ``,\n `\n- expected on client:`,\n vnode.type\n );\n logMismatchError();\n }\n vnode.el = null;\n if (isFragment) {\n const end = locateClosingAnchor(node);\n while (true) {\n const next2 = nextSibling(node);\n if (next2 && next2 !== end) {\n remove(next2);\n } else {\n break;\n }\n }\n }\n const next = nextSibling(node);\n const container = parentNode(node);\n remove(node);\n patch(\n null,\n vnode,\n container,\n next,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n if (parentComponent) {\n parentComponent.vnode.el = vnode.el;\n updateHOCHostEl(parentComponent, vnode.el);\n }\n return next;\n };\n const locateClosingAnchor = (node, open = \"[\", close = \"]\") => {\n let match = 0;\n while (node) {\n node = nextSibling(node);\n if (node && isComment(node)) {\n if (node.data === open) match++;\n if (node.data === close) {\n if (match === 0) {\n return nextSibling(node);\n } else {\n match--;\n }\n }\n }\n }\n return node;\n };\n const replaceNode = (newNode, oldNode, parentComponent) => {\n const parentNode2 = oldNode.parentNode;\n if (parentNode2) {\n parentNode2.replaceChild(newNode, oldNode);\n }\n let parent = parentComponent;\n while (parent) {\n if (parent.vnode.el === oldNode) {\n parent.vnode.el = parent.subTree.el = newNode;\n }\n parent = parent.parent;\n }\n };\n const isTemplateNode = (node) => {\n return node.nodeType === 1 && node.tagName === \"TEMPLATE\";\n };\n return [hydrate, hydrateNode];\n}\nfunction propHasMismatch(el, key, clientValue, vnode, instance) {\n let mismatchType;\n let mismatchKey;\n let actual;\n let expected;\n if (key === \"class\") {\n actual = el.getAttribute(\"class\");\n expected = normalizeClass(clientValue);\n if (!isSetEqual(toClassSet(actual || \"\"), toClassSet(expected))) {\n mismatchType = 2 /* CLASS */;\n mismatchKey = `class`;\n }\n } else if (key === \"style\") {\n actual = el.getAttribute(\"style\") || \"\";\n expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));\n const actualMap = toStyleMap(actual);\n const expectedMap = toStyleMap(expected);\n if (vnode.dirs) {\n for (const { dir, value } of vnode.dirs) {\n if (dir.name === \"show\" && !value) {\n expectedMap.set(\"display\", \"none\");\n }\n }\n }\n if (instance) {\n resolveCssVars(instance, vnode, expectedMap);\n }\n if (!isMapEqual(actualMap, expectedMap)) {\n mismatchType = 3 /* STYLE */;\n mismatchKey = \"style\";\n }\n } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {\n if (isBooleanAttr(key)) {\n actual = el.hasAttribute(key);\n expected = includeBooleanAttr(clientValue);\n } else if (clientValue == null) {\n actual = el.hasAttribute(key);\n expected = false;\n } else {\n if (el.hasAttribute(key)) {\n actual = el.getAttribute(key);\n } else if (key === \"value\" && el.tagName === \"TEXTAREA\") {\n actual = el.value;\n } else {\n actual = false;\n }\n expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;\n }\n if (actual !== expected) {\n mismatchType = 4 /* ATTRIBUTE */;\n mismatchKey = key;\n }\n }\n if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) {\n const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}=\"${v}\"`;\n const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`;\n const postSegment = `\n - rendered on server: ${format(actual)}\n - expected on client: ${format(expected)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`;\n {\n warn$1(preSegment, el, postSegment);\n }\n return true;\n }\n return false;\n}\nfunction toClassSet(str) {\n return new Set(str.trim().split(/\\s+/));\n}\nfunction isSetEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const s of a) {\n if (!b.has(s)) {\n return false;\n }\n }\n return true;\n}\nfunction toStyleMap(str) {\n const styleMap = /* @__PURE__ */ new Map();\n for (const item of str.split(\";\")) {\n let [key, value] = item.split(\":\");\n key = key.trim();\n value = value && value.trim();\n if (key && value) {\n styleMap.set(key, value);\n }\n }\n return styleMap;\n}\nfunction isMapEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const [key, value] of a) {\n if (value !== b.get(key)) {\n return false;\n }\n }\n return true;\n}\nfunction resolveCssVars(instance, vnode, expectedMap) {\n const root = instance.subTree;\n if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {\n const cssVars = instance.getCssVars();\n for (const key in cssVars) {\n expectedMap.set(\n `--${getEscapedCssVarName(key, false)}`,\n String(cssVars[key])\n );\n }\n }\n if (vnode === root && instance.parent) {\n resolveCssVars(instance.parent, instance.vnode, expectedMap);\n }\n}\nconst allowMismatchAttr = \"data-allow-mismatch\";\nconst MismatchTypeString = {\n [0 /* TEXT */]: \"text\",\n [1 /* CHILDREN */]: \"children\",\n [2 /* CLASS */]: \"class\",\n [3 /* STYLE */]: \"style\",\n [4 /* ATTRIBUTE */]: \"attribute\"\n};\nfunction isMismatchAllowed(el, allowedType) {\n if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) {\n while (el && !el.hasAttribute(allowMismatchAttr)) {\n el = el.parentElement;\n }\n }\n const allowedAttr = el && el.getAttribute(allowMismatchAttr);\n if (allowedAttr == null) {\n return false;\n } else if (allowedAttr === \"\") {\n return true;\n } else {\n const list = allowedAttr.split(\",\");\n if (allowedType === 0 /* TEXT */ && list.includes(\"children\")) {\n return true;\n }\n return allowedAttr.split(\",\").includes(MismatchTypeString[allowedType]);\n }\n}\n\nconst requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1));\nconst cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id));\nconst hydrateOnIdle = (timeout = 1e4) => (hydrate) => {\n const id = requestIdleCallback(hydrate, { timeout });\n return () => cancelIdleCallback(id);\n};\nfunction elementIsVisibleInViewport(el) {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth);\n}\nconst hydrateOnVisible = (opts) => (hydrate, forEach) => {\n const ob = new IntersectionObserver((entries) => {\n for (const e of entries) {\n if (!e.isIntersecting) continue;\n ob.disconnect();\n hydrate();\n break;\n }\n }, opts);\n forEach((el) => {\n if (!(el instanceof Element)) return;\n if (elementIsVisibleInViewport(el)) {\n hydrate();\n ob.disconnect();\n return false;\n }\n ob.observe(el);\n });\n return () => ob.disconnect();\n};\nconst hydrateOnMediaQuery = (query) => (hydrate) => {\n if (query) {\n const mql = matchMedia(query);\n if (mql.matches) {\n hydrate();\n } else {\n mql.addEventListener(\"change\", hydrate, { once: true });\n return () => mql.removeEventListener(\"change\", hydrate);\n }\n }\n};\nconst hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {\n if (isString(interactions)) interactions = [interactions];\n let hasHydrated = false;\n const doHydrate = (e) => {\n if (!hasHydrated) {\n hasHydrated = true;\n teardown();\n hydrate();\n e.target.dispatchEvent(new e.constructor(e.type, e));\n }\n };\n const teardown = () => {\n forEach((el) => {\n for (const i of interactions) {\n el.removeEventListener(i, doHydrate);\n }\n });\n };\n forEach((el) => {\n for (const i of interactions) {\n el.addEventListener(i, doHydrate, { once: true });\n }\n });\n return teardown;\n};\nfunction forEachElement(node, cb) {\n if (isComment(node) && node.data === \"[\") {\n let depth = 1;\n let next = node.nextSibling;\n while (next) {\n if (next.nodeType === 1) {\n const result = cb(next);\n if (result === false) {\n break;\n }\n } else if (isComment(next)) {\n if (next.data === \"]\") {\n if (--depth === 0) break;\n } else if (next.data === \"[\") {\n depth++;\n }\n }\n next = next.nextSibling;\n }\n } else {\n cb(node);\n }\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 hydrate: hydrateStrategy,\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 __asyncHydrate(el, instance, hydrate) {\n const doHydrate = hydrateStrategy ? () => {\n const teardown = hydrateStrategy(\n hydrate,\n (cb) => forEachElement(el, cb)\n );\n if (teardown) {\n (instance.bum || (instance.bum = [])).push(teardown);\n }\n } : hydrate;\n if (resolvedComp) {\n doHydrate();\n } else {\n load().then(() => !instance.isUnmounted && doHydrate());\n }\n },\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n markAsyncBoundary(instance);\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.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 invalidateMount(instance2.m);\n invalidateMount(instance2.a);\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(name)) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (cached && (!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 if (isSuspense(instance.subTree.type)) {\n queuePostRenderEffect(() => {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }, instance.subTree.suspense);\n } else {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\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 current = 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 if (vnode.type === Comment) {\n current = null;\n return vnode;\n }\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 vnode.shapeFlag &= ~256;\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 pattern.lastIndex = 0;\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 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 if (!isInSSRComponentSetup || lifecycle === \"sp\") {\n injectHook(lifecycle, (...args) => hook(...args), target);\n }\n};\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\n \"bu\"\n);\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\n \"bum\"\n);\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\n \"sp\"\n);\nconst onRenderTriggered = createHook(\"rtg\");\nconst onRenderTracked = createHook(\"rtc\");\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\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\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n const sourceIsArray = isArray(source);\n if (sourceIsArray || isString(source)) {\n const sourceIsReactiveArray = sourceIsArray && isReactive(source);\n let needsWrap = false;\n if (sourceIsReactiveArray) {\n needsWrap = !isShallow(source);\n source = shallowReadArray(source);\n }\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(\n needsWrap ? toReactive(source[i]) : source[i],\n i,\n void 0,\n cached && cached[i]\n );\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) 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.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {\n if (name !== \"default\") props.name = name;\n return openBlock(), createBlock(\n Fragment,\n null,\n [createVNode(\"slot\", props, fallback && fallback())],\n 64\n );\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 slotKey = 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;\n const rendered = createBlock(\n Fragment,\n {\n key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content\n (!validSlotContent && fallback ? \"_fb\" : \"\")\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)) return true;\n if (child.type === Comment) 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) return null;\n if (isStatefulComponent(i)) return getComponentPublicInstance(i);\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 $host: (i) => i.ce,\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\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 if (key === \"__v_skip\") {\n return true;\n }\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.attrs, \"get\", \"\");\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 \r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","/*!\n * vue-router v4.5.0\n * (c) 2024 Eduardo San Martin Morote\n * @license MIT\n */\nimport { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\nconst isBrowser = typeof document !== 'undefined';\n\n/**\n * Allows differentiating lazy components from functional components and vue-class-component\n * @internal\n *\n * @param component\n */\nfunction isRouteComponent(component) {\n return (typeof component === 'object' ||\n 'displayName' in component ||\n 'props' in component ||\n '__vccOpts' in component);\n}\nfunction isESModule(obj) {\n return (obj.__esModule ||\n obj[Symbol.toStringTag] === 'Module' ||\n // support CF with dynamic imports that do not\n // add the Module string tag\n (obj.default && isRouteComponent(obj.default)));\n}\nconst assign = Object.assign;\nfunction applyToParams(fn, params) {\n const newParams = {};\n for (const key in params) {\n const value = params[key];\n newParams[key] = isArray(value)\n ? value.map(fn)\n : fn(value);\n }\n return newParams;\n}\nconst noop = () => { };\n/**\n * Typesafe alternative to Array.isArray\n * https://github.com/microsoft/TypeScript/pull/48228\n */\nconst isArray = Array.isArray;\n\nfunction warn(msg) {\n // avoid using ...args as it breaks in older Edge builds\n const args = Array.from(arguments).slice(1);\n console.warn.apply(console, ['[Vue Router warn]: ' + msg].concat(args));\n}\n\n/**\n * Encoding Rules (␣ = Space)\n * - Path: ␣ \" < > # ? { }\n * - Query: ␣ \" < > # & =\n * - Hash: ␣ \" < > `\n *\n * On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)\n * defines some extra characters to be encoded. Most browsers do not encode them\n * in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to\n * also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`)\n * plus `-._~`. This extra safety should be applied to query by patching the\n * string returned by encodeURIComponent encodeURI also encodes `[\\]^`. `\\`\n * should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\\`\n * into a `/` if directly typed in. The _backtick_ (`````) should also be\n * encoded everywhere because some browsers like FF encode it when directly\n * written while others don't. Safari and IE don't encode ``\"<>{}``` in hash.\n */\n// const EXTRA_RESERVED_RE = /[!'()*]/g\n// const encodeReservedReplacer = (c: string) => '%' + c.charCodeAt(0).toString(16)\nconst HASH_RE = /#/g; // %23\nconst AMPERSAND_RE = /&/g; // %26\nconst SLASH_RE = /\\//g; // %2F\nconst EQUAL_RE = /=/g; // %3D\nconst IM_RE = /\\?/g; // %3F\nconst PLUS_RE = /\\+/g; // %2B\n/**\n * NOTE: It's not clear to me if we should encode the + symbol in queries, it\n * seems to be less flexible than not doing so and I can't find out the legacy\n * systems requiring this for regular requests like text/html. In the standard,\n * the encoding of the plus character is only mentioned for\n * application/x-www-form-urlencoded\n * (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo\n * leave the plus character as is in queries. To be more flexible, we allow the\n * plus character on the query, but it can also be manually encoded by the user.\n *\n * Resources:\n * - https://url.spec.whatwg.org/#urlencoded-parsing\n * - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20\n */\nconst ENC_BRACKET_OPEN_RE = /%5B/g; // [\nconst ENC_BRACKET_CLOSE_RE = /%5D/g; // ]\nconst ENC_CARET_RE = /%5E/g; // ^\nconst ENC_BACKTICK_RE = /%60/g; // `\nconst ENC_CURLY_OPEN_RE = /%7B/g; // {\nconst ENC_PIPE_RE = /%7C/g; // |\nconst ENC_CURLY_CLOSE_RE = /%7D/g; // }\nconst ENC_SPACE_RE = /%20/g; // }\n/**\n * Encode characters that need to be encoded on the path, search and hash\n * sections of the URL.\n *\n * @internal\n * @param text - string to encode\n * @returns encoded string\n */\nfunction commonEncode(text) {\n return encodeURI('' + text)\n .replace(ENC_PIPE_RE, '|')\n .replace(ENC_BRACKET_OPEN_RE, '[')\n .replace(ENC_BRACKET_CLOSE_RE, ']');\n}\n/**\n * Encode characters that need to be encoded on the hash section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeHash(text) {\n return commonEncode(text)\n .replace(ENC_CURLY_OPEN_RE, '{')\n .replace(ENC_CURLY_CLOSE_RE, '}')\n .replace(ENC_CARET_RE, '^');\n}\n/**\n * Encode characters that need to be encoded query values on the query\n * section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeQueryValue(text) {\n return (commonEncode(text)\n // Encode the space as +, encode the + to differentiate it from the space\n .replace(PLUS_RE, '%2B')\n .replace(ENC_SPACE_RE, '+')\n .replace(HASH_RE, '%23')\n .replace(AMPERSAND_RE, '%26')\n .replace(ENC_BACKTICK_RE, '`')\n .replace(ENC_CURLY_OPEN_RE, '{')\n .replace(ENC_CURLY_CLOSE_RE, '}')\n .replace(ENC_CARET_RE, '^'));\n}\n/**\n * Like `encodeQueryValue` but also encodes the `=` character.\n *\n * @param text - string to encode\n */\nfunction encodeQueryKey(text) {\n return encodeQueryValue(text).replace(EQUAL_RE, '%3D');\n}\n/**\n * Encode characters that need to be encoded on the path section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodePath(text) {\n return commonEncode(text).replace(HASH_RE, '%23').replace(IM_RE, '%3F');\n}\n/**\n * Encode characters that need to be encoded on the path section of the URL as a\n * param. This function encodes everything {@link encodePath} does plus the\n * slash (`/`) character. If `text` is `null` or `undefined`, returns an empty\n * string instead.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeParam(text) {\n return text == null ? '' : encodePath(text).replace(SLASH_RE, '%2F');\n}\n/**\n * Decode text using `decodeURIComponent`. Returns the original text if it\n * fails.\n *\n * @param text - string to decode\n * @returns decoded string\n */\nfunction decode(text) {\n try {\n return decodeURIComponent('' + text);\n }\n catch (err) {\n (process.env.NODE_ENV !== 'production') && warn(`Error decoding \"${text}\". Using original value`);\n }\n return '' + text;\n}\n\nconst TRAILING_SLASH_RE = /\\/$/;\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, '');\n/**\n * Transforms a URI into a normalized history location\n *\n * @param parseQuery\n * @param location - URI to normalize\n * @param currentLocation - current absolute location. Allows resolving relative\n * paths. Must start with `/`. Defaults to `/`\n * @returns a normalized history location\n */\nfunction parseURL(parseQuery, location, currentLocation = '/') {\n let path, query = {}, searchString = '', hash = '';\n // Could use URL and URLSearchParams but IE 11 doesn't support it\n // TODO: move to new URL()\n const hashPos = location.indexOf('#');\n let searchPos = location.indexOf('?');\n // the hash appears before the search, so it's not part of the search string\n if (hashPos < searchPos && hashPos >= 0) {\n searchPos = -1;\n }\n if (searchPos > -1) {\n path = location.slice(0, searchPos);\n searchString = location.slice(searchPos + 1, hashPos > -1 ? hashPos : location.length);\n query = parseQuery(searchString);\n }\n if (hashPos > -1) {\n path = path || location.slice(0, hashPos);\n // keep the # character\n hash = location.slice(hashPos, location.length);\n }\n // no search and no query\n path = resolveRelativePath(path != null ? path : location, currentLocation);\n // empty path means a relative query or hash `?foo=f`, `#thing`\n return {\n fullPath: path + (searchString && '?') + searchString + hash,\n path,\n query,\n hash: decode(hash),\n };\n}\n/**\n * Stringifies a URL object\n *\n * @param stringifyQuery\n * @param location\n */\nfunction stringifyURL(stringifyQuery, location) {\n const query = location.query ? stringifyQuery(location.query) : '';\n return location.path + (query && '?') + query + (location.hash || '');\n}\n/**\n * Strips off the base from the beginning of a location.pathname in a non-case-sensitive way.\n *\n * @param pathname - location.pathname\n * @param base - base to strip off\n */\nfunction stripBase(pathname, base) {\n // no base or base is not found at the beginning\n if (!base || !pathname.toLowerCase().startsWith(base.toLowerCase()))\n return pathname;\n return pathname.slice(base.length) || '/';\n}\n/**\n * Checks if two RouteLocation are equal. This means that both locations are\n * pointing towards the same {@link RouteRecord} and that all `params`, `query`\n * parameters and `hash` are the same\n *\n * @param stringifyQuery - A function that takes a query object of type LocationQueryRaw and returns a string representation of it.\n * @param a - first {@link RouteLocation}\n * @param b - second {@link RouteLocation}\n */\nfunction isSameRouteLocation(stringifyQuery, a, b) {\n const aLastIndex = a.matched.length - 1;\n const bLastIndex = b.matched.length - 1;\n return (aLastIndex > -1 &&\n aLastIndex === bLastIndex &&\n isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) &&\n isSameRouteLocationParams(a.params, b.params) &&\n stringifyQuery(a.query) === stringifyQuery(b.query) &&\n a.hash === b.hash);\n}\n/**\n * Check if two `RouteRecords` are equal. Takes into account aliases: they are\n * considered equal to the `RouteRecord` they are aliasing.\n *\n * @param a - first {@link RouteRecord}\n * @param b - second {@link RouteRecord}\n */\nfunction isSameRouteRecord(a, b) {\n // since the original record has an undefined value for aliasOf\n // but all aliases point to the original record, this will always compare\n // the original record\n return (a.aliasOf || a) === (b.aliasOf || b);\n}\nfunction isSameRouteLocationParams(a, b) {\n if (Object.keys(a).length !== Object.keys(b).length)\n return false;\n for (const key in a) {\n if (!isSameRouteLocationParamsValue(a[key], b[key]))\n return false;\n }\n return true;\n}\nfunction isSameRouteLocationParamsValue(a, b) {\n return isArray(a)\n ? isEquivalentArray(a, b)\n : isArray(b)\n ? isEquivalentArray(b, a)\n : a === b;\n}\n/**\n * Check if two arrays are the same or if an array with one single entry is the\n * same as another primitive value. Used to check query and parameters\n *\n * @param a - array of values\n * @param b - array of values or a single value\n */\nfunction isEquivalentArray(a, b) {\n return isArray(b)\n ? a.length === b.length && a.every((value, i) => value === b[i])\n : a.length === 1 && a[0] === b;\n}\n/**\n * Resolves a relative path that starts with `.`.\n *\n * @param to - path location we are resolving\n * @param from - currentLocation.path, should start with `/`\n */\nfunction resolveRelativePath(to, from) {\n if (to.startsWith('/'))\n return to;\n if ((process.env.NODE_ENV !== 'production') && !from.startsWith('/')) {\n warn(`Cannot resolve a relative location without an absolute path. Trying to resolve \"${to}\" from \"${from}\". It should look like \"/${from}\".`);\n return to;\n }\n if (!to)\n return from;\n const fromSegments = from.split('/');\n const toSegments = to.split('/');\n const lastToSegment = toSegments[toSegments.length - 1];\n // make . and ./ the same (../ === .., ../../ === ../..)\n // this is the same behavior as new URL()\n if (lastToSegment === '..' || lastToSegment === '.') {\n toSegments.push('');\n }\n let position = fromSegments.length - 1;\n let toPosition;\n let segment;\n for (toPosition = 0; toPosition < toSegments.length; toPosition++) {\n segment = toSegments[toPosition];\n // we stay on the same position\n if (segment === '.')\n continue;\n // go up in the from array\n if (segment === '..') {\n // we can't go below zero, but we still need to increment toPosition\n if (position > 1)\n position--;\n // continue\n }\n // we reached a non-relative path, we stop here\n else\n break;\n }\n return (fromSegments.slice(0, position).join('/') +\n '/' +\n toSegments.slice(toPosition).join('/'));\n}\n/**\n * Initial route location where the router is. Can be used in navigation guards\n * to differentiate the initial navigation.\n *\n * @example\n * ```js\n * import { START_LOCATION } from 'vue-router'\n *\n * router.beforeEach((to, from) => {\n * if (from === START_LOCATION) {\n * // initial navigation\n * }\n * })\n * ```\n */\nconst START_LOCATION_NORMALIZED = {\n path: '/',\n // TODO: could we use a symbol in the future?\n name: undefined,\n params: {},\n query: {},\n hash: '',\n fullPath: '/',\n matched: [],\n meta: {},\n redirectedFrom: undefined,\n};\n\nvar NavigationType;\n(function (NavigationType) {\n NavigationType[\"pop\"] = \"pop\";\n NavigationType[\"push\"] = \"push\";\n})(NavigationType || (NavigationType = {}));\nvar NavigationDirection;\n(function (NavigationDirection) {\n NavigationDirection[\"back\"] = \"back\";\n NavigationDirection[\"forward\"] = \"forward\";\n NavigationDirection[\"unknown\"] = \"\";\n})(NavigationDirection || (NavigationDirection = {}));\n/**\n * Starting location for Histories\n */\nconst START = '';\n// Generic utils\n/**\n * Normalizes a base by removing any trailing slash and reading the base tag if\n * present.\n *\n * @param base - base to normalize\n */\nfunction normalizeBase(base) {\n if (!base) {\n if (isBrowser) {\n // respect tag\n const baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^\\w+:\\/\\/[^\\/]+/, '');\n }\n else {\n base = '/';\n }\n }\n // ensure leading slash when it was removed by the regex above avoid leading\n // slash with hash because the file could be read from the disk like file://\n // and the leading slash would cause problems\n if (base[0] !== '/' && base[0] !== '#')\n base = '/' + base;\n // remove the trailing slash so all other method can just do `base + fullPath`\n // to build an href\n return removeTrailingSlash(base);\n}\n// remove any character before the hash\nconst BEFORE_HASH_RE = /^[^#]+#/;\nfunction createHref(base, location) {\n return base.replace(BEFORE_HASH_RE, '#') + location;\n}\n\nfunction getElementPosition(el, offset) {\n const docRect = document.documentElement.getBoundingClientRect();\n const elRect = el.getBoundingClientRect();\n return {\n behavior: offset.behavior,\n left: elRect.left - docRect.left - (offset.left || 0),\n top: elRect.top - docRect.top - (offset.top || 0),\n };\n}\nconst computeScrollPosition = () => ({\n left: window.scrollX,\n top: window.scrollY,\n});\nfunction scrollToPosition(position) {\n let scrollToOptions;\n if ('el' in position) {\n const positionEl = position.el;\n const isIdSelector = typeof positionEl === 'string' && positionEl.startsWith('#');\n /**\n * `id`s can accept pretty much any characters, including CSS combinators\n * like `>` or `~`. It's still possible to retrieve elements using\n * `document.getElementById('~')` but it needs to be escaped when using\n * `document.querySelector('#\\\\~')` for it to be valid. The only\n * requirements for `id`s are them to be unique on the page and to not be\n * empty (`id=\"\"`). Because of that, when passing an id selector, it should\n * be properly escaped for it to work with `querySelector`. We could check\n * for the id selector to be simple (no CSS combinators `+ >~`) but that\n * would make things inconsistent since they are valid characters for an\n * `id` but would need to be escaped when using `querySelector`, breaking\n * their usage and ending up in no selector returned. Selectors need to be\n * escaped:\n *\n * - `#1-thing` becomes `#\\31 -thing`\n * - `#with~symbols` becomes `#with\\\\~symbols`\n *\n * - More information about the topic can be found at\n * https://mathiasbynens.be/notes/html5-id-class.\n * - Practical example: https://mathiasbynens.be/demo/html5-id\n */\n if ((process.env.NODE_ENV !== 'production') && typeof position.el === 'string') {\n if (!isIdSelector || !document.getElementById(position.el.slice(1))) {\n try {\n const foundEl = document.querySelector(position.el);\n if (isIdSelector && foundEl) {\n warn(`The selector \"${position.el}\" should be passed as \"el: document.querySelector('${position.el}')\" because it starts with \"#\".`);\n // return to avoid other warnings\n return;\n }\n }\n catch (err) {\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).`);\n // return to avoid other warnings\n return;\n }\n }\n }\n const el = typeof positionEl === 'string'\n ? isIdSelector\n ? document.getElementById(positionEl.slice(1))\n : document.querySelector(positionEl)\n : positionEl;\n if (!el) {\n (process.env.NODE_ENV !== 'production') &&\n warn(`Couldn't find element using selector \"${position.el}\" returned by scrollBehavior.`);\n return;\n }\n scrollToOptions = getElementPosition(el, position);\n }\n else {\n scrollToOptions = position;\n }\n if ('scrollBehavior' in document.documentElement.style)\n window.scrollTo(scrollToOptions);\n else {\n window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.scrollX, scrollToOptions.top != null ? scrollToOptions.top : window.scrollY);\n }\n}\nfunction getScrollKey(path, delta) {\n const position = history.state ? history.state.position - delta : -1;\n return position + path;\n}\nconst scrollPositions = new Map();\nfunction saveScrollPosition(key, scrollPosition) {\n scrollPositions.set(key, scrollPosition);\n}\nfunction getSavedScrollPosition(key) {\n const scroll = scrollPositions.get(key);\n // consume it so it's not used again\n scrollPositions.delete(key);\n return scroll;\n}\n// TODO: RFC about how to save scroll position\n/**\n * ScrollBehavior instance used by the router to compute and restore the scroll\n * position when navigating.\n */\n// export interface ScrollHandler {\n// // returns a scroll position that can be saved in history\n// compute(): ScrollPositionEntry\n// // can take an extended ScrollPositionEntry\n// scroll(position: ScrollPosition): void\n// }\n// export const scrollHandler: ScrollHandler = {\n// compute: computeScroll,\n// scroll: scrollToPosition,\n// }\n\nlet createBaseLocation = () => location.protocol + '//' + location.host;\n/**\n * Creates a normalized history location from a window.location object\n * @param base - The base path\n * @param location - The window.location object\n */\nfunction createCurrentLocation(base, location) {\n const { pathname, search, hash } = location;\n // allows hash bases like #, /#, #/, #!, #!/, /#!/, or even /folder#end\n const hashPos = base.indexOf('#');\n if (hashPos > -1) {\n let slicePos = hash.includes(base.slice(hashPos))\n ? base.slice(hashPos).length\n : 1;\n let pathFromHash = hash.slice(slicePos);\n // prepend the starting slash to hash so the url starts with /#\n if (pathFromHash[0] !== '/')\n pathFromHash = '/' + pathFromHash;\n return stripBase(pathFromHash, '');\n }\n const path = stripBase(pathname, base);\n return path + search + hash;\n}\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\n let listeners = [];\n let teardowns = [];\n // TODO: should it be a stack? a Dict. Check if the popstate listener\n // can trigger twice\n let pauseState = null;\n const popStateHandler = ({ state, }) => {\n const to = createCurrentLocation(base, location);\n const from = currentLocation.value;\n const fromState = historyState.value;\n let delta = 0;\n if (state) {\n currentLocation.value = to;\n historyState.value = state;\n // ignore the popstate and reset the pauseState\n if (pauseState && pauseState === from) {\n pauseState = null;\n return;\n }\n delta = fromState ? state.position - fromState.position : 0;\n }\n else {\n replace(to);\n }\n // Here we could also revert the navigation by calling history.go(-delta)\n // this listener will have to be adapted to not trigger again and to wait for the url\n // to be updated before triggering the listeners. Some kind of validation function would also\n // need to be passed to the listeners so the navigation can be accepted\n // call all listeners\n listeners.forEach(listener => {\n listener(currentLocation.value, from, {\n delta,\n type: NavigationType.pop,\n direction: delta\n ? delta > 0\n ? NavigationDirection.forward\n : NavigationDirection.back\n : NavigationDirection.unknown,\n });\n });\n };\n function pauseListeners() {\n pauseState = currentLocation.value;\n }\n function listen(callback) {\n // set up the listener and prepare teardown callbacks\n listeners.push(callback);\n const teardown = () => {\n const index = listeners.indexOf(callback);\n if (index > -1)\n listeners.splice(index, 1);\n };\n teardowns.push(teardown);\n return teardown;\n }\n function beforeUnloadListener() {\n const { history } = window;\n if (!history.state)\n return;\n history.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), '');\n }\n function destroy() {\n for (const teardown of teardowns)\n teardown();\n teardowns = [];\n window.removeEventListener('popstate', popStateHandler);\n window.removeEventListener('beforeunload', beforeUnloadListener);\n }\n // set up the listeners and prepare teardown callbacks\n window.addEventListener('popstate', popStateHandler);\n // TODO: could we use 'pagehide' or 'visibilitychange' instead?\n // https://developer.chrome.com/blog/page-lifecycle-api/\n window.addEventListener('beforeunload', beforeUnloadListener, {\n passive: true,\n });\n return {\n pauseListeners,\n listen,\n destroy,\n };\n}\n/**\n * Creates a state object\n */\nfunction buildState(back, current, forward, replaced = false, computeScroll = false) {\n return {\n back,\n current,\n forward,\n replaced,\n position: window.history.length,\n scroll: computeScroll ? computeScrollPosition() : null,\n };\n}\nfunction useHistoryStateNavigation(base) {\n const { history, location } = window;\n // private variables\n const currentLocation = {\n value: createCurrentLocation(base, location),\n };\n const historyState = { value: history.state };\n // build current history entry as this is a fresh navigation\n if (!historyState.value) {\n changeLocation(currentLocation.value, {\n back: null,\n current: currentLocation.value,\n forward: null,\n // the length is off by one, we need to decrease it\n position: history.length - 1,\n replaced: true,\n // don't add a scroll as the user may have an anchor, and we want\n // scrollBehavior to be triggered without a saved position\n scroll: null,\n }, true);\n }\n function changeLocation(to, state, replace) {\n /**\n * if a base tag is provided, and we are on a normal domain, we have to\n * respect the provided `base` attribute because pushState() will use it and\n * potentially erase anything before the `#` like at\n * https://github.com/vuejs/router/issues/685 where a base of\n * `/folder/#` but a base of `/` would erase the `/folder/` section. If\n * there is no host, the `` tag makes no sense and if there isn't a\n * base tag we can just use everything after the `#`.\n */\n const hashIndex = base.indexOf('#');\n const url = hashIndex > -1\n ? (location.host && document.querySelector('base')\n ? base\n : base.slice(hashIndex)) + to\n : createBaseLocation() + base + to;\n try {\n // BROWSER QUIRK\n // NOTE: Safari throws a SecurityError when calling this function 100 times in 30 seconds\n history[replace ? 'replaceState' : 'pushState'](state, '', url);\n historyState.value = state;\n }\n catch (err) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('Error with push/replace State', err);\n }\n else {\n console.error(err);\n }\n // Force the navigation, this also resets the call count\n location[replace ? 'replace' : 'assign'](url);\n }\n }\n function replace(to, data) {\n const state = assign({}, history.state, buildState(historyState.value.back, \n // keep back and forward entries but override current position\n to, historyState.value.forward, true), data, { position: historyState.value.position });\n changeLocation(to, state, true);\n currentLocation.value = to;\n }\n function push(to, data) {\n // Add to current entry the information of where we are going\n // as well as saving the current position\n const currentState = assign({}, \n // use current history state to gracefully handle a wrong call to\n // history.replaceState\n // https://github.com/vuejs/router/issues/366\n historyState.value, history.state, {\n forward: to,\n scroll: computeScrollPosition(),\n });\n if ((process.env.NODE_ENV !== 'production') && !history.state) {\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` +\n `history.replaceState(history.state, '', url)\\n\\n` +\n `You can find more information at https://router.vuejs.org/guide/migration/#Usage-of-history-state`);\n }\n changeLocation(currentState.current, currentState, true);\n const state = assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data);\n changeLocation(to, state, false);\n currentLocation.value = to;\n }\n return {\n location: currentLocation,\n state: historyState,\n push,\n replace,\n };\n}\n/**\n * Creates an HTML5 history. Most common history for single page applications.\n *\n * @param base -\n */\nfunction createWebHistory(base) {\n base = normalizeBase(base);\n const historyNavigation = useHistoryStateNavigation(base);\n const historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\n function go(delta, triggerListeners = true) {\n if (!triggerListeners)\n historyListeners.pauseListeners();\n history.go(delta);\n }\n const routerHistory = assign({\n // it's overridden right after\n location: '',\n base,\n go,\n createHref: createHref.bind(null, base),\n }, historyNavigation, historyListeners);\n Object.defineProperty(routerHistory, 'location', {\n enumerable: true,\n get: () => historyNavigation.location.value,\n });\n Object.defineProperty(routerHistory, 'state', {\n enumerable: true,\n get: () => historyNavigation.state.value,\n });\n return routerHistory;\n}\n\n/**\n * Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere.\n * It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`.\n *\n * @param base - Base applied to all urls, defaults to '/'\n * @returns a history object that can be passed to the router constructor\n */\nfunction createMemoryHistory(base = '') {\n let listeners = [];\n let queue = [START];\n let position = 0;\n base = normalizeBase(base);\n function setLocation(location) {\n position++;\n if (position !== queue.length) {\n // we are in the middle, we remove everything from here in the queue\n queue.splice(position);\n }\n queue.push(location);\n }\n function triggerListeners(to, from, { direction, delta }) {\n const info = {\n direction,\n delta,\n type: NavigationType.pop,\n };\n for (const callback of listeners) {\n callback(to, from, info);\n }\n }\n const routerHistory = {\n // rewritten by Object.defineProperty\n location: START,\n // TODO: should be kept in queue\n state: {},\n base,\n createHref: createHref.bind(null, base),\n replace(to) {\n // remove current entry and decrement position\n queue.splice(position--, 1);\n setLocation(to);\n },\n push(to, data) {\n setLocation(to);\n },\n listen(callback) {\n listeners.push(callback);\n return () => {\n const index = listeners.indexOf(callback);\n if (index > -1)\n listeners.splice(index, 1);\n };\n },\n destroy() {\n listeners = [];\n queue = [START];\n position = 0;\n },\n go(delta, shouldTrigger = true) {\n const from = this.location;\n const direction = \n // we are considering delta === 0 going forward, but in abstract mode\n // using 0 for the delta doesn't make sense like it does in html5 where\n // it reloads the page\n delta < 0 ? NavigationDirection.back : NavigationDirection.forward;\n position = Math.max(0, Math.min(position + delta, queue.length - 1));\n if (shouldTrigger) {\n triggerListeners(this.location, from, {\n direction,\n delta,\n });\n }\n },\n };\n Object.defineProperty(routerHistory, 'location', {\n enumerable: true,\n get: () => queue[position],\n });\n return routerHistory;\n}\n\n/**\n * Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to\n * handle any URL is not possible.\n *\n * @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `` tag\n * in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState()\n * calls**, meaning that if you use a `` tag, it's `href` value **has to match this parameter** (ignoring anything\n * after the `#`).\n *\n * @example\n * ```js\n * // at https://example.com/folder\n * createWebHashHistory() // gives a url of `https://example.com/folder#`\n * createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`\n * // if the `#` is provided in the base, it won't be added by `createWebHashHistory`\n * createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`\n * // you should avoid doing this because it changes the original url and breaks copying urls\n * createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`\n *\n * // at file:///usr/etc/folder/index.html\n * // for locations with no `host`, the base is ignored\n * createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`\n * ```\n */\nfunction createWebHashHistory(base) {\n // Make sure this implementation is fine in terms of encoding, specially for IE11\n // for `file://`, directly use the pathname and ignore the base\n // location.pathname contains an initial `/` even at the root: `https://example.com`\n base = location.host ? base || location.pathname + location.search : '';\n // allow the user to provide a `#` in the middle: `/base/#/app`\n if (!base.includes('#'))\n base += '#';\n if ((process.env.NODE_ENV !== 'production') && !base.endsWith('#/') && !base.endsWith('#')) {\n warn(`A hash base must end with a \"#\":\\n\"${base}\" should be \"${base.replace(/#.*$/, '#')}\".`);\n }\n return createWebHistory(base);\n}\n\nfunction isRouteLocation(route) {\n return typeof route === 'string' || (route && typeof route === 'object');\n}\nfunction isRouteName(name) {\n return typeof name === 'string' || typeof name === 'symbol';\n}\n\nconst NavigationFailureSymbol = Symbol((process.env.NODE_ENV !== 'production') ? 'navigation failure' : '');\n/**\n * Enumeration with all possible types for navigation failures. Can be passed to\n * {@link isNavigationFailure} to check for specific failures.\n */\nvar NavigationFailureType;\n(function (NavigationFailureType) {\n /**\n * An aborted navigation is a navigation that failed because a navigation\n * guard returned `false` or called `next(false)`\n */\n NavigationFailureType[NavigationFailureType[\"aborted\"] = 4] = \"aborted\";\n /**\n * A cancelled navigation is a navigation that failed because a more recent\n * navigation finished started (not necessarily finished).\n */\n NavigationFailureType[NavigationFailureType[\"cancelled\"] = 8] = \"cancelled\";\n /**\n * A duplicated navigation is a navigation that failed because it was\n * initiated while already being at the exact same location.\n */\n NavigationFailureType[NavigationFailureType[\"duplicated\"] = 16] = \"duplicated\";\n})(NavigationFailureType || (NavigationFailureType = {}));\n// DEV only debug messages\nconst ErrorTypeMessages = {\n [1 /* ErrorTypes.MATCHER_NOT_FOUND */]({ location, currentLocation }) {\n return `No match for\\n ${JSON.stringify(location)}${currentLocation\n ? '\\nwhile being at\\n' + JSON.stringify(currentLocation)\n : ''}`;\n },\n [2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */]({ from, to, }) {\n return `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\n },\n [4 /* ErrorTypes.NAVIGATION_ABORTED */]({ from, to }) {\n return `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\n },\n [8 /* ErrorTypes.NAVIGATION_CANCELLED */]({ from, to }) {\n return `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\n },\n [16 /* ErrorTypes.NAVIGATION_DUPLICATED */]({ from, to }) {\n return `Avoided redundant navigation to current location: \"${from.fullPath}\".`;\n },\n};\n/**\n * Creates a typed NavigationFailure object.\n * @internal\n * @param type - NavigationFailureType\n * @param params - { from, to }\n */\nfunction createRouterError(type, params) {\n // keep full error messages in cjs versions\n if ((process.env.NODE_ENV !== 'production') || !true) {\n return assign(new Error(ErrorTypeMessages[type](params)), {\n type,\n [NavigationFailureSymbol]: true,\n }, params);\n }\n else {\n return assign(new Error(), {\n type,\n [NavigationFailureSymbol]: true,\n }, params);\n }\n}\nfunction isNavigationFailure(error, type) {\n return (error instanceof Error &&\n NavigationFailureSymbol in error &&\n (type == null || !!(error.type & type)));\n}\nconst propertiesToLog = ['params', 'query', 'hash'];\nfunction stringifyRoute(to) {\n if (typeof to === 'string')\n return to;\n if (to.path != null)\n return to.path;\n const location = {};\n for (const key of propertiesToLog) {\n if (key in to)\n location[key] = to[key];\n }\n return JSON.stringify(location, null, 2);\n}\n\n// default pattern for a param: non-greedy everything but /\nconst BASE_PARAM_PATTERN = '[^/]+?';\nconst BASE_PATH_PARSER_OPTIONS = {\n sensitive: false,\n strict: false,\n start: true,\n end: true,\n};\n// Special Regex characters that must be escaped in static tokens\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\n/**\n * Creates a path parser from an array of Segments (a segment is an array of Tokens)\n *\n * @param segments - array of segments returned by tokenizePath\n * @param extraOptions - optional options for the regexp\n * @returns a PathParser\n */\nfunction tokensToParser(segments, extraOptions) {\n const options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\n // the amount of scores is the same as the length of segments except for the root segment \"/\"\n const score = [];\n // the regexp as a string\n let pattern = options.start ? '^' : '';\n // extracted keys\n const keys = [];\n for (const segment of segments) {\n // the root segment needs special treatment\n const segmentScores = segment.length ? [] : [90 /* PathScore.Root */];\n // allow trailing slash\n if (options.strict && !segment.length)\n pattern += '/';\n for (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\n const token = segment[tokenIndex];\n // resets the score if we are inside a sub-segment /:a-other-:b\n let subSegmentScore = 40 /* PathScore.Segment */ +\n (options.sensitive ? 0.25 /* PathScore.BonusCaseSensitive */ : 0);\n if (token.type === 0 /* TokenType.Static */) {\n // prepend the slash if we are starting a new segment\n if (!tokenIndex)\n pattern += '/';\n pattern += token.value.replace(REGEX_CHARS_RE, '\\\\$&');\n subSegmentScore += 40 /* PathScore.Static */;\n }\n else if (token.type === 1 /* TokenType.Param */) {\n const { value, repeatable, optional, regexp } = token;\n keys.push({\n name: value,\n repeatable,\n optional,\n });\n const re = regexp ? regexp : BASE_PARAM_PATTERN;\n // the user provided a custom regexp /:id(\\\\d+)\n if (re !== BASE_PARAM_PATTERN) {\n subSegmentScore += 10 /* PathScore.BonusCustomRegExp */;\n // make sure the regexp is valid before using it\n try {\n new RegExp(`(${re})`);\n }\n catch (err) {\n throw new Error(`Invalid custom RegExp for param \"${value}\" (${re}): ` +\n err.message);\n }\n }\n // when we repeat we must take care of the repeating leading slash\n let subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`;\n // prepend the slash if we are starting a new segment\n if (!tokenIndex)\n subPattern =\n // avoid an optional / if there are more segments e.g. /:p?-static\n // or /:p?-:p2\n optional && segment.length < 2\n ? `(?:/${subPattern})`\n : '/' + subPattern;\n if (optional)\n subPattern += '?';\n pattern += subPattern;\n subSegmentScore += 20 /* PathScore.Dynamic */;\n if (optional)\n subSegmentScore += -8 /* PathScore.BonusOptional */;\n if (repeatable)\n subSegmentScore += -20 /* PathScore.BonusRepeatable */;\n if (re === '.*')\n subSegmentScore += -50 /* PathScore.BonusWildcard */;\n }\n segmentScores.push(subSegmentScore);\n }\n // an empty array like /home/ -> [[{home}], []]\n // if (!segment.length) pattern += '/'\n score.push(segmentScores);\n }\n // only apply the strict bonus to the last score\n if (options.strict && options.end) {\n const i = score.length - 1;\n score[i][score[i].length - 1] += 0.7000000000000001 /* PathScore.BonusStrict */;\n }\n // TODO: dev only warn double trailing slash\n if (!options.strict)\n pattern += '/?';\n if (options.end)\n pattern += '$';\n // allow paths like /dynamic to only match dynamic or dynamic/... but not dynamic_something_else\n else if (options.strict && !pattern.endsWith('/'))\n pattern += '(?:/|$)';\n const re = new RegExp(pattern, options.sensitive ? '' : 'i');\n function parse(path) {\n const match = path.match(re);\n const params = {};\n if (!match)\n return null;\n for (let i = 1; i < match.length; i++) {\n const value = match[i] || '';\n const key = keys[i - 1];\n params[key.name] = value && key.repeatable ? value.split('/') : value;\n }\n return params;\n }\n function stringify(params) {\n let path = '';\n // for optional parameters to allow to be empty\n let avoidDuplicatedSlash = false;\n for (const segment of segments) {\n if (!avoidDuplicatedSlash || !path.endsWith('/'))\n path += '/';\n avoidDuplicatedSlash = false;\n for (const token of segment) {\n if (token.type === 0 /* TokenType.Static */) {\n path += token.value;\n }\n else if (token.type === 1 /* TokenType.Param */) {\n const { value, repeatable, optional } = token;\n const param = value in params ? params[value] : '';\n if (isArray(param) && !repeatable) {\n throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\n }\n const text = isArray(param)\n ? param.join('/')\n : param;\n if (!text) {\n if (optional) {\n // if we have more than one optional param like /:a?-static we don't need to care about the optional param\n if (segment.length < 2) {\n // remove the last slash as we could be at the end\n if (path.endsWith('/'))\n path = path.slice(0, -1);\n // do not append a slash on the next iteration\n else\n avoidDuplicatedSlash = true;\n }\n }\n else\n throw new Error(`Missing required param \"${value}\"`);\n }\n path += text;\n }\n }\n }\n // avoid empty path when we have multiple optional params\n return path || '/';\n }\n return {\n re,\n score,\n keys,\n parse,\n stringify,\n };\n}\n/**\n * Compares an array of numbers as used in PathParser.score and returns a\n * number. This function can be used to `sort` an array\n *\n * @param a - first array of numbers\n * @param b - second array of numbers\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n * should be sorted first\n */\nfunction compareScoreArray(a, b) {\n let i = 0;\n while (i < a.length && i < b.length) {\n const diff = b[i] - a[i];\n // only keep going if diff === 0\n if (diff)\n return diff;\n i++;\n }\n // if the last subsegment was Static, the shorter segments should be sorted first\n // otherwise sort the longest segment first\n if (a.length < b.length) {\n return a.length === 1 && a[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\n ? -1\n : 1;\n }\n else if (a.length > b.length) {\n return b.length === 1 && b[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\n ? 1\n : -1;\n }\n return 0;\n}\n/**\n * Compare function that can be used with `sort` to sort an array of PathParser\n *\n * @param a - first PathParser\n * @param b - second PathParser\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n */\nfunction comparePathParserScore(a, b) {\n let i = 0;\n const aScore = a.score;\n const bScore = b.score;\n while (i < aScore.length && i < bScore.length) {\n const comp = compareScoreArray(aScore[i], bScore[i]);\n // do not return if both are equal\n if (comp)\n return comp;\n i++;\n }\n if (Math.abs(bScore.length - aScore.length) === 1) {\n if (isLastScoreNegative(aScore))\n return 1;\n if (isLastScoreNegative(bScore))\n return -1;\n }\n // if a and b share the same score entries but b has more, sort b first\n return bScore.length - aScore.length;\n // this is the ternary version\n // return aScore.length < bScore.length\n // ? 1\n // : aScore.length > bScore.length\n // ? -1\n // : 0\n}\n/**\n * This allows detecting splats at the end of a path: /home/:id(.*)*\n *\n * @param score - score to check\n * @returns true if the last entry is negative\n */\nfunction isLastScoreNegative(score) {\n const last = score[score.length - 1];\n return score.length > 0 && last[last.length - 1] < 0;\n}\n\nconst ROOT_TOKEN = {\n type: 0 /* TokenType.Static */,\n value: '',\n};\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\n// After some profiling, the cache seems to be unnecessary because tokenizePath\n// (the slowest part of adding a route) is very fast\n// const tokenCache = new Map()\nfunction tokenizePath(path) {\n if (!path)\n return [[]];\n if (path === '/')\n return [[ROOT_TOKEN]];\n if (!path.startsWith('/')) {\n throw new Error((process.env.NODE_ENV !== 'production')\n ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".`\n : `Invalid path \"${path}\"`);\n }\n // if (tokenCache.has(path)) return tokenCache.get(path)!\n function crash(message) {\n throw new Error(`ERR (${state})/\"${buffer}\": ${message}`);\n }\n let state = 0 /* TokenizerState.Static */;\n let previousState = state;\n const tokens = [];\n // the segment will always be valid because we get into the initial state\n // with the leading /\n let segment;\n function finalizeSegment() {\n if (segment)\n tokens.push(segment);\n segment = [];\n }\n // index on the path\n let i = 0;\n // char at index\n let char;\n // buffer of the value read\n let buffer = '';\n // custom regexp for a param\n let customRe = '';\n function consumeBuffer() {\n if (!buffer)\n return;\n if (state === 0 /* TokenizerState.Static */) {\n segment.push({\n type: 0 /* TokenType.Static */,\n value: buffer,\n });\n }\n else if (state === 1 /* TokenizerState.Param */ ||\n state === 2 /* TokenizerState.ParamRegExp */ ||\n state === 3 /* TokenizerState.ParamRegExpEnd */) {\n if (segment.length > 1 && (char === '*' || char === '+'))\n crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\n segment.push({\n type: 1 /* TokenType.Param */,\n value: buffer,\n regexp: customRe,\n repeatable: char === '*' || char === '+',\n optional: char === '*' || char === '?',\n });\n }\n else {\n crash('Invalid state to consume buffer');\n }\n buffer = '';\n }\n function addCharToBuffer() {\n buffer += char;\n }\n while (i < path.length) {\n char = path[i++];\n if (char === '\\\\' && state !== 2 /* TokenizerState.ParamRegExp */) {\n previousState = state;\n state = 4 /* TokenizerState.EscapeNext */;\n continue;\n }\n switch (state) {\n case 0 /* TokenizerState.Static */:\n if (char === '/') {\n if (buffer) {\n consumeBuffer();\n }\n finalizeSegment();\n }\n else if (char === ':') {\n consumeBuffer();\n state = 1 /* TokenizerState.Param */;\n }\n else {\n addCharToBuffer();\n }\n break;\n case 4 /* TokenizerState.EscapeNext */:\n addCharToBuffer();\n state = previousState;\n break;\n case 1 /* TokenizerState.Param */:\n if (char === '(') {\n state = 2 /* TokenizerState.ParamRegExp */;\n }\n else if (VALID_PARAM_RE.test(char)) {\n addCharToBuffer();\n }\n else {\n consumeBuffer();\n state = 0 /* TokenizerState.Static */;\n // go back one character if we were not modifying\n if (char !== '*' && char !== '?' && char !== '+')\n i--;\n }\n break;\n case 2 /* TokenizerState.ParamRegExp */:\n // TODO: is it worth handling nested regexp? like :p(?:prefix_([^/]+)_suffix)\n // it already works by escaping the closing )\n // https://paths.esm.dev/?p=AAMeJbiAwQEcDKbAoAAkP60PG2R6QAvgNaA6AFACM2ABuQBB#\n // is this really something people need since you can also write\n // /prefix_:p()_suffix\n if (char === ')') {\n // handle the escaped )\n if (customRe[customRe.length - 1] == '\\\\')\n customRe = customRe.slice(0, -1) + char;\n else\n state = 3 /* TokenizerState.ParamRegExpEnd */;\n }\n else {\n customRe += char;\n }\n break;\n case 3 /* TokenizerState.ParamRegExpEnd */:\n // same as finalizing a param\n consumeBuffer();\n state = 0 /* TokenizerState.Static */;\n // go back one character if we were not modifying\n if (char !== '*' && char !== '?' && char !== '+')\n i--;\n customRe = '';\n break;\n default:\n crash('Unknown state');\n break;\n }\n }\n if (state === 2 /* TokenizerState.ParamRegExp */)\n crash(`Unfinished custom RegExp for param \"${buffer}\"`);\n consumeBuffer();\n finalizeSegment();\n // tokenCache.set(path, tokens)\n return tokens;\n}\n\nfunction createRouteRecordMatcher(record, parent, options) {\n const parser = tokensToParser(tokenizePath(record.path), options);\n // warn against params with the same name\n if ((process.env.NODE_ENV !== 'production')) {\n const existingKeys = new Set();\n for (const key of parser.keys) {\n if (existingKeys.has(key.name))\n warn(`Found duplicated params with name \"${key.name}\" for path \"${record.path}\". Only the last one will be available on \"$route.params\".`);\n existingKeys.add(key.name);\n }\n }\n const matcher = assign(parser, {\n record,\n parent,\n // these needs to be populated by the parent\n children: [],\n alias: [],\n });\n if (parent) {\n // both are aliases or both are not aliases\n // we don't want to mix them because the order is used when\n // passing originalRecord in Matcher.addRoute\n if (!matcher.record.aliasOf === !parent.record.aliasOf)\n parent.children.push(matcher);\n }\n return matcher;\n}\n\n/**\n * Creates a Router Matcher.\n *\n * @internal\n * @param routes - array of initial routes\n * @param globalOptions - global route options\n */\nfunction createRouterMatcher(routes, globalOptions) {\n // normalized ordered array of matchers\n const matchers = [];\n const matcherMap = new Map();\n globalOptions = mergeOptions({ strict: false, end: true, sensitive: false }, globalOptions);\n function getRecordMatcher(name) {\n return matcherMap.get(name);\n }\n function addRoute(record, parent, originalRecord) {\n // used later on to remove by name\n const isRootAdd = !originalRecord;\n const mainNormalizedRecord = normalizeRouteRecord(record);\n if ((process.env.NODE_ENV !== 'production')) {\n checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\n }\n // we might be the child of an alias\n mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\n const options = mergeOptions(globalOptions, record);\n // generate an array of records to correctly handle aliases\n const normalizedRecords = [mainNormalizedRecord];\n if ('alias' in record) {\n const aliases = typeof record.alias === 'string' ? [record.alias] : record.alias;\n for (const alias of aliases) {\n normalizedRecords.push(\n // we need to normalize again to ensure the `mods` property\n // being non enumerable\n normalizeRouteRecord(assign({}, mainNormalizedRecord, {\n // this allows us to hold a copy of the `components` option\n // so that async components cache is hold on the original record\n components: originalRecord\n ? originalRecord.record.components\n : mainNormalizedRecord.components,\n path: alias,\n // we might be the child of an alias\n aliasOf: originalRecord\n ? originalRecord.record\n : mainNormalizedRecord,\n // the aliases are always of the same kind as the original since they\n // are defined on the same record\n })));\n }\n }\n let matcher;\n let originalMatcher;\n for (const normalizedRecord of normalizedRecords) {\n const { path } = normalizedRecord;\n // Build up the path for nested routes if the child isn't an absolute\n // route. Only add the / delimiter if the child path isn't empty and if the\n // parent path doesn't have a trailing slash\n if (parent && path[0] !== '/') {\n const parentPath = parent.record.path;\n const connectingSlash = parentPath[parentPath.length - 1] === '/' ? '' : '/';\n normalizedRecord.path =\n parent.record.path + (path && connectingSlash + path);\n }\n if ((process.env.NODE_ENV !== 'production') && normalizedRecord.path === '*') {\n throw new Error('Catch all routes (\"*\") must now be defined using a param with a custom regexp.\\n' +\n 'See more at https://router.vuejs.org/guide/migration/#Removed-star-or-catch-all-routes.');\n }\n // create the object beforehand, so it can be passed to children\n matcher = createRouteRecordMatcher(normalizedRecord, parent, options);\n if ((process.env.NODE_ENV !== 'production') && parent && path[0] === '/')\n checkMissingParamsInAbsolutePath(matcher, parent);\n // if we are an alias we must tell the original record that we exist,\n // so we can be removed\n if (originalRecord) {\n originalRecord.alias.push(matcher);\n if ((process.env.NODE_ENV !== 'production')) {\n checkSameParams(originalRecord, matcher);\n }\n }\n else {\n // otherwise, the first record is the original and others are aliases\n originalMatcher = originalMatcher || matcher;\n if (originalMatcher !== matcher)\n originalMatcher.alias.push(matcher);\n // remove the route if named and only for the top record (avoid in nested calls)\n // this works because the original record is the first one\n if (isRootAdd && record.name && !isAliasRecord(matcher)) {\n if ((process.env.NODE_ENV !== 'production')) {\n checkSameNameAsAncestor(record, parent);\n }\n removeRoute(record.name);\n }\n }\n // Avoid adding a record that doesn't display anything. This allows passing through records without a component to\n // not be reached and pass through the catch all route\n if (isMatchable(matcher)) {\n insertMatcher(matcher);\n }\n if (mainNormalizedRecord.children) {\n const children = mainNormalizedRecord.children;\n for (let i = 0; i < children.length; i++) {\n addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\n }\n }\n // if there was no original record, then the first one was not an alias and all\n // other aliases (if any) need to reference this record when adding children\n originalRecord = originalRecord || matcher;\n // TODO: add normalized records for more flexibility\n // if (parent && isAliasRecord(originalRecord)) {\n // parent.children.push(originalRecord)\n // }\n }\n return originalMatcher\n ? () => {\n // since other matchers are aliases, they should be removed by the original matcher\n removeRoute(originalMatcher);\n }\n : noop;\n }\n function removeRoute(matcherRef) {\n if (isRouteName(matcherRef)) {\n const matcher = matcherMap.get(matcherRef);\n if (matcher) {\n matcherMap.delete(matcherRef);\n matchers.splice(matchers.indexOf(matcher), 1);\n matcher.children.forEach(removeRoute);\n matcher.alias.forEach(removeRoute);\n }\n }\n else {\n const index = matchers.indexOf(matcherRef);\n if (index > -1) {\n matchers.splice(index, 1);\n if (matcherRef.record.name)\n matcherMap.delete(matcherRef.record.name);\n matcherRef.children.forEach(removeRoute);\n matcherRef.alias.forEach(removeRoute);\n }\n }\n }\n function getRoutes() {\n return matchers;\n }\n function insertMatcher(matcher) {\n const index = findInsertionIndex(matcher, matchers);\n matchers.splice(index, 0, matcher);\n // only add the original record to the name map\n if (matcher.record.name && !isAliasRecord(matcher))\n matcherMap.set(matcher.record.name, matcher);\n }\n function resolve(location, currentLocation) {\n let matcher;\n let params = {};\n let path;\n let name;\n if ('name' in location && location.name) {\n matcher = matcherMap.get(location.name);\n if (!matcher)\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\n location,\n });\n // warn if the user is passing invalid params so they can debug it better when they get removed\n if ((process.env.NODE_ENV !== 'production')) {\n const invalidParams = Object.keys(location.params || {}).filter(paramName => !matcher.keys.find(k => k.name === paramName));\n if (invalidParams.length) {\n warn(`Discarded invalid param(s) \"${invalidParams.join('\", \"')}\" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`);\n }\n }\n name = matcher.record.name;\n params = assign(\n // paramsFromLocation is a new object\n paramsFromLocation(currentLocation.params, \n // only keep params that exist in the resolved location\n // only keep optional params coming from a parent record\n matcher.keys\n .filter(k => !k.optional)\n .concat(matcher.parent ? matcher.parent.keys.filter(k => k.optional) : [])\n .map(k => k.name)), \n // discard any existing params in the current location that do not exist here\n // #1497 this ensures better active/exact matching\n location.params &&\n paramsFromLocation(location.params, matcher.keys.map(k => k.name)));\n // throws if cannot be stringified\n path = matcher.stringify(params);\n }\n else if (location.path != null) {\n // no need to resolve the path with the matcher as it was provided\n // this also allows the user to control the encoding\n path = location.path;\n if ((process.env.NODE_ENV !== 'production') && !path.startsWith('/')) {\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://github.com/vuejs/router/issues/new/choose.`);\n }\n matcher = matchers.find(m => m.re.test(path));\n // matcher should have a value after the loop\n if (matcher) {\n // we know the matcher works because we tested the regexp\n params = matcher.parse(path);\n name = matcher.record.name;\n }\n // location is a relative path\n }\n else {\n // match by name or path of current route\n matcher = currentLocation.name\n ? matcherMap.get(currentLocation.name)\n : matchers.find(m => m.re.test(currentLocation.path));\n if (!matcher)\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\n location,\n currentLocation,\n });\n name = matcher.record.name;\n // since we are navigating to the same location, we don't need to pick the\n // params like when `name` is provided\n params = assign({}, currentLocation.params, location.params);\n path = matcher.stringify(params);\n }\n const matched = [];\n let parentMatcher = matcher;\n while (parentMatcher) {\n // reversed order so parents are at the beginning\n matched.unshift(parentMatcher.record);\n parentMatcher = parentMatcher.parent;\n }\n return {\n name,\n path,\n params,\n matched,\n meta: mergeMetaFields(matched),\n };\n }\n // add initial routes\n routes.forEach(route => addRoute(route));\n function clearRoutes() {\n matchers.length = 0;\n matcherMap.clear();\n }\n return {\n addRoute,\n resolve,\n removeRoute,\n clearRoutes,\n getRoutes,\n getRecordMatcher,\n };\n}\nfunction paramsFromLocation(params, keys) {\n const newParams = {};\n for (const key of keys) {\n if (key in params)\n newParams[key] = params[key];\n }\n return newParams;\n}\n/**\n * Normalizes a RouteRecordRaw. Creates a copy\n *\n * @param record\n * @returns the normalized version\n */\nfunction normalizeRouteRecord(record) {\n const normalized = {\n path: record.path,\n redirect: record.redirect,\n name: record.name,\n meta: record.meta || {},\n aliasOf: record.aliasOf,\n beforeEnter: record.beforeEnter,\n props: normalizeRecordProps(record),\n children: record.children || [],\n instances: {},\n leaveGuards: new Set(),\n updateGuards: new Set(),\n enterCallbacks: {},\n // must be declared afterwards\n // mods: {},\n components: 'components' in record\n ? record.components || null\n : record.component && { default: record.component },\n };\n // mods contain modules and shouldn't be copied,\n // logged or anything. It's just used for internal\n // advanced use cases like data loaders\n Object.defineProperty(normalized, 'mods', {\n value: {},\n });\n return normalized;\n}\n/**\n * Normalize the optional `props` in a record to always be an object similar to\n * components. Also accept a boolean for components.\n * @param record\n */\nfunction normalizeRecordProps(record) {\n const propsObject = {};\n // props does not exist on redirect records, but we can set false directly\n const props = record.props || false;\n if ('component' in record) {\n propsObject.default = props;\n }\n else {\n // NOTE: we could also allow a function to be applied to every component.\n // Would need user feedback for use cases\n for (const name in record.components)\n propsObject[name] = typeof props === 'object' ? props[name] : props;\n }\n return propsObject;\n}\n/**\n * Checks if a record or any of its parent is an alias\n * @param record\n */\nfunction isAliasRecord(record) {\n while (record) {\n if (record.record.aliasOf)\n return true;\n record = record.parent;\n }\n return false;\n}\n/**\n * Merge meta fields of an array of records\n *\n * @param matched - array of matched records\n */\nfunction mergeMetaFields(matched) {\n return matched.reduce((meta, record) => assign(meta, record.meta), {});\n}\nfunction mergeOptions(defaults, partialOptions) {\n const options = {};\n for (const key in defaults) {\n options[key] = key in partialOptions ? partialOptions[key] : defaults[key];\n }\n return options;\n}\nfunction isSameParam(a, b) {\n return (a.name === b.name &&\n a.optional === b.optional &&\n a.repeatable === b.repeatable);\n}\n/**\n * Check if a path and its alias have the same required params\n *\n * @param a - original record\n * @param b - alias record\n */\nfunction checkSameParams(a, b) {\n for (const key of a.keys) {\n if (!key.optional && !b.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n for (const key of b.keys) {\n if (!key.optional && !a.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n}\n/**\n * A route with a name and a child with an empty path without a name should warn when adding the route\n *\n * @param mainNormalizedRecord - RouteRecordNormalized\n * @param parent - RouteRecordMatcher\n */\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\n if (parent &&\n parent.record.name &&\n !mainNormalizedRecord.name &&\n !mainNormalizedRecord.path) {\n warn(`The route named \"${String(parent.record.name)}\" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`);\n }\n}\nfunction checkSameNameAsAncestor(record, parent) {\n for (let ancestor = parent; ancestor; ancestor = ancestor.parent) {\n if (ancestor.record.name === record.name) {\n throw new Error(`A route named \"${String(record.name)}\" has been added as a ${parent === ancestor ? 'child' : 'descendant'} of a route with the same name. Route names must be unique and a nested route cannot use the same name as an ancestor.`);\n }\n }\n}\nfunction checkMissingParamsInAbsolutePath(record, parent) {\n for (const key of parent.keys) {\n if (!record.keys.find(isSameParam.bind(null, key)))\n return warn(`Absolute path \"${record.record.path}\" must have the exact same param named \"${key.name}\" as its parent \"${parent.record.path}\".`);\n }\n}\n/**\n * Performs a binary search to find the correct insertion index for a new matcher.\n *\n * Matchers are primarily sorted by their score. If scores are tied then we also consider parent/child relationships,\n * with descendants coming before ancestors. If there's still a tie, new routes are inserted after existing routes.\n *\n * @param matcher - new matcher to be inserted\n * @param matchers - existing matchers\n */\nfunction findInsertionIndex(matcher, matchers) {\n // First phase: binary search based on score\n let lower = 0;\n let upper = matchers.length;\n while (lower !== upper) {\n const mid = (lower + upper) >> 1;\n const sortOrder = comparePathParserScore(matcher, matchers[mid]);\n if (sortOrder < 0) {\n upper = mid;\n }\n else {\n lower = mid + 1;\n }\n }\n // Second phase: check for an ancestor with the same score\n const insertionAncestor = getInsertionAncestor(matcher);\n if (insertionAncestor) {\n upper = matchers.lastIndexOf(insertionAncestor, upper - 1);\n if ((process.env.NODE_ENV !== 'production') && upper < 0) {\n // This should never happen\n warn(`Finding ancestor route \"${insertionAncestor.record.path}\" failed for \"${matcher.record.path}\"`);\n }\n }\n return upper;\n}\nfunction getInsertionAncestor(matcher) {\n let ancestor = matcher;\n while ((ancestor = ancestor.parent)) {\n if (isMatchable(ancestor) &&\n comparePathParserScore(matcher, ancestor) === 0) {\n return ancestor;\n }\n }\n return;\n}\n/**\n * Checks if a matcher can be reachable. This means if it's possible to reach it as a route. For example, routes without\n * a component, or name, or redirect, are just used to group other routes.\n * @param matcher\n * @param matcher.record record of the matcher\n * @returns\n */\nfunction isMatchable({ record }) {\n return !!(record.name ||\n (record.components && Object.keys(record.components).length) ||\n record.redirect);\n}\n\n/**\n * Transforms a queryString into a {@link LocationQuery} object. Accept both, a\n * version with the leading `?` and without Should work as URLSearchParams\n\n * @internal\n *\n * @param search - search string to parse\n * @returns a query object\n */\nfunction parseQuery(search) {\n const query = {};\n // avoid creating an object with an empty key and empty value\n // because of split('&')\n if (search === '' || search === '?')\n return query;\n const hasLeadingIM = search[0] === '?';\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\n for (let i = 0; i < searchParams.length; ++i) {\n // pre decode the + into space\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\n // allow the = character\n const eqPos = searchParam.indexOf('=');\n const key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n const value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n if (key in query) {\n // an extra variable for ts types\n let currentValue = query[key];\n if (!isArray(currentValue)) {\n currentValue = query[key] = [currentValue];\n }\n currentValue.push(value);\n }\n else {\n query[key] = value;\n }\n }\n return query;\n}\n/**\n * Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it\n * doesn't prepend a `?`\n *\n * @internal\n *\n * @param query - query object to stringify\n * @returns string version of the query without the leading `?`\n */\nfunction stringifyQuery(query) {\n let search = '';\n for (let key in query) {\n const value = query[key];\n key = encodeQueryKey(key);\n if (value == null) {\n // only null adds the value\n if (value !== undefined) {\n search += (search.length ? '&' : '') + key;\n }\n continue;\n }\n // keep null values\n const values = isArray(value)\n ? value.map(v => v && encodeQueryValue(v))\n : [value && encodeQueryValue(value)];\n values.forEach(value => {\n // skip undefined values in arrays as if they were not present\n // smaller code than using filter\n if (value !== undefined) {\n // only append & with non-empty search\n search += (search.length ? '&' : '') + key;\n if (value != null)\n search += '=' + value;\n }\n });\n }\n return search;\n}\n/**\n * Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting\n * numbers into strings, removing keys with an undefined value and replacing\n * undefined with null in arrays\n *\n * @param query - query object to normalize\n * @returns a normalized query object\n */\nfunction normalizeQuery(query) {\n const normalizedQuery = {};\n for (const key in query) {\n const value = query[key];\n if (value !== undefined) {\n normalizedQuery[key] = isArray(value)\n ? value.map(v => (v == null ? null : '' + v))\n : value == null\n ? value\n : '' + value;\n }\n }\n return normalizedQuery;\n}\n\n/**\n * RouteRecord being rendered by the closest ancestor Router View. Used for\n * `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View\n * Location Matched\n *\n * @internal\n */\nconst matchedRouteKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location matched' : '');\n/**\n * Allows overriding the router view depth to control which component in\n * `matched` is rendered. rvd stands for Router View Depth\n *\n * @internal\n */\nconst viewDepthKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view depth' : '');\n/**\n * Allows overriding the router instance returned by `useRouter` in tests. r\n * stands for router\n *\n * @internal\n */\nconst routerKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router' : '');\n/**\n * Allows overriding the current route returned by `useRoute` in tests. rl\n * stands for route location\n *\n * @internal\n */\nconst routeLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'route location' : '');\n/**\n * Allows overriding the current route used by router-view. Internally this is\n * used when the `route` prop is passed.\n *\n * @internal\n */\nconst routerViewLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location' : '');\n\n/**\n * Create a list of callbacks that can be reset. Used to create before and after navigation guards list\n */\nfunction useCallbacks() {\n let handlers = [];\n function add(handler) {\n handlers.push(handler);\n return () => {\n const i = handlers.indexOf(handler);\n if (i > -1)\n handlers.splice(i, 1);\n };\n }\n function reset() {\n handlers = [];\n }\n return {\n add,\n list: () => handlers.slice(),\n reset,\n };\n}\n\nfunction registerGuard(record, name, guard) {\n const removeFromList = () => {\n record[name].delete(guard);\n };\n onUnmounted(removeFromList);\n onDeactivated(removeFromList);\n onActivated(() => {\n record[name].add(guard);\n });\n record[name].add(guard);\n}\n/**\n * Add a navigation guard that triggers whenever the component for the current\n * location is about to be left. Similar to {@link beforeRouteLeave} but can be\n * used in any component. The guard is removed when the component is unmounted.\n *\n * @param leaveGuard - {@link NavigationGuard}\n */\nfunction onBeforeRouteLeave(leaveGuard) {\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\n warn('getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function');\n return;\n }\n const activeRecord = inject(matchedRouteKey, \n // to avoid warning\n {}).value;\n if (!activeRecord) {\n (process.env.NODE_ENV !== 'production') &&\n warn('No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\n return;\n }\n registerGuard(activeRecord, 'leaveGuards', leaveGuard);\n}\n/**\n * Add a navigation guard that triggers whenever the current location is about\n * to be updated. Similar to {@link beforeRouteUpdate} but can be used in any\n * component. The guard is removed when the component is unmounted.\n *\n * @param updateGuard - {@link NavigationGuard}\n */\nfunction onBeforeRouteUpdate(updateGuard) {\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\n warn('getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function');\n return;\n }\n const activeRecord = inject(matchedRouteKey, \n // to avoid warning\n {}).value;\n if (!activeRecord) {\n (process.env.NODE_ENV !== 'production') &&\n warn('No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\n return;\n }\n registerGuard(activeRecord, 'updateGuards', updateGuard);\n}\nfunction guardToPromiseFn(guard, to, from, record, name, runWithContext = fn => fn()) {\n // keep a reference to the enterCallbackArray to prevent pushing callbacks if a new navigation took place\n const enterCallbackArray = record &&\n // name is defined if record is because of the function overload\n (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\n return () => new Promise((resolve, reject) => {\n const next = (valid) => {\n if (valid === false) {\n reject(createRouterError(4 /* ErrorTypes.NAVIGATION_ABORTED */, {\n from,\n to,\n }));\n }\n else if (valid instanceof Error) {\n reject(valid);\n }\n else if (isRouteLocation(valid)) {\n reject(createRouterError(2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */, {\n from: to,\n to: valid,\n }));\n }\n else {\n if (enterCallbackArray &&\n // since enterCallbackArray is truthy, both record and name also are\n record.enterCallbacks[name] === enterCallbackArray &&\n typeof valid === 'function') {\n enterCallbackArray.push(valid);\n }\n resolve();\n }\n };\n // wrapping with Promise.resolve allows it to work with both async and sync guards\n const guardReturn = runWithContext(() => guard.call(record && record.instances[name], to, from, (process.env.NODE_ENV !== 'production') ? canOnlyBeCalledOnce(next, to, from) : next));\n let guardCall = Promise.resolve(guardReturn);\n if (guard.length < 3)\n guardCall = guardCall.then(next);\n if ((process.env.NODE_ENV !== 'production') && guard.length > 2) {\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.`;\n if (typeof guardReturn === 'object' && 'then' in guardReturn) {\n guardCall = guardCall.then(resolvedValue => {\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\n if (!next._called) {\n warn(message);\n return Promise.reject(new Error('Invalid navigation guard'));\n }\n return resolvedValue;\n });\n }\n else if (guardReturn !== undefined) {\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\n if (!next._called) {\n warn(message);\n reject(new Error('Invalid navigation guard'));\n return;\n }\n }\n }\n guardCall.catch(err => reject(err));\n });\n}\nfunction canOnlyBeCalledOnce(next, to, from) {\n let called = 0;\n return function () {\n if (called++ === 1)\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.`);\n // @ts-expect-error: we put it in the original one because it's easier to check\n next._called = true;\n if (called === 1)\n next.apply(null, arguments);\n };\n}\nfunction extractComponentsGuards(matched, guardType, to, from, runWithContext = fn => fn()) {\n const guards = [];\n for (const record of matched) {\n if ((process.env.NODE_ENV !== 'production') && !record.components && !record.children.length) {\n warn(`Record with path \"${record.path}\" is either missing a \"component(s)\"` +\n ` or \"children\" property.`);\n }\n for (const name in record.components) {\n let rawComponent = record.components[name];\n if ((process.env.NODE_ENV !== 'production')) {\n if (!rawComponent ||\n (typeof rawComponent !== 'object' &&\n typeof rawComponent !== 'function')) {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is not` +\n ` a valid component. Received \"${String(rawComponent)}\".`);\n // throw to ensure we stop here but warn to ensure the message isn't\n // missed by the user\n throw new Error('Invalid route component');\n }\n else if ('then' in rawComponent) {\n // warn if user wrote import('/component.vue') instead of () =>\n // import('./component.vue')\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a ` +\n `Promise instead of a function that returns a Promise. Did you ` +\n `write \"import('./MyPage.vue')\" instead of ` +\n `\"() => import('./MyPage.vue')\" ? This will break in ` +\n `production if not fixed.`);\n const promise = rawComponent;\n rawComponent = () => promise;\n }\n else if (rawComponent.__asyncLoader &&\n // warn only once per component\n !rawComponent.__warnedDefineAsync) {\n rawComponent.__warnedDefineAsync = true;\n warn(`Component \"${name}\" in record with path \"${record.path}\" is defined ` +\n `using \"defineAsyncComponent()\". ` +\n `Write \"() => import('./MyPage.vue')\" instead of ` +\n `\"defineAsyncComponent(() => import('./MyPage.vue'))\".`);\n }\n }\n // skip update and leave guards if the route component is not mounted\n if (guardType !== 'beforeRouteEnter' && !record.instances[name])\n continue;\n if (isRouteComponent(rawComponent)) {\n // __vccOpts is added by vue-class-component and contain the regular options\n const options = rawComponent.__vccOpts || rawComponent;\n const guard = options[guardType];\n guard &&\n guards.push(guardToPromiseFn(guard, to, from, record, name, runWithContext));\n }\n else {\n // start requesting the chunk already\n let componentPromise = rawComponent();\n if ((process.env.NODE_ENV !== 'production') && !('catch' in componentPromise)) {\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.`);\n componentPromise = Promise.resolve(componentPromise);\n }\n guards.push(() => componentPromise.then(resolved => {\n if (!resolved)\n throw new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`);\n const resolvedComponent = isESModule(resolved)\n ? resolved.default\n : resolved;\n // keep the resolved module for plugins like data loaders\n record.mods[name] = resolved;\n // replace the function with the resolved component\n // cannot be null or undefined because we went into the for loop\n record.components[name] = resolvedComponent;\n // __vccOpts is added by vue-class-component and contain the regular options\n const options = resolvedComponent.__vccOpts || resolvedComponent;\n const guard = options[guardType];\n return (guard &&\n guardToPromiseFn(guard, to, from, record, name, runWithContext)());\n }));\n }\n }\n }\n return guards;\n}\n/**\n * Ensures a route is loaded, so it can be passed as o prop to ``.\n *\n * @param route - resolved route to load\n */\nfunction loadRouteLocation(route) {\n return route.matched.every(record => record.redirect)\n ? Promise.reject(new Error('Cannot load a route that redirects.'))\n : Promise.all(route.matched.map(record => record.components &&\n Promise.all(Object.keys(record.components).reduce((promises, name) => {\n const rawComponent = record.components[name];\n if (typeof rawComponent === 'function' &&\n !('displayName' in rawComponent)) {\n promises.push(rawComponent().then(resolved => {\n if (!resolved)\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\". Ensure you passed a function that returns a promise.`));\n const resolvedComponent = isESModule(resolved)\n ? resolved.default\n : resolved;\n // keep the resolved module for plugins like data loaders\n record.mods[name] = resolved;\n // replace the function with the resolved component\n // cannot be null or undefined because we went into the for loop\n record.components[name] = resolvedComponent;\n return;\n }));\n }\n return promises;\n }, [])))).then(() => route);\n}\n\n// TODO: we could allow currentRoute as a prop to expose `isActive` and\n// `isExactActive` behavior should go through an RFC\n/**\n * Returns the internal behavior of a {@link RouterLink} without the rendering part.\n *\n * @param props - a `to` location and an optional `replace` flag\n */\nfunction useLink(props) {\n const router = inject(routerKey);\n const currentRoute = inject(routeLocationKey);\n let hasPrevious = false;\n let previousTo = null;\n const route = computed(() => {\n const to = unref(props.to);\n if ((process.env.NODE_ENV !== 'production') && (!hasPrevious || to !== previousTo)) {\n if (!isRouteLocation(to)) {\n if (hasPrevious) {\n warn(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- previous to:`, previousTo, `\\n- props:`, props);\n }\n else {\n warn(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- props:`, props);\n }\n }\n previousTo = to;\n hasPrevious = true;\n }\n return router.resolve(to);\n });\n const activeRecordIndex = computed(() => {\n const { matched } = route.value;\n const { length } = matched;\n const routeMatched = matched[length - 1];\n const currentMatched = currentRoute.matched;\n if (!routeMatched || !currentMatched.length)\n return -1;\n const index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\n if (index > -1)\n return index;\n // possible parent record\n const parentRecordPath = getOriginalPath(matched[length - 2]);\n return (\n // we are dealing with nested routes\n length > 1 &&\n // if the parent and matched route have the same path, this link is\n // referring to the empty child. Or we currently are on a different\n // child of the same parent\n getOriginalPath(routeMatched) === parentRecordPath &&\n // avoid comparing the child with its parent\n currentMatched[currentMatched.length - 1].path !== parentRecordPath\n ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2]))\n : index);\n });\n const isActive = computed(() => activeRecordIndex.value > -1 &&\n includesParams(currentRoute.params, route.value.params));\n const isExactActive = computed(() => activeRecordIndex.value > -1 &&\n activeRecordIndex.value === currentRoute.matched.length - 1 &&\n isSameRouteLocationParams(currentRoute.params, route.value.params));\n function navigate(e = {}) {\n if (guardEvent(e)) {\n const p = router[unref(props.replace) ? 'replace' : 'push'](unref(props.to)\n // avoid uncaught errors are they are logged anyway\n ).catch(noop);\n if (props.viewTransition &&\n typeof document !== 'undefined' &&\n 'startViewTransition' in document) {\n document.startViewTransition(() => p);\n }\n return p;\n }\n return Promise.resolve();\n }\n // devtools only\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n const instance = getCurrentInstance();\n if (instance) {\n const linkContextDevtools = {\n route: route.value,\n isActive: isActive.value,\n isExactActive: isExactActive.value,\n error: null,\n };\n // @ts-expect-error: this is internal\n instance.__vrl_devtools = instance.__vrl_devtools || [];\n // @ts-expect-error: this is internal\n instance.__vrl_devtools.push(linkContextDevtools);\n watchEffect(() => {\n linkContextDevtools.route = route.value;\n linkContextDevtools.isActive = isActive.value;\n linkContextDevtools.isExactActive = isExactActive.value;\n linkContextDevtools.error = isRouteLocation(unref(props.to))\n ? null\n : 'Invalid \"to\" value';\n }, { flush: 'post' });\n }\n }\n /**\n * NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this\n */\n return {\n route,\n href: computed(() => route.value.href),\n isActive,\n isExactActive,\n navigate,\n };\n}\nfunction preferSingleVNode(vnodes) {\n return vnodes.length === 1 ? vnodes[0] : vnodes;\n}\nconst RouterLinkImpl = /*#__PURE__*/ defineComponent({\n name: 'RouterLink',\n compatConfig: { MODE: 3 },\n props: {\n to: {\n type: [String, Object],\n required: true,\n },\n replace: Boolean,\n activeClass: String,\n // inactiveClass: String,\n exactActiveClass: String,\n custom: Boolean,\n ariaCurrentValue: {\n type: String,\n default: 'page',\n },\n },\n useLink,\n setup(props, { slots }) {\n const link = reactive(useLink(props));\n const { options } = inject(routerKey);\n const elClass = computed(() => ({\n [getLinkClass(props.activeClass, options.linkActiveClass, 'router-link-active')]: link.isActive,\n // [getLinkClass(\n // props.inactiveClass,\n // options.linkInactiveClass,\n // 'router-link-inactive'\n // )]: !link.isExactActive,\n [getLinkClass(props.exactActiveClass, options.linkExactActiveClass, 'router-link-exact-active')]: link.isExactActive,\n }));\n return () => {\n const children = slots.default && preferSingleVNode(slots.default(link));\n return props.custom\n ? children\n : h('a', {\n 'aria-current': link.isExactActive\n ? props.ariaCurrentValue\n : null,\n href: link.href,\n // this would override user added attrs but Vue will still add\n // the listener, so we end up triggering both\n onClick: link.navigate,\n class: elClass.value,\n }, children);\n };\n },\n});\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\n/**\n * Component to render a link that triggers a navigation on click.\n */\nconst RouterLink = RouterLinkImpl;\nfunction guardEvent(e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)\n return;\n // don't redirect when preventDefault called\n if (e.defaultPrevented)\n return;\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0)\n return;\n // don't redirect if `target=\"_blank\"`\n // @ts-expect-error getAttribute does exist\n if (e.currentTarget && e.currentTarget.getAttribute) {\n // @ts-expect-error getAttribute exists\n const target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target))\n return;\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault)\n e.preventDefault();\n return true;\n}\nfunction includesParams(outer, inner) {\n for (const key in inner) {\n const innerValue = inner[key];\n const outerValue = outer[key];\n if (typeof innerValue === 'string') {\n if (innerValue !== outerValue)\n return false;\n }\n else {\n if (!isArray(outerValue) ||\n outerValue.length !== innerValue.length ||\n innerValue.some((value, i) => value !== outerValue[i]))\n return false;\n }\n }\n return true;\n}\n/**\n * Get the original path value of a record by following its aliasOf\n * @param record\n */\nfunction getOriginalPath(record) {\n return record ? (record.aliasOf ? record.aliasOf.path : record.path) : '';\n}\n/**\n * Utility class to get the active class based on defaults.\n * @param propClass\n * @param globalClass\n * @param defaultClass\n */\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null\n ? propClass\n : globalClass != null\n ? globalClass\n : defaultClass;\n\nconst RouterViewImpl = /*#__PURE__*/ defineComponent({\n name: 'RouterView',\n // #674 we manually inherit them\n inheritAttrs: false,\n props: {\n name: {\n type: String,\n default: 'default',\n },\n route: Object,\n },\n // Better compat for @vue/compat users\n // https://github.com/vuejs/router/issues/1315\n compatConfig: { MODE: 3 },\n setup(props, { attrs, slots }) {\n (process.env.NODE_ENV !== 'production') && warnDeprecatedUsage();\n const injectedRoute = inject(routerViewLocationKey);\n const routeToDisplay = computed(() => props.route || injectedRoute.value);\n const injectedDepth = inject(viewDepthKey, 0);\n // The depth changes based on empty components option, which allows passthrough routes e.g. routes with children\n // that are used to reuse the `path` property\n const depth = computed(() => {\n let initialDepth = unref(injectedDepth);\n const { matched } = routeToDisplay.value;\n let matchedRoute;\n while ((matchedRoute = matched[initialDepth]) &&\n !matchedRoute.components) {\n initialDepth++;\n }\n return initialDepth;\n });\n const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\n provide(viewDepthKey, computed(() => depth.value + 1));\n provide(matchedRouteKey, matchedRouteRef);\n provide(routerViewLocationKey, routeToDisplay);\n const viewRef = ref();\n // watch at the same time the component instance, the route record we are\n // rendering, and the name\n watch(() => [viewRef.value, matchedRouteRef.value, props.name], ([instance, to, name], [oldInstance, from, oldName]) => {\n // copy reused instances\n if (to) {\n // this will update the instance for new instances as well as reused\n // instances when navigating to a new route\n to.instances[name] = instance;\n // the component instance is reused for a different route or name, so\n // we copy any saved update or leave guards. With async setup, the\n // mounting component will mount before the matchedRoute changes,\n // making instance === oldInstance, so we check if guards have been\n // added before. This works because we remove guards when\n // unmounting/deactivating components\n if (from && from !== to && instance && instance === oldInstance) {\n if (!to.leaveGuards.size) {\n to.leaveGuards = from.leaveGuards;\n }\n if (!to.updateGuards.size) {\n to.updateGuards = from.updateGuards;\n }\n }\n }\n // trigger beforeRouteEnter next callbacks\n if (instance &&\n to &&\n // if there is no instance but to and from are the same this might be\n // the first visit\n (!from || !isSameRouteRecord(to, from) || !oldInstance)) {\n (to.enterCallbacks[name] || []).forEach(callback => callback(instance));\n }\n }, { flush: 'post' });\n return () => {\n const route = routeToDisplay.value;\n // we need the value at the time we render because when we unmount, we\n // navigated to a different location so the value is different\n const currentName = props.name;\n const matchedRoute = matchedRouteRef.value;\n const ViewComponent = matchedRoute && matchedRoute.components[currentName];\n if (!ViewComponent) {\n return normalizeSlot(slots.default, { Component: ViewComponent, route });\n }\n // props from route configuration\n const routePropsOption = matchedRoute.props[currentName];\n const routeProps = routePropsOption\n ? routePropsOption === true\n ? route.params\n : typeof routePropsOption === 'function'\n ? routePropsOption(route)\n : routePropsOption\n : null;\n const onVnodeUnmounted = vnode => {\n // remove the instance reference to prevent leak\n if (vnode.component.isUnmounted) {\n matchedRoute.instances[currentName] = null;\n }\n };\n const component = h(ViewComponent, assign({}, routeProps, attrs, {\n onVnodeUnmounted,\n ref: viewRef,\n }));\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n isBrowser &&\n component.ref) {\n // TODO: can display if it's an alias, its props\n const info = {\n depth: depth.value,\n name: matchedRoute.name,\n path: matchedRoute.path,\n meta: matchedRoute.meta,\n };\n const internalInstances = isArray(component.ref)\n ? component.ref.map(r => r.i)\n : [component.ref.i];\n internalInstances.forEach(instance => {\n // @ts-expect-error\n instance.__vrv_devtools = info;\n });\n }\n return (\n // pass the vnode to the slot as a prop.\n // h and both accept vnodes\n normalizeSlot(slots.default, { Component: component, route }) ||\n component);\n };\n },\n});\nfunction normalizeSlot(slot, data) {\n if (!slot)\n return null;\n const slotContent = slot(data);\n return slotContent.length === 1 ? slotContent[0] : slotContent;\n}\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\n/**\n * Component to display the current route the user is at.\n */\nconst RouterView = RouterViewImpl;\n// warn against deprecated usage with & \n// due to functional component being no longer eager in Vue 3\nfunction warnDeprecatedUsage() {\n const instance = getCurrentInstance();\n const parentName = instance.parent && instance.parent.type.name;\n const parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type;\n if (parentName &&\n (parentName === 'KeepAlive' || parentName.includes('Transition')) &&\n typeof parentSubTreeType === 'object' &&\n parentSubTreeType.name === 'RouterView') {\n const comp = parentName === 'KeepAlive' ? 'keep-alive' : 'transition';\n warn(` can no longer be used directly inside or .\\n` +\n `Use slot props instead:\\n\\n` +\n `\\n` +\n ` <${comp}>\\n` +\n ` \\n` +\n ` \\n` +\n ``);\n }\n}\n\n/**\n * Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances).\n *\n * @param routeLocation - routeLocation to format\n * @param tooltip - optional tooltip\n * @returns a copy of the routeLocation\n */\nfunction formatRouteLocation(routeLocation, tooltip) {\n const copy = assign({}, routeLocation, {\n // remove variables that can contain vue instances\n matched: routeLocation.matched.map(matched => omit(matched, ['instances', 'children', 'aliasOf'])),\n });\n return {\n _custom: {\n type: null,\n readOnly: true,\n display: routeLocation.fullPath,\n tooltip,\n value: copy,\n },\n };\n}\nfunction formatDisplay(display) {\n return {\n _custom: {\n display,\n },\n };\n}\n// to support multiple router instances\nlet routerId = 0;\nfunction addDevtools(app, router, matcher) {\n // Take over router.beforeEach and afterEach\n // make sure we are not registering the devtool twice\n if (router.__hasDevtools)\n return;\n router.__hasDevtools = true;\n // increment to support multiple router instances\n const id = routerId++;\n setupDevtoolsPlugin({\n id: 'org.vuejs.router' + (id ? '.' + id : ''),\n label: 'Vue Router',\n packageName: 'vue-router',\n homepage: 'https://router.vuejs.org',\n logo: 'https://router.vuejs.org/logo.png',\n componentStateTypes: ['Routing'],\n app,\n }, api => {\n if (typeof api.now !== 'function') {\n console.warn('[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\n }\n // display state added by the router\n api.on.inspectComponent((payload, ctx) => {\n if (payload.instanceData) {\n payload.instanceData.state.push({\n type: 'Routing',\n key: '$route',\n editable: false,\n value: formatRouteLocation(router.currentRoute.value, 'Current Route'),\n });\n }\n });\n // mark router-link as active and display tags on router views\n api.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\n if (componentInstance.__vrv_devtools) {\n const info = componentInstance.__vrv_devtools;\n node.tags.push({\n label: (info.name ? `${info.name.toString()}: ` : '') + info.path,\n textColor: 0,\n tooltip: 'This component is rendered by <router-view>',\n backgroundColor: PINK_500,\n });\n }\n // if multiple useLink are used\n if (isArray(componentInstance.__vrl_devtools)) {\n componentInstance.__devtoolsApi = api;\n componentInstance.__vrl_devtools.forEach(devtoolsData => {\n let label = devtoolsData.route.path;\n let backgroundColor = ORANGE_400;\n let tooltip = '';\n let textColor = 0;\n if (devtoolsData.error) {\n label = devtoolsData.error;\n backgroundColor = RED_100;\n textColor = RED_700;\n }\n else if (devtoolsData.isExactActive) {\n backgroundColor = LIME_500;\n tooltip = 'This is exactly active';\n }\n else if (devtoolsData.isActive) {\n backgroundColor = BLUE_600;\n tooltip = 'This link is active';\n }\n node.tags.push({\n label,\n textColor,\n tooltip,\n backgroundColor,\n });\n });\n }\n });\n watch(router.currentRoute, () => {\n // refresh active state\n refreshRoutesView();\n api.notifyComponentUpdate();\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n const navigationsLayerId = 'router:navigations:' + id;\n api.addTimelineLayer({\n id: navigationsLayerId,\n label: `Router${id ? ' ' + id : ''} Navigations`,\n color: 0x40a8c4,\n });\n // const errorsLayerId = 'router:errors'\n // api.addTimelineLayer({\n // id: errorsLayerId,\n // label: 'Router Errors',\n // color: 0xea5455,\n // })\n router.onError((error, to) => {\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: 'Error during Navigation',\n subtitle: to.fullPath,\n logType: 'error',\n time: api.now(),\n data: { error },\n groupId: to.meta.__navigationId,\n },\n });\n });\n // attached to `meta` and used to group events\n let navigationId = 0;\n router.beforeEach((to, from) => {\n const data = {\n guard: formatDisplay('beforeEach'),\n from: formatRouteLocation(from, 'Current Location during this navigation'),\n to: formatRouteLocation(to, 'Target location'),\n };\n // Used to group navigations together, hide from devtools\n Object.defineProperty(to.meta, '__navigationId', {\n value: navigationId++,\n });\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n time: api.now(),\n title: 'Start of navigation',\n subtitle: to.fullPath,\n data,\n groupId: to.meta.__navigationId,\n },\n });\n });\n router.afterEach((to, from, failure) => {\n const data = {\n guard: formatDisplay('afterEach'),\n };\n if (failure) {\n data.failure = {\n _custom: {\n type: Error,\n readOnly: true,\n display: failure ? failure.message : '',\n tooltip: 'Navigation Failure',\n value: failure,\n },\n };\n data.status = formatDisplay('❌');\n }\n else {\n data.status = formatDisplay('✅');\n }\n // we set here to have the right order\n data.from = formatRouteLocation(from, 'Current Location during this navigation');\n data.to = formatRouteLocation(to, 'Target location');\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: 'End of navigation',\n subtitle: to.fullPath,\n time: api.now(),\n data,\n logType: failure ? 'warning' : 'default',\n groupId: to.meta.__navigationId,\n },\n });\n });\n /**\n * Inspector of Existing routes\n */\n const routerInspectorId = 'router-inspector:' + id;\n api.addInspector({\n id: routerInspectorId,\n label: 'Routes' + (id ? ' ' + id : ''),\n icon: 'book',\n treeFilterPlaceholder: 'Search routes',\n });\n function refreshRoutesView() {\n // the routes view isn't active\n if (!activeRoutesPayload)\n return;\n const payload = activeRoutesPayload;\n // children routes will appear as nested\n let routes = matcher.getRoutes().filter(route => !route.parent ||\n // these routes have a parent with no component which will not appear in the view\n // therefore we still need to include them\n !route.parent.record.components);\n // reset match state to false\n routes.forEach(resetMatchStateOnRouteRecord);\n // apply a match state if there is a payload\n if (payload.filter) {\n routes = routes.filter(route => \n // save matches state based on the payload\n isRouteMatching(route, payload.filter.toLowerCase()));\n }\n // mark active routes\n routes.forEach(route => markRouteRecordActive(route, router.currentRoute.value));\n payload.rootNodes = routes.map(formatRouteRecordForInspector);\n }\n let activeRoutesPayload;\n api.on.getInspectorTree(payload => {\n activeRoutesPayload = payload;\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n refreshRoutesView();\n }\n });\n /**\n * Display information about the currently selected route record\n */\n api.on.getInspectorState(payload => {\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n const routes = matcher.getRoutes();\n const route = routes.find(route => route.record.__vd_id === payload.nodeId);\n if (route) {\n payload.state = {\n options: formatRouteRecordMatcherForStateInspector(route),\n };\n }\n }\n });\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n}\nfunction modifierForKey(key) {\n if (key.optional) {\n return key.repeatable ? '*' : '?';\n }\n else {\n return key.repeatable ? '+' : '';\n }\n}\nfunction formatRouteRecordMatcherForStateInspector(route) {\n const { record } = route;\n const fields = [\n { editable: false, key: 'path', value: record.path },\n ];\n if (record.name != null) {\n fields.push({\n editable: false,\n key: 'name',\n value: record.name,\n });\n }\n fields.push({ editable: false, key: 'regexp', value: route.re });\n if (route.keys.length) {\n fields.push({\n editable: false,\n key: 'keys',\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.keys\n .map(key => `${key.name}${modifierForKey(key)}`)\n .join(' '),\n tooltip: 'Param keys',\n value: route.keys,\n },\n },\n });\n }\n if (record.redirect != null) {\n fields.push({\n editable: false,\n key: 'redirect',\n value: record.redirect,\n });\n }\n if (route.alias.length) {\n fields.push({\n editable: false,\n key: 'aliases',\n value: route.alias.map(alias => alias.record.path),\n });\n }\n if (Object.keys(route.record.meta).length) {\n fields.push({\n editable: false,\n key: 'meta',\n value: route.record.meta,\n });\n }\n fields.push({\n key: 'score',\n editable: false,\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.score.map(score => score.join(', ')).join(' | '),\n tooltip: 'Score used to sort routes',\n value: route.score,\n },\n },\n });\n return fields;\n}\n/**\n * Extracted from tailwind palette\n */\nconst PINK_500 = 0xec4899;\nconst BLUE_600 = 0x2563eb;\nconst LIME_500 = 0x84cc16;\nconst CYAN_400 = 0x22d3ee;\nconst ORANGE_400 = 0xfb923c;\n// const GRAY_100 = 0xf4f4f5\nconst DARK = 0x666666;\nconst RED_100 = 0xfee2e2;\nconst RED_700 = 0xb91c1c;\nfunction formatRouteRecordForInspector(route) {\n const tags = [];\n const { record } = route;\n if (record.name != null) {\n tags.push({\n label: String(record.name),\n textColor: 0,\n backgroundColor: CYAN_400,\n });\n }\n if (record.aliasOf) {\n tags.push({\n label: 'alias',\n textColor: 0,\n backgroundColor: ORANGE_400,\n });\n }\n if (route.__vd_match) {\n tags.push({\n label: 'matches',\n textColor: 0,\n backgroundColor: PINK_500,\n });\n }\n if (route.__vd_exactActive) {\n tags.push({\n label: 'exact',\n textColor: 0,\n backgroundColor: LIME_500,\n });\n }\n if (route.__vd_active) {\n tags.push({\n label: 'active',\n textColor: 0,\n backgroundColor: BLUE_600,\n });\n }\n if (record.redirect) {\n tags.push({\n label: typeof record.redirect === 'string'\n ? `redirect: ${record.redirect}`\n : 'redirects',\n textColor: 0xffffff,\n backgroundColor: DARK,\n });\n }\n // add an id to be able to select it. Using the `path` is not possible because\n // empty path children would collide with their parents\n let id = record.__vd_id;\n if (id == null) {\n id = String(routeRecordId++);\n record.__vd_id = id;\n }\n return {\n id,\n label: record.path,\n tags,\n children: route.children.map(formatRouteRecordForInspector),\n };\n}\n// incremental id for route records and inspector state\nlet routeRecordId = 0;\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\nfunction markRouteRecordActive(route, currentRoute) {\n // no route will be active if matched is empty\n // reset the matching state\n const isExactActive = currentRoute.matched.length &&\n isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\n route.__vd_exactActive = route.__vd_active = isExactActive;\n if (!isExactActive) {\n route.__vd_active = currentRoute.matched.some(match => isSameRouteRecord(match, route.record));\n }\n route.children.forEach(childRoute => markRouteRecordActive(childRoute, currentRoute));\n}\nfunction resetMatchStateOnRouteRecord(route) {\n route.__vd_match = false;\n route.children.forEach(resetMatchStateOnRouteRecord);\n}\nfunction isRouteMatching(route, filter) {\n const found = String(route.re).match(EXTRACT_REGEXP_RE);\n route.__vd_match = false;\n if (!found || found.length < 3) {\n return false;\n }\n // use a regexp without $ at the end to match nested routes better\n const nonEndingRE = new RegExp(found[1].replace(/\\$$/, ''), found[2]);\n if (nonEndingRE.test(filter)) {\n // mark children as matches\n route.children.forEach(child => isRouteMatching(child, filter));\n // exception case: `/`\n if (route.record.path !== '/' || filter === '/') {\n route.__vd_match = route.re.test(filter);\n return true;\n }\n // hide the / route\n return false;\n }\n const path = route.record.path.toLowerCase();\n const decodedPath = decode(path);\n // also allow partial matching on the path\n if (!filter.startsWith('/') &&\n (decodedPath.includes(filter) || path.includes(filter)))\n return true;\n if (decodedPath.startsWith(filter) || path.startsWith(filter))\n return true;\n if (route.record.name && String(route.record.name).includes(filter))\n return true;\n return route.children.some(child => isRouteMatching(child, filter));\n}\nfunction omit(obj, keys) {\n const ret = {};\n for (const key in obj) {\n if (!keys.includes(key)) {\n // @ts-expect-error\n ret[key] = obj[key];\n }\n }\n return ret;\n}\n\n/**\n * Creates a Router instance that can be used by a Vue app.\n *\n * @param options - {@link RouterOptions}\n */\nfunction createRouter(options) {\n const matcher = createRouterMatcher(options.routes, options);\n const parseQuery$1 = options.parseQuery || parseQuery;\n const stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\n const routerHistory = options.history;\n if ((process.env.NODE_ENV !== 'production') && !routerHistory)\n throw new Error('Provide the \"history\" option when calling \"createRouter()\":' +\n ' https://router.vuejs.org/api/interfaces/RouterOptions.html#history');\n const beforeGuards = useCallbacks();\n const beforeResolveGuards = useCallbacks();\n const afterGuards = useCallbacks();\n const currentRoute = shallowRef(START_LOCATION_NORMALIZED);\n let pendingLocation = START_LOCATION_NORMALIZED;\n // leave the scrollRestoration if no scrollBehavior is provided\n if (isBrowser && options.scrollBehavior && 'scrollRestoration' in history) {\n history.scrollRestoration = 'manual';\n }\n const normalizeParams = applyToParams.bind(null, paramValue => '' + paramValue);\n const encodeParams = applyToParams.bind(null, encodeParam);\n const decodeParams = \n // @ts-expect-error: intentionally avoid the type check\n applyToParams.bind(null, decode);\n function addRoute(parentOrRoute, route) {\n let parent;\n let record;\n if (isRouteName(parentOrRoute)) {\n parent = matcher.getRecordMatcher(parentOrRoute);\n if ((process.env.NODE_ENV !== 'production') && !parent) {\n warn(`Parent route \"${String(parentOrRoute)}\" not found when adding child route`, route);\n }\n record = route;\n }\n else {\n record = parentOrRoute;\n }\n return matcher.addRoute(record, parent);\n }\n function removeRoute(name) {\n const recordMatcher = matcher.getRecordMatcher(name);\n if (recordMatcher) {\n matcher.removeRoute(recordMatcher);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`Cannot remove non-existent route \"${String(name)}\"`);\n }\n }\n function getRoutes() {\n return matcher.getRoutes().map(routeMatcher => routeMatcher.record);\n }\n function hasRoute(name) {\n return !!matcher.getRecordMatcher(name);\n }\n function resolve(rawLocation, currentLocation) {\n // const resolve: Router['resolve'] = (rawLocation: RouteLocationRaw, currentLocation) => {\n // const objectLocation = routerLocationAsObject(rawLocation)\n // we create a copy to modify it later\n currentLocation = assign({}, currentLocation || currentRoute.value);\n if (typeof rawLocation === 'string') {\n const locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\n const matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation);\n const href = routerHistory.createHref(locationNormalized.fullPath);\n if ((process.env.NODE_ENV !== 'production')) {\n if (href.startsWith('//'))\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n else if (!matchedRoute.matched.length) {\n warn(`No match found for location with path \"${rawLocation}\"`);\n }\n }\n // locationNormalized is always a new object\n return assign(locationNormalized, matchedRoute, {\n params: decodeParams(matchedRoute.params),\n hash: decode(locationNormalized.hash),\n redirectedFrom: undefined,\n href,\n });\n }\n if ((process.env.NODE_ENV !== 'production') && !isRouteLocation(rawLocation)) {\n warn(`router.resolve() was passed an invalid location. This will fail in production.\\n- Location:`, rawLocation);\n return resolve({});\n }\n let matcherLocation;\n // path could be relative in object as well\n if (rawLocation.path != null) {\n if ((process.env.NODE_ENV !== 'production') &&\n 'params' in rawLocation &&\n !('name' in rawLocation) &&\n // @ts-expect-error: the type is never\n Object.keys(rawLocation.params).length) {\n warn(`Path \"${rawLocation.path}\" was passed with params but they will be ignored. Use a named route alongside params instead.`);\n }\n matcherLocation = assign({}, rawLocation, {\n path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path,\n });\n }\n else {\n // remove any nullish param\n const targetParams = assign({}, rawLocation.params);\n for (const key in targetParams) {\n if (targetParams[key] == null) {\n delete targetParams[key];\n }\n }\n // pass encoded values to the matcher, so it can produce encoded path and fullPath\n matcherLocation = assign({}, rawLocation, {\n params: encodeParams(targetParams),\n });\n // current location params are decoded, we need to encode them in case the\n // matcher merges the params\n currentLocation.params = encodeParams(currentLocation.params);\n }\n const matchedRoute = matcher.resolve(matcherLocation, currentLocation);\n const hash = rawLocation.hash || '';\n if ((process.env.NODE_ENV !== 'production') && hash && !hash.startsWith('#')) {\n warn(`A \\`hash\\` should always start with the character \"#\". Replace \"${hash}\" with \"#${hash}\".`);\n }\n // the matcher might have merged current location params, so\n // we need to run the decoding again\n matchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\n const fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\n hash: encodeHash(hash),\n path: matchedRoute.path,\n }));\n const href = routerHistory.createHref(fullPath);\n if ((process.env.NODE_ENV !== 'production')) {\n if (href.startsWith('//')) {\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n }\n else if (!matchedRoute.matched.length) {\n warn(`No match found for location with path \"${rawLocation.path != null ? rawLocation.path : rawLocation}\"`);\n }\n }\n return assign({\n fullPath,\n // keep the hash encoded so fullPath is effectively path + encodedQuery +\n // hash\n hash,\n query: \n // if the user is using a custom query lib like qs, we might have\n // nested objects, so we keep the query as is, meaning it can contain\n // numbers at `$route.query`, but at the point, the user will have to\n // use their own type anyway.\n // https://github.com/vuejs/router/issues/328#issuecomment-649481567\n stringifyQuery$1 === stringifyQuery\n ? normalizeQuery(rawLocation.query)\n : (rawLocation.query || {}),\n }, matchedRoute, {\n redirectedFrom: undefined,\n href,\n });\n }\n function locationAsObject(to) {\n return typeof to === 'string'\n ? parseURL(parseQuery$1, to, currentRoute.value.path)\n : assign({}, to);\n }\n function checkCanceledNavigation(to, from) {\n if (pendingLocation !== to) {\n return createRouterError(8 /* ErrorTypes.NAVIGATION_CANCELLED */, {\n from,\n to,\n });\n }\n }\n function push(to) {\n return pushWithRedirect(to);\n }\n function replace(to) {\n return push(assign(locationAsObject(to), { replace: true }));\n }\n function handleRedirectRecord(to) {\n const lastMatched = to.matched[to.matched.length - 1];\n if (lastMatched && lastMatched.redirect) {\n const { redirect } = lastMatched;\n let newTargetLocation = typeof redirect === 'function' ? redirect(to) : redirect;\n if (typeof newTargetLocation === 'string') {\n newTargetLocation =\n newTargetLocation.includes('?') || newTargetLocation.includes('#')\n ? (newTargetLocation = locationAsObject(newTargetLocation))\n : // force empty params\n { path: newTargetLocation };\n // @ts-expect-error: force empty params when a string is passed to let\n // the router parse them again\n newTargetLocation.params = {};\n }\n if ((process.env.NODE_ENV !== 'production') &&\n newTargetLocation.path == null &&\n !('name' in newTargetLocation)) {\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.`);\n throw new Error('Invalid redirect');\n }\n return assign({\n query: to.query,\n hash: to.hash,\n // avoid transferring params if the redirect has a path\n params: newTargetLocation.path != null ? {} : to.params,\n }, newTargetLocation);\n }\n }\n function pushWithRedirect(to, redirectedFrom) {\n const targetLocation = (pendingLocation = resolve(to));\n const from = currentRoute.value;\n const data = to.state;\n const force = to.force;\n // to could be a string where `replace` is a function\n const replace = to.replace === true;\n const shouldRedirect = handleRedirectRecord(targetLocation);\n if (shouldRedirect)\n return pushWithRedirect(assign(locationAsObject(shouldRedirect), {\n state: typeof shouldRedirect === 'object'\n ? assign({}, data, shouldRedirect.state)\n : data,\n force,\n replace,\n }), \n // keep original redirectedFrom if it exists\n redirectedFrom || targetLocation);\n // if it was a redirect we already called `pushWithRedirect` above\n const toLocation = targetLocation;\n toLocation.redirectedFrom = redirectedFrom;\n let failure;\n if (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\n failure = createRouterError(16 /* ErrorTypes.NAVIGATION_DUPLICATED */, { to: toLocation, from });\n // trigger scroll to allow scrolling to the same anchor\n handleScroll(from, from, \n // this is a push, the only way for it to be triggered from a\n // history.listen is with a redirect, which makes it become a push\n true, \n // This cannot be the first navigation because the initial location\n // cannot be manually navigated to\n false);\n }\n return (failure ? Promise.resolve(failure) : navigate(toLocation, from))\n .catch((error) => isNavigationFailure(error)\n ? // navigation redirects still mark the router as ready\n isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)\n ? error\n : markAsReady(error) // also returns the error\n : // reject any unknown error\n triggerError(error, toLocation, from))\n .then((failure) => {\n if (failure) {\n if (isNavigationFailure(failure, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\n if ((process.env.NODE_ENV !== 'production') &&\n // we are redirecting to the same location we were already at\n isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) &&\n // and we have done it a couple of times\n redirectedFrom &&\n // @ts-expect-error: added only in dev\n (redirectedFrom._count = redirectedFrom._count\n ? // @ts-expect-error\n redirectedFrom._count + 1\n : 1) > 30) {\n warn(`Detected a possibly infinite redirection in a navigation guard when going from \"${from.fullPath}\" to \"${toLocation.fullPath}\". Aborting to avoid a Stack Overflow.\\n Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`);\n return Promise.reject(new Error('Infinite redirect in navigation guard'));\n }\n return pushWithRedirect(\n // keep options\n assign({\n // preserve an existing replacement but allow the redirect to override it\n replace,\n }, locationAsObject(failure.to), {\n state: typeof failure.to === 'object'\n ? assign({}, data, failure.to.state)\n : data,\n force,\n }), \n // preserve the original redirectedFrom if any\n redirectedFrom || toLocation);\n }\n }\n else {\n // if we fail we don't finalize the navigation\n failure = finalizeNavigation(toLocation, from, true, replace, data);\n }\n triggerAfterEach(toLocation, from, failure);\n return failure;\n });\n }\n /**\n * Helper to reject and skip all navigation guards if a new navigation happened\n * @param to\n * @param from\n */\n function checkCanceledNavigationAndReject(to, from) {\n const error = checkCanceledNavigation(to, from);\n return error ? Promise.reject(error) : Promise.resolve();\n }\n function runWithContext(fn) {\n const app = installedApps.values().next().value;\n // support Vue < 3.3\n return app && typeof app.runWithContext === 'function'\n ? app.runWithContext(fn)\n : fn();\n }\n // TODO: refactor the whole before guards by internally using router.beforeEach\n function navigate(to, from) {\n let guards;\n const [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\n // all components here have been resolved once because we are leaving\n guards = extractComponentsGuards(leavingRecords.reverse(), 'beforeRouteLeave', to, from);\n // leavingRecords is already reversed\n for (const record of leavingRecords) {\n record.leaveGuards.forEach(guard => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n const canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeRouteLeave guards\n return (runGuardQueue(guards)\n .then(() => {\n // check global guards beforeEach\n guards = [];\n for (const guard of beforeGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n })\n .then(() => {\n // check in components beforeRouteUpdate\n guards = extractComponentsGuards(updatingRecords, 'beforeRouteUpdate', to, from);\n for (const record of updatingRecords) {\n record.updateGuards.forEach(guard => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // check the route beforeEnter\n guards = [];\n for (const record of enteringRecords) {\n // do not trigger beforeEnter on reused views\n if (record.beforeEnter) {\n if (isArray(record.beforeEnter)) {\n for (const beforeEnter of record.beforeEnter)\n guards.push(guardToPromiseFn(beforeEnter, to, from));\n }\n else {\n guards.push(guardToPromiseFn(record.beforeEnter, to, from));\n }\n }\n }\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // NOTE: at this point to.matched is normalized and does not contain any () => Promise\n // clear existing enterCallbacks, these are added by extractComponentsGuards\n to.matched.forEach(record => (record.enterCallbacks = {}));\n // check in-component beforeRouteEnter\n guards = extractComponentsGuards(enteringRecords, 'beforeRouteEnter', to, from, runWithContext);\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // check global guards beforeResolve\n guards = [];\n for (const guard of beforeResolveGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n })\n // catch any navigation canceled\n .catch(err => isNavigationFailure(err, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)\n ? err\n : Promise.reject(err)));\n }\n function triggerAfterEach(to, from, failure) {\n // navigation is confirmed, call afterGuards\n // TODO: wrap with error handlers\n afterGuards\n .list()\n .forEach(guard => runWithContext(() => guard(to, from, failure)));\n }\n /**\n * - Cleans up any navigation guards\n * - Changes the url if necessary\n * - Calls the scrollBehavior\n */\n function finalizeNavigation(toLocation, from, isPush, replace, data) {\n // a more recent navigation took place\n const error = checkCanceledNavigation(toLocation, from);\n if (error)\n return error;\n // only consider as push if it's not the first navigation\n const isFirstNavigation = from === START_LOCATION_NORMALIZED;\n const state = !isBrowser ? {} : history.state;\n // change URL only if the user did a push/replace and if it's not the initial navigation because\n // it's just reflecting the url\n if (isPush) {\n // on the initial navigation, we want to reuse the scroll position from\n // history state if it exists\n if (replace || isFirstNavigation)\n routerHistory.replace(toLocation.fullPath, assign({\n scroll: isFirstNavigation && state && state.scroll,\n }, data));\n else\n routerHistory.push(toLocation.fullPath, data);\n }\n // accept current navigation\n currentRoute.value = toLocation;\n handleScroll(toLocation, from, isPush, isFirstNavigation);\n markAsReady();\n }\n let removeHistoryListener;\n // attach listener to history to trigger navigations\n function setupListeners() {\n // avoid setting up listeners twice due to an invalid first navigation\n if (removeHistoryListener)\n return;\n removeHistoryListener = routerHistory.listen((to, _from, info) => {\n if (!router.listening)\n return;\n // cannot be a redirect route because it was in history\n const toLocation = resolve(to);\n // due to dynamic routing, and to hash history with manual navigation\n // (manually changing the url or calling history.hash = '#/somewhere'),\n // there could be a redirect record in history\n const shouldRedirect = handleRedirectRecord(toLocation);\n if (shouldRedirect) {\n pushWithRedirect(assign(shouldRedirect, { replace: true, force: true }), toLocation).catch(noop);\n return;\n }\n pendingLocation = toLocation;\n const from = currentRoute.value;\n // TODO: should be moved to web history?\n if (isBrowser) {\n saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());\n }\n navigate(toLocation, from)\n .catch((error) => {\n if (isNavigationFailure(error, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\n return error;\n }\n if (isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\n // Here we could call if (info.delta) routerHistory.go(-info.delta,\n // false) but this is bug prone as we have no way to wait the\n // navigation to be finished before calling pushWithRedirect. Using\n // a setTimeout of 16ms seems to work but there is no guarantee for\n // it to work on every browser. So instead we do not restore the\n // history entry and trigger a new navigation as requested by the\n // navigation guard.\n // the error is already handled by router.push we just want to avoid\n // logging the error\n pushWithRedirect(assign(locationAsObject(error.to), {\n force: true,\n }), toLocation\n // avoid an uncaught rejection, let push call triggerError\n )\n .then(failure => {\n // manual change in hash history #916 ending up in the URL not\n // changing, but it was changed by the manual url change, so we\n // need to manually change it ourselves\n if (isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ |\n 16 /* ErrorTypes.NAVIGATION_DUPLICATED */) &&\n !info.delta &&\n info.type === NavigationType.pop) {\n routerHistory.go(-1, false);\n }\n })\n .catch(noop);\n // avoid the then branch\n return Promise.reject();\n }\n // do not restore history on unknown direction\n if (info.delta) {\n routerHistory.go(-info.delta, false);\n }\n // unrecognized error, transfer to the global handler\n return triggerError(error, toLocation, from);\n })\n .then((failure) => {\n failure =\n failure ||\n finalizeNavigation(\n // after navigation, all matched components are resolved\n toLocation, from, false);\n // revert the navigation\n if (failure) {\n if (info.delta &&\n // a new navigation has been triggered, so we do not want to revert, that will change the current history\n // entry while a different route is displayed\n !isNavigationFailure(failure, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\n routerHistory.go(-info.delta, false);\n }\n else if (info.type === NavigationType.pop &&\n isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 16 /* ErrorTypes.NAVIGATION_DUPLICATED */)) {\n // manual change in hash history #916\n // it's like a push but lacks the information of the direction\n routerHistory.go(-1, false);\n }\n }\n triggerAfterEach(toLocation, from, failure);\n })\n // avoid warnings in the console about uncaught rejections, they are logged by triggerErrors\n .catch(noop);\n });\n }\n // Initialization and Errors\n let readyHandlers = useCallbacks();\n let errorListeners = useCallbacks();\n let ready;\n /**\n * Trigger errorListeners added via onError and throws the error as well\n *\n * @param error - error to throw\n * @param to - location we were navigating to when the error happened\n * @param from - location we were navigating from when the error happened\n * @returns the error as a rejected promise\n */\n function triggerError(error, to, from) {\n markAsReady(error);\n const list = errorListeners.list();\n if (list.length) {\n list.forEach(handler => handler(error, to, from));\n }\n else {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('uncaught error during route navigation:');\n }\n console.error(error);\n }\n // reject the error no matter there were error listeners or not\n return Promise.reject(error);\n }\n function isReady() {\n if (ready && currentRoute.value !== START_LOCATION_NORMALIZED)\n return Promise.resolve();\n return new Promise((resolve, reject) => {\n readyHandlers.add([resolve, reject]);\n });\n }\n function markAsReady(err) {\n if (!ready) {\n // still not ready if an error happened\n ready = !err;\n setupListeners();\n readyHandlers\n .list()\n .forEach(([resolve, reject]) => (err ? reject(err) : resolve()));\n readyHandlers.reset();\n }\n return err;\n }\n // Scroll behavior\n function handleScroll(to, from, isPush, isFirstNavigation) {\n const { scrollBehavior } = options;\n if (!isBrowser || !scrollBehavior)\n return Promise.resolve();\n const scrollPosition = (!isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0))) ||\n ((isFirstNavigation || !isPush) &&\n history.state &&\n history.state.scroll) ||\n null;\n return nextTick()\n .then(() => scrollBehavior(to, from, scrollPosition))\n .then(position => position && scrollToPosition(position))\n .catch(err => triggerError(err, to, from));\n }\n const go = (delta) => routerHistory.go(delta);\n let started;\n const installedApps = new Set();\n const router = {\n currentRoute,\n listening: true,\n addRoute,\n removeRoute,\n clearRoutes: matcher.clearRoutes,\n hasRoute,\n getRoutes,\n resolve,\n options,\n push,\n replace,\n go,\n back: () => go(-1),\n forward: () => go(1),\n beforeEach: beforeGuards.add,\n beforeResolve: beforeResolveGuards.add,\n afterEach: afterGuards.add,\n onError: errorListeners.add,\n isReady,\n install(app) {\n const router = this;\n app.component('RouterLink', RouterLink);\n app.component('RouterView', RouterView);\n app.config.globalProperties.$router = router;\n Object.defineProperty(app.config.globalProperties, '$route', {\n enumerable: true,\n get: () => unref(currentRoute),\n });\n // this initial navigation is only necessary on client, on server it doesn't\n // make sense because it will create an extra unnecessary navigation and could\n // lead to problems\n if (isBrowser &&\n // used for the initial navigation client side to avoid pushing\n // multiple times when the router is used in multiple apps\n !started &&\n currentRoute.value === START_LOCATION_NORMALIZED) {\n // see above\n started = true;\n push(routerHistory.location).catch(err => {\n if ((process.env.NODE_ENV !== 'production'))\n warn('Unexpected error when starting the router:', err);\n });\n }\n const reactiveRoute = {};\n for (const key in START_LOCATION_NORMALIZED) {\n Object.defineProperty(reactiveRoute, key, {\n get: () => currentRoute.value[key],\n enumerable: true,\n });\n }\n app.provide(routerKey, router);\n app.provide(routeLocationKey, shallowReactive(reactiveRoute));\n app.provide(routerViewLocationKey, currentRoute);\n const unmountApp = app.unmount;\n installedApps.add(app);\n app.unmount = function () {\n installedApps.delete(app);\n // the router is not attached to an app anymore\n if (installedApps.size < 1) {\n // invalidate the current navigation\n pendingLocation = START_LOCATION_NORMALIZED;\n removeHistoryListener && removeHistoryListener();\n removeHistoryListener = null;\n currentRoute.value = START_LOCATION_NORMALIZED;\n started = false;\n ready = false;\n }\n unmountApp();\n };\n // TODO: this probably needs to be updated so it can be used by vue-termui\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n addDevtools(app, router, matcher);\n }\n },\n };\n // TODO: type this as NavigationGuardReturn or similar instead of any\n function runGuardQueue(guards) {\n return guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve());\n }\n return router;\n}\nfunction extractChangingRecords(to, from) {\n const leavingRecords = [];\n const updatingRecords = [];\n const enteringRecords = [];\n const len = Math.max(from.matched.length, to.matched.length);\n for (let i = 0; i < len; i++) {\n const recordFrom = from.matched[i];\n if (recordFrom) {\n if (to.matched.find(record => isSameRouteRecord(record, recordFrom)))\n updatingRecords.push(recordFrom);\n else\n leavingRecords.push(recordFrom);\n }\n const recordTo = to.matched[i];\n if (recordTo) {\n // the type doesn't matter because we are comparing per reference\n if (!from.matched.find(record => isSameRouteRecord(record, recordTo))) {\n enteringRecords.push(recordTo);\n }\n }\n }\n return [leavingRecords, updatingRecords, enteringRecords];\n}\n\n/**\n * Returns the router instance. Equivalent to using `$router` inside\n * templates.\n */\nfunction useRouter() {\n return inject(routerKey);\n}\n/**\n * Returns the current route location. Equivalent to using `$route` inside\n * templates.\n */\nfunction useRoute(_name) {\n return inject(routeLocationKey);\n}\n\nexport { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };\n","/*\r\n * @Author: guojia 66291979@qq.com\r\n * @Date: 2024-05-08 23:33:24\r\n * @LastEditors: pluto.guo 66291979@qq.com\r\n * @LastEditTime: 2025-02-10 17:10:21\r\n * @FilePath: /lobby/src/stores/lobby.js\r\n * @Description:\r\n *\r\n * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.\r\n */\r\nimport { url } from '@/common/config.js'\r\nimport { Key, setLocalStorage } from '@/common/localStorage'\r\nimport { post } from '@/common/request.js'\r\nimport { useUserStore } from '@/stores/user.js'\r\nimport { getMobileOperatingSystem } from '@/utils/helper'\r\nimport { defineStore } from 'pinia'\r\nimport { showLoadingToast } from 'vant'\r\nimport { useRoute } from 'vue-router'\r\n\r\nexport const useLobbyStore = defineStore('lobby', {\r\n state: () => {\r\n return {\r\n bannersHomeTop: [],\r\n categories: [],\r\n recommend: [],\r\n functionTabs: [],\r\n functionTabIndex: 0,\r\n collectGameId: -1,\r\n bonusGamecategory: null,\r\n currentGameIsBonus: null,\r\n hasPopup: false,\r\n hasStickyBanner: false,\r\n allBanner: {},\r\n showdownloadBen: true\r\n }\r\n },\r\n getters: {\r\n checkShowAPPDownloadBanner() {\r\n const checkCid = localStorage.getItem('cid')\r\n if (checkCid && (checkCid == 'etAPP16' || checkCid == 'keAPP16')) {\r\n return false\r\n }\r\n const route = useRoute()\r\n if (route && route.name !== 'home') {\r\n return false\r\n }\r\n return (\r\n (this.country == 'ET' || this.country == 'KE') &&\r\n __APP_ENV__ !== 'app' &&\r\n __APP_ENV__ !== 'app_staging' &&\r\n this.showdownloadBen\r\n )\r\n },\r\n country() {\r\n return useUserStore().country\r\n },\r\n app_env() {\r\n return import.meta.env.VITE_APP_ENV == 'app' ? 'app' : 'h5'\r\n },\r\n functionList() {\r\n if (this.categories.length > 0) {\r\n console.log('functionList', this.categories)\r\n /**排序 */\r\n //Home\r\n // var list = [{ name: 'Home', cover: 'bi-house' }]\r\n const fillterGameList = this.categories.filter((itme) => {\r\n return itme.isFunction\r\n })\r\n const hotitem = fillterGameList.find((item) => {\r\n return item.name == 'Hot'\r\n })\r\n var list = [\r\n { name: 'Home', cover: 'bi-house', id: hotitem.id, localName: hotitem.localName }\r\n ]\r\n return list.concat(\r\n fillterGameList.sort((a, b) => {\r\n return b.functionWeight - a.functionWeight\r\n })\r\n )\r\n }\r\n return []\r\n },\r\n hotGame() {\r\n if (this.categories.length > 0) {\r\n console.log('functionList', this.categories)\r\n const fillterGameList = this.categories.filter((item) => {\r\n return item.name == 'HOT' || item.name == 'Hot'\r\n })\r\n return fillterGameList[0]\r\n }\r\n return null\r\n },\r\n bonusGamesID() {\r\n if (this.bonusGamecategory) {\r\n return this.bonusGamecategory.id\r\n } else {\r\n return localStorage.getItem(Key.BonusGamesID)\r\n }\r\n }\r\n },\r\n actions: {\r\n updatecollectGameId(id) {\r\n this.collectGameId = id\r\n },\r\n updateLobby() {\r\n return new Promise((resolve, reject) => {\r\n this.getBannersHomeTop()\r\n .then((r) => {\r\n this.bannersHomeTop = r.banners\r\n this.getCategories()\r\n .then((r) => {\r\n this.categories = r.categories\r\n this.functionTabIndex = 0\r\n this.functionTabs = this.categories\r\n .filter((value) => {\r\n return value.isFunction\r\n })\r\n .sort((a, b) => {\r\n return b.functionWeight - a.functionWeight\r\n })\r\n\r\n this.recommend = this.categories\r\n .filter((value) => {\r\n return value.isRecommend\r\n })\r\n .sort((a, b) => {\r\n return b.recommendWeight - a.recommendWeight\r\n })\r\n\r\n this.bonusGamecategory = this.categories.find((item) => {\r\n return item.name == 'Bonus'\r\n })\r\n localStorage.setItem(Key.BonusGamesID, this.bonusGamecategory.id)\r\n resolve()\r\n })\r\n .catch(() => {\r\n reject()\r\n })\r\n })\r\n .catch(() => {\r\n reject()\r\n })\r\n })\r\n },\r\n selectFunctionTab(index = 0) {\r\n this.functionTabIndex = index\r\n },\r\n batchBanners() {\r\n return post(url.lobby.batchBanners, {\r\n country: this.country\r\n }).then((r) => {\r\n // 将横幅广告按照 position 分类存储到 allBanner 对象中\r\n const allBanner = {}\r\n r.banners.forEach((banner) => {\r\n if (!allBanner[banner.position]) {\r\n allBanner[banner.position] = []\r\n }\r\n allBanner[banner.position].push(banner)\r\n })\r\n // 将分类后的横幅广告存储到 state 中\r\n this.allBanner = allBanner\r\n return this.allBanner\r\n })\r\n },\r\n /**\r\n * 根据位置获取横幅广告\r\n * @param {string} position - 横幅广告的位置标识\r\n * @returns {Array} - 返回指定位置的横幅广告数组,如果没有则返回空数组\r\n */\r\n getBannersByPosition(position) {\r\n // 如果allBanner为空,则先获取横幅广告数据\r\n return new Promise((resolve, reject) => {\r\n if (!this.allBanner || !this.allBanner[position]) {\r\n this.batchBanners()\r\n .then(() => {\r\n resolve(this.allBanner[position] || [])\r\n })\r\n .catch(() => {\r\n reject()\r\n })\r\n } else {\r\n resolve(this.allBanner[position] || [])\r\n }\r\n })\r\n },\r\n getBannerByCountryAndPOsition(country, position) {\r\n return post(url.lobby.banners, { country, position }).then((r) => {\r\n return r.banners || []\r\n })\r\n },\r\n getBannersHomeTop(position = 'home_top') {\r\n if (position == 'sticky_banner') {\r\n const nowTime = new Date()\r\n let time =\r\n nowTime.getUTCFullYear().toString() +\r\n nowTime.getUTCMonth().toString() +\r\n nowTime.getUTCDate().toString()\r\n if (time != localStorage.getItem(Key.StickyBanner)) {\r\n const sticky_banner = this.allBanner[position] || []\r\n this.hasStickyBanner = sticky_banner.length > 0\r\n }\r\n }\r\n return Promise.resolve({ banners: this.allBanner[position] || [] })\r\n // else {\r\n // console.log('getBannersHomeTop', position, this.allBanner)\r\n // return this.batchBanners().then((r) => {\r\n // if (position == 'sticky_banner') {\r\n // const nowTime = new Date()\r\n // let time =\r\n // nowTime.getUTCFullYear().toString() +\r\n // nowTime.getUTCMonth().toString() +\r\n // nowTime.getUTCDate().toString()\r\n // if (time != localStorage.getItem(Key.StickyBanner)) {\r\n // const sticky_banner = r[position] || []\r\n // this.hasStickyBanner = sticky_banner.length > 0\r\n // }\r\n // }\r\n // return { banners: r[position] || [] }\r\n // })\r\n // }\r\n // return post(url.lobby.banners, {\r\n // country: this.country,\r\n // position\r\n // }).then((r) => {\r\n // if (position == 'sticky_banner') {\r\n // const nowTime = new Date()\r\n // let time =\r\n // nowTime.getUTCFullYear().toString() +\r\n // nowTime.getUTCMonth().toString() +\r\n // nowTime.getUTCDate().toString()\r\n // if (time != localStorage.getItem(Key.StickyBanner)) {\r\n // this.hasStickyBanner = r.banners && r.banners.length > 0\r\n // }\r\n // }\r\n // return r\r\n // })\r\n },\r\n hideStickyBanners() {\r\n this.hasStickyBanner = false\r\n const nowTime = new Date()\r\n let time =\r\n nowTime.getUTCFullYear().toString() +\r\n nowTime.getUTCMonth().toString() +\r\n nowTime.getUTCDate().toString()\r\n localStorage.setItem(Key.StickyBanner, time)\r\n },\r\n hideDownloadAppBanner() {\r\n this.showdownloadBen = false\r\n },\r\n getCategories() {\r\n return post(url.game.categories, {\r\n country: this.country\r\n })\r\n },\r\n /**\r\n * 获取游戏列表\r\n * @param {*} category 分类\r\n * @param {*} gameplayTag 游戏玩法标签,用于筛选,全部玩法传空字符串\r\n * @param {*} pageNum 页号\r\n * @param {*} pageSize 每页大小\r\n * @returns\r\n */\r\n getGameList(id = 0, gameplayTag = '', pageNum = 1, pageSize = 20) {\r\n return post(url.game.list, {\r\n country: this.country,\r\n category: parseInt(id),\r\n gameplayTag,\r\n pageNum,\r\n pageSize\r\n })\r\n },\r\n enterGame(gameId) {\r\n showLoadingToast({\r\n message: '',\r\n forbidClick: true,\r\n duration: 10000\r\n })\r\n return new Promise((resolve, reject) => {\r\n post(url.game.enter, { gameId })\r\n .then((res) => {\r\n this.currentGameIsBonus = res.isBonus\r\n setLocalStorage(Key.isBonus, res.isBonus)\r\n resolve(res)\r\n })\r\n .catch((reason) => {\r\n reject(reason)\r\n })\r\n })\r\n },\r\n favorite(gameId, opt) {\r\n if (!gameId) {\r\n gameId = this.collectGameId\r\n }\r\n if (gameId >= 0) {\r\n return post(url.game.favorite, { gameId, opt })\r\n } else {\r\n return Promise.resolve()\r\n }\r\n },\r\n /**\r\n * 下注记录\r\n * @param {Boolean} isBonus 是否查询bonus下注\r\n * @param {Number} pageNum\r\n * @param {Number} pageSize\r\n * @returns\r\n */\r\n records(isBonus = false, pageNum = 1, pageSize = 999, endDate = '', startDate = '') {\r\n return post(url.game.records, { isBonus, pageNum, pageSize, endDate, startDate })\r\n },\r\n notice() {\r\n return post(url.notice.list, { country: this.country })\r\n },\r\n popup() {\r\n return post(url.popup, {\r\n country: this.country,\r\n system: getMobileOperatingSystem(),\r\n terminal: this.app_env\r\n }).then((r) => {\r\n this.hasPopup = r.popUps && r.popUps.length > 0\r\n console.log('11111=>>>>>>>>', this.hasPopup)\r\n return r\r\n })\r\n },\r\n hidePopup() {\r\n this.hasPopup = false\r\n },\r\n getPromotionsBanners() {\r\n return post(url.lobby.promotionsBanners, {\r\n country: this.country\r\n })\r\n }\r\n }\r\n})\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","/*\r\n * @Author: Pluto 66291979@qq.com\r\n * @Date: 2024-05-27 11:30:29\r\n * @LastEditors: Pluto 66291979@qq.com\r\n * @LastEditTime: 2024-06-13 11:03:38\r\n * @FilePath: \\lobby\\src\\common\\valiadate.js\r\n * @Description:\r\n *\r\n * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.\r\n */\r\n// function validateEmail(email) {\r\n// // 邮箱正则表达式\r\n// var emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\r\n// var emailRegex = !/^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,4})+$/.test(value);\r\n// // 使用正则表达式进行验证\r\n// return emailRegex.test(email);\r\n// }\r\n\r\n// 巴西账号校验 BRA\r\n//· 巴西手机号位数和号段规则\r\n//1.手机号可以是10位,也可以是11位;\r\n//2.前两位可输入内容:11~99;\r\n//3.第三位和以后不会进行限制;\r\n// ok, err := regexp.MatchString(\"^([11-99]{2})(\\\\d{8,9})$\", req.Username)\r\n\r\n// 肯尼亚账号校验 KE\r\n//· 肯尼亚手机号位数和号段规则\r\n//1.手机号为10位;\r\n//2.前两位可输入内容:07:Safaricom、06:Airtel、01:Telkom、05:Equitel、02:Faiba;\r\n//3.第三位和以后不会进行限制;\r\n// ok, err := regexp.MatchString(\"^(07|06|01|05|02)(\\\\d{8})$\", req.Username)\r\nimport { i18n } from '@/locales/index.js'\r\n\r\nfunction validateUsername(username) {\r\n console.log(`validateUsername: ${username}`)\r\n const pattern = '^(\\\\d{9,10})$'\r\n const regex = new RegExp(pattern)\r\n if (regex.test(username)) {\r\n return ''\r\n }\r\n return i18n.global.t('register.username-error')\r\n}\r\n\r\n// CheckPasswordRules 校验密码规则\r\n// 1.密码位数为6~24位,如果超过24位无法继续输入;\r\n// 2.密码区域可输入内容为:数字、字母、英文符号;\r\n// 3.密码不可以输入:“空格”;\r\n// ok, _ := regexp.MatchString(\"^[A-Za-z\\\\d!@#$%^&*()-_]{6,24}$\", password)\r\nfunction validatePassword(password) {\r\n console.log(`validatePassword: ${password}`)\r\n const pattern = '^[A-Za-z\\\\d!@#$%^&*()-_]{6,24}$'\r\n const regex = new RegExp(pattern)\r\n if (regex.test(password)) {\r\n return ''\r\n }\r\n return i18n.global.t('register.password-error')\r\n}\r\n\r\nexport { validateUsername, validatePassword }\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","/*\r\n * @Author: guojia 66291979@qq.com\r\n * @Date: 2024-08-20 14:48:33\r\n * @LastEditors: guojia 66291979@qq.com\r\n * @LastEditTime: 2024-08-20 15:20:29\r\n * @FilePath: /lobby/src/common/mFbq.js\r\n * @Description:\r\n *\r\n * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.\r\n */\r\nexport const PIXEL_EVENT = {\r\n /** 查看内容_ViewContent*/\r\n VIEW_CONTENT: 'ViewContent',\r\n /** 完成注册_CompleteRegistration*/\r\n COMPLETE_REGISTRATION: 'CompleteRegistration',\r\n /** 登陆-SubmitApplication*/\r\n SUBMIT_APPlICATION: 'SubmitApplication',\r\n /** 开始试用游戏-StartTrial*/\r\n START_TRIAL: 'StartTrial',\r\n /** 加入购物车 -AddToCart*/\r\n ADD_TO_CART: 'AddToCart',\r\n /** 拉起订单-InitiateCheckout*/\r\n INITIATE_CHECKOUT: 'InitiateCheckout',\r\n /** 首充事件-Purchase*/\r\n PURCHASE: 'Purchase',\r\n /** 点击安装PWA-CustomizeProduct*/\r\n CUSTOMIZE_PRODUCT: 'CustomizeProduct'\r\n}\r\n\r\nexport const mfbq = (eventName, eventData) => {\r\n fbq('trackCustom', eventName, eventData)\r\n return\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","/*\r\n * @Author: guojia 66291979@qq.com\r\n * @Date: 2024-08-21 17:38:48\r\n * @LastEditors: game.pluto.com 66291979@qq.com\r\n * @LastEditTime: 2024-09-19 18:01:59\r\n * @FilePath: /lobby/src/stores/deposit.js\r\n * @Description:\r\n *\r\n * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.\r\n */\r\nimport { defineStore } from 'pinia'\r\nimport { useUserStore } from '@/stores/user.js'\r\nimport { post } from '@/common/request.js'\r\nimport { url } from '@/common/config.js'\r\n\r\nexport const useDepositStore = defineStore('deposit', {\r\n state: () => {\r\n return {\r\n bannersHomeTop: []\r\n }\r\n },\r\n getters: {\r\n country() {\r\n return useUserStore().country\r\n },\r\n userInfo() {\r\n return useUserStore().userInfo\r\n }\r\n },\r\n actions: {\r\n requestConfig() {\r\n return post(url.recharge.config)\r\n },\r\n createOrder(param, account, bankCode, otpCode, routing) {\r\n return new Promise((resolve, reject) => {\r\n post(url.recharge.create, param)\r\n .then(({ id }) => {\r\n // account, bankCode, id, payChannel\r\n post(url.recharge.prepay, {\r\n account,\r\n bankCode, //: 'cbebirr',\r\n id,\r\n payChannel: param.payChannel, //: 'santimPay',\r\n otpCode,\r\n routing\r\n })\r\n .then((response) => {\r\n resolve({ response, id })\r\n })\r\n .catch((err) => {\r\n reject(err)\r\n })\r\n })\r\n .catch((err) => {\r\n reject(err)\r\n })\r\n })\r\n },\r\n createOrderForKE(param) {\r\n return new Promise((resolve, reject) => {\r\n post(url.recharge.create, param)\r\n .then(({ id, fee }) => {\r\n // account, bankCode, id, payChannel\r\n resolve({ id, fee })\r\n })\r\n .catch((err) => {\r\n reject(err)\r\n })\r\n })\r\n },\r\n prepay({ id, payChannel, account, bankCode, otpCode, routing }) {\r\n return post(url.recharge.prepay, {\r\n account,\r\n bankCode, //: 'cbebirr',\r\n id,\r\n payChannel, //: 'santimPay',\r\n otpCode,\r\n routing\r\n })\r\n // .then((response) => {\r\n // resolve(response)\r\n // })\r\n // .catch((err) => {\r\n // reject(err)\r\n // })\r\n },\r\n queryPay(id) {\r\n return post(url.recharge.querypay, { id: parseInt(id) })\r\n },\r\n depositOrders(pageNum, pageSize) {\r\n return post(url.recharge.orders, { pageNum, pageSize })\r\n },\r\n depositActivity() {\r\n return post(url.recharge.depositActivity)\r\n }\r\n }\r\n})\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","/*!\n * qrcode.vue v3.6.0\n * A Vue.js component to generate QRCode. Both support Vue 2 and Vue 3\n * © 2017-PRESENT @scopewu(https://github.com/scopewu)\n * MIT License.\n */\nimport { defineComponent, ref, onUpdated, h, onMounted, Fragment } from 'vue';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\n/*\n * QR Code generator library (TypeScript)\n *\n * Copyright (c) Project Nayuki. (MIT License)\n * https://www.nayuki.io/page/qr-code-generator-library\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n * - The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n * - The Software is provided \"as is\", without warranty of any kind, express or\n * implied, including but not limited to the warranties of merchantability,\n * fitness for a particular purpose and noninfringement. In no event shall the\n * authors or copyright holders be liable for any claim, damages or other\n * liability, whether in an action of contract, tort or otherwise, arising from,\n * out of or in connection with the Software or the use or other dealings in the\n * Software.\n */\nvar qrcodegen;\n(function (qrcodegen) {\n /*---- QR Code symbol class ----*/\n /*\n * A QR Code symbol, which is a type of two-dimension barcode.\n * Invented by Denso Wave and described in the ISO/IEC 18004 standard.\n * Instances of this class represent an immutable square grid of dark and light cells.\n * The class provides static factory functions to create a QR Code from text or binary data.\n * The class covers the QR Code Model 2 specification, supporting all versions (sizes)\n * from 1 to 40, all 4 error correction levels, and 4 character encoding modes.\n *\n * Ways to create a QR Code object:\n * - High level: Take the payload data and call QrCode.encodeText() or QrCode.encodeBinary().\n * - Mid level: Custom-make the list of segments and call QrCode.encodeSegments().\n * - Low level: Custom-make the array of data codeword bytes (including\n * segment headers and final padding, excluding error correction codewords),\n * supply the appropriate version number, and call the QrCode() constructor.\n * (Note that all ways require supplying the desired error correction level.)\n */\n var QrCode = /** @class */ (function () {\n /*-- Constructor (low level) and fields --*/\n // Creates a new QR Code with the given version number,\n // error correction level, data codeword bytes, and mask number.\n // This is a low-level API that most users should not use directly.\n // A mid-level API is the encodeSegments() function.\n function QrCode(\n // The version number of this QR Code, which is between 1 and 40 (inclusive).\n // This determines the size of this barcode.\n version, \n // The error correction level used in this QR Code.\n errorCorrectionLevel, dataCodewords, msk) {\n this.version = version;\n this.errorCorrectionLevel = errorCorrectionLevel;\n // The modules of this QR Code (false = light, true = dark).\n // Immutable after constructor finishes. Accessed through getModule().\n this.modules = [];\n // Indicates function modules that are not subjected to masking. Discarded when constructor finishes.\n this.isFunction = [];\n // Check scalar arguments\n if (version < QrCode.MIN_VERSION || version > QrCode.MAX_VERSION)\n throw new RangeError(\"Version value out of range\");\n if (msk < -1 || msk > 7)\n throw new RangeError(\"Mask value out of range\");\n this.size = version * 4 + 17;\n // Initialize both grids to be size*size arrays of Boolean false\n var row = [];\n for (var i = 0; i < this.size; i++)\n row.push(false);\n for (var i = 0; i < this.size; i++) {\n this.modules.push(row.slice()); // Initially all light\n this.isFunction.push(row.slice());\n }\n // Compute ECC, draw modules\n this.drawFunctionPatterns();\n var allCodewords = this.addEccAndInterleave(dataCodewords);\n this.drawCodewords(allCodewords);\n // Do masking\n if (msk == -1) { // Automatically choose best mask\n var minPenalty = 1000000000;\n for (var i = 0; i < 8; i++) {\n this.applyMask(i);\n this.drawFormatBits(i);\n var penalty = this.getPenaltyScore();\n if (penalty < minPenalty) {\n msk = i;\n minPenalty = penalty;\n }\n this.applyMask(i); // Undoes the mask due to XOR\n }\n }\n assert(0 <= msk && msk <= 7);\n this.mask = msk;\n this.applyMask(msk); // Apply the final choice of mask\n this.drawFormatBits(msk); // Overwrite old format bits\n this.isFunction = [];\n }\n /*-- Static factory functions (high level) --*/\n // Returns a QR Code representing the given Unicode text string at the given error correction level.\n // As a conservative upper bound, this function is guaranteed to succeed for strings that have 738 or fewer\n // Unicode code points (not UTF-16 code units) if the low error correction level is used. The smallest possible\n // QR Code version is automatically chosen for the output. The ECC level of the result may be higher than the\n // ecl argument if it can be done without increasing the version.\n QrCode.encodeText = function (text, ecl) {\n var segs = qrcodegen.QrSegment.makeSegments(text);\n return QrCode.encodeSegments(segs, ecl);\n };\n // Returns a QR Code representing the given binary data at the given error correction level.\n // This function always encodes using the binary segment mode, not any text mode. The maximum number of\n // bytes allowed is 2953. The smallest possible QR Code version is automatically chosen for the output.\n // The ECC level of the result may be higher than the ecl argument if it can be done without increasing the version.\n QrCode.encodeBinary = function (data, ecl) {\n var seg = qrcodegen.QrSegment.makeBytes(data);\n return QrCode.encodeSegments([seg], ecl);\n };\n /*-- Static factory functions (mid level) --*/\n // Returns a QR Code representing the given segments with the given encoding parameters.\n // The smallest possible QR Code version within the given range is automatically\n // chosen for the output. Iff boostEcl is true, then the ECC level of the result\n // may be higher than the ecl argument if it can be done without increasing the\n // version. The mask number is either between 0 to 7 (inclusive) to force that\n // mask, or -1 to automatically choose an appropriate mask (which may be slow).\n // This function allows the user to create a custom sequence of segments that switches\n // between modes (such as alphanumeric and byte) to encode text in less space.\n // This is a mid-level API; the high-level API is encodeText() and encodeBinary().\n QrCode.encodeSegments = function (segs, ecl, minVersion, maxVersion, mask, boostEcl) {\n if (minVersion === void 0) { minVersion = 1; }\n if (maxVersion === void 0) { maxVersion = 40; }\n if (mask === void 0) { mask = -1; }\n if (boostEcl === void 0) { boostEcl = true; }\n if (!(QrCode.MIN_VERSION <= minVersion && minVersion <= maxVersion && maxVersion <= QrCode.MAX_VERSION)\n || mask < -1 || mask > 7)\n throw new RangeError(\"Invalid value\");\n // Find the minimal version number to use\n var version;\n var dataUsedBits;\n for (version = minVersion;; version++) {\n var dataCapacityBits_1 = QrCode.getNumDataCodewords(version, ecl) * 8; // Number of data bits available\n var usedBits = QrSegment.getTotalBits(segs, version);\n if (usedBits <= dataCapacityBits_1) {\n dataUsedBits = usedBits;\n break; // This version number is found to be suitable\n }\n if (version >= maxVersion) // All versions in the range could not fit the given data\n throw new RangeError(\"Data too long\");\n }\n // Increase the error correction level while the data still fits in the current version number\n for (var _i = 0, _a = [QrCode.Ecc.MEDIUM, QrCode.Ecc.QUARTILE, QrCode.Ecc.HIGH]; _i < _a.length; _i++) { // From low to high\n var newEcl = _a[_i];\n if (boostEcl && dataUsedBits <= QrCode.getNumDataCodewords(version, newEcl) * 8)\n ecl = newEcl;\n }\n // Concatenate all segments to create the data bit string\n var bb = [];\n for (var _b = 0, segs_1 = segs; _b < segs_1.length; _b++) {\n var seg = segs_1[_b];\n appendBits(seg.mode.modeBits, 4, bb);\n appendBits(seg.numChars, seg.mode.numCharCountBits(version), bb);\n for (var _c = 0, _d = seg.getData(); _c < _d.length; _c++) {\n var b = _d[_c];\n bb.push(b);\n }\n }\n assert(bb.length == dataUsedBits);\n // Add terminator and pad up to a byte if applicable\n var dataCapacityBits = QrCode.getNumDataCodewords(version, ecl) * 8;\n assert(bb.length <= dataCapacityBits);\n appendBits(0, Math.min(4, dataCapacityBits - bb.length), bb);\n appendBits(0, (8 - bb.length % 8) % 8, bb);\n assert(bb.length % 8 == 0);\n // Pad with alternating bytes until data capacity is reached\n for (var padByte = 0xEC; bb.length < dataCapacityBits; padByte ^= 0xEC ^ 0x11)\n appendBits(padByte, 8, bb);\n // Pack bits into bytes in big endian\n var dataCodewords = [];\n while (dataCodewords.length * 8 < bb.length)\n dataCodewords.push(0);\n bb.forEach(function (b, i) {\n return dataCodewords[i >>> 3] |= b << (7 - (i & 7));\n });\n // Create the QR Code object\n return new QrCode(version, ecl, dataCodewords, mask);\n };\n /*-- Accessor methods --*/\n // Returns the color of the module (pixel) at the given coordinates, which is false\n // for light or true for dark. The top left corner has the coordinates (x=0, y=0).\n // If the given coordinates are out of bounds, then false (light) is returned.\n QrCode.prototype.getModule = function (x, y) {\n return 0 <= x && x < this.size && 0 <= y && y < this.size && this.modules[y][x];\n };\n QrCode.prototype.getModules = function () {\n return this.modules;\n };\n /*-- Private helper methods for constructor: Drawing function modules --*/\n // Reads this object's version field, and draws and marks all function modules.\n QrCode.prototype.drawFunctionPatterns = function () {\n // Draw horizontal and vertical timing patterns\n for (var i = 0; i < this.size; i++) {\n this.setFunctionModule(6, i, i % 2 == 0);\n this.setFunctionModule(i, 6, i % 2 == 0);\n }\n // Draw 3 finder patterns (all corners except bottom right; overwrites some timing modules)\n this.drawFinderPattern(3, 3);\n this.drawFinderPattern(this.size - 4, 3);\n this.drawFinderPattern(3, this.size - 4);\n // Draw numerous alignment patterns\n var alignPatPos = this.getAlignmentPatternPositions();\n var numAlign = alignPatPos.length;\n for (var i = 0; i < numAlign; i++) {\n for (var j = 0; j < numAlign; j++) {\n // Don't draw on the three finder corners\n if (!(i == 0 && j == 0 || i == 0 && j == numAlign - 1 || i == numAlign - 1 && j == 0))\n this.drawAlignmentPattern(alignPatPos[i], alignPatPos[j]);\n }\n }\n // Draw configuration data\n this.drawFormatBits(0); // Dummy mask value; overwritten later in the constructor\n this.drawVersion();\n };\n // Draws two copies of the format bits (with its own error correction code)\n // based on the given mask and this object's error correction level field.\n QrCode.prototype.drawFormatBits = function (mask) {\n // Calculate error correction code and pack bits\n var data = this.errorCorrectionLevel.formatBits << 3 | mask; // errCorrLvl is uint2, mask is uint3\n var rem = data;\n for (var i = 0; i < 10; i++)\n rem = (rem << 1) ^ ((rem >>> 9) * 0x537);\n var bits = (data << 10 | rem) ^ 0x5412; // uint15\n assert(bits >>> 15 == 0);\n // Draw first copy\n for (var i = 0; i <= 5; i++)\n this.setFunctionModule(8, i, getBit(bits, i));\n this.setFunctionModule(8, 7, getBit(bits, 6));\n this.setFunctionModule(8, 8, getBit(bits, 7));\n this.setFunctionModule(7, 8, getBit(bits, 8));\n for (var i = 9; i < 15; i++)\n this.setFunctionModule(14 - i, 8, getBit(bits, i));\n // Draw second copy\n for (var i = 0; i < 8; i++)\n this.setFunctionModule(this.size - 1 - i, 8, getBit(bits, i));\n for (var i = 8; i < 15; i++)\n this.setFunctionModule(8, this.size - 15 + i, getBit(bits, i));\n this.setFunctionModule(8, this.size - 8, true); // Always dark\n };\n // Draws two copies of the version bits (with its own error correction code),\n // based on this object's version field, iff 7 <= version <= 40.\n QrCode.prototype.drawVersion = function () {\n if (this.version < 7)\n return;\n // Calculate error correction code and pack bits\n var rem = this.version; // version is uint6, in the range [7, 40]\n for (var i = 0; i < 12; i++)\n rem = (rem << 1) ^ ((rem >>> 11) * 0x1F25);\n var bits = this.version << 12 | rem; // uint18\n assert(bits >>> 18 == 0);\n // Draw two copies\n for (var i = 0; i < 18; i++) {\n var color = getBit(bits, i);\n var a = this.size - 11 + i % 3;\n var b = Math.floor(i / 3);\n this.setFunctionModule(a, b, color);\n this.setFunctionModule(b, a, color);\n }\n };\n // Draws a 9*9 finder pattern including the border separator,\n // with the center module at (x, y). Modules can be out of bounds.\n QrCode.prototype.drawFinderPattern = function (x, y) {\n for (var dy = -4; dy <= 4; dy++) {\n for (var dx = -4; dx <= 4; dx++) {\n var dist = Math.max(Math.abs(dx), Math.abs(dy)); // Chebyshev/infinity norm\n var xx = x + dx;\n var yy = y + dy;\n if (0 <= xx && xx < this.size && 0 <= yy && yy < this.size)\n this.setFunctionModule(xx, yy, dist != 2 && dist != 4);\n }\n }\n };\n // Draws a 5*5 alignment pattern, with the center module\n // at (x, y). All modules must be in bounds.\n QrCode.prototype.drawAlignmentPattern = function (x, y) {\n for (var dy = -2; dy <= 2; dy++) {\n for (var dx = -2; dx <= 2; dx++)\n this.setFunctionModule(x + dx, y + dy, Math.max(Math.abs(dx), Math.abs(dy)) != 1);\n }\n };\n // Sets the color of a module and marks it as a function module.\n // Only used by the constructor. Coordinates must be in bounds.\n QrCode.prototype.setFunctionModule = function (x, y, isDark) {\n this.modules[y][x] = isDark;\n this.isFunction[y][x] = true;\n };\n /*-- Private helper methods for constructor: Codewords and masking --*/\n // Returns a new byte string representing the given data with the appropriate error correction\n // codewords appended to it, based on this object's version and error correction level.\n QrCode.prototype.addEccAndInterleave = function (data) {\n var ver = this.version;\n var ecl = this.errorCorrectionLevel;\n if (data.length != QrCode.getNumDataCodewords(ver, ecl))\n throw new RangeError(\"Invalid argument\");\n // Calculate parameter numbers\n var numBlocks = QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];\n var blockEccLen = QrCode.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver];\n var rawCodewords = Math.floor(QrCode.getNumRawDataModules(ver) / 8);\n var numShortBlocks = numBlocks - rawCodewords % numBlocks;\n var shortBlockLen = Math.floor(rawCodewords / numBlocks);\n // Split data into blocks and append ECC to each block\n var blocks = [];\n var rsDiv = QrCode.reedSolomonComputeDivisor(blockEccLen);\n for (var i = 0, k = 0; i < numBlocks; i++) {\n var dat = data.slice(k, k + shortBlockLen - blockEccLen + (i < numShortBlocks ? 0 : 1));\n k += dat.length;\n var ecc = QrCode.reedSolomonComputeRemainder(dat, rsDiv);\n if (i < numShortBlocks)\n dat.push(0);\n blocks.push(dat.concat(ecc));\n }\n // Interleave (not concatenate) the bytes from every block into a single sequence\n var result = [];\n var _loop_1 = function (i) {\n blocks.forEach(function (block, j) {\n // Skip the padding byte in short blocks\n if (i != shortBlockLen - blockEccLen || j >= numShortBlocks)\n result.push(block[i]);\n });\n };\n for (var i = 0; i < blocks[0].length; i++) {\n _loop_1(i);\n }\n assert(result.length == rawCodewords);\n return result;\n };\n // Draws the given sequence of 8-bit codewords (data and error correction) onto the entire\n // data area of this QR Code. Function modules need to be marked off before this is called.\n QrCode.prototype.drawCodewords = function (data) {\n if (data.length != Math.floor(QrCode.getNumRawDataModules(this.version) / 8))\n throw new RangeError(\"Invalid argument\");\n var i = 0; // Bit index into the data\n // Do the funny zigzag scan\n for (var right = this.size - 1; right >= 1; right -= 2) { // Index of right column in each column pair\n if (right == 6)\n right = 5;\n for (var vert = 0; vert < this.size; vert++) { // Vertical counter\n for (var j = 0; j < 2; j++) {\n var x = right - j; // Actual x coordinate\n var upward = ((right + 1) & 2) == 0;\n var y = upward ? this.size - 1 - vert : vert; // Actual y coordinate\n if (!this.isFunction[y][x] && i < data.length * 8) {\n this.modules[y][x] = getBit(data[i >>> 3], 7 - (i & 7));\n i++;\n }\n // If this QR Code has any remainder bits (0 to 7), they were assigned as\n // 0/false/light by the constructor and are left unchanged by this method\n }\n }\n }\n assert(i == data.length * 8);\n };\n // XORs the codeword modules in this QR Code with the given mask pattern.\n // The function modules must be marked and the codeword bits must be drawn\n // before masking. Due to the arithmetic of XOR, calling applyMask() with\n // the same mask value a second time will undo the mask. A final well-formed\n // QR Code needs exactly one (not zero, two, etc.) mask applied.\n QrCode.prototype.applyMask = function (mask) {\n if (mask < 0 || mask > 7)\n throw new RangeError(\"Mask value out of range\");\n for (var y = 0; y < this.size; y++) {\n for (var x = 0; x < this.size; x++) {\n var invert = void 0;\n switch (mask) {\n case 0:\n invert = (x + y) % 2 == 0;\n break;\n case 1:\n invert = y % 2 == 0;\n break;\n case 2:\n invert = x % 3 == 0;\n break;\n case 3:\n invert = (x + y) % 3 == 0;\n break;\n case 4:\n invert = (Math.floor(x / 3) + Math.floor(y / 2)) % 2 == 0;\n break;\n case 5:\n invert = x * y % 2 + x * y % 3 == 0;\n break;\n case 6:\n invert = (x * y % 2 + x * y % 3) % 2 == 0;\n break;\n case 7:\n invert = ((x + y) % 2 + x * y % 3) % 2 == 0;\n break;\n default: throw new Error(\"Unreachable\");\n }\n if (!this.isFunction[y][x] && invert)\n this.modules[y][x] = !this.modules[y][x];\n }\n }\n };\n // Calculates and returns the penalty score based on state of this QR Code's current modules.\n // This is used by the automatic mask choice algorithm to find the mask pattern that yields the lowest score.\n QrCode.prototype.getPenaltyScore = function () {\n var result = 0;\n // Adjacent modules in row having same color, and finder-like patterns\n for (var y = 0; y < this.size; y++) {\n var runColor = false;\n var runX = 0;\n var runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (var x = 0; x < this.size; x++) {\n if (this.modules[y][x] == runColor) {\n runX++;\n if (runX == 5)\n result += QrCode.PENALTY_N1;\n else if (runX > 5)\n result++;\n }\n else {\n this.finderPenaltyAddHistory(runX, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * QrCode.PENALTY_N3;\n runColor = this.modules[y][x];\n runX = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runX, runHistory) * QrCode.PENALTY_N3;\n }\n // Adjacent modules in column having same color, and finder-like patterns\n for (var x = 0; x < this.size; x++) {\n var runColor = false;\n var runY = 0;\n var runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (var y = 0; y < this.size; y++) {\n if (this.modules[y][x] == runColor) {\n runY++;\n if (runY == 5)\n result += QrCode.PENALTY_N1;\n else if (runY > 5)\n result++;\n }\n else {\n this.finderPenaltyAddHistory(runY, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * QrCode.PENALTY_N3;\n runColor = this.modules[y][x];\n runY = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runY, runHistory) * QrCode.PENALTY_N3;\n }\n // 2*2 blocks of modules having same color\n for (var y = 0; y < this.size - 1; y++) {\n for (var x = 0; x < this.size - 1; x++) {\n var color = this.modules[y][x];\n if (color == this.modules[y][x + 1] &&\n color == this.modules[y + 1][x] &&\n color == this.modules[y + 1][x + 1])\n result += QrCode.PENALTY_N2;\n }\n }\n // Balance of dark and light modules\n var dark = 0;\n for (var _i = 0, _a = this.modules; _i < _a.length; _i++) {\n var row = _a[_i];\n dark = row.reduce(function (sum, color) { return sum + (color ? 1 : 0); }, dark);\n }\n var total = this.size * this.size; // Note that size is odd, so dark/total != 1/2\n // Compute the smallest integer k >= 0 such that (45-5k)% <= dark/total <= (55+5k)%\n var k = Math.ceil(Math.abs(dark * 20 - total * 10) / total) - 1;\n assert(0 <= k && k <= 9);\n result += k * QrCode.PENALTY_N4;\n assert(0 <= result && result <= 2568888); // Non-tight upper bound based on default values of PENALTY_N1, ..., N4\n return result;\n };\n /*-- Private helper functions --*/\n // Returns an ascending list of positions of alignment patterns for this version number.\n // Each position is in the range [0,177), and are used on both the x and y axes.\n // This could be implemented as lookup table of 40 variable-length lists of integers.\n QrCode.prototype.getAlignmentPatternPositions = function () {\n if (this.version == 1)\n return [];\n else {\n var numAlign = Math.floor(this.version / 7) + 2;\n var step = Math.floor((this.version * 8 + numAlign * 3 + 5) / (numAlign * 4 - 4)) * 2;\n var result = [6];\n for (var pos = this.size - 7; result.length < numAlign; pos -= step)\n result.splice(1, 0, pos);\n return result;\n }\n };\n // Returns the number of data bits that can be stored in a QR Code of the given version number, after\n // all function modules are excluded. This includes remainder bits, so it might not be a multiple of 8.\n // The result is in the range [208, 29648]. This could be implemented as a 40-entry lookup table.\n QrCode.getNumRawDataModules = function (ver) {\n if (ver < QrCode.MIN_VERSION || ver > QrCode.MAX_VERSION)\n throw new RangeError(\"Version number out of range\");\n var result = (16 * ver + 128) * ver + 64;\n if (ver >= 2) {\n var numAlign = Math.floor(ver / 7) + 2;\n result -= (25 * numAlign - 10) * numAlign - 55;\n if (ver >= 7)\n result -= 36;\n }\n assert(208 <= result && result <= 29648);\n return result;\n };\n // Returns the number of 8-bit data (i.e. not error correction) codewords contained in any\n // QR Code of the given version number and error correction level, with remainder bits discarded.\n // This stateless pure function could be implemented as a (40*4)-cell lookup table.\n QrCode.getNumDataCodewords = function (ver, ecl) {\n return Math.floor(QrCode.getNumRawDataModules(ver) / 8) -\n QrCode.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver] *\n QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];\n };\n // Returns a Reed-Solomon ECC generator polynomial for the given degree. This could be\n // implemented as a lookup table over all possible parameter values, instead of as an algorithm.\n QrCode.reedSolomonComputeDivisor = function (degree) {\n if (degree < 1 || degree > 255)\n throw new RangeError(\"Degree out of range\");\n // Polynomial coefficients are stored from highest to lowest power, excluding the leading term which is always 1.\n // For example the polynomial x^3 + 255x^2 + 8x + 93 is stored as the uint8 array [255, 8, 93].\n var result = [];\n for (var i = 0; i < degree - 1; i++)\n result.push(0);\n result.push(1); // Start off with the monomial x^0\n // Compute the product polynomial (x - r^0) * (x - r^1) * (x - r^2) * ... * (x - r^{degree-1}),\n // and drop the highest monomial term which is always 1x^degree.\n // Note that r = 0x02, which is a generator element of this field GF(2^8/0x11D).\n var root = 1;\n for (var i = 0; i < degree; i++) {\n // Multiply the current product by (x - r^i)\n for (var j = 0; j < result.length; j++) {\n result[j] = QrCode.reedSolomonMultiply(result[j], root);\n if (j + 1 < result.length)\n result[j] ^= result[j + 1];\n }\n root = QrCode.reedSolomonMultiply(root, 0x02);\n }\n return result;\n };\n // Returns the Reed-Solomon error correction codeword for the given data and divisor polynomials.\n QrCode.reedSolomonComputeRemainder = function (data, divisor) {\n var result = divisor.map(function (_) { return 0; });\n var _loop_2 = function (b) {\n var factor = b ^ result.shift();\n result.push(0);\n divisor.forEach(function (coef, i) {\n return result[i] ^= QrCode.reedSolomonMultiply(coef, factor);\n });\n };\n for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {\n var b = data_1[_i];\n _loop_2(b);\n }\n return result;\n };\n // Returns the product of the two given field elements modulo GF(2^8/0x11D). The arguments and result\n // are unsigned 8-bit integers. This could be implemented as a lookup table of 256*256 entries of uint8.\n QrCode.reedSolomonMultiply = function (x, y) {\n if (x >>> 8 != 0 || y >>> 8 != 0)\n throw new RangeError(\"Byte out of range\");\n // Russian peasant multiplication\n var z = 0;\n for (var i = 7; i >= 0; i--) {\n z = (z << 1) ^ ((z >>> 7) * 0x11D);\n z ^= ((y >>> i) & 1) * x;\n }\n assert(z >>> 8 == 0);\n return z;\n };\n // Can only be called immediately after a light run is added, and\n // returns either 0, 1, or 2. A helper function for getPenaltyScore().\n QrCode.prototype.finderPenaltyCountPatterns = function (runHistory) {\n var n = runHistory[1];\n assert(n <= this.size * 3);\n var core = n > 0 && runHistory[2] == n && runHistory[3] == n * 3 && runHistory[4] == n && runHistory[5] == n;\n return (core && runHistory[0] >= n * 4 && runHistory[6] >= n ? 1 : 0)\n + (core && runHistory[6] >= n * 4 && runHistory[0] >= n ? 1 : 0);\n };\n // Must be called at the end of a line (row or column) of modules. A helper function for getPenaltyScore().\n QrCode.prototype.finderPenaltyTerminateAndCount = function (currentRunColor, currentRunLength, runHistory) {\n if (currentRunColor) { // Terminate dark run\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n currentRunLength = 0;\n }\n currentRunLength += this.size; // Add light border to final run\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n return this.finderPenaltyCountPatterns(runHistory);\n };\n // Pushes the given value to the front and drops the last value. A helper function for getPenaltyScore().\n QrCode.prototype.finderPenaltyAddHistory = function (currentRunLength, runHistory) {\n if (runHistory[0] == 0)\n currentRunLength += this.size; // Add light border to initial run\n runHistory.pop();\n runHistory.unshift(currentRunLength);\n };\n /*-- Constants and tables --*/\n // The minimum version number supported in the QR Code Model 2 standard.\n QrCode.MIN_VERSION = 1;\n // The maximum version number supported in the QR Code Model 2 standard.\n QrCode.MAX_VERSION = 40;\n // For use in getPenaltyScore(), when evaluating which mask is best.\n QrCode.PENALTY_N1 = 3;\n QrCode.PENALTY_N2 = 3;\n QrCode.PENALTY_N3 = 40;\n QrCode.PENALTY_N4 = 10;\n QrCode.ECC_CODEWORDS_PER_BLOCK = [\n // Version: (note that index 0 is for padding, and is set to an illegal value)\n //0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 Error correction level\n [-1, 7, 10, 15, 20, 26, 18, 20, 24, 30, 18, 20, 24, 26, 30, 22, 24, 28, 30, 28, 28, 28, 28, 30, 30, 26, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30], // Low\n [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28], // Medium\n [-1, 13, 22, 18, 26, 18, 24, 18, 22, 20, 24, 28, 26, 24, 20, 30, 24, 28, 28, 26, 30, 28, 30, 30, 30, 30, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30], // Quartile\n [-1, 17, 28, 22, 16, 22, 28, 26, 26, 24, 28, 24, 28, 22, 24, 24, 30, 28, 28, 26, 28, 30, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30], // High\n ];\n QrCode.NUM_ERROR_CORRECTION_BLOCKS = [\n // Version: (note that index 0 is for padding, and is set to an illegal value)\n //0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 Error correction level\n [-1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12, 12, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 24, 25], // Low\n [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49], // Medium\n [-1, 1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23, 25, 27, 29, 34, 34, 35, 38, 40, 43, 45, 48, 51, 53, 56, 59, 62, 65, 68], // Quartile\n [-1, 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81], // High\n ];\n return QrCode;\n }());\n qrcodegen.QrCode = QrCode;\n // Appends the given number of low-order bits of the given value\n // to the given buffer. Requires 0 <= len <= 31 and 0 <= val < 2^len.\n function appendBits(val, len, bb) {\n if (len < 0 || len > 31 || val >>> len != 0)\n throw new RangeError(\"Value out of range\");\n for (var i = len - 1; i >= 0; i--) // Append bit by bit\n bb.push((val >>> i) & 1);\n }\n // Returns true iff the i'th bit of x is set to 1.\n function getBit(x, i) {\n return ((x >>> i) & 1) != 0;\n }\n // Throws an exception if the given condition is false.\n function assert(cond) {\n if (!cond)\n throw new Error(\"Assertion error\");\n }\n /*---- Data segment class ----*/\n /*\n * A segment of character/binary/control data in a QR Code symbol.\n * Instances of this class are immutable.\n * The mid-level way to create a segment is to take the payload data\n * and call a static factory function such as QrSegment.makeNumeric().\n * The low-level way to create a segment is to custom-make the bit buffer\n * and call the QrSegment() constructor with appropriate values.\n * This segment class imposes no length restrictions, but QR Codes have restrictions.\n * Even in the most favorable conditions, a QR Code can only hold 7089 characters of data.\n * Any segment longer than this is meaningless for the purpose of generating QR Codes.\n */\n var QrSegment = /** @class */ (function () {\n /*-- Constructor (low level) and fields --*/\n // Creates a new QR Code segment with the given attributes and data.\n // The character count (numChars) must agree with the mode and the bit buffer length,\n // but the constraint isn't checked. The given bit buffer is cloned and stored.\n function QrSegment(\n // The mode indicator of this segment.\n mode, \n // The length of this segment's unencoded data. Measured in characters for\n // numeric/alphanumeric/kanji mode, bytes for byte mode, and 0 for ECI mode.\n // Always zero or positive. Not the same as the data's bit length.\n numChars, \n // The data bits of this segment. Accessed through getData().\n bitData) {\n this.mode = mode;\n this.numChars = numChars;\n this.bitData = bitData;\n if (numChars < 0)\n throw new RangeError(\"Invalid argument\");\n this.bitData = bitData.slice(); // Make defensive copy\n }\n /*-- Static factory functions (mid level) --*/\n // Returns a segment representing the given binary data encoded in\n // byte mode. All input byte arrays are acceptable. Any text string\n // can be converted to UTF-8 bytes and encoded as a byte mode segment.\n QrSegment.makeBytes = function (data) {\n var bb = [];\n for (var _i = 0, data_2 = data; _i < data_2.length; _i++) {\n var b = data_2[_i];\n appendBits(b, 8, bb);\n }\n return new QrSegment(QrSegment.Mode.BYTE, data.length, bb);\n };\n // Returns a segment representing the given string of decimal digits encoded in numeric mode.\n QrSegment.makeNumeric = function (digits) {\n if (!QrSegment.isNumeric(digits))\n throw new RangeError(\"String contains non-numeric characters\");\n var bb = [];\n for (var i = 0; i < digits.length;) { // Consume up to 3 digits per iteration\n var n = Math.min(digits.length - i, 3);\n appendBits(parseInt(digits.substring(i, i + n), 10), n * 3 + 1, bb);\n i += n;\n }\n return new QrSegment(QrSegment.Mode.NUMERIC, digits.length, bb);\n };\n // Returns a segment representing the given text string encoded in alphanumeric mode.\n // The characters allowed are: 0 to 9, A to Z (uppercase only), space,\n // dollar, percent, asterisk, plus, hyphen, period, slash, colon.\n QrSegment.makeAlphanumeric = function (text) {\n if (!QrSegment.isAlphanumeric(text))\n throw new RangeError(\"String contains unencodable characters in alphanumeric mode\");\n var bb = [];\n var i;\n for (i = 0; i + 2 <= text.length; i += 2) { // Process groups of 2\n var temp = QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)) * 45;\n temp += QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i + 1));\n appendBits(temp, 11, bb);\n }\n if (i < text.length) // 1 character remaining\n appendBits(QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)), 6, bb);\n return new QrSegment(QrSegment.Mode.ALPHANUMERIC, text.length, bb);\n };\n // Returns a new mutable list of zero or more segments to represent the given Unicode text string.\n // The result may use various segment modes and switch modes to optimize the length of the bit stream.\n QrSegment.makeSegments = function (text) {\n // Select the most efficient segment encoding automatically\n if (text == \"\")\n return [];\n else if (QrSegment.isNumeric(text))\n return [QrSegment.makeNumeric(text)];\n else if (QrSegment.isAlphanumeric(text))\n return [QrSegment.makeAlphanumeric(text)];\n else\n return [QrSegment.makeBytes(QrSegment.toUtf8ByteArray(text))];\n };\n // Returns a segment representing an Extended Channel Interpretation\n // (ECI) designator with the given assignment value.\n QrSegment.makeEci = function (assignVal) {\n var bb = [];\n if (assignVal < 0)\n throw new RangeError(\"ECI assignment value out of range\");\n else if (assignVal < (1 << 7))\n appendBits(assignVal, 8, bb);\n else if (assignVal < (1 << 14)) {\n appendBits(2, 2, bb);\n appendBits(assignVal, 14, bb);\n }\n else if (assignVal < 1000000) {\n appendBits(6, 3, bb);\n appendBits(assignVal, 21, bb);\n }\n else\n throw new RangeError(\"ECI assignment value out of range\");\n return new QrSegment(QrSegment.Mode.ECI, 0, bb);\n };\n // Tests whether the given string can be encoded as a segment in numeric mode.\n // A string is encodable iff each character is in the range 0 to 9.\n QrSegment.isNumeric = function (text) {\n return QrSegment.NUMERIC_REGEX.test(text);\n };\n // Tests whether the given string can be encoded as a segment in alphanumeric mode.\n // A string is encodable iff each character is in the following set: 0 to 9, A to Z\n // (uppercase only), space, dollar, percent, asterisk, plus, hyphen, period, slash, colon.\n QrSegment.isAlphanumeric = function (text) {\n return QrSegment.ALPHANUMERIC_REGEX.test(text);\n };\n /*-- Methods --*/\n // Returns a new copy of the data bits of this segment.\n QrSegment.prototype.getData = function () {\n return this.bitData.slice(); // Make defensive copy\n };\n // (Package-private) Calculates and returns the number of bits needed to encode the given segments at\n // the given version. The result is infinity if a segment has too many characters to fit its length field.\n QrSegment.getTotalBits = function (segs, version) {\n var result = 0;\n for (var _i = 0, segs_2 = segs; _i < segs_2.length; _i++) {\n var seg = segs_2[_i];\n var ccbits = seg.mode.numCharCountBits(version);\n if (seg.numChars >= (1 << ccbits))\n return Infinity; // The segment's length doesn't fit the field's bit width\n result += 4 + ccbits + seg.bitData.length;\n }\n return result;\n };\n // Returns a new array of bytes representing the given string encoded in UTF-8.\n QrSegment.toUtf8ByteArray = function (str) {\n str = encodeURI(str);\n var result = [];\n for (var i = 0; i < str.length; i++) {\n if (str.charAt(i) != \"%\")\n result.push(str.charCodeAt(i));\n else {\n result.push(parseInt(str.substring(i + 1, i + 3), 16));\n i += 2;\n }\n }\n return result;\n };\n /*-- Constants --*/\n // Describes precisely all strings that are encodable in numeric mode.\n QrSegment.NUMERIC_REGEX = /^[0-9]*$/;\n // Describes precisely all strings that are encodable in alphanumeric mode.\n QrSegment.ALPHANUMERIC_REGEX = /^[A-Z0-9 $%*+.\\/:-]*$/;\n // The set of all legal characters in alphanumeric mode,\n // where each character value maps to the index in the string.\n QrSegment.ALPHANUMERIC_CHARSET = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:\";\n return QrSegment;\n }());\n qrcodegen.QrSegment = QrSegment;\n})(qrcodegen || (qrcodegen = {}));\n/*---- Public helper enumeration ----*/\n(function (qrcodegen) {\n (function (QrCode) {\n /*\n * The error correction level in a QR Code symbol. Immutable.\n */\n var Ecc = /** @class */ (function () {\n /*-- Constructor and fields --*/\n function Ecc(\n // In the range 0 to 3 (unsigned 2-bit integer).\n ordinal, \n // (Package-private) In the range 0 to 3 (unsigned 2-bit integer).\n formatBits) {\n this.ordinal = ordinal;\n this.formatBits = formatBits;\n }\n /*-- Constants --*/\n Ecc.LOW = new Ecc(0, 1); // The QR Code can tolerate about 7% erroneous codewords\n Ecc.MEDIUM = new Ecc(1, 0); // The QR Code can tolerate about 15% erroneous codewords\n Ecc.QUARTILE = new Ecc(2, 3); // The QR Code can tolerate about 25% erroneous codewords\n Ecc.HIGH = new Ecc(3, 2); // The QR Code can tolerate about 30% erroneous codewords\n return Ecc;\n }());\n QrCode.Ecc = Ecc;\n })(qrcodegen.QrCode || (qrcodegen.QrCode = {}));\n})(qrcodegen || (qrcodegen = {}));\n/*---- Public helper enumeration ----*/\n(function (qrcodegen) {\n (function (QrSegment) {\n /*\n * Describes how a segment's data bits are interpreted. Immutable.\n */\n var Mode = /** @class */ (function () {\n /*-- Constructor and fields --*/\n function Mode(\n // The mode indicator bits, which is a uint4 value (range 0 to 15).\n modeBits, \n // Number of character count bits for three different version ranges.\n numBitsCharCount) {\n this.modeBits = modeBits;\n this.numBitsCharCount = numBitsCharCount;\n }\n /*-- Method --*/\n // (Package-private) Returns the bit width of the character count field for a segment in\n // this mode in a QR Code at the given version number. The result is in the range [0, 16].\n Mode.prototype.numCharCountBits = function (ver) {\n return this.numBitsCharCount[Math.floor((ver + 7) / 17)];\n };\n /*-- Constants --*/\n Mode.NUMERIC = new Mode(0x1, [10, 12, 14]);\n Mode.ALPHANUMERIC = new Mode(0x2, [9, 11, 13]);\n Mode.BYTE = new Mode(0x4, [8, 16, 16]);\n Mode.KANJI = new Mode(0x8, [8, 10, 12]);\n Mode.ECI = new Mode(0x7, [0, 0, 0]);\n return Mode;\n }());\n QrSegment.Mode = Mode;\n })(qrcodegen.QrSegment || (qrcodegen.QrSegment = {}));\n})(qrcodegen || (qrcodegen = {}));\nvar QR = qrcodegen;\n\nvar defaultErrorCorrectLevel = 'L';\nvar ErrorCorrectLevelMap = {\n L: QR.QrCode.Ecc.LOW,\n M: QR.QrCode.Ecc.MEDIUM,\n Q: QR.QrCode.Ecc.QUARTILE,\n H: QR.QrCode.Ecc.HIGH,\n};\n// Thanks the `qrcode.react`\nvar SUPPORTS_PATH2D = (function () {\n try {\n new Path2D().addPath(new Path2D());\n }\n catch (e) {\n return false;\n }\n return true;\n})();\nfunction validErrorCorrectLevel(level) {\n return level in ErrorCorrectLevelMap;\n}\nfunction generatePath(modules, margin) {\n if (margin === void 0) { margin = 0; }\n var ops = [];\n modules.forEach(function (row, y) {\n var start = null;\n row.forEach(function (cell, x) {\n if (!cell && start !== null) {\n // M0 0h7v1H0z injects the space with the move and drops the comma,\n // saving a char per operation\n ops.push(\"M\".concat(start + margin, \" \").concat(y + margin, \"h\").concat(x - start, \"v1H\").concat(start + margin, \"z\"));\n start = null;\n return;\n }\n // end of row, clean up or skip\n if (x === row.length - 1) {\n if (!cell) {\n // We would have closed the op above already so this can only mean\n // 2+ light modules in a row.\n return;\n }\n if (start === null) {\n // Just a single dark module.\n ops.push(\"M\".concat(x + margin, \",\").concat(y + margin, \" h1v1H\").concat(x + margin, \"z\"));\n }\n else {\n // Otherwise finish the current line.\n ops.push(\"M\".concat(start + margin, \",\").concat(y + margin, \" h\").concat(x + 1 - start, \"v1H\").concat(start + margin, \"z\"));\n }\n return;\n }\n if (cell && start === null) {\n start = x;\n }\n });\n });\n return ops.join('');\n}\nfunction getImageSettings(cells, size, margin, imageSettings) {\n var width = imageSettings.width, height = imageSettings.height, imageX = imageSettings.x, imageY = imageSettings.y;\n var numCells = cells.length + margin * 2;\n var defaultSize = Math.floor(size * 0.1);\n var scale = numCells / size;\n var w = (width || defaultSize) * scale;\n var h = (height || defaultSize) * scale;\n var x = imageX == null ? cells.length / 2 - w / 2 : imageX * scale;\n var y = imageY == null ? cells.length / 2 - h / 2 : imageY * scale;\n var excavation = null;\n if (imageSettings.excavate) {\n var floorX = Math.floor(x);\n var floorY = Math.floor(y);\n var ceilW = Math.ceil(w + x - floorX);\n var ceilH = Math.ceil(h + y - floorY);\n excavation = { x: floorX, y: floorY, w: ceilW, h: ceilH };\n }\n return { x: x, y: y, h: h, w: w, excavation: excavation };\n}\nfunction excavateModules(modules, excavation) {\n return modules.slice().map(function (row, y) {\n if (y < excavation.y || y >= excavation.y + excavation.h) {\n return row;\n }\n return row.map(function (cell, x) {\n if (x < excavation.x || x >= excavation.x + excavation.w) {\n return cell;\n }\n return false;\n });\n });\n}\nvar QRCodeProps = {\n value: {\n type: String,\n required: true,\n default: '',\n },\n size: {\n type: Number,\n default: 100,\n },\n level: {\n type: String,\n default: defaultErrorCorrectLevel,\n validator: function (l) { return validErrorCorrectLevel(l); },\n },\n background: {\n type: String,\n default: '#fff',\n },\n foreground: {\n type: String,\n default: '#000',\n },\n margin: {\n type: Number,\n required: false,\n default: 0,\n },\n imageSettings: {\n type: Object,\n required: false,\n default: function () { return ({}); },\n },\n gradient: {\n type: Boolean,\n required: false,\n default: false,\n },\n gradientType: {\n type: String,\n required: false,\n default: 'linear',\n validator: function (t) { return ['linear', 'radial'].indexOf(t) > -1; },\n },\n gradientStartColor: {\n type: String,\n required: false,\n default: '#000',\n },\n gradientEndColor: {\n type: String,\n required: false,\n default: '#fff',\n },\n};\nvar QRCodeVueProps = __assign(__assign({}, QRCodeProps), { renderAs: {\n type: String,\n required: false,\n default: 'canvas',\n validator: function (as) { return ['canvas', 'svg'].indexOf(as) > -1; },\n } });\nvar QrcodeSvg = defineComponent({\n name: 'QRCodeSvg',\n props: QRCodeProps,\n setup: function (props) {\n var numCells = ref(0);\n var fgPath = ref('');\n var imageProps;\n var generate = function () {\n var value = props.value, _level = props.level, _margin = props.margin;\n var margin = _margin >>> 0;\n var level = validErrorCorrectLevel(_level) ? _level : defaultErrorCorrectLevel;\n var cells = QR.QrCode.encodeText(value, ErrorCorrectLevelMap[level]).getModules();\n numCells.value = cells.length + margin * 2;\n if (props.imageSettings.src) {\n var imageSettings = getImageSettings(cells, props.size, margin, props.imageSettings);\n imageProps = {\n x: imageSettings.x + margin,\n y: imageSettings.y + margin,\n width: imageSettings.w,\n height: imageSettings.h,\n };\n if (imageSettings.excavation) {\n cells = excavateModules(cells, imageSettings.excavation);\n }\n }\n // Drawing strategy: instead of a rect per module, we're going to create a\n // single path for the dark modules and layer that on top of a light rect,\n // for a total of 2 DOM nodes. We pay a bit more in string concat but that's\n // way faster than DOM ops.\n // For level 1, 441 nodes -> 2\n // For level 40, 31329 -> 2\n fgPath.value = generatePath(cells, margin);\n };\n var renderGradient = function () {\n if (!props.gradient)\n return null;\n var gradientProps = props.gradientType === 'linear'\n ? {\n x1: '0%',\n y1: '0%',\n x2: '100%',\n y2: '100%',\n }\n : {\n cx: '50%',\n cy: '50%',\n r: '50%',\n fx: '50%',\n fy: '50%',\n };\n return h(props.gradientType === 'linear' ? 'linearGradient' : 'radialGradient', __assign({ id: 'qr-gradient' }, gradientProps), [\n h('stop', {\n offset: '0%',\n style: { stopColor: props.gradientStartColor },\n }),\n h('stop', {\n offset: '100%',\n style: { stopColor: props.gradientEndColor },\n }),\n ]);\n };\n generate();\n onUpdated(generate);\n return function () { return h('svg', {\n width: props.size,\n height: props.size,\n 'shape-rendering': \"crispEdges\",\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: \"0 0 \".concat(numCells.value, \" \").concat(numCells.value),\n }, [\n h('defs', {}, [renderGradient()]),\n h('rect', {\n width: '100%',\n height: '100%',\n fill: props.background,\n }),\n h('path', {\n fill: props.gradient ? 'url(#qr-gradient)' : props.foreground,\n d: fgPath.value,\n }),\n props.imageSettings.src && h('image', __assign({ href: props.imageSettings.src }, imageProps)),\n ]); };\n },\n});\nvar QrcodeCanvas = defineComponent({\n name: 'QRCodeCanvas',\n props: QRCodeProps,\n setup: function (props, ctx) {\n var canvasEl = ref(null);\n var imageRef = ref(null);\n var generate = function () {\n var value = props.value, _level = props.level, size = props.size, _margin = props.margin, background = props.background, foreground = props.foreground, gradient = props.gradient, gradientType = props.gradientType, gradientStartColor = props.gradientStartColor, gradientEndColor = props.gradientEndColor;\n var margin = _margin >>> 0;\n var level = validErrorCorrectLevel(_level) ? _level : defaultErrorCorrectLevel;\n var canvas = canvasEl.value;\n if (!canvas) {\n return;\n }\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return;\n }\n var cells = QR.QrCode.encodeText(value, ErrorCorrectLevelMap[level]).getModules();\n var numCells = cells.length + margin * 2;\n var image = imageRef.value;\n var imageProps = { x: 0, y: 0, width: 0, height: 0 };\n var showImage = props.imageSettings.src && image != null && image.naturalWidth !== 0 && image.naturalHeight !== 0;\n if (showImage) {\n var imageSettings = getImageSettings(cells, props.size, margin, props.imageSettings);\n imageProps = {\n x: imageSettings.x + margin,\n y: imageSettings.y + margin,\n width: imageSettings.w,\n height: imageSettings.h,\n };\n if (imageSettings.excavation) {\n cells = excavateModules(cells, imageSettings.excavation);\n }\n }\n var devicePixelRatio = window.devicePixelRatio || 1;\n var scale = (size / numCells) * devicePixelRatio;\n canvas.height = canvas.width = size * devicePixelRatio;\n ctx.scale(scale, scale);\n ctx.fillStyle = background;\n ctx.fillRect(0, 0, numCells, numCells);\n if (gradient) {\n var grad = void 0;\n if (gradientType === 'linear') {\n grad = ctx.createLinearGradient(0, 0, numCells, numCells);\n }\n else {\n grad = ctx.createRadialGradient(numCells / 2, numCells / 2, 0, numCells / 2, numCells / 2, numCells / 2);\n }\n grad.addColorStop(0, gradientStartColor);\n grad.addColorStop(1, gradientEndColor);\n ctx.fillStyle = grad;\n }\n else {\n ctx.fillStyle = foreground;\n }\n if (SUPPORTS_PATH2D) {\n ctx.fill(new Path2D(generatePath(cells, margin)));\n }\n else {\n cells.forEach(function (row, rdx) {\n row.forEach(function (cell, cdx) {\n if (cell) {\n ctx.fillRect(cdx + margin, rdx + margin, 1, 1);\n }\n });\n });\n }\n if (showImage) {\n ctx.drawImage(image, imageProps.x, imageProps.y, imageProps.width, imageProps.height);\n }\n };\n onMounted(generate);\n onUpdated(generate);\n var style = ctx.attrs.style;\n return function () { return h(Fragment, [\n h('canvas', __assign(__assign({}, ctx.attrs), { ref: canvasEl, style: __assign(__assign({}, style), { width: \"\".concat(props.size, \"px\"), height: \"\".concat(props.size, \"px\") }) })),\n props.imageSettings.src && h('img', {\n ref: imageRef,\n src: props.imageSettings.src,\n style: { display: 'none' },\n onLoad: generate,\n })\n ]); };\n },\n});\nvar QrcodeVue = defineComponent({\n name: 'Qrcode',\n render: function () {\n var _a = this.$props, renderAs = _a.renderAs, value = _a.value, size = _a.size, margin = _a.margin, level = _a.level, background = _a.background, foreground = _a.foreground, imageSettings = _a.imageSettings, gradient = _a.gradient, gradientType = _a.gradientType, gradientStartColor = _a.gradientStartColor, gradientEndColor = _a.gradientEndColor;\n return h(renderAs === 'svg' ? QrcodeSvg : QrcodeCanvas, {\n value: value,\n size: size,\n margin: margin,\n level: level,\n background: background,\n foreground: foreground,\n imageSettings: imageSettings,\n gradient: gradient,\n gradientType: gradientType,\n gradientStartColor: gradientStartColor,\n gradientEndColor: gradientEndColor,\n });\n },\n props: QRCodeVueProps,\n});\n\nexport { QrcodeCanvas, QrcodeSvg, QrcodeVue as default };\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","import { defineStore } from 'pinia'\r\nimport { useUserStore } from '@/stores/user.js'\r\nimport { post } from '@/common/request'\r\nimport { url } from '@/common/config'\r\n\r\nexport const useMillionStore = defineStore('million', {\r\n state: () => {\r\n return {\r\n ccc: ''\r\n }\r\n },\r\n getters: {\r\n country() {\r\n return useUserStore().country\r\n }\r\n },\r\n actions: {\r\n global() {\r\n return post(url.Million.global)\r\n },\r\n spinRequest(query) {\r\n return post(url.Million.spin, query)\r\n },\r\n cost() {\r\n return post(url.Million.cost)\r\n },\r\n myCode() {\r\n return post(url.Million.myCode)\r\n },\r\n winnerRrcord(query) {\r\n return post(url.Million.rewards, query)\r\n },\r\n record(query) {\r\n return post(url.Million.record, query)\r\n },\r\n history(query) {\r\n return post(url.Million.history, query)\r\n }\r\n }\r\n})\r\n","import { defineStore } from 'pinia'\r\nimport { useUserStore } from '@/stores/user.js'\r\nimport { post } from '@/common/request'\r\nimport { url } from '@/common/config'\r\n\r\nexport const useCashBackStore = defineStore('cashback', {\r\n state: () => {\r\n return {}\r\n },\r\n getters: {\r\n country() {\r\n return useUserStore().country\r\n }\r\n },\r\n actions: {\r\n load() {\r\n return post(url.cashback.load)\r\n },\r\n collect(configId, poolType) {\r\n return post(url.cashback.collect, { configId, poolType })\r\n },\r\n record(turnType) {\r\n return post(url.cashback.record, { turnType })\r\n },\r\n marquee() {\r\n let timestamp = new Date().getTime()\r\n return post(url.cashback.marquee, { timestamp })\r\n }\r\n }\r\n})\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","(typeof navigator !== \"undefined\") && (function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lottie = factory());\n})(this, (function () { 'use strict';\n\n var svgNS = 'http://www.w3.org/2000/svg';\n var locationHref = '';\n var _useWebWorker = false;\n var initialDefaultFrame = -999999;\n\n var setWebWorker = function setWebWorker(flag) {\n _useWebWorker = !!flag;\n };\n\n var getWebWorker = function getWebWorker() {\n return _useWebWorker;\n };\n\n var setLocationHref = function setLocationHref(value) {\n locationHref = value;\n };\n\n var getLocationHref = function getLocationHref() {\n return locationHref;\n };\n\n function createTag(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElement(type);\n }\n\n function extendPrototype(sources, destination) {\n var i;\n var len = sources.length;\n var sourcePrototype;\n\n for (i = 0; i < len; i += 1) {\n sourcePrototype = sources[i].prototype;\n\n for (var attr in sourcePrototype) {\n if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\n }\n }\n }\n\n function getDescriptor(object, prop) {\n return Object.getOwnPropertyDescriptor(object, prop);\n }\n\n function createProxyFunction(prototype) {\n function ProxyFunction() {}\n\n ProxyFunction.prototype = prototype;\n return ProxyFunction;\n }\n\n // import Howl from '../../3rd_party/howler';\n var audioControllerFactory = function () {\n function AudioController(audioFactory) {\n this.audios = [];\n this.audioFactory = audioFactory;\n this._volume = 1;\n this._isMuted = false;\n }\n\n AudioController.prototype = {\n addAudio: function addAudio(audio) {\n this.audios.push(audio);\n },\n pause: function pause() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].pause();\n }\n },\n resume: function resume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].resume();\n }\n },\n setRate: function setRate(rateValue) {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].setRate(rateValue);\n }\n },\n createAudio: function createAudio(assetPath) {\n if (this.audioFactory) {\n return this.audioFactory(assetPath);\n }\n\n if (window.Howl) {\n return new window.Howl({\n src: [assetPath]\n });\n }\n\n return {\n isPlaying: false,\n play: function play() {\n this.isPlaying = true;\n },\n seek: function seek() {\n this.isPlaying = false;\n },\n playing: function playing() {},\n rate: function rate() {},\n setVolume: function setVolume() {}\n };\n },\n setAudioFactory: function setAudioFactory(audioFactory) {\n this.audioFactory = audioFactory;\n },\n setVolume: function setVolume(value) {\n this._volume = value;\n\n this._updateVolume();\n },\n mute: function mute() {\n this._isMuted = true;\n\n this._updateVolume();\n },\n unmute: function unmute() {\n this._isMuted = false;\n\n this._updateVolume();\n },\n getVolume: function getVolume() {\n return this._volume;\n },\n _updateVolume: function _updateVolume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].volume(this._volume * (this._isMuted ? 0 : 1));\n }\n }\n };\n return function () {\n return new AudioController();\n };\n }();\n\n var createTypedArray = function () {\n function createRegularArray(type, len) {\n var i = 0;\n var arr = [];\n var value;\n\n switch (type) {\n case 'int16':\n case 'uint8c':\n value = 1;\n break;\n\n default:\n value = 1.1;\n break;\n }\n\n for (i = 0; i < len; i += 1) {\n arr.push(value);\n }\n\n return arr;\n }\n\n function createTypedArrayFactory(type, len) {\n if (type === 'float32') {\n return new Float32Array(len);\n }\n\n if (type === 'int16') {\n return new Int16Array(len);\n }\n\n if (type === 'uint8c') {\n return new Uint8ClampedArray(len);\n }\n\n return createRegularArray(type, len);\n }\n\n if (typeof Uint8ClampedArray === 'function' && typeof Float32Array === 'function') {\n return createTypedArrayFactory;\n }\n\n return createRegularArray;\n }();\n\n function createSizedArray(len) {\n return Array.apply(null, {\n length: len\n });\n }\n\n function _typeof$6(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$6 = function _typeof(obj) { return typeof obj; }; } else { _typeof$6 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$6(obj); }\n var subframeEnabled = true;\n var expressionsPlugin = null;\n var expressionsInterfaces = null;\n var idPrefix$1 = '';\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n var _shouldRoundValues = false;\n var bmPow = Math.pow;\n var bmSqrt = Math.sqrt;\n var bmFloor = Math.floor;\n var bmMax = Math.max;\n var bmMin = Math.min;\n var BMMath = {};\n\n (function () {\n var propertyNames = ['abs', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'atan2', 'ceil', 'cbrt', 'expm1', 'clz32', 'cos', 'cosh', 'exp', 'floor', 'fround', 'hypot', 'imul', 'log', 'log1p', 'log2', 'log10', 'max', 'min', 'pow', 'random', 'round', 'sign', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc', 'E', 'LN10', 'LN2', 'LOG10E', 'LOG2E', 'PI', 'SQRT1_2', 'SQRT2'];\n var i;\n var len = propertyNames.length;\n\n for (i = 0; i < len; i += 1) {\n BMMath[propertyNames[i]] = Math[propertyNames[i]];\n }\n })();\n\n function ProjectInterface$1() {\n return {};\n }\n\n BMMath.random = Math.random;\n\n BMMath.abs = function (val) {\n var tOfVal = _typeof$6(val);\n\n if (tOfVal === 'object' && val.length) {\n var absArr = createSizedArray(val.length);\n var i;\n var len = val.length;\n\n for (i = 0; i < len; i += 1) {\n absArr[i] = Math.abs(val[i]);\n }\n\n return absArr;\n }\n\n return Math.abs(val);\n };\n\n var defaultCurveSegments = 150;\n var degToRads = Math.PI / 180;\n var roundCorner = 0.5519;\n\n function roundValues(flag) {\n _shouldRoundValues = !!flag;\n }\n\n function bmRnd(value) {\n if (_shouldRoundValues) {\n return Math.round(value);\n }\n\n return value;\n }\n\n function styleDiv(element) {\n element.style.position = 'absolute';\n element.style.top = 0;\n element.style.left = 0;\n element.style.display = 'block';\n element.style.transformOrigin = '0 0';\n element.style.webkitTransformOrigin = '0 0';\n element.style.backfaceVisibility = 'visible';\n element.style.webkitBackfaceVisibility = 'visible';\n element.style.transformStyle = 'preserve-3d';\n element.style.webkitTransformStyle = 'preserve-3d';\n element.style.mozTransformStyle = 'preserve-3d';\n }\n\n function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\n this.type = type;\n this.currentTime = currentTime;\n this.totalTime = totalTime;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteEvent(type, frameMultiplier) {\n this.type = type;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n this.type = type;\n this.currentLoop = currentLoop;\n this.totalLoops = totalLoops;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n this.type = type;\n this.firstFrame = firstFrame;\n this.totalFrames = totalFrames;\n }\n\n function BMDestroyEvent(type, target) {\n this.type = type;\n this.target = target;\n }\n\n function BMRenderFrameErrorEvent(nativeError, currentTime) {\n this.type = 'renderFrameError';\n this.nativeError = nativeError;\n this.currentTime = currentTime;\n }\n\n function BMConfigErrorEvent(nativeError) {\n this.type = 'configError';\n this.nativeError = nativeError;\n }\n\n function BMAnimationConfigErrorEvent(type, nativeError) {\n this.type = type;\n this.nativeError = nativeError;\n }\n\n var createElementID = function () {\n var _count = 0;\n return function createID() {\n _count += 1;\n return idPrefix$1 + '__lottie_element_' + _count;\n };\n }();\n\n function HSVtoRGB(h, s, v) {\n var r;\n var g;\n var b;\n var i;\n var f;\n var p;\n var q;\n var t;\n i = Math.floor(h * 6);\n f = h * 6 - i;\n p = v * (1 - s);\n q = v * (1 - f * s);\n t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n\n case 5:\n r = v;\n g = p;\n b = q;\n break;\n\n default:\n break;\n }\n\n return [r, g, b];\n }\n\n function RGBtoHSV(r, g, b) {\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var d = max - min;\n var h;\n var s = max === 0 ? 0 : d / max;\n var v = max / 255;\n\n switch (max) {\n case min:\n h = 0;\n break;\n\n case r:\n h = g - b + d * (g < b ? 6 : 0);\n h /= 6 * d;\n break;\n\n case g:\n h = b - r + d * 2;\n h /= 6 * d;\n break;\n\n case b:\n h = r - g + d * 4;\n h /= 6 * d;\n break;\n\n default:\n break;\n }\n\n return [h, s, v];\n }\n\n function addSaturationToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[1] += offset;\n\n if (hsv[1] > 1) {\n hsv[1] = 1;\n } else if (hsv[1] <= 0) {\n hsv[1] = 0;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n function addBrightnessToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[2] += offset;\n\n if (hsv[2] > 1) {\n hsv[2] = 1;\n } else if (hsv[2] < 0) {\n hsv[2] = 0;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n function addHueToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[0] += offset / 360;\n\n if (hsv[0] > 1) {\n hsv[0] -= 1;\n } else if (hsv[0] < 0) {\n hsv[0] += 1;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n var rgbToHex = function () {\n var colorMap = [];\n var i;\n var hex;\n\n for (i = 0; i < 256; i += 1) {\n hex = i.toString(16);\n colorMap[i] = hex.length === 1 ? '0' + hex : hex;\n }\n\n return function (r, g, b) {\n if (r < 0) {\n r = 0;\n }\n\n if (g < 0) {\n g = 0;\n }\n\n if (b < 0) {\n b = 0;\n }\n\n return '#' + colorMap[r] + colorMap[g] + colorMap[b];\n };\n }();\n\n var setSubframeEnabled = function setSubframeEnabled(flag) {\n subframeEnabled = !!flag;\n };\n\n var getSubframeEnabled = function getSubframeEnabled() {\n return subframeEnabled;\n };\n\n var setExpressionsPlugin = function setExpressionsPlugin(value) {\n expressionsPlugin = value;\n };\n\n var getExpressionsPlugin = function getExpressionsPlugin() {\n return expressionsPlugin;\n };\n\n var setExpressionInterfaces = function setExpressionInterfaces(value) {\n expressionsInterfaces = value;\n };\n\n var getExpressionInterfaces = function getExpressionInterfaces() {\n return expressionsInterfaces;\n };\n\n var setDefaultCurveSegments = function setDefaultCurveSegments(value) {\n defaultCurveSegments = value;\n };\n\n var getDefaultCurveSegments = function getDefaultCurveSegments() {\n return defaultCurveSegments;\n };\n\n var setIdPrefix = function setIdPrefix(value) {\n idPrefix$1 = value;\n };\n\n var getIdPrefix = function getIdPrefix() {\n return idPrefix$1;\n };\n\n function createNS(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElementNS(svgNS, type);\n }\n\n function _typeof$5(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$5 = function _typeof(obj) { return typeof obj; }; } else { _typeof$5 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$5(obj); }\n\n var dataManager = function () {\n var _counterId = 1;\n var processes = [];\n var workerFn;\n var workerInstance;\n var workerProxy = {\n onmessage: function onmessage() {},\n postMessage: function postMessage(path) {\n workerFn({\n data: path\n });\n }\n };\n var _workerSelf = {\n postMessage: function postMessage(data) {\n workerProxy.onmessage({\n data: data\n });\n }\n };\n\n function createWorker(fn) {\n if (window.Worker && window.Blob && getWebWorker()) {\n var blob = new Blob(['var _workerSelf = self; self.onmessage = ', fn.toString()], {\n type: 'text/javascript'\n }); // var blob = new Blob(['self.onmessage = ', fn.toString()], { type: 'text/javascript' });\n\n var url = URL.createObjectURL(blob);\n return new Worker(url);\n }\n\n workerFn = fn;\n return workerProxy;\n }\n\n function setupWorker() {\n if (!workerInstance) {\n workerInstance = createWorker(function workerStart(e) {\n function dataFunctionManager() {\n function completeLayers(layers, comps) {\n var layerData;\n var i;\n var len = layers.length;\n var j;\n var jLen;\n var k;\n var kLen;\n\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n\n if ('ks' in layerData && !layerData.completed) {\n layerData.completed = true;\n\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k);\n } else {\n kLen = maskProps[j].pt.k.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\n }\n\n if (maskProps[j].pt.k[k].e) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\n }\n }\n }\n }\n }\n\n if (layerData.ty === 0) {\n layerData.layers = findCompLayers(layerData.refId, comps);\n completeLayers(layerData.layers, comps);\n } else if (layerData.ty === 4) {\n completeShapes(layerData.shapes);\n } else if (layerData.ty === 5) {\n completeText(layerData);\n }\n }\n }\n }\n\n function completeChars(chars, assets) {\n if (chars) {\n var i = 0;\n var len = chars.length;\n\n for (i = 0; i < len; i += 1) {\n if (chars[i].t === 1) {\n // var compData = findComp(chars[i].data.refId, assets);\n chars[i].data.layers = findCompLayers(chars[i].data.refId, assets); // chars[i].data.ip = 0;\n // chars[i].data.op = 99999;\n // chars[i].data.st = 0;\n // chars[i].data.sr = 1;\n // chars[i].w = compData.w;\n // chars[i].data.ks = {\n // a: { k: [0, 0, 0], a: 0 },\n // p: { k: [0, -compData.h, 0], a: 0 },\n // r: { k: 0, a: 0 },\n // s: { k: [100, 100], a: 0 },\n // o: { k: 100, a: 0 },\n // };\n\n completeLayers(chars[i].data.layers, assets);\n }\n }\n }\n }\n\n function findComp(id, comps) {\n var i = 0;\n var len = comps.length;\n\n while (i < len) {\n if (comps[i].id === id) {\n return comps[i];\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function findCompLayers(id, comps) {\n var comp = findComp(id, comps);\n\n if (comp) {\n if (!comp.layers.__used) {\n comp.layers.__used = true;\n return comp.layers;\n }\n\n return JSON.parse(JSON.stringify(comp.layers));\n }\n\n return null;\n }\n\n function completeShapes(arr) {\n var i;\n var len = arr.length;\n var j;\n var jLen;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty === 'sh') {\n if (arr[i].ks.k.i) {\n convertPathsToAbsoluteValues(arr[i].ks.k);\n } else {\n jLen = arr[i].ks.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\n }\n\n if (arr[i].ks.k[j].e) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\n }\n }\n }\n } else if (arr[i].ty === 'gr') {\n completeShapes(arr[i].it);\n }\n }\n }\n\n function convertPathsToAbsoluteValues(path) {\n var i;\n var len = path.i.length;\n\n for (i = 0; i < len; i += 1) {\n path.i[i][0] += path.v[i][0];\n path.i[i][1] += path.v[i][1];\n path.o[i][0] += path.v[i][0];\n path.o[i][1] += path.v[i][1];\n }\n }\n\n function checkVersion(minimum, animVersionString) {\n var animVersion = animVersionString ? animVersionString.split('.') : [100, 100, 100];\n\n if (minimum[0] > animVersion[0]) {\n return true;\n }\n\n if (animVersion[0] > minimum[0]) {\n return false;\n }\n\n if (minimum[1] > animVersion[1]) {\n return true;\n }\n\n if (animVersion[1] > minimum[1]) {\n return false;\n }\n\n if (minimum[2] > animVersion[2]) {\n return true;\n }\n\n if (animVersion[2] > minimum[2]) {\n return false;\n }\n\n return null;\n }\n\n var checkText = function () {\n var minimumVersion = [4, 4, 14];\n\n function updateTextLayer(textLayer) {\n var documentData = textLayer.t.d;\n textLayer.t.d = {\n k: [{\n s: documentData,\n t: 0\n }]\n };\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 5) {\n updateTextLayer(layers[i]);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkChars = function () {\n var minimumVersion = [4, 7, 99];\n return function (animationData) {\n if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\n var i;\n var len = animationData.chars.length;\n\n for (i = 0; i < len; i += 1) {\n var charData = animationData.chars[i];\n\n if (charData.data && charData.data.shapes) {\n completeShapes(charData.data.shapes);\n charData.data.ip = 0;\n charData.data.op = 99999;\n charData.data.st = 0;\n charData.data.sr = 1;\n charData.data.ks = {\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n }\n };\n\n if (!animationData.chars[i].t) {\n charData.data.shapes.push({\n ty: 'no'\n });\n charData.data.shapes[0].it.push({\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n },\n sk: {\n k: 0,\n a: 0\n },\n sa: {\n k: 0,\n a: 0\n },\n ty: 'tr'\n });\n }\n }\n }\n }\n };\n }();\n\n var checkPathProperties = function () {\n var minimumVersion = [5, 7, 15];\n\n function updateTextLayer(textLayer) {\n var pathData = textLayer.t.p;\n\n if (typeof pathData.a === 'number') {\n pathData.a = {\n a: 0,\n k: pathData.a\n };\n }\n\n if (typeof pathData.p === 'number') {\n pathData.p = {\n a: 0,\n k: pathData.p\n };\n }\n\n if (typeof pathData.r === 'number') {\n pathData.r = {\n a: 0,\n k: pathData.r\n };\n }\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 5) {\n updateTextLayer(layers[i]);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkColors = function () {\n var minimumVersion = [4, 1, 9];\n\n function iterateShapes(shapes) {\n var i;\n var len = shapes.length;\n var j;\n var jLen;\n\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty === 'gr') {\n iterateShapes(shapes[i].it);\n } else if (shapes[i].ty === 'fl' || shapes[i].ty === 'st') {\n if (shapes[i].c.k && shapes[i].c.k[0].i) {\n jLen = shapes[i].c.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[i].c.k[j].s) {\n shapes[i].c.k[j].s[0] /= 255;\n shapes[i].c.k[j].s[1] /= 255;\n shapes[i].c.k[j].s[2] /= 255;\n shapes[i].c.k[j].s[3] /= 255;\n }\n\n if (shapes[i].c.k[j].e) {\n shapes[i].c.k[j].e[0] /= 255;\n shapes[i].c.k[j].e[1] /= 255;\n shapes[i].c.k[j].e[2] /= 255;\n shapes[i].c.k[j].e[3] /= 255;\n }\n }\n } else {\n shapes[i].c.k[0] /= 255;\n shapes[i].c.k[1] /= 255;\n shapes[i].c.k[2] /= 255;\n shapes[i].c.k[3] /= 255;\n }\n }\n }\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 4) {\n iterateShapes(layers[i].shapes);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkShapes = function () {\n var minimumVersion = [4, 4, 18];\n\n function completeClosingShapes(arr) {\n var i;\n var len = arr.length;\n var j;\n var jLen;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty === 'sh') {\n if (arr[i].ks.k.i) {\n arr[i].ks.k.c = arr[i].closed;\n } else {\n jLen = arr[i].ks.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n arr[i].ks.k[j].s[0].c = arr[i].closed;\n }\n\n if (arr[i].ks.k[j].e) {\n arr[i].ks.k[j].e[0].c = arr[i].closed;\n }\n }\n }\n } else if (arr[i].ty === 'gr') {\n completeClosingShapes(arr[i].it);\n }\n }\n }\n\n function iterateLayers(layers) {\n var layerData;\n var i;\n var len = layers.length;\n var j;\n var jLen;\n var k;\n var kLen;\n\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n maskProps[j].pt.k.c = maskProps[j].cl;\n } else {\n kLen = maskProps[j].pt.k.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\n }\n\n if (maskProps[j].pt.k[k].e) {\n maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\n }\n }\n }\n }\n }\n\n if (layerData.ty === 4) {\n completeClosingShapes(layerData.shapes);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n function completeData(animationData) {\n if (animationData.__complete) {\n return;\n }\n\n checkColors(animationData);\n checkText(animationData);\n checkChars(animationData);\n checkPathProperties(animationData);\n checkShapes(animationData);\n completeLayers(animationData.layers, animationData.assets);\n completeChars(animationData.chars, animationData.assets);\n animationData.__complete = true;\n }\n\n function completeText(data) {\n if (data.t.a.length === 0 && !('m' in data.t.p)) {// data.singleShape = true;\n }\n }\n\n var moduleOb = {};\n moduleOb.completeData = completeData;\n moduleOb.checkColors = checkColors;\n moduleOb.checkChars = checkChars;\n moduleOb.checkPathProperties = checkPathProperties;\n moduleOb.checkShapes = checkShapes;\n moduleOb.completeLayers = completeLayers;\n return moduleOb;\n }\n\n if (!_workerSelf.dataManager) {\n _workerSelf.dataManager = dataFunctionManager();\n }\n\n if (!_workerSelf.assetLoader) {\n _workerSelf.assetLoader = function () {\n function formatResponse(xhr) {\n // using typeof doubles the time of execution of this method,\n // so if available, it's better to use the header to validate the type\n var contentTypeHeader = xhr.getResponseHeader('content-type');\n\n if (contentTypeHeader && xhr.responseType === 'json' && contentTypeHeader.indexOf('json') !== -1) {\n return xhr.response;\n }\n\n if (xhr.response && _typeof$5(xhr.response) === 'object') {\n return xhr.response;\n }\n\n if (xhr.response && typeof xhr.response === 'string') {\n return JSON.parse(xhr.response);\n }\n\n if (xhr.responseText) {\n return JSON.parse(xhr.responseText);\n }\n\n return null;\n }\n\n function loadAsset(path, fullPath, callback, errorCallback) {\n var response;\n var xhr = new XMLHttpRequest(); // set responseType after calling open or IE will break.\n\n try {\n // This crashes on Android WebView prior to KitKat\n xhr.responseType = 'json';\n } catch (err) {} // eslint-disable-line no-empty\n\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status === 200) {\n response = formatResponse(xhr);\n callback(response);\n } else {\n try {\n response = formatResponse(xhr);\n callback(response);\n } catch (err) {\n if (errorCallback) {\n errorCallback(err);\n }\n }\n }\n }\n };\n\n try {\n // Hack to workaround banner validation\n xhr.open(['G', 'E', 'T'].join(''), path, true);\n } catch (error) {\n // Hack to workaround banner validation\n xhr.open(['G', 'E', 'T'].join(''), fullPath + '/' + path, true);\n }\n\n xhr.send();\n }\n\n return {\n load: loadAsset\n };\n }();\n }\n\n if (e.data.type === 'loadAnimation') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.dataManager.completeData(data);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n } else if (e.data.type === 'complete') {\n var animation = e.data.animation;\n\n _workerSelf.dataManager.completeData(animation);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: animation,\n status: 'success'\n });\n } else if (e.data.type === 'loadData') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n }\n });\n\n workerInstance.onmessage = function (event) {\n var data = event.data;\n var id = data.id;\n var process = processes[id];\n processes[id] = null;\n\n if (data.status === 'success') {\n process.onComplete(data.payload);\n } else if (process.onError) {\n process.onError();\n }\n };\n }\n }\n\n function createProcess(onComplete, onError) {\n _counterId += 1;\n var id = 'processId_' + _counterId;\n processes[id] = {\n onComplete: onComplete,\n onError: onError\n };\n return id;\n }\n\n function loadAnimation(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadAnimation',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function loadData(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadData',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function completeAnimation(anim, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'complete',\n animation: anim,\n id: processId\n });\n }\n\n return {\n loadAnimation: loadAnimation,\n loadData: loadData,\n completeAnimation: completeAnimation\n };\n }();\n\n var ImagePreloader = function () {\n var proxyImage = function () {\n var canvas = createTag('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n ctx.fillStyle = 'rgba(0,0,0,0)';\n ctx.fillRect(0, 0, 1, 1);\n return canvas;\n }();\n\n function imageLoaded() {\n this.loadedAssets += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n\n function footageLoaded() {\n this.loadedFootagesCount += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n\n function getAssetsPath(assetData, assetsPath, originalPath) {\n var path = '';\n\n if (assetData.e) {\n path = assetData.p;\n } else if (assetsPath) {\n var imagePath = assetData.p;\n\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n\n path = assetsPath + imagePath;\n } else {\n path = originalPath;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n\n return path;\n }\n\n function testImageLoaded(img) {\n var _count = 0;\n var intervalId = setInterval(function () {\n var box = img.getBBox();\n\n if (box.width || _count > 500) {\n this._imageLoaded();\n\n clearInterval(intervalId);\n }\n\n _count += 1;\n }.bind(this), 50);\n }\n\n function createImageData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createNS('image');\n\n if (isSafari) {\n this.testImageLoaded(img);\n } else {\n img.addEventListener('load', this._imageLoaded, false);\n }\n\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), false);\n img.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);\n\n if (this._elementHelper.append) {\n this._elementHelper.append(img);\n } else {\n this._elementHelper.appendChild(img);\n }\n\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n\n function createImgData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createTag('img');\n img.crossOrigin = 'anonymous';\n img.addEventListener('load', this._imageLoaded, false);\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), false);\n img.src = path;\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n\n function createFootageData(data) {\n var ob = {\n assetData: data\n };\n var path = getAssetsPath(data, this.assetsPath, this.path);\n dataManager.loadData(path, function (footageData) {\n ob.img = footageData;\n\n this._footageLoaded();\n }.bind(this), function () {\n ob.img = {};\n\n this._footageLoaded();\n }.bind(this));\n return ob;\n }\n\n function loadAssets(assets, cb) {\n this.imagesLoadedCb = cb;\n var i;\n var len = assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (!assets[i].layers) {\n if (!assets[i].t || assets[i].t === 'seq') {\n this.totalImages += 1;\n this.images.push(this._createImageData(assets[i]));\n } else if (assets[i].t === 3) {\n this.totalFootages += 1;\n this.images.push(this.createFootageData(assets[i]));\n }\n }\n }\n }\n\n function setPath(path) {\n this.path = path || '';\n }\n\n function setAssetsPath(path) {\n this.assetsPath = path || '';\n }\n\n function getAsset(assetData) {\n var i = 0;\n var len = this.images.length;\n\n while (i < len) {\n if (this.images[i].assetData === assetData) {\n return this.images[i].img;\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function destroy() {\n this.imagesLoadedCb = null;\n this.images.length = 0;\n }\n\n function loadedImages() {\n return this.totalImages === this.loadedAssets;\n }\n\n function loadedFootages() {\n return this.totalFootages === this.loadedFootagesCount;\n }\n\n function setCacheType(type, elementHelper) {\n if (type === 'svg') {\n this._elementHelper = elementHelper;\n this._createImageData = this.createImageData.bind(this);\n } else {\n this._createImageData = this.createImgData.bind(this);\n }\n }\n\n function ImagePreloaderFactory() {\n this._imageLoaded = imageLoaded.bind(this);\n this._footageLoaded = footageLoaded.bind(this);\n this.testImageLoaded = testImageLoaded.bind(this);\n this.createFootageData = createFootageData.bind(this);\n this.assetsPath = '';\n this.path = '';\n this.totalImages = 0;\n this.totalFootages = 0;\n this.loadedAssets = 0;\n this.loadedFootagesCount = 0;\n this.imagesLoadedCb = null;\n this.images = [];\n }\n\n ImagePreloaderFactory.prototype = {\n loadAssets: loadAssets,\n setAssetsPath: setAssetsPath,\n setPath: setPath,\n loadedImages: loadedImages,\n loadedFootages: loadedFootages,\n destroy: destroy,\n getAsset: getAsset,\n createImgData: createImgData,\n createImageData: createImageData,\n imageLoaded: imageLoaded,\n footageLoaded: footageLoaded,\n setCacheType: setCacheType\n };\n return ImagePreloaderFactory;\n }();\n\n function BaseEvent() {}\n\n BaseEvent.prototype = {\n triggerEvent: function triggerEvent(eventName, args) {\n if (this._cbs[eventName]) {\n var callbacks = this._cbs[eventName];\n\n for (var i = 0; i < callbacks.length; i += 1) {\n callbacks[i](args);\n }\n }\n },\n addEventListener: function addEventListener(eventName, callback) {\n if (!this._cbs[eventName]) {\n this._cbs[eventName] = [];\n }\n\n this._cbs[eventName].push(callback);\n\n return function () {\n this.removeEventListener(eventName, callback);\n }.bind(this);\n },\n removeEventListener: function removeEventListener(eventName, callback) {\n if (!callback) {\n this._cbs[eventName] = null;\n } else if (this._cbs[eventName]) {\n var i = 0;\n var len = this._cbs[eventName].length;\n\n while (i < len) {\n if (this._cbs[eventName][i] === callback) {\n this._cbs[eventName].splice(i, 1);\n\n i -= 1;\n len -= 1;\n }\n\n i += 1;\n }\n\n if (!this._cbs[eventName].length) {\n this._cbs[eventName] = null;\n }\n }\n }\n };\n\n var markerParser = function () {\n function parsePayloadLines(payload) {\n var lines = payload.split('\\r\\n');\n var keys = {};\n var line;\n var keysCount = 0;\n\n for (var i = 0; i < lines.length; i += 1) {\n line = lines[i].split(':');\n\n if (line.length === 2) {\n keys[line[0]] = line[1].trim();\n keysCount += 1;\n }\n }\n\n if (keysCount === 0) {\n throw new Error();\n }\n\n return keys;\n }\n\n return function (_markers) {\n var markers = [];\n\n for (var i = 0; i < _markers.length; i += 1) {\n var _marker = _markers[i];\n var markerData = {\n time: _marker.tm,\n duration: _marker.dr\n };\n\n try {\n markerData.payload = JSON.parse(_markers[i].cm);\n } catch (_) {\n try {\n markerData.payload = parsePayloadLines(_markers[i].cm);\n } catch (__) {\n markerData.payload = {\n name: _markers[i].cm\n };\n }\n }\n\n markers.push(markerData);\n }\n\n return markers;\n };\n }();\n\n var ProjectInterface = function () {\n function registerComposition(comp) {\n this.compositions.push(comp);\n }\n\n return function () {\n function _thisProjectFunction(name) {\n var i = 0;\n var len = this.compositions.length;\n\n while (i < len) {\n if (this.compositions[i].data && this.compositions[i].data.nm === name) {\n if (this.compositions[i].prepareFrame && this.compositions[i].data.xt) {\n this.compositions[i].prepareFrame(this.currentFrame);\n }\n\n return this.compositions[i].compInterface;\n }\n\n i += 1;\n }\n\n return null;\n }\n\n _thisProjectFunction.compositions = [];\n _thisProjectFunction.currentFrame = 0;\n _thisProjectFunction.registerComposition = registerComposition;\n return _thisProjectFunction;\n };\n }();\n\n var renderers = {};\n\n var registerRenderer = function registerRenderer(key, value) {\n renderers[key] = value;\n };\n\n function getRenderer(key) {\n return renderers[key];\n }\n\n function getRegisteredRenderer() {\n // Returns canvas by default for compatibility\n if (renderers.canvas) {\n return 'canvas';\n } // Returns any renderer that is registered\n\n\n for (var key in renderers) {\n if (renderers[key]) {\n return key;\n }\n }\n\n return '';\n }\n\n function _typeof$4(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$4 = function _typeof(obj) { return typeof obj; }; } else { _typeof$4 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$4(obj); }\n\n var AnimationItem = function AnimationItem() {\n this._cbs = [];\n this.name = '';\n this.path = '';\n this.isLoaded = false;\n this.currentFrame = 0;\n this.currentRawFrame = 0;\n this.firstFrame = 0;\n this.totalFrames = 0;\n this.frameRate = 0;\n this.frameMult = 0;\n this.playSpeed = 1;\n this.playDirection = 1;\n this.playCount = 0;\n this.animationData = {};\n this.assets = [];\n this.isPaused = true;\n this.autoplay = false;\n this.loop = true;\n this.renderer = null;\n this.animationID = createElementID();\n this.assetsPath = '';\n this.timeCompleted = 0;\n this.segmentPos = 0;\n this.isSubframeEnabled = getSubframeEnabled();\n this.segments = [];\n this._idle = true;\n this._completedLoop = false;\n this.projectInterface = ProjectInterface();\n this.imagePreloader = new ImagePreloader();\n this.audioController = audioControllerFactory();\n this.markers = [];\n this.configAnimation = this.configAnimation.bind(this);\n this.onSetupError = this.onSetupError.bind(this);\n this.onSegmentComplete = this.onSegmentComplete.bind(this);\n this.drawnFrameEvent = new BMEnterFrameEvent('drawnFrame', 0, 0, 0);\n this.expressionsPlugin = getExpressionsPlugin();\n };\n\n extendPrototype([BaseEvent], AnimationItem);\n\n AnimationItem.prototype.setParams = function (params) {\n if (params.wrapper || params.container) {\n this.wrapper = params.wrapper || params.container;\n }\n\n var animType = 'svg';\n\n if (params.animType) {\n animType = params.animType;\n } else if (params.renderer) {\n animType = params.renderer;\n }\n\n var RendererClass = getRenderer(animType);\n this.renderer = new RendererClass(this, params.rendererSettings);\n this.imagePreloader.setCacheType(animType, this.renderer.globalData.defs);\n this.renderer.setProjectInterface(this.projectInterface);\n this.animType = animType;\n\n if (params.loop === '' || params.loop === null || params.loop === undefined || params.loop === true) {\n this.loop = true;\n } else if (params.loop === false) {\n this.loop = false;\n } else {\n this.loop = parseInt(params.loop, 10);\n }\n\n this.autoplay = 'autoplay' in params ? params.autoplay : true;\n this.name = params.name ? params.name : '';\n this.autoloadSegments = Object.prototype.hasOwnProperty.call(params, 'autoloadSegments') ? params.autoloadSegments : true;\n this.assetsPath = params.assetsPath;\n this.initialSegment = params.initialSegment;\n\n if (params.audioFactory) {\n this.audioController.setAudioFactory(params.audioFactory);\n }\n\n if (params.animationData) {\n this.setupAnimation(params.animationData);\n } else if (params.path) {\n if (params.path.lastIndexOf('\\\\') !== -1) {\n this.path = params.path.substr(0, params.path.lastIndexOf('\\\\') + 1);\n } else {\n this.path = params.path.substr(0, params.path.lastIndexOf('/') + 1);\n }\n\n this.fileName = params.path.substr(params.path.lastIndexOf('/') + 1);\n this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf('.json'));\n dataManager.loadAnimation(params.path, this.configAnimation, this.onSetupError);\n }\n };\n\n AnimationItem.prototype.onSetupError = function () {\n this.trigger('data_failed');\n };\n\n AnimationItem.prototype.setupAnimation = function (data) {\n dataManager.completeAnimation(data, this.configAnimation);\n };\n\n AnimationItem.prototype.setData = function (wrapper, animationData) {\n if (animationData) {\n if (_typeof$4(animationData) !== 'object') {\n animationData = JSON.parse(animationData);\n }\n }\n\n var params = {\n wrapper: wrapper,\n animationData: animationData\n };\n var wrapperAttributes = wrapper.attributes;\n params.path = wrapperAttributes.getNamedItem('data-animation-path') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-animation-path').value : wrapperAttributes.getNamedItem('data-bm-path') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-path').value : wrapperAttributes.getNamedItem('bm-path') ? wrapperAttributes.getNamedItem('bm-path').value : '';\n params.animType = wrapperAttributes.getNamedItem('data-anim-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-type').value : wrapperAttributes.getNamedItem('data-bm-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-type').value : wrapperAttributes.getNamedItem('bm-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('bm-type').value : wrapperAttributes.getNamedItem('data-bm-renderer') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-renderer').value : wrapperAttributes.getNamedItem('bm-renderer') ? wrapperAttributes.getNamedItem('bm-renderer').value : getRegisteredRenderer() || 'canvas';\n var loop = wrapperAttributes.getNamedItem('data-anim-loop') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-loop').value : wrapperAttributes.getNamedItem('data-bm-loop') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-loop').value : wrapperAttributes.getNamedItem('bm-loop') ? wrapperAttributes.getNamedItem('bm-loop').value : '';\n\n if (loop === 'false') {\n params.loop = false;\n } else if (loop === 'true') {\n params.loop = true;\n } else if (loop !== '') {\n params.loop = parseInt(loop, 10);\n }\n\n var autoplay = wrapperAttributes.getNamedItem('data-anim-autoplay') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-autoplay').value : wrapperAttributes.getNamedItem('data-bm-autoplay') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-autoplay').value : wrapperAttributes.getNamedItem('bm-autoplay') ? wrapperAttributes.getNamedItem('bm-autoplay').value : true;\n params.autoplay = autoplay !== 'false';\n params.name = wrapperAttributes.getNamedItem('data-name') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-name').value : wrapperAttributes.getNamedItem('data-bm-name') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-name').value : wrapperAttributes.getNamedItem('bm-name') ? wrapperAttributes.getNamedItem('bm-name').value : '';\n var prerender = wrapperAttributes.getNamedItem('data-anim-prerender') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-prerender').value : wrapperAttributes.getNamedItem('data-bm-prerender') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-prerender').value : wrapperAttributes.getNamedItem('bm-prerender') ? wrapperAttributes.getNamedItem('bm-prerender').value : '';\n\n if (prerender === 'false') {\n params.prerender = false;\n }\n\n if (!params.path) {\n this.trigger('destroy');\n } else {\n this.setParams(params);\n }\n };\n\n AnimationItem.prototype.includeLayers = function (data) {\n if (data.op > this.animationData.op) {\n this.animationData.op = data.op;\n this.totalFrames = Math.floor(data.op - this.animationData.ip);\n }\n\n var layers = this.animationData.layers;\n var i;\n var len = layers.length;\n var newLayers = data.layers;\n var j;\n var jLen = newLayers.length;\n\n for (j = 0; j < jLen; j += 1) {\n i = 0;\n\n while (i < len) {\n if (layers[i].id === newLayers[j].id) {\n layers[i] = newLayers[j];\n break;\n }\n\n i += 1;\n }\n }\n\n if (data.chars || data.fonts) {\n this.renderer.globalData.fontManager.addChars(data.chars);\n this.renderer.globalData.fontManager.addFonts(data.fonts, this.renderer.globalData.defs);\n }\n\n if (data.assets) {\n len = data.assets.length;\n\n for (i = 0; i < len; i += 1) {\n this.animationData.assets.push(data.assets[i]);\n }\n }\n\n this.animationData.__complete = false;\n dataManager.completeAnimation(this.animationData, this.onSegmentComplete);\n };\n\n AnimationItem.prototype.onSegmentComplete = function (data) {\n this.animationData = data;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.loadNextSegment();\n };\n\n AnimationItem.prototype.loadNextSegment = function () {\n var segments = this.animationData.segments;\n\n if (!segments || segments.length === 0 || !this.autoloadSegments) {\n this.trigger('data_ready');\n this.timeCompleted = this.totalFrames;\n return;\n }\n\n var segment = segments.shift();\n this.timeCompleted = segment.time * this.frameRate;\n var segmentPath = this.path + this.fileName + '_' + this.segmentPos + '.json';\n this.segmentPos += 1;\n dataManager.loadData(segmentPath, this.includeLayers.bind(this), function () {\n this.trigger('data_failed');\n }.bind(this));\n };\n\n AnimationItem.prototype.loadSegments = function () {\n var segments = this.animationData.segments;\n\n if (!segments) {\n this.timeCompleted = this.totalFrames;\n }\n\n this.loadNextSegment();\n };\n\n AnimationItem.prototype.imagesLoaded = function () {\n this.trigger('loaded_images');\n this.checkLoaded();\n };\n\n AnimationItem.prototype.preloadImages = function () {\n this.imagePreloader.setAssetsPath(this.assetsPath);\n this.imagePreloader.setPath(this.path);\n this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));\n };\n\n AnimationItem.prototype.configAnimation = function (animData) {\n if (!this.renderer) {\n return;\n }\n\n try {\n this.animationData = animData;\n\n if (this.initialSegment) {\n this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]);\n this.firstFrame = Math.round(this.initialSegment[0]);\n } else {\n this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip);\n this.firstFrame = Math.round(this.animationData.ip);\n }\n\n this.renderer.configAnimation(animData);\n\n if (!animData.assets) {\n animData.assets = [];\n }\n\n this.assets = this.animationData.assets;\n this.frameRate = this.animationData.fr;\n this.frameMult = this.animationData.fr / 1000;\n this.renderer.searchExtraCompositions(animData.assets);\n this.markers = markerParser(animData.markers || []);\n this.trigger('config_ready');\n this.preloadImages();\n this.loadSegments();\n this.updaFrameModifier();\n this.waitForFontsLoaded();\n\n if (this.isPaused) {\n this.audioController.pause();\n }\n } catch (error) {\n this.triggerConfigError(error);\n }\n };\n\n AnimationItem.prototype.waitForFontsLoaded = function () {\n if (!this.renderer) {\n return;\n }\n\n if (this.renderer.globalData.fontManager.isLoaded) {\n this.checkLoaded();\n } else {\n setTimeout(this.waitForFontsLoaded.bind(this), 20);\n }\n };\n\n AnimationItem.prototype.checkLoaded = function () {\n if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || this.renderer.rendererType !== 'canvas') && this.imagePreloader.loadedFootages()) {\n this.isLoaded = true;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.renderer.initItems();\n setTimeout(function () {\n this.trigger('DOMLoaded');\n }.bind(this), 0);\n this.gotoFrame();\n\n if (this.autoplay) {\n this.play();\n }\n }\n };\n\n AnimationItem.prototype.resize = function (width, height) {\n // Adding this validation for backwards compatibility in case an event object was being passed down\n var _width = typeof width === 'number' ? width : undefined;\n\n var _height = typeof height === 'number' ? height : undefined;\n\n this.renderer.updateContainerSize(_width, _height);\n };\n\n AnimationItem.prototype.setSubframe = function (flag) {\n this.isSubframeEnabled = !!flag;\n };\n\n AnimationItem.prototype.gotoFrame = function () {\n this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame; // eslint-disable-line no-bitwise\n\n if (this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted) {\n this.currentFrame = this.timeCompleted;\n }\n\n this.trigger('enterFrame');\n this.renderFrame();\n this.trigger('drawnFrame');\n };\n\n AnimationItem.prototype.renderFrame = function () {\n if (this.isLoaded === false || !this.renderer) {\n return;\n }\n\n try {\n if (this.expressionsPlugin) {\n this.expressionsPlugin.resetFrame();\n }\n\n this.renderer.renderFrame(this.currentFrame + this.firstFrame);\n } catch (error) {\n this.triggerRenderFrameError(error);\n }\n };\n\n AnimationItem.prototype.play = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.isPaused = false;\n this.trigger('_play');\n this.audioController.resume();\n\n if (this._idle) {\n this._idle = false;\n this.trigger('_active');\n }\n }\n };\n\n AnimationItem.prototype.pause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === false) {\n this.isPaused = true;\n this.trigger('_pause');\n this._idle = true;\n this.trigger('_idle');\n this.audioController.pause();\n }\n };\n\n AnimationItem.prototype.togglePause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.play();\n } else {\n this.pause();\n }\n };\n\n AnimationItem.prototype.stop = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.pause();\n this.playCount = 0;\n this._completedLoop = false;\n this.setCurrentRawFrameValue(0);\n };\n\n AnimationItem.prototype.getMarkerData = function (markerName) {\n var marker;\n\n for (var i = 0; i < this.markers.length; i += 1) {\n marker = this.markers[i];\n\n if (marker.payload && marker.payload.name === markerName) {\n return marker;\n }\n }\n\n return null;\n };\n\n AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\n if (name && this.name !== name) {\n return;\n }\n\n var numValue = Number(value);\n\n if (isNaN(numValue)) {\n var marker = this.getMarkerData(value);\n\n if (marker) {\n this.goToAndStop(marker.time, true);\n }\n } else if (isFrame) {\n this.setCurrentRawFrameValue(value);\n } else {\n this.setCurrentRawFrameValue(value * this.frameModifier);\n }\n\n this.pause();\n };\n\n AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n if (name && this.name !== name) {\n return;\n }\n\n var numValue = Number(value);\n\n if (isNaN(numValue)) {\n var marker = this.getMarkerData(value);\n\n if (marker) {\n if (!marker.duration) {\n this.goToAndStop(marker.time, true);\n } else {\n this.playSegments([marker.time, marker.time + marker.duration], true);\n }\n }\n } else {\n this.goToAndStop(numValue, isFrame, name);\n }\n\n this.play();\n };\n\n AnimationItem.prototype.advanceTime = function (value) {\n if (this.isPaused === true || this.isLoaded === false) {\n return;\n }\n\n var nextValue = this.currentRawFrame + value * this.frameModifier;\n var _isComplete = false; // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\n // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\n\n if (nextValue >= this.totalFrames - 1 && this.frameModifier > 0) {\n if (!this.loop || this.playCount === this.loop) {\n if (!this.checkSegments(nextValue > this.totalFrames ? nextValue % this.totalFrames : 0)) {\n _isComplete = true;\n nextValue = this.totalFrames - 1;\n }\n } else if (nextValue >= this.totalFrames) {\n this.playCount += 1;\n\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n this.setCurrentRawFrameValue(nextValue % this.totalFrames);\n this._completedLoop = true;\n this.trigger('loopComplete');\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n } else if (nextValue < 0) {\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n if (this.loop && !(this.playCount-- <= 0 && this.loop !== true)) {\n // eslint-disable-line no-plusplus\n this.setCurrentRawFrameValue(this.totalFrames + nextValue % this.totalFrames);\n\n if (!this._completedLoop) {\n this._completedLoop = true;\n } else {\n this.trigger('loopComplete');\n }\n } else {\n _isComplete = true;\n nextValue = 0;\n }\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n\n if (_isComplete) {\n this.setCurrentRawFrameValue(nextValue);\n this.pause();\n this.trigger('complete');\n }\n };\n\n AnimationItem.prototype.adjustSegment = function (arr, offset) {\n this.playCount = 0;\n\n if (arr[1] < arr[0]) {\n if (this.frameModifier > 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(-1);\n }\n }\n\n this.totalFrames = arr[0] - arr[1];\n this.timeCompleted = this.totalFrames;\n this.firstFrame = arr[1];\n this.setCurrentRawFrameValue(this.totalFrames - 0.001 - offset);\n } else if (arr[1] > arr[0]) {\n if (this.frameModifier < 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(1);\n }\n }\n\n this.totalFrames = arr[1] - arr[0];\n this.timeCompleted = this.totalFrames;\n this.firstFrame = arr[0];\n this.setCurrentRawFrameValue(0.001 + offset);\n }\n\n this.trigger('segmentStart');\n };\n\n AnimationItem.prototype.setSegment = function (init, end) {\n var pendingFrame = -1;\n\n if (this.isPaused) {\n if (this.currentRawFrame + this.firstFrame < init) {\n pendingFrame = init;\n } else if (this.currentRawFrame + this.firstFrame > end) {\n pendingFrame = end - init;\n }\n }\n\n this.firstFrame = init;\n this.totalFrames = end - init;\n this.timeCompleted = this.totalFrames;\n\n if (pendingFrame !== -1) {\n this.goToAndStop(pendingFrame, true);\n }\n };\n\n AnimationItem.prototype.playSegments = function (arr, forceFlag) {\n if (forceFlag) {\n this.segments.length = 0;\n }\n\n if (_typeof$4(arr[0]) === 'object') {\n var i;\n var len = arr.length;\n\n for (i = 0; i < len; i += 1) {\n this.segments.push(arr[i]);\n }\n } else {\n this.segments.push(arr);\n }\n\n if (this.segments.length && forceFlag) {\n this.adjustSegment(this.segments.shift(), 0);\n }\n\n if (this.isPaused) {\n this.play();\n }\n };\n\n AnimationItem.prototype.resetSegments = function (forceFlag) {\n this.segments.length = 0;\n this.segments.push([this.animationData.ip, this.animationData.op]);\n\n if (forceFlag) {\n this.checkSegments(0);\n }\n };\n\n AnimationItem.prototype.checkSegments = function (offset) {\n if (this.segments.length) {\n this.adjustSegment(this.segments.shift(), offset);\n return true;\n }\n\n return false;\n };\n\n AnimationItem.prototype.destroy = function (name) {\n if (name && this.name !== name || !this.renderer) {\n return;\n }\n\n this.renderer.destroy();\n this.imagePreloader.destroy();\n this.trigger('destroy');\n this._cbs = null;\n this.onEnterFrame = null;\n this.onLoopComplete = null;\n this.onComplete = null;\n this.onSegmentStart = null;\n this.onDestroy = null;\n this.renderer = null;\n this.expressionsPlugin = null;\n this.imagePreloader = null;\n this.projectInterface = null;\n };\n\n AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n this.currentRawFrame = value;\n this.gotoFrame();\n };\n\n AnimationItem.prototype.setSpeed = function (val) {\n this.playSpeed = val;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setDirection = function (val) {\n this.playDirection = val < 0 ? -1 : 1;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setLoop = function (isLooping) {\n this.loop = isLooping;\n };\n\n AnimationItem.prototype.setVolume = function (val, name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.setVolume(val);\n };\n\n AnimationItem.prototype.getVolume = function () {\n return this.audioController.getVolume();\n };\n\n AnimationItem.prototype.mute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.mute();\n };\n\n AnimationItem.prototype.unmute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.unmute();\n };\n\n AnimationItem.prototype.updaFrameModifier = function () {\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection;\n this.audioController.setRate(this.playSpeed * this.playDirection);\n };\n\n AnimationItem.prototype.getPath = function () {\n return this.path;\n };\n\n AnimationItem.prototype.getAssetsPath = function (assetData) {\n var path = '';\n\n if (assetData.e) {\n path = assetData.p;\n } else if (this.assetsPath) {\n var imagePath = assetData.p;\n\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n\n path = this.assetsPath + imagePath;\n } else {\n path = this.path;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n\n return path;\n };\n\n AnimationItem.prototype.getAssetData = function (id) {\n var i = 0;\n var len = this.assets.length;\n\n while (i < len) {\n if (id === this.assets[i].id) {\n return this.assets[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n AnimationItem.prototype.hide = function () {\n this.renderer.hide();\n };\n\n AnimationItem.prototype.show = function () {\n this.renderer.show();\n };\n\n AnimationItem.prototype.getDuration = function (isFrame) {\n return isFrame ? this.totalFrames : this.totalFrames / this.frameRate;\n };\n\n AnimationItem.prototype.updateDocumentData = function (path, documentData, index) {\n try {\n var element = this.renderer.getElementByPath(path);\n element.updateDocumentData(documentData, index);\n } catch (error) {// TODO: decide how to handle catch case\n }\n };\n\n AnimationItem.prototype.trigger = function (name) {\n if (this._cbs && this._cbs[name]) {\n switch (name) {\n case 'enterFrame':\n this.triggerEvent(name, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameModifier));\n break;\n\n case 'drawnFrame':\n this.drawnFrameEvent.currentTime = this.currentFrame;\n this.drawnFrameEvent.totalTime = this.totalFrames;\n this.drawnFrameEvent.direction = this.frameModifier;\n this.triggerEvent(name, this.drawnFrameEvent);\n break;\n\n case 'loopComplete':\n this.triggerEvent(name, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n break;\n\n case 'complete':\n this.triggerEvent(name, new BMCompleteEvent(name, this.frameMult));\n break;\n\n case 'segmentStart':\n this.triggerEvent(name, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n break;\n\n case 'destroy':\n this.triggerEvent(name, new BMDestroyEvent(name, this));\n break;\n\n default:\n this.triggerEvent(name);\n }\n }\n\n if (name === 'enterFrame' && this.onEnterFrame) {\n this.onEnterFrame.call(this, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameMult));\n }\n\n if (name === 'loopComplete' && this.onLoopComplete) {\n this.onLoopComplete.call(this, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n }\n\n if (name === 'complete' && this.onComplete) {\n this.onComplete.call(this, new BMCompleteEvent(name, this.frameMult));\n }\n\n if (name === 'segmentStart' && this.onSegmentStart) {\n this.onSegmentStart.call(this, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n }\n\n if (name === 'destroy' && this.onDestroy) {\n this.onDestroy.call(this, new BMDestroyEvent(name, this));\n }\n };\n\n AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n var error = new BMRenderFrameErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n\n AnimationItem.prototype.triggerConfigError = function (nativeError) {\n var error = new BMConfigErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n\n var animationManager = function () {\n var moduleOb = {};\n var registeredAnimations = [];\n var initTime = 0;\n var len = 0;\n var playingAnimationsNum = 0;\n var _stopped = true;\n var _isFrozen = false;\n\n function removeElement(ev) {\n var i = 0;\n var animItem = ev.target;\n\n while (i < len) {\n if (registeredAnimations[i].animation === animItem) {\n registeredAnimations.splice(i, 1);\n i -= 1;\n len -= 1;\n\n if (!animItem.isPaused) {\n subtractPlayingCount();\n }\n }\n\n i += 1;\n }\n }\n\n function registerAnimation(element, animationData) {\n if (!element) {\n return null;\n }\n\n var i = 0;\n\n while (i < len) {\n if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\n return registeredAnimations[i].animation;\n }\n\n i += 1;\n }\n\n var animItem = new AnimationItem();\n setupAnimation(animItem, element);\n animItem.setData(element, animationData);\n return animItem;\n }\n\n function getRegisteredAnimations() {\n var i;\n var lenAnims = registeredAnimations.length;\n var animations = [];\n\n for (i = 0; i < lenAnims; i += 1) {\n animations.push(registeredAnimations[i].animation);\n }\n\n return animations;\n }\n\n function addPlayingCount() {\n playingAnimationsNum += 1;\n activate();\n }\n\n function subtractPlayingCount() {\n playingAnimationsNum -= 1;\n }\n\n function setupAnimation(animItem, element) {\n animItem.addEventListener('destroy', removeElement);\n animItem.addEventListener('_active', addPlayingCount);\n animItem.addEventListener('_idle', subtractPlayingCount);\n registeredAnimations.push({\n elem: element,\n animation: animItem\n });\n len += 1;\n }\n\n function loadAnimation(params) {\n var animItem = new AnimationItem();\n setupAnimation(animItem, null);\n animItem.setParams(params);\n return animItem;\n }\n\n function setSpeed(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setSpeed(val, animation);\n }\n }\n\n function setDirection(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setDirection(val, animation);\n }\n }\n\n function play(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.play(animation);\n }\n }\n\n function resume(nowTime) {\n var elapsedTime = nowTime - initTime;\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.advanceTime(elapsedTime);\n }\n\n initTime = nowTime;\n\n if (playingAnimationsNum && !_isFrozen) {\n window.requestAnimationFrame(resume);\n } else {\n _stopped = true;\n }\n }\n\n function first(nowTime) {\n initTime = nowTime;\n window.requestAnimationFrame(resume);\n }\n\n function pause(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.pause(animation);\n }\n }\n\n function goToAndStop(value, isFrame, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\n }\n }\n\n function stop(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.stop(animation);\n }\n }\n\n function togglePause(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.togglePause(animation);\n }\n }\n\n function destroy(animation) {\n var i;\n\n for (i = len - 1; i >= 0; i -= 1) {\n registeredAnimations[i].animation.destroy(animation);\n }\n }\n\n function searchAnimations(animationData, standalone, renderer) {\n var animElements = [].concat([].slice.call(document.getElementsByClassName('lottie')), [].slice.call(document.getElementsByClassName('bodymovin')));\n var i;\n var lenAnims = animElements.length;\n\n for (i = 0; i < lenAnims; i += 1) {\n if (renderer) {\n animElements[i].setAttribute('data-bm-type', renderer);\n }\n\n registerAnimation(animElements[i], animationData);\n }\n\n if (standalone && lenAnims === 0) {\n if (!renderer) {\n renderer = 'svg';\n }\n\n var body = document.getElementsByTagName('body')[0];\n body.innerText = '';\n var div = createTag('div');\n div.style.width = '100%';\n div.style.height = '100%';\n div.setAttribute('data-bm-type', renderer);\n body.appendChild(div);\n registerAnimation(div, animationData);\n }\n }\n\n function resize() {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.resize();\n }\n }\n\n function activate() {\n if (!_isFrozen && playingAnimationsNum) {\n if (_stopped) {\n window.requestAnimationFrame(first);\n _stopped = false;\n }\n }\n }\n\n function freeze() {\n _isFrozen = true;\n }\n\n function unfreeze() {\n _isFrozen = false;\n activate();\n }\n\n function setVolume(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setVolume(val, animation);\n }\n }\n\n function mute(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.mute(animation);\n }\n }\n\n function unmute(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.unmute(animation);\n }\n }\n\n moduleOb.registerAnimation = registerAnimation;\n moduleOb.loadAnimation = loadAnimation;\n moduleOb.setSpeed = setSpeed;\n moduleOb.setDirection = setDirection;\n moduleOb.play = play;\n moduleOb.pause = pause;\n moduleOb.stop = stop;\n moduleOb.togglePause = togglePause;\n moduleOb.searchAnimations = searchAnimations;\n moduleOb.resize = resize; // moduleOb.start = start;\n\n moduleOb.goToAndStop = goToAndStop;\n moduleOb.destroy = destroy;\n moduleOb.freeze = freeze;\n moduleOb.unfreeze = unfreeze;\n moduleOb.setVolume = setVolume;\n moduleOb.mute = mute;\n moduleOb.unmute = unmute;\n moduleOb.getRegisteredAnimations = getRegisteredAnimations;\n return moduleOb;\n }();\n\n /* eslint-disable */\n var BezierFactory = function () {\n /**\r\n * BezierEasing - use bezier curve for transition easing function\r\n * by Gaëtan Renaudeau 2014 - 2015 – MIT License\r\n *\r\n * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n * Usage:\r\n * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n *\r\n */\n var ob = {};\n ob.getBezierEasing = getBezierEasing;\n var beziers = {};\n\n function getBezierEasing(a, b, c, d, nm) {\n var str = nm || ('bez_' + a + '_' + b + '_' + c + '_' + d).replace(/\\./g, 'p');\n\n if (beziers[str]) {\n return beziers[str];\n }\n\n var bezEasing = new BezierEasing([a, b, c, d]);\n beziers[str] = bezEasing;\n return bezEasing;\n } // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\n\n var NEWTON_ITERATIONS = 4;\n var NEWTON_MIN_SLOPE = 0.001;\n var SUBDIVISION_PRECISION = 0.0000001;\n var SUBDIVISION_MAX_ITERATIONS = 10;\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n var float32ArraySupported = typeof Float32Array === 'function';\n\n function A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n }\n\n function B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n }\n\n function C(aA1) {\n return 3.0 * aA1;\n } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\n function calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\n function getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0;\n\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) return aGuessT;\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n\n return aGuessT;\n }\n /**\r\n * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n */\n\n\n function BezierEasing(points) {\n this._p = points;\n this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n this._precomputed = false;\n this.get = this.get.bind(this);\n }\n\n BezierEasing.prototype = {\n get: function get(x) {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n if (!this._precomputed) this._precompute();\n if (mX1 === mY1 && mX2 === mY2) return x; // linear\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n if (x === 0) return 0;\n if (x === 1) return 1;\n return calcBezier(this._getTForX(x), mY1, mY2);\n },\n // Private part\n _precompute: function _precompute() {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n this._precomputed = true;\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n this._calcSampleValues();\n }\n },\n _calcSampleValues: function _calcSampleValues() {\n var mX1 = this._p[0],\n mX2 = this._p[2];\n\n for (var i = 0; i < kSplineTableSize; ++i) {\n this._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n },\n\n /**\r\n * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n */\n _getTForX: function _getTForX(aX) {\n var mX1 = this._p[0],\n mX2 = this._p[2],\n mSampleValues = this._mSampleValues;\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample; // Interpolate to provide an initial guess for t\n\n var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n }\n\n if (initialSlope === 0.0) {\n return guessForT;\n }\n\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n };\n return ob;\n }();\n\n var pooling = function () {\n function _double(arr) {\n return arr.concat(createSizedArray(arr.length));\n }\n\n return {\n \"double\": _double\n };\n }();\n\n var poolFactory = function () {\n return function (initialLength, _create, _release) {\n var _length = 0;\n var _maxLength = initialLength;\n var pool = createSizedArray(_maxLength);\n var ob = {\n newElement: newElement,\n release: release\n };\n\n function newElement() {\n var element;\n\n if (_length) {\n _length -= 1;\n element = pool[_length];\n } else {\n element = _create();\n }\n\n return element;\n }\n\n function release(element) {\n if (_length === _maxLength) {\n pool = pooling[\"double\"](pool);\n _maxLength *= 2;\n }\n\n if (_release) {\n _release(element);\n }\n\n pool[_length] = element;\n _length += 1;\n }\n\n return ob;\n };\n }();\n\n var bezierLengthPool = function () {\n function create() {\n return {\n addedLength: 0,\n percents: createTypedArray('float32', getDefaultCurveSegments()),\n lengths: createTypedArray('float32', getDefaultCurveSegments())\n };\n }\n\n return poolFactory(8, create);\n }();\n\n var segmentsLengthPool = function () {\n function create() {\n return {\n lengths: [],\n totalLength: 0\n };\n }\n\n function release(element) {\n var i;\n var len = element.lengths.length;\n\n for (i = 0; i < len; i += 1) {\n bezierLengthPool.release(element.lengths[i]);\n }\n\n element.lengths.length = 0;\n }\n\n return poolFactory(8, create, release);\n }();\n\n function bezFunction() {\n var math = Math;\n\n function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\n var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;\n return det1 > -0.001 && det1 < 0.001;\n }\n\n function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\n if (z1 === 0 && z2 === 0 && z3 === 0) {\n return pointOnLine2D(x1, y1, x2, y2, x3, y3);\n }\n\n var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\n var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\n var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\n var diffDist;\n\n if (dist1 > dist2) {\n if (dist1 > dist3) {\n diffDist = dist1 - dist2 - dist3;\n } else {\n diffDist = dist3 - dist2 - dist1;\n }\n } else if (dist3 > dist2) {\n diffDist = dist3 - dist2 - dist1;\n } else {\n diffDist = dist2 - dist1 - dist3;\n }\n\n return diffDist > -0.0001 && diffDist < 0.0001;\n }\n\n var getBezierLength = function () {\n return function (pt1, pt2, pt3, pt4) {\n var curveSegments = getDefaultCurveSegments();\n var k;\n var i;\n var len;\n var ptCoord;\n var perc;\n var addedLength = 0;\n var ptDistance;\n var point = [];\n var lastPoint = [];\n var lengthData = bezierLengthPool.newElement();\n len = pt3.length;\n\n for (k = 0; k < curveSegments; k += 1) {\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n\n for (i = 0; i < len; i += 1) {\n ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * pt3[i] + 3 * (1 - perc) * bmPow(perc, 2) * pt4[i] + bmPow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n\n if (lastPoint[i] !== null) {\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\n }\n\n lastPoint[i] = point[i];\n }\n\n if (ptDistance) {\n ptDistance = bmSqrt(ptDistance);\n addedLength += ptDistance;\n }\n\n lengthData.percents[k] = perc;\n lengthData.lengths[k] = addedLength;\n }\n\n lengthData.addedLength = addedLength;\n return lengthData;\n };\n }();\n\n function getSegmentsLength(shapeData) {\n var segmentsLength = segmentsLengthPool.newElement();\n var closed = shapeData.c;\n var pathV = shapeData.v;\n var pathO = shapeData.o;\n var pathI = shapeData.i;\n var i;\n var len = shapeData._length;\n var lengths = segmentsLength.lengths;\n var totalLength = 0;\n\n for (i = 0; i < len - 1; i += 1) {\n lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\n totalLength += lengths[i].addedLength;\n }\n\n if (closed && len) {\n lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\n totalLength += lengths[i].addedLength;\n }\n\n segmentsLength.totalLength = totalLength;\n return segmentsLength;\n }\n\n function BezierData(length) {\n this.segmentLength = 0;\n this.points = new Array(length);\n }\n\n function PointData(partial, point) {\n this.partialLength = partial;\n this.point = point;\n }\n\n var buildBezierData = function () {\n var storedData = {};\n return function (pt1, pt2, pt3, pt4) {\n var bezierName = (pt1[0] + '_' + pt1[1] + '_' + pt2[0] + '_' + pt2[1] + '_' + pt3[0] + '_' + pt3[1] + '_' + pt4[0] + '_' + pt4[1]).replace(/\\./g, 'p');\n\n if (!storedData[bezierName]) {\n var curveSegments = getDefaultCurveSegments();\n var k;\n var i;\n var len;\n var ptCoord;\n var perc;\n var addedLength = 0;\n var ptDistance;\n var point;\n var lastPoint = null;\n\n if (pt1.length === 2 && (pt1[0] !== pt2[0] || pt1[1] !== pt2[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt1[0] + pt3[0], pt1[1] + pt3[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt2[0] + pt4[0], pt2[1] + pt4[1])) {\n curveSegments = 2;\n }\n\n var bezierData = new BezierData(curveSegments);\n len = pt3.length;\n\n for (k = 0; k < curveSegments; k += 1) {\n point = createSizedArray(len);\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n\n for (i = 0; i < len; i += 1) {\n ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * (pt1[i] + pt3[i]) + 3 * (1 - perc) * bmPow(perc, 2) * (pt2[i] + pt4[i]) + bmPow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n\n if (lastPoint !== null) {\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\n }\n }\n\n ptDistance = bmSqrt(ptDistance);\n addedLength += ptDistance;\n bezierData.points[k] = new PointData(ptDistance, point);\n lastPoint = point;\n }\n\n bezierData.segmentLength = addedLength;\n storedData[bezierName] = bezierData;\n }\n\n return storedData[bezierName];\n };\n }();\n\n function getDistancePerc(perc, bezierData) {\n var percents = bezierData.percents;\n var lengths = bezierData.lengths;\n var len = percents.length;\n var initPos = bmFloor((len - 1) * perc);\n var lengthPos = perc * bezierData.addedLength;\n var lPerc = 0;\n\n if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\n return percents[initPos];\n }\n\n var dir = lengths[initPos] > lengthPos ? -1 : 1;\n var flag = true;\n\n while (flag) {\n if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\n lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\n flag = false;\n } else {\n initPos += dir;\n }\n\n if (initPos < 0 || initPos >= len - 1) {\n // FIX for TypedArrays that don't store floating point values with enough accuracy\n if (initPos === len - 1) {\n return percents[initPos];\n }\n\n flag = false;\n }\n }\n\n return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\n }\n\n function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\n var t1 = getDistancePerc(percent, bezierData);\n var u1 = 1 - t1;\n var ptX = math.round((u1 * u1 * u1 * pt1[0] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[0] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[0] + t1 * t1 * t1 * pt2[0]) * 1000) / 1000;\n var ptY = math.round((u1 * u1 * u1 * pt1[1] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[1] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[1] + t1 * t1 * t1 * pt2[1]) * 1000) / 1000;\n return [ptX, ptY];\n }\n\n var bezierSegmentPoints = createTypedArray('float32', 8);\n\n function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\n if (startPerc < 0) {\n startPerc = 0;\n } else if (startPerc > 1) {\n startPerc = 1;\n }\n\n var t0 = getDistancePerc(startPerc, bezierData);\n endPerc = endPerc > 1 ? 1 : endPerc;\n var t1 = getDistancePerc(endPerc, bezierData);\n var i;\n var len = pt1.length;\n var u0 = 1 - t0;\n var u1 = 1 - t1;\n var u0u0u0 = u0 * u0 * u0;\n var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\n\n var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\n\n var t0t0t0 = t0 * t0 * t0; //\n\n var u0u0u1 = u0 * u0 * u1;\n var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\n\n var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\n\n var t0t0t1 = t0 * t0 * t1; //\n\n var u0u1u1 = u0 * u1 * u1;\n var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\n\n var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\n\n var t0t1t1 = t0 * t1 * t1; //\n\n var u1u1u1 = u1 * u1 * u1;\n var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\n\n var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\n\n var t1t1t1 = t1 * t1 * t1;\n\n for (i = 0; i < len; i += 1) {\n bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n }\n\n return bezierSegmentPoints;\n }\n\n return {\n getSegmentsLength: getSegmentsLength,\n getNewSegment: getNewSegment,\n getPointInSegment: getPointInSegment,\n buildBezierData: buildBezierData,\n pointOnLine2D: pointOnLine2D,\n pointOnLine3D: pointOnLine3D\n };\n }\n\n var bez = bezFunction();\n\n var initFrame = initialDefaultFrame;\n var mathAbs = Math.abs;\n\n function interpolateValue(frameNum, caching) {\n var offsetTime = this.offsetTime;\n var newValue;\n\n if (this.propType === 'multidimensional') {\n newValue = createTypedArray('float32', this.pv.length);\n }\n\n var iterationIndex = caching.lastIndex;\n var i = iterationIndex;\n var len = this.keyframes.length - 1;\n var flag = true;\n var keyData;\n var nextKeyData;\n var keyframeMetadata;\n\n while (flag) {\n keyData = this.keyframes[i];\n nextKeyData = this.keyframes[i + 1];\n\n if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\n if (keyData.h) {\n keyData = nextKeyData;\n }\n\n iterationIndex = 0;\n break;\n }\n\n if (nextKeyData.t - offsetTime > frameNum) {\n iterationIndex = i;\n break;\n }\n\n if (i < len - 1) {\n i += 1;\n } else {\n iterationIndex = 0;\n flag = false;\n }\n }\n\n keyframeMetadata = this.keyframesMetadata[i] || {};\n var k;\n var kLen;\n var perc;\n var jLen;\n var j;\n var fnc;\n var nextKeyTime = nextKeyData.t - offsetTime;\n var keyTime = keyData.t - offsetTime;\n var endValue;\n\n if (keyData.to) {\n if (!keyframeMetadata.bezierData) {\n keyframeMetadata.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n }\n\n var bezierData = keyframeMetadata.bezierData;\n\n if (frameNum >= nextKeyTime || frameNum < keyTime) {\n var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\n kLen = bezierData.points[ind].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[ind].point[k];\n } // caching._lastKeyframeIndex = -1;\n\n } else {\n if (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n keyframeMetadata.__fnct = fnc;\n }\n\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n var distanceInLine = bezierData.segmentLength * perc;\n var segmentPerc;\n var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;\n j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;\n flag = true;\n jLen = bezierData.points.length;\n\n while (flag) {\n addedLength += bezierData.points[j].partialLength;\n\n if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\n kLen = bezierData.points[j].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k];\n }\n\n break;\n } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\n segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\n kLen = bezierData.points[j].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\n }\n\n break;\n }\n\n if (j < jLen - 1) {\n j += 1;\n } else {\n flag = false;\n }\n }\n\n caching._lastPoint = j;\n caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\n caching._lastKeyframeIndex = i;\n }\n } else {\n var outX;\n var outY;\n var inX;\n var inY;\n var keyValue;\n len = keyData.s.length;\n endValue = nextKeyData.s || keyData.e;\n\n if (this.sh && keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n newValue[0] = endValue[0];\n newValue[1] = endValue[1];\n newValue[2] = endValue[2];\n } else if (frameNum <= keyTime) {\n newValue[0] = keyData.s[0];\n newValue[1] = keyData.s[1];\n newValue[2] = keyData.s[2];\n } else {\n var quatStart = createQuaternion(keyData.s);\n var quatEnd = createQuaternion(endValue);\n var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\n quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\n }\n } else {\n for (i = 0; i < len; i += 1) {\n if (keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n perc = 1;\n } else if (frameNum < keyTime) {\n perc = 0;\n } else {\n if (keyData.o.x.constructor === Array) {\n if (!keyframeMetadata.__fnct) {\n keyframeMetadata.__fnct = [];\n }\n\n if (!keyframeMetadata.__fnct[i]) {\n outX = keyData.o.x[i] === undefined ? keyData.o.x[0] : keyData.o.x[i];\n outY = keyData.o.y[i] === undefined ? keyData.o.y[0] : keyData.o.y[i];\n inX = keyData.i.x[i] === undefined ? keyData.i.x[0] : keyData.i.x[i];\n inY = keyData.i.y[i] === undefined ? keyData.i.y[0] : keyData.i.y[i];\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyframeMetadata.__fnct[i] = fnc;\n } else {\n fnc = keyframeMetadata.__fnct[i];\n }\n } else if (!keyframeMetadata.__fnct) {\n outX = keyData.o.x;\n outY = keyData.o.y;\n inX = keyData.i.x;\n inY = keyData.i.y;\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyData.keyframeMetadata = fnc;\n } else {\n fnc = keyframeMetadata.__fnct;\n }\n\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n }\n }\n\n endValue = nextKeyData.s || keyData.e;\n keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\n\n if (this.propType === 'multidimensional') {\n newValue[i] = keyValue;\n } else {\n newValue = keyValue;\n }\n }\n }\n }\n\n caching.lastIndex = iterationIndex;\n return newValue;\n } // based on @Toji's https://github.com/toji/gl-matrix/\n\n\n function slerp(a, b, t) {\n var out = [];\n var ax = a[0];\n var ay = a[1];\n var az = a[2];\n var aw = a[3];\n var bx = b[0];\n var by = b[1];\n var bz = b[2];\n var bw = b[3];\n var omega;\n var cosom;\n var sinom;\n var scale0;\n var scale1;\n cosom = ax * bx + ay * by + az * bz + aw * bw;\n\n if (cosom < 0.0) {\n cosom = -cosom;\n bx = -bx;\n by = -by;\n bz = -bz;\n bw = -bw;\n }\n\n if (1.0 - cosom > 0.000001) {\n omega = Math.acos(cosom);\n sinom = Math.sin(omega);\n scale0 = Math.sin((1.0 - t) * omega) / sinom;\n scale1 = Math.sin(t * omega) / sinom;\n } else {\n scale0 = 1.0 - t;\n scale1 = t;\n }\n\n out[0] = scale0 * ax + scale1 * bx;\n out[1] = scale0 * ay + scale1 * by;\n out[2] = scale0 * az + scale1 * bz;\n out[3] = scale0 * aw + scale1 * bw;\n return out;\n }\n\n function quaternionToEuler(out, quat) {\n var qx = quat[0];\n var qy = quat[1];\n var qz = quat[2];\n var qw = quat[3];\n var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\n var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\n var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\n out[0] = heading / degToRads;\n out[1] = attitude / degToRads;\n out[2] = bank / degToRads;\n }\n\n function createQuaternion(values) {\n var heading = values[0] * degToRads;\n var attitude = values[1] * degToRads;\n var bank = values[2] * degToRads;\n var c1 = Math.cos(heading / 2);\n var c2 = Math.cos(attitude / 2);\n var c3 = Math.cos(bank / 2);\n var s1 = Math.sin(heading / 2);\n var s2 = Math.sin(attitude / 2);\n var s3 = Math.sin(bank / 2);\n var w = c1 * c2 * c3 - s1 * s2 * s3;\n var x = s1 * s2 * c3 + c1 * c2 * s3;\n var y = s1 * c2 * c3 + c1 * s2 * s3;\n var z = c1 * s2 * c3 - s1 * c2 * s3;\n return [x, y, z, w];\n }\n\n function getValueAtCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n\n if (!(frameNum === this._caching.lastFrame || this._caching.lastFrame !== initFrame && (this._caching.lastFrame >= endTime && frameNum >= endTime || this._caching.lastFrame < initTime && frameNum < initTime))) {\n if (this._caching.lastFrame >= frameNum) {\n this._caching._lastKeyframeIndex = -1;\n this._caching.lastIndex = 0;\n }\n\n var renderResult = this.interpolateValue(frameNum, this._caching);\n this.pv = renderResult;\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function setVValue(val) {\n var multipliedValue;\n\n if (this.propType === 'unidimensional') {\n multipliedValue = val * this.mult;\n\n if (mathAbs(this.v - multipliedValue) > 0.00001) {\n this.v = multipliedValue;\n this._mdf = true;\n }\n } else {\n var i = 0;\n var len = this.v.length;\n\n while (i < len) {\n multipliedValue = val[i] * this.mult;\n\n if (mathAbs(this.v[i] - multipliedValue) > 0.00001) {\n this.v[i] = multipliedValue;\n this._mdf = true;\n }\n\n i += 1;\n }\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) {\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = this._isFirstFrame;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = this.kf ? this.pv : this.data.k;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this._isFirstFrame = false;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n\n function ValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.mult = mult || 1;\n this.data = data;\n this.v = mult ? data.k * mult : data.k;\n this.pv = data.k;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.vel = 0;\n this.effectsSequence = [];\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function MultiDimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n this.mult = mult || 1;\n this.data = data;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.frameId = -1;\n var i;\n var len = data.k.length;\n this.v = createTypedArray('float32', len);\n this.pv = createTypedArray('float32', len);\n this.vel = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n this.v[i] = data.k[i] * this.mult;\n this.pv[i] = data.k[i];\n }\n\n this._isFirstFrame = true;\n this.effectsSequence = [];\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function KeyframedValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.frameId = -1;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: 0,\n _lastKeyframeIndex: -1\n };\n this.k = true;\n this.kf = true;\n this.data = data;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.v = initFrame;\n this.pv = initFrame;\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.addEffect = addEffect;\n }\n\n function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n var i;\n var len = data.k.length;\n var s;\n var e;\n var to;\n var ti;\n\n for (i = 0; i < len - 1; i += 1) {\n if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\n s = data.k[i].s;\n e = data.k[i + 1].s;\n to = data.k[i].to;\n ti = data.k[i].ti;\n\n if (s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], s[0] + to[0], s[1] + to[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], e[0] + ti[0], e[1] + ti[1]) || s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], s[0] + to[0], s[1] + to[1], s[2] + to[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], e[0] + ti[0], e[1] + ti[1], e[2] + ti[2])) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n\n if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\n if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n }\n }\n }\n\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.data = data;\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.k = true;\n this.kf = true;\n this._isFirstFrame = true;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.frameId = -1;\n var arrLen = data.k[0].s.length;\n this.v = createTypedArray('float32', arrLen);\n this.pv = createTypedArray('float32', arrLen);\n\n for (i = 0; i < arrLen; i += 1) {\n this.v[i] = initFrame;\n this.pv[i] = initFrame;\n }\n\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: createTypedArray('float32', arrLen)\n };\n this.addEffect = addEffect;\n }\n\n var PropertyFactory = function () {\n function getProp(elem, data, type, mult, container) {\n if (data.sid) {\n data = elem.globalData.slotManager.getProp(data);\n }\n\n var p;\n\n if (!data.k.length) {\n p = new ValueProperty(elem, data, mult, container);\n } else if (typeof data.k[0] === 'number') {\n p = new MultiDimensionalProperty(elem, data, mult, container);\n } else {\n switch (type) {\n case 0:\n p = new KeyframedValueProperty(elem, data, mult, container);\n break;\n\n case 1:\n p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\n break;\n\n default:\n break;\n }\n }\n\n if (p.effectsSequence.length) {\n container.addDynamicProperty(p);\n }\n\n return p;\n }\n\n var ob = {\n getProp: getProp\n };\n return ob;\n }();\n\n function DynamicPropertyContainer() {}\n\n DynamicPropertyContainer.prototype = {\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n this.container.addDynamicProperty(this);\n this._isAnimated = true;\n }\n },\n iterateDynamicProperties: function iterateDynamicProperties() {\n this._mdf = false;\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this._mdf = true;\n }\n }\n },\n initDynamicPropertyContainer: function initDynamicPropertyContainer(container) {\n this.container = container;\n this.dynamicProperties = [];\n this._mdf = false;\n this._isAnimated = false;\n }\n };\n\n var pointPool = function () {\n function create() {\n return createTypedArray('float32', 2);\n }\n\n return poolFactory(8, create);\n }();\n\n function ShapePath() {\n this.c = false;\n this._length = 0;\n this._maxLength = 8;\n this.v = createSizedArray(this._maxLength);\n this.o = createSizedArray(this._maxLength);\n this.i = createSizedArray(this._maxLength);\n }\n\n ShapePath.prototype.setPathData = function (closed, len) {\n this.c = closed;\n this.setLength(len);\n var i = 0;\n\n while (i < len) {\n this.v[i] = pointPool.newElement();\n this.o[i] = pointPool.newElement();\n this.i[i] = pointPool.newElement();\n i += 1;\n }\n };\n\n ShapePath.prototype.setLength = function (len) {\n while (this._maxLength < len) {\n this.doubleArrayLength();\n }\n\n this._length = len;\n };\n\n ShapePath.prototype.doubleArrayLength = function () {\n this.v = this.v.concat(createSizedArray(this._maxLength));\n this.i = this.i.concat(createSizedArray(this._maxLength));\n this.o = this.o.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n };\n\n ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n var arr;\n this._length = Math.max(this._length, pos + 1);\n\n if (this._length >= this._maxLength) {\n this.doubleArrayLength();\n }\n\n switch (type) {\n case 'v':\n arr = this.v;\n break;\n\n case 'i':\n arr = this.i;\n break;\n\n case 'o':\n arr = this.o;\n break;\n\n default:\n arr = [];\n break;\n }\n\n if (!arr[pos] || arr[pos] && !replace) {\n arr[pos] = pointPool.newElement();\n }\n\n arr[pos][0] = x;\n arr[pos][1] = y;\n };\n\n ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\n this.setXYAt(vX, vY, 'v', pos, replace);\n this.setXYAt(oX, oY, 'o', pos, replace);\n this.setXYAt(iX, iY, 'i', pos, replace);\n };\n\n ShapePath.prototype.reverse = function () {\n var newPath = new ShapePath();\n newPath.setPathData(this.c, this._length);\n var vertices = this.v;\n var outPoints = this.o;\n var inPoints = this.i;\n var init = 0;\n\n if (this.c) {\n newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\n init = 1;\n }\n\n var cnt = this._length - 1;\n var len = this._length;\n var i;\n\n for (i = init; i < len; i += 1) {\n newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\n cnt -= 1;\n }\n\n return newPath;\n };\n\n ShapePath.prototype.length = function () {\n return this._length;\n };\n\n var shapePool = function () {\n function create() {\n return new ShapePath();\n }\n\n function release(shapePath) {\n var len = shapePath._length;\n var i;\n\n for (i = 0; i < len; i += 1) {\n pointPool.release(shapePath.v[i]);\n pointPool.release(shapePath.i[i]);\n pointPool.release(shapePath.o[i]);\n shapePath.v[i] = null;\n shapePath.i[i] = null;\n shapePath.o[i] = null;\n }\n\n shapePath._length = 0;\n shapePath.c = false;\n }\n\n function clone(shape) {\n var cloned = factory.newElement();\n var i;\n var len = shape._length === undefined ? shape.v.length : shape._length;\n cloned.setLength(len);\n cloned.c = shape.c;\n\n for (i = 0; i < len; i += 1) {\n cloned.setTripleAt(shape.v[i][0], shape.v[i][1], shape.o[i][0], shape.o[i][1], shape.i[i][0], shape.i[i][1], i);\n }\n\n return cloned;\n }\n\n var factory = poolFactory(4, create, release);\n factory.clone = clone;\n return factory;\n }();\n\n function ShapeCollection() {\n this._length = 0;\n this._maxLength = 4;\n this.shapes = createSizedArray(this._maxLength);\n }\n\n ShapeCollection.prototype.addShape = function (shapeData) {\n if (this._length === this._maxLength) {\n this.shapes = this.shapes.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n }\n\n this.shapes[this._length] = shapeData;\n this._length += 1;\n };\n\n ShapeCollection.prototype.releaseShapes = function () {\n var i;\n\n for (i = 0; i < this._length; i += 1) {\n shapePool.release(this.shapes[i]);\n }\n\n this._length = 0;\n };\n\n var shapeCollectionPool = function () {\n var ob = {\n newShapeCollection: newShapeCollection,\n release: release\n };\n var _length = 0;\n var _maxLength = 4;\n var pool = createSizedArray(_maxLength);\n\n function newShapeCollection() {\n var shapeCollection;\n\n if (_length) {\n _length -= 1;\n shapeCollection = pool[_length];\n } else {\n shapeCollection = new ShapeCollection();\n }\n\n return shapeCollection;\n }\n\n function release(shapeCollection) {\n var i;\n var len = shapeCollection._length;\n\n for (i = 0; i < len; i += 1) {\n shapePool.release(shapeCollection.shapes[i]);\n }\n\n shapeCollection._length = 0;\n\n if (_length === _maxLength) {\n pool = pooling[\"double\"](pool);\n _maxLength *= 2;\n }\n\n pool[_length] = shapeCollection;\n _length += 1;\n }\n\n return ob;\n }();\n\n var ShapePropertyFactory = function () {\n var initFrame = -999999;\n\n function interpolateShape(frameNum, previousValue, caching) {\n var iterationIndex = caching.lastIndex;\n var keyPropS;\n var keyPropE;\n var isHold;\n var j;\n var k;\n var jLen;\n var kLen;\n var perc;\n var vertexValue;\n var kf = this.keyframes;\n\n if (frameNum < kf[0].t - this.offsetTime) {\n keyPropS = kf[0].s[0];\n isHold = true;\n iterationIndex = 0;\n } else if (frameNum >= kf[kf.length - 1].t - this.offsetTime) {\n keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\n /* if(kf[kf.length - 1].s){\r\n keyPropS = kf[kf.length - 1].s[0];\r\n }else{\r\n keyPropS = kf[kf.length - 2].e[0];\r\n } */\n\n isHold = true;\n } else {\n var i = iterationIndex;\n var len = kf.length - 1;\n var flag = true;\n var keyData;\n var nextKeyData;\n var keyframeMetadata;\n\n while (flag) {\n keyData = kf[i];\n nextKeyData = kf[i + 1];\n\n if (nextKeyData.t - this.offsetTime > frameNum) {\n break;\n }\n\n if (i < len - 1) {\n i += 1;\n } else {\n flag = false;\n }\n }\n\n keyframeMetadata = this.keyframesMetadata[i] || {};\n isHold = keyData.h === 1;\n iterationIndex = i;\n\n if (!isHold) {\n if (frameNum >= nextKeyData.t - this.offsetTime) {\n perc = 1;\n } else if (frameNum < keyData.t - this.offsetTime) {\n perc = 0;\n } else {\n var fnc;\n\n if (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n keyframeMetadata.__fnct = fnc;\n }\n\n perc = fnc((frameNum - (keyData.t - this.offsetTime)) / (nextKeyData.t - this.offsetTime - (keyData.t - this.offsetTime)));\n }\n\n keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\n }\n\n keyPropS = keyData.s[0];\n }\n\n jLen = previousValue._length;\n kLen = keyPropS.i[0].length;\n caching.lastIndex = iterationIndex;\n\n for (j = 0; j < jLen; j += 1) {\n for (k = 0; k < kLen; k += 1) {\n vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\n previousValue.i[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\n previousValue.o[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\n previousValue.v[j][k] = vertexValue;\n }\n }\n }\n\n function interpolateShapeCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n var lastFrame = this._caching.lastFrame;\n\n if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n /// /\n this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0;\n this.interpolateShape(frameNum, this.pv, this._caching); /// /\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function resetShape() {\n this.paths = this.localShapeCollection;\n }\n\n function shapesEqual(shape1, shape2) {\n if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\n return false;\n }\n\n var i;\n var len = shape1._length;\n\n for (i = 0; i < len; i += 1) {\n if (shape1.v[i][0] !== shape2.v[i][0] || shape1.v[i][1] !== shape2.v[i][1] || shape1.o[i][0] !== shape2.o[i][0] || shape1.o[i][1] !== shape2.o[i][1] || shape1.i[i][0] !== shape2.i[i][0] || shape1.i[i][1] !== shape2.i[i][1]) {\n return false;\n }\n }\n\n return true;\n }\n\n function setVValue(newPath) {\n if (!shapesEqual(this.v, newPath)) {\n this.v = shapePool.clone(newPath);\n this.localShapeCollection.releaseShapes();\n this.localShapeCollection.addShape(this.v);\n this._mdf = true;\n this.paths = this.localShapeCollection;\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (!this.effectsSequence.length) {\n this._mdf = false;\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var finalValue;\n\n if (this.kf) {\n finalValue = this.pv;\n } else if (this.data.ks) {\n finalValue = this.data.ks.k;\n } else {\n finalValue = this.data.pt.k;\n }\n\n var i;\n var len = this.effectsSequence.length;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function ShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.container = elem;\n this.elem = elem;\n this.data = data;\n this.k = false;\n this.kf = false;\n this._mdf = false;\n var pathData = type === 3 ? data.pt.k : data.ks.k;\n this.v = shapePool.clone(pathData);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.reset = resetShape;\n this.effectsSequence = [];\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n\n ShapeProperty.prototype.interpolateShape = interpolateShape;\n ShapeProperty.prototype.getValue = processEffectsSequence;\n ShapeProperty.prototype.setVValue = setVValue;\n ShapeProperty.prototype.addEffect = addEffect;\n\n function KeyframedShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.elem = elem;\n this.container = elem;\n this.offsetTime = elem.data.st;\n this.keyframes = type === 3 ? data.pt.k : data.ks.k;\n this.keyframesMetadata = [];\n this.k = true;\n this.kf = true;\n var len = this.keyframes[0].s[0].i.length;\n this.v = shapePool.newElement();\n this.v.setPathData(this.keyframes[0].s[0].c, len);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.lastFrame = initFrame;\n this.reset = resetShape;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0\n };\n this.effectsSequence = [interpolateShapeCurrentTime.bind(this)];\n }\n\n KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\n KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\n KeyframedShapeProperty.prototype.setVValue = setVValue;\n KeyframedShapeProperty.prototype.addEffect = addEffect;\n\n var EllShapeProperty = function () {\n var cPoint = roundCorner;\n\n function EllShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.setPathData(true, 4);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.localShapeCollection.addShape(this.v);\n this.d = data.d;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertEllToPath();\n }\n }\n\n EllShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertEllToPath();\n }\n },\n convertEllToPath: function convertEllToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var s0 = this.s.v[0] / 2;\n var s1 = this.s.v[1] / 2;\n\n var _cw = this.d !== 3;\n\n var _v = this.v;\n _v.v[0][0] = p0;\n _v.v[0][1] = p1 - s1;\n _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.v[1][1] = p1;\n _v.v[2][0] = p0;\n _v.v[2][1] = p1 + s1;\n _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.v[3][1] = p1;\n _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.i[0][1] = p1 - s1;\n _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.i[1][1] = p1 - s1 * cPoint;\n _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.i[2][1] = p1 + s1;\n _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.i[3][1] = p1 + s1 * cPoint;\n _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.o[0][1] = p1 - s1;\n _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.o[1][1] = p1 + s1 * cPoint;\n _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.o[2][1] = p1 + s1;\n _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.o[3][1] = p1 - s1 * cPoint;\n }\n };\n extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\n return EllShapePropertyFactory;\n }();\n\n var StarShapeProperty = function () {\n function StarShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.setPathData(true, 0);\n this.elem = elem;\n this.comp = elem.comp;\n this.data = data;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n\n if (data.sy === 1) {\n this.ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this);\n this.is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this);\n this.convertToPath = this.convertStarToPath;\n } else {\n this.convertToPath = this.convertPolygonToPath;\n }\n\n this.pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this);\n this.or = PropertyFactory.getProp(elem, data.or, 0, 0, this);\n this.os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertToPath();\n }\n }\n\n StarShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertToPath();\n }\n },\n convertStarToPath: function convertStarToPath() {\n var numPts = Math.floor(this.pt.v) * 2;\n var angle = Math.PI * 2 / numPts;\n /* this.v.v.length = numPts;\r\n this.v.i.length = numPts;\r\n this.v.o.length = numPts; */\n\n var longFlag = true;\n var longRad = this.or.v;\n var shortRad = this.ir.v;\n var longRound = this.os.v;\n var shortRound = this.is.v;\n var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);\n var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);\n var i;\n var rad;\n var roundness;\n var perimSegment;\n var currentAng = -Math.PI / 2;\n currentAng += this.r.v;\n var dir = this.data.d === 3 ? -1 : 1;\n this.v._length = 0;\n\n for (i = 0; i < numPts; i += 1) {\n rad = longFlag ? longRad : shortRad;\n roundness = longFlag ? longRound : shortRound;\n perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n /* this.v.v[i] = [x,y];\r\n this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];\r\n this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];\r\n this.v._length = numPts; */\n\n longFlag = !longFlag;\n currentAng += angle * dir;\n }\n },\n convertPolygonToPath: function convertPolygonToPath() {\n var numPts = Math.floor(this.pt.v);\n var angle = Math.PI * 2 / numPts;\n var rad = this.or.v;\n var roundness = this.os.v;\n var perimSegment = 2 * Math.PI * rad / (numPts * 4);\n var i;\n var currentAng = -Math.PI * 0.5;\n var dir = this.data.d === 3 ? -1 : 1;\n currentAng += this.r.v;\n this.v._length = 0;\n\n for (i = 0; i < numPts; i += 1) {\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n currentAng += angle * dir;\n }\n\n this.paths.length = 0;\n this.paths[0] = this.v;\n }\n };\n extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\n return StarShapePropertyFactory;\n }();\n\n var RectShapeProperty = function () {\n function RectShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.c = true;\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertRectToPath();\n }\n }\n\n RectShapePropertyFactory.prototype = {\n convertRectToPath: function convertRectToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var v0 = this.s.v[0] / 2;\n var v1 = this.s.v[1] / 2;\n var round = bmMin(v0, v1, this.r.v);\n var cPoint = round * (1 - roundCorner);\n this.v._length = 0;\n\n if (this.d === 2 || this.d === 1) {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\n\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n }\n } else {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\n\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n this.v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n }\n }\n },\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertRectToPath();\n }\n },\n reset: resetShape\n };\n extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\n return RectShapePropertyFactory;\n }();\n\n function getShapeProp(elem, data, type) {\n var prop;\n\n if (type === 3 || type === 4) {\n var dataProp = type === 3 ? data.pt : data.ks;\n var keys = dataProp.k;\n\n if (keys.length) {\n prop = new KeyframedShapeProperty(elem, data, type);\n } else {\n prop = new ShapeProperty(elem, data, type);\n }\n } else if (type === 5) {\n prop = new RectShapeProperty(elem, data);\n } else if (type === 6) {\n prop = new EllShapeProperty(elem, data);\n } else if (type === 7) {\n prop = new StarShapeProperty(elem, data);\n }\n\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n\n return prop;\n }\n\n function getConstructorFunction() {\n return ShapeProperty;\n }\n\n function getKeyframedConstructorFunction() {\n return KeyframedShapeProperty;\n }\n\n var ob = {};\n ob.getShapeProp = getShapeProp;\n ob.getConstructorFunction = getConstructorFunction;\n ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\n return ob;\n }();\n\n /*!\r\n Transformation Matrix v2.0\r\n (c) Epistemex 2014-2015\r\n www.epistemex.com\r\n By Ken Fyrstenberg\r\n Contributions by leeoniya.\r\n License: MIT, header required.\r\n */\n\n /**\r\n * 2D transformation matrix object initialized with identity matrix.\r\n *\r\n * The matrix can synchronize a canvas context by supplying the context\r\n * as an argument, or later apply current absolute transform to an\r\n * existing context.\r\n *\r\n * All values are handled as floating point values.\r\n *\r\n * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix\r\n * @prop {number} a - scale x\r\n * @prop {number} b - shear y\r\n * @prop {number} c - shear x\r\n * @prop {number} d - scale y\r\n * @prop {number} e - translate x\r\n * @prop {number} f - translate y\r\n * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context\r\n * @constructor\r\n */\n\n var Matrix = function () {\n var _cos = Math.cos;\n var _sin = Math.sin;\n var _tan = Math.tan;\n var _rnd = Math.round;\n\n function reset() {\n this.props[0] = 1;\n this.props[1] = 0;\n this.props[2] = 0;\n this.props[3] = 0;\n this.props[4] = 0;\n this.props[5] = 1;\n this.props[6] = 0;\n this.props[7] = 0;\n this.props[8] = 0;\n this.props[9] = 0;\n this.props[10] = 1;\n this.props[11] = 0;\n this.props[12] = 0;\n this.props[13] = 0;\n this.props[14] = 0;\n this.props[15] = 1;\n return this;\n }\n\n function rotate(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function rotateX(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\n }\n\n function rotateY(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\n }\n\n function rotateZ(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function shear(sx, sy) {\n return this._t(1, sy, sx, 1, 0, 0);\n }\n\n function skew(ax, ay) {\n return this.shear(_tan(ax), _tan(ay));\n }\n\n function skewFromAxis(ax, angle) {\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\n }\n\n function scale(sx, sy, sz) {\n if (!sz && sz !== 0) {\n sz = 1;\n }\n\n if (sx === 1 && sy === 1 && sz === 1) {\n return this;\n }\n\n return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\n }\n\n function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\n this.props[0] = a;\n this.props[1] = b;\n this.props[2] = c;\n this.props[3] = d;\n this.props[4] = e;\n this.props[5] = f;\n this.props[6] = g;\n this.props[7] = h;\n this.props[8] = i;\n this.props[9] = j;\n this.props[10] = k;\n this.props[11] = l;\n this.props[12] = m;\n this.props[13] = n;\n this.props[14] = o;\n this.props[15] = p;\n return this;\n }\n\n function translate(tx, ty, tz) {\n tz = tz || 0;\n\n if (tx !== 0 || ty !== 0 || tz !== 0) {\n return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\n }\n\n return this;\n }\n\n function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\n var _p = this.props;\n\n if (a2 === 1 && b2 === 0 && c2 === 0 && d2 === 0 && e2 === 0 && f2 === 1 && g2 === 0 && h2 === 0 && i2 === 0 && j2 === 0 && k2 === 1 && l2 === 0) {\n // NOTE: commenting this condition because TurboFan deoptimizes code when present\n // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\n _p[12] = _p[12] * a2 + _p[15] * m2;\n _p[13] = _p[13] * f2 + _p[15] * n2;\n _p[14] = _p[14] * k2 + _p[15] * o2;\n _p[15] *= p2; // }\n\n this._identityCalculated = false;\n return this;\n }\n\n var a1 = _p[0];\n var b1 = _p[1];\n var c1 = _p[2];\n var d1 = _p[3];\n var e1 = _p[4];\n var f1 = _p[5];\n var g1 = _p[6];\n var h1 = _p[7];\n var i1 = _p[8];\n var j1 = _p[9];\n var k1 = _p[10];\n var l1 = _p[11];\n var m1 = _p[12];\n var n1 = _p[13];\n var o1 = _p[14];\n var p1 = _p[15];\n /* matrix order (canvas compatible):\r\n * ace\r\n * bdf\r\n * 001\r\n */\n\n _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\n _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\n _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\n _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\n _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\n _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\n _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\n _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\n _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\n _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\n _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\n _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\n _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\n _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\n _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\n _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\n this._identityCalculated = false;\n return this;\n }\n\n function multiply(matrix) {\n var matrixProps = matrix.props;\n return this.transform(matrixProps[0], matrixProps[1], matrixProps[2], matrixProps[3], matrixProps[4], matrixProps[5], matrixProps[6], matrixProps[7], matrixProps[8], matrixProps[9], matrixProps[10], matrixProps[11], matrixProps[12], matrixProps[13], matrixProps[14], matrixProps[15]);\n }\n\n function isIdentity() {\n if (!this._identityCalculated) {\n this._identity = !(this.props[0] !== 1 || this.props[1] !== 0 || this.props[2] !== 0 || this.props[3] !== 0 || this.props[4] !== 0 || this.props[5] !== 1 || this.props[6] !== 0 || this.props[7] !== 0 || this.props[8] !== 0 || this.props[9] !== 0 || this.props[10] !== 1 || this.props[11] !== 0 || this.props[12] !== 0 || this.props[13] !== 0 || this.props[14] !== 0 || this.props[15] !== 1);\n this._identityCalculated = true;\n }\n\n return this._identity;\n }\n\n function equals(matr) {\n var i = 0;\n\n while (i < 16) {\n if (matr.props[i] !== this.props[i]) {\n return false;\n }\n\n i += 1;\n }\n\n return true;\n }\n\n function clone(matr) {\n var i;\n\n for (i = 0; i < 16; i += 1) {\n matr.props[i] = this.props[i];\n }\n\n return matr;\n }\n\n function cloneFromProps(props) {\n var i;\n\n for (i = 0; i < 16; i += 1) {\n this.props[i] = props[i];\n }\n }\n\n function applyToPoint(x, y, z) {\n return {\n x: x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],\n y: x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],\n z: x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]\n };\n /* return {\r\n x: x * me.a + y * me.c + me.e,\r\n y: x * me.b + y * me.d + me.f\r\n }; */\n }\n\n function applyToX(x, y, z) {\n return x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12];\n }\n\n function applyToY(x, y, z) {\n return x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13];\n }\n\n function applyToZ(x, y, z) {\n return x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14];\n }\n\n function getInverseMatrix() {\n var determinant = this.props[0] * this.props[5] - this.props[1] * this.props[4];\n var a = this.props[5] / determinant;\n var b = -this.props[1] / determinant;\n var c = -this.props[4] / determinant;\n var d = this.props[0] / determinant;\n var e = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / determinant;\n var f = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / determinant;\n var inverseMatrix = new Matrix();\n inverseMatrix.props[0] = a;\n inverseMatrix.props[1] = b;\n inverseMatrix.props[4] = c;\n inverseMatrix.props[5] = d;\n inverseMatrix.props[12] = e;\n inverseMatrix.props[13] = f;\n return inverseMatrix;\n }\n\n function inversePoint(pt) {\n var inverseMatrix = this.getInverseMatrix();\n return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\n }\n\n function inversePoints(pts) {\n var i;\n var len = pts.length;\n var retPts = [];\n\n for (i = 0; i < len; i += 1) {\n retPts[i] = inversePoint(pts[i]);\n }\n\n return retPts;\n }\n\n function applyToTriplePoints(pt1, pt2, pt3) {\n var arr = createTypedArray('float32', 6);\n\n if (this.isIdentity()) {\n arr[0] = pt1[0];\n arr[1] = pt1[1];\n arr[2] = pt2[0];\n arr[3] = pt2[1];\n arr[4] = pt3[0];\n arr[5] = pt3[1];\n } else {\n var p0 = this.props[0];\n var p1 = this.props[1];\n var p4 = this.props[4];\n var p5 = this.props[5];\n var p12 = this.props[12];\n var p13 = this.props[13];\n arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\n arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\n arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\n arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\n arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\n arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\n }\n\n return arr;\n }\n\n function applyToPointArray(x, y, z) {\n var arr;\n\n if (this.isIdentity()) {\n arr = [x, y, z];\n } else {\n arr = [x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12], x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13], x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]];\n }\n\n return arr;\n }\n\n function applyToPointStringified(x, y) {\n if (this.isIdentity()) {\n return x + ',' + y;\n }\n\n var _p = this.props;\n return Math.round((x * _p[0] + y * _p[4] + _p[12]) * 100) / 100 + ',' + Math.round((x * _p[1] + y * _p[5] + _p[13]) * 100) / 100;\n }\n\n function toCSS() {\n // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\n var i = 0;\n var props = this.props;\n var cssValue = 'matrix3d(';\n var v = 10000;\n\n while (i < 16) {\n cssValue += _rnd(props[i] * v) / v;\n cssValue += i === 15 ? ')' : ',';\n i += 1;\n }\n\n return cssValue;\n }\n\n function roundMatrixProperty(val) {\n var v = 10000;\n\n if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) {\n return _rnd(val * v) / v;\n }\n\n return val;\n }\n\n function to2dCSS() {\n // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\n var props = this.props;\n\n var _a = roundMatrixProperty(props[0]);\n\n var _b = roundMatrixProperty(props[1]);\n\n var _c = roundMatrixProperty(props[4]);\n\n var _d = roundMatrixProperty(props[5]);\n\n var _e = roundMatrixProperty(props[12]);\n\n var _f = roundMatrixProperty(props[13]);\n\n return 'matrix(' + _a + ',' + _b + ',' + _c + ',' + _d + ',' + _e + ',' + _f + ')';\n }\n\n return function () {\n this.reset = reset;\n this.rotate = rotate;\n this.rotateX = rotateX;\n this.rotateY = rotateY;\n this.rotateZ = rotateZ;\n this.skew = skew;\n this.skewFromAxis = skewFromAxis;\n this.shear = shear;\n this.scale = scale;\n this.setTransform = setTransform;\n this.translate = translate;\n this.transform = transform;\n this.multiply = multiply;\n this.applyToPoint = applyToPoint;\n this.applyToX = applyToX;\n this.applyToY = applyToY;\n this.applyToZ = applyToZ;\n this.applyToPointArray = applyToPointArray;\n this.applyToTriplePoints = applyToTriplePoints;\n this.applyToPointStringified = applyToPointStringified;\n this.toCSS = toCSS;\n this.to2dCSS = to2dCSS;\n this.clone = clone;\n this.cloneFromProps = cloneFromProps;\n this.equals = equals;\n this.inversePoints = inversePoints;\n this.inversePoint = inversePoint;\n this.getInverseMatrix = getInverseMatrix;\n this._t = this.transform;\n this.isIdentity = isIdentity;\n this._identity = true;\n this._identityCalculated = false;\n this.props = createTypedArray('float32', 16);\n this.reset();\n };\n }();\n\n function _typeof$3(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$3 = function _typeof(obj) { return typeof obj; }; } else { _typeof$3 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$3(obj); }\n var lottie = {};\n var standalone = '__[STANDALONE]__';\n var animationData = '__[ANIMATIONDATA]__';\n var renderer = '';\n\n function setLocation(href) {\n setLocationHref(href);\n }\n\n function searchAnimations() {\n if (standalone === true) {\n animationManager.searchAnimations(animationData, standalone, renderer);\n } else {\n animationManager.searchAnimations();\n }\n }\n\n function setSubframeRendering(flag) {\n setSubframeEnabled(flag);\n }\n\n function setPrefix(prefix) {\n setIdPrefix(prefix);\n }\n\n function loadAnimation(params) {\n if (standalone === true) {\n params.animationData = JSON.parse(animationData);\n }\n\n return animationManager.loadAnimation(params);\n }\n\n function setQuality(value) {\n if (typeof value === 'string') {\n switch (value) {\n case 'high':\n setDefaultCurveSegments(200);\n break;\n\n default:\n case 'medium':\n setDefaultCurveSegments(50);\n break;\n\n case 'low':\n setDefaultCurveSegments(10);\n break;\n }\n } else if (!isNaN(value) && value > 1) {\n setDefaultCurveSegments(value);\n }\n\n if (getDefaultCurveSegments() >= 50) {\n roundValues(false);\n } else {\n roundValues(true);\n }\n }\n\n function inBrowser() {\n return typeof navigator !== 'undefined';\n }\n\n function installPlugin(type, plugin) {\n if (type === 'expressions') {\n setExpressionsPlugin(plugin);\n }\n }\n\n function getFactory(name) {\n switch (name) {\n case 'propertyFactory':\n return PropertyFactory;\n\n case 'shapePropertyFactory':\n return ShapePropertyFactory;\n\n case 'matrix':\n return Matrix;\n\n default:\n return null;\n }\n }\n\n lottie.play = animationManager.play;\n lottie.pause = animationManager.pause;\n lottie.setLocationHref = setLocation;\n lottie.togglePause = animationManager.togglePause;\n lottie.setSpeed = animationManager.setSpeed;\n lottie.setDirection = animationManager.setDirection;\n lottie.stop = animationManager.stop;\n lottie.searchAnimations = searchAnimations;\n lottie.registerAnimation = animationManager.registerAnimation;\n lottie.loadAnimation = loadAnimation;\n lottie.setSubframeRendering = setSubframeRendering;\n lottie.resize = animationManager.resize; // lottie.start = start;\n\n lottie.goToAndStop = animationManager.goToAndStop;\n lottie.destroy = animationManager.destroy;\n lottie.setQuality = setQuality;\n lottie.inBrowser = inBrowser;\n lottie.installPlugin = installPlugin;\n lottie.freeze = animationManager.freeze;\n lottie.unfreeze = animationManager.unfreeze;\n lottie.setVolume = animationManager.setVolume;\n lottie.mute = animationManager.mute;\n lottie.unmute = animationManager.unmute;\n lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\n lottie.useWebWorker = setWebWorker;\n lottie.setIDPrefix = setPrefix;\n lottie.__getFactory = getFactory;\n lottie.version = '5.12.2';\n\n function checkReady() {\n if (document.readyState === 'complete') {\n clearInterval(readyStateCheckInterval);\n searchAnimations();\n }\n }\n\n function getQueryVariable(variable) {\n var vars = queryString.split('&');\n\n for (var i = 0; i < vars.length; i += 1) {\n var pair = vars[i].split('=');\n\n if (decodeURIComponent(pair[0]) == variable) {\n // eslint-disable-line eqeqeq\n return decodeURIComponent(pair[1]);\n }\n }\n\n return null;\n }\n\n var queryString = '';\n\n if (standalone) {\n var scripts = document.getElementsByTagName('script');\n var index = scripts.length - 1;\n var myScript = scripts[index] || {\n src: ''\n };\n queryString = myScript.src ? myScript.src.replace(/^[^\\?]+\\??/, '') : ''; // eslint-disable-line no-useless-escape\n\n renderer = getQueryVariable('renderer');\n }\n\n var readyStateCheckInterval = setInterval(checkReady, 100); // this adds bodymovin to the window object for backwards compatibility\n\n try {\n if (!((typeof exports === \"undefined\" ? \"undefined\" : _typeof$3(exports)) === 'object' && typeof module !== 'undefined') && !(typeof define === 'function' && define.amd) // eslint-disable-line no-undef\n ) {\n window.bodymovin = lottie;\n }\n } catch (err) {//\n }\n\n var ShapeModifiers = function () {\n var ob = {};\n var modifiers = {};\n ob.registerModifier = registerModifier;\n ob.getModifier = getModifier;\n\n function registerModifier(nm, factory) {\n if (!modifiers[nm]) {\n modifiers[nm] = factory;\n }\n }\n\n function getModifier(nm, elem, data) {\n return new modifiers[nm](elem, data);\n }\n\n return ob;\n }();\n\n function ShapeModifier() {}\n\n ShapeModifier.prototype.initModifierProperties = function () {};\n\n ShapeModifier.prototype.addShapeToModifier = function () {};\n\n ShapeModifier.prototype.addShape = function (data) {\n if (!this.closed) {\n // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.\n data.sh.container.addDynamicProperty(data.sh);\n var shapeData = {\n shape: data.sh,\n data: data,\n localShapeCollection: shapeCollectionPool.newShapeCollection()\n };\n this.shapes.push(shapeData);\n this.addShapeToModifier(shapeData);\n\n if (this._isAnimated) {\n data.setAsAnimated();\n }\n }\n };\n\n ShapeModifier.prototype.init = function (elem, data) {\n this.shapes = [];\n this.elem = elem;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, data);\n this.frameId = initialDefaultFrame;\n this.closed = false;\n this.k = false;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n\n ShapeModifier.prototype.processKeys = function () {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n extendPrototype([DynamicPropertyContainer], ShapeModifier);\n\n function TrimModifier() {}\n\n extendPrototype([ShapeModifier], TrimModifier);\n\n TrimModifier.prototype.initModifierProperties = function (elem, data) {\n this.s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this);\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0, this);\n this.sValue = 0;\n this.eValue = 0;\n this.getValue = this.processKeys;\n this.m = data.m;\n this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;\n };\n\n TrimModifier.prototype.addShapeToModifier = function (shapeData) {\n shapeData.pathsData = [];\n };\n\n TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\n var segments = [];\n\n if (e <= 1) {\n segments.push({\n s: s,\n e: e\n });\n } else if (s >= 1) {\n segments.push({\n s: s - 1,\n e: e - 1\n });\n } else {\n segments.push({\n s: s,\n e: 1\n });\n segments.push({\n s: 0,\n e: e - 1\n });\n }\n\n var shapeSegments = [];\n var i;\n var len = segments.length;\n var segmentOb;\n\n for (i = 0; i < len; i += 1) {\n segmentOb = segments[i];\n\n if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\n var shapeS;\n var shapeE;\n\n if (segmentOb.s * totalModifierLength <= addedLength) {\n shapeS = 0;\n } else {\n shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\n }\n\n if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\n shapeE = 1;\n } else {\n shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;\n }\n\n shapeSegments.push([shapeS, shapeE]);\n }\n }\n\n if (!shapeSegments.length) {\n shapeSegments.push([0, 0]);\n }\n\n return shapeSegments;\n };\n\n TrimModifier.prototype.releasePathsData = function (pathsData) {\n var i;\n var len = pathsData.length;\n\n for (i = 0; i < len; i += 1) {\n segmentsLengthPool.release(pathsData[i]);\n }\n\n pathsData.length = 0;\n return pathsData;\n };\n\n TrimModifier.prototype.processShapes = function (_isFirstFrame) {\n var s;\n var e;\n\n if (this._mdf || _isFirstFrame) {\n var o = this.o.v % 360 / 360;\n\n if (o < 0) {\n o += 1;\n }\n\n if (this.s.v > 1) {\n s = 1 + o;\n } else if (this.s.v < 0) {\n s = 0 + o;\n } else {\n s = this.s.v + o;\n }\n\n if (this.e.v > 1) {\n e = 1 + o;\n } else if (this.e.v < 0) {\n e = 0 + o;\n } else {\n e = this.e.v + o;\n }\n\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n\n s = Math.round(s * 10000) * 0.0001;\n e = Math.round(e * 10000) * 0.0001;\n this.sValue = s;\n this.eValue = e;\n } else {\n s = this.sValue;\n e = this.eValue;\n }\n\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var pathsData;\n var pathData;\n var totalShapeLength;\n var totalModifierLength = 0;\n\n if (e === s) {\n for (i = 0; i < len; i += 1) {\n this.shapes[i].localShapeCollection.releaseShapes();\n this.shapes[i].shape._mdf = true;\n this.shapes[i].shape.paths = this.shapes[i].localShapeCollection;\n\n if (this._mdf) {\n this.shapes[i].pathsData.length = 0;\n }\n }\n } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {\n var segments = [];\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i]; // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\n\n if (!shapeData.shape._mdf && !this._mdf && !_isFirstFrame && this.m !== 2) {\n shapeData.shape.paths = shapeData.localShapeCollection;\n } else {\n shapePaths = shapeData.shape.paths;\n jLen = shapePaths._length;\n totalShapeLength = 0;\n\n if (!shapeData.shape._mdf && shapeData.pathsData.length) {\n totalShapeLength = shapeData.totalShapeLength;\n } else {\n pathsData = this.releasePathsData(shapeData.pathsData);\n\n for (j = 0; j < jLen; j += 1) {\n pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\n pathsData.push(pathData);\n totalShapeLength += pathData.totalLength;\n }\n\n shapeData.totalShapeLength = totalShapeLength;\n shapeData.pathsData = pathsData;\n }\n\n totalModifierLength += totalShapeLength;\n shapeData.shape._mdf = true;\n }\n }\n\n var shapeS = s;\n var shapeE = e;\n var addedLength = 0;\n var edges;\n\n for (i = len - 1; i >= 0; i -= 1) {\n shapeData = this.shapes[i];\n\n if (shapeData.shape._mdf) {\n localShapeCollection = shapeData.localShapeCollection;\n localShapeCollection.releaseShapes(); // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\n\n if (this.m === 2 && len > 1) {\n edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\n addedLength += shapeData.totalShapeLength;\n } else {\n edges = [[shapeS, shapeE]];\n }\n\n jLen = edges.length;\n\n for (j = 0; j < jLen; j += 1) {\n shapeS = edges[j][0];\n shapeE = edges[j][1];\n segments.length = 0;\n\n if (shapeE <= 1) {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength * shapeE\n });\n } else if (shapeS >= 1) {\n segments.push({\n s: shapeData.totalShapeLength * (shapeS - 1),\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n } else {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength\n });\n segments.push({\n s: 0,\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n }\n\n var newShapesData = this.addShapes(shapeData, segments[0]);\n\n if (segments[0].s !== segments[0].e) {\n if (segments.length > 1) {\n var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\n\n if (lastShapeInCollection.c) {\n var lastShape = newShapesData.pop();\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1], lastShape);\n } else {\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1]);\n }\n }\n\n this.addPaths(newShapesData, localShapeCollection);\n }\n }\n\n shapeData.shape.paths = localShapeCollection;\n }\n }\n } else if (this._mdf) {\n for (i = 0; i < len; i += 1) {\n // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\n // Don't remove this even if it's losing cached info.\n this.shapes[i].pathsData.length = 0;\n this.shapes[i].shape._mdf = true;\n }\n }\n };\n\n TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\n var i;\n var len = newPaths.length;\n\n for (i = 0; i < len; i += 1) {\n localShapeCollection.addShape(newPaths[i]);\n }\n };\n\n TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\n shapePath.setXYAt(pt2[0], pt2[1], 'o', pos);\n shapePath.setXYAt(pt3[0], pt3[1], 'i', pos + 1);\n\n if (newShape) {\n shapePath.setXYAt(pt1[0], pt1[1], 'v', pos);\n }\n\n shapePath.setXYAt(pt4[0], pt4[1], 'v', pos + 1);\n };\n\n TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\n shapePath.setXYAt(points[1], points[5], 'o', pos);\n shapePath.setXYAt(points[2], points[6], 'i', pos + 1);\n\n if (newShape) {\n shapePath.setXYAt(points[0], points[4], 'v', pos);\n }\n\n shapePath.setXYAt(points[3], points[7], 'v', pos + 1);\n };\n\n TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\n var pathsData = shapeData.pathsData;\n var shapePaths = shapeData.shape.paths.shapes;\n var i;\n var len = shapeData.shape.paths._length;\n var j;\n var jLen;\n var addedLength = 0;\n var currentLengthData;\n var segmentCount;\n var lengths;\n var segment;\n var shapes = [];\n var initPos;\n var newShape = true;\n\n if (!shapePath) {\n shapePath = shapePool.newElement();\n segmentCount = 0;\n initPos = 0;\n } else {\n segmentCount = shapePath._length;\n initPos = shapePath._length;\n }\n\n shapes.push(shapePath);\n\n for (i = 0; i < len; i += 1) {\n lengths = pathsData[i].lengths;\n shapePath.c = shapePaths[i].c;\n jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\n\n for (j = 1; j < jLen; j += 1) {\n currentLengthData = lengths[j - 1];\n\n if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\n addedLength += currentLengthData.addedLength;\n shapePath.c = false;\n } else if (addedLength > shapeSegment.e) {\n shapePath.c = false;\n break;\n } else {\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength) / currentLengthData.addedLength, (shapeSegment.e - addedLength) / currentLengthData.addedLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n newShape = false;\n shapePath.c = false;\n }\n\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n }\n\n if (shapePaths[i].c && lengths.length) {\n currentLengthData = lengths[j - 1];\n\n if (addedLength <= shapeSegment.e) {\n var segmentLength = lengths[j - 1].addedLength;\n\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n newShape = false;\n shapePath.c = false;\n }\n } else {\n shapePath.c = false;\n }\n\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n\n if (shapePath._length) {\n shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], 'i', initPos);\n shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], 'o', shapePath._length - 1);\n }\n\n if (addedLength > shapeSegment.e) {\n break;\n }\n\n if (i < len - 1) {\n shapePath = shapePool.newElement();\n newShape = true;\n shapes.push(shapePath);\n segmentCount = 0;\n }\n }\n\n return shapes;\n };\n\n function PuckerAndBloatModifier() {}\n\n extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n\n PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n this._isAnimated = !!this.amount.effectsSequence.length;\n };\n\n PuckerAndBloatModifier.prototype.processPath = function (path, amount) {\n var percent = amount / 100;\n var centerPoint = [0, 0];\n var pathLength = path._length;\n var i = 0;\n\n for (i = 0; i < pathLength; i += 1) {\n centerPoint[0] += path.v[i][0];\n centerPoint[1] += path.v[i][1];\n }\n\n centerPoint[0] /= pathLength;\n centerPoint[1] /= pathLength;\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n var vX;\n var vY;\n var oX;\n var oY;\n var iX;\n var iY;\n\n for (i = 0; i < pathLength; i += 1) {\n vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\n vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\n oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\n oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\n iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\n iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\n }\n\n return clonedPath;\n };\n\n PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amount = this.amount.v;\n\n if (amount !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n var TransformPropertyFactory = function () {\n var defaultVector = [0, 0];\n\n function applyToMatrix(mat) {\n var _mdf = this._mdf;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || _mdf;\n\n if (this.a) {\n mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.s) {\n mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk) {\n mat.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r) {\n mat.rotate(-this.r.v);\n } else {\n mat.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n }\n\n if (this.data.p.s) {\n if (this.data.p.z) {\n mat.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n mat.translate(this.px.v, this.py.v, 0);\n }\n } else {\n mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n function processKeys(forceRender) {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (this._isDirty) {\n this.precalculateMatrix();\n this._isDirty = false;\n }\n\n this.iterateDynamicProperties();\n\n if (this._mdf || forceRender) {\n var frameRate;\n this.v.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.appliedTransformations < 2) {\n this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n this.v.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n this.v.rotate(-this.r.v);\n } else if (!this.r && this.appliedTransformations < 4) {\n this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n }\n\n if (this.autoOriented) {\n var v1;\n var v2;\n frameRate = this.elem.globalData.frameRate;\n\n if (this.p && this.p.keyframes && this.p.getValueAtTime) {\n if (this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t) {\n v1 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / frameRate, 0);\n v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0);\n } else if (this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) {\n v1 = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / frameRate, 0);\n v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n } else {\n v1 = this.p.pv;\n v2 = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - 0.01) / frameRate, this.p.offsetTime);\n }\n } else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\n v1 = [];\n v2 = [];\n var px = this.px;\n var py = this.py;\n\n if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\n v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\n v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\n v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);\n v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);\n } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\n v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);\n v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);\n v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\n v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\n } else {\n v1 = [px.pv, py.pv];\n v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\n v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\n }\n } else {\n v2 = defaultVector;\n v1 = v2;\n }\n\n this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n }\n\n if (this.data.p && this.data.p.s) {\n if (this.data.p.z) {\n this.v.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n this.v.translate(this.px.v, this.py.v, 0);\n }\n } else {\n this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n this.frameId = this.elem.globalData.frameId;\n }\n\n function precalculateMatrix() {\n this.appliedTransformations = 0;\n this.pre.reset();\n\n if (!this.a.effectsSequence.length) {\n this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n this.appliedTransformations = 1;\n } else {\n return;\n }\n\n if (!this.s.effectsSequence.length) {\n this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n this.appliedTransformations = 2;\n } else {\n return;\n }\n\n if (this.sk) {\n if (!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) {\n this.pre.skewFromAxis(-this.sk.v, this.sa.v);\n this.appliedTransformations = 3;\n } else {\n return;\n }\n }\n\n if (this.r) {\n if (!this.r.effectsSequence.length) {\n this.pre.rotate(-this.r.v);\n this.appliedTransformations = 4;\n }\n } else if (!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) {\n this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n this.appliedTransformations = 4;\n }\n }\n\n function autoOrient() {//\n // var prevP = this.getValueAtTime();\n }\n\n function addDynamicProperty(prop) {\n this._addDynamicProperty(prop);\n\n this.elem.addDynamicProperty(prop);\n this._isDirty = true;\n }\n\n function TransformProperty(elem, data, container) {\n this.elem = elem;\n this.frameId = -1;\n this.propType = 'transform';\n this.data = data;\n this.v = new Matrix(); // Precalculated matrix with non animated properties\n\n this.pre = new Matrix();\n this.appliedTransformations = 0;\n this.initDynamicPropertyContainer(container || elem);\n\n if (data.p && data.p.s) {\n this.px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this);\n this.py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this);\n\n if (data.p.z) {\n this.pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this);\n }\n } else {\n this.p = PropertyFactory.getProp(elem, data.p || {\n k: [0, 0, 0]\n }, 1, 0, this);\n }\n\n if (data.rx) {\n this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);\n this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);\n this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);\n\n if (data.or.k[0].ti) {\n var i;\n var len = data.or.k.length;\n\n for (i = 0; i < len; i += 1) {\n data.or.k[i].to = null;\n data.or.k[i].ti = null;\n }\n }\n\n this.or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this); // sh Indicates it needs to be capped between -180 and 180\n\n this.or.sh = true;\n } else {\n this.r = PropertyFactory.getProp(elem, data.r || {\n k: 0\n }, 0, degToRads, this);\n }\n\n if (data.sk) {\n this.sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this);\n this.sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this);\n }\n\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: [0, 0, 0]\n }, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: [100, 100, 100]\n }, 1, 0.01, this); // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.\n\n if (data.o) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n } else {\n this.o = {\n _mdf: false,\n v: 1\n };\n }\n\n this._isDirty = true;\n\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n }\n\n TransformProperty.prototype = {\n applyToMatrix: applyToMatrix,\n getValue: processKeys,\n precalculateMatrix: precalculateMatrix,\n autoOrient: autoOrient\n };\n extendPrototype([DynamicPropertyContainer], TransformProperty);\n TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\n TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n\n function getTransformProperty(elem, data, container) {\n return new TransformProperty(elem, data, container);\n }\n\n return {\n getTransformProperty: getTransformProperty\n };\n }();\n\n function RepeaterModifier() {}\n\n extendPrototype([ShapeModifier], RepeaterModifier);\n\n RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.c = PropertyFactory.getProp(elem, data.c, 0, null, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, null, this);\n this.tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this);\n this.so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this);\n this.eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this);\n this.data = data;\n\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n\n this._isAnimated = !!this.dynamicProperties.length;\n this.pMatrix = new Matrix();\n this.rMatrix = new Matrix();\n this.sMatrix = new Matrix();\n this.tMatrix = new Matrix();\n this.matrix = new Matrix();\n };\n\n RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\n var dir = inv ? -1 : 1;\n var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\n var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\n pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\n rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n rMatrix.rotate(-transform.r.v * dir * perc);\n rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\n sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n };\n\n RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\n this.elem = elem;\n this.arr = arr;\n this.pos = pos;\n this.elemsData = elemsData;\n this._currentCopies = 0;\n this._elements = [];\n this._groups = [];\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, arr[pos]);\n\n while (pos > 0) {\n pos -= 1; // this._elements.unshift(arr.splice(pos,1)[0]);\n\n this._elements.unshift(arr[pos]);\n }\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n\n RepeaterModifier.prototype.resetElements = function (elements) {\n var i;\n var len = elements.length;\n\n for (i = 0; i < len; i += 1) {\n elements[i]._processed = false;\n\n if (elements[i].ty === 'gr') {\n this.resetElements(elements[i].it);\n }\n }\n };\n\n RepeaterModifier.prototype.cloneElements = function (elements) {\n var newElements = JSON.parse(JSON.stringify(elements));\n this.resetElements(newElements);\n return newElements;\n };\n\n RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\n var i;\n var len = elements.length;\n\n for (i = 0; i < len; i += 1) {\n elements[i]._render = renderFlag;\n\n if (elements[i].ty === 'gr') {\n this.changeGroupRender(elements[i].it, renderFlag);\n }\n }\n };\n\n RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\n var items;\n var itemsTransform;\n var i;\n var dir;\n var cont;\n var hasReloaded = false;\n\n if (this._mdf || _isFirstFrame) {\n var copies = Math.ceil(this.c.v);\n\n if (this._groups.length < copies) {\n while (this._groups.length < copies) {\n var group = {\n it: this.cloneElements(this._elements),\n ty: 'gr'\n };\n group.it.push({\n a: {\n a: 0,\n ix: 1,\n k: [0, 0]\n },\n nm: 'Transform',\n o: {\n a: 0,\n ix: 7,\n k: 100\n },\n p: {\n a: 0,\n ix: 2,\n k: [0, 0]\n },\n r: {\n a: 1,\n ix: 6,\n k: [{\n s: 0,\n e: 0,\n t: 0\n }, {\n s: 0,\n e: 0,\n t: 1\n }]\n },\n s: {\n a: 0,\n ix: 3,\n k: [100, 100]\n },\n sa: {\n a: 0,\n ix: 5,\n k: 0\n },\n sk: {\n a: 0,\n ix: 4,\n k: 0\n },\n ty: 'tr'\n });\n this.arr.splice(0, 0, group);\n\n this._groups.splice(0, 0, group);\n\n this._currentCopies += 1;\n }\n\n this.elem.reloadShapes();\n hasReloaded = true;\n }\n\n cont = 0;\n var renderFlag;\n\n for (i = 0; i <= this._groups.length - 1; i += 1) {\n renderFlag = cont < copies;\n this._groups[i]._render = renderFlag;\n this.changeGroupRender(this._groups[i].it, renderFlag);\n\n if (!renderFlag) {\n var elems = this.elemsData[i].it;\n var transformData = elems[elems.length - 1];\n\n if (transformData.transform.op.v !== 0) {\n transformData.transform.op._mdf = true;\n transformData.transform.op.v = 0;\n } else {\n transformData.transform.op._mdf = false;\n }\n }\n\n cont += 1;\n }\n\n this._currentCopies = copies; /// /\n\n var offset = this.o.v;\n var offsetModulo = offset % 1;\n var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n var pProps = this.pMatrix.props;\n var rProps = this.rMatrix.props;\n var sProps = this.sMatrix.props;\n this.pMatrix.reset();\n this.rMatrix.reset();\n this.sMatrix.reset();\n this.tMatrix.reset();\n this.matrix.reset();\n var iteration = 0;\n\n if (offset > 0) {\n while (iteration < roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n iteration += 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, offsetModulo, false);\n iteration += offsetModulo;\n }\n } else if (offset < 0) {\n while (iteration > roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true);\n iteration -= 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -offsetModulo, true);\n iteration -= offsetModulo;\n }\n }\n\n i = this.data.m === 1 ? 0 : this._currentCopies - 1;\n dir = this.data.m === 1 ? 1 : -1;\n cont = this._currentCopies;\n var j;\n var jLen;\n\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n jLen = itemsTransform.length;\n items[items.length - 1].transform.mProps._mdf = true;\n items[items.length - 1].transform.op._mdf = true;\n items[items.length - 1].transform.op.v = this._currentCopies === 1 ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1));\n\n if (iteration !== 0) {\n if (i !== 0 && dir === 1 || i !== this._currentCopies - 1 && dir === -1) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n }\n\n this.matrix.transform(rProps[0], rProps[1], rProps[2], rProps[3], rProps[4], rProps[5], rProps[6], rProps[7], rProps[8], rProps[9], rProps[10], rProps[11], rProps[12], rProps[13], rProps[14], rProps[15]);\n this.matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]);\n this.matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]);\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n\n this.matrix.reset();\n } else {\n this.matrix.reset();\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n }\n\n iteration += 1;\n cont -= 1;\n i += dir;\n }\n } else {\n cont = this._currentCopies;\n i = 0;\n dir = 1;\n\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n items[items.length - 1].transform.mProps._mdf = false;\n items[items.length - 1].transform.op._mdf = false;\n cont -= 1;\n i += dir;\n }\n }\n\n return hasReloaded;\n };\n\n RepeaterModifier.prototype.addShape = function () {};\n\n function RoundCornersModifier() {}\n\n extendPrototype([ShapeModifier], RoundCornersModifier);\n\n RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.rd = PropertyFactory.getProp(elem, data.r, 0, null, this);\n this._isAnimated = !!this.rd.effectsSequence.length;\n };\n\n RoundCornersModifier.prototype.processPath = function (path, round) {\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n var i;\n var len = path._length;\n var currentV;\n var currentI;\n var currentO;\n var closerV;\n var distance;\n var newPosPerc;\n var index = 0;\n var vX;\n var vY;\n var oX;\n var oY;\n var iX;\n var iY;\n\n for (i = 0; i < len; i += 1) {\n currentV = path.v[i];\n currentO = path.o[i];\n currentI = path.i[i];\n\n if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\n if ((i === 0 || i === len - 1) && !path.c) {\n clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\n /* clonedPath.v[index] = currentV;\r\n clonedPath.o[index] = currentO;\r\n clonedPath.i[index] = currentI; */\n\n index += 1;\n } else {\n if (i === 0) {\n closerV = path.v[len - 1];\n } else {\n closerV = path.v[i - 1];\n }\n\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vX = iX;\n iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\n vY = iY;\n oX = vX - (vX - currentV[0]) * roundCorner;\n oY = vY - (vY - currentV[1]) * roundCorner;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n\n if (i === len - 1) {\n closerV = path.v[0];\n } else {\n closerV = path.v[i + 1];\n }\n\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vX = oX;\n oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\n vY = oY;\n iX = vX - (vX - currentV[0]) * roundCorner;\n iY = vY - (vY - currentV[1]) * roundCorner;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n }\n } else {\n clonedPath.setTripleAt(path.v[i][0], path.v[i][1], path.o[i][0], path.o[i][1], path.i[i][0], path.i[i][1], index);\n index += 1;\n }\n }\n\n return clonedPath;\n };\n\n RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var rd = this.rd.v;\n\n if (rd !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function floatEqual(a, b) {\n return Math.abs(a - b) * 100000 <= Math.min(Math.abs(a), Math.abs(b));\n }\n\n function floatZero(f) {\n return Math.abs(f) <= 0.00001;\n }\n\n function lerp(p0, p1, amount) {\n return p0 * (1 - amount) + p1 * amount;\n }\n\n function lerpPoint(p0, p1, amount) {\n return [lerp(p0[0], p1[0], amount), lerp(p0[1], p1[1], amount)];\n }\n\n function quadRoots(a, b, c) {\n // no root\n if (a === 0) return [];\n var s = b * b - 4 * a * c; // Complex roots\n\n if (s < 0) return [];\n var singleRoot = -b / (2 * a); // 1 root\n\n if (s === 0) return [singleRoot];\n var delta = Math.sqrt(s) / (2 * a); // 2 roots\n\n return [singleRoot - delta, singleRoot + delta];\n }\n\n function polynomialCoefficients(p0, p1, p2, p3) {\n return [-p0 + 3 * p1 - 3 * p2 + p3, 3 * p0 - 6 * p1 + 3 * p2, -3 * p0 + 3 * p1, p0];\n }\n\n function singlePoint(p) {\n return new PolynomialBezier(p, p, p, p, false);\n }\n\n function PolynomialBezier(p0, p1, p2, p3, linearize) {\n if (linearize && pointEqual(p0, p1)) {\n p1 = lerpPoint(p0, p3, 1 / 3);\n }\n\n if (linearize && pointEqual(p2, p3)) {\n p2 = lerpPoint(p0, p3, 2 / 3);\n }\n\n var coeffx = polynomialCoefficients(p0[0], p1[0], p2[0], p3[0]);\n var coeffy = polynomialCoefficients(p0[1], p1[1], p2[1], p3[1]);\n this.a = [coeffx[0], coeffy[0]];\n this.b = [coeffx[1], coeffy[1]];\n this.c = [coeffx[2], coeffy[2]];\n this.d = [coeffx[3], coeffy[3]];\n this.points = [p0, p1, p2, p3];\n }\n\n PolynomialBezier.prototype.point = function (t) {\n return [((this.a[0] * t + this.b[0]) * t + this.c[0]) * t + this.d[0], ((this.a[1] * t + this.b[1]) * t + this.c[1]) * t + this.d[1]];\n };\n\n PolynomialBezier.prototype.derivative = function (t) {\n return [(3 * t * this.a[0] + 2 * this.b[0]) * t + this.c[0], (3 * t * this.a[1] + 2 * this.b[1]) * t + this.c[1]];\n };\n\n PolynomialBezier.prototype.tangentAngle = function (t) {\n var p = this.derivative(t);\n return Math.atan2(p[1], p[0]);\n };\n\n PolynomialBezier.prototype.normalAngle = function (t) {\n var p = this.derivative(t);\n return Math.atan2(p[0], p[1]);\n };\n\n PolynomialBezier.prototype.inflectionPoints = function () {\n var denom = this.a[1] * this.b[0] - this.a[0] * this.b[1];\n if (floatZero(denom)) return [];\n var tcusp = -0.5 * (this.a[1] * this.c[0] - this.a[0] * this.c[1]) / denom;\n var square = tcusp * tcusp - 1 / 3 * (this.b[1] * this.c[0] - this.b[0] * this.c[1]) / denom;\n if (square < 0) return [];\n var root = Math.sqrt(square);\n\n if (floatZero(root)) {\n if (root > 0 && root < 1) return [tcusp];\n return [];\n }\n\n return [tcusp - root, tcusp + root].filter(function (r) {\n return r > 0 && r < 1;\n });\n };\n\n PolynomialBezier.prototype.split = function (t) {\n if (t <= 0) return [singlePoint(this.points[0]), this];\n if (t >= 1) return [this, singlePoint(this.points[this.points.length - 1])];\n var p10 = lerpPoint(this.points[0], this.points[1], t);\n var p11 = lerpPoint(this.points[1], this.points[2], t);\n var p12 = lerpPoint(this.points[2], this.points[3], t);\n var p20 = lerpPoint(p10, p11, t);\n var p21 = lerpPoint(p11, p12, t);\n var p3 = lerpPoint(p20, p21, t);\n return [new PolynomialBezier(this.points[0], p10, p20, p3, true), new PolynomialBezier(p3, p21, p12, this.points[3], true)];\n };\n\n function extrema(bez, comp) {\n var min = bez.points[0][comp];\n var max = bez.points[bez.points.length - 1][comp];\n\n if (min > max) {\n var e = max;\n max = min;\n min = e;\n } // Derivative roots to find min/max\n\n\n var f = quadRoots(3 * bez.a[comp], 2 * bez.b[comp], bez.c[comp]);\n\n for (var i = 0; i < f.length; i += 1) {\n if (f[i] > 0 && f[i] < 1) {\n var val = bez.point(f[i])[comp];\n if (val < min) min = val;else if (val > max) max = val;\n }\n }\n\n return {\n min: min,\n max: max\n };\n }\n\n PolynomialBezier.prototype.bounds = function () {\n return {\n x: extrema(this, 0),\n y: extrema(this, 1)\n };\n };\n\n PolynomialBezier.prototype.boundingBox = function () {\n var bounds = this.bounds();\n return {\n left: bounds.x.min,\n right: bounds.x.max,\n top: bounds.y.min,\n bottom: bounds.y.max,\n width: bounds.x.max - bounds.x.min,\n height: bounds.y.max - bounds.y.min,\n cx: (bounds.x.max + bounds.x.min) / 2,\n cy: (bounds.y.max + bounds.y.min) / 2\n };\n };\n\n function intersectData(bez, t1, t2) {\n var box = bez.boundingBox();\n return {\n cx: box.cx,\n cy: box.cy,\n width: box.width,\n height: box.height,\n bez: bez,\n t: (t1 + t2) / 2,\n t1: t1,\n t2: t2\n };\n }\n\n function splitData(data) {\n var split = data.bez.split(0.5);\n return [intersectData(split[0], data.t1, data.t), intersectData(split[1], data.t, data.t2)];\n }\n\n function boxIntersect(b1, b2) {\n return Math.abs(b1.cx - b2.cx) * 2 < b1.width + b2.width && Math.abs(b1.cy - b2.cy) * 2 < b1.height + b2.height;\n }\n\n function intersectsImpl(d1, d2, depth, tolerance, intersections, maxRecursion) {\n if (!boxIntersect(d1, d2)) return;\n\n if (depth >= maxRecursion || d1.width <= tolerance && d1.height <= tolerance && d2.width <= tolerance && d2.height <= tolerance) {\n intersections.push([d1.t, d2.t]);\n return;\n }\n\n var d1s = splitData(d1);\n var d2s = splitData(d2);\n intersectsImpl(d1s[0], d2s[0], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[0], d2s[1], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[1], d2s[0], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[1], d2s[1], depth + 1, tolerance, intersections, maxRecursion);\n }\n\n PolynomialBezier.prototype.intersections = function (other, tolerance, maxRecursion) {\n if (tolerance === undefined) tolerance = 2;\n if (maxRecursion === undefined) maxRecursion = 7;\n var intersections = [];\n intersectsImpl(intersectData(this, 0, 1), intersectData(other, 0, 1), 0, tolerance, intersections, maxRecursion);\n return intersections;\n };\n\n PolynomialBezier.shapeSegment = function (shapePath, index) {\n var nextIndex = (index + 1) % shapePath.length();\n return new PolynomialBezier(shapePath.v[index], shapePath.o[index], shapePath.i[nextIndex], shapePath.v[nextIndex], true);\n };\n\n PolynomialBezier.shapeSegmentInverted = function (shapePath, index) {\n var nextIndex = (index + 1) % shapePath.length();\n return new PolynomialBezier(shapePath.v[nextIndex], shapePath.i[nextIndex], shapePath.o[index], shapePath.v[index], true);\n };\n\n function crossProduct(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n }\n\n function lineIntersection(start1, end1, start2, end2) {\n var v1 = [start1[0], start1[1], 1];\n var v2 = [end1[0], end1[1], 1];\n var v3 = [start2[0], start2[1], 1];\n var v4 = [end2[0], end2[1], 1];\n var r = crossProduct(crossProduct(v1, v2), crossProduct(v3, v4));\n if (floatZero(r[2])) return null;\n return [r[0] / r[2], r[1] / r[2]];\n }\n\n function polarOffset(p, angle, length) {\n return [p[0] + Math.cos(angle) * length, p[1] - Math.sin(angle) * length];\n }\n\n function pointDistance(p1, p2) {\n return Math.hypot(p1[0] - p2[0], p1[1] - p2[1]);\n }\n\n function pointEqual(p1, p2) {\n return floatEqual(p1[0], p2[0]) && floatEqual(p1[1], p2[1]);\n }\n\n function ZigZagModifier() {}\n\n extendPrototype([ShapeModifier], ZigZagModifier);\n\n ZigZagModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amplitude = PropertyFactory.getProp(elem, data.s, 0, null, this);\n this.frequency = PropertyFactory.getProp(elem, data.r, 0, null, this);\n this.pointsType = PropertyFactory.getProp(elem, data.pt, 0, null, this);\n this._isAnimated = this.amplitude.effectsSequence.length !== 0 || this.frequency.effectsSequence.length !== 0 || this.pointsType.effectsSequence.length !== 0;\n };\n\n function setPoint(outputBezier, point, angle, direction, amplitude, outAmplitude, inAmplitude) {\n var angO = angle - Math.PI / 2;\n var angI = angle + Math.PI / 2;\n var px = point[0] + Math.cos(angle) * direction * amplitude;\n var py = point[1] - Math.sin(angle) * direction * amplitude;\n outputBezier.setTripleAt(px, py, px + Math.cos(angO) * outAmplitude, py - Math.sin(angO) * outAmplitude, px + Math.cos(angI) * inAmplitude, py - Math.sin(angI) * inAmplitude, outputBezier.length());\n }\n\n function getPerpendicularVector(pt1, pt2) {\n var vector = [pt2[0] - pt1[0], pt2[1] - pt1[1]];\n var rot = -Math.PI * 0.5;\n var rotatedVector = [Math.cos(rot) * vector[0] - Math.sin(rot) * vector[1], Math.sin(rot) * vector[0] + Math.cos(rot) * vector[1]];\n return rotatedVector;\n }\n\n function getProjectingAngle(path, cur) {\n var prevIndex = cur === 0 ? path.length() - 1 : cur - 1;\n var nextIndex = (cur + 1) % path.length();\n var prevPoint = path.v[prevIndex];\n var nextPoint = path.v[nextIndex];\n var pVector = getPerpendicularVector(prevPoint, nextPoint);\n return Math.atan2(0, 1) - Math.atan2(pVector[1], pVector[0]);\n }\n\n function zigZagCorner(outputBezier, path, cur, amplitude, frequency, pointType, direction) {\n var angle = getProjectingAngle(path, cur);\n var point = path.v[cur % path._length];\n var prevPoint = path.v[cur === 0 ? path._length - 1 : cur - 1];\n var nextPoint = path.v[(cur + 1) % path._length];\n var prevDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - prevPoint[0], 2) + Math.pow(point[1] - prevPoint[1], 2)) : 0;\n var nextDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - nextPoint[0], 2) + Math.pow(point[1] - nextPoint[1], 2)) : 0;\n setPoint(outputBezier, path.v[cur % path._length], angle, direction, amplitude, nextDist / ((frequency + 1) * 2), prevDist / ((frequency + 1) * 2), pointType);\n }\n\n function zigZagSegment(outputBezier, segment, amplitude, frequency, pointType, direction) {\n for (var i = 0; i < frequency; i += 1) {\n var t = (i + 1) / (frequency + 1);\n var dist = pointType === 2 ? Math.sqrt(Math.pow(segment.points[3][0] - segment.points[0][0], 2) + Math.pow(segment.points[3][1] - segment.points[0][1], 2)) : 0;\n var angle = segment.normalAngle(t);\n var point = segment.point(t);\n setPoint(outputBezier, point, angle, direction, amplitude, dist / ((frequency + 1) * 2), dist / ((frequency + 1) * 2), pointType);\n direction = -direction;\n }\n\n return direction;\n }\n\n ZigZagModifier.prototype.processPath = function (path, amplitude, frequency, pointType) {\n var count = path._length;\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n\n if (!path.c) {\n count -= 1;\n }\n\n if (count === 0) return clonedPath;\n var direction = -1;\n var segment = PolynomialBezier.shapeSegment(path, 0);\n zigZagCorner(clonedPath, path, 0, amplitude, frequency, pointType, direction);\n\n for (var i = 0; i < count; i += 1) {\n direction = zigZagSegment(clonedPath, segment, amplitude, frequency, pointType, -direction);\n\n if (i === count - 1 && !path.c) {\n segment = null;\n } else {\n segment = PolynomialBezier.shapeSegment(path, (i + 1) % count);\n }\n\n zigZagCorner(clonedPath, path, i + 1, amplitude, frequency, pointType, direction);\n }\n\n return clonedPath;\n };\n\n ZigZagModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amplitude = this.amplitude.v;\n var frequency = Math.max(0, Math.round(this.frequency.v));\n var pointType = this.pointsType.v;\n\n if (amplitude !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amplitude, frequency, pointType));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function linearOffset(p1, p2, amount) {\n var angle = Math.atan2(p2[0] - p1[0], p2[1] - p1[1]);\n return [polarOffset(p1, angle, amount), polarOffset(p2, angle, amount)];\n }\n\n function offsetSegment(segment, amount) {\n var p0;\n var p1a;\n var p1b;\n var p2b;\n var p2a;\n var p3;\n var e;\n e = linearOffset(segment.points[0], segment.points[1], amount);\n p0 = e[0];\n p1a = e[1];\n e = linearOffset(segment.points[1], segment.points[2], amount);\n p1b = e[0];\n p2b = e[1];\n e = linearOffset(segment.points[2], segment.points[3], amount);\n p2a = e[0];\n p3 = e[1];\n var p1 = lineIntersection(p0, p1a, p1b, p2b);\n if (p1 === null) p1 = p1a;\n var p2 = lineIntersection(p2a, p3, p1b, p2b);\n if (p2 === null) p2 = p2a;\n return new PolynomialBezier(p0, p1, p2, p3);\n }\n\n function joinLines(outputBezier, seg1, seg2, lineJoin, miterLimit) {\n var p0 = seg1.points[3];\n var p1 = seg2.points[0]; // Bevel\n\n if (lineJoin === 3) return p0; // Connected, they don't need a joint\n\n if (pointEqual(p0, p1)) return p0; // Round\n\n if (lineJoin === 2) {\n var angleOut = -seg1.tangentAngle(1);\n var angleIn = -seg2.tangentAngle(0) + Math.PI;\n var center = lineIntersection(p0, polarOffset(p0, angleOut + Math.PI / 2, 100), p1, polarOffset(p1, angleOut + Math.PI / 2, 100));\n var radius = center ? pointDistance(center, p0) : pointDistance(p0, p1) / 2;\n var tan = polarOffset(p0, angleOut, 2 * radius * roundCorner);\n outputBezier.setXYAt(tan[0], tan[1], 'o', outputBezier.length() - 1);\n tan = polarOffset(p1, angleIn, 2 * radius * roundCorner);\n outputBezier.setTripleAt(p1[0], p1[1], p1[0], p1[1], tan[0], tan[1], outputBezier.length());\n return p1;\n } // Miter\n\n\n var t0 = pointEqual(p0, seg1.points[2]) ? seg1.points[0] : seg1.points[2];\n var t1 = pointEqual(p1, seg2.points[1]) ? seg2.points[3] : seg2.points[1];\n var intersection = lineIntersection(t0, p0, p1, t1);\n\n if (intersection && pointDistance(intersection, p0) < miterLimit) {\n outputBezier.setTripleAt(intersection[0], intersection[1], intersection[0], intersection[1], intersection[0], intersection[1], outputBezier.length());\n return intersection;\n }\n\n return p0;\n }\n\n function getIntersection(a, b) {\n var intersect = a.intersections(b);\n if (intersect.length && floatEqual(intersect[0][0], 1)) intersect.shift();\n if (intersect.length) return intersect[0];\n return null;\n }\n\n function pruneSegmentIntersection(a, b) {\n var outa = a.slice();\n var outb = b.slice();\n var intersect = getIntersection(a[a.length - 1], b[0]);\n\n if (intersect) {\n outa[a.length - 1] = a[a.length - 1].split(intersect[0])[0];\n outb[0] = b[0].split(intersect[1])[1];\n }\n\n if (a.length > 1 && b.length > 1) {\n intersect = getIntersection(a[0], b[b.length - 1]);\n\n if (intersect) {\n return [[a[0].split(intersect[0])[0]], [b[b.length - 1].split(intersect[1])[1]]];\n }\n }\n\n return [outa, outb];\n }\n\n function pruneIntersections(segments) {\n var e;\n\n for (var i = 1; i < segments.length; i += 1) {\n e = pruneSegmentIntersection(segments[i - 1], segments[i]);\n segments[i - 1] = e[0];\n segments[i] = e[1];\n }\n\n if (segments.length > 1) {\n e = pruneSegmentIntersection(segments[segments.length - 1], segments[0]);\n segments[segments.length - 1] = e[0];\n segments[0] = e[1];\n }\n\n return segments;\n }\n\n function offsetSegmentSplit(segment, amount) {\n /*\r\n We split each bezier segment into smaller pieces based\r\n on inflection points, this ensures the control point\r\n polygon is convex.\r\n (A cubic bezier can have none, one, or two inflection points)\r\n */\n var flex = segment.inflectionPoints();\n var left;\n var right;\n var split;\n var mid;\n\n if (flex.length === 0) {\n return [offsetSegment(segment, amount)];\n }\n\n if (flex.length === 1 || floatEqual(flex[1], 1)) {\n split = segment.split(flex[0]);\n left = split[0];\n right = split[1];\n return [offsetSegment(left, amount), offsetSegment(right, amount)];\n }\n\n split = segment.split(flex[0]);\n left = split[0];\n var t = (flex[1] - flex[0]) / (1 - flex[0]);\n split = split[1].split(t);\n mid = split[0];\n right = split[1];\n return [offsetSegment(left, amount), offsetSegment(mid, amount), offsetSegment(right, amount)];\n }\n\n function OffsetPathModifier() {}\n\n extendPrototype([ShapeModifier], OffsetPathModifier);\n\n OffsetPathModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n this.miterLimit = PropertyFactory.getProp(elem, data.ml, 0, null, this);\n this.lineJoin = data.lj;\n this._isAnimated = this.amount.effectsSequence.length !== 0;\n };\n\n OffsetPathModifier.prototype.processPath = function (inputBezier, amount, lineJoin, miterLimit) {\n var outputBezier = shapePool.newElement();\n outputBezier.c = inputBezier.c;\n var count = inputBezier.length();\n\n if (!inputBezier.c) {\n count -= 1;\n }\n\n var i;\n var j;\n var segment;\n var multiSegments = [];\n\n for (i = 0; i < count; i += 1) {\n segment = PolynomialBezier.shapeSegment(inputBezier, i);\n multiSegments.push(offsetSegmentSplit(segment, amount));\n }\n\n if (!inputBezier.c) {\n for (i = count - 1; i >= 0; i -= 1) {\n segment = PolynomialBezier.shapeSegmentInverted(inputBezier, i);\n multiSegments.push(offsetSegmentSplit(segment, amount));\n }\n }\n\n multiSegments = pruneIntersections(multiSegments); // Add bezier segments to the output and apply line joints\n\n var lastPoint = null;\n var lastSeg = null;\n\n for (i = 0; i < multiSegments.length; i += 1) {\n var multiSegment = multiSegments[i];\n if (lastSeg) lastPoint = joinLines(outputBezier, lastSeg, multiSegment[0], lineJoin, miterLimit);\n lastSeg = multiSegment[multiSegment.length - 1];\n\n for (j = 0; j < multiSegment.length; j += 1) {\n segment = multiSegment[j];\n\n if (lastPoint && pointEqual(segment.points[0], lastPoint)) {\n outputBezier.setXYAt(segment.points[1][0], segment.points[1][1], 'o', outputBezier.length() - 1);\n } else {\n outputBezier.setTripleAt(segment.points[0][0], segment.points[0][1], segment.points[1][0], segment.points[1][1], segment.points[0][0], segment.points[0][1], outputBezier.length());\n }\n\n outputBezier.setTripleAt(segment.points[3][0], segment.points[3][1], segment.points[3][0], segment.points[3][1], segment.points[2][0], segment.points[2][1], outputBezier.length());\n lastPoint = segment.points[3];\n }\n }\n\n if (multiSegments.length) joinLines(outputBezier, lastSeg, multiSegments[0][0], lineJoin, miterLimit);\n return outputBezier;\n };\n\n OffsetPathModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amount = this.amount.v;\n var miterLimit = this.miterLimit.v;\n var lineJoin = this.lineJoin;\n\n if (amount !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amount, lineJoin, miterLimit));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function getFontProperties(fontData) {\n var styles = fontData.fStyle ? fontData.fStyle.split(' ') : [];\n var fWeight = 'normal';\n var fStyle = 'normal';\n var len = styles.length;\n var styleName;\n\n for (var i = 0; i < len; i += 1) {\n styleName = styles[i].toLowerCase();\n\n switch (styleName) {\n case 'italic':\n fStyle = 'italic';\n break;\n\n case 'bold':\n fWeight = '700';\n break;\n\n case 'black':\n fWeight = '900';\n break;\n\n case 'medium':\n fWeight = '500';\n break;\n\n case 'regular':\n case 'normal':\n fWeight = '400';\n break;\n\n case 'light':\n case 'thin':\n fWeight = '200';\n break;\n\n default:\n break;\n }\n }\n\n return {\n style: fStyle,\n weight: fontData.fWeight || fWeight\n };\n }\n\n var FontManager = function () {\n var maxWaitingTime = 5000;\n var emptyChar = {\n w: 0,\n size: 0,\n shapes: [],\n data: {\n shapes: []\n }\n };\n var combinedCharacters = []; // Hindi characters\n\n combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\n var BLACK_FLAG_CODE_POINT = 127988;\n var CANCEL_TAG_CODE_POINT = 917631;\n var A_TAG_CODE_POINT = 917601;\n var Z_TAG_CODE_POINT = 917626;\n var VARIATION_SELECTOR_16_CODE_POINT = 65039;\n var ZERO_WIDTH_JOINER_CODE_POINT = 8205;\n var REGIONAL_CHARACTER_A_CODE_POINT = 127462;\n var REGIONAL_CHARACTER_Z_CODE_POINT = 127487;\n var surrogateModifiers = ['d83cdffb', 'd83cdffc', 'd83cdffd', 'd83cdffe', 'd83cdfff'];\n\n function trimFontOptions(font) {\n var familyArray = font.split(',');\n var i;\n var len = familyArray.length;\n var enabledFamilies = [];\n\n for (i = 0; i < len; i += 1) {\n if (familyArray[i] !== 'sans-serif' && familyArray[i] !== 'monospace') {\n enabledFamilies.push(familyArray[i]);\n }\n }\n\n return enabledFamilies.join(',');\n }\n\n function setUpNode(font, family) {\n var parentNode = createTag('span'); // Node is invisible to screen readers.\n\n parentNode.setAttribute('aria-hidden', true);\n parentNode.style.fontFamily = family;\n var node = createTag('span'); // Characters that vary significantly among different fonts\n\n node.innerText = 'giItT1WQy@!-/#'; // Visible - so we can measure it - but not on the screen\n\n parentNode.style.position = 'absolute';\n parentNode.style.left = '-10000px';\n parentNode.style.top = '-10000px'; // Large font size makes even subtle changes obvious\n\n parentNode.style.fontSize = '300px'; // Reset any font properties\n\n parentNode.style.fontVariant = 'normal';\n parentNode.style.fontStyle = 'normal';\n parentNode.style.fontWeight = 'normal';\n parentNode.style.letterSpacing = '0';\n parentNode.appendChild(node);\n document.body.appendChild(parentNode); // Remember width with no applied web font\n\n var width = node.offsetWidth;\n node.style.fontFamily = trimFontOptions(font) + ', ' + family;\n return {\n node: node,\n w: width,\n parent: parentNode\n };\n }\n\n function checkLoadedFonts() {\n var i;\n var len = this.fonts.length;\n var node;\n var w;\n var loadedCount = len;\n\n for (i = 0; i < len; i += 1) {\n if (this.fonts[i].loaded) {\n loadedCount -= 1;\n } else if (this.fonts[i].fOrigin === 'n' || this.fonts[i].origin === 0) {\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].monoCase.node;\n w = this.fonts[i].monoCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].sansCase.node;\n w = this.fonts[i].sansCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n }\n }\n\n if (this.fonts[i].loaded) {\n this.fonts[i].sansCase.parent.parentNode.removeChild(this.fonts[i].sansCase.parent);\n this.fonts[i].monoCase.parent.parentNode.removeChild(this.fonts[i].monoCase.parent);\n }\n }\n }\n\n if (loadedCount !== 0 && Date.now() - this.initTime < maxWaitingTime) {\n setTimeout(this.checkLoadedFontsBinded, 20);\n } else {\n setTimeout(this.setIsLoadedBinded, 10);\n }\n }\n\n function createHelper(fontData, def) {\n var engine = document.body && def ? 'svg' : 'canvas';\n var helper;\n var fontProps = getFontProperties(fontData);\n\n if (engine === 'svg') {\n var tHelper = createNS('text');\n tHelper.style.fontSize = '100px'; // tHelper.style.fontFamily = fontData.fFamily;\n\n tHelper.setAttribute('font-family', fontData.fFamily);\n tHelper.setAttribute('font-style', fontProps.style);\n tHelper.setAttribute('font-weight', fontProps.weight);\n tHelper.textContent = '1';\n\n if (fontData.fClass) {\n tHelper.style.fontFamily = 'inherit';\n tHelper.setAttribute('class', fontData.fClass);\n } else {\n tHelper.style.fontFamily = fontData.fFamily;\n }\n\n def.appendChild(tHelper);\n helper = tHelper;\n } else {\n var tCanvasHelper = new OffscreenCanvas(500, 500).getContext('2d');\n tCanvasHelper.font = fontProps.style + ' ' + fontProps.weight + ' 100px ' + fontData.fFamily;\n helper = tCanvasHelper;\n }\n\n function measure(text) {\n if (engine === 'svg') {\n helper.textContent = text;\n return helper.getComputedTextLength();\n }\n\n return helper.measureText(text).width;\n }\n\n return {\n measureText: measure\n };\n }\n\n function addFonts(fontData, defs) {\n if (!fontData) {\n this.isLoaded = true;\n return;\n }\n\n if (this.chars) {\n this.isLoaded = true;\n this.fonts = fontData.list;\n return;\n }\n\n if (!document.body) {\n this.isLoaded = true;\n fontData.list.forEach(function (data) {\n data.helper = createHelper(data);\n data.cache = {};\n });\n this.fonts = fontData.list;\n return;\n }\n\n var fontArr = fontData.list;\n var i;\n var len = fontArr.length;\n var _pendingFonts = len;\n\n for (i = 0; i < len; i += 1) {\n var shouldLoadFont = true;\n var loadedSelector;\n var j;\n fontArr[i].loaded = false;\n fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, 'monospace');\n fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, 'sans-serif');\n\n if (!fontArr[i].fPath) {\n fontArr[i].loaded = true;\n _pendingFonts -= 1;\n } else if (fontArr[i].fOrigin === 'p' || fontArr[i].origin === 3) {\n loadedSelector = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + fontArr[i].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + fontArr[i].fFamily + '\"]');\n\n if (loadedSelector.length > 0) {\n shouldLoadFont = false;\n }\n\n if (shouldLoadFont) {\n var s = createTag('style');\n s.setAttribute('f-forigin', fontArr[i].fOrigin);\n s.setAttribute('f-origin', fontArr[i].origin);\n s.setAttribute('f-family', fontArr[i].fFamily);\n s.type = 'text/css';\n s.innerText = '@font-face {font-family: ' + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\n defs.appendChild(s);\n }\n } else if (fontArr[i].fOrigin === 'g' || fontArr[i].origin === 1) {\n loadedSelector = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]');\n\n for (j = 0; j < loadedSelector.length; j += 1) {\n if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n\n if (shouldLoadFont) {\n var l = createTag('link');\n l.setAttribute('f-forigin', fontArr[i].fOrigin);\n l.setAttribute('f-origin', fontArr[i].origin);\n l.type = 'text/css';\n l.rel = 'stylesheet';\n l.href = fontArr[i].fPath;\n document.body.appendChild(l);\n }\n } else if (fontArr[i].fOrigin === 't' || fontArr[i].origin === 2) {\n loadedSelector = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]');\n\n for (j = 0; j < loadedSelector.length; j += 1) {\n if (fontArr[i].fPath === loadedSelector[j].src) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n\n if (shouldLoadFont) {\n var sc = createTag('link');\n sc.setAttribute('f-forigin', fontArr[i].fOrigin);\n sc.setAttribute('f-origin', fontArr[i].origin);\n sc.setAttribute('rel', 'stylesheet');\n sc.setAttribute('href', fontArr[i].fPath);\n defs.appendChild(sc);\n }\n }\n\n fontArr[i].helper = createHelper(fontArr[i], defs);\n fontArr[i].cache = {};\n this.fonts.push(fontArr[i]);\n }\n\n if (_pendingFonts === 0) {\n this.isLoaded = true;\n } else {\n // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\n // Adding this timeout seems to fix it\n setTimeout(this.checkLoadedFonts.bind(this), 100);\n }\n }\n\n function addChars(chars) {\n if (!chars) {\n return;\n }\n\n if (!this.chars) {\n this.chars = [];\n }\n\n var i;\n var len = chars.length;\n var j;\n var jLen = this.chars.length;\n var found;\n\n for (i = 0; i < len; i += 1) {\n j = 0;\n found = false;\n\n while (j < jLen) {\n if (this.chars[j].style === chars[i].style && this.chars[j].fFamily === chars[i].fFamily && this.chars[j].ch === chars[i].ch) {\n found = true;\n }\n\n j += 1;\n }\n\n if (!found) {\n this.chars.push(chars[i]);\n jLen += 1;\n }\n }\n }\n\n function getCharData(_char, style, font) {\n var i = 0;\n var len = this.chars.length;\n\n while (i < len) {\n if (this.chars[i].ch === _char && this.chars[i].style === style && this.chars[i].fFamily === font) {\n return this.chars[i];\n }\n\n i += 1;\n }\n\n if ((typeof _char === 'string' && _char.charCodeAt(0) !== 13 || !_char) && console && console.warn // eslint-disable-line no-console\n && !this._warned) {\n this._warned = true;\n console.warn('Missing character from exported characters list: ', _char, style, font); // eslint-disable-line no-console\n }\n\n return emptyChar;\n }\n\n function measureText(_char2, fontName, size) {\n var fontData = this.getFontByName(fontName); // Using the char instead of char.charCodeAt(0)\n // to avoid collisions between equal chars\n\n var index = _char2;\n\n if (!fontData.cache[index]) {\n var tHelper = fontData.helper;\n\n if (_char2 === ' ') {\n var doubleSize = tHelper.measureText('|' + _char2 + '|');\n var singleSize = tHelper.measureText('||');\n fontData.cache[index] = (doubleSize - singleSize) / 100;\n } else {\n fontData.cache[index] = tHelper.measureText(_char2) / 100;\n }\n }\n\n return fontData.cache[index] * size;\n }\n\n function getFontByName(name) {\n var i = 0;\n var len = this.fonts.length;\n\n while (i < len) {\n if (this.fonts[i].fName === name) {\n return this.fonts[i];\n }\n\n i += 1;\n }\n\n return this.fonts[0];\n }\n\n function getCodePoint(string) {\n var codePoint = 0;\n var first = string.charCodeAt(0);\n\n if (first >= 0xD800 && first <= 0xDBFF) {\n var second = string.charCodeAt(1);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n\n return codePoint;\n } // Skin tone modifiers\n\n\n function isModifier(firstCharCode, secondCharCode) {\n var sum = firstCharCode.toString(16) + secondCharCode.toString(16);\n return surrogateModifiers.indexOf(sum) !== -1;\n }\n\n function isZeroWidthJoiner(charCode) {\n return charCode === ZERO_WIDTH_JOINER_CODE_POINT;\n } // This codepoint may change the appearance of the preceding character.\n // If that is a symbol, dingbat or emoji, U+FE0F forces it to be rendered\n // as a colorful image as compared to a monochrome text variant.\n\n\n function isVariationSelector(charCode) {\n return charCode === VARIATION_SELECTOR_16_CODE_POINT;\n } // The regional indicator symbols are a set of 26 alphabetic Unicode\n /// characters (A–Z) intended to be used to encode ISO 3166-1 alpha-2\n // two-letter country codes in a way that allows optional special treatment.\n\n\n function isRegionalCode(string) {\n var codePoint = getCodePoint(string);\n\n if (codePoint >= REGIONAL_CHARACTER_A_CODE_POINT && codePoint <= REGIONAL_CHARACTER_Z_CODE_POINT) {\n return true;\n }\n\n return false;\n } // Some Emoji implementations represent combinations of\n // two “regional indicator” letters as a single flag symbol.\n\n\n function isFlagEmoji(string) {\n return isRegionalCode(string.substr(0, 2)) && isRegionalCode(string.substr(2, 2));\n }\n\n function isCombinedCharacter(_char3) {\n return combinedCharacters.indexOf(_char3) !== -1;\n } // Regional flags start with a BLACK_FLAG_CODE_POINT\n // folowed by 5 chars in the TAG range\n // and end with a CANCEL_TAG_CODE_POINT\n\n\n function isRegionalFlag(text, index) {\n var codePoint = getCodePoint(text.substr(index, 2));\n\n if (codePoint !== BLACK_FLAG_CODE_POINT) {\n return false;\n }\n\n var count = 0;\n index += 2;\n\n while (count < 5) {\n codePoint = getCodePoint(text.substr(index, 2));\n\n if (codePoint < A_TAG_CODE_POINT || codePoint > Z_TAG_CODE_POINT) {\n return false;\n }\n\n count += 1;\n index += 2;\n }\n\n return getCodePoint(text.substr(index, 2)) === CANCEL_TAG_CODE_POINT;\n }\n\n function setIsLoaded() {\n this.isLoaded = true;\n }\n\n var Font = function Font() {\n this.fonts = [];\n this.chars = null;\n this.typekitLoaded = 0;\n this.isLoaded = false;\n this._warned = false;\n this.initTime = Date.now();\n this.setIsLoadedBinded = this.setIsLoaded.bind(this);\n this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\n };\n\n Font.isModifier = isModifier;\n Font.isZeroWidthJoiner = isZeroWidthJoiner;\n Font.isFlagEmoji = isFlagEmoji;\n Font.isRegionalCode = isRegionalCode;\n Font.isCombinedCharacter = isCombinedCharacter;\n Font.isRegionalFlag = isRegionalFlag;\n Font.isVariationSelector = isVariationSelector;\n Font.BLACK_FLAG_CODE_POINT = BLACK_FLAG_CODE_POINT;\n var fontPrototype = {\n addChars: addChars,\n addFonts: addFonts,\n getCharData: getCharData,\n getFontByName: getFontByName,\n measureText: measureText,\n checkLoadedFonts: checkLoadedFonts,\n setIsLoaded: setIsLoaded\n };\n Font.prototype = fontPrototype;\n return Font;\n }();\n\n function SlotManager(animationData) {\n this.animationData = animationData;\n }\n\n SlotManager.prototype.getProp = function (data) {\n if (this.animationData.slots && this.animationData.slots[data.sid]) {\n return Object.assign(data, this.animationData.slots[data.sid].p);\n }\n\n return data;\n };\n\n function slotFactory(animationData) {\n return new SlotManager(animationData);\n }\n\n function RenderableElement() {}\n\n RenderableElement.prototype = {\n initRenderable: function initRenderable() {\n // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n this.isInRange = false; // layer's display state\n\n this.hidden = false; // If layer's transparency equals 0, it can be hidden\n\n this.isTransparent = false; // list of animated components\n\n this.renderableComponents = [];\n },\n addRenderableComponent: function addRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) === -1) {\n this.renderableComponents.push(component);\n }\n },\n removeRenderableComponent: function removeRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) !== -1) {\n this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1);\n }\n },\n prepareRenderableFrame: function prepareRenderableFrame(num) {\n this.checkLayerLimits(num);\n },\n checkTransparency: function checkTransparency() {\n if (this.finalTransform.mProp.o.v <= 0) {\n if (!this.isTransparent && this.globalData.renderConfig.hideOnTransparent) {\n this.isTransparent = true;\n this.hide();\n }\n } else if (this.isTransparent) {\n this.isTransparent = false;\n this.show();\n }\n },\n\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n *\r\n */\n checkLayerLimits: function checkLayerLimits(num) {\n if (this.data.ip - this.data.st <= num && this.data.op - this.data.st > num) {\n if (this.isInRange !== true) {\n this.globalData._mdf = true;\n this._mdf = true;\n this.isInRange = true;\n this.show();\n }\n } else if (this.isInRange !== false) {\n this.globalData._mdf = true;\n this.isInRange = false;\n this.hide();\n }\n },\n renderRenderable: function renderRenderable() {\n var i;\n var len = this.renderableComponents.length;\n\n for (i = 0; i < len; i += 1) {\n this.renderableComponents[i].renderFrame(this._isFirstFrame);\n }\n /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\n\n },\n sourceRectAtTime: function sourceRectAtTime() {\n return {\n top: 0,\n left: 0,\n width: 100,\n height: 100\n };\n },\n getLayerSize: function getLayerSize() {\n if (this.data.ty === 5) {\n return {\n w: this.data.textData.width,\n h: this.data.textData.height\n };\n }\n\n return {\n w: this.data.width,\n h: this.data.height\n };\n }\n };\n\n var getBlendMode = function () {\n var blendModeEnums = {\n 0: 'source-over',\n 1: 'multiply',\n 2: 'screen',\n 3: 'overlay',\n 4: 'darken',\n 5: 'lighten',\n 6: 'color-dodge',\n 7: 'color-burn',\n 8: 'hard-light',\n 9: 'soft-light',\n 10: 'difference',\n 11: 'exclusion',\n 12: 'hue',\n 13: 'saturation',\n 14: 'color',\n 15: 'luminosity'\n };\n return function (mode) {\n return blendModeEnums[mode] || '';\n };\n }();\n\n function SliderEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function AngleEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function ColorEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function PointEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function LayerIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function MaskIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function CheckboxEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function NoValueEffect() {\n this.p = {};\n }\n\n function EffectsManager(data, element) {\n var effects = data.ef || [];\n this.effectElements = [];\n var i;\n var len = effects.length;\n var effectItem;\n\n for (i = 0; i < len; i += 1) {\n effectItem = new GroupEffect(effects[i], element);\n this.effectElements.push(effectItem);\n }\n }\n\n function GroupEffect(data, element) {\n this.init(data, element);\n }\n\n extendPrototype([DynamicPropertyContainer], GroupEffect);\n GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\n\n GroupEffect.prototype.init = function (data, element) {\n this.data = data;\n this.effectElements = [];\n this.initDynamicPropertyContainer(element);\n var i;\n var len = this.data.ef.length;\n var eff;\n var effects = this.data.ef;\n\n for (i = 0; i < len; i += 1) {\n eff = null;\n\n switch (effects[i].ty) {\n case 0:\n eff = new SliderEffect(effects[i], element, this);\n break;\n\n case 1:\n eff = new AngleEffect(effects[i], element, this);\n break;\n\n case 2:\n eff = new ColorEffect(effects[i], element, this);\n break;\n\n case 3:\n eff = new PointEffect(effects[i], element, this);\n break;\n\n case 4:\n case 7:\n eff = new CheckboxEffect(effects[i], element, this);\n break;\n\n case 10:\n eff = new LayerIndexEffect(effects[i], element, this);\n break;\n\n case 11:\n eff = new MaskIndexEffect(effects[i], element, this);\n break;\n\n case 5:\n eff = new EffectsManager(effects[i], element, this);\n break;\n // case 6:\n\n default:\n eff = new NoValueEffect(effects[i], element, this);\n break;\n }\n\n if (eff) {\n this.effectElements.push(eff);\n }\n }\n };\n\n function BaseElement() {}\n\n BaseElement.prototype = {\n checkMasks: function checkMasks() {\n if (!this.data.hasMask) {\n return false;\n }\n\n var i = 0;\n var len = this.data.masksProperties.length;\n\n while (i < len) {\n if (this.data.masksProperties[i].mode !== 'n' && this.data.masksProperties[i].cl !== false) {\n return true;\n }\n\n i += 1;\n }\n\n return false;\n },\n initExpressions: function initExpressions() {\n var expressionsInterfaces = getExpressionInterfaces();\n\n if (!expressionsInterfaces) {\n return;\n }\n\n var LayerExpressionInterface = expressionsInterfaces('layer');\n var EffectsExpressionInterface = expressionsInterfaces('effects');\n var ShapeExpressionInterface = expressionsInterfaces('shape');\n var TextExpressionInterface = expressionsInterfaces('text');\n var CompExpressionInterface = expressionsInterfaces('comp');\n this.layerInterface = LayerExpressionInterface(this);\n\n if (this.data.hasMask && this.maskManager) {\n this.layerInterface.registerMaskInterface(this.maskManager);\n }\n\n var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);\n this.layerInterface.registerEffectsInterface(effectsInterface);\n\n if (this.data.ty === 0 || this.data.xt) {\n this.compInterface = CompExpressionInterface(this);\n } else if (this.data.ty === 4) {\n this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface);\n this.layerInterface.content = this.layerInterface.shapeInterface;\n } else if (this.data.ty === 5) {\n this.layerInterface.textInterface = TextExpressionInterface(this);\n this.layerInterface.text = this.layerInterface.textInterface;\n }\n },\n setBlendMode: function setBlendMode() {\n var blendModeValue = getBlendMode(this.data.bm);\n var elem = this.baseElement || this.layerElement;\n elem.style['mix-blend-mode'] = blendModeValue;\n },\n initBaseData: function initBaseData(data, globalData, comp) {\n this.globalData = globalData;\n this.comp = comp;\n this.data = data;\n this.layerId = createElementID(); // Stretch factor for old animations missing this property.\n\n if (!this.data.sr) {\n this.data.sr = 1;\n } // effects manager\n\n\n this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);\n },\n getType: function getType() {\n return this.type;\n },\n sourceRectAtTime: function sourceRectAtTime() {}\n };\n\n /**\r\n * @file\r\n * Handles element's layer frame update.\r\n * Checks layer in point and out point\r\n *\r\n */\n function FrameElement() {}\n\n FrameElement.prototype = {\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n */\n initFrame: function initFrame() {\n // set to true when inpoint is rendered\n this._isFirstFrame = false; // list of animated properties\n\n this.dynamicProperties = []; // If layer has been modified in current tick this will be true\n\n this._mdf = false;\n },\n\n /**\r\n * @function\r\n * Calculates all dynamic values\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n * @param {boolean} isVisible\r\n * if layers is currently in range\r\n *\r\n */\n prepareProperties: function prepareProperties(num, isVisible) {\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (isVisible || this._isParent && this.dynamicProperties[i].propType === 'transform') {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this.globalData._mdf = true;\n this._mdf = true;\n }\n }\n }\n },\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n }\n }\n };\n\n function FootageElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.footageData = globalData.imageLoader.getAsset(this.assetData);\n this.initBaseData(data, globalData, comp);\n }\n\n FootageElement.prototype.prepareFrame = function () {};\n\n extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\n\n FootageElement.prototype.getBaseElement = function () {\n return null;\n };\n\n FootageElement.prototype.renderFrame = function () {};\n\n FootageElement.prototype.destroy = function () {};\n\n FootageElement.prototype.initExpressions = function () {\n var expressionsInterfaces = getExpressionInterfaces();\n\n if (!expressionsInterfaces) {\n return;\n }\n\n var FootageInterface = expressionsInterfaces('footage');\n this.layerInterface = FootageInterface(this);\n };\n\n FootageElement.prototype.getFootageData = function () {\n return this.footageData;\n };\n\n function AudioElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.initBaseData(data, globalData, comp);\n this._isPlaying = false;\n this._canPlay = false;\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.audio = this.globalData.audioController.createAudio(assetPath);\n this._currentTime = 0;\n this.globalData.audioController.addAudio(this);\n this._volumeMultiplier = 1;\n this._volume = 1;\n this._previousVolume = null;\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n this.lv = PropertyFactory.getProp(this, data.au && data.au.lv ? data.au.lv : {\n k: [100]\n }, 1, 0.01, this);\n }\n\n AudioElement.prototype.prepareFrame = function (num) {\n this.prepareRenderableFrame(num, true);\n this.prepareProperties(num, true);\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n this._currentTime = timeRemapped;\n } else {\n this._currentTime = num / this.data.sr;\n }\n\n this._volume = this.lv.v[0];\n var totalVolume = this._volume * this._volumeMultiplier;\n\n if (this._previousVolume !== totalVolume) {\n this._previousVolume = totalVolume;\n this.audio.volume(totalVolume);\n }\n };\n\n extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n\n AudioElement.prototype.renderFrame = function () {\n if (this.isInRange && this._canPlay) {\n if (!this._isPlaying) {\n this.audio.play();\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n this._isPlaying = true;\n } else if (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1) {\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n }\n }\n };\n\n AudioElement.prototype.show = function () {// this.audio.play()\n };\n\n AudioElement.prototype.hide = function () {\n this.audio.pause();\n this._isPlaying = false;\n };\n\n AudioElement.prototype.pause = function () {\n this.audio.pause();\n this._isPlaying = false;\n this._canPlay = false;\n };\n\n AudioElement.prototype.resume = function () {\n this._canPlay = true;\n };\n\n AudioElement.prototype.setRate = function (rateValue) {\n this.audio.rate(rateValue);\n };\n\n AudioElement.prototype.volume = function (volumeValue) {\n this._volumeMultiplier = volumeValue;\n this._previousVolume = volumeValue * this._volume;\n this.audio.volume(this._previousVolume);\n };\n\n AudioElement.prototype.getBaseElement = function () {\n return null;\n };\n\n AudioElement.prototype.destroy = function () {};\n\n AudioElement.prototype.sourceRectAtTime = function () {};\n\n AudioElement.prototype.initExpressions = function () {};\n\n function BaseRenderer() {}\n\n BaseRenderer.prototype.checkLayers = function (num) {\n var i;\n var len = this.layers.length;\n var data;\n this.completeLayers = true;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (!this.elements[i]) {\n data = this.layers[i];\n\n if (data.ip - data.st <= num - this.layers[i].st && data.op - data.st > num - this.layers[i].st) {\n this.buildItem(i);\n }\n }\n\n this.completeLayers = this.elements[i] ? this.completeLayers : false;\n }\n\n this.checkPendingElements();\n };\n\n BaseRenderer.prototype.createItem = function (layer) {\n switch (layer.ty) {\n case 2:\n return this.createImage(layer);\n\n case 0:\n return this.createComp(layer);\n\n case 1:\n return this.createSolid(layer);\n\n case 3:\n return this.createNull(layer);\n\n case 4:\n return this.createShape(layer);\n\n case 5:\n return this.createText(layer);\n\n case 6:\n return this.createAudio(layer);\n\n case 13:\n return this.createCamera(layer);\n\n case 15:\n return this.createFootage(layer);\n\n default:\n return this.createNull(layer);\n }\n };\n\n BaseRenderer.prototype.createCamera = function () {\n throw new Error('You\\'re using a 3d camera. Try the html renderer.');\n };\n\n BaseRenderer.prototype.createAudio = function (data) {\n return new AudioElement(data, this.globalData, this);\n };\n\n BaseRenderer.prototype.createFootage = function (data) {\n return new FootageElement(data, this.globalData, this);\n };\n\n BaseRenderer.prototype.buildAllItems = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n this.buildItem(i);\n }\n\n this.checkPendingElements();\n };\n\n BaseRenderer.prototype.includeLayers = function (newLayers) {\n this.completeLayers = false;\n var i;\n var len = newLayers.length;\n var j;\n var jLen = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n j = 0;\n\n while (j < jLen) {\n if (this.layers[j].id === newLayers[i].id) {\n this.layers[j] = newLayers[i];\n break;\n }\n\n j += 1;\n }\n }\n };\n\n BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n this.globalData.projectInterface = pInterface;\n };\n\n BaseRenderer.prototype.initItems = function () {\n if (!this.globalData.progressiveLoad) {\n this.buildAllItems();\n }\n };\n\n BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n var elements = this.elements;\n var layers = this.layers;\n var i = 0;\n var len = layers.length;\n\n while (i < len) {\n if (layers[i].ind == parentName) {\n // eslint-disable-line eqeqeq\n if (!elements[i] || elements[i] === true) {\n this.buildItem(i);\n this.addPendingElement(element);\n } else {\n hierarchy.push(elements[i]);\n elements[i].setAsParent();\n\n if (layers[i].parent !== undefined) {\n this.buildElementParenting(element, layers[i].parent, hierarchy);\n } else {\n element.setHierarchy(hierarchy);\n }\n }\n }\n\n i += 1;\n }\n };\n\n BaseRenderer.prototype.addPendingElement = function (element) {\n this.pendingElements.push(element);\n };\n\n BaseRenderer.prototype.searchExtraCompositions = function (assets) {\n var i;\n var len = assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (assets[i].xt) {\n var comp = this.createComp(assets[i]);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n BaseRenderer.prototype.getElementById = function (ind) {\n var i;\n var len = this.elements.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i].data.ind === ind) {\n return this.elements[i];\n }\n }\n\n return null;\n };\n\n BaseRenderer.prototype.getElementByPath = function (path) {\n var pathValue = path.shift();\n var element;\n\n if (typeof pathValue === 'number') {\n element = this.elements[pathValue];\n } else {\n var i;\n var len = this.elements.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i].data.nm === pathValue) {\n element = this.elements[i];\n break;\n }\n }\n }\n\n if (path.length === 0) {\n return element;\n }\n\n return element.getElementByPath(path);\n };\n\n BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n this.globalData.fontManager = new FontManager();\n this.globalData.slotManager = slotFactory(animData);\n this.globalData.fontManager.addChars(animData.chars);\n this.globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem);\n this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem);\n this.globalData.imageLoader = this.animationItem.imagePreloader;\n this.globalData.audioController = this.animationItem.audioController;\n this.globalData.frameId = 0;\n this.globalData.frameRate = animData.fr;\n this.globalData.nm = animData.nm;\n this.globalData.compSize = {\n w: animData.w,\n h: animData.h\n };\n };\n\n var effectTypes = {\n TRANSFORM_EFFECT: 'transformEFfect'\n };\n\n function TransformElement() {}\n\n TransformElement.prototype = {\n initTransform: function initTransform() {\n var mat = new Matrix();\n this.finalTransform = {\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {\n o: 0\n },\n _matMdf: false,\n _localMatMdf: false,\n _opMdf: false,\n mat: mat,\n localMat: mat,\n localOpacity: 1\n };\n\n if (this.data.ao) {\n this.finalTransform.mProp.autoOriented = true;\n } // TODO: check TYPE 11: Guided elements\n\n\n if (this.data.ty !== 11) {// this.createElements();\n }\n },\n renderTransform: function renderTransform() {\n this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame;\n this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame;\n\n if (this.hierarchy) {\n var mat;\n var finalMat = this.finalTransform.mat;\n var i = 0;\n var len = this.hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed.\n\n if (!this.finalTransform._matMdf) {\n while (i < len) {\n if (this.hierarchy[i].finalTransform.mProp._mdf) {\n this.finalTransform._matMdf = true;\n break;\n }\n\n i += 1;\n }\n }\n\n if (this.finalTransform._matMdf) {\n mat = this.finalTransform.mProp.v.props;\n finalMat.cloneFromProps(mat);\n\n for (i = 0; i < len; i += 1) {\n finalMat.multiply(this.hierarchy[i].finalTransform.mProp.v);\n }\n }\n }\n\n if (this.finalTransform._matMdf) {\n this.finalTransform._localMatMdf = this.finalTransform._matMdf;\n }\n\n if (this.finalTransform._opMdf) {\n this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;\n }\n },\n renderLocalTransform: function renderLocalTransform() {\n if (this.localTransforms) {\n var i = 0;\n var len = this.localTransforms.length;\n this.finalTransform._localMatMdf = this.finalTransform._matMdf;\n\n if (!this.finalTransform._localMatMdf || !this.finalTransform._opMdf) {\n while (i < len) {\n if (this.localTransforms[i]._mdf) {\n this.finalTransform._localMatMdf = true;\n }\n\n if (this.localTransforms[i]._opMdf && !this.finalTransform._opMdf) {\n this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;\n this.finalTransform._opMdf = true;\n }\n\n i += 1;\n }\n }\n\n if (this.finalTransform._localMatMdf) {\n var localMat = this.finalTransform.localMat;\n this.localTransforms[0].matrix.clone(localMat);\n\n for (i = 1; i < len; i += 1) {\n var lmat = this.localTransforms[i].matrix;\n localMat.multiply(lmat);\n }\n\n localMat.multiply(this.finalTransform.mat);\n }\n\n if (this.finalTransform._opMdf) {\n var localOp = this.finalTransform.localOpacity;\n\n for (i = 0; i < len; i += 1) {\n localOp *= this.localTransforms[i].opacity * 0.01;\n }\n\n this.finalTransform.localOpacity = localOp;\n }\n }\n },\n searchEffectTransforms: function searchEffectTransforms() {\n if (this.renderableEffectsManager) {\n var transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n\n if (transformEffects.length) {\n this.localTransforms = [];\n this.finalTransform.localMat = new Matrix();\n var i = 0;\n var len = transformEffects.length;\n\n for (i = 0; i < len; i += 1) {\n this.localTransforms.push(transformEffects[i]);\n }\n }\n }\n },\n globalToLocal: function globalToLocal(pt) {\n var transforms = [];\n transforms.push(this.finalTransform);\n var flag = true;\n var comp = this.comp;\n\n while (flag) {\n if (comp.finalTransform) {\n if (comp.data.hasMask) {\n transforms.splice(0, 0, comp.finalTransform);\n }\n\n comp = comp.comp;\n } else {\n flag = false;\n }\n }\n\n var i;\n var len = transforms.length;\n var ptNew;\n\n for (i = 0; i < len; i += 1) {\n ptNew = transforms[i].mat.applyToPointArray(0, 0, 0); // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\n\n pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\n }\n\n return pt;\n },\n mHelper: new Matrix()\n };\n\n function MaskElement(data, element, globalData) {\n this.data = data;\n this.element = element;\n this.globalData = globalData;\n this.storedData = [];\n this.masksProperties = this.data.masksProperties || [];\n this.maskElement = null;\n var defs = this.globalData.defs;\n var i;\n var len = this.masksProperties ? this.masksProperties.length : 0;\n this.viewData = createSizedArray(len);\n this.solidPath = '';\n var path;\n var properties = this.masksProperties;\n var count = 0;\n var currentMasks = [];\n var j;\n var jLen;\n var layerId = createElementID();\n var rect;\n var expansor;\n var feMorph;\n var x;\n var maskType = 'clipPath';\n var maskRef = 'clip-path';\n\n for (i = 0; i < len; i += 1) {\n if (properties[i].mode !== 'a' && properties[i].mode !== 'n' || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\n maskType = 'mask';\n maskRef = 'mask';\n }\n\n if ((properties[i].mode === 's' || properties[i].mode === 'i') && count === 0) {\n rect = createNS('rect');\n rect.setAttribute('fill', '#ffffff');\n rect.setAttribute('width', this.element.comp.data.w || 0);\n rect.setAttribute('height', this.element.comp.data.h || 0);\n currentMasks.push(rect);\n } else {\n rect = null;\n }\n\n path = createNS('path');\n\n if (properties[i].mode === 'n') {\n // TODO move this to a factory or to a constructor\n this.viewData[i] = {\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n elem: path,\n lastPath: ''\n };\n defs.appendChild(path);\n } else {\n count += 1;\n path.setAttribute('fill', properties[i].mode === 's' ? '#000000' : '#ffffff');\n path.setAttribute('clip-rule', 'nonzero');\n var filterID;\n\n if (properties[i].x.k !== 0) {\n maskType = 'mask';\n maskRef = 'mask';\n x = PropertyFactory.getProp(this.element, properties[i].x, 0, null, this.element);\n filterID = createElementID();\n expansor = createNS('filter');\n expansor.setAttribute('id', filterID);\n feMorph = createNS('feMorphology');\n feMorph.setAttribute('operator', 'erode');\n feMorph.setAttribute('in', 'SourceGraphic');\n feMorph.setAttribute('radius', '0');\n expansor.appendChild(feMorph);\n defs.appendChild(expansor);\n path.setAttribute('stroke', properties[i].mode === 's' ? '#000000' : '#ffffff');\n } else {\n feMorph = null;\n x = null;\n } // TODO move this to a factory or to a constructor\n\n\n this.storedData[i] = {\n elem: path,\n x: x,\n expan: feMorph,\n lastPath: '',\n lastOperator: '',\n filterId: filterID,\n lastRadius: 0\n };\n\n if (properties[i].mode === 'i') {\n jLen = currentMasks.length;\n var g = createNS('g');\n\n for (j = 0; j < jLen; j += 1) {\n g.appendChild(currentMasks[j]);\n }\n\n var mask = createNS('mask');\n mask.setAttribute('mask-type', 'alpha');\n mask.setAttribute('id', layerId + '_' + count);\n mask.appendChild(path);\n defs.appendChild(mask);\n g.setAttribute('mask', 'url(' + getLocationHref() + '#' + layerId + '_' + count + ')');\n currentMasks.length = 0;\n currentMasks.push(g);\n } else {\n currentMasks.push(path);\n }\n\n if (properties[i].inv && !this.solidPath) {\n this.solidPath = this.createLayerSolidPath();\n } // TODO move this to a factory or to a constructor\n\n\n this.viewData[i] = {\n elem: path,\n lastPath: '',\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n invRect: rect\n };\n\n if (!this.viewData[i].prop.k) {\n this.drawPath(properties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n }\n }\n\n this.maskElement = createNS(maskType);\n len = currentMasks.length;\n\n for (i = 0; i < len; i += 1) {\n this.maskElement.appendChild(currentMasks[i]);\n }\n\n if (count > 0) {\n this.maskElement.setAttribute('id', layerId);\n this.element.maskedElement.setAttribute(maskRef, 'url(' + getLocationHref() + '#' + layerId + ')');\n defs.appendChild(this.maskElement);\n }\n\n if (this.viewData.length) {\n this.element.addRenderableComponent(this);\n }\n }\n\n MaskElement.prototype.getMaskProperty = function (pos) {\n return this.viewData[pos].prop;\n };\n\n MaskElement.prototype.renderFrame = function (isFirstFrame) {\n var finalMat = this.element.finalTransform.mat;\n var i;\n var len = this.masksProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.viewData[i].prop._mdf || isFirstFrame) {\n this.drawPath(this.masksProperties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n\n if (this.viewData[i].op._mdf || isFirstFrame) {\n this.viewData[i].elem.setAttribute('fill-opacity', this.viewData[i].op.v);\n }\n\n if (this.masksProperties[i].mode !== 'n') {\n if (this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)) {\n this.viewData[i].invRect.setAttribute('transform', finalMat.getInverseMatrix().to2dCSS());\n }\n\n if (this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)) {\n var feMorph = this.storedData[i].expan;\n\n if (this.storedData[i].x.v < 0) {\n if (this.storedData[i].lastOperator !== 'erode') {\n this.storedData[i].lastOperator = 'erode';\n this.storedData[i].elem.setAttribute('filter', 'url(' + getLocationHref() + '#' + this.storedData[i].filterId + ')');\n }\n\n feMorph.setAttribute('radius', -this.storedData[i].x.v);\n } else {\n if (this.storedData[i].lastOperator !== 'dilate') {\n this.storedData[i].lastOperator = 'dilate';\n this.storedData[i].elem.setAttribute('filter', null);\n }\n\n this.storedData[i].elem.setAttribute('stroke-width', this.storedData[i].x.v * 2);\n }\n }\n }\n }\n };\n\n MaskElement.prototype.getMaskelement = function () {\n return this.maskElement;\n };\n\n MaskElement.prototype.createLayerSolidPath = function () {\n var path = 'M0,0 ';\n path += ' h' + this.globalData.compSize.w;\n path += ' v' + this.globalData.compSize.h;\n path += ' h-' + this.globalData.compSize.w;\n path += ' v-' + this.globalData.compSize.h + ' ';\n return path;\n };\n\n MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\n var pathString = ' M' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n var i;\n var len;\n len = pathNodes._length;\n\n for (i = 1; i < len; i += 1) {\n // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[i][0]+','+pathNodes.i[i][1] + \" \"+pathNodes.v[i][0]+','+pathNodes.v[i][1];\n pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[i][0] + ',' + pathNodes.i[i][1] + ' ' + pathNodes.v[i][0] + ',' + pathNodes.v[i][1];\n } // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\n\n\n if (pathNodes.c && len > 1) {\n pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[0][0] + ',' + pathNodes.i[0][1] + ' ' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n } // pathNodes.__renderedString = pathString;\n\n\n if (viewData.lastPath !== pathString) {\n var pathShapeValue = '';\n\n if (viewData.elem) {\n if (pathNodes.c) {\n pathShapeValue = pathData.inv ? this.solidPath + pathString : pathString;\n }\n\n viewData.elem.setAttribute('d', pathShapeValue);\n }\n\n viewData.lastPath = pathString;\n }\n };\n\n MaskElement.prototype.destroy = function () {\n this.element = null;\n this.globalData = null;\n this.maskElement = null;\n this.data = null;\n this.masksProperties = null;\n };\n\n var filtersFactory = function () {\n var ob = {};\n ob.createFilter = createFilter;\n ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\n\n function createFilter(filId, skipCoordinates) {\n var fil = createNS('filter');\n fil.setAttribute('id', filId);\n\n if (skipCoordinates !== true) {\n fil.setAttribute('filterUnits', 'objectBoundingBox');\n fil.setAttribute('x', '0%');\n fil.setAttribute('y', '0%');\n fil.setAttribute('width', '100%');\n fil.setAttribute('height', '100%');\n }\n\n return fil;\n }\n\n function createAlphaToLuminanceFilter() {\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1');\n return feColorMatrix;\n }\n\n return ob;\n }();\n\n var featureSupport = function () {\n var ob = {\n maskType: true,\n svgLumaHidden: true,\n offscreenCanvas: typeof OffscreenCanvas !== 'undefined'\n };\n\n if (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent)) {\n ob.maskType = false;\n }\n\n if (/firefox/i.test(navigator.userAgent)) {\n ob.svgLumaHidden = false;\n }\n\n return ob;\n }();\n\n var registeredEffects$1 = {};\n var idPrefix = 'filter_result_';\n\n function SVGEffects(elem) {\n var i;\n var source = 'SourceGraphic';\n var len = elem.data.ef ? elem.data.ef.length : 0;\n var filId = createElementID();\n var fil = filtersFactory.createFilter(filId, true);\n var count = 0;\n this.filters = [];\n var filterManager;\n\n for (i = 0; i < len; i += 1) {\n filterManager = null;\n var type = elem.data.ef[i].ty;\n\n if (registeredEffects$1[type]) {\n var Effect = registeredEffects$1[type].effect;\n filterManager = new Effect(fil, elem.effectsManager.effectElements[i], elem, idPrefix + count, source);\n source = idPrefix + count;\n\n if (registeredEffects$1[type].countsAsEffect) {\n count += 1;\n }\n }\n\n if (filterManager) {\n this.filters.push(filterManager);\n }\n }\n\n if (count) {\n elem.globalData.defs.appendChild(fil);\n elem.layerElement.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n\n if (this.filters.length) {\n elem.addRenderableComponent(this);\n }\n }\n\n SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n var i;\n var len = this.filters.length;\n\n for (i = 0; i < len; i += 1) {\n this.filters[i].renderFrame(_isFirstFrame);\n }\n };\n\n SVGEffects.prototype.getEffects = function (type) {\n var i;\n var len = this.filters.length;\n var effects = [];\n\n for (i = 0; i < len; i += 1) {\n if (this.filters[i].type === type) {\n effects.push(this.filters[i]);\n }\n }\n\n return effects;\n };\n\n function registerEffect$1(id, effect, countsAsEffect) {\n registeredEffects$1[id] = {\n effect: effect,\n countsAsEffect: countsAsEffect\n };\n }\n\n function SVGBaseElement() {}\n\n SVGBaseElement.prototype = {\n initRendererElement: function initRendererElement() {\n this.layerElement = createNS('g');\n },\n createContainerElements: function createContainerElements() {\n this.matteElement = createNS('g');\n this.transformedElement = this.layerElement;\n this.maskedElement = this.layerElement;\n this._sizeChanged = false;\n var layerElementParent = null; // If this layer acts as a mask for the following layer\n\n if (this.data.td) {\n this.matteMasks = {};\n var gg = createNS('g');\n gg.setAttribute('id', this.layerId);\n gg.appendChild(this.layerElement);\n layerElementParent = gg;\n this.globalData.defs.appendChild(gg);\n } else if (this.data.tt) {\n this.matteElement.appendChild(this.layerElement);\n layerElementParent = this.matteElement;\n this.baseElement = this.matteElement;\n } else {\n this.baseElement = this.layerElement;\n }\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n } // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\n\n\n if (this.data.ty === 0 && !this.data.hd) {\n var cp = createNS('clipPath');\n var pt = createNS('path');\n pt.setAttribute('d', 'M0,0 L' + this.data.w + ',0 L' + this.data.w + ',' + this.data.h + ' L0,' + this.data.h + 'z');\n var clipId = createElementID();\n cp.setAttribute('id', clipId);\n cp.appendChild(pt);\n this.globalData.defs.appendChild(cp);\n\n if (this.checkMasks()) {\n var cpGroup = createNS('g');\n cpGroup.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n cpGroup.appendChild(this.layerElement);\n this.transformedElement = cpGroup;\n\n if (layerElementParent) {\n layerElementParent.appendChild(this.transformedElement);\n } else {\n this.baseElement = this.transformedElement;\n }\n } else {\n this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n }\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n if (this.finalTransform._localMatMdf) {\n this.transformedElement.setAttribute('transform', this.finalTransform.localMat.to2dCSS());\n }\n\n if (this.finalTransform._opMdf) {\n this.transformedElement.setAttribute('opacity', this.finalTransform.localOpacity);\n }\n },\n destroyBaseElement: function destroyBaseElement() {\n this.layerElement = null;\n this.matteElement = null;\n this.maskManager.destroy();\n },\n getBaseElement: function getBaseElement() {\n if (this.data.hd) {\n return null;\n }\n\n return this.baseElement;\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n this.renderableEffectsManager = new SVGEffects(this);\n this.searchEffectTransforms();\n },\n getMatte: function getMatte(matteType) {\n // This should not be a common case. But for backward compatibility, we'll create the matte object.\n // It solves animations that have two consecutive layers marked as matte masks.\n // Which is an undefined behavior in AE.\n if (!this.matteMasks) {\n this.matteMasks = {};\n }\n\n if (!this.matteMasks[matteType]) {\n var id = this.layerId + '_' + matteType;\n var filId;\n var fil;\n var useElement;\n var gg;\n\n if (matteType === 1 || matteType === 3) {\n var masker = createNS('mask');\n masker.setAttribute('id', id);\n masker.setAttribute('mask-type', matteType === 3 ? 'luminance' : 'alpha');\n useElement = createNS('use');\n useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId);\n masker.appendChild(useElement);\n this.globalData.defs.appendChild(masker);\n\n if (!featureSupport.maskType && matteType === 1) {\n masker.setAttribute('mask-type', 'luminance');\n filId = createElementID();\n fil = filtersFactory.createFilter(filId);\n this.globalData.defs.appendChild(fil);\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n gg.appendChild(useElement);\n masker.appendChild(gg);\n gg.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n } else if (matteType === 2) {\n var maskGroup = createNS('mask');\n maskGroup.setAttribute('id', id);\n maskGroup.setAttribute('mask-type', 'alpha');\n var maskGrouper = createNS('g');\n maskGroup.appendChild(maskGrouper);\n filId = createElementID();\n fil = filtersFactory.createFilter(filId); /// /\n\n var feCTr = createNS('feComponentTransfer');\n feCTr.setAttribute('in', 'SourceGraphic');\n fil.appendChild(feCTr);\n var feFunc = createNS('feFuncA');\n feFunc.setAttribute('type', 'table');\n feFunc.setAttribute('tableValues', '1.0 0.0');\n feCTr.appendChild(feFunc); /// /\n\n this.globalData.defs.appendChild(fil);\n var alphaRect = createNS('rect');\n alphaRect.setAttribute('width', this.comp.data.w);\n alphaRect.setAttribute('height', this.comp.data.h);\n alphaRect.setAttribute('x', '0');\n alphaRect.setAttribute('y', '0');\n alphaRect.setAttribute('fill', '#ffffff');\n alphaRect.setAttribute('opacity', '0');\n maskGrouper.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n maskGrouper.appendChild(alphaRect);\n useElement = createNS('use');\n useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId);\n maskGrouper.appendChild(useElement);\n\n if (!featureSupport.maskType) {\n maskGroup.setAttribute('mask-type', 'luminance');\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n maskGrouper.appendChild(alphaRect);\n gg.appendChild(this.layerElement);\n maskGrouper.appendChild(gg);\n }\n\n this.globalData.defs.appendChild(maskGroup);\n }\n\n this.matteMasks[matteType] = id;\n }\n\n return this.matteMasks[matteType];\n },\n setMatte: function setMatte(id) {\n if (!this.matteElement) {\n return;\n }\n\n this.matteElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n }\n };\n\n /**\r\n * @file\r\n * Handles AE's layer parenting property.\r\n *\r\n */\n function HierarchyElement() {}\n\n HierarchyElement.prototype = {\n /**\r\n * @function\r\n * Initializes hierarchy properties\r\n *\r\n */\n initHierarchy: function initHierarchy() {\n // element's parent list\n this.hierarchy = []; // if element is parent of another layer _isParent will be true\n\n this._isParent = false;\n this.checkParenting();\n },\n\n /**\r\n * @function\r\n * Sets layer's hierarchy.\r\n * @param {array} hierarch\r\n * layer's parent list\r\n *\r\n */\n setHierarchy: function setHierarchy(hierarchy) {\n this.hierarchy = hierarchy;\n },\n\n /**\r\n * @function\r\n * Sets layer as parent.\r\n *\r\n */\n setAsParent: function setAsParent() {\n this._isParent = true;\n },\n\n /**\r\n * @function\r\n * Searches layer's parenting chain\r\n *\r\n */\n checkParenting: function checkParenting() {\n if (this.data.parent !== undefined) {\n this.comp.buildElementParenting(this, this.data.parent, []);\n }\n }\n };\n\n function RenderableDOMElement() {}\n\n (function () {\n var _prototype = {\n initElement: function initElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n },\n hide: function hide() {\n // console.log('HIDE', this);\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'none';\n this.hidden = true;\n }\n },\n show: function show() {\n // console.log('SHOW', this);\n if (this.isInRange && !this.isTransparent) {\n if (!this.data.hd) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'block';\n }\n\n this.hidden = false;\n this._isFirstFrame = true;\n }\n },\n renderFrame: function renderFrame() {\n // If it is exported as hidden (data.hd === true) no need to render\n // If it is not visible no need to render\n if (this.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderLocalTransform();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n renderInnerContent: function renderInnerContent() {},\n prepareFrame: function prepareFrame(num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n this.checkTransparency();\n },\n destroy: function destroy() {\n this.innerElem = null;\n this.destroyBaseElement();\n }\n };\n extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n })();\n\n function IImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n\n if (this.assetData && this.assetData.sid) {\n this.assetData = globalData.slotManager.getProp(this.assetData);\n }\n\n this.initElement(data, globalData, comp);\n this.sourceRect = {\n top: 0,\n left: 0,\n width: this.assetData.w,\n height: this.assetData.h\n };\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n\n IImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.innerElem = createNS('image');\n this.innerElem.setAttribute('width', this.assetData.w + 'px');\n this.innerElem.setAttribute('height', this.assetData.h + 'px');\n this.innerElem.setAttribute('preserveAspectRatio', this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);\n this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.innerElem);\n };\n\n IImageElement.prototype.sourceRectAtTime = function () {\n return this.sourceRect;\n };\n\n function ProcessedElement(element, position) {\n this.elem = element;\n this.pos = position;\n }\n\n function IShapeElement() {}\n\n IShapeElement.prototype = {\n addShapeToModifiers: function addShapeToModifiers(data) {\n var i;\n var len = this.shapeModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapeModifiers[i].addShape(data);\n }\n },\n isShapeInAnimatedModifiers: function isShapeInAnimatedModifiers(data) {\n var i = 0;\n var len = this.shapeModifiers.length;\n\n while (i < len) {\n if (this.shapeModifiers[i].isAnimatedWithShape(data)) {\n return true;\n }\n }\n\n return false;\n },\n renderModifiers: function renderModifiers() {\n if (!this.shapeModifiers.length) {\n return;\n }\n\n var i;\n var len = this.shapes.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapes[i].sh.reset();\n }\n\n len = this.shapeModifiers.length;\n var shouldBreakProcess;\n\n for (i = len - 1; i >= 0; i -= 1) {\n shouldBreakProcess = this.shapeModifiers[i].processShapes(this._isFirstFrame); // workaround to fix cases where a repeater resets the shape so the following processes get called twice\n // TODO: find a better solution for this\n\n if (shouldBreakProcess) {\n break;\n }\n }\n },\n searchProcessedElement: function searchProcessedElement(elem) {\n var elements = this.processedElements;\n var i = 0;\n var len = elements.length;\n\n while (i < len) {\n if (elements[i].elem === elem) {\n return elements[i].pos;\n }\n\n i += 1;\n }\n\n return 0;\n },\n addProcessedElement: function addProcessedElement(elem, pos) {\n var elements = this.processedElements;\n var i = elements.length;\n\n while (i) {\n i -= 1;\n\n if (elements[i].elem === elem) {\n elements[i].pos = pos;\n return;\n }\n }\n\n elements.push(new ProcessedElement(elem, pos));\n },\n prepareFrame: function prepareFrame(num) {\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n }\n };\n\n var lineCapEnum = {\n 1: 'butt',\n 2: 'round',\n 3: 'square'\n };\n var lineJoinEnum = {\n 1: 'miter',\n 2: 'round',\n 3: 'bevel'\n };\n\n function SVGShapeData(transformers, level, shape) {\n this.caches = [];\n this.styles = [];\n this.transformers = transformers;\n this.lStr = '';\n this.sh = shape;\n this.lvl = level; // TODO find if there are some cases where _isAnimated can be false.\n // For now, since shapes add up with other shapes. They have to be calculated every time.\n // One way of finding out is checking if all styles associated to this shape depend only of this shape\n\n this._isAnimated = !!shape.k; // TODO: commenting this for now since all shapes are animated\n\n var i = 0;\n var len = transformers.length;\n\n while (i < len) {\n if (transformers[i].mProps.dynamicProperties.length) {\n this._isAnimated = true;\n break;\n }\n\n i += 1;\n }\n }\n\n SVGShapeData.prototype.setAsAnimated = function () {\n this._isAnimated = true;\n };\n\n function SVGStyleData(data, level) {\n this.data = data;\n this.type = data.ty;\n this.d = '';\n this.lvl = level;\n this._mdf = false;\n this.closed = data.hd === true;\n this.pElem = createNS('path');\n this.msElem = null;\n }\n\n SVGStyleData.prototype.reset = function () {\n this.d = '';\n this._mdf = false;\n };\n\n function DashProperty(elem, data, renderer, container) {\n this.elem = elem;\n this.frameId = -1;\n this.dataProps = createSizedArray(data.length);\n this.renderer = renderer;\n this.k = false;\n this.dashStr = '';\n this.dashArray = createTypedArray('float32', data.length ? data.length - 1 : 0);\n this.dashoffset = createTypedArray('float32', 1);\n this.initDynamicPropertyContainer(container);\n var i;\n var len = data.length || 0;\n var prop;\n\n for (i = 0; i < len; i += 1) {\n prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this);\n this.k = prop.k || this.k;\n this.dataProps[i] = {\n n: data[i].n,\n p: prop\n };\n }\n\n if (!this.k) {\n this.getValue(true);\n }\n\n this._isAnimated = this.k;\n }\n\n DashProperty.prototype.getValue = function (forceRender) {\n if (this.elem.globalData.frameId === this.frameId && !forceRender) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || forceRender;\n\n if (this._mdf) {\n var i = 0;\n var len = this.dataProps.length;\n\n if (this.renderer === 'svg') {\n this.dashStr = '';\n }\n\n for (i = 0; i < len; i += 1) {\n if (this.dataProps[i].n !== 'o') {\n if (this.renderer === 'svg') {\n this.dashStr += ' ' + this.dataProps[i].p.v;\n } else {\n this.dashArray[i] = this.dataProps[i].p.v;\n }\n } else {\n this.dashoffset[0] = this.dataProps[i].p.v;\n }\n }\n }\n };\n\n extendPrototype([DynamicPropertyContainer], DashProperty);\n\n function SVGStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n\n function SVGFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n\n function SVGNoStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGNoStyleData);\n\n function GradientProperty(elem, data, container) {\n this.data = data;\n this.c = createTypedArray('uint8c', data.p * 4);\n var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;\n this.o = createTypedArray('float32', cLength);\n this._cmdf = false;\n this._omdf = false;\n this._collapsable = this.checkCollapsable();\n this._hasOpacity = cLength;\n this.initDynamicPropertyContainer(container);\n this.prop = PropertyFactory.getProp(elem, data.k, 1, null, this);\n this.k = this.prop.k;\n this.getValue(true);\n }\n\n GradientProperty.prototype.comparePoints = function (values, points) {\n var i = 0;\n var len = this.o.length / 2;\n var diff;\n\n while (i < len) {\n diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\n\n if (diff > 0.01) {\n return false;\n }\n\n i += 1;\n }\n\n return true;\n };\n\n GradientProperty.prototype.checkCollapsable = function () {\n if (this.o.length / 2 !== this.c.length / 4) {\n return false;\n }\n\n if (this.data.k.k[0].s) {\n var i = 0;\n var len = this.data.k.k.length;\n\n while (i < len) {\n if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) {\n return false;\n }\n\n i += 1;\n }\n } else if (!this.comparePoints(this.data.k.k, this.data.p)) {\n return false;\n }\n\n return true;\n };\n\n GradientProperty.prototype.getValue = function (forceRender) {\n this.prop.getValue();\n this._mdf = false;\n this._cmdf = false;\n this._omdf = false;\n\n if (this.prop._mdf || forceRender) {\n var i;\n var len = this.data.p * 4;\n var mult;\n var val;\n\n for (i = 0; i < len; i += 1) {\n mult = i % 4 === 0 ? 100 : 255;\n val = Math.round(this.prop.v[i] * mult);\n\n if (this.c[i] !== val) {\n this.c[i] = val;\n this._cmdf = !forceRender;\n }\n }\n\n if (this.o.length) {\n len = this.prop.v.length;\n\n for (i = this.data.p * 4; i < len; i += 1) {\n mult = i % 2 === 0 ? 100 : 1;\n val = i % 2 === 0 ? Math.round(this.prop.v[i] * 100) : this.prop.v[i];\n\n if (this.o[i - this.data.p * 4] !== val) {\n this.o[i - this.data.p * 4] = val;\n this._omdf = !forceRender;\n }\n }\n }\n\n this._mdf = !forceRender;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], GradientProperty);\n\n function SVGGradientFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.initGradientData(elem, data, styleOb);\n }\n\n SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, null, this);\n this.e = PropertyFactory.getProp(elem, data.e, 1, null, this);\n this.h = PropertyFactory.getProp(elem, data.h || {\n k: 0\n }, 0, 0.01, this);\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: 0\n }, 0, degToRads, this);\n this.g = new GradientProperty(elem, data.g, this);\n this.style = styleOb;\n this.stops = [];\n this.setGradientData(styleOb.pElem, data);\n this.setGradientOpacity(data, styleOb);\n this._isAnimated = !!this._isAnimated;\n };\n\n SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\n var gradientId = createElementID();\n var gfill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n gfill.setAttribute('id', gradientId);\n gfill.setAttribute('spreadMethod', 'pad');\n gfill.setAttribute('gradientUnits', 'userSpaceOnUse');\n var stops = [];\n var stop;\n var j;\n var jLen;\n jLen = data.g.p * 4;\n\n for (j = 0; j < jLen; j += 4) {\n stop = createNS('stop');\n gfill.appendChild(stop);\n stops.push(stop);\n }\n\n pathElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + gradientId + ')');\n this.gf = gfill;\n this.cst = stops;\n };\n\n SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n if (this.g._hasOpacity && !this.g._collapsable) {\n var stop;\n var j;\n var jLen;\n var mask = createNS('mask');\n var maskElement = createNS('path');\n mask.appendChild(maskElement);\n var opacityId = createElementID();\n var maskId = createElementID();\n mask.setAttribute('id', maskId);\n var opFill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n opFill.setAttribute('id', opacityId);\n opFill.setAttribute('spreadMethod', 'pad');\n opFill.setAttribute('gradientUnits', 'userSpaceOnUse');\n jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\n var stops = this.stops;\n\n for (j = data.g.p * 4; j < jLen; j += 2) {\n stop = createNS('stop');\n stop.setAttribute('stop-color', 'rgb(255,255,255)');\n opFill.appendChild(stop);\n stops.push(stop);\n }\n\n maskElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + opacityId + ')');\n\n if (data.ty === 'gs') {\n maskElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n maskElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n\n if (data.lj === 1) {\n maskElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n\n this.of = opFill;\n this.ms = mask;\n this.ost = stops;\n this.maskId = maskId;\n styleOb.msElem = maskElement;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n\n function SVGGradientStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.initGradientData(elem, data, styleOb);\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n\n function ShapeGroupData() {\n this.it = [];\n this.prevViewData = [];\n this.gr = createNS('g');\n }\n\n function SVGTransformData(mProps, op, container) {\n this.transform = {\n mProps: mProps,\n op: op,\n container: container\n };\n this.elements = [];\n this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\n }\n\n var buildShapeString = function buildShapeString(pathNodes, length, closed, mat) {\n if (length === 0) {\n return '';\n }\n\n var _o = pathNodes.o;\n var _i = pathNodes.i;\n var _v = pathNodes.v;\n var i;\n var shapeString = ' M' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n\n for (i = 1; i < length; i += 1) {\n shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[i][0], _i[i][1]) + ' ' + mat.applyToPointStringified(_v[i][0], _v[i][1]);\n }\n\n if (closed && length) {\n shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[0][0], _i[0][1]) + ' ' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n shapeString += 'z';\n }\n\n return shapeString;\n };\n\n var SVGElementsRenderer = function () {\n var _identityMatrix = new Matrix();\n\n var _matrixHelper = new Matrix();\n\n var ob = {\n createRenderFunction: createRenderFunction\n };\n\n function createRenderFunction(data) {\n switch (data.ty) {\n case 'fl':\n return renderFill;\n\n case 'gf':\n return renderGradient;\n\n case 'gs':\n return renderGradientStroke;\n\n case 'st':\n return renderStroke;\n\n case 'sh':\n case 'el':\n case 'rc':\n case 'sr':\n return renderPath;\n\n case 'tr':\n return renderContentTransform;\n\n case 'no':\n return renderNoop;\n\n default:\n return null;\n }\n }\n\n function renderContentTransform(styleData, itemData, isFirstFrame) {\n if (isFirstFrame || itemData.transform.op._mdf) {\n itemData.transform.container.setAttribute('opacity', itemData.transform.op.v);\n }\n\n if (isFirstFrame || itemData.transform.mProps._mdf) {\n itemData.transform.container.setAttribute('transform', itemData.transform.mProps.v.to2dCSS());\n }\n }\n\n function renderNoop() {}\n\n function renderPath(styleData, itemData, isFirstFrame) {\n var j;\n var jLen;\n var pathStringTransformed;\n var redraw;\n var pathNodes;\n var l;\n var lLen = itemData.styles.length;\n var lvl = itemData.lvl;\n var paths;\n var mat;\n var iterations;\n var k;\n\n for (l = 0; l < lLen; l += 1) {\n redraw = itemData.sh._mdf || isFirstFrame;\n\n if (itemData.styles[l].lvl < lvl) {\n mat = _matrixHelper.reset();\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n\n while (!redraw && iterations > 0) {\n redraw = itemData.transformers[k].mProps._mdf || redraw;\n iterations -= 1;\n k -= 1;\n }\n\n if (redraw) {\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n\n while (iterations > 0) {\n mat.multiply(itemData.transformers[k].mProps.v);\n iterations -= 1;\n k -= 1;\n }\n }\n } else {\n mat = _identityMatrix;\n }\n\n paths = itemData.sh.paths;\n jLen = paths._length;\n\n if (redraw) {\n pathStringTransformed = '';\n\n for (j = 0; j < jLen; j += 1) {\n pathNodes = paths.shapes[j];\n\n if (pathNodes && pathNodes._length) {\n pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\n }\n }\n\n itemData.caches[l] = pathStringTransformed;\n } else {\n pathStringTransformed = itemData.caches[l];\n }\n\n itemData.styles[l].d += styleData.hd === true ? '' : pathStringTransformed;\n itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\n }\n }\n\n function renderFill(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n\n if (itemData.c._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n }\n\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill-opacity', itemData.o.v);\n }\n }\n\n function renderGradientStroke(styleData, itemData, isFirstFrame) {\n renderGradient(styleData, itemData, isFirstFrame);\n renderStroke(styleData, itemData, isFirstFrame);\n }\n\n function renderGradient(styleData, itemData, isFirstFrame) {\n var gfill = itemData.gf;\n var hasOpacity = itemData.g._hasOpacity;\n var pt1 = itemData.s.v;\n var pt2 = itemData.e.v;\n\n if (itemData.o._mdf || isFirstFrame) {\n var attr = styleData.ty === 'gf' ? 'fill-opacity' : 'stroke-opacity';\n itemData.style.pElem.setAttribute(attr, itemData.o.v);\n }\n\n if (itemData.s._mdf || isFirstFrame) {\n var attr1 = styleData.t === 1 ? 'x1' : 'cx';\n var attr2 = attr1 === 'x1' ? 'y1' : 'cy';\n gfill.setAttribute(attr1, pt1[0]);\n gfill.setAttribute(attr2, pt1[1]);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute(attr1, pt1[0]);\n itemData.of.setAttribute(attr2, pt1[1]);\n }\n }\n\n var stops;\n var i;\n var len;\n var stop;\n\n if (itemData.g._cmdf || isFirstFrame) {\n stops = itemData.cst;\n var cValues = itemData.g.c;\n len = stops.length;\n\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n stop.setAttribute('offset', cValues[i * 4] + '%');\n stop.setAttribute('stop-color', 'rgb(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ')');\n }\n }\n\n if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\n var oValues = itemData.g.o;\n\n if (itemData.g._collapsable) {\n stops = itemData.cst;\n } else {\n stops = itemData.ost;\n }\n\n len = stops.length;\n\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n\n if (!itemData.g._collapsable) {\n stop.setAttribute('offset', oValues[i * 2] + '%');\n }\n\n stop.setAttribute('stop-opacity', oValues[i * 2 + 1]);\n }\n }\n\n if (styleData.t === 1) {\n if (itemData.e._mdf || isFirstFrame) {\n gfill.setAttribute('x2', pt2[0]);\n gfill.setAttribute('y2', pt2[1]);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('x2', pt2[0]);\n itemData.of.setAttribute('y2', pt2[1]);\n }\n }\n } else {\n var rad;\n\n if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n gfill.setAttribute('r', rad);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('r', rad);\n }\n }\n\n if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\n if (!rad) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n }\n\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n var percent = itemData.h.v;\n\n if (percent >= 1) {\n percent = 0.99;\n } else if (percent <= -1) {\n percent = -0.99;\n }\n\n var dist = rad * percent;\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n gfill.setAttribute('fx', x);\n gfill.setAttribute('fy', y);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('fx', x);\n itemData.of.setAttribute('fy', y);\n }\n } // gfill.setAttribute('fy','200');\n\n }\n }\n\n function renderStroke(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n var d = itemData.d;\n\n if (d && (d._mdf || isFirstFrame) && d.dashStr) {\n styleElem.pElem.setAttribute('stroke-dasharray', d.dashStr);\n styleElem.pElem.setAttribute('stroke-dashoffset', d.dashoffset[0]);\n }\n\n if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\n styleElem.pElem.setAttribute('stroke', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n }\n\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-opacity', itemData.o.v);\n }\n\n if (itemData.w._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-width', itemData.w.v);\n\n if (styleElem.msElem) {\n styleElem.msElem.setAttribute('stroke-width', itemData.w.v);\n }\n }\n }\n\n return ob;\n }();\n\n function SVGShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.animatedContents = [];\n this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n // List of elements that have been created\n\n this.prevViewData = []; // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\n\n SVGShapeElement.prototype.initSecondaryElement = function () {};\n\n SVGShapeElement.prototype.identityMatrix = new Matrix();\n\n SVGShapeElement.prototype.buildExpressionInterface = function () {};\n\n SVGShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n };\n /*\r\n This method searches for multiple shapes that affect a single element and one of them is animated\r\n */\n\n\n SVGShapeElement.prototype.filterUniqueShapes = function () {\n var i;\n var len = this.shapes.length;\n var shape;\n var j;\n var jLen = this.stylesList.length;\n var style;\n var tempShapes = [];\n var areAnimated = false;\n\n for (j = 0; j < jLen; j += 1) {\n style = this.stylesList[j];\n areAnimated = false;\n tempShapes.length = 0;\n\n for (i = 0; i < len; i += 1) {\n shape = this.shapes[i];\n\n if (shape.styles.indexOf(style) !== -1) {\n tempShapes.push(shape);\n areAnimated = shape._isAnimated || areAnimated;\n }\n }\n\n if (tempShapes.length > 1 && areAnimated) {\n this.setShapesAsAnimated(tempShapes);\n }\n }\n };\n\n SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\n var i;\n var len = shapes.length;\n\n for (i = 0; i < len; i += 1) {\n shapes[i].setAsAnimated();\n }\n };\n\n SVGShapeElement.prototype.createStyleElement = function (data, level) {\n // TODO: prevent drawing of hidden styles\n var elementData;\n var styleOb = new SVGStyleData(data, level);\n var pathElement = styleOb.pElem;\n\n if (data.ty === 'st') {\n elementData = new SVGStrokeStyleData(this, data, styleOb);\n } else if (data.ty === 'fl') {\n elementData = new SVGFillStyleData(this, data, styleOb);\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n var GradientConstructor = data.ty === 'gf' ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n elementData = new GradientConstructor(this, data, styleOb);\n this.globalData.defs.appendChild(elementData.gf);\n\n if (elementData.maskId) {\n this.globalData.defs.appendChild(elementData.ms);\n this.globalData.defs.appendChild(elementData.of);\n pathElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + elementData.maskId + ')');\n }\n } else if (data.ty === 'no') {\n elementData = new SVGNoStyleData(this, data, styleOb);\n }\n\n if (data.ty === 'st' || data.ty === 'gs') {\n pathElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n pathElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n pathElement.setAttribute('fill-opacity', '0');\n\n if (data.lj === 1) {\n pathElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n\n if (data.r === 2) {\n pathElement.setAttribute('fill-rule', 'evenodd');\n }\n\n if (data.ln) {\n pathElement.setAttribute('id', data.ln);\n }\n\n if (data.cl) {\n pathElement.setAttribute('class', data.cl);\n }\n\n if (data.bm) {\n pathElement.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n\n this.stylesList.push(styleOb);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.createGroupElement = function (data) {\n var elementData = new ShapeGroupData();\n\n if (data.ln) {\n elementData.gr.setAttribute('id', data.ln);\n }\n\n if (data.cl) {\n elementData.gr.setAttribute('class', data.cl);\n }\n\n if (data.bm) {\n elementData.gr.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n\n return elementData;\n };\n\n SVGShapeElement.prototype.createTransformElement = function (data, container) {\n var transformProperty = TransformPropertyFactory.getTransformProperty(this, data, this);\n var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\n var ty = 4;\n\n if (data.ty === 'rc') {\n ty = 5;\n } else if (data.ty === 'el') {\n ty = 6;\n } else if (data.ty === 'sr') {\n ty = 7;\n }\n\n var shapeProperty = ShapePropertyFactory.getShapeProp(this, data, ty, this);\n var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\n var i = 0;\n var len = this.animatedContents.length;\n\n while (i < len) {\n if (this.animatedContents[i].element === element) {\n return;\n }\n\n i += 1;\n }\n\n this.animatedContents.push({\n fn: SVGElementsRenderer.createRenderFunction(data),\n element: element,\n data: data\n });\n };\n\n SVGShapeElement.prototype.setElementStyles = function (elementData) {\n var arr = elementData.styles;\n var j;\n var jLen = this.stylesList.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (!this.stylesList[j].closed) {\n arr.push(this.stylesList[j]);\n }\n }\n };\n\n SVGShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n\n this.renderModifiers();\n };\n\n SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\n var ownTransformers = [].concat(transformers);\n var i;\n var len = arr.length - 1;\n var j;\n var jLen;\n var ownStyles = [];\n var ownModifiers = [];\n var currentTransform;\n var modifier;\n var processedPos;\n\n for (i = len; i >= 0; i -= 1) {\n processedPos = this.searchProcessedElement(arr[i]);\n\n if (!processedPos) {\n arr[i]._render = render;\n } else {\n itemsData[i] = prevViewData[processedPos - 1];\n }\n\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs' || arr[i].ty === 'no') {\n if (!processedPos) {\n itemsData[i] = this.createStyleElement(arr[i], level);\n } else {\n itemsData[i].style.closed = false;\n }\n\n if (arr[i]._render) {\n if (itemsData[i].style.pElem.parentNode !== container) {\n container.appendChild(itemsData[i].style.pElem);\n }\n }\n\n ownStyles.push(itemsData[i].style);\n } else if (arr[i].ty === 'gr') {\n if (!processedPos) {\n itemsData[i] = this.createGroupElement(arr[i]);\n } else {\n jLen = itemsData[i].it.length;\n\n for (j = 0; j < jLen; j += 1) {\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\n }\n }\n\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\n\n if (arr[i]._render) {\n if (itemsData[i].gr.parentNode !== container) {\n container.appendChild(itemsData[i].gr);\n }\n }\n } else if (arr[i].ty === 'tr') {\n if (!processedPos) {\n itemsData[i] = this.createTransformElement(arr[i], container);\n }\n\n currentTransform = itemsData[i].transform;\n ownTransformers.push(currentTransform);\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n if (!processedPos) {\n itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\n }\n\n this.setElementStyles(itemsData[i]);\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'ms' || arr[i].ty === 'pb' || arr[i].ty === 'zz' || arr[i].ty === 'op') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.shapeModifiers.push(modifier);\n } else {\n modifier = itemsData[i];\n modifier.closed = false;\n }\n\n ownModifiers.push(modifier);\n } else if (arr[i].ty === 'rp') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n itemsData[i] = modifier;\n modifier.init(this, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\n render = false;\n } else {\n modifier = itemsData[i];\n modifier.closed = true;\n }\n\n ownModifiers.push(modifier);\n }\n\n this.addProcessedElement(arr[i], i + 1);\n }\n\n len = ownStyles.length;\n\n for (i = 0; i < len; i += 1) {\n ownStyles[i].closed = true;\n }\n\n len = ownModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n ownModifiers[i].closed = true;\n }\n };\n\n SVGShapeElement.prototype.renderInnerContent = function () {\n this.renderModifiers();\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n this.stylesList[i].reset();\n }\n\n this.renderShape();\n\n for (i = 0; i < len; i += 1) {\n if (this.stylesList[i]._mdf || this._isFirstFrame) {\n if (this.stylesList[i].msElem) {\n this.stylesList[i].msElem.setAttribute('d', this.stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers\n\n this.stylesList[i].d = 'M0 0' + this.stylesList[i].d;\n }\n\n this.stylesList[i].pElem.setAttribute('d', this.stylesList[i].d || 'M0 0');\n }\n }\n };\n\n SVGShapeElement.prototype.renderShape = function () {\n var i;\n var len = this.animatedContents.length;\n var animatedContent;\n\n for (i = 0; i < len; i += 1) {\n animatedContent = this.animatedContents[i];\n\n if ((this._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n animatedContent.fn(animatedContent.data, animatedContent.element, this._isFirstFrame);\n }\n }\n };\n\n SVGShapeElement.prototype.destroy = function () {\n this.destroyBaseElement();\n this.shapesData = null;\n this.itemsData = null;\n };\n\n function LetterProps(o, sw, sc, fc, m, p) {\n this.o = o;\n this.sw = sw;\n this.sc = sc;\n this.fc = fc;\n this.m = m;\n this.p = p;\n this._mdf = {\n o: true,\n sw: !!sw,\n sc: !!sc,\n fc: !!fc,\n m: true,\n p: true\n };\n }\n\n LetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\n this._mdf.o = false;\n this._mdf.sw = false;\n this._mdf.sc = false;\n this._mdf.fc = false;\n this._mdf.m = false;\n this._mdf.p = false;\n var updated = false;\n\n if (this.o !== o) {\n this.o = o;\n this._mdf.o = true;\n updated = true;\n }\n\n if (this.sw !== sw) {\n this.sw = sw;\n this._mdf.sw = true;\n updated = true;\n }\n\n if (this.sc !== sc) {\n this.sc = sc;\n this._mdf.sc = true;\n updated = true;\n }\n\n if (this.fc !== fc) {\n this.fc = fc;\n this._mdf.fc = true;\n updated = true;\n }\n\n if (this.m !== m) {\n this.m = m;\n this._mdf.m = true;\n updated = true;\n }\n\n if (p.length && (this.p[0] !== p[0] || this.p[1] !== p[1] || this.p[4] !== p[4] || this.p[5] !== p[5] || this.p[12] !== p[12] || this.p[13] !== p[13])) {\n this.p = p;\n this._mdf.p = true;\n updated = true;\n }\n\n return updated;\n };\n\n function TextProperty(elem, data) {\n this._frameId = initialDefaultFrame;\n this.pv = '';\n this.v = '';\n this.kf = false;\n this._isFirstFrame = true;\n this._mdf = false;\n\n if (data.d && data.d.sid) {\n data.d = elem.globalData.slotManager.getProp(data.d);\n }\n\n this.data = data;\n this.elem = elem;\n this.comp = this.elem.comp;\n this.keysIndex = 0;\n this.canResize = false;\n this.minimumFontSize = 1;\n this.effectsSequence = [];\n this.currentData = {\n ascent: 0,\n boxWidth: this.defaultBoxWidth,\n f: '',\n fStyle: '',\n fWeight: '',\n fc: '',\n j: '',\n justifyOffset: '',\n l: [],\n lh: 0,\n lineWidths: [],\n ls: '',\n of: '',\n s: '',\n sc: '',\n sw: 0,\n t: 0,\n tr: 0,\n sz: 0,\n ps: null,\n fillColorAnim: false,\n strokeColorAnim: false,\n strokeWidthAnim: false,\n yOffset: 0,\n finalSize: 0,\n finalText: [],\n finalLineHeight: 0,\n __complete: false\n };\n this.copyData(this.currentData, this.data.d.k[0].s);\n\n if (!this.searchProperty()) {\n this.completeTextData(this.currentData);\n }\n }\n\n TextProperty.prototype.defaultBoxWidth = [0, 0];\n\n TextProperty.prototype.copyData = function (obj, data) {\n for (var s in data) {\n if (Object.prototype.hasOwnProperty.call(data, s)) {\n obj[s] = data[s];\n }\n }\n\n return obj;\n };\n\n TextProperty.prototype.setCurrentData = function (data) {\n if (!data.__complete) {\n this.completeTextData(data);\n }\n\n this.currentData = data;\n this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth;\n this._mdf = true;\n };\n\n TextProperty.prototype.searchProperty = function () {\n return this.searchKeyframes();\n };\n\n TextProperty.prototype.searchKeyframes = function () {\n this.kf = this.data.d.k.length > 1;\n\n if (this.kf) {\n this.addEffect(this.getKeyframeValue.bind(this));\n }\n\n return this.kf;\n };\n\n TextProperty.prototype.addEffect = function (effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.getValue = function (_finalValue) {\n if ((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) {\n return;\n }\n\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\n var currentValue = this.currentData;\n var currentIndex = this.keysIndex;\n\n if (this.lock) {\n this.setCurrentData(this.currentData);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = _finalValue || this.data.d.k[this.keysIndex].s;\n\n for (i = 0; i < len; i += 1) {\n // Checking if index changed to prevent creating a new object every time the expression updates.\n if (currentIndex !== this.keysIndex) {\n finalValue = this.effectsSequence[i](finalValue, finalValue.t);\n } else {\n finalValue = this.effectsSequence[i](this.currentData, finalValue.t);\n }\n }\n\n if (currentValue !== finalValue) {\n this.setCurrentData(finalValue);\n }\n\n this.v = this.currentData;\n this.pv = this.v;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n };\n\n TextProperty.prototype.getKeyframeValue = function () {\n var textKeys = this.data.d.k;\n var frameNum = this.elem.comp.renderedFrame;\n var i = 0;\n var len = textKeys.length;\n\n while (i <= len - 1) {\n if (i === len - 1 || textKeys[i + 1].t > frameNum) {\n break;\n }\n\n i += 1;\n }\n\n if (this.keysIndex !== i) {\n this.keysIndex = i;\n }\n\n return this.data.d.k[this.keysIndex].s;\n };\n\n TextProperty.prototype.buildFinalText = function (text) {\n var charactersArray = [];\n var i = 0;\n var len = text.length;\n var charCode;\n var secondCharCode;\n var shouldCombine = false;\n var shouldCombineNext = false;\n var currentChars = '';\n\n while (i < len) {\n shouldCombine = shouldCombineNext;\n shouldCombineNext = false;\n charCode = text.charCodeAt(i);\n currentChars = text.charAt(i);\n\n if (FontManager.isCombinedCharacter(charCode)) {\n shouldCombine = true; // It's a potential surrogate pair (this is the High surrogate)\n } else if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n if (FontManager.isRegionalFlag(text, i)) {\n currentChars = text.substr(i, 14);\n } else {\n secondCharCode = text.charCodeAt(i + 1); // It's a surrogate pair (this is the Low surrogate)\n\n if (secondCharCode >= 0xDC00 && secondCharCode <= 0xDFFF) {\n if (FontManager.isModifier(charCode, secondCharCode)) {\n currentChars = text.substr(i, 2);\n shouldCombine = true;\n } else if (FontManager.isFlagEmoji(text.substr(i, 4))) {\n currentChars = text.substr(i, 4);\n } else {\n currentChars = text.substr(i, 2);\n }\n }\n }\n } else if (charCode > 0xDBFF) {\n secondCharCode = text.charCodeAt(i + 1);\n\n if (FontManager.isVariationSelector(charCode)) {\n shouldCombine = true;\n }\n } else if (FontManager.isZeroWidthJoiner(charCode)) {\n shouldCombine = true;\n shouldCombineNext = true;\n }\n\n if (shouldCombine) {\n charactersArray[charactersArray.length - 1] += currentChars;\n shouldCombine = false;\n } else {\n charactersArray.push(currentChars);\n }\n\n i += currentChars.length;\n }\n\n return charactersArray;\n };\n\n TextProperty.prototype.completeTextData = function (documentData) {\n documentData.__complete = true;\n var fontManager = this.elem.globalData.fontManager;\n var data = this.data;\n var letters = [];\n var i;\n var len;\n var newLineFlag;\n var index = 0;\n var val;\n var anchorGrouping = data.m.g;\n var currentSize = 0;\n var currentPos = 0;\n var currentLine = 0;\n var lineWidths = [];\n var lineWidth = 0;\n var maxLineWidth = 0;\n var j;\n var jLen;\n var fontData = fontManager.getFontByName(documentData.f);\n var charData;\n var cLength = 0;\n var fontProps = getFontProperties(fontData);\n documentData.fWeight = fontProps.weight;\n documentData.fStyle = fontProps.style;\n documentData.finalSize = documentData.s;\n documentData.finalText = this.buildFinalText(documentData.t);\n len = documentData.finalText.length;\n documentData.finalLineHeight = documentData.lh;\n var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var charCode;\n\n if (documentData.sz) {\n var flag = true;\n var boxWidth = documentData.sz[0];\n var boxHeight = documentData.sz[1];\n var currentHeight;\n var finalText;\n\n while (flag) {\n finalText = this.buildFinalText(documentData.t);\n currentHeight = 0;\n lineWidth = 0;\n len = finalText.length;\n trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var lastSpaceIndex = -1;\n\n for (i = 0; i < len; i += 1) {\n charCode = finalText[i].charCodeAt(0);\n newLineFlag = false;\n\n if (finalText[i] === ' ') {\n lastSpaceIndex = i;\n } else if (charCode === 13 || charCode === 3) {\n lineWidth = 0;\n newLineFlag = true;\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n }\n\n if (fontManager.chars) {\n charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\n cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\n }\n\n if (lineWidth + cLength > boxWidth && finalText[i] !== ' ') {\n if (lastSpaceIndex === -1) {\n len += 1;\n } else {\n i = lastSpaceIndex;\n }\n\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n finalText.splice(i, lastSpaceIndex === i ? 1 : 0, '\\r'); // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\n\n lastSpaceIndex = -1;\n lineWidth = 0;\n } else {\n lineWidth += cLength;\n lineWidth += trackingOffset;\n }\n }\n\n currentHeight += fontData.ascent * documentData.finalSize / 100;\n\n if (this.canResize && documentData.finalSize > this.minimumFontSize && boxHeight < currentHeight) {\n documentData.finalSize -= 1;\n documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\n } else {\n documentData.finalText = finalText;\n len = documentData.finalText.length;\n flag = false;\n }\n }\n }\n\n lineWidth = -trackingOffset;\n cLength = 0;\n var uncollapsedSpaces = 0;\n var currentChar;\n\n for (i = 0; i < len; i += 1) {\n newLineFlag = false;\n currentChar = documentData.finalText[i];\n charCode = currentChar.charCodeAt(0);\n\n if (charCode === 13 || charCode === 3) {\n uncollapsedSpaces = 0;\n lineWidths.push(lineWidth);\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidth = -2 * trackingOffset;\n val = '';\n newLineFlag = true;\n currentLine += 1;\n } else {\n val = currentChar;\n }\n\n if (fontManager.chars) {\n charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\n // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\n cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\n } //\n\n\n if (currentChar === ' ') {\n uncollapsedSpaces += cLength + trackingOffset;\n } else {\n lineWidth += cLength + trackingOffset + uncollapsedSpaces;\n uncollapsedSpaces = 0;\n }\n\n letters.push({\n l: cLength,\n an: cLength,\n add: currentSize,\n n: newLineFlag,\n anIndexes: [],\n val: val,\n line: currentLine,\n animatorJustifyOffset: 0\n });\n\n if (anchorGrouping == 2) {\n // eslint-disable-line eqeqeq\n currentSize += cLength;\n\n if (val === '' || val === ' ' || i === len - 1) {\n if (val === '' || val === ' ') {\n currentSize -= cLength;\n }\n\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n\n index += 1;\n currentSize = 0;\n }\n } else if (anchorGrouping == 3) {\n // eslint-disable-line eqeqeq\n currentSize += cLength;\n\n if (val === '' || i === len - 1) {\n if (val === '') {\n currentSize -= cLength;\n }\n\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n\n currentSize = 0;\n index += 1;\n }\n } else {\n letters[index].ind = index;\n letters[index].extra = 0;\n index += 1;\n }\n }\n\n documentData.l = letters;\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidths.push(lineWidth);\n\n if (documentData.sz) {\n documentData.boxWidth = documentData.sz[0];\n documentData.justifyOffset = 0;\n } else {\n documentData.boxWidth = maxLineWidth;\n\n switch (documentData.j) {\n case 1:\n documentData.justifyOffset = -documentData.boxWidth;\n break;\n\n case 2:\n documentData.justifyOffset = -documentData.boxWidth / 2;\n break;\n\n default:\n documentData.justifyOffset = 0;\n }\n }\n\n documentData.lineWidths = lineWidths;\n var animators = data.a;\n var animatorData;\n var letterData;\n jLen = animators.length;\n var based;\n var ind;\n var indexes = [];\n\n for (j = 0; j < jLen; j += 1) {\n animatorData = animators[j];\n\n if (animatorData.a.sc) {\n documentData.strokeColorAnim = true;\n }\n\n if (animatorData.a.sw) {\n documentData.strokeWidthAnim = true;\n }\n\n if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\n documentData.fillColorAnim = true;\n }\n\n ind = 0;\n based = animatorData.s.b;\n\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n letterData.anIndexes[j] = ind;\n\n if (based == 1 && letterData.val !== '' || based == 2 && letterData.val !== '' && letterData.val !== ' ' || based == 3 && (letterData.n || letterData.val == ' ' || i == len - 1) || based == 4 && (letterData.n || i == len - 1)) {\n // eslint-disable-line eqeqeq\n if (animatorData.s.rn === 1) {\n indexes.push(ind);\n }\n\n ind += 1;\n }\n }\n\n data.a[j].s.totalChars = ind;\n var currentInd = -1;\n var newInd;\n\n if (animatorData.s.rn === 1) {\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n\n if (currentInd != letterData.anIndexes[j]) {\n // eslint-disable-line eqeqeq\n currentInd = letterData.anIndexes[j];\n newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\n }\n\n letterData.anIndexes[j] = newInd;\n }\n }\n }\n\n documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\n documentData.ls = documentData.ls || 0;\n documentData.ascent = fontData.ascent * documentData.finalSize / 100;\n };\n\n TextProperty.prototype.updateDocumentData = function (newData, index) {\n index = index === undefined ? this.keysIndex : index;\n var dData = this.copyData({}, this.data.d.k[index].s);\n dData = this.copyData(dData, newData);\n this.data.d.k[index].s = dData;\n this.recalculate(index);\n this.setCurrentData(dData);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.recalculate = function (index) {\n var dData = this.data.d.k[index].s;\n dData.__complete = false;\n this.keysIndex = 0;\n this._isFirstFrame = true;\n this.getValue(dData);\n };\n\n TextProperty.prototype.canResizeFont = function (_canResize) {\n this.canResize = _canResize;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n this.minimumFontSize = Math.floor(_fontValue) || 1;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n\n var TextSelectorProp = function () {\n var max = Math.max;\n var min = Math.min;\n var floor = Math.floor;\n\n function TextSelectorPropFactory(elem, data) {\n this._currentTextLength = -1;\n this.k = false;\n this.data = data;\n this.elem = elem;\n this.comp = elem.comp;\n this.finalS = 0;\n this.finalE = 0;\n this.initDynamicPropertyContainer(elem);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: 0\n }, 0, 0, this);\n\n if ('e' in data) {\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0, this);\n } else {\n this.e = {\n v: 100\n };\n }\n\n this.o = PropertyFactory.getProp(elem, data.o || {\n k: 0\n }, 0, 0, this);\n this.xe = PropertyFactory.getProp(elem, data.xe || {\n k: 0\n }, 0, 0, this);\n this.ne = PropertyFactory.getProp(elem, data.ne || {\n k: 0\n }, 0, 0, this);\n this.sm = PropertyFactory.getProp(elem, data.sm || {\n k: 100\n }, 0, 0, this);\n this.a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this);\n\n if (!this.dynamicProperties.length) {\n this.getValue();\n }\n }\n\n TextSelectorPropFactory.prototype = {\n getMult: function getMult(ind) {\n if (this._currentTextLength !== this.elem.textProperty.currentData.l.length) {\n this.getValue();\n }\n\n var x1 = 0;\n var y1 = 0;\n var x2 = 1;\n var y2 = 1;\n\n if (this.ne.v > 0) {\n x1 = this.ne.v / 100.0;\n } else {\n y1 = -this.ne.v / 100.0;\n }\n\n if (this.xe.v > 0) {\n x2 = 1.0 - this.xe.v / 100.0;\n } else {\n y2 = 1.0 + this.xe.v / 100.0;\n }\n\n var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n var mult = 0;\n var s = this.finalS;\n var e = this.finalE;\n var type = this.data.sh;\n\n if (type === 2) {\n if (e === s) {\n mult = ind >= e ? 1 : 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n\n mult = easer(mult);\n } else if (type === 3) {\n if (e === s) {\n mult = ind >= e ? 0 : 1;\n } else {\n mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n\n mult = easer(mult);\n } else if (type === 4) {\n if (e === s) {\n mult = 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n\n if (mult < 0.5) {\n mult *= 2;\n } else {\n mult = 1 - 2 * (mult - 0.5);\n }\n }\n\n mult = easer(mult);\n } else if (type === 5) {\n if (e === s) {\n mult = 0;\n } else {\n var tot = e - s;\n /* ind += 0.5;\r\n mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\n\n ind = min(max(0, ind + 0.5 - s), e - s);\n var x = -tot / 2 + ind;\n var a = tot / 2;\n mult = Math.sqrt(1 - x * x / (a * a));\n }\n\n mult = easer(mult);\n } else if (type === 6) {\n if (e === s) {\n mult = 0;\n } else {\n ind = min(max(0, ind + 0.5 - s), e - s);\n mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2; // eslint-disable-line\n }\n\n mult = easer(mult);\n } else {\n if (ind >= floor(s)) {\n if (ind - s < 0) {\n mult = max(0, min(min(e, 1) - (s - ind), 1));\n } else {\n mult = max(0, min(e - ind, 1));\n }\n }\n\n mult = easer(mult);\n } // Smoothness implementation.\n // The smoothness represents a reduced range of the original [0; 1] range.\n // if smoothness is 25%, the new range will be [0.375; 0.625]\n // Steps are:\n // - find the lower value of the new range (threshold)\n // - if multiplier is smaller than that value, floor it to 0\n // - if it is larger,\n // - subtract the threshold\n // - divide it by the smoothness (this will return the range to [0; 1])\n // Note: If it doesn't work on some scenarios, consider applying it before the easer.\n\n\n if (this.sm.v !== 100) {\n var smoothness = this.sm.v * 0.01;\n\n if (smoothness === 0) {\n smoothness = 0.00000001;\n }\n\n var threshold = 0.5 - smoothness * 0.5;\n\n if (mult < threshold) {\n mult = 0;\n } else {\n mult = (mult - threshold) / smoothness;\n\n if (mult > 1) {\n mult = 1;\n }\n }\n }\n\n return mult * this.a.v;\n },\n getValue: function getValue(newCharsFlag) {\n this.iterateDynamicProperties();\n this._mdf = newCharsFlag || this._mdf;\n this._currentTextLength = this.elem.textProperty.currentData.l.length || 0;\n\n if (newCharsFlag && this.data.r === 2) {\n this.e.v = this._currentTextLength;\n }\n\n var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars;\n var o = this.o.v / divisor;\n var s = this.s.v / divisor + o;\n var e = this.e.v / divisor + o;\n\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n\n this.finalS = s;\n this.finalE = e;\n }\n };\n extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\n\n function getTextSelectorProp(elem, data, arr) {\n return new TextSelectorPropFactory(elem, data, arr);\n }\n\n return {\n getTextSelectorProp: getTextSelectorProp\n };\n }();\n\n function TextAnimatorDataProperty(elem, animatorProps, container) {\n var defaultData = {\n propType: false\n };\n var getProp = PropertyFactory.getProp;\n var textAnimatorAnimatables = animatorProps.a;\n this.a = {\n r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\n rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\n ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\n sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\n sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\n s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\n a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\n o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\n p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\n sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\n sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\n fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\n fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\n fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\n fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\n t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData\n };\n this.s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n this.s.t = animatorProps.s.t;\n }\n\n function TextAnimatorProperty(textData, renderType, elem) {\n this._isFirstFrame = true;\n this._hasMaskedPath = false;\n this._frameId = -1;\n this._textData = textData;\n this._renderType = renderType;\n this._elem = elem;\n this._animatorsData = createSizedArray(this._textData.a.length);\n this._pathData = {};\n this._moreOptions = {\n alignment: {}\n };\n this.renderedLetters = [];\n this.lettersChangedFlag = false;\n this.initDynamicPropertyContainer(elem);\n }\n\n TextAnimatorProperty.prototype.searchProperties = function () {\n var i;\n var len = this._textData.a.length;\n var animatorProps;\n var getProp = PropertyFactory.getProp;\n\n for (i = 0; i < len; i += 1) {\n animatorProps = this._textData.a[i];\n this._animatorsData[i] = new TextAnimatorDataProperty(this._elem, animatorProps, this);\n }\n\n if (this._textData.p && 'm' in this._textData.p) {\n this._pathData = {\n a: getProp(this._elem, this._textData.p.a, 0, 0, this),\n f: getProp(this._elem, this._textData.p.f, 0, 0, this),\n l: getProp(this._elem, this._textData.p.l, 0, 0, this),\n r: getProp(this._elem, this._textData.p.r, 0, 0, this),\n p: getProp(this._elem, this._textData.p.p, 0, 0, this),\n m: this._elem.maskManager.getMaskProperty(this._textData.p.m)\n };\n this._hasMaskedPath = true;\n } else {\n this._hasMaskedPath = false;\n }\n\n this._moreOptions.alignment = getProp(this._elem, this._textData.m.a, 1, 0, this);\n };\n\n TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n this.lettersChangedFlag = lettersChangedFlag;\n\n if (!this._mdf && !this._isFirstFrame && !lettersChangedFlag && (!this._hasMaskedPath || !this._pathData.m._mdf)) {\n return;\n }\n\n this._isFirstFrame = false;\n var alignment = this._moreOptions.alignment.v;\n var animators = this._animatorsData;\n var textData = this._textData;\n var matrixHelper = this.mHelper;\n var renderType = this._renderType;\n var renderedLettersCount = this.renderedLetters.length;\n var xPos;\n var yPos;\n var i;\n var len;\n var letters = documentData.l;\n var pathInfo;\n var currentLength;\n var currentPoint;\n var segmentLength;\n var flag;\n var pointInd;\n var segmentInd;\n var prevPoint;\n var points;\n var segments;\n var partialLength;\n var totalLength;\n var perc;\n var tanAngle;\n var mask;\n\n if (this._hasMaskedPath) {\n mask = this._pathData.m;\n\n if (!this._pathData.n || this._pathData._mdf) {\n var paths = mask.v;\n\n if (this._pathData.r.v) {\n paths = paths.reverse();\n } // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\n\n\n pathInfo = {\n tLength: 0,\n segments: []\n };\n len = paths._length - 1;\n var bezierData;\n totalLength = 0;\n\n for (i = 0; i < len; i += 1) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[i + 1], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n\n i = len;\n\n if (mask.v.c) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[0], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n\n this._pathData.pi = pathInfo;\n }\n\n pathInfo = this._pathData.pi;\n currentLength = this._pathData.f.v;\n segmentInd = 0;\n pointInd = 1;\n segmentLength = 0;\n flag = true;\n segments = pathInfo.segments;\n\n if (currentLength < 0 && mask.v.c) {\n if (pathInfo.tLength < Math.abs(currentLength)) {\n currentLength = -Math.abs(currentLength) % pathInfo.tLength;\n }\n\n segmentInd = segments.length - 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n\n while (currentLength < 0) {\n currentLength += points[pointInd].partialLength;\n pointInd -= 1;\n\n if (pointInd < 0) {\n segmentInd -= 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n }\n }\n }\n\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n\n len = letters.length;\n xPos = 0;\n yPos = 0;\n var yOff = documentData.finalSize * 1.2 * 0.714;\n var firstLine = true;\n var animatorProps;\n var animatorSelector;\n var j;\n var jLen;\n var letterValue;\n jLen = animators.length;\n var mult;\n var ind = -1;\n var offf;\n var xPathPos;\n var yPathPos;\n var initPathPos = currentLength;\n var initSegmentInd = segmentInd;\n var initPointInd = pointInd;\n var currentLine = -1;\n var elemOpacity;\n var sc;\n var sw;\n var fc;\n var k;\n var letterSw;\n var letterSc;\n var letterFc;\n var letterM = '';\n var letterP = this.defaultPropsArray;\n var letterO; //\n\n if (documentData.j === 2 || documentData.j === 1) {\n var animatorJustifyOffset = 0;\n var animatorFirstCharOffset = 0;\n var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\n var lastIndex = 0;\n var isNewLine = true;\n\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n\n animatorJustifyOffset = 0;\n isNewLine = true;\n } else {\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.t.propType) {\n if (isNewLine && documentData.j === 2) {\n animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\n }\n\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\n } else {\n animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\n }\n }\n }\n\n isNewLine = false;\n }\n }\n\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n } //\n\n\n for (i = 0; i < len; i += 1) {\n matrixHelper.reset();\n elemOpacity = 1;\n\n if (letters[i].n) {\n xPos = 0;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n currentLength = initPathPos;\n firstLine = false;\n\n if (this._hasMaskedPath) {\n segmentInd = initSegmentInd;\n pointInd = initPointInd;\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n segmentLength = 0;\n }\n\n letterM = '';\n letterFc = '';\n letterSw = '';\n letterO = '';\n letterP = this.defaultPropsArray;\n } else {\n if (this._hasMaskedPath) {\n if (currentLine !== letters[i].line) {\n switch (documentData.j) {\n case 1:\n currentLength += totalLength - documentData.lineWidths[letters[i].line];\n break;\n\n case 2:\n currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\n break;\n\n default:\n break;\n }\n\n currentLine = letters[i].line;\n }\n\n if (ind !== letters[i].ind) {\n if (letters[ind]) {\n currentLength += letters[ind].extra;\n }\n\n currentLength += letters[i].an / 2;\n ind = letters[i].ind;\n }\n\n currentLength += alignment[0] * letters[i].an * 0.005;\n var animatorOffset = 0;\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorOffset += animatorProps.p.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.p.v[0] * mult;\n }\n }\n\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorOffset += animatorProps.a.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.a.v[0] * mult;\n }\n }\n }\n\n flag = true; // Force alignment only works with a single line for now\n\n if (this._pathData.a.v) {\n currentLength = letters[0].an * 0.5 + (totalLength - this._pathData.f.v - letters[0].an * 0.5 - letters[letters.length - 1].an * 0.5) * ind / (len - 1);\n currentLength += this._pathData.f.v;\n }\n\n while (flag) {\n if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\n perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\n xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\n yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\n matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -(alignment[1] * yOff) * 0.01);\n flag = false;\n } else if (points) {\n segmentLength += currentPoint.partialLength;\n pointInd += 1;\n\n if (pointInd >= points.length) {\n pointInd = 0;\n segmentInd += 1;\n\n if (!segments[segmentInd]) {\n if (mask.v.c) {\n pointInd = 0;\n segmentInd = 0;\n points = segments[segmentInd].points;\n } else {\n segmentLength -= currentPoint.partialLength;\n points = null;\n }\n } else {\n points = segments[segmentInd].points;\n }\n }\n\n if (points) {\n prevPoint = currentPoint;\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n }\n }\n\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0);\n } else {\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0); // Grouping alignment\n\n matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -alignment[1] * yOff * 0.01, 0);\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.t.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\n\n if (xPos !== 0 || documentData.j !== 0) {\n if (this._hasMaskedPath) {\n if (mult.length) {\n currentLength += animatorProps.t.v * mult[0];\n } else {\n currentLength += animatorProps.t.v * mult;\n }\n } else if (mult.length) {\n xPos += animatorProps.t.v * mult[0];\n } else {\n xPos += animatorProps.t.v * mult;\n }\n }\n }\n }\n\n if (documentData.strokeWidthAnim) {\n sw = documentData.sw || 0;\n }\n\n if (documentData.strokeColorAnim) {\n if (documentData.sc) {\n sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\n } else {\n sc = [0, 0, 0];\n }\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\n } else {\n matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.s.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);\n } else {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (animatorProps.sk.propType) {\n if (mult.length) {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\n } else {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\n }\n }\n\n if (animatorProps.r.propType) {\n if (mult.length) {\n matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\n } else {\n matrixHelper.rotateZ(-animatorProps.r.v * mult);\n }\n }\n\n if (animatorProps.ry.propType) {\n if (mult.length) {\n matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\n } else {\n matrixHelper.rotateY(animatorProps.ry.v * mult);\n }\n }\n\n if (animatorProps.rx.propType) {\n if (mult.length) {\n matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\n } else {\n matrixHelper.rotateX(animatorProps.rx.v * mult);\n }\n }\n\n if (animatorProps.o.propType) {\n if (mult.length) {\n elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];\n } else {\n elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;\n }\n }\n\n if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\n if (mult.length) {\n sw += animatorProps.sw.v * mult[0];\n } else {\n sw += animatorProps.sw.v * mult;\n }\n }\n\n if (documentData.strokeColorAnim && animatorProps.sc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\n } else {\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\n }\n }\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n if (animatorProps.fc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\n } else {\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\n }\n }\n }\n\n if (animatorProps.fh.propType) {\n if (mult.length) {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\n } else {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult);\n }\n }\n\n if (animatorProps.fs.propType) {\n if (mult.length) {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\n } else {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\n }\n }\n\n if (animatorProps.fb.propType) {\n if (mult.length) {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\n } else {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\n }\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (this._hasMaskedPath) {\n if (mult.length) {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\n } else {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n } else if (mult.length) {\n matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\n } else {\n matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n }\n }\n\n if (documentData.strokeWidthAnim) {\n letterSw = sw < 0 ? 0 : sw;\n }\n\n if (documentData.strokeColorAnim) {\n letterSc = 'rgb(' + Math.round(sc[0] * 255) + ',' + Math.round(sc[1] * 255) + ',' + Math.round(sc[2] * 255) + ')';\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n letterFc = 'rgb(' + Math.round(fc[0] * 255) + ',' + Math.round(fc[1] * 255) + ',' + Math.round(fc[2] * 255) + ')';\n }\n\n if (this._hasMaskedPath) {\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0);\n\n if (this._pathData.p.v) {\n tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\n var rot = Math.atan(tanAngle) * 180 / Math.PI;\n\n if (currentPoint.point[0] < prevPoint.point[0]) {\n rot += 180;\n }\n\n matrixHelper.rotate(-rot * Math.PI / 180);\n }\n\n matrixHelper.translate(xPathPos, yPathPos, 0);\n currentLength -= alignment[0] * letters[i].an * 0.005;\n\n if (letters[i + 1] && ind !== letters[i + 1].ind) {\n currentLength += letters[i].an / 2;\n currentLength += documentData.tr * 0.001 * documentData.finalSize;\n }\n } else {\n matrixHelper.translate(xPos, yPos, 0);\n\n if (documentData.ps) {\n // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\n break;\n\n case 2:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\n break;\n\n default:\n break;\n }\n\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(offf, 0, 0);\n matrixHelper.translate(alignment[0] * letters[i].an * 0.005, alignment[1] * yOff * 0.01, 0);\n xPos += letters[i].l + documentData.tr * 0.001 * documentData.finalSize;\n }\n\n if (renderType === 'html') {\n letterM = matrixHelper.toCSS();\n } else if (renderType === 'svg') {\n letterM = matrixHelper.to2dCSS();\n } else {\n letterP = [matrixHelper.props[0], matrixHelper.props[1], matrixHelper.props[2], matrixHelper.props[3], matrixHelper.props[4], matrixHelper.props[5], matrixHelper.props[6], matrixHelper.props[7], matrixHelper.props[8], matrixHelper.props[9], matrixHelper.props[10], matrixHelper.props[11], matrixHelper.props[12], matrixHelper.props[13], matrixHelper.props[14], matrixHelper.props[15]];\n }\n\n letterO = elemOpacity;\n }\n\n if (renderedLettersCount <= i) {\n letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\n this.renderedLetters.push(letterValue);\n renderedLettersCount += 1;\n this.lettersChangedFlag = true;\n } else {\n letterValue = this.renderedLetters[i];\n this.lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || this.lettersChangedFlag;\n }\n }\n };\n\n TextAnimatorProperty.prototype.getValue = function () {\n if (this._elem.globalData.frameId === this._frameId) {\n return;\n }\n\n this._frameId = this._elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n TextAnimatorProperty.prototype.mHelper = new Matrix();\n TextAnimatorProperty.prototype.defaultPropsArray = [];\n extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n\n function ITextElement() {}\n\n ITextElement.prototype.initElement = function (data, globalData, comp) {\n this.lettersChangedFlag = true;\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.textProperty = new TextProperty(this, data.t, this.dynamicProperties);\n this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n this.textAnimator.searchProperties(this.dynamicProperties);\n };\n\n ITextElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n };\n\n ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\n var j;\n var jLen = shapes.length;\n var pathNodes;\n var shapeStr = '';\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[j].ty === 'sh') {\n pathNodes = shapes[j].ks.k;\n shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n }\n }\n\n return shapeStr;\n };\n\n ITextElement.prototype.updateDocumentData = function (newData, index) {\n this.textProperty.updateDocumentData(newData, index);\n };\n\n ITextElement.prototype.canResizeFont = function (_canResize) {\n this.textProperty.canResizeFont(_canResize);\n };\n\n ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n this.textProperty.setMinimumFontSize(_fontSize);\n };\n\n ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\n if (documentData.ps) {\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n\n matrixHelper.translate(0, -documentData.ls, 0);\n\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\n break;\n\n case 2:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\n break;\n\n default:\n break;\n }\n\n matrixHelper.translate(xPos, yPos, 0);\n };\n\n ITextElement.prototype.buildColor = function (colorData) {\n return 'rgb(' + Math.round(colorData[0] * 255) + ',' + Math.round(colorData[1] * 255) + ',' + Math.round(colorData[2] * 255) + ')';\n };\n\n ITextElement.prototype.emptyProp = new LetterProps();\n\n ITextElement.prototype.destroy = function () {};\n\n ITextElement.prototype.validateText = function () {\n if (this.textProperty._mdf || this.textProperty._isFirstFrame) {\n this.buildNewText();\n this.textProperty._isFirstFrame = false;\n this.textProperty._mdf = false;\n }\n };\n\n var emptyShapeData = {\n shapes: []\n };\n\n function SVGTextLottieElement(data, globalData, comp) {\n this.textSpans = [];\n this.renderType = 'svg';\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\n\n SVGTextLottieElement.prototype.createContent = function () {\n if (this.data.singleShape && !this.globalData.fontManager.chars) {\n this.textContainer = createNS('text');\n }\n };\n\n SVGTextLottieElement.prototype.buildTextContents = function (textArray) {\n var i = 0;\n var len = textArray.length;\n var textContents = [];\n var currentTextContent = '';\n\n while (i < len) {\n if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\n textContents.push(currentTextContent);\n currentTextContent = '';\n } else {\n currentTextContent += textArray[i];\n }\n\n i += 1;\n }\n\n textContents.push(currentTextContent);\n return textContents;\n };\n\n SVGTextLottieElement.prototype.buildShapeData = function (data, scale) {\n // data should probably be cloned to apply scale separately to each instance of a text on different layers\n // but since text internal content gets only rendered once and then it's never rerendered,\n // it's probably safe not to clone data and reuse always the same instance even if the object is mutated.\n // Avoiding cloning is preferred since cloning each character shape data is expensive\n if (data.shapes && data.shapes.length) {\n var shape = data.shapes[0];\n\n if (shape.it) {\n var shapeItem = shape.it[shape.it.length - 1];\n\n if (shapeItem.s) {\n shapeItem.s.k[0] = scale;\n shapeItem.s.k[1] = scale;\n }\n }\n }\n\n return data;\n };\n\n SVGTextLottieElement.prototype.buildNewText = function () {\n this.addDynamicProperty(this);\n var i;\n var len;\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n\n if (documentData.fc) {\n this.layerElement.setAttribute('fill', this.buildColor(documentData.fc));\n } else {\n this.layerElement.setAttribute('fill', 'rgba(0,0,0,0)');\n }\n\n if (documentData.sc) {\n this.layerElement.setAttribute('stroke', this.buildColor(documentData.sc));\n this.layerElement.setAttribute('stroke-width', documentData.sw);\n }\n\n this.layerElement.setAttribute('font-size', documentData.finalSize);\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n if (fontData.fClass) {\n this.layerElement.setAttribute('class', fontData.fClass);\n } else {\n this.layerElement.setAttribute('font-family', fontData.fFamily);\n var fWeight = documentData.fWeight;\n var fStyle = documentData.fStyle;\n this.layerElement.setAttribute('font-style', fStyle);\n this.layerElement.setAttribute('font-weight', fWeight);\n }\n\n this.layerElement.setAttribute('aria-label', documentData.t);\n var letters = documentData.l || [];\n var usesGlyphs = !!this.globalData.fontManager.chars;\n len = letters.length;\n var tSpan;\n var matrixHelper = this.mHelper;\n var shapeStr = '';\n var singleShape = this.data.singleShape;\n var xPos = 0;\n var yPos = 0;\n var firstLine = true;\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n\n if (singleShape && !usesGlyphs && !documentData.sz) {\n var tElement = this.textContainer;\n var justify = 'start';\n\n switch (documentData.j) {\n case 1:\n justify = 'end';\n break;\n\n case 2:\n justify = 'middle';\n break;\n\n default:\n justify = 'start';\n break;\n }\n\n tElement.setAttribute('text-anchor', justify);\n tElement.setAttribute('letter-spacing', trackingOffset);\n var textContent = this.buildTextContents(documentData.finalText);\n len = textContent.length;\n yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\n\n for (i = 0; i < len; i += 1) {\n tSpan = this.textSpans[i].span || createNS('tspan');\n tSpan.textContent = textContent[i];\n tSpan.setAttribute('x', 0);\n tSpan.setAttribute('y', yPos);\n tSpan.style.display = 'inherit';\n tElement.appendChild(tSpan);\n\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n glyph: null\n };\n }\n\n this.textSpans[i].span = tSpan;\n yPos += documentData.finalLineHeight;\n }\n\n this.layerElement.appendChild(tElement);\n } else {\n var cachedSpansLength = this.textSpans.length;\n var charData;\n\n for (i = 0; i < len; i += 1) {\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n childSpan: null,\n glyph: null\n };\n }\n\n if (!usesGlyphs || !singleShape || i === 0) {\n tSpan = cachedSpansLength > i ? this.textSpans[i].span : createNS(usesGlyphs ? 'g' : 'text');\n\n if (cachedSpansLength <= i) {\n tSpan.setAttribute('stroke-linecap', 'butt');\n tSpan.setAttribute('stroke-linejoin', 'round');\n tSpan.setAttribute('stroke-miterlimit', '4');\n this.textSpans[i].span = tSpan;\n\n if (usesGlyphs) {\n var childSpan = createNS('g');\n tSpan.appendChild(childSpan);\n this.textSpans[i].childSpan = childSpan;\n }\n\n this.textSpans[i].span = tSpan;\n this.layerElement.appendChild(tSpan);\n }\n\n tSpan.style.display = 'inherit';\n }\n\n matrixHelper.reset();\n\n if (singleShape) {\n if (letters[i].n) {\n xPos = -trackingOffset;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n firstLine = false;\n }\n\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n xPos += letters[i].l || 0; // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\n\n xPos += trackingOffset;\n }\n\n if (usesGlyphs) {\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n var glyphElement; // t === 1 means the character has been replaced with an animated shaped\n\n if (charData.t === 1) {\n glyphElement = new SVGCompElement(charData.data, this.globalData, this);\n } else {\n var data = emptyShapeData;\n\n if (charData.data && charData.data.shapes) {\n data = this.buildShapeData(charData.data, documentData.finalSize);\n }\n\n glyphElement = new SVGShapeElement(data, this.globalData, this);\n }\n\n if (this.textSpans[i].glyph) {\n var glyph = this.textSpans[i].glyph;\n this.textSpans[i].childSpan.removeChild(glyph.layerElement);\n glyph.destroy();\n }\n\n this.textSpans[i].glyph = glyphElement;\n glyphElement._debug = true;\n glyphElement.prepareFrame(0);\n glyphElement.renderFrame();\n this.textSpans[i].childSpan.appendChild(glyphElement.layerElement); // when using animated shapes, the layer will be scaled instead of replacing the internal scale\n // this might have issues with strokes and might need a different solution\n\n if (charData.t === 1) {\n this.textSpans[i].childSpan.setAttribute('transform', 'scale(' + documentData.finalSize / 100 + ',' + documentData.finalSize / 100 + ')');\n }\n } else {\n if (singleShape) {\n tSpan.setAttribute('transform', 'translate(' + matrixHelper.props[12] + ',' + matrixHelper.props[13] + ')');\n }\n\n tSpan.textContent = letters[i].val;\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n } //\n\n }\n\n if (singleShape && tSpan) {\n tSpan.setAttribute('d', shapeStr);\n }\n }\n\n while (i < this.textSpans.length) {\n this.textSpans[i].span.style.display = 'none';\n i += 1;\n }\n\n this._sizeChanged = true;\n };\n\n SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n this.prepareFrame(this.comp.renderedFrame - this.data.st);\n this.renderInnerContent();\n\n if (this._sizeChanged) {\n this._sizeChanged = false;\n var textBox = this.layerElement.getBBox();\n this.bbox = {\n top: textBox.y,\n left: textBox.x,\n width: textBox.width,\n height: textBox.height\n };\n }\n\n return this.bbox;\n };\n\n SVGTextLottieElement.prototype.getValue = function () {\n var i;\n var len = this.textSpans.length;\n var glyphElement;\n this.renderedFrame = this.comp.renderedFrame;\n\n for (i = 0; i < len; i += 1) {\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.prepareFrame(this.comp.renderedFrame - this.data.st);\n\n if (glyphElement._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n SVGTextLottieElement.prototype.renderInnerContent = function () {\n this.validateText();\n\n if (!this.data.singleShape || this._mdf) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\n this._sizeChanged = true;\n var i;\n var len;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var textSpan;\n var glyphElement;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n textSpan = this.textSpans[i].span;\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.renderFrame();\n }\n\n if (renderedLetter._mdf.m) {\n textSpan.setAttribute('transform', renderedLetter.m);\n }\n\n if (renderedLetter._mdf.o) {\n textSpan.setAttribute('opacity', renderedLetter.o);\n }\n\n if (renderedLetter._mdf.sw) {\n textSpan.setAttribute('stroke-width', renderedLetter.sw);\n }\n\n if (renderedLetter._mdf.sc) {\n textSpan.setAttribute('stroke', renderedLetter.sc);\n }\n\n if (renderedLetter._mdf.fc) {\n textSpan.setAttribute('fill', renderedLetter.fc);\n }\n }\n }\n }\n }\n };\n\n function ISolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([IImageElement], ISolidElement);\n\n ISolidElement.prototype.createContent = function () {\n var rect = createNS('rect'); /// /rect.style.width = this.data.sw;\n /// /rect.style.height = this.data.sh;\n /// /rect.style.fill = this.data.sc;\n\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.layerElement.appendChild(rect);\n };\n\n function NullElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initFrame();\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n }\n\n NullElement.prototype.prepareFrame = function (num) {\n this.prepareProperties(num, true);\n };\n\n NullElement.prototype.renderFrame = function () {};\n\n NullElement.prototype.getBaseElement = function () {\n return null;\n };\n\n NullElement.prototype.destroy = function () {};\n\n NullElement.prototype.sourceRectAtTime = function () {};\n\n NullElement.prototype.hide = function () {};\n\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n\n function SVGRendererBase() {}\n\n extendPrototype([BaseRenderer], SVGRendererBase);\n\n SVGRendererBase.prototype.createNull = function (data) {\n return new NullElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createShape = function (data) {\n return new SVGShapeElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createText = function (data) {\n return new SVGTextLottieElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createImage = function (data) {\n return new IImageElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createSolid = function (data) {\n return new ISolidElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.configAnimation = function (animData) {\n this.svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n this.svgElement.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink');\n\n if (this.renderConfig.viewBoxSize) {\n this.svgElement.setAttribute('viewBox', this.renderConfig.viewBoxSize);\n } else {\n this.svgElement.setAttribute('viewBox', '0 0 ' + animData.w + ' ' + animData.h);\n }\n\n if (!this.renderConfig.viewBoxOnly) {\n this.svgElement.setAttribute('width', animData.w);\n this.svgElement.setAttribute('height', animData.h);\n this.svgElement.style.width = '100%';\n this.svgElement.style.height = '100%';\n this.svgElement.style.transform = 'translate3d(0,0,0)';\n this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility;\n }\n\n if (this.renderConfig.width) {\n this.svgElement.setAttribute('width', this.renderConfig.width);\n }\n\n if (this.renderConfig.height) {\n this.svgElement.setAttribute('height', this.renderConfig.height);\n }\n\n if (this.renderConfig.className) {\n this.svgElement.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.svgElement.setAttribute('id', this.renderConfig.id);\n }\n\n if (this.renderConfig.focusable !== undefined) {\n this.svgElement.setAttribute('focusable', this.renderConfig.focusable);\n }\n\n this.svgElement.setAttribute('preserveAspectRatio', this.renderConfig.preserveAspectRatio); // this.layerElement.style.transform = 'translate3d(0,0,0)';\n // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\n\n this.animationItem.wrapper.appendChild(this.svgElement); // Mask animation\n\n var defs = this.globalData.defs;\n this.setupGlobalData(animData, defs);\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.data = animData;\n var maskElement = createNS('clipPath');\n var rect = createNS('rect');\n rect.setAttribute('width', animData.w);\n rect.setAttribute('height', animData.h);\n rect.setAttribute('x', 0);\n rect.setAttribute('y', 0);\n var maskId = createElementID();\n maskElement.setAttribute('id', maskId);\n maskElement.appendChild(rect);\n this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + maskId + ')');\n defs.appendChild(maskElement);\n this.layers = animData.layers;\n this.elements = createSizedArray(animData.layers.length);\n };\n\n SVGRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.layerElement = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n SVGRendererBase.prototype.updateContainerSize = function () {};\n\n SVGRendererBase.prototype.findIndexByInd = function (ind) {\n var i = 0;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.layers[i].ind === ind) {\n return i;\n }\n }\n\n return -1;\n };\n\n SVGRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n elements[pos] = true;\n var element = this.createItem(this.layers[pos]);\n elements[pos] = element;\n\n if (getExpressionsPlugin()) {\n if (this.layers[pos].ty === 0) {\n this.globalData.projectInterface.registerComposition(element);\n }\n\n element.initExpressions();\n }\n\n this.appendElementInPos(element, pos);\n\n if (this.layers[pos].tt) {\n var elementIndex = 'tp' in this.layers[pos] ? this.findIndexByInd(this.layers[pos].tp) : pos - 1;\n\n if (elementIndex === -1) {\n return;\n }\n\n if (!this.elements[elementIndex] || this.elements[elementIndex] === true) {\n this.buildItem(elementIndex);\n this.addPendingElement(element);\n } else {\n var matteElement = elements[elementIndex];\n var matteMask = matteElement.getMatte(this.layers[pos].tt);\n element.setMatte(matteMask);\n }\n }\n };\n\n SVGRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n\n if (element.data.tt) {\n var i = 0;\n var len = this.elements.length;\n\n while (i < len) {\n if (this.elements[i] === element) {\n var elementIndex = 'tp' in element.data ? this.findIndexByInd(element.data.tp) : i - 1;\n var matteElement = this.elements[elementIndex];\n var matteMask = matteElement.getMatte(this.layers[i].tt);\n element.setMatte(matteMask);\n break;\n }\n\n i += 1;\n }\n }\n }\n };\n\n SVGRendererBase.prototype.renderFrame = function (num) {\n if (this.renderedFrame === num || this.destroyed) {\n return;\n }\n\n if (num === null) {\n num = this.renderedFrame;\n } else {\n this.renderedFrame = num;\n } // console.log('-------');\n // console.log('FRAME ',num);\n\n\n this.globalData.frameNum = num;\n this.globalData.frameId += 1;\n this.globalData.projectInterface.currentFrame = num;\n this.globalData._mdf = false;\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n }\n };\n\n SVGRendererBase.prototype.appendElementInPos = function (element, pos) {\n var newElement = element.getBaseElement();\n\n if (!newElement) {\n return;\n }\n\n var i = 0;\n var nextElement;\n\n while (i < pos) {\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement()) {\n nextElement = this.elements[i].getBaseElement();\n }\n\n i += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(newElement, nextElement);\n } else {\n this.layerElement.appendChild(newElement);\n }\n };\n\n SVGRendererBase.prototype.hide = function () {\n this.layerElement.style.display = 'none';\n };\n\n SVGRendererBase.prototype.show = function () {\n this.layerElement.style.display = 'block';\n };\n\n function ICompElement() {}\n\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\n\n ICompElement.prototype.initElement = function (data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initRenderable();\n this.initHierarchy();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n\n if (this.data.xt || !globalData.progressiveLoad) {\n this.buildAllItems();\n }\n\n this.hide();\n };\n /* ICompElement.prototype.hide = function(){\r\n if(!this.hidden){\r\n this.hideElement();\r\n var i,len = this.elements.length;\r\n for( i = 0; i < len; i+=1 ){\r\n if(this.elements[i]){\r\n this.elements[i].hide();\r\n }\r\n }\r\n }\r\n }; */\n\n\n ICompElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n\n if (!this.isInRange && !this.data.xt) {\n return;\n }\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n\n if (timeRemapped === this.data.op) {\n timeRemapped = this.data.op - 1;\n }\n\n this.renderedFrame = timeRemapped;\n } else {\n this.renderedFrame = num / this.data.sr;\n }\n\n var i;\n var len = this.elements.length;\n\n if (!this.completeLayers) {\n this.checkLayers(this.renderedFrame);\n } // This iteration needs to be backwards because of how expressions connect between each other\n\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st);\n\n if (this.elements[i]._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n ICompElement.prototype.renderInnerContent = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n ICompElement.prototype.setElements = function (elems) {\n this.elements = elems;\n };\n\n ICompElement.prototype.getElements = function () {\n return this.elements;\n };\n\n ICompElement.prototype.destroyElements = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n };\n\n ICompElement.prototype.destroy = function () {\n this.destroyElements();\n this.destroyBaseElement();\n };\n\n function SVGCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = true;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([SVGRendererBase, ICompElement, SVGBaseElement], SVGCompElement);\n\n SVGCompElement.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function SVGRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.svgElement = createNS('svg');\n var ariaLabel = '';\n\n if (config && config.title) {\n var titleElement = createNS('title');\n var titleId = createElementID();\n titleElement.setAttribute('id', titleId);\n titleElement.textContent = config.title;\n this.svgElement.appendChild(titleElement);\n ariaLabel += titleId;\n }\n\n if (config && config.description) {\n var descElement = createNS('desc');\n var descId = createElementID();\n descElement.setAttribute('id', descId);\n descElement.textContent = config.description;\n this.svgElement.appendChild(descElement);\n ariaLabel += ' ' + descId;\n }\n\n if (ariaLabel) {\n this.svgElement.setAttribute('aria-labelledby', ariaLabel);\n }\n\n var defs = createNS('defs');\n this.svgElement.appendChild(defs);\n var maskElement = createNS('g');\n this.svgElement.appendChild(maskElement);\n this.layerElement = maskElement;\n this.renderConfig = {\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n progressiveLoad: config && config.progressiveLoad || false,\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n viewBoxOnly: config && config.viewBoxOnly || false,\n viewBoxSize: config && config.viewBoxSize || false,\n className: config && config.className || '',\n id: config && config.id || '',\n focusable: config && config.focusable,\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '100%',\n height: config && config.filterSize && config.filterSize.height || '100%',\n x: config && config.filterSize && config.filterSize.x || '0%',\n y: config && config.filterSize && config.filterSize.y || '0%'\n },\n width: config && config.width,\n height: config && config.height,\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n defs: defs,\n renderConfig: this.renderConfig\n };\n this.elements = [];\n this.pendingElements = [];\n this.destroyed = false;\n this.rendererType = 'svg';\n }\n\n extendPrototype([SVGRendererBase], SVGRenderer);\n\n SVGRenderer.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function ShapeTransformManager() {\n this.sequences = {};\n this.sequenceList = [];\n this.transform_key_count = 0;\n }\n\n ShapeTransformManager.prototype = {\n addTransformSequence: function addTransformSequence(transforms) {\n var i;\n var len = transforms.length;\n var key = '_';\n\n for (i = 0; i < len; i += 1) {\n key += transforms[i].transform.key + '_';\n }\n\n var sequence = this.sequences[key];\n\n if (!sequence) {\n sequence = {\n transforms: [].concat(transforms),\n finalTransform: new Matrix(),\n _mdf: false\n };\n this.sequences[key] = sequence;\n this.sequenceList.push(sequence);\n }\n\n return sequence;\n },\n processSequence: function processSequence(sequence, isFirstFrame) {\n var i = 0;\n var len = sequence.transforms.length;\n var _mdf = isFirstFrame;\n\n while (i < len && !isFirstFrame) {\n if (sequence.transforms[i].transform.mProps._mdf) {\n _mdf = true;\n break;\n }\n\n i += 1;\n }\n\n if (_mdf) {\n sequence.finalTransform.reset();\n\n for (i = len - 1; i >= 0; i -= 1) {\n sequence.finalTransform.multiply(sequence.transforms[i].transform.mProps.v);\n }\n }\n\n sequence._mdf = _mdf;\n },\n processSequences: function processSequences(isFirstFrame) {\n var i;\n var len = this.sequenceList.length;\n\n for (i = 0; i < len; i += 1) {\n this.processSequence(this.sequenceList[i], isFirstFrame);\n }\n },\n getNewKey: function getNewKey() {\n this.transform_key_count += 1;\n return '_' + this.transform_key_count;\n }\n };\n\n var lumaLoader = function lumaLoader() {\n var id = '__lottie_element_luma_buffer';\n var lumaBuffer = null;\n var lumaBufferCtx = null;\n var svg = null; // This alternate solution has a slight delay before the filter is applied, resulting in a flicker on the first frame.\n // Keeping this here for reference, and in the future, if offscreen canvas supports url filters, this can be used.\n // For now, neither of them work for offscreen canvas, so canvas workers can't support the luma track matte mask.\n // Naming it solution 2 to mark the extra comment lines.\n\n /*\r\n var svgString = [\r\n '',\r\n '',\r\n '',\r\n '',\r\n '',\r\n ].join('');\r\n var blob = new Blob([svgString], { type: 'image/svg+xml' });\r\n var url = URL.createObjectURL(blob);\r\n */\n\n function createLumaSvgFilter() {\n var _svg = createNS('svg');\n\n var fil = createNS('filter');\n var matrix = createNS('feColorMatrix');\n fil.setAttribute('id', id);\n matrix.setAttribute('type', 'matrix');\n matrix.setAttribute('color-interpolation-filters', 'sRGB');\n matrix.setAttribute('values', '0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0');\n fil.appendChild(matrix);\n\n _svg.appendChild(fil);\n\n _svg.setAttribute('id', id + '_svg');\n\n if (featureSupport.svgLumaHidden) {\n _svg.style.display = 'none';\n }\n\n return _svg;\n }\n\n function loadLuma() {\n if (!lumaBuffer) {\n svg = createLumaSvgFilter();\n document.body.appendChild(svg);\n lumaBuffer = createTag('canvas');\n lumaBufferCtx = lumaBuffer.getContext('2d'); // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2\n\n lumaBufferCtx.filter = 'url(#' + id + ')';\n lumaBufferCtx.fillStyle = 'rgba(0,0,0,0)';\n lumaBufferCtx.fillRect(0, 0, 1, 1);\n }\n }\n\n function getLuma(canvas) {\n if (!lumaBuffer) {\n loadLuma();\n }\n\n lumaBuffer.width = canvas.width;\n lumaBuffer.height = canvas.height; // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2\n\n lumaBufferCtx.filter = 'url(#' + id + ')';\n return lumaBuffer;\n }\n\n return {\n load: loadLuma,\n get: getLuma\n };\n };\n\n function createCanvas(width, height) {\n if (featureSupport.offscreenCanvas) {\n return new OffscreenCanvas(width, height);\n }\n\n var canvas = createTag('canvas');\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n\n var assetLoader = function () {\n return {\n loadLumaCanvas: lumaLoader.load,\n getLumaCanvas: lumaLoader.get,\n createCanvas: createCanvas\n };\n }();\n\n var registeredEffects = {};\n\n function CVEffects(elem) {\n var i;\n var len = elem.data.ef ? elem.data.ef.length : 0;\n this.filters = [];\n var filterManager;\n\n for (i = 0; i < len; i += 1) {\n filterManager = null;\n var type = elem.data.ef[i].ty;\n\n if (registeredEffects[type]) {\n var Effect = registeredEffects[type].effect;\n filterManager = new Effect(elem.effectsManager.effectElements[i], elem);\n }\n\n if (filterManager) {\n this.filters.push(filterManager);\n }\n }\n\n if (this.filters.length) {\n elem.addRenderableComponent(this);\n }\n }\n\n CVEffects.prototype.renderFrame = function (_isFirstFrame) {\n var i;\n var len = this.filters.length;\n\n for (i = 0; i < len; i += 1) {\n this.filters[i].renderFrame(_isFirstFrame);\n }\n };\n\n CVEffects.prototype.getEffects = function (type) {\n var i;\n var len = this.filters.length;\n var effects = [];\n\n for (i = 0; i < len; i += 1) {\n if (this.filters[i].type === type) {\n effects.push(this.filters[i]);\n }\n }\n\n return effects;\n };\n\n function registerEffect(id, effect) {\n registeredEffects[id] = {\n effect: effect\n };\n }\n\n function CVMaskElement(data, element) {\n this.data = data;\n this.element = element;\n this.masksProperties = this.data.masksProperties || [];\n this.viewData = createSizedArray(this.masksProperties.length);\n var i;\n var len = this.masksProperties.length;\n var hasMasks = false;\n\n for (i = 0; i < len; i += 1) {\n if (this.masksProperties[i].mode !== 'n') {\n hasMasks = true;\n }\n\n this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[i], 3);\n }\n\n this.hasMasks = hasMasks;\n\n if (hasMasks) {\n this.element.addRenderableComponent(this);\n }\n }\n\n CVMaskElement.prototype.renderFrame = function () {\n if (!this.hasMasks) {\n return;\n }\n\n var transform = this.element.finalTransform.mat;\n var ctx = this.element.canvasContext;\n var i;\n var len = this.masksProperties.length;\n var pt;\n var pts;\n var data;\n ctx.beginPath();\n\n for (i = 0; i < len; i += 1) {\n if (this.masksProperties[i].mode !== 'n') {\n if (this.masksProperties[i].inv) {\n ctx.moveTo(0, 0);\n ctx.lineTo(this.element.globalData.compSize.w, 0);\n ctx.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h);\n ctx.lineTo(0, this.element.globalData.compSize.h);\n ctx.lineTo(0, 0);\n }\n\n data = this.viewData[i].v;\n pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\n ctx.moveTo(pt[0], pt[1]);\n var j;\n var jLen = data._length;\n\n for (j = 1; j < jLen; j += 1) {\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n }\n\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n }\n }\n\n this.element.globalData.renderer.save(true);\n ctx.clip();\n };\n\n CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\n\n CVMaskElement.prototype.destroy = function () {\n this.element = null;\n };\n\n function CVBaseElement() {}\n\n var operationsMap = {\n 1: 'source-in',\n 2: 'source-out',\n 3: 'source-in',\n 4: 'source-out'\n };\n CVBaseElement.prototype = {\n createElements: function createElements() {},\n initRendererElement: function initRendererElement() {},\n createContainerElements: function createContainerElements() {\n // If the layer is masked we will use two buffers to store each different states of the drawing\n // This solution is not ideal for several reason. But unfortunately, because of the recursive\n // nature of the render tree, it's the only simple way to make sure one inner mask doesn't override an outer mask.\n // TODO: try to reduce the size of these buffers to the size of the composition contaning the layer\n // It might be challenging because the layer most likely is transformed in some way\n if (this.data.tt >= 1) {\n this.buffers = [];\n var canvasContext = this.globalData.canvasContext;\n var bufferCanvas = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);\n this.buffers.push(bufferCanvas);\n var bufferCanvas2 = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);\n this.buffers.push(bufferCanvas2);\n\n if (this.data.tt >= 3 && !document._isProxy) {\n assetLoader.loadLumaCanvas();\n }\n }\n\n this.canvasContext = this.globalData.canvasContext;\n this.transformCanvas = this.globalData.transformCanvas;\n this.renderableEffectsManager = new CVEffects(this);\n this.searchEffectTransforms();\n },\n createContent: function createContent() {},\n setBlendMode: function setBlendMode() {\n var globalData = this.globalData;\n\n if (globalData.blendMode !== this.data.bm) {\n globalData.blendMode = this.data.bm;\n var blendModeValue = getBlendMode(this.data.bm);\n globalData.canvasContext.globalCompositeOperation = blendModeValue;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new CVMaskElement(this.data, this);\n this.transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n },\n hideElement: function hideElement() {\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n this.hidden = true;\n }\n },\n showElement: function showElement() {\n if (this.isInRange && !this.isTransparent) {\n this.hidden = false;\n this._isFirstFrame = true;\n this.maskManager._isFirstFrame = true;\n }\n },\n clearCanvas: function clearCanvas(canvasContext) {\n canvasContext.clearRect(this.transformCanvas.tx, this.transformCanvas.ty, this.transformCanvas.w * this.transformCanvas.sx, this.transformCanvas.h * this.transformCanvas.sy);\n },\n prepareLayer: function prepareLayer() {\n if (this.data.tt >= 1) {\n var buffer = this.buffers[0];\n var bufferCtx = buffer.getContext('2d');\n this.clearCanvas(bufferCtx); // on the first buffer we store the current state of the global drawing\n\n bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // The next four lines are to clear the canvas\n // TODO: Check if there is a way to clear the canvas without resetting the transform\n\n this.currentTransform = this.canvasContext.getTransform();\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);\n this.clearCanvas(this.canvasContext);\n this.canvasContext.setTransform(this.currentTransform);\n }\n },\n exitLayer: function exitLayer() {\n if (this.data.tt >= 1) {\n var buffer = this.buffers[1]; // On the second buffer we store the current state of the global drawing\n // that only contains the content of this layer\n // (if it is a composition, it also includes the nested layers)\n\n var bufferCtx = buffer.getContext('2d');\n this.clearCanvas(bufferCtx);\n bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // We clear the canvas again\n\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);\n this.clearCanvas(this.canvasContext);\n this.canvasContext.setTransform(this.currentTransform); // We draw the mask\n\n var mask = this.comp.getElementById('tp' in this.data ? this.data.tp : this.data.ind - 1);\n mask.renderFrame(true); // We draw the second buffer (that contains the content of this layer)\n\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0); // If the mask is a Luma matte, we need to do two extra painting operations\n // the _isProxy check is to avoid drawing a fake canvas in workers that will throw an error\n\n if (this.data.tt >= 3 && !document._isProxy) {\n // We copy the painted mask to a buffer that has a color matrix filter applied to it\n // that applies the rgb values to the alpha channel\n var lumaBuffer = assetLoader.getLumaCanvas(this.canvasContext.canvas);\n var lumaBufferCtx = lumaBuffer.getContext('2d');\n lumaBufferCtx.drawImage(this.canvasContext.canvas, 0, 0);\n this.clearCanvas(this.canvasContext); // we repaint the context with the mask applied to it\n\n this.canvasContext.drawImage(lumaBuffer, 0, 0);\n }\n\n this.canvasContext.globalCompositeOperation = operationsMap[this.data.tt];\n this.canvasContext.drawImage(buffer, 0, 0); // We finally draw the first buffer (that contains the content of the global drawing)\n // We use destination-over to draw the global drawing below the current layer\n\n this.canvasContext.globalCompositeOperation = 'destination-over';\n this.canvasContext.drawImage(this.buffers[0], 0, 0);\n this.canvasContext.setTransform(this.currentTransform); // We reset the globalCompositeOperation to source-over, the standard type of operation\n\n this.canvasContext.globalCompositeOperation = 'source-over';\n }\n },\n renderFrame: function renderFrame(forceRender) {\n if (this.hidden || this.data.hd) {\n return;\n }\n\n if (this.data.td === 1 && !forceRender) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderLocalTransform();\n this.setBlendMode();\n var forceRealStack = this.data.ty === 0;\n this.prepareLayer();\n this.globalData.renderer.save(forceRealStack);\n this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props);\n this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity);\n this.renderInnerContent();\n this.globalData.renderer.restore(forceRealStack);\n this.exitLayer();\n\n if (this.maskManager.hasMasks) {\n this.globalData.renderer.restore(true);\n }\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.canvasContext = null;\n this.data = null;\n this.globalData = null;\n this.maskManager.destroy();\n },\n mHelper: new Matrix()\n };\n CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\n CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n\n function CVShapeData(element, data, styles, transformsManager) {\n this.styledShapes = [];\n this.tr = [0, 0, 0, 0, 0, 0];\n var ty = 4;\n\n if (data.ty === 'rc') {\n ty = 5;\n } else if (data.ty === 'el') {\n ty = 6;\n } else if (data.ty === 'sr') {\n ty = 7;\n }\n\n this.sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\n var i;\n var len = styles.length;\n var styledShape;\n\n for (i = 0; i < len; i += 1) {\n if (!styles[i].closed) {\n styledShape = {\n transforms: transformsManager.addTransformSequence(styles[i].transforms),\n trNodes: []\n };\n this.styledShapes.push(styledShape);\n styles[i].elements.push(styledShape);\n }\n }\n }\n\n CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n\n function CVShapeElement(data, globalData, comp) {\n this.shapes = [];\n this.shapesData = data.shapes;\n this.stylesList = [];\n this.itemsData = [];\n this.prevViewData = [];\n this.shapeModifiers = [];\n this.processedElements = [];\n this.transformsManager = new ShapeTransformManager();\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\n CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\n CVShapeElement.prototype.transformHelper = {\n opacity: 1,\n _opMdf: false\n };\n CVShapeElement.prototype.dashResetter = [];\n\n CVShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n };\n\n CVShapeElement.prototype.createStyleElement = function (data, transforms) {\n var styleElem = {\n data: data,\n type: data.ty,\n preTransforms: this.transformsManager.addTransformSequence(transforms),\n transforms: [],\n elements: [],\n closed: data.hd === true\n };\n var elementData = {};\n\n if (data.ty === 'fl' || data.ty === 'st') {\n elementData.c = PropertyFactory.getProp(this, data.c, 1, 255, this);\n\n if (!elementData.c.k) {\n styleElem.co = 'rgb(' + bmFloor(elementData.c.v[0]) + ',' + bmFloor(elementData.c.v[1]) + ',' + bmFloor(elementData.c.v[2]) + ')';\n }\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n elementData.s = PropertyFactory.getProp(this, data.s, 1, null, this);\n elementData.e = PropertyFactory.getProp(this, data.e, 1, null, this);\n elementData.h = PropertyFactory.getProp(this, data.h || {\n k: 0\n }, 0, 0.01, this);\n elementData.a = PropertyFactory.getProp(this, data.a || {\n k: 0\n }, 0, degToRads, this);\n elementData.g = new GradientProperty(this, data.g, this);\n }\n\n elementData.o = PropertyFactory.getProp(this, data.o, 0, 0.01, this);\n\n if (data.ty === 'st' || data.ty === 'gs') {\n styleElem.lc = lineCapEnum[data.lc || 2];\n styleElem.lj = lineJoinEnum[data.lj || 2];\n\n if (data.lj == 1) {\n // eslint-disable-line eqeqeq\n styleElem.ml = data.ml;\n }\n\n elementData.w = PropertyFactory.getProp(this, data.w, 0, null, this);\n\n if (!elementData.w.k) {\n styleElem.wi = elementData.w.v;\n }\n\n if (data.d) {\n var d = new DashProperty(this, data.d, 'canvas', this);\n elementData.d = d;\n\n if (!elementData.d.k) {\n styleElem.da = elementData.d.dashArray;\n styleElem[\"do\"] = elementData.d.dashoffset[0];\n }\n }\n } else {\n styleElem.r = data.r === 2 ? 'evenodd' : 'nonzero';\n }\n\n this.stylesList.push(styleElem);\n elementData.style = styleElem;\n return elementData;\n };\n\n CVShapeElement.prototype.createGroupElement = function () {\n var elementData = {\n it: [],\n prevViewData: []\n };\n return elementData;\n };\n\n CVShapeElement.prototype.createTransformElement = function (data) {\n var elementData = {\n transform: {\n opacity: 1,\n _opMdf: false,\n key: this.transformsManager.getNewKey(),\n op: PropertyFactory.getProp(this, data.o, 0, 0.01, this),\n mProps: TransformPropertyFactory.getTransformProperty(this, data, this)\n }\n };\n return elementData;\n };\n\n CVShapeElement.prototype.createShapeElement = function (data) {\n var elementData = new CVShapeData(this, data, this.stylesList, this.transformsManager);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n return elementData;\n };\n\n CVShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n };\n\n CVShapeElement.prototype.addTransformToStyleList = function (transform) {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.stylesList[i].transforms.push(transform);\n }\n }\n };\n\n CVShapeElement.prototype.removeTransformFromStyleList = function () {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.stylesList[i].transforms.pop();\n }\n }\n };\n\n CVShapeElement.prototype.closeStyles = function (styles) {\n var i;\n var len = styles.length;\n\n for (i = 0; i < len; i += 1) {\n styles[i].closed = true;\n }\n };\n\n CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\n var i;\n var len = arr.length - 1;\n var j;\n var jLen;\n var ownStyles = [];\n var ownModifiers = [];\n var processedPos;\n var modifier;\n var currentTransform;\n var ownTransforms = [].concat(transforms);\n\n for (i = len; i >= 0; i -= 1) {\n processedPos = this.searchProcessedElement(arr[i]);\n\n if (!processedPos) {\n arr[i]._shouldRender = shouldRender;\n } else {\n itemsData[i] = prevViewData[processedPos - 1];\n }\n\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs') {\n if (!processedPos) {\n itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\n } else {\n itemsData[i].style.closed = false;\n }\n\n ownStyles.push(itemsData[i].style);\n } else if (arr[i].ty === 'gr') {\n if (!processedPos) {\n itemsData[i] = this.createGroupElement(arr[i]);\n } else {\n jLen = itemsData[i].it.length;\n\n for (j = 0; j < jLen; j += 1) {\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\n }\n }\n\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\n } else if (arr[i].ty === 'tr') {\n if (!processedPos) {\n currentTransform = this.createTransformElement(arr[i]);\n itemsData[i] = currentTransform;\n }\n\n ownTransforms.push(itemsData[i]);\n this.addTransformToStyleList(itemsData[i]);\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n if (!processedPos) {\n itemsData[i] = this.createShapeElement(arr[i]);\n }\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'pb' || arr[i].ty === 'zz' || arr[i].ty === 'op') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.shapeModifiers.push(modifier);\n } else {\n modifier = itemsData[i];\n modifier.closed = false;\n }\n\n ownModifiers.push(modifier);\n } else if (arr[i].ty === 'rp') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n itemsData[i] = modifier;\n modifier.init(this, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\n shouldRender = false;\n } else {\n modifier = itemsData[i];\n modifier.closed = true;\n }\n\n ownModifiers.push(modifier);\n }\n\n this.addProcessedElement(arr[i], i + 1);\n }\n\n this.removeTransformFromStyleList();\n this.closeStyles(ownStyles);\n len = ownModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n ownModifiers[i].closed = true;\n }\n };\n\n CVShapeElement.prototype.renderInnerContent = function () {\n this.transformHelper.opacity = 1;\n this.transformHelper._opMdf = false;\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n this.renderShape(this.transformHelper, this.shapesData, this.itemsData, true);\n };\n\n CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\n if (parentTransform._opMdf || groupTransform.op._mdf || this._isFirstFrame) {\n groupTransform.opacity = parentTransform.opacity;\n groupTransform.opacity *= groupTransform.op.v;\n groupTransform._opMdf = true;\n }\n };\n\n CVShapeElement.prototype.drawLayer = function () {\n var i;\n var len = this.stylesList.length;\n var j;\n var jLen;\n var k;\n var kLen;\n var elems;\n var nodes;\n var renderer = this.globalData.renderer;\n var ctx = this.globalData.canvasContext;\n var type;\n var currentStyle;\n\n for (i = 0; i < len; i += 1) {\n currentStyle = this.stylesList[i];\n type = currentStyle.type; // Skipping style when\n // Stroke width equals 0\n // style should not be rendered (extra unused repeaters)\n // current opacity equals 0\n // global opacity equals 0\n\n if (!((type === 'st' || type === 'gs') && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || this.globalData.currentGlobalAlpha === 0)) {\n renderer.save();\n elems = currentStyle.elements;\n\n if (type === 'st' || type === 'gs') {\n renderer.ctxStrokeStyle(type === 'st' ? currentStyle.co : currentStyle.grd); // ctx.strokeStyle = type === 'st' ? currentStyle.co : currentStyle.grd;\n\n renderer.ctxLineWidth(currentStyle.wi); // ctx.lineWidth = currentStyle.wi;\n\n renderer.ctxLineCap(currentStyle.lc); // ctx.lineCap = currentStyle.lc;\n\n renderer.ctxLineJoin(currentStyle.lj); // ctx.lineJoin = currentStyle.lj;\n\n renderer.ctxMiterLimit(currentStyle.ml || 0); // ctx.miterLimit = currentStyle.ml || 0;\n } else {\n renderer.ctxFillStyle(type === 'fl' ? currentStyle.co : currentStyle.grd); // ctx.fillStyle = type === 'fl' ? currentStyle.co : currentStyle.grd;\n }\n\n renderer.ctxOpacity(currentStyle.coOp);\n\n if (type !== 'st' && type !== 'gs') {\n ctx.beginPath();\n }\n\n renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\n jLen = elems.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (type === 'st' || type === 'gs') {\n ctx.beginPath();\n\n if (currentStyle.da) {\n ctx.setLineDash(currentStyle.da);\n ctx.lineDashOffset = currentStyle[\"do\"];\n }\n }\n\n nodes = elems[j].trNodes;\n kLen = nodes.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (nodes[k].t === 'm') {\n ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\n } else if (nodes[k].t === 'c') {\n ctx.bezierCurveTo(nodes[k].pts[0], nodes[k].pts[1], nodes[k].pts[2], nodes[k].pts[3], nodes[k].pts[4], nodes[k].pts[5]);\n } else {\n ctx.closePath();\n }\n }\n\n if (type === 'st' || type === 'gs') {\n // ctx.stroke();\n renderer.ctxStroke();\n\n if (currentStyle.da) {\n ctx.setLineDash(this.dashResetter);\n }\n }\n }\n\n if (type !== 'st' && type !== 'gs') {\n // ctx.fill(currentStyle.r);\n this.globalData.renderer.ctxFill(currentStyle.r);\n }\n\n renderer.restore();\n }\n }\n };\n\n CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\n var i;\n var len = items.length - 1;\n var groupTransform;\n groupTransform = parentTransform;\n\n for (i = len; i >= 0; i -= 1) {\n if (items[i].ty === 'tr') {\n groupTransform = data[i].transform;\n this.renderShapeTransform(parentTransform, groupTransform);\n } else if (items[i].ty === 'sh' || items[i].ty === 'el' || items[i].ty === 'rc' || items[i].ty === 'sr') {\n this.renderPath(items[i], data[i]);\n } else if (items[i].ty === 'fl') {\n this.renderFill(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'st') {\n this.renderStroke(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'gf' || items[i].ty === 'gs') {\n this.renderGradientFill(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'gr') {\n this.renderShape(groupTransform, items[i].it, data[i].it);\n } else if (items[i].ty === 'tm') {//\n }\n }\n\n if (isMain) {\n this.drawLayer();\n }\n };\n\n CVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\n if (this._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\n var shapeNodes = styledShape.trNodes;\n var paths = shape.paths;\n var i;\n var len;\n var j;\n var jLen = paths._length;\n shapeNodes.length = 0;\n var groupTransformMat = styledShape.transforms.finalTransform;\n\n for (j = 0; j < jLen; j += 1) {\n var pathNodes = paths.shapes[j];\n\n if (pathNodes && pathNodes.v) {\n len = pathNodes._length;\n\n for (i = 1; i < len; i += 1) {\n if (i === 1) {\n shapeNodes.push({\n t: 'm',\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n });\n }\n\n shapeNodes.push({\n t: 'c',\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\n });\n }\n\n if (len === 1) {\n shapeNodes.push({\n t: 'm',\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n });\n }\n\n if (pathNodes.c && len) {\n shapeNodes.push({\n t: 'c',\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\n });\n shapeNodes.push({\n t: 'z'\n });\n }\n }\n }\n\n styledShape.trNodes = shapeNodes;\n }\n };\n\n CVShapeElement.prototype.renderPath = function (pathData, itemData) {\n if (pathData.hd !== true && pathData._shouldRender) {\n var i;\n var len = itemData.styledShapes.length;\n\n for (i = 0; i < len; i += 1) {\n this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\n }\n }\n };\n\n CVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n\n if (itemData.c._mdf || this._isFirstFrame) {\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n }\n\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n }\n };\n\n CVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n var grd;\n\n if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) {\n var ctx = this.globalData.canvasContext;\n var pt1 = itemData.s.v;\n var pt2 = itemData.e.v;\n\n if (styleData.t === 1) {\n grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\n } else {\n var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n var percent = itemData.h.v;\n\n if (percent >= 1) {\n percent = 0.99;\n } else if (percent <= -1) {\n percent = -0.99;\n }\n\n var dist = rad * percent;\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\n }\n\n var i;\n var len = styleData.g.p;\n var cValues = itemData.g.c;\n var opacity = 1;\n\n for (i = 0; i < len; i += 1) {\n if (itemData.g._hasOpacity && itemData.g._collapsable) {\n opacity = itemData.g.o[i * 2 + 1];\n }\n\n grd.addColorStop(cValues[i * 4] / 100, 'rgba(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ',' + opacity + ')');\n }\n\n styleElem.grd = grd;\n }\n\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n };\n\n CVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n var d = itemData.d;\n\n if (d && (d._mdf || this._isFirstFrame)) {\n styleElem.da = d.dashArray;\n styleElem[\"do\"] = d.dashoffset[0];\n }\n\n if (itemData.c._mdf || this._isFirstFrame) {\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n }\n\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n }\n\n if (itemData.w._mdf || this._isFirstFrame) {\n styleElem.wi = itemData.w.v;\n }\n };\n\n CVShapeElement.prototype.destroy = function () {\n this.shapesData = null;\n this.globalData = null;\n this.canvasContext = null;\n this.stylesList.length = 0;\n this.itemsData.length = 0;\n };\n\n function CVTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.yOffset = 0;\n this.fillColorAnim = false;\n this.strokeColorAnim = false;\n this.strokeWidthAnim = false;\n this.stroke = false;\n this.fill = false;\n this.justifyOffset = 0;\n this.currentRender = null;\n this.renderType = 'canvas';\n this.values = {\n fill: 'rgba(0,0,0,0)',\n stroke: 'rgba(0,0,0,0)',\n sWidth: 0,\n fValue: ''\n };\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\n CVTextElement.prototype.tHelper = createTag('canvas').getContext('2d');\n\n CVTextElement.prototype.buildNewText = function () {\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var hasFill = false;\n\n if (documentData.fc) {\n hasFill = true;\n this.values.fill = this.buildColor(documentData.fc);\n } else {\n this.values.fill = 'rgba(0,0,0,0)';\n }\n\n this.fill = hasFill;\n var hasStroke = false;\n\n if (documentData.sc) {\n hasStroke = true;\n this.values.stroke = this.buildColor(documentData.sc);\n this.values.sWidth = documentData.sw;\n }\n\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n var i;\n var len;\n var letters = documentData.l;\n var matrixHelper = this.mHelper;\n this.stroke = hasStroke;\n this.values.fValue = documentData.finalSize + 'px ' + this.globalData.fontManager.getFontByName(documentData.f).fFamily;\n len = documentData.finalText.length; // this.tHelper.font = this.values.fValue;\n\n var charData;\n var shapeData;\n var k;\n var kLen;\n var shapes;\n var j;\n var jLen;\n var pathNodes;\n var commands;\n var pathArr;\n var singleShape = this.data.singleShape;\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n var xPos = 0;\n var yPos = 0;\n var firstLine = true;\n var cnt = 0;\n\n for (i = 0; i < len; i += 1) {\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n shapeData = charData && charData.data || {};\n matrixHelper.reset();\n\n if (singleShape && letters[i].n) {\n xPos = -trackingOffset;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n firstLine = false;\n }\n\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n jLen = shapes.length;\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n if (singleShape) {\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n }\n\n commands = createSizedArray(jLen - 1);\n var commandsCounter = 0;\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[j].ty === 'sh') {\n kLen = shapes[j].ks.k.i.length;\n pathNodes = shapes[j].ks.k;\n pathArr = [];\n\n for (k = 1; k < kLen; k += 1) {\n if (k === 1) {\n pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n }\n\n pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToY(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToX(pathNodes.v[k][0], pathNodes.v[k][1], 0), matrixHelper.applyToY(pathNodes.v[k][0], pathNodes.v[k][1], 0));\n }\n\n pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToY(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n commands[commandsCounter] = pathArr;\n commandsCounter += 1;\n }\n }\n\n if (singleShape) {\n xPos += letters[i].l;\n xPos += trackingOffset;\n }\n\n if (this.textSpans[cnt]) {\n this.textSpans[cnt].elem = commands;\n } else {\n this.textSpans[cnt] = {\n elem: commands\n };\n }\n\n cnt += 1;\n }\n };\n\n CVTextElement.prototype.renderInnerContent = function () {\n this.validateText();\n var ctx = this.canvasContext;\n ctx.font = this.values.fValue;\n this.globalData.renderer.ctxLineCap('butt'); // ctx.lineCap = 'butt';\n\n this.globalData.renderer.ctxLineJoin('miter'); // ctx.lineJoin = 'miter';\n\n this.globalData.renderer.ctxMiterLimit(4); // ctx.miterLimit = 4;\n\n if (!this.data.singleShape) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n }\n\n var i;\n var len;\n var j;\n var jLen;\n var k;\n var kLen;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var lastFill = null;\n var lastStroke = null;\n var lastStrokeW = null;\n var commands;\n var pathArr;\n var renderer = this.globalData.renderer;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n\n if (renderedLetter) {\n renderer.save();\n renderer.ctxTransform(renderedLetter.p);\n renderer.ctxOpacity(renderedLetter.o);\n }\n\n if (this.fill) {\n if (renderedLetter && renderedLetter.fc) {\n if (lastFill !== renderedLetter.fc) {\n renderer.ctxFillStyle(renderedLetter.fc);\n lastFill = renderedLetter.fc; // ctx.fillStyle = renderedLetter.fc;\n }\n } else if (lastFill !== this.values.fill) {\n lastFill = this.values.fill;\n renderer.ctxFillStyle(this.values.fill); // ctx.fillStyle = this.values.fill;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath();\n renderer.ctxFill(); // this.globalData.canvasContext.fill();\n /// ctx.fillText(this.textSpans[i].val,0,0);\n }\n\n if (this.stroke) {\n if (renderedLetter && renderedLetter.sw) {\n if (lastStrokeW !== renderedLetter.sw) {\n lastStrokeW = renderedLetter.sw;\n renderer.ctxLineWidth(renderedLetter.sw); // ctx.lineWidth = renderedLetter.sw;\n }\n } else if (lastStrokeW !== this.values.sWidth) {\n lastStrokeW = this.values.sWidth;\n renderer.ctxLineWidth(this.values.sWidth); // ctx.lineWidth = this.values.sWidth;\n }\n\n if (renderedLetter && renderedLetter.sc) {\n if (lastStroke !== renderedLetter.sc) {\n lastStroke = renderedLetter.sc;\n renderer.ctxStrokeStyle(renderedLetter.sc); // ctx.strokeStyle = renderedLetter.sc;\n }\n } else if (lastStroke !== this.values.stroke) {\n lastStroke = this.values.stroke;\n renderer.ctxStrokeStyle(this.values.stroke); // ctx.strokeStyle = this.values.stroke;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath();\n renderer.ctxStroke(); // this.globalData.canvasContext.stroke();\n /// ctx.strokeText(letters[i].val,0,0);\n }\n\n if (renderedLetter) {\n this.globalData.renderer.restore();\n }\n }\n }\n };\n\n function CVImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.img = globalData.imageLoader.getAsset(this.assetData);\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\n CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n CVImageElement.prototype.createContent = function () {\n if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {\n var canvas = createTag('canvas');\n canvas.width = this.assetData.w;\n canvas.height = this.assetData.h;\n var ctx = canvas.getContext('2d');\n var imgW = this.img.width;\n var imgH = this.img.height;\n var imgRel = imgW / imgH;\n var canvasRel = this.assetData.w / this.assetData.h;\n var widthCrop;\n var heightCrop;\n var par = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;\n\n if (imgRel > canvasRel && par === 'xMidYMid slice' || imgRel < canvasRel && par !== 'xMidYMid slice') {\n heightCrop = imgH;\n widthCrop = heightCrop * canvasRel;\n } else {\n widthCrop = imgW;\n heightCrop = widthCrop / canvasRel;\n }\n\n ctx.drawImage(this.img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, this.assetData.w, this.assetData.h);\n this.img = canvas;\n }\n };\n\n CVImageElement.prototype.renderInnerContent = function () {\n this.canvasContext.drawImage(this.img, 0, 0);\n };\n\n CVImageElement.prototype.destroy = function () {\n this.img = null;\n };\n\n function CVSolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\n CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n CVSolidElement.prototype.renderInnerContent = function () {\n // var ctx = this.canvasContext;\n this.globalData.renderer.ctxFillStyle(this.data.sc); // ctx.fillStyle = this.data.sc;\n\n this.globalData.renderer.ctxFillRect(0, 0, this.data.sw, this.data.sh); // ctx.fillRect(0, 0, this.data.sw, this.data.sh);\n //\n };\n\n function CanvasRendererBase() {}\n\n extendPrototype([BaseRenderer], CanvasRendererBase);\n\n CanvasRendererBase.prototype.createShape = function (data) {\n return new CVShapeElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createText = function (data) {\n return new CVTextElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createImage = function (data) {\n return new CVImageElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createSolid = function (data) {\n return new CVSolidElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n CanvasRendererBase.prototype.ctxTransform = function (props) {\n if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\n return;\n }\n\n this.canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\n };\n\n CanvasRendererBase.prototype.ctxOpacity = function (op) {\n this.canvasContext.globalAlpha *= op < 0 ? 0 : op;\n };\n\n CanvasRendererBase.prototype.ctxFillStyle = function (value) {\n this.canvasContext.fillStyle = value;\n };\n\n CanvasRendererBase.prototype.ctxStrokeStyle = function (value) {\n this.canvasContext.strokeStyle = value;\n };\n\n CanvasRendererBase.prototype.ctxLineWidth = function (value) {\n this.canvasContext.lineWidth = value;\n };\n\n CanvasRendererBase.prototype.ctxLineCap = function (value) {\n this.canvasContext.lineCap = value;\n };\n\n CanvasRendererBase.prototype.ctxLineJoin = function (value) {\n this.canvasContext.lineJoin = value;\n };\n\n CanvasRendererBase.prototype.ctxMiterLimit = function (value) {\n this.canvasContext.miterLimit = value;\n };\n\n CanvasRendererBase.prototype.ctxFill = function (rule) {\n this.canvasContext.fill(rule);\n };\n\n CanvasRendererBase.prototype.ctxFillRect = function (x, y, w, h) {\n this.canvasContext.fillRect(x, y, w, h);\n };\n\n CanvasRendererBase.prototype.ctxStroke = function () {\n this.canvasContext.stroke();\n };\n\n CanvasRendererBase.prototype.reset = function () {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n this.contextData.reset();\n };\n\n CanvasRendererBase.prototype.save = function () {\n this.canvasContext.save();\n };\n\n CanvasRendererBase.prototype.restore = function (actionFlag) {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n if (actionFlag) {\n this.globalData.blendMode = 'source-over';\n }\n\n this.contextData.restore(actionFlag);\n };\n\n CanvasRendererBase.prototype.configAnimation = function (animData) {\n if (this.animationItem.wrapper) {\n this.animationItem.container = createTag('canvas');\n var containerStyle = this.animationItem.container.style;\n containerStyle.width = '100%';\n containerStyle.height = '100%';\n var origin = '0px 0px 0px';\n containerStyle.transformOrigin = origin;\n containerStyle.mozTransformOrigin = origin;\n containerStyle.webkitTransformOrigin = origin;\n containerStyle['-webkit-transform'] = origin;\n containerStyle.contentVisibility = this.renderConfig.contentVisibility;\n this.animationItem.wrapper.appendChild(this.animationItem.container);\n this.canvasContext = this.animationItem.container.getContext('2d');\n\n if (this.renderConfig.className) {\n this.animationItem.container.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.animationItem.container.setAttribute('id', this.renderConfig.id);\n }\n } else {\n this.canvasContext = this.renderConfig.context;\n }\n\n this.contextData.setContext(this.canvasContext);\n this.data = animData;\n this.layers = animData.layers;\n this.transformCanvas = {\n w: animData.w,\n h: animData.h,\n sx: 0,\n sy: 0,\n tx: 0,\n ty: 0\n };\n this.setupGlobalData(animData, document.body);\n this.globalData.canvasContext = this.canvasContext;\n this.globalData.renderer = this;\n this.globalData.isDashed = false;\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.globalData.transformCanvas = this.transformCanvas;\n this.elements = createSizedArray(animData.layers.length);\n this.updateContainerSize();\n };\n\n CanvasRendererBase.prototype.updateContainerSize = function (width, height) {\n this.reset();\n var elementWidth;\n var elementHeight;\n\n if (width) {\n elementWidth = width;\n elementHeight = height;\n this.canvasContext.canvas.width = elementWidth;\n this.canvasContext.canvas.height = elementHeight;\n } else {\n if (this.animationItem.wrapper && this.animationItem.container) {\n elementWidth = this.animationItem.wrapper.offsetWidth;\n elementHeight = this.animationItem.wrapper.offsetHeight;\n } else {\n elementWidth = this.canvasContext.canvas.width;\n elementHeight = this.canvasContext.canvas.height;\n }\n\n this.canvasContext.canvas.width = elementWidth * this.renderConfig.dpr;\n this.canvasContext.canvas.height = elementHeight * this.renderConfig.dpr;\n }\n\n var elementRel;\n var animationRel;\n\n if (this.renderConfig.preserveAspectRatio.indexOf('meet') !== -1 || this.renderConfig.preserveAspectRatio.indexOf('slice') !== -1) {\n var par = this.renderConfig.preserveAspectRatio.split(' ');\n var fillType = par[1] || 'meet';\n var pos = par[0] || 'xMidYMid';\n var xPos = pos.substr(0, 4);\n var yPos = pos.substr(4);\n elementRel = elementWidth / elementHeight;\n animationRel = this.transformCanvas.w / this.transformCanvas.h;\n\n if (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n } else {\n this.transformCanvas.sx = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n }\n\n if (xPos === 'xMid' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) / 2 * this.renderConfig.dpr;\n } else if (xPos === 'xMax' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.tx = 0;\n }\n\n if (yPos === 'YMid' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) / 2 * this.renderConfig.dpr;\n } else if (yPos === 'YMax' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.ty = 0;\n }\n } else if (this.renderConfig.preserveAspectRatio === 'none') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n } else {\n this.transformCanvas.sx = this.renderConfig.dpr;\n this.transformCanvas.sy = this.renderConfig.dpr;\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n }\n\n this.transformCanvas.props = [this.transformCanvas.sx, 0, 0, 0, 0, this.transformCanvas.sy, 0, 0, 0, 0, 1, 0, this.transformCanvas.tx, this.transformCanvas.ty, 0, 1];\n /* var i, len = this.elements.length;\r\n for(i=0;i= 0; i -= 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.globalData.canvasContext = null;\n this.animationItem.container = null;\n this.destroyed = true;\n };\n\n CanvasRendererBase.prototype.renderFrame = function (num, forceRender) {\n if (this.renderedFrame === num && this.renderConfig.clearCanvas === true && !forceRender || this.destroyed || num === -1) {\n return;\n }\n\n this.renderedFrame = num;\n this.globalData.frameNum = num - this.animationItem._isFirstFrame;\n this.globalData.frameId += 1;\n this.globalData._mdf = !this.renderConfig.clearCanvas || forceRender;\n this.globalData.projectInterface.currentFrame = num; // console.log('--------');\n // console.log('NEW: ',num);\n\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n if (this.renderConfig.clearCanvas === true) {\n this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h);\n } else {\n this.save();\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n\n if (this.renderConfig.clearCanvas !== true) {\n this.restore();\n }\n }\n };\n\n CanvasRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n var element = this.createItem(this.layers[pos], this, this.globalData);\n elements[pos] = element;\n element.initExpressions();\n /* if(this.layers[pos].ty === 0){\r\n element.resize(this.globalData.transformCanvas);\r\n } */\n };\n\n CanvasRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n CanvasRendererBase.prototype.hide = function () {\n this.animationItem.container.style.display = 'none';\n };\n\n CanvasRendererBase.prototype.show = function () {\n this.animationItem.container.style.display = 'block';\n };\n\n function CanvasContext() {\n this.opacity = -1;\n this.transform = createTypedArray('float32', 16);\n this.fillStyle = '';\n this.strokeStyle = '';\n this.lineWidth = '';\n this.lineCap = '';\n this.lineJoin = '';\n this.miterLimit = '';\n this.id = Math.random();\n }\n\n function CVContextData() {\n this.stack = [];\n this.cArrPos = 0;\n this.cTr = new Matrix();\n var i;\n var len = 15;\n\n for (i = 0; i < len; i += 1) {\n var canvasContext = new CanvasContext();\n this.stack[i] = canvasContext;\n }\n\n this._length = len;\n this.nativeContext = null;\n this.transformMat = new Matrix();\n this.currentOpacity = 1; //\n\n this.currentFillStyle = '';\n this.appliedFillStyle = ''; //\n\n this.currentStrokeStyle = '';\n this.appliedStrokeStyle = ''; //\n\n this.currentLineWidth = '';\n this.appliedLineWidth = ''; //\n\n this.currentLineCap = '';\n this.appliedLineCap = ''; //\n\n this.currentLineJoin = '';\n this.appliedLineJoin = ''; //\n\n this.appliedMiterLimit = '';\n this.currentMiterLimit = '';\n }\n\n CVContextData.prototype.duplicate = function () {\n var newLength = this._length * 2;\n var i = 0;\n\n for (i = this._length; i < newLength; i += 1) {\n this.stack[i] = new CanvasContext();\n }\n\n this._length = newLength;\n };\n\n CVContextData.prototype.reset = function () {\n this.cArrPos = 0;\n this.cTr.reset();\n this.stack[this.cArrPos].opacity = 1;\n };\n\n CVContextData.prototype.restore = function (forceRestore) {\n this.cArrPos -= 1;\n var currentContext = this.stack[this.cArrPos];\n var transform = currentContext.transform;\n var i;\n var arr = this.cTr.props;\n\n for (i = 0; i < 16; i += 1) {\n arr[i] = transform[i];\n }\n\n if (forceRestore) {\n this.nativeContext.restore();\n var prevStack = this.stack[this.cArrPos + 1];\n this.appliedFillStyle = prevStack.fillStyle;\n this.appliedStrokeStyle = prevStack.strokeStyle;\n this.appliedLineWidth = prevStack.lineWidth;\n this.appliedLineCap = prevStack.lineCap;\n this.appliedLineJoin = prevStack.lineJoin;\n this.appliedMiterLimit = prevStack.miterLimit;\n }\n\n this.nativeContext.setTransform(transform[0], transform[1], transform[4], transform[5], transform[12], transform[13]);\n\n if (forceRestore || currentContext.opacity !== -1 && this.currentOpacity !== currentContext.opacity) {\n this.nativeContext.globalAlpha = currentContext.opacity;\n this.currentOpacity = currentContext.opacity;\n }\n\n this.currentFillStyle = currentContext.fillStyle;\n this.currentStrokeStyle = currentContext.strokeStyle;\n this.currentLineWidth = currentContext.lineWidth;\n this.currentLineCap = currentContext.lineCap;\n this.currentLineJoin = currentContext.lineJoin;\n this.currentMiterLimit = currentContext.miterLimit;\n };\n\n CVContextData.prototype.save = function (saveOnNativeFlag) {\n if (saveOnNativeFlag) {\n this.nativeContext.save();\n }\n\n var props = this.cTr.props;\n\n if (this._length <= this.cArrPos) {\n this.duplicate();\n }\n\n var currentStack = this.stack[this.cArrPos];\n var i;\n\n for (i = 0; i < 16; i += 1) {\n currentStack.transform[i] = props[i];\n }\n\n this.cArrPos += 1;\n var newStack = this.stack[this.cArrPos];\n newStack.opacity = currentStack.opacity;\n newStack.fillStyle = currentStack.fillStyle;\n newStack.strokeStyle = currentStack.strokeStyle;\n newStack.lineWidth = currentStack.lineWidth;\n newStack.lineCap = currentStack.lineCap;\n newStack.lineJoin = currentStack.lineJoin;\n newStack.miterLimit = currentStack.miterLimit;\n };\n\n CVContextData.prototype.setOpacity = function (value) {\n this.stack[this.cArrPos].opacity = value;\n };\n\n CVContextData.prototype.setContext = function (value) {\n this.nativeContext = value;\n };\n\n CVContextData.prototype.fillStyle = function (value) {\n if (this.stack[this.cArrPos].fillStyle !== value) {\n this.currentFillStyle = value;\n this.stack[this.cArrPos].fillStyle = value;\n }\n };\n\n CVContextData.prototype.strokeStyle = function (value) {\n if (this.stack[this.cArrPos].strokeStyle !== value) {\n this.currentStrokeStyle = value;\n this.stack[this.cArrPos].strokeStyle = value;\n }\n };\n\n CVContextData.prototype.lineWidth = function (value) {\n if (this.stack[this.cArrPos].lineWidth !== value) {\n this.currentLineWidth = value;\n this.stack[this.cArrPos].lineWidth = value;\n }\n };\n\n CVContextData.prototype.lineCap = function (value) {\n if (this.stack[this.cArrPos].lineCap !== value) {\n this.currentLineCap = value;\n this.stack[this.cArrPos].lineCap = value;\n }\n };\n\n CVContextData.prototype.lineJoin = function (value) {\n if (this.stack[this.cArrPos].lineJoin !== value) {\n this.currentLineJoin = value;\n this.stack[this.cArrPos].lineJoin = value;\n }\n };\n\n CVContextData.prototype.miterLimit = function (value) {\n if (this.stack[this.cArrPos].miterLimit !== value) {\n this.currentMiterLimit = value;\n this.stack[this.cArrPos].miterLimit = value;\n }\n };\n\n CVContextData.prototype.transform = function (props) {\n this.transformMat.cloneFromProps(props); // Taking the last transform value from the stored stack of transforms\n\n var currentTransform = this.cTr; // Applying the last transform value after the new transform to respect the order of transformations\n\n this.transformMat.multiply(currentTransform); // Storing the new transformed value in the stored transform\n\n currentTransform.cloneFromProps(this.transformMat.props);\n var trProps = currentTransform.props; // Applying the new transform to the canvas\n\n this.nativeContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\n };\n\n CVContextData.prototype.opacity = function (op) {\n var currentOpacity = this.stack[this.cArrPos].opacity;\n currentOpacity *= op < 0 ? 0 : op;\n\n if (this.stack[this.cArrPos].opacity !== currentOpacity) {\n if (this.currentOpacity !== op) {\n this.nativeContext.globalAlpha = op;\n this.currentOpacity = op;\n }\n\n this.stack[this.cArrPos].opacity = currentOpacity;\n }\n };\n\n CVContextData.prototype.fill = function (rule) {\n if (this.appliedFillStyle !== this.currentFillStyle) {\n this.appliedFillStyle = this.currentFillStyle;\n this.nativeContext.fillStyle = this.appliedFillStyle;\n }\n\n this.nativeContext.fill(rule);\n };\n\n CVContextData.prototype.fillRect = function (x, y, w, h) {\n if (this.appliedFillStyle !== this.currentFillStyle) {\n this.appliedFillStyle = this.currentFillStyle;\n this.nativeContext.fillStyle = this.appliedFillStyle;\n }\n\n this.nativeContext.fillRect(x, y, w, h);\n };\n\n CVContextData.prototype.stroke = function () {\n if (this.appliedStrokeStyle !== this.currentStrokeStyle) {\n this.appliedStrokeStyle = this.currentStrokeStyle;\n this.nativeContext.strokeStyle = this.appliedStrokeStyle;\n }\n\n if (this.appliedLineWidth !== this.currentLineWidth) {\n this.appliedLineWidth = this.currentLineWidth;\n this.nativeContext.lineWidth = this.appliedLineWidth;\n }\n\n if (this.appliedLineCap !== this.currentLineCap) {\n this.appliedLineCap = this.currentLineCap;\n this.nativeContext.lineCap = this.appliedLineCap;\n }\n\n if (this.appliedLineJoin !== this.currentLineJoin) {\n this.appliedLineJoin = this.currentLineJoin;\n this.nativeContext.lineJoin = this.appliedLineJoin;\n }\n\n if (this.appliedMiterLimit !== this.currentMiterLimit) {\n this.appliedMiterLimit = this.currentMiterLimit;\n this.nativeContext.miterLimit = this.appliedMiterLimit;\n }\n\n this.nativeContext.stroke();\n };\n\n function CVCompElement(data, globalData, comp) {\n this.completeLayers = false;\n this.layers = data.layers;\n this.pendingElements = [];\n this.elements = createSizedArray(this.layers.length);\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([CanvasRendererBase, ICompElement, CVBaseElement], CVCompElement);\n\n CVCompElement.prototype.renderInnerContent = function () {\n var ctx = this.canvasContext;\n ctx.beginPath();\n ctx.moveTo(0, 0);\n ctx.lineTo(this.data.w, 0);\n ctx.lineTo(this.data.w, this.data.h);\n ctx.lineTo(0, this.data.h);\n ctx.lineTo(0, 0);\n ctx.clip();\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n CVCompElement.prototype.destroy = function () {\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n\n this.layers = null;\n this.elements = null;\n };\n\n CVCompElement.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function CanvasRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.renderConfig = {\n clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n context: config && config.context || null,\n progressiveLoad: config && config.progressiveLoad || false,\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n className: config && config.className || '',\n id: config && config.id || '',\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.renderConfig.dpr = config && config.dpr || 1;\n\n if (this.animationItem.wrapper) {\n this.renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n }\n\n this.renderedFrame = -1;\n this.globalData = {\n frameNum: -1,\n _mdf: false,\n renderConfig: this.renderConfig,\n currentGlobalAlpha: -1\n };\n this.contextData = new CVContextData();\n this.elements = [];\n this.pendingElements = [];\n this.transformMat = new Matrix();\n this.completeLayers = false;\n this.rendererType = 'canvas';\n\n if (this.renderConfig.clearCanvas) {\n this.ctxTransform = this.contextData.transform.bind(this.contextData);\n this.ctxOpacity = this.contextData.opacity.bind(this.contextData);\n this.ctxFillStyle = this.contextData.fillStyle.bind(this.contextData);\n this.ctxStrokeStyle = this.contextData.strokeStyle.bind(this.contextData);\n this.ctxLineWidth = this.contextData.lineWidth.bind(this.contextData);\n this.ctxLineCap = this.contextData.lineCap.bind(this.contextData);\n this.ctxLineJoin = this.contextData.lineJoin.bind(this.contextData);\n this.ctxMiterLimit = this.contextData.miterLimit.bind(this.contextData);\n this.ctxFill = this.contextData.fill.bind(this.contextData);\n this.ctxFillRect = this.contextData.fillRect.bind(this.contextData);\n this.ctxStroke = this.contextData.stroke.bind(this.contextData);\n this.save = this.contextData.save.bind(this.contextData);\n }\n }\n\n extendPrototype([CanvasRendererBase], CanvasRenderer);\n\n CanvasRenderer.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function HBaseElement() {}\n\n HBaseElement.prototype = {\n checkBlendMode: function checkBlendMode() {},\n initRendererElement: function initRendererElement() {\n this.baseElement = createTag(this.data.tg || 'div');\n\n if (this.data.hasMask) {\n this.svgElement = createNS('svg');\n this.layerElement = createNS('g');\n this.maskedElement = this.layerElement;\n this.svgElement.appendChild(this.layerElement);\n this.baseElement.appendChild(this.svgElement);\n } else {\n this.layerElement = this.baseElement;\n }\n\n styleDiv(this.baseElement);\n },\n createContainerElements: function createContainerElements() {\n this.renderableEffectsManager = new CVEffects(this);\n this.transformedElement = this.baseElement;\n this.maskedElement = this.layerElement;\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n var transformedElementStyle = this.transformedElement ? this.transformedElement.style : {};\n\n if (this.finalTransform._matMdf) {\n var matrixValue = this.finalTransform.mat.toCSS();\n transformedElementStyle.transform = matrixValue;\n transformedElementStyle.webkitTransform = matrixValue;\n }\n\n if (this.finalTransform._opMdf) {\n transformedElementStyle.opacity = this.finalTransform.mProp.o.v;\n }\n },\n renderFrame: function renderFrame() {\n // If it is exported as hidden (data.hd === true) no need to render\n // If it is not visible no need to render\n if (this.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.layerElement = null;\n this.transformedElement = null;\n\n if (this.matteElement) {\n this.matteElement = null;\n }\n\n if (this.maskManager) {\n this.maskManager.destroy();\n this.maskManager = null;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n },\n addEffects: function addEffects() {},\n setMatte: function setMatte() {}\n };\n HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\n HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\n HBaseElement.prototype.buildElementParenting = BaseRenderer.prototype.buildElementParenting;\n\n function HSolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\n\n HSolidElement.prototype.createContent = function () {\n var rect;\n\n if (this.data.hasMask) {\n rect = createNS('rect');\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.svgElement.setAttribute('width', this.data.sw);\n this.svgElement.setAttribute('height', this.data.sh);\n } else {\n rect = createTag('div');\n rect.style.width = this.data.sw + 'px';\n rect.style.height = this.data.sh + 'px';\n rect.style.backgroundColor = this.data.sc;\n }\n\n this.layerElement.appendChild(rect);\n };\n\n function HShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.animatedContents = [];\n this.shapesContainer = createNS('g');\n this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n // List of elements that have been created\n\n this.prevViewData = [];\n this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n }\n\n extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\n HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\n\n HShapeElement.prototype.createContent = function () {\n var cont;\n this.baseElement.style.fontSize = 0;\n\n if (this.data.hasMask) {\n this.layerElement.appendChild(this.shapesContainer);\n cont = this.svgElement;\n } else {\n cont = createNS('svg');\n var size = this.comp.data ? this.comp.data : this.globalData.compSize;\n cont.setAttribute('width', size.w);\n cont.setAttribute('height', size.h);\n cont.appendChild(this.shapesContainer);\n this.layerElement.appendChild(cont);\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], true);\n this.filterUniqueShapes();\n this.shapeCont = cont;\n };\n\n HShapeElement.prototype.getTransformedPoint = function (transformers, point) {\n var i;\n var len = transformers.length;\n\n for (i = 0; i < len; i += 1) {\n point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\n }\n\n return point;\n };\n\n HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\n var shape = item.sh.v;\n var transformers = item.transformers;\n var i;\n var len = shape._length;\n var vPoint;\n var oPoint;\n var nextIPoint;\n var nextVPoint;\n\n if (len <= 1) {\n return;\n }\n\n for (i = 0; i < len - 1; i += 1) {\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\n nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n }\n\n if (shape.c) {\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\n nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n }\n };\n\n HShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\n this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\n var bounds = this.shapeBoundingBox;\n boundingBox.x = bmMin(bounds.left, boundingBox.x);\n boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\n boundingBox.y = bmMin(bounds.top, boundingBox.y);\n boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\n };\n\n HShapeElement.prototype.shapeBoundingBox = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n HShapeElement.prototype.tempBoundingBox = {\n x: 0,\n xMax: 0,\n y: 0,\n yMax: 0,\n width: 0,\n height: 0\n };\n\n HShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\n var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\n\n for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {\n // eslint-disable-line no-plusplus\n b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n c = 3 * p1[i] - 3 * p0[i];\n b |= 0; // eslint-disable-line no-bitwise\n\n a |= 0; // eslint-disable-line no-bitwise\n\n c |= 0; // eslint-disable-line no-bitwise\n\n if (a === 0 && b === 0) {//\n } else if (a === 0) {\n t = -c / b;\n\n if (t > 0 && t < 1) {\n bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\n }\n } else {\n b2ac = b * b - 4 * c * a;\n\n if (b2ac >= 0) {\n t1 = (-b + bmSqrt(b2ac)) / (2 * a);\n if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\n t2 = (-b - bmSqrt(b2ac)) / (2 * a);\n if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\n }\n }\n }\n\n this.shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\n this.shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\n this.shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\n this.shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\n };\n\n HShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\n return bmPow(1 - t, 3) * p0[i] + 3 * bmPow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * bmPow(t, 2) * p2[i] + bmPow(t, 3) * p3[i];\n };\n\n HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\n var i;\n var len = itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n if (itemsData[i] && itemsData[i].sh) {\n this.calculateShapeBoundingBox(itemsData[i], boundingBox);\n } else if (itemsData[i] && itemsData[i].it) {\n this.calculateBoundingBox(itemsData[i].it, boundingBox);\n } else if (itemsData[i] && itemsData[i].style && itemsData[i].w) {\n this.expandStrokeBoundingBox(itemsData[i].w, boundingBox);\n }\n }\n };\n\n HShapeElement.prototype.expandStrokeBoundingBox = function (widthProperty, boundingBox) {\n var width = 0;\n\n if (widthProperty.keyframes) {\n for (var i = 0; i < widthProperty.keyframes.length; i += 1) {\n var kfw = widthProperty.keyframes[i].s;\n\n if (kfw > width) {\n width = kfw;\n }\n }\n\n width *= widthProperty.mult;\n } else {\n width = widthProperty.v * widthProperty.mult;\n }\n\n boundingBox.x -= width;\n boundingBox.xMax += width;\n boundingBox.y -= width;\n boundingBox.yMax += width;\n };\n\n HShapeElement.prototype.currentBoxContains = function (box) {\n return this.currentBBox.x <= box.x && this.currentBBox.y <= box.y && this.currentBBox.width + this.currentBBox.x >= box.x + box.width && this.currentBBox.height + this.currentBBox.y >= box.y + box.height;\n };\n\n HShapeElement.prototype.renderInnerContent = function () {\n this._renderShapeFrame();\n\n if (!this.hidden && (this._isFirstFrame || this._mdf)) {\n var tempBoundingBox = this.tempBoundingBox;\n var max = 999999;\n tempBoundingBox.x = max;\n tempBoundingBox.xMax = -max;\n tempBoundingBox.y = max;\n tempBoundingBox.yMax = -max;\n this.calculateBoundingBox(this.itemsData, tempBoundingBox);\n tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\n tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y; // var tempBoundingBox = this.shapeCont.getBBox();\n\n if (this.currentBoxContains(tempBoundingBox)) {\n return;\n }\n\n var changed = false;\n\n if (this.currentBBox.w !== tempBoundingBox.width) {\n this.currentBBox.w = tempBoundingBox.width;\n this.shapeCont.setAttribute('width', tempBoundingBox.width);\n changed = true;\n }\n\n if (this.currentBBox.h !== tempBoundingBox.height) {\n this.currentBBox.h = tempBoundingBox.height;\n this.shapeCont.setAttribute('height', tempBoundingBox.height);\n changed = true;\n }\n\n if (changed || this.currentBBox.x !== tempBoundingBox.x || this.currentBBox.y !== tempBoundingBox.y) {\n this.currentBBox.w = tempBoundingBox.width;\n this.currentBBox.h = tempBoundingBox.height;\n this.currentBBox.x = tempBoundingBox.x;\n this.currentBBox.y = tempBoundingBox.y;\n this.shapeCont.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n var shapeStyle = this.shapeCont.style;\n var shapeTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n shapeStyle.transform = shapeTransform;\n shapeStyle.webkitTransform = shapeTransform;\n }\n }\n };\n\n function HTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.textPaths = [];\n this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n this.renderType = 'svg';\n this.isMasked = false;\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\n\n HTextElement.prototype.createContent = function () {\n this.isMasked = this.checkMasks();\n\n if (this.isMasked) {\n this.renderType = 'svg';\n this.compW = this.comp.data.w;\n this.compH = this.comp.data.h;\n this.svgElement.setAttribute('width', this.compW);\n this.svgElement.setAttribute('height', this.compH);\n var g = createNS('g');\n this.maskedElement.appendChild(g);\n this.innerElem = g;\n } else {\n this.renderType = 'html';\n this.innerElem = this.layerElement;\n }\n\n this.checkParenting();\n };\n\n HTextElement.prototype.buildNewText = function () {\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var innerElemStyle = this.innerElem.style;\n var textColor = documentData.fc ? this.buildColor(documentData.fc) : 'rgba(0,0,0,0)';\n innerElemStyle.fill = textColor;\n innerElemStyle.color = textColor;\n\n if (documentData.sc) {\n innerElemStyle.stroke = this.buildColor(documentData.sc);\n innerElemStyle.strokeWidth = documentData.sw + 'px';\n }\n\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n if (!this.globalData.fontManager.chars) {\n innerElemStyle.fontSize = documentData.finalSize + 'px';\n innerElemStyle.lineHeight = documentData.finalSize + 'px';\n\n if (fontData.fClass) {\n this.innerElem.className = fontData.fClass;\n } else {\n innerElemStyle.fontFamily = fontData.fFamily;\n var fWeight = documentData.fWeight;\n var fStyle = documentData.fStyle;\n innerElemStyle.fontStyle = fStyle;\n innerElemStyle.fontWeight = fWeight;\n }\n }\n\n var i;\n var len;\n var letters = documentData.l;\n len = letters.length;\n var tSpan;\n var tParent;\n var tCont;\n var matrixHelper = this.mHelper;\n var shapes;\n var shapeStr = '';\n var cnt = 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.globalData.fontManager.chars) {\n if (!this.textPaths[cnt]) {\n tSpan = createNS('path');\n tSpan.setAttribute('stroke-linecap', lineCapEnum[1]);\n tSpan.setAttribute('stroke-linejoin', lineJoinEnum[2]);\n tSpan.setAttribute('stroke-miterlimit', '4');\n } else {\n tSpan = this.textPaths[cnt];\n }\n\n if (!this.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.textSpans[cnt];\n tCont = tParent.children[0];\n } else {\n tParent = createTag('div');\n tParent.style.lineHeight = 0;\n tCont = createNS('svg');\n tCont.appendChild(tSpan);\n styleDiv(tParent);\n }\n }\n } else if (!this.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.textSpans[cnt];\n tSpan = this.textPaths[cnt];\n } else {\n tParent = createTag('span');\n styleDiv(tParent);\n tSpan = createTag('span');\n styleDiv(tSpan);\n tParent.appendChild(tSpan);\n }\n } else {\n tSpan = this.textPaths[cnt] ? this.textPaths[cnt] : createNS('text');\n } // tSpan.setAttribute('visibility', 'hidden');\n\n\n if (this.globalData.fontManager.chars) {\n var charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n var shapeData;\n\n if (charData) {\n shapeData = charData.data;\n } else {\n shapeData = null;\n }\n\n matrixHelper.reset();\n\n if (shapeData && shapeData.shapes && shapeData.shapes.length) {\n shapes = shapeData.shapes[0].it;\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n shapeStr = this.createPathShape(matrixHelper, shapes);\n tSpan.setAttribute('d', shapeStr);\n }\n\n if (!this.isMasked) {\n this.innerElem.appendChild(tParent);\n\n if (shapeData && shapeData.shapes) {\n // document.body.appendChild is needed to get exact measure of shape\n document.body.appendChild(tCont);\n var boundingBox = tCont.getBBox();\n tCont.setAttribute('width', boundingBox.width + 2);\n tCont.setAttribute('height', boundingBox.height + 2);\n tCont.setAttribute('viewBox', boundingBox.x - 1 + ' ' + (boundingBox.y - 1) + ' ' + (boundingBox.width + 2) + ' ' + (boundingBox.height + 2));\n var tContStyle = tCont.style;\n var tContTranslation = 'translate(' + (boundingBox.x - 1) + 'px,' + (boundingBox.y - 1) + 'px)';\n tContStyle.transform = tContTranslation;\n tContStyle.webkitTransform = tContTranslation;\n letters[i].yOffset = boundingBox.y - 1;\n } else {\n tCont.setAttribute('width', 1);\n tCont.setAttribute('height', 1);\n }\n\n tParent.appendChild(tCont);\n } else {\n this.innerElem.appendChild(tSpan);\n }\n } else {\n tSpan.textContent = letters[i].val;\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n\n if (!this.isMasked) {\n this.innerElem.appendChild(tParent); //\n\n var tStyle = tSpan.style;\n var tSpanTranslation = 'translate3d(0,' + -documentData.finalSize / 1.2 + 'px,0)';\n tStyle.transform = tSpanTranslation;\n tStyle.webkitTransform = tSpanTranslation;\n } else {\n this.innerElem.appendChild(tSpan);\n }\n } //\n\n\n if (!this.isMasked) {\n this.textSpans[cnt] = tParent;\n } else {\n this.textSpans[cnt] = tSpan;\n }\n\n this.textSpans[cnt].style.display = 'block';\n this.textPaths[cnt] = tSpan;\n cnt += 1;\n }\n\n while (cnt < this.textSpans.length) {\n this.textSpans[cnt].style.display = 'none';\n cnt += 1;\n }\n };\n\n HTextElement.prototype.renderInnerContent = function () {\n this.validateText();\n var svgStyle;\n\n if (this.data.singleShape) {\n if (!this._isFirstFrame && !this.lettersChangedFlag) {\n return;\n }\n\n if (this.isMasked && this.finalTransform._matMdf) {\n // Todo Benchmark if using this is better than getBBox\n this.svgElement.setAttribute('viewBox', -this.finalTransform.mProp.p.v[0] + ' ' + -this.finalTransform.mProp.p.v[1] + ' ' + this.compW + ' ' + this.compH);\n svgStyle = this.svgElement.style;\n var translation = 'translate(' + -this.finalTransform.mProp.p.v[0] + 'px,' + -this.finalTransform.mProp.p.v[1] + 'px)';\n svgStyle.transform = translation;\n svgStyle.webkitTransform = translation;\n }\n }\n\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (!this.lettersChangedFlag && !this.textAnimator.lettersChangedFlag) {\n return;\n }\n\n var i;\n var len;\n var count = 0;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var textSpan;\n var textPath;\n\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n count += 1;\n } else {\n textSpan = this.textSpans[i];\n textPath = this.textPaths[i];\n renderedLetter = renderedLetters[count];\n count += 1;\n\n if (renderedLetter._mdf.m) {\n if (!this.isMasked) {\n textSpan.style.webkitTransform = renderedLetter.m;\n textSpan.style.transform = renderedLetter.m;\n } else {\n textSpan.setAttribute('transform', renderedLetter.m);\n }\n } /// /textSpan.setAttribute('opacity',renderedLetter.o);\n\n\n textSpan.style.opacity = renderedLetter.o;\n\n if (renderedLetter.sw && renderedLetter._mdf.sw) {\n textPath.setAttribute('stroke-width', renderedLetter.sw);\n }\n\n if (renderedLetter.sc && renderedLetter._mdf.sc) {\n textPath.setAttribute('stroke', renderedLetter.sc);\n }\n\n if (renderedLetter.fc && renderedLetter._mdf.fc) {\n textPath.setAttribute('fill', renderedLetter.fc);\n textPath.style.color = renderedLetter.fc;\n }\n }\n }\n\n if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\n var boundingBox = this.innerElem.getBBox();\n\n if (this.currentBBox.w !== boundingBox.width) {\n this.currentBBox.w = boundingBox.width;\n this.svgElement.setAttribute('width', boundingBox.width);\n }\n\n if (this.currentBBox.h !== boundingBox.height) {\n this.currentBBox.h = boundingBox.height;\n this.svgElement.setAttribute('height', boundingBox.height);\n }\n\n var margin = 1;\n\n if (this.currentBBox.w !== boundingBox.width + margin * 2 || this.currentBBox.h !== boundingBox.height + margin * 2 || this.currentBBox.x !== boundingBox.x - margin || this.currentBBox.y !== boundingBox.y - margin) {\n this.currentBBox.w = boundingBox.width + margin * 2;\n this.currentBBox.h = boundingBox.height + margin * 2;\n this.currentBBox.x = boundingBox.x - margin;\n this.currentBBox.y = boundingBox.y - margin;\n this.svgElement.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n svgStyle = this.svgElement.style;\n var svgTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n svgStyle.transform = svgTransform;\n svgStyle.webkitTransform = svgTransform;\n }\n }\n };\n\n function HCameraElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initHierarchy();\n var getProp = PropertyFactory.getProp;\n this.pe = getProp(this, data.pe, 0, 0, this);\n\n if (data.ks.p.s) {\n this.px = getProp(this, data.ks.p.x, 1, 0, this);\n this.py = getProp(this, data.ks.p.y, 1, 0, this);\n this.pz = getProp(this, data.ks.p.z, 1, 0, this);\n } else {\n this.p = getProp(this, data.ks.p, 1, 0, this);\n }\n\n if (data.ks.a) {\n this.a = getProp(this, data.ks.a, 1, 0, this);\n }\n\n if (data.ks.or.k.length && data.ks.or.k[0].to) {\n var i;\n var len = data.ks.or.k.length;\n\n for (i = 0; i < len; i += 1) {\n data.ks.or.k[i].to = null;\n data.ks.or.k[i].ti = null;\n }\n }\n\n this.or = getProp(this, data.ks.or, 1, degToRads, this);\n this.or.sh = true;\n this.rx = getProp(this, data.ks.rx, 0, degToRads, this);\n this.ry = getProp(this, data.ks.ry, 0, degToRads, this);\n this.rz = getProp(this, data.ks.rz, 0, degToRads, this);\n this.mat = new Matrix();\n this._prevMat = new Matrix();\n this._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\n\n this.finalTransform = {\n mProp: this\n };\n }\n\n extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\n\n HCameraElement.prototype.setup = function () {\n var i;\n var len = this.comp.threeDElements.length;\n var comp;\n var perspectiveStyle;\n var containerStyle;\n\n for (i = 0; i < len; i += 1) {\n // [perspectiveElem,container]\n comp = this.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n perspectiveStyle = comp.perspectiveElem.style;\n containerStyle = comp.container.style;\n var perspective = this.pe.v + 'px';\n var origin = '0px 0px 0px';\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n perspectiveStyle.perspective = perspective;\n perspectiveStyle.webkitPerspective = perspective;\n containerStyle.transformOrigin = origin;\n containerStyle.mozTransformOrigin = origin;\n containerStyle.webkitTransformOrigin = origin;\n perspectiveStyle.transform = matrix;\n perspectiveStyle.webkitTransform = matrix;\n }\n }\n };\n\n HCameraElement.prototype.createElements = function () {};\n\n HCameraElement.prototype.hide = function () {};\n\n HCameraElement.prototype.renderFrame = function () {\n var _mdf = this._isFirstFrame;\n var i;\n var len;\n\n if (this.hierarchy) {\n len = this.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n _mdf = this.hierarchy[i].finalTransform.mProp._mdf || _mdf;\n }\n }\n\n if (_mdf || this.pe._mdf || this.p && this.p._mdf || this.px && (this.px._mdf || this.py._mdf || this.pz._mdf) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || this.a && this.a._mdf) {\n this.mat.reset();\n\n if (this.hierarchy) {\n len = this.hierarchy.length - 1;\n\n for (i = len; i >= 0; i -= 1) {\n var mTransf = this.hierarchy[i].finalTransform.mProp;\n this.mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\n this.mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\n this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\n this.mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\n this.mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\n }\n }\n\n if (this.p) {\n this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]);\n } else {\n this.mat.translate(-this.px.v, -this.py.v, this.pz.v);\n }\n\n if (this.a) {\n var diffVector;\n\n if (this.p) {\n diffVector = [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]];\n } else {\n diffVector = [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];\n }\n\n var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2)); // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\n\n var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\n var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\n var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ);\n var mRotationY = Math.atan2(lookDir[0], -lookDir[2]);\n this.mat.rotateY(mRotationY).rotateX(-mRotationX);\n }\n\n this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v);\n this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]);\n this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0);\n this.mat.translate(0, 0, this.pe.v);\n var hasMatrixChanged = !this._prevMat.equals(this.mat);\n\n if ((hasMatrixChanged || this.pe._mdf) && this.comp.threeDElements) {\n len = this.comp.threeDElements.length;\n var comp;\n var perspectiveStyle;\n var containerStyle;\n\n for (i = 0; i < len; i += 1) {\n comp = this.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n if (hasMatrixChanged) {\n var matValue = this.mat.toCSS();\n containerStyle = comp.container.style;\n containerStyle.transform = matValue;\n containerStyle.webkitTransform = matValue;\n }\n\n if (this.pe._mdf) {\n perspectiveStyle = comp.perspectiveElem.style;\n perspectiveStyle.perspective = this.pe.v + 'px';\n perspectiveStyle.webkitPerspective = this.pe.v + 'px';\n }\n }\n }\n\n this.mat.clone(this._prevMat);\n }\n }\n\n this._isFirstFrame = false;\n };\n\n HCameraElement.prototype.prepareFrame = function (num) {\n this.prepareProperties(num, true);\n };\n\n HCameraElement.prototype.destroy = function () {};\n\n HCameraElement.prototype.getBaseElement = function () {\n return null;\n };\n\n function HImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\n\n HImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n var img = new Image();\n\n if (this.data.hasMask) {\n this.imageElem = createNS('image');\n this.imageElem.setAttribute('width', this.assetData.w + 'px');\n this.imageElem.setAttribute('height', this.assetData.h + 'px');\n this.imageElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.imageElem);\n this.baseElement.setAttribute('width', this.assetData.w);\n this.baseElement.setAttribute('height', this.assetData.h);\n } else {\n this.layerElement.appendChild(img);\n }\n\n img.crossOrigin = 'anonymous';\n img.src = assetPath;\n\n if (this.data.ln) {\n this.baseElement.setAttribute('id', this.data.ln);\n }\n };\n\n function HybridRendererBase(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.renderConfig = {\n className: config && config.className || '',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '400%',\n height: config && config.filterSize && config.filterSize.height || '400%',\n x: config && config.filterSize && config.filterSize.x || '-100%',\n y: config && config.filterSize && config.filterSize.y || '-100%'\n }\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([BaseRenderer], HybridRendererBase);\n HybridRendererBase.prototype.buildItem = SVGRenderer.prototype.buildItem;\n\n HybridRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n HybridRendererBase.prototype.appendElementInPos = function (element, pos) {\n var newDOMElement = element.getBaseElement();\n\n if (!newDOMElement) {\n return;\n }\n\n var layer = this.layers[pos];\n\n if (!layer.ddd || !this.supports3d) {\n if (this.threeDElements) {\n this.addTo3dContainer(newDOMElement, pos);\n } else {\n var i = 0;\n var nextDOMElement;\n var nextLayer;\n var tmpDOMElement;\n\n while (i < pos) {\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement) {\n nextLayer = this.elements[i];\n tmpDOMElement = this.layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\n nextDOMElement = tmpDOMElement || nextDOMElement;\n }\n\n i += 1;\n }\n\n if (nextDOMElement) {\n if (!layer.ddd || !this.supports3d) {\n this.layerElement.insertBefore(newDOMElement, nextDOMElement);\n }\n } else if (!layer.ddd || !this.supports3d) {\n this.layerElement.appendChild(newDOMElement);\n }\n }\n } else {\n this.addTo3dContainer(newDOMElement, pos);\n }\n };\n\n HybridRendererBase.prototype.createShape = function (data) {\n if (!this.supports3d) {\n return new SVGShapeElement(data, this.globalData, this);\n }\n\n return new HShapeElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createText = function (data) {\n if (!this.supports3d) {\n return new SVGTextLottieElement(data, this.globalData, this);\n }\n\n return new HTextElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createCamera = function (data) {\n this.camera = new HCameraElement(data, this.globalData, this);\n return this.camera;\n };\n\n HybridRendererBase.prototype.createImage = function (data) {\n if (!this.supports3d) {\n return new IImageElement(data, this.globalData, this);\n }\n\n return new HImageElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createSolid = function (data) {\n if (!this.supports3d) {\n return new ISolidElement(data, this.globalData, this);\n }\n\n return new HSolidElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n HybridRendererBase.prototype.getThreeDContainerByPos = function (pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (this.threeDElements[i].startPos <= pos && this.threeDElements[i].endPos >= pos) {\n return this.threeDElements[i].perspectiveElem;\n }\n\n i += 1;\n }\n\n return null;\n };\n\n HybridRendererBase.prototype.createThreeDContainer = function (pos, type) {\n var perspectiveElem = createTag('div');\n var style;\n var containerStyle;\n styleDiv(perspectiveElem);\n var container = createTag('div');\n styleDiv(container);\n\n if (type === '3d') {\n style = perspectiveElem.style;\n style.width = this.globalData.compSize.w + 'px';\n style.height = this.globalData.compSize.h + 'px';\n var center = '50% 50%';\n style.webkitTransformOrigin = center;\n style.mozTransformOrigin = center;\n style.transformOrigin = center;\n containerStyle = container.style;\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n containerStyle.transform = matrix;\n containerStyle.webkitTransform = matrix;\n }\n\n perspectiveElem.appendChild(container); // this.resizerElem.appendChild(perspectiveElem);\n\n var threeDContainerData = {\n container: container,\n perspectiveElem: perspectiveElem,\n startPos: pos,\n endPos: pos,\n type: type\n };\n this.threeDElements.push(threeDContainerData);\n return threeDContainerData;\n };\n\n HybridRendererBase.prototype.build3dContainers = function () {\n var i;\n var len = this.layers.length;\n var lastThreeDContainerData;\n var currentContainer = '';\n\n for (i = 0; i < len; i += 1) {\n if (this.layers[i].ddd && this.layers[i].ty !== 3) {\n if (currentContainer !== '3d') {\n currentContainer = '3d';\n lastThreeDContainerData = this.createThreeDContainer(i, '3d');\n }\n\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n } else {\n if (currentContainer !== '2d') {\n currentContainer = '2d';\n lastThreeDContainerData = this.createThreeDContainer(i, '2d');\n }\n\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n }\n }\n\n len = this.threeDElements.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem);\n }\n };\n\n HybridRendererBase.prototype.addTo3dContainer = function (elem, pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (pos <= this.threeDElements[i].endPos) {\n var j = this.threeDElements[i].startPos;\n var nextElement;\n\n while (j < pos) {\n if (this.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.threeDElements[i].container.insertBefore(elem, nextElement);\n } else {\n this.threeDElements[i].container.appendChild(elem);\n }\n\n break;\n }\n\n i += 1;\n }\n };\n\n HybridRendererBase.prototype.configAnimation = function (animData) {\n var resizerElem = createTag('div');\n var wrapper = this.animationItem.wrapper;\n var style = resizerElem.style;\n style.width = animData.w + 'px';\n style.height = animData.h + 'px';\n this.resizerElem = resizerElem;\n styleDiv(resizerElem);\n style.transformStyle = 'flat';\n style.mozTransformStyle = 'flat';\n style.webkitTransformStyle = 'flat';\n\n if (this.renderConfig.className) {\n resizerElem.setAttribute('class', this.renderConfig.className);\n }\n\n wrapper.appendChild(resizerElem);\n style.overflow = 'hidden';\n var svg = createNS('svg');\n svg.setAttribute('width', '1');\n svg.setAttribute('height', '1');\n styleDiv(svg);\n this.resizerElem.appendChild(svg);\n var defs = createNS('defs');\n svg.appendChild(defs);\n this.data = animData; // Mask animation\n\n this.setupGlobalData(animData, svg);\n this.globalData.defs = defs;\n this.layers = animData.layers;\n this.layerElement = this.resizerElem;\n this.build3dContainers();\n this.updateContainerSize();\n };\n\n HybridRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.animationItem.container = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n HybridRendererBase.prototype.updateContainerSize = function () {\n var elementWidth = this.animationItem.wrapper.offsetWidth;\n var elementHeight = this.animationItem.wrapper.offsetHeight;\n var elementRel = elementWidth / elementHeight;\n var animationRel = this.globalData.compSize.w / this.globalData.compSize.h;\n var sx;\n var sy;\n var tx;\n var ty;\n\n if (animationRel > elementRel) {\n sx = elementWidth / this.globalData.compSize.w;\n sy = elementWidth / this.globalData.compSize.w;\n tx = 0;\n ty = (elementHeight - this.globalData.compSize.h * (elementWidth / this.globalData.compSize.w)) / 2;\n } else {\n sx = elementHeight / this.globalData.compSize.h;\n sy = elementHeight / this.globalData.compSize.h;\n tx = (elementWidth - this.globalData.compSize.w * (elementHeight / this.globalData.compSize.h)) / 2;\n ty = 0;\n }\n\n var style = this.resizerElem.style;\n style.webkitTransform = 'matrix3d(' + sx + ',0,0,0,0,' + sy + ',0,0,0,0,1,0,' + tx + ',' + ty + ',0,1)';\n style.transform = style.webkitTransform;\n };\n\n HybridRendererBase.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\n\n HybridRendererBase.prototype.hide = function () {\n this.resizerElem.style.display = 'none';\n };\n\n HybridRendererBase.prototype.show = function () {\n this.resizerElem.style.display = 'block';\n };\n\n HybridRendererBase.prototype.initItems = function () {\n this.buildAllItems();\n\n if (this.camera) {\n this.camera.setup();\n } else {\n var cWidth = this.globalData.compSize.w;\n var cHeight = this.globalData.compSize.h;\n var i;\n var len = this.threeDElements.length;\n\n for (i = 0; i < len; i += 1) {\n var style = this.threeDElements[i].perspectiveElem.style;\n style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + 'px';\n style.perspective = style.webkitPerspective;\n }\n }\n };\n\n HybridRendererBase.prototype.searchExtraCompositions = function (assets) {\n var i;\n var len = assets.length;\n var floatingContainer = createTag('div');\n\n for (i = 0; i < len; i += 1) {\n if (assets[i].xt) {\n var comp = this.createComp(assets[i], floatingContainer, this.globalData.comp, null);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n function HCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = !data.hasMask;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([HybridRendererBase, ICompElement, HBaseElement], HCompElement);\n HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\n\n HCompElement.prototype.createContainerElements = function () {\n this._createBaseContainerElements(); // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\n\n\n if (this.data.hasMask) {\n this.svgElement.setAttribute('width', this.data.w);\n this.svgElement.setAttribute('height', this.data.h);\n this.transformedElement = this.baseElement;\n } else {\n this.transformedElement = this.layerElement;\n }\n };\n\n HCompElement.prototype.addTo3dContainer = function (elem, pos) {\n var j = 0;\n var nextElement;\n\n while (j < pos) {\n if (this.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(elem, nextElement);\n } else {\n this.layerElement.appendChild(elem);\n }\n };\n\n HCompElement.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\n };\n\n function HybridRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.renderConfig = {\n className: config && config.className || '',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '400%',\n height: config && config.filterSize && config.filterSize.height || '400%',\n x: config && config.filterSize && config.filterSize.x || '-100%',\n y: config && config.filterSize && config.filterSize.y || '-100%'\n },\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([HybridRendererBase], HybridRenderer);\n\n HybridRenderer.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\n };\n\n var CompExpressionInterface = function () {\n return function (comp) {\n function _thisLayerFunction(name) {\n var i = 0;\n var len = comp.layers.length;\n\n while (i < len) {\n if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\n return comp.elements[i].layerInterface;\n }\n\n i += 1;\n }\n\n return null; // return {active:false};\n }\n\n Object.defineProperty(_thisLayerFunction, '_name', {\n value: comp.data.nm\n });\n _thisLayerFunction.layer = _thisLayerFunction;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\n _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\n _thisLayerFunction.displayStartTime = 0;\n _thisLayerFunction.numLayers = comp.layers.length;\n return _thisLayerFunction;\n };\n }();\n\n function _typeof$2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$2 = function _typeof(obj) { return typeof obj; }; } else { _typeof$2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$2(obj); }\n\n /* eslint-disable */\n\n /*\r\n Copyright 2014 David Bau.\r\n\r\n Permission is hereby granted, free of charge, to any person obtaining\r\n a copy of this software and associated documentation files (the\r\n \"Software\"), to deal in the Software without restriction, including\r\n without limitation the rights to use, copy, modify, merge, publish,\r\n distribute, sublicense, and/or sell copies of the Software, and to\r\n permit persons to whom the Software is furnished to do so, subject to\r\n the following conditions:\r\n\r\n The above copyright notice and this permission notice shall be\r\n included in all copies or substantial portions of the Software.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n\r\n */\n function seedRandom(pool, math) {\n //\n // The following constants are related to IEEE 754 limits.\n //\n var global = this,\n width = 256,\n // each RC4 output is 0 <= x < 256\n chunks = 6,\n // at least six RC4 outputs for each double\n digits = 52,\n // there are 52 significant digits in a double\n rngname = 'random',\n // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n //\n // seedrandom()\n // This is the seedrandom function described above.\n //\n\n function seedrandom(seed, options, callback) {\n var key = [];\n options = options === true ? {\n entropy: true\n } : options || {}; // Flatten the seed string or build one from local entropy if needed.\n\n var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key); // Use the seed to initialize an ARC4 generator.\n\n var arc4 = new ARC4(key); // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n\n var prng = function prng() {\n var n = arc4.g(chunks),\n // Start with a numerator n < 2 ^ 48\n d = startdenom,\n // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n\n while (n < significance) {\n // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n\n d *= width; // denominator and generating a\n\n x = arc4.g(1); // new least-significant-byte.\n }\n\n while (n >= overflow) {\n // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n\n d /= 2; // right using integer math until\n\n x >>>= 1; // we have exactly the desired bits.\n }\n\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function () {\n return arc4.g(4) | 0;\n };\n\n prng.quick = function () {\n return arc4.g(4) / 0x100000000;\n };\n\n prng[\"double\"] = prng; // Mix the randomness into accumulated entropy.\n\n mixkey(tostring(arc4.S), pool); // Calling convention: what to return as a function of prng, seed, is_math.\n\n return (options.pass || callback || function (prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) {\n copy(state, arc4);\n } // Only provide the .state method if requested via options.state.\n\n\n prng.state = function () {\n return copy(arc4, {});\n };\n } // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n\n\n if (is_math_call) {\n math[rngname] = prng;\n return seed;\n } // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(prng, shortseed, 'global' in options ? options.global : this == math, options.state);\n }\n\n math['seed' + rngname] = seedrandom; //\n // ARC4\n //\n // An ARC4 implementation. The constructor takes a key in the form of\n // an array of at most (width) integers that should be 0 <= x < (width).\n //\n // The g(count) method returns a pseudorandom integer that concatenates\n // the next (count) outputs from ARC4. Its return value is a number x\n // that is in the range 0 <= x < (width ^ count).\n //\n\n function ARC4(key) {\n var t,\n keylen = key.length,\n me = this,\n i = 0,\n j = me.i = me.j = 0,\n s = me.S = []; // The empty key [] is treated as [0].\n\n if (!keylen) {\n key = [keylen++];\n } // Set up S using the standard key scheduling algorithm.\n\n\n while (i < width) {\n s[i] = i++;\n }\n\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];\n s[j] = t;\n } // The \"g\" method returns the next (count) outputs as one number.\n\n\n me.g = function (count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t,\n r = 0,\n i = me.i,\n j = me.j,\n s = me.S;\n\n while (count--) {\n t = s[i = mask & i + 1];\n r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];\n }\n\n me.i = i;\n me.j = j;\n return r; // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n };\n } //\n // copy()\n // Copies internal state of ARC4 to or from a plain object.\n //\n\n\n function copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n } //\n // flatten()\n // Converts an object tree to nested arrays of strings.\n //\n\n\n function flatten(obj, depth) {\n var result = [],\n typ = _typeof$2(obj),\n prop;\n\n if (depth && typ == 'object') {\n for (prop in obj) {\n try {\n result.push(flatten(obj[prop], depth - 1));\n } catch (e) {}\n }\n }\n\n return result.length ? result : typ == 'string' ? obj : obj + '\\0';\n } //\n // mixkey()\n // Mixes a string seed into a key that is an array of integers, and\n // returns a shortened string seed that is equivalent to the result key.\n //\n\n\n function mixkey(seed, key) {\n var stringseed = seed + '',\n smear,\n j = 0;\n\n while (j < stringseed.length) {\n key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);\n }\n\n return tostring(key);\n } //\n // autoseed()\n // Returns an object for autoseeding, using window.crypto and Node crypto\n // module if available.\n //\n\n\n function autoseed() {\n try {\n if (nodecrypto) {\n return tostring(nodecrypto.randomBytes(width));\n }\n\n var out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date(), global, plugins, global.screen, tostring(pool)];\n }\n } //\n // tostring()\n // Converts an array of charcodes to a string\n //\n\n\n function tostring(a) {\n return String.fromCharCode.apply(0, a);\n } //\n // When seedrandom.js is loaded, we immediately mix a few bits\n // from the built-in RNG into the entropy pool. Because we do\n // not want to interfere with deterministic PRNG state later,\n // seedrandom will not call math.random on its own again after\n // initialization.\n //\n\n\n mixkey(math.random(), pool); //\n // Nodejs and AMD support: export the implementation as a module using\n // either convention.\n //\n // End anonymous scope, and pass initial values.\n }\n\n ;\n\n function initialize$2(BMMath) {\n seedRandom([], BMMath);\n }\n\n var propTypes = {\n SHAPE: 'shape'\n };\n\n function _typeof$1(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$1 = function _typeof(obj) { return typeof obj; }; } else { _typeof$1 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$1(obj); }\n\n var ExpressionManager = function () {\n 'use strict';\n\n var ob = {};\n var Math = BMMath;\n var window = null;\n var document = null;\n var XMLHttpRequest = null;\n var fetch = null;\n var frames = null;\n var _lottieGlobal = {};\n initialize$2(BMMath);\n\n function resetFrame() {\n _lottieGlobal = {};\n }\n\n function $bm_isInstanceOfArray(arr) {\n return arr.constructor === Array || arr.constructor === Float32Array;\n }\n\n function isNumerable(tOfV, v) {\n return tOfV === 'number' || v instanceof Number || tOfV === 'boolean' || tOfV === 'string';\n }\n\n function $bm_neg(a) {\n var tOfA = _typeof$1(a);\n\n if (tOfA === 'number' || a instanceof Number || tOfA === 'boolean') {\n return -a;\n }\n\n if ($bm_isInstanceOfArray(a)) {\n var i;\n var lenA = a.length;\n var retArr = [];\n\n for (i = 0; i < lenA; i += 1) {\n retArr[i] = -a[i];\n }\n\n return retArr;\n }\n\n if (a.propType) {\n return a.v;\n }\n\n return -a;\n }\n\n var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, 'easeIn').get;\n var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, 'easeOut').get;\n var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, 'easeInOut').get;\n\n function sum(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b) || tOfA === 'string' || tOfB === 'string') {\n return a + b;\n }\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] += b;\n return a;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a + b[0];\n return b;\n }\n\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0;\n var lenA = a.length;\n var lenB = b.length;\n var retArr = [];\n\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] + b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n\n i += 1;\n }\n\n return retArr;\n }\n\n return 0;\n }\n\n var add = sum;\n\n function sub(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n if (tOfA === 'string') {\n a = parseInt(a, 10);\n }\n\n if (tOfB === 'string') {\n b = parseInt(b, 10);\n }\n\n return a - b;\n }\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] -= b;\n return a;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a - b[0];\n return b;\n }\n\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0;\n var lenA = a.length;\n var lenB = b.length;\n var retArr = [];\n\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] - b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n\n i += 1;\n }\n\n return retArr;\n }\n\n return 0;\n }\n\n function mul(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n var arr;\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a * b;\n }\n\n var i;\n var len;\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] * b;\n }\n\n return arr;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a * b[i];\n }\n\n return arr;\n }\n\n return 0;\n }\n\n function div(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n var arr;\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a / b;\n }\n\n var i;\n var len;\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] / b;\n }\n\n return arr;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a / b[i];\n }\n\n return arr;\n }\n\n return 0;\n }\n\n function mod(a, b) {\n if (typeof a === 'string') {\n a = parseInt(a, 10);\n }\n\n if (typeof b === 'string') {\n b = parseInt(b, 10);\n }\n\n return a % b;\n }\n\n var $bm_sum = sum;\n var $bm_sub = sub;\n var $bm_mul = mul;\n var $bm_div = div;\n var $bm_mod = mod;\n\n function clamp(num, min, max) {\n if (min > max) {\n var mm = max;\n max = min;\n min = mm;\n }\n\n return Math.min(Math.max(num, min), max);\n }\n\n function radiansToDegrees(val) {\n return val / degToRads;\n }\n\n var radians_to_degrees = radiansToDegrees;\n\n function degreesToRadians(val) {\n return val * degToRads;\n }\n\n var degrees_to_radians = radiansToDegrees;\n var helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n function length(arr1, arr2) {\n if (typeof arr1 === 'number' || arr1 instanceof Number) {\n arr2 = arr2 || 0;\n return Math.abs(arr1 - arr2);\n }\n\n if (!arr2) {\n arr2 = helperLengthArray;\n }\n\n var i;\n var len = Math.min(arr1.length, arr2.length);\n var addedLength = 0;\n\n for (i = 0; i < len; i += 1) {\n addedLength += Math.pow(arr2[i] - arr1[i], 2);\n }\n\n return Math.sqrt(addedLength);\n }\n\n function normalize(vec) {\n return div(vec, length(vec));\n }\n\n function rgbToHsl(val) {\n var r = val[0];\n var g = val[1];\n var b = val[2];\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h;\n var s;\n var l = (max + min) / 2;\n\n if (max === min) {\n h = 0; // achromatic\n\n s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n\n case g:\n h = (b - r) / d + 2;\n break;\n\n case b:\n h = (r - g) / d + 4;\n break;\n\n default:\n break;\n }\n\n h /= 6;\n }\n\n return [h, s, l, val[3]];\n }\n\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n\n function hslToRgb(val) {\n var h = val[0];\n var s = val[1];\n var l = val[2];\n var r;\n var g;\n var b;\n\n if (s === 0) {\n r = l; // achromatic\n\n b = l; // achromatic\n\n g = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return [r, g, b, val[3]];\n }\n\n function linear(t, tMin, tMax, value1, value2) {\n if (value1 === undefined || value2 === undefined) {\n value1 = tMin;\n value2 = tMax;\n tMin = 0;\n tMax = 1;\n }\n\n if (tMax < tMin) {\n var _tMin = tMax;\n tMax = tMin;\n tMin = _tMin;\n }\n\n if (t <= tMin) {\n return value1;\n }\n\n if (t >= tMax) {\n return value2;\n }\n\n var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\n\n if (!value1.length) {\n return value1 + (value2 - value1) * perc;\n }\n\n var i;\n var len = value1.length;\n var arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\n }\n\n return arr;\n }\n\n function random(min, max) {\n if (max === undefined) {\n if (min === undefined) {\n min = 0;\n max = 1;\n } else {\n max = min;\n min = undefined;\n }\n }\n\n if (max.length) {\n var i;\n var len = max.length;\n\n if (!min) {\n min = createTypedArray('float32', len);\n }\n\n var arr = createTypedArray('float32', len);\n var rnd = BMMath.random();\n\n for (i = 0; i < len; i += 1) {\n arr[i] = min[i] + rnd * (max[i] - min[i]);\n }\n\n return arr;\n }\n\n if (min === undefined) {\n min = 0;\n }\n\n var rndm = BMMath.random();\n return min + rndm * (max - min);\n }\n\n function createPath(points, inTangents, outTangents, closed) {\n var i;\n var len = points.length;\n var path = shapePool.newElement();\n path.setPathData(!!closed, len);\n var arrPlaceholder = [0, 0];\n var inVertexPoint;\n var outVertexPoint;\n\n for (i = 0; i < len; i += 1) {\n inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;\n outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;\n path.setTripleAt(points[i][0], points[i][1], outVertexPoint[0] + points[i][0], outVertexPoint[1] + points[i][1], inVertexPoint[0] + points[i][0], inVertexPoint[1] + points[i][1], i, true);\n }\n\n return path;\n }\n\n function initiateExpression(elem, data, property) {\n // Bail out if we don't want expressions\n function noOp(_value) {\n return _value;\n }\n\n if (!elem.globalData.renderConfig.runExpressions) {\n return noOp;\n }\n\n var val = data.x;\n var needsVelocity = /velocity(?![\\w\\d])/.test(val);\n\n var _needsRandom = val.indexOf('random') !== -1;\n\n var elemType = elem.data.ty;\n var transform;\n var $bm_transform;\n var content;\n var effect;\n var thisProperty = property;\n thisProperty.valueAtTime = thisProperty.getValueAtTime;\n Object.defineProperty(thisProperty, 'value', {\n get: function get() {\n return thisProperty.v;\n }\n });\n elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\n elem.comp.displayStartTime = 0;\n var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n var outPoint = elem.data.op / elem.comp.globalData.frameRate;\n var width = elem.data.sw ? elem.data.sw : 0;\n var height = elem.data.sh ? elem.data.sh : 0;\n var name = elem.data.nm;\n var loopIn;\n var loop_in;\n var loopOut;\n var loop_out;\n var smooth;\n var toWorld;\n var fromWorld;\n var fromComp;\n var toComp;\n var fromCompToSurface;\n var position;\n var rotation;\n var anchorPoint;\n var scale;\n var thisLayer;\n var thisComp;\n var mask;\n var valueAtTime;\n var velocityAtTime;\n var scoped_bm_rt; // val = val.replace(/(\\\\?\"|')((http)(s)?(:\\/))?\\/.*?(\\\\?\"|')/g, \"\\\"\\\"\"); // deter potential network calls\n\n var expression_function = eval('[function _expression_function(){' + val + ';scoped_bm_rt=$bm_rt}]')[0]; // eslint-disable-line no-eval\n\n var numKeys = property.kf ? data.k.length : 0;\n var active = !this.data || this.data.hd !== true;\n\n var wiggle = function wiggle(freq, amp) {\n var iWiggle;\n var j;\n var lenWiggle = this.pv.length ? this.pv.length : 1;\n var addedAmps = createTypedArray('float32', lenWiggle);\n freq = 5;\n var iterations = Math.floor(time * freq);\n iWiggle = 0;\n j = 0;\n\n while (iWiggle < iterations) {\n // var rnd = BMMath.random();\n for (j = 0; j < lenWiggle; j += 1) {\n addedAmps[j] += -amp + amp * 2 * BMMath.random(); // addedAmps[j] += -amp + amp*2*rnd;\n }\n\n iWiggle += 1;\n } // var rnd2 = BMMath.random();\n\n\n var periods = time * freq;\n var perc = periods - Math.floor(periods);\n var arr = createTypedArray('float32', lenWiggle);\n\n if (lenWiggle > 1) {\n for (j = 0; j < lenWiggle; j += 1) {\n arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc; // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\n // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\n }\n\n return arr;\n }\n\n return this.pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n }.bind(this);\n\n if (thisProperty.loopIn) {\n loopIn = thisProperty.loopIn.bind(thisProperty);\n loop_in = loopIn;\n }\n\n if (thisProperty.loopOut) {\n loopOut = thisProperty.loopOut.bind(thisProperty);\n loop_out = loopOut;\n }\n\n if (thisProperty.smooth) {\n smooth = thisProperty.smooth.bind(thisProperty);\n }\n\n function loopInDuration(type, duration) {\n return loopIn(type, duration, true);\n }\n\n function loopOutDuration(type, duration) {\n return loopOut(type, duration, true);\n }\n\n if (this.getValueAtTime) {\n valueAtTime = this.getValueAtTime.bind(this);\n }\n\n if (this.getVelocityAtTime) {\n velocityAtTime = this.getVelocityAtTime.bind(this);\n }\n\n var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n\n function lookAt(elem1, elem2) {\n var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\n var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\n var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\n return [yaw, pitch, 0];\n }\n\n function easeOut(t, tMin, tMax, val1, val2) {\n return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\n }\n\n function easeIn(t, tMin, tMax, val1, val2) {\n return applyEase(easeInBez, t, tMin, tMax, val1, val2);\n }\n\n function ease(t, tMin, tMax, val1, val2) {\n return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\n }\n\n function applyEase(fn, t, tMin, tMax, val1, val2) {\n if (val1 === undefined) {\n val1 = tMin;\n val2 = tMax;\n } else {\n t = (t - tMin) / (tMax - tMin);\n }\n\n if (t > 1) {\n t = 1;\n } else if (t < 0) {\n t = 0;\n }\n\n var mult = fn(t);\n\n if ($bm_isInstanceOfArray(val1)) {\n var iKey;\n var lenKey = val1.length;\n var arr = createTypedArray('float32', lenKey);\n\n for (iKey = 0; iKey < lenKey; iKey += 1) {\n arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\n }\n\n return arr;\n }\n\n return (val2 - val1) * mult + val1;\n }\n\n function nearestKey(time) {\n var iKey;\n var lenKey = data.k.length;\n var index;\n var keyTime;\n\n if (!data.k.length || typeof data.k[0] === 'number') {\n index = 0;\n keyTime = 0;\n } else {\n index = -1;\n time *= elem.comp.globalData.frameRate;\n\n if (time < data.k[0].t) {\n index = 1;\n keyTime = data.k[0].t;\n } else {\n for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\n if (time === data.k[iKey].t) {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n break;\n } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\n if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\n index = iKey + 2;\n keyTime = data.k[iKey + 1].t;\n } else {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n }\n\n break;\n }\n }\n\n if (index === -1) {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n }\n }\n }\n\n var obKey = {};\n obKey.index = index;\n obKey.time = keyTime / elem.comp.globalData.frameRate;\n return obKey;\n }\n\n function key(ind) {\n var obKey;\n var iKey;\n var lenKey;\n\n if (!data.k.length || typeof data.k[0] === 'number') {\n throw new Error('The property has no keyframe at index ' + ind);\n }\n\n ind -= 1;\n obKey = {\n time: data.k[ind].t / elem.comp.globalData.frameRate,\n value: []\n };\n var arr = Object.prototype.hasOwnProperty.call(data.k[ind], 's') ? data.k[ind].s : data.k[ind - 1].e;\n lenKey = arr.length;\n\n for (iKey = 0; iKey < lenKey; iKey += 1) {\n obKey[iKey] = arr[iKey];\n obKey.value[iKey] = arr[iKey];\n }\n\n return obKey;\n }\n\n function framesToTime(fr, fps) {\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n\n return fr / fps;\n }\n\n function timeToFrames(t, fps) {\n if (!t && t !== 0) {\n t = time;\n }\n\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n\n return t * fps;\n }\n\n function seedRandom(seed) {\n BMMath.seedrandom(randSeed + seed);\n }\n\n function sourceRectAtTime() {\n return elem.sourceRectAtTime();\n }\n\n function substring(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substring(init);\n }\n\n return value.substring(init, end);\n }\n\n return '';\n }\n\n function substr(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substr(init);\n }\n\n return value.substr(init, end);\n }\n\n return '';\n }\n\n function posterizeTime(framesPerSecond) {\n time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\n value = valueAtTime(time);\n }\n\n var time;\n var velocity;\n var value;\n var text;\n var textIndex;\n var textTotal;\n var selectorValue;\n var index = elem.data.ind;\n var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n var parent;\n var randSeed = Math.floor(Math.random() * 1000000);\n var globalData = elem.globalData;\n\n function executeExpression(_value) {\n // globalData.pushExpression();\n value = _value;\n\n if (this.frameExpressionId === elem.globalData.frameId && this.propType !== 'textSelector') {\n return value;\n }\n\n if (this.propType === 'textSelector') {\n textIndex = this.textIndex;\n textTotal = this.textTotal;\n selectorValue = this.selectorValue;\n }\n\n if (!thisLayer) {\n text = elem.layerInterface.text;\n thisLayer = elem.layerInterface;\n thisComp = elem.comp.compInterface;\n toWorld = thisLayer.toWorld.bind(thisLayer);\n fromWorld = thisLayer.fromWorld.bind(thisLayer);\n fromComp = thisLayer.fromComp.bind(thisLayer);\n toComp = thisLayer.toComp.bind(thisLayer);\n mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\n fromCompToSurface = fromComp;\n }\n\n if (!transform) {\n transform = elem.layerInterface('ADBE Transform Group');\n $bm_transform = transform;\n\n if (transform) {\n anchorPoint = transform.anchorPoint;\n /* position = transform.position;\r\n rotation = transform.rotation;\r\n scale = transform.scale; */\n }\n }\n\n if (elemType === 4 && !content) {\n content = thisLayer('ADBE Root Vectors Group');\n }\n\n if (!effect) {\n effect = thisLayer(4);\n }\n\n hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n\n if (hasParent && !parent) {\n parent = elem.hierarchy[0].layerInterface;\n }\n\n time = this.comp.renderedFrame / this.comp.globalData.frameRate;\n\n if (_needsRandom) {\n seedRandom(randSeed + time);\n }\n\n if (needsVelocity) {\n velocity = velocityAtTime(time);\n }\n\n expression_function();\n this.frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value\n // Changed this to a ternary operation because Rollup failed compiling it correctly\n\n scoped_bm_rt = scoped_bm_rt.propType === propTypes.SHAPE ? scoped_bm_rt.v : scoped_bm_rt;\n return scoped_bm_rt;\n } // Bundlers will see these as dead code and unless we reference them\n\n\n executeExpression.__preventDeadCodeRemoval = [$bm_transform, anchorPoint, time, velocity, inPoint, outPoint, width, height, name, loop_in, loop_out, smooth, toComp, fromCompToSurface, toWorld, fromWorld, mask, position, rotation, scale, thisComp, numKeys, active, wiggle, loopInDuration, loopOutDuration, comp, lookAt, easeOut, easeIn, ease, nearestKey, key, text, textIndex, textTotal, selectorValue, framesToTime, timeToFrames, sourceRectAtTime, substring, substr, posterizeTime, index, globalData];\n return executeExpression;\n }\n\n ob.initiateExpression = initiateExpression;\n ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal];\n ob.resetFrame = resetFrame;\n return ob;\n }();\n\n var Expressions = function () {\n var ob = {};\n ob.initExpressions = initExpressions;\n ob.resetFrame = ExpressionManager.resetFrame;\n\n function initExpressions(animation) {\n var stackCount = 0;\n var registers = [];\n\n function pushExpression() {\n stackCount += 1;\n }\n\n function popExpression() {\n stackCount -= 1;\n\n if (stackCount === 0) {\n releaseInstances();\n }\n }\n\n function registerExpressionProperty(expression) {\n if (registers.indexOf(expression) === -1) {\n registers.push(expression);\n }\n }\n\n function releaseInstances() {\n var i;\n var len = registers.length;\n\n for (i = 0; i < len; i += 1) {\n registers[i].release();\n }\n\n registers.length = 0;\n }\n\n animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\n animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\n animation.renderer.globalData.pushExpression = pushExpression;\n animation.renderer.globalData.popExpression = popExpression;\n animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\n }\n\n return ob;\n }();\n\n var MaskManagerInterface = function () {\n function MaskInterface(mask, data) {\n this._mask = mask;\n this._data = data;\n }\n\n Object.defineProperty(MaskInterface.prototype, 'maskPath', {\n get: function get() {\n if (this._mask.prop.k) {\n this._mask.prop.getValue();\n }\n\n return this._mask.prop;\n }\n });\n Object.defineProperty(MaskInterface.prototype, 'maskOpacity', {\n get: function get() {\n if (this._mask.op.k) {\n this._mask.op.getValue();\n }\n\n return this._mask.op.v * 100;\n }\n });\n\n var MaskManager = function MaskManager(maskManager) {\n var _masksInterfaces = createSizedArray(maskManager.viewData.length);\n\n var i;\n var len = maskManager.viewData.length;\n\n for (i = 0; i < len; i += 1) {\n _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\n }\n\n var maskFunction = function maskFunction(name) {\n i = 0;\n\n while (i < len) {\n if (maskManager.masksProperties[i].nm === name) {\n return _masksInterfaces[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n return maskFunction;\n };\n\n return MaskManager;\n }();\n\n var ExpressionPropertyInterface = function () {\n var defaultUnidimensionalValue = {\n pv: 0,\n v: 0,\n mult: 1\n };\n var defaultMultidimensionalValue = {\n pv: [0, 0, 0],\n v: [0, 0, 0],\n mult: 1\n };\n\n function completeProperty(expressionValue, property, type) {\n Object.defineProperty(expressionValue, 'velocity', {\n get: function get() {\n return property.getVelocityAtTime(property.comp.currentFrame);\n }\n });\n expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\n\n expressionValue.key = function (pos) {\n if (!expressionValue.numKeys) {\n return 0;\n }\n\n var value = '';\n\n if ('s' in property.keyframes[pos - 1]) {\n value = property.keyframes[pos - 1].s;\n } else if ('e' in property.keyframes[pos - 2]) {\n value = property.keyframes[pos - 2].e;\n } else {\n value = property.keyframes[pos - 2].s;\n }\n\n var valueProp = type === 'unidimensional' ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\n\n valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\n valueProp.value = type === 'unidimensional' ? value[0] : value;\n return valueProp;\n };\n\n expressionValue.valueAtTime = property.getValueAtTime;\n expressionValue.speedAtTime = property.getSpeedAtTime;\n expressionValue.velocityAtTime = property.getVelocityAtTime;\n expressionValue.propertyGroup = property.propertyGroup;\n }\n\n function UnidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultUnidimensionalValue;\n }\n\n var mult = 1 / property.mult;\n var val = property.pv * mult;\n var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n\n val = property.v * mult;\n\n if (expressionValue.value !== val) {\n expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n }\n\n return expressionValue;\n };\n }\n\n function MultidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultMultidimensionalValue;\n }\n\n var mult = 1 / property.mult;\n var len = property.data && property.data.l || property.pv.length;\n var expressionValue = createTypedArray('float32', len);\n var arrValue = createTypedArray('float32', len);\n expressionValue.value = arrValue;\n completeProperty(expressionValue, property, 'multidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n\n for (var i = 0; i < len; i += 1) {\n arrValue[i] = property.v[i] * mult;\n expressionValue[i] = arrValue[i];\n }\n\n return expressionValue;\n };\n } // TODO: try to avoid using this getter\n\n\n function defaultGetter() {\n return defaultUnidimensionalValue;\n }\n\n return function (property) {\n if (!property) {\n return defaultGetter;\n }\n\n if (property.propType === 'unidimensional') {\n return UnidimensionalPropertyInterface(property);\n }\n\n return MultidimensionalPropertyInterface(property);\n };\n }();\n\n var TransformExpressionInterface = function () {\n return function (transform) {\n function _thisFunction(name) {\n switch (name) {\n case 'scale':\n case 'Scale':\n case 'ADBE Scale':\n case 6:\n return _thisFunction.scale;\n\n case 'rotation':\n case 'Rotation':\n case 'ADBE Rotation':\n case 'ADBE Rotate Z':\n case 10:\n return _thisFunction.rotation;\n\n case 'ADBE Rotate X':\n return _thisFunction.xRotation;\n\n case 'ADBE Rotate Y':\n return _thisFunction.yRotation;\n\n case 'position':\n case 'Position':\n case 'ADBE Position':\n case 2:\n return _thisFunction.position;\n\n case 'ADBE Position_0':\n return _thisFunction.xPosition;\n\n case 'ADBE Position_1':\n return _thisFunction.yPosition;\n\n case 'ADBE Position_2':\n return _thisFunction.zPosition;\n\n case 'anchorPoint':\n case 'AnchorPoint':\n case 'Anchor Point':\n case 'ADBE AnchorPoint':\n case 1:\n return _thisFunction.anchorPoint;\n\n case 'opacity':\n case 'Opacity':\n case 11:\n return _thisFunction.opacity;\n\n default:\n return null;\n }\n }\n\n Object.defineProperty(_thisFunction, 'rotation', {\n get: ExpressionPropertyInterface(transform.r || transform.rz)\n });\n Object.defineProperty(_thisFunction, 'zRotation', {\n get: ExpressionPropertyInterface(transform.rz || transform.r)\n });\n Object.defineProperty(_thisFunction, 'xRotation', {\n get: ExpressionPropertyInterface(transform.rx)\n });\n Object.defineProperty(_thisFunction, 'yRotation', {\n get: ExpressionPropertyInterface(transform.ry)\n });\n Object.defineProperty(_thisFunction, 'scale', {\n get: ExpressionPropertyInterface(transform.s)\n });\n\n var _px;\n\n var _py;\n\n var _pz;\n\n var _transformFactory;\n\n if (transform.p) {\n _transformFactory = ExpressionPropertyInterface(transform.p);\n } else {\n _px = ExpressionPropertyInterface(transform.px);\n _py = ExpressionPropertyInterface(transform.py);\n\n if (transform.pz) {\n _pz = ExpressionPropertyInterface(transform.pz);\n }\n }\n\n Object.defineProperty(_thisFunction, 'position', {\n get: function get() {\n if (transform.p) {\n return _transformFactory();\n }\n\n return [_px(), _py(), _pz ? _pz() : 0];\n }\n });\n Object.defineProperty(_thisFunction, 'xPosition', {\n get: ExpressionPropertyInterface(transform.px)\n });\n Object.defineProperty(_thisFunction, 'yPosition', {\n get: ExpressionPropertyInterface(transform.py)\n });\n Object.defineProperty(_thisFunction, 'zPosition', {\n get: ExpressionPropertyInterface(transform.pz)\n });\n Object.defineProperty(_thisFunction, 'anchorPoint', {\n get: ExpressionPropertyInterface(transform.a)\n });\n Object.defineProperty(_thisFunction, 'opacity', {\n get: ExpressionPropertyInterface(transform.o)\n });\n Object.defineProperty(_thisFunction, 'skew', {\n get: ExpressionPropertyInterface(transform.sk)\n });\n Object.defineProperty(_thisFunction, 'skewAxis', {\n get: ExpressionPropertyInterface(transform.sa)\n });\n Object.defineProperty(_thisFunction, 'orientation', {\n get: ExpressionPropertyInterface(transform.or)\n });\n return _thisFunction;\n };\n }();\n\n var LayerExpressionInterface = function () {\n function getMatrix(time) {\n var toWorldMat = new Matrix();\n\n if (time !== undefined) {\n var propMatrix = this._elem.finalTransform.mProp.getValueAtTime(time);\n\n propMatrix.clone(toWorldMat);\n } else {\n var transformMat = this._elem.finalTransform.mProp;\n transformMat.applyToMatrix(toWorldMat);\n }\n\n return toWorldMat;\n }\n\n function toWorldVec(arr, time) {\n var toWorldMat = this.getMatrix(time);\n toWorldMat.props[12] = 0;\n toWorldMat.props[13] = 0;\n toWorldMat.props[14] = 0;\n return this.applyPoint(toWorldMat, arr);\n }\n\n function toWorld(arr, time) {\n var toWorldMat = this.getMatrix(time);\n return this.applyPoint(toWorldMat, arr);\n }\n\n function fromWorldVec(arr, time) {\n var toWorldMat = this.getMatrix(time);\n toWorldMat.props[12] = 0;\n toWorldMat.props[13] = 0;\n toWorldMat.props[14] = 0;\n return this.invertPoint(toWorldMat, arr);\n }\n\n function fromWorld(arr, time) {\n var toWorldMat = this.getMatrix(time);\n return this.invertPoint(toWorldMat, arr);\n }\n\n function applyPoint(matrix, arr) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n }\n }\n\n return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n }\n\n function invertPoint(matrix, arr) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n }\n }\n\n return matrix.inversePoint(arr);\n }\n\n function fromComp(arr) {\n var toWorldMat = new Matrix();\n toWorldMat.reset();\n\n this._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n }\n\n return toWorldMat.inversePoint(arr);\n }\n\n return toWorldMat.inversePoint(arr);\n }\n\n function sampleImage() {\n return [1, 1, 1, 1];\n }\n\n return function (elem) {\n var transformInterface;\n\n function _registerMaskInterface(maskManager) {\n _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\n }\n\n function _registerEffectsInterface(effects) {\n _thisLayerFunction.effect = effects;\n }\n\n function _thisLayerFunction(name) {\n switch (name) {\n case 'ADBE Root Vectors Group':\n case 'Contents':\n case 2:\n return _thisLayerFunction.shapeInterface;\n\n case 1:\n case 6:\n case 'Transform':\n case 'transform':\n case 'ADBE Transform Group':\n return transformInterface;\n\n case 4:\n case 'ADBE Effect Parade':\n case 'effects':\n case 'Effects':\n return _thisLayerFunction.effect;\n\n case 'ADBE Text Properties':\n return _thisLayerFunction.textInterface;\n\n default:\n return null;\n }\n }\n\n _thisLayerFunction.getMatrix = getMatrix;\n _thisLayerFunction.invertPoint = invertPoint;\n _thisLayerFunction.applyPoint = applyPoint;\n _thisLayerFunction.toWorld = toWorld;\n _thisLayerFunction.toWorldVec = toWorldVec;\n _thisLayerFunction.fromWorld = fromWorld;\n _thisLayerFunction.fromWorldVec = fromWorldVec;\n _thisLayerFunction.toComp = toWorld;\n _thisLayerFunction.fromComp = fromComp;\n _thisLayerFunction.sampleImage = sampleImage;\n _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\n _thisLayerFunction._elem = elem;\n transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\n var anchorPointDescriptor = getDescriptor(transformInterface, 'anchorPoint');\n Object.defineProperties(_thisLayerFunction, {\n hasParent: {\n get: function get() {\n return elem.hierarchy.length;\n }\n },\n parent: {\n get: function get() {\n return elem.hierarchy[0].layerInterface;\n }\n },\n rotation: getDescriptor(transformInterface, 'rotation'),\n scale: getDescriptor(transformInterface, 'scale'),\n position: getDescriptor(transformInterface, 'position'),\n opacity: getDescriptor(transformInterface, 'opacity'),\n anchorPoint: anchorPointDescriptor,\n anchor_point: anchorPointDescriptor,\n transform: {\n get: function get() {\n return transformInterface;\n }\n },\n active: {\n get: function get() {\n return elem.isInRange;\n }\n }\n });\n _thisLayerFunction.startTime = elem.data.st;\n _thisLayerFunction.index = elem.data.ind;\n _thisLayerFunction.source = elem.data.refId;\n _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\n _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\n _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\n _thisLayerFunction._name = elem.data.nm;\n _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\n _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\n return _thisLayerFunction;\n };\n }();\n\n var propertyGroupFactory = function () {\n return function (interfaceFunction, parentPropertyGroup) {\n return function (val) {\n val = val === undefined ? 1 : val;\n\n if (val <= 0) {\n return interfaceFunction;\n }\n\n return parentPropertyGroup(val - 1);\n };\n };\n }();\n\n var PropertyInterface = function () {\n return function (propertyName, propertyGroup) {\n var interfaceFunction = {\n _name: propertyName\n };\n\n function _propertyGroup(val) {\n val = val === undefined ? 1 : val;\n\n if (val <= 0) {\n return interfaceFunction;\n }\n\n return propertyGroup(val - 1);\n }\n\n return _propertyGroup;\n };\n }();\n\n var EffectsExpressionInterface = function () {\n var ob = {\n createEffectsInterface: createEffectsInterface\n };\n\n function createEffectsInterface(elem, propertyGroup) {\n if (elem.effectsManager) {\n var effectElements = [];\n var effectsData = elem.data.ef;\n var i;\n var len = elem.effectsManager.effectElements.length;\n\n for (i = 0; i < len; i += 1) {\n effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\n }\n\n var effects = elem.data.ef || [];\n\n var groupInterface = function groupInterface(name) {\n i = 0;\n len = effects.length;\n\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n return effectElements[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n Object.defineProperty(groupInterface, 'numProperties', {\n get: function get() {\n return effects.length;\n }\n });\n return groupInterface;\n }\n\n return null;\n }\n\n function createGroupInterface(data, elements, propertyGroup, elem) {\n function groupInterface(name) {\n var effects = data.ef;\n var i = 0;\n var len = effects.length;\n\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n if (effects[i].ty === 5) {\n return effectElements[i];\n }\n\n return effectElements[i]();\n }\n\n i += 1;\n }\n\n throw new Error();\n }\n\n var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\n\n var effectElements = [];\n var i;\n var len = data.ef.length;\n\n for (i = 0; i < len; i += 1) {\n if (data.ef[i].ty === 5) {\n effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\n } else {\n effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\n }\n }\n\n if (data.mn === 'ADBE Color Control') {\n Object.defineProperty(groupInterface, 'color', {\n get: function get() {\n return effectElements[0]();\n }\n });\n }\n\n Object.defineProperties(groupInterface, {\n numProperties: {\n get: function get() {\n return data.np;\n }\n },\n _name: {\n value: data.nm\n },\n propertyGroup: {\n value: _propertyGroup\n }\n });\n groupInterface.enabled = data.en !== 0;\n groupInterface.active = groupInterface.enabled;\n return groupInterface;\n }\n\n function createValueInterface(element, type, elem, propertyGroup) {\n var expressionProperty = ExpressionPropertyInterface(element.p);\n\n function interfaceFunction() {\n if (type === 10) {\n return elem.comp.compInterface(element.p.v);\n }\n\n return expressionProperty();\n }\n\n if (element.p.setGroupProperty) {\n element.p.setGroupProperty(PropertyInterface('', propertyGroup));\n }\n\n return interfaceFunction;\n }\n\n return ob;\n }();\n\n var ShapePathInterface = function () {\n return function pathInterfaceFactory(shape, view, propertyGroup) {\n var prop = view.sh;\n\n function interfaceFunction(val) {\n if (val === 'Shape' || val === 'shape' || val === 'Path' || val === 'path' || val === 'ADBE Vector Shape' || val === 2) {\n return interfaceFunction.path;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n prop.setGroupProperty(PropertyInterface('Path', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n path: {\n get: function get() {\n if (prop.k) {\n prop.getValue();\n }\n\n return prop;\n }\n },\n shape: {\n get: function get() {\n if (prop.k) {\n prop.getValue();\n }\n\n return prop;\n }\n },\n _name: {\n value: shape.nm\n },\n ix: {\n value: shape.ix\n },\n propertyIndex: {\n value: shape.ix\n },\n mn: {\n value: shape.mn\n },\n propertyGroup: {\n value: propertyGroup\n }\n });\n return interfaceFunction;\n };\n }();\n\n var ShapeExpressionInterface = function () {\n function iterateElements(shapes, view, propertyGroup) {\n var arr = [];\n var i;\n var len = shapes ? shapes.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty === 'gr') {\n arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'fl') {\n arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'st') {\n arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'tm') {\n arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'tr') {// arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\n } else if (shapes[i].ty === 'el') {\n arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'sr') {\n arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'sh') {\n arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rc') {\n arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rd') {\n arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rp') {\n arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'gf') {\n arr.push(gradientFillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else {\n arr.push(defaultInterfaceFactory(shapes[i], view[i], propertyGroup));\n }\n }\n\n return arr;\n }\n\n function contentsInterfaceFactory(shape, view, propertyGroup) {\n var interfaces;\n\n var interfaceFunction = function _interfaceFunction(value) {\n var i = 0;\n var len = interfaces.length;\n\n while (i < len) {\n if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\n return interfaces[i];\n }\n\n i += 1;\n }\n\n if (typeof value === 'number') {\n return interfaces[value - 1];\n }\n\n return null;\n };\n\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\n interfaceFunction.numProperties = interfaces.length;\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.transform = transformInterface;\n interfaceFunction.propertyIndex = shape.cix;\n interfaceFunction._name = shape.nm;\n return interfaceFunction;\n }\n\n function groupInterfaceFactory(shape, view, propertyGroup) {\n var interfaceFunction = function _interfaceFunction(value) {\n switch (value) {\n case 'ADBE Vectors Group':\n case 'Contents':\n case 2:\n return interfaceFunction.content;\n // Not necessary for now. Keeping them here in case a new case appears\n // case 'ADBE Vector Transform Group':\n // case 3:\n\n default:\n return interfaceFunction.transform;\n }\n };\n\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.content = content;\n interfaceFunction.transform = transformInterface;\n Object.defineProperty(interfaceFunction, '_name', {\n get: function get() {\n return shape.nm;\n }\n }); // interfaceFunction.content = interfaceFunction;\n\n interfaceFunction.numProperties = shape.np;\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.nm = shape.nm;\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function fillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n color: {\n get: ExpressionPropertyInterface(view.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n\n function gradientFillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Start Point' || val === 'start point') {\n return interfaceFunction.startPoint;\n }\n\n if (val === 'End Point' || val === 'end point') {\n return interfaceFunction.endPoint;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n startPoint: {\n get: ExpressionPropertyInterface(view.s)\n },\n endPoint: {\n get: ExpressionPropertyInterface(view.e)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n type: {\n get: function get() {\n return 'a';\n }\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.s.setGroupProperty(PropertyInterface('Start Point', propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End Point', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n\n function defaultInterfaceFactory() {\n function interfaceFunction() {\n return null;\n }\n\n return interfaceFunction;\n }\n\n function strokeInterfaceFactory(shape, view, propertyGroup) {\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\n\n function addPropertyToDashOb(i) {\n Object.defineProperty(dashOb, shape.d[i].nm, {\n get: ExpressionPropertyInterface(view.d.dataProps[i].p)\n });\n }\n\n var i;\n var len = shape.d ? shape.d.length : 0;\n var dashOb = {};\n\n for (i = 0; i < len; i += 1) {\n addPropertyToDashOb(i);\n view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\n }\n\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n if (val === 'Stroke Width' || val === 'stroke width') {\n return interfaceFunction.strokeWidth;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n color: {\n get: ExpressionPropertyInterface(view.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n strokeWidth: {\n get: ExpressionPropertyInterface(view.w)\n },\n dash: {\n get: function get() {\n return dashOb;\n }\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.w.setGroupProperty(PropertyInterface('Stroke Width', _propertyGroup));\n return interfaceFunction;\n }\n\n function trimInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === shape.e.ix || val === 'End' || val === 'end') {\n return interfaceFunction.end;\n }\n\n if (val === shape.s.ix) {\n return interfaceFunction.start;\n }\n\n if (val === shape.o.ix) {\n return interfaceFunction.offset;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n interfaceFunction.propertyIndex = shape.ix;\n view.s.setGroupProperty(PropertyInterface('Start', _propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.propertyGroup = propertyGroup;\n Object.defineProperties(interfaceFunction, {\n start: {\n get: ExpressionPropertyInterface(view.s)\n },\n end: {\n get: ExpressionPropertyInterface(view.e)\n },\n offset: {\n get: ExpressionPropertyInterface(view.o)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function transformInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.a.ix === value || value === 'Anchor Point') {\n return interfaceFunction.anchorPoint;\n }\n\n if (shape.o.ix === value || value === 'Opacity') {\n return interfaceFunction.opacity;\n }\n\n if (shape.p.ix === value || value === 'Position') {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value || value === 'Rotation' || value === 'ADBE Vector Rotation') {\n return interfaceFunction.rotation;\n }\n\n if (shape.s.ix === value || value === 'Scale') {\n return interfaceFunction.scale;\n }\n\n if (shape.sk && shape.sk.ix === value || value === 'Skew') {\n return interfaceFunction.skew;\n }\n\n if (shape.sa && shape.sa.ix === value || value === 'Skew Axis') {\n return interfaceFunction.skewAxis;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n view.transform.mProps.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.transform.mProps.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n view.transform.mProps.a.setGroupProperty(PropertyInterface('Anchor Point', _propertyGroup));\n view.transform.mProps.s.setGroupProperty(PropertyInterface('Scale', _propertyGroup));\n view.transform.mProps.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n if (view.transform.mProps.sk) {\n view.transform.mProps.sk.setGroupProperty(PropertyInterface('Skew', _propertyGroup));\n view.transform.mProps.sa.setGroupProperty(PropertyInterface('Skew Angle', _propertyGroup));\n }\n\n view.transform.op.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n opacity: {\n get: ExpressionPropertyInterface(view.transform.mProps.o)\n },\n position: {\n get: ExpressionPropertyInterface(view.transform.mProps.p)\n },\n anchorPoint: {\n get: ExpressionPropertyInterface(view.transform.mProps.a)\n },\n scale: {\n get: ExpressionPropertyInterface(view.transform.mProps.s)\n },\n rotation: {\n get: ExpressionPropertyInterface(view.transform.mProps.r)\n },\n skew: {\n get: ExpressionPropertyInterface(view.transform.mProps.sk)\n },\n skewAxis: {\n get: ExpressionPropertyInterface(view.transform.mProps.sa)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.ty = 'tr';\n interfaceFunction.mn = shape.mn;\n interfaceFunction.propertyGroup = propertyGroup;\n return interfaceFunction;\n }\n\n function ellipseInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.s.ix === value) {\n return interfaceFunction.size;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n interfaceFunction.propertyIndex = shape.ix;\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n size: {\n get: ExpressionPropertyInterface(prop.s)\n },\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function starInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value) {\n return interfaceFunction.rotation;\n }\n\n if (shape.pt.ix === value) {\n return interfaceFunction.points;\n }\n\n if (shape.or.ix === value || value === 'ADBE Vector Star Outer Radius') {\n return interfaceFunction.outerRadius;\n }\n\n if (shape.os.ix === value) {\n return interfaceFunction.outerRoundness;\n }\n\n if (shape.ir && (shape.ir.ix === value || value === 'ADBE Vector Star Inner Radius')) {\n return interfaceFunction.innerRadius;\n }\n\n if (shape.is && shape.is.ix === value) {\n return interfaceFunction.innerRoundness;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.or.setGroupProperty(PropertyInterface('Outer Radius', _propertyGroup));\n prop.os.setGroupProperty(PropertyInterface('Outer Roundness', _propertyGroup));\n prop.pt.setGroupProperty(PropertyInterface('Points', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n if (shape.ir) {\n prop.ir.setGroupProperty(PropertyInterface('Inner Radius', _propertyGroup));\n prop.is.setGroupProperty(PropertyInterface('Inner Roundness', _propertyGroup));\n }\n\n Object.defineProperties(interfaceFunction, {\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n rotation: {\n get: ExpressionPropertyInterface(prop.r)\n },\n points: {\n get: ExpressionPropertyInterface(prop.pt)\n },\n outerRadius: {\n get: ExpressionPropertyInterface(prop.or)\n },\n outerRoundness: {\n get: ExpressionPropertyInterface(prop.os)\n },\n innerRadius: {\n get: ExpressionPropertyInterface(prop.ir)\n },\n innerRoundness: {\n get: ExpressionPropertyInterface(prop.is)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function rectInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value) {\n return interfaceFunction.roundness;\n }\n\n if (shape.s.ix === value || value === 'Size' || value === 'ADBE Vector Rect Size') {\n return interfaceFunction.size;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n roundness: {\n get: ExpressionPropertyInterface(prop.r)\n },\n size: {\n get: ExpressionPropertyInterface(prop.s)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function roundedInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.r.ix === value || value === 'Round Corners 1') {\n return interfaceFunction.radius;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.rd.setGroupProperty(PropertyInterface('Radius', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n radius: {\n get: ExpressionPropertyInterface(prop.rd)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function repeaterInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.c.ix === value || value === 'Copies') {\n return interfaceFunction.copies;\n }\n\n if (shape.o.ix === value || value === 'Offset') {\n return interfaceFunction.offset;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.c.setGroupProperty(PropertyInterface('Copies', _propertyGroup));\n prop.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n copies: {\n get: ExpressionPropertyInterface(prop.c)\n },\n offset: {\n get: ExpressionPropertyInterface(prop.o)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n return function (shapes, view, propertyGroup) {\n var interfaces;\n\n function _interfaceFunction(value) {\n if (typeof value === 'number') {\n value = value === undefined ? 1 : value;\n\n if (value === 0) {\n return propertyGroup;\n }\n\n return interfaces[value - 1];\n }\n\n var i = 0;\n var len = interfaces.length;\n\n while (i < len) {\n if (interfaces[i]._name === value) {\n return interfaces[i];\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function parentGroupWrapper() {\n return propertyGroup;\n }\n\n _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\n interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\n _interfaceFunction.numProperties = interfaces.length;\n _interfaceFunction._name = 'Contents';\n return _interfaceFunction;\n };\n }();\n\n var TextExpressionInterface = function () {\n return function (elem) {\n var _sourceText;\n\n function _thisLayerFunction(name) {\n switch (name) {\n case 'ADBE Text Document':\n return _thisLayerFunction.sourceText;\n\n default:\n return null;\n }\n }\n\n Object.defineProperty(_thisLayerFunction, 'sourceText', {\n get: function get() {\n elem.textProperty.getValue();\n var stringValue = elem.textProperty.currentData.t;\n\n if (!_sourceText || stringValue !== _sourceText.value) {\n _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\n // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\n\n _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\n\n Object.defineProperty(_sourceText, 'style', {\n get: function get() {\n return {\n fillColor: elem.textProperty.currentData.fc\n };\n }\n });\n }\n\n return _sourceText;\n }\n });\n return _thisLayerFunction;\n };\n }();\n\n function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n var FootageInterface = function () {\n var outlineInterfaceFactory = function outlineInterfaceFactory(elem) {\n var currentPropertyName = '';\n var currentProperty = elem.getFootageData();\n\n function init() {\n currentPropertyName = '';\n currentProperty = elem.getFootageData();\n return searchProperty;\n }\n\n function searchProperty(value) {\n if (currentProperty[value]) {\n currentPropertyName = value;\n currentProperty = currentProperty[value];\n\n if (_typeof(currentProperty) === 'object') {\n return searchProperty;\n }\n\n return currentProperty;\n }\n\n var propertyNameIndex = value.indexOf(currentPropertyName);\n\n if (propertyNameIndex !== -1) {\n var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\n currentProperty = currentProperty[index];\n\n if (_typeof(currentProperty) === 'object') {\n return searchProperty;\n }\n\n return currentProperty;\n }\n\n return '';\n }\n\n return init;\n };\n\n var dataInterfaceFactory = function dataInterfaceFactory(elem) {\n function interfaceFunction(value) {\n if (value === 'Outline') {\n return interfaceFunction.outlineInterface();\n }\n\n return null;\n }\n\n interfaceFunction._name = 'Outline';\n interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\n return interfaceFunction;\n };\n\n return function (elem) {\n function _interfaceFunction(value) {\n if (value === 'Data') {\n return _interfaceFunction.dataInterface;\n }\n\n return null;\n }\n\n _interfaceFunction._name = 'Data';\n _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\n return _interfaceFunction;\n };\n }();\n\n var interfaces = {\n layer: LayerExpressionInterface,\n effects: EffectsExpressionInterface,\n comp: CompExpressionInterface,\n shape: ShapeExpressionInterface,\n text: TextExpressionInterface,\n footage: FootageInterface\n };\n\n function getInterface(type) {\n return interfaces[type] || null;\n }\n\n var expressionHelpers = function () {\n function searchExpressions(elem, data, prop) {\n if (data.x) {\n prop.k = true;\n prop.x = true;\n prop.initiateExpression = ExpressionManager.initiateExpression;\n prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\n }\n }\n\n function getValueAtTime(frameNum) {\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastFrame) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;\n this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);\n this._cachingAtTime.lastFrame = frameNum;\n }\n\n return this._cachingAtTime.value;\n }\n\n function getSpeedAtTime(frameNum) {\n var delta = -0.01;\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var speed = 0;\n\n if (v1.length) {\n var i;\n\n for (i = 0; i < v1.length; i += 1) {\n speed += Math.pow(v2[i] - v1[i], 2);\n }\n\n speed = Math.sqrt(speed) * 100;\n } else {\n speed = 0;\n }\n\n return speed;\n }\n\n function getVelocityAtTime(frameNum) {\n if (this.vel !== undefined) {\n return this.vel;\n }\n\n var delta = -0.001; // frameNum += this.elem.data.st;\n\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var velocity;\n\n if (v1.length) {\n velocity = createTypedArray('float32', v1.length);\n var i;\n\n for (i = 0; i < v1.length; i += 1) {\n // removing frameRate\n // if needed, don't add it here\n // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\n velocity[i] = (v2[i] - v1[i]) / delta;\n }\n } else {\n velocity = (v2 - v1) / delta;\n }\n\n return velocity;\n }\n\n function getStaticValueAtTime() {\n return this.pv;\n }\n\n function setGroupProperty(propertyGroup) {\n this.propertyGroup = propertyGroup;\n }\n\n return {\n searchExpressions: searchExpressions,\n getSpeedAtTime: getSpeedAtTime,\n getVelocityAtTime: getVelocityAtTime,\n getValueAtTime: getValueAtTime,\n getStaticValueAtTime: getStaticValueAtTime,\n setGroupProperty: setGroupProperty\n };\n }();\n\n function addPropertyDecorator() {\n function loopOut(type, duration, durationFlag) {\n if (!this.k || !this.keyframes) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var lastKeyFrame = keyframes[keyframes.length - 1].t;\n\n if (currentFrame <= lastKeyFrame) {\n return this.pv;\n }\n\n var cycleDuration;\n var firstKeyFrame;\n\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n\n firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, lastKeyFrame - this.elem.data.ip);\n } else {\n cycleDuration = Math.abs(lastKeyFrame - this.elem.comp.globalData.frameRate * duration);\n }\n\n firstKeyFrame = lastKeyFrame - cycleDuration;\n }\n\n var i;\n var len;\n var ret;\n\n if (type === 'pingpong') {\n var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n if (iterations % 2 !== 0) {\n return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n\n var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = (endV[i] - initV[i]) * repeats + current[i];\n }\n\n return ret;\n }\n\n return (endV - initV) * repeats + current;\n } else if (type === 'continue') {\n var lastValue = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n ret = new Array(lastValue.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / this.comp.globalData.frameRate) / 0.0005; // eslint-disable-line\n }\n\n return ret;\n }\n\n return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001);\n }\n\n return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function loopIn(type, duration, durationFlag) {\n if (!this.k) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var firstKeyFrame = keyframes[0].t;\n\n if (currentFrame >= firstKeyFrame) {\n return this.pv;\n }\n\n var cycleDuration;\n var lastKeyFrame;\n\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n\n lastKeyFrame = keyframes[duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, this.elem.data.op - firstKeyFrame);\n } else {\n cycleDuration = Math.abs(this.elem.comp.globalData.frameRate * duration);\n }\n\n lastKeyFrame = firstKeyFrame + cycleDuration;\n }\n\n var i;\n var len;\n var ret;\n\n if (type === 'pingpong') {\n var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\n\n if (iterations % 2 === 0) {\n return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);\n var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\n }\n\n return ret;\n }\n\n return current - (endV - initV) * repeats;\n } else if (type === 'continue') {\n var firstValue = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n ret = new Array(firstValue.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001;\n }\n\n return ret;\n }\n\n return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001;\n }\n\n return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function smooth(width, samples) {\n if (!this.k) {\n return this.pv;\n }\n\n width = (width || 0.4) * 0.5;\n samples = Math.floor(samples || 5);\n\n if (samples <= 1) {\n return this.pv;\n }\n\n var currentTime = this.comp.renderedFrame / this.comp.globalData.frameRate;\n var initFrame = currentTime - width;\n var endFrame = currentTime + width;\n var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\n var i = 0;\n var j = 0;\n var value;\n\n if (this.pv.length) {\n value = createTypedArray('float32', this.pv.length);\n } else {\n value = 0;\n }\n\n var sampleValue;\n\n while (i < samples) {\n sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\n\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] += sampleValue[j];\n }\n } else {\n value += sampleValue;\n }\n\n i += 1;\n }\n\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] /= samples;\n }\n } else {\n value /= samples;\n }\n\n return value;\n }\n\n function getTransformValueAtTime(time) {\n if (!this._transformCachingAtTime) {\n this._transformCachingAtTime = {\n v: new Matrix()\n };\n } /// /\n\n\n var matrix = this._transformCachingAtTime.v;\n matrix.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n var anchor = this.a.getValueAtTime(time);\n matrix.translate(-anchor[0] * this.a.mult, -anchor[1] * this.a.mult, anchor[2] * this.a.mult);\n }\n\n if (this.appliedTransformations < 2) {\n var scale = this.s.getValueAtTime(time);\n matrix.scale(scale[0] * this.s.mult, scale[1] * this.s.mult, scale[2] * this.s.mult);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n var skew = this.sk.getValueAtTime(time);\n var skewAxis = this.sa.getValueAtTime(time);\n matrix.skewFromAxis(-skew * this.sk.mult, skewAxis * this.sa.mult);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n var rotation = this.r.getValueAtTime(time);\n matrix.rotate(-rotation * this.r.mult);\n } else if (!this.r && this.appliedTransformations < 4) {\n var rotationZ = this.rz.getValueAtTime(time);\n var rotationY = this.ry.getValueAtTime(time);\n var rotationX = this.rx.getValueAtTime(time);\n var orientation = this.or.getValueAtTime(time);\n matrix.rotateZ(-rotationZ * this.rz.mult).rotateY(rotationY * this.ry.mult).rotateX(rotationX * this.rx.mult).rotateZ(-orientation[2] * this.or.mult).rotateY(orientation[1] * this.or.mult).rotateX(orientation[0] * this.or.mult);\n }\n\n if (this.data.p && this.data.p.s) {\n var positionX = this.px.getValueAtTime(time);\n var positionY = this.py.getValueAtTime(time);\n\n if (this.data.p.z) {\n var positionZ = this.pz.getValueAtTime(time);\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, -positionZ * this.pz.mult);\n } else {\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, 0);\n }\n } else {\n var position = this.p.getValueAtTime(time);\n matrix.translate(position[0] * this.p.mult, position[1] * this.p.mult, -position[2] * this.p.mult);\n }\n\n return matrix; /// /\n }\n\n function getTransformStaticValueAtTime() {\n return this.v.clone(new Matrix());\n }\n\n var getTransformProperty = TransformPropertyFactory.getTransformProperty;\n\n TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\n var prop = getTransformProperty(elem, data, container);\n\n if (prop.dynamicProperties.length) {\n prop.getValueAtTime = getTransformValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\n }\n\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n return prop;\n };\n\n var propertyGetProp = PropertyFactory.getProp;\n\n PropertyFactory.getProp = function (elem, data, type, mult, container) {\n var prop = propertyGetProp(elem, data, type, mult, container); // prop.getVelocityAtTime = getVelocityAtTime;\n // prop.loopOut = loopOut;\n // prop.loopIn = loopIn;\n\n if (prop.kf) {\n prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\n }\n\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n prop.loopOut = loopOut;\n prop.loopIn = loopIn;\n prop.smooth = smooth;\n prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\n prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\n prop.numKeys = data.a === 1 ? data.k.length : 0;\n prop.propertyIndex = data.ix;\n var value = 0;\n\n if (type !== 0) {\n value = createTypedArray('float32', data.a === 1 ? data.k[0].s.length : data.k.length);\n }\n\n prop._cachingAtTime = {\n lastFrame: initialDefaultFrame,\n lastIndex: 0,\n value: value\n };\n expressionHelpers.searchExpressions(elem, data, prop);\n\n if (prop.k) {\n container.addDynamicProperty(prop);\n }\n\n return prop;\n };\n\n function getShapeValueAtTime(frameNum) {\n // For now this caching object is created only when needed instead of creating it when the shape is initialized.\n if (!this._cachingAtTime) {\n this._cachingAtTime = {\n shapeValue: shapePool.clone(this.pv),\n lastIndex: 0,\n lastTime: initialDefaultFrame\n };\n }\n\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastTime) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < frameNum ? this._caching.lastIndex : 0;\n this._cachingAtTime.lastTime = frameNum;\n this.interpolateShape(frameNum, this._cachingAtTime.shapeValue, this._cachingAtTime);\n }\n\n return this._cachingAtTime.shapeValue;\n }\n\n var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\n var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n function ShapeExpressions() {}\n\n ShapeExpressions.prototype = {\n vertices: function vertices(prop, time) {\n if (this.k) {\n this.getValue();\n }\n\n var shapePath = this.v;\n\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n\n var i;\n var len = shapePath._length;\n var vertices = shapePath[prop];\n var points = shapePath.v;\n var arr = createSizedArray(len);\n\n for (i = 0; i < len; i += 1) {\n if (prop === 'i' || prop === 'o') {\n arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\n } else {\n arr[i] = [vertices[i][0], vertices[i][1]];\n }\n }\n\n return arr;\n },\n points: function points(time) {\n return this.vertices('v', time);\n },\n inTangents: function inTangents(time) {\n return this.vertices('i', time);\n },\n outTangents: function outTangents(time) {\n return this.vertices('o', time);\n },\n isClosed: function isClosed() {\n return this.v.c;\n },\n pointOnPath: function pointOnPath(perc, time) {\n var shapePath = this.v;\n\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n\n if (!this._segmentsLength) {\n this._segmentsLength = bez.getSegmentsLength(shapePath);\n }\n\n var segmentsLength = this._segmentsLength;\n var lengths = segmentsLength.lengths;\n var lengthPos = segmentsLength.totalLength * perc;\n var i = 0;\n var len = lengths.length;\n var accumulatedLength = 0;\n var pt;\n\n while (i < len) {\n if (accumulatedLength + lengths[i].addedLength > lengthPos) {\n var initIndex = i;\n var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;\n var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\n pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\n break;\n } else {\n accumulatedLength += lengths[i].addedLength;\n }\n\n i += 1;\n }\n\n if (!pt) {\n pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\n }\n\n return pt;\n },\n vectorOnPath: function vectorOnPath(perc, time, vectorType) {\n // perc doesn't use triple equality because it can be a Number object as well as a primitive.\n if (perc == 1) {\n // eslint-disable-line eqeqeq\n perc = this.v.c;\n } else if (perc == 0) {\n // eslint-disable-line eqeqeq\n perc = 0.999;\n }\n\n var pt1 = this.pointOnPath(perc, time);\n var pt2 = this.pointOnPath(perc + 0.001, time);\n var xLength = pt2[0] - pt1[0];\n var yLength = pt2[1] - pt1[1];\n var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\n\n if (magnitude === 0) {\n return [0, 0];\n }\n\n var unitVector = vectorType === 'tangent' ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\n return unitVector;\n },\n tangentOnPath: function tangentOnPath(perc, time) {\n return this.vectorOnPath(perc, time, 'tangent');\n },\n normalOnPath: function normalOnPath(perc, time) {\n return this.vectorOnPath(perc, time, 'normal');\n },\n setGroupProperty: expressionHelpers.setGroupProperty,\n getValueAtTime: expressionHelpers.getStaticValueAtTime\n };\n extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\n extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\n KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\n KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\n var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\n\n ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\n var prop = propertyGetShapeProp(elem, data, type, arr, trims);\n prop.propertyIndex = data.ix;\n prop.lock = false;\n\n if (type === 3) {\n expressionHelpers.searchExpressions(elem, data.pt, prop);\n } else if (type === 4) {\n expressionHelpers.searchExpressions(elem, data.ks, prop);\n }\n\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n\n return prop;\n };\n }\n\n function initialize$1() {\n addPropertyDecorator();\n }\n\n function addDecorator() {\n function searchExpressions() {\n if (this.data.d.x) {\n this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this);\n this.addEffect(this.getExpressionValue.bind(this));\n return true;\n }\n\n return null;\n }\n\n TextProperty.prototype.getExpressionValue = function (currentValue, text) {\n var newValue = this.calculateExpression(text);\n\n if (currentValue.t !== newValue) {\n var newData = {};\n this.copyData(newData, currentValue);\n newData.t = newValue.toString();\n newData.__complete = false;\n return newData;\n }\n\n return currentValue;\n };\n\n TextProperty.prototype.searchProperty = function () {\n var isKeyframed = this.searchKeyframes();\n var hasExpressions = this.searchExpressions();\n this.kf = isKeyframed || hasExpressions;\n return this.kf;\n };\n\n TextProperty.prototype.searchExpressions = searchExpressions;\n }\n\n function initialize() {\n addDecorator();\n }\n\n function SVGComposableEffect() {}\n\n SVGComposableEffect.prototype = {\n createMergeNode: function createMergeNode(resultId, ins) {\n var feMerge = createNS('feMerge');\n feMerge.setAttribute('result', resultId);\n var feMergeNode;\n var i;\n\n for (i = 0; i < ins.length; i += 1) {\n feMergeNode = createNS('feMergeNode');\n feMergeNode.setAttribute('in', ins[i]);\n feMerge.appendChild(feMergeNode);\n feMerge.appendChild(feMergeNode);\n }\n\n return feMerge;\n }\n };\n\n var linearFilterValue = '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0';\n\n function SVGTintFilter(filter, filterManager, elem, id, source) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.setAttribute('values', linearFilterValue + ' 1 0');\n this.linearFilter = feColorMatrix;\n feColorMatrix.setAttribute('result', id + '_tint_1');\n filter.appendChild(feColorMatrix);\n feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', id + '_tint_2');\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n var feMerge = this.createMergeNode(id, [source, id + '_tint_1', id + '_tint_2']);\n filter.appendChild(feMerge);\n }\n\n extendPrototype([SVGComposableEffect], SVGTintFilter);\n\n SVGTintFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var colorBlack = this.filterManager.effectElements[0].p.v;\n var colorWhite = this.filterManager.effectElements[1].p.v;\n var opacity = this.filterManager.effectElements[2].p.v / 100;\n this.linearFilter.setAttribute('values', linearFilterValue + ' ' + opacity + ' 0');\n this.matrixFilter.setAttribute('values', colorWhite[0] - colorBlack[0] + ' 0 0 0 ' + colorBlack[0] + ' ' + (colorWhite[1] - colorBlack[1]) + ' 0 0 0 ' + colorBlack[1] + ' ' + (colorWhite[2] - colorBlack[2]) + ' 0 0 0 ' + colorBlack[2] + ' 0 0 0 1 0');\n }\n };\n\n function SVGFillFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', id);\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n }\n\n SVGFillFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color = this.filterManager.effectElements[2].p.v;\n var opacity = this.filterManager.effectElements[6].p.v;\n this.matrixFilter.setAttribute('values', '0 0 0 0 ' + color[0] + ' 0 0 0 0 ' + color[1] + ' 0 0 0 0 ' + color[2] + ' 0 0 0 ' + opacity + ' 0');\n }\n };\n\n function SVGStrokeEffect(fil, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.elem = elem;\n this.paths = [];\n }\n\n SVGStrokeEffect.prototype.initialize = function () {\n var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n var path;\n var groupPath;\n var i;\n var len;\n\n if (this.filterManager.effectElements[1].p.v === 1) {\n len = this.elem.maskManager.masksProperties.length;\n i = 0;\n } else {\n i = this.filterManager.effectElements[0].p.v - 1;\n len = i + 1;\n }\n\n groupPath = createNS('g');\n groupPath.setAttribute('fill', 'none');\n groupPath.setAttribute('stroke-linecap', 'round');\n groupPath.setAttribute('stroke-dashoffset', 1);\n\n for (i; i < len; i += 1) {\n path = createNS('path');\n groupPath.appendChild(path);\n this.paths.push({\n p: path,\n m: i\n });\n }\n\n if (this.filterManager.effectElements[10].p.v === 3) {\n var mask = createNS('mask');\n var id = createElementID();\n mask.setAttribute('id', id);\n mask.setAttribute('mask-type', 'alpha');\n mask.appendChild(groupPath);\n this.elem.globalData.defs.appendChild(mask);\n var g = createNS('g');\n g.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n\n while (elemChildren[0]) {\n g.appendChild(elemChildren[0]);\n }\n\n this.elem.layerElement.appendChild(g);\n this.masker = mask;\n groupPath.setAttribute('stroke', '#fff');\n } else if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (this.filterManager.effectElements[10].p.v === 2) {\n elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n\n while (elemChildren.length) {\n this.elem.layerElement.removeChild(elemChildren[0]);\n }\n }\n\n this.elem.layerElement.appendChild(groupPath);\n this.elem.layerElement.removeAttribute('mask');\n groupPath.setAttribute('stroke', '#fff');\n }\n\n this.initialized = true;\n this.pathMasker = groupPath;\n };\n\n SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n if (!this.initialized) {\n this.initialize();\n }\n\n var i;\n var len = this.paths.length;\n var mask;\n var path;\n\n for (i = 0; i < len; i += 1) {\n if (this.paths[i].m !== -1) {\n mask = this.elem.maskManager.viewData[this.paths[i].m];\n path = this.paths[i].p;\n\n if (forceRender || this.filterManager._mdf || mask.prop._mdf) {\n path.setAttribute('d', mask.lastPath);\n }\n\n if (forceRender || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n var dasharrayValue;\n\n if (this.filterManager.effectElements[7].p.v !== 0 || this.filterManager.effectElements[8].p.v !== 100) {\n var s = Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n var e = Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n var l = path.getTotalLength();\n dasharrayValue = '0 0 0 ' + l * s + ' ';\n var lineLength = l * (e - s);\n var segment = 1 + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n var units = Math.floor(lineLength / segment);\n var j;\n\n for (j = 0; j < units; j += 1) {\n dasharrayValue += '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01 + ' ';\n }\n\n dasharrayValue += '0 ' + l * 10 + ' 0 0';\n } else {\n dasharrayValue = '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n }\n\n path.setAttribute('stroke-dasharray', dasharrayValue);\n }\n }\n }\n\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.pathMasker.setAttribute('stroke-width', this.filterManager.effectElements[4].p.v * 2);\n }\n\n if (forceRender || this.filterManager.effectElements[6].p._mdf) {\n this.pathMasker.setAttribute('opacity', this.filterManager.effectElements[6].p.v);\n }\n\n if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (forceRender || this.filterManager.effectElements[3].p._mdf) {\n var color = this.filterManager.effectElements[3].p.v;\n this.pathMasker.setAttribute('stroke', 'rgb(' + bmFloor(color[0] * 255) + ',' + bmFloor(color[1] * 255) + ',' + bmFloor(color[2] * 255) + ')');\n }\n }\n };\n\n function SVGTritoneFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.setAttribute('values', '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0');\n filter.appendChild(feColorMatrix);\n var feComponentTransfer = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n feComponentTransfer.setAttribute('result', id);\n this.matrixFilter = feComponentTransfer;\n var feFuncR = createNS('feFuncR');\n feFuncR.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncR);\n this.feFuncR = feFuncR;\n var feFuncG = createNS('feFuncG');\n feFuncG.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncG);\n this.feFuncG = feFuncG;\n var feFuncB = createNS('feFuncB');\n feFuncB.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncB);\n this.feFuncB = feFuncB;\n filter.appendChild(feComponentTransfer);\n }\n\n SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color1 = this.filterManager.effectElements[0].p.v;\n var color2 = this.filterManager.effectElements[1].p.v;\n var color3 = this.filterManager.effectElements[2].p.v;\n var tableR = color3[0] + ' ' + color2[0] + ' ' + color1[0];\n var tableG = color3[1] + ' ' + color2[1] + ' ' + color1[1];\n var tableB = color3[2] + ' ' + color2[2] + ' ' + color1[2];\n this.feFuncR.setAttribute('tableValues', tableR);\n this.feFuncG.setAttribute('tableValues', tableG);\n this.feFuncB.setAttribute('tableValues', tableB);\n }\n };\n\n function SVGProLevelsFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var effectElements = this.filterManager.effectElements;\n var feComponentTransfer = createNS('feComponentTransfer'); // Red\n\n if (effectElements[10].p.k || effectElements[10].p.v !== 0 || effectElements[11].p.k || effectElements[11].p.v !== 1 || effectElements[12].p.k || effectElements[12].p.v !== 1 || effectElements[13].p.k || effectElements[13].p.v !== 0 || effectElements[14].p.k || effectElements[14].p.v !== 1) {\n this.feFuncR = this.createFeFunc('feFuncR', feComponentTransfer);\n } // Green\n\n\n if (effectElements[17].p.k || effectElements[17].p.v !== 0 || effectElements[18].p.k || effectElements[18].p.v !== 1 || effectElements[19].p.k || effectElements[19].p.v !== 1 || effectElements[20].p.k || effectElements[20].p.v !== 0 || effectElements[21].p.k || effectElements[21].p.v !== 1) {\n this.feFuncG = this.createFeFunc('feFuncG', feComponentTransfer);\n } // Blue\n\n\n if (effectElements[24].p.k || effectElements[24].p.v !== 0 || effectElements[25].p.k || effectElements[25].p.v !== 1 || effectElements[26].p.k || effectElements[26].p.v !== 1 || effectElements[27].p.k || effectElements[27].p.v !== 0 || effectElements[28].p.k || effectElements[28].p.v !== 1) {\n this.feFuncB = this.createFeFunc('feFuncB', feComponentTransfer);\n } // Alpha\n\n\n if (effectElements[31].p.k || effectElements[31].p.v !== 0 || effectElements[32].p.k || effectElements[32].p.v !== 1 || effectElements[33].p.k || effectElements[33].p.v !== 1 || effectElements[34].p.k || effectElements[34].p.v !== 0 || effectElements[35].p.k || effectElements[35].p.v !== 1) {\n this.feFuncA = this.createFeFunc('feFuncA', feComponentTransfer);\n } // RGB\n\n\n if (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) {\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n filter.appendChild(feComponentTransfer);\n }\n\n if (effectElements[3].p.k || effectElements[3].p.v !== 0 || effectElements[4].p.k || effectElements[4].p.v !== 1 || effectElements[5].p.k || effectElements[5].p.v !== 1 || effectElements[6].p.k || effectElements[6].p.v !== 0 || effectElements[7].p.k || effectElements[7].p.v !== 1) {\n feComponentTransfer = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n feComponentTransfer.setAttribute('result', id);\n filter.appendChild(feComponentTransfer);\n this.feFuncRComposed = this.createFeFunc('feFuncR', feComponentTransfer);\n this.feFuncGComposed = this.createFeFunc('feFuncG', feComponentTransfer);\n this.feFuncBComposed = this.createFeFunc('feFuncB', feComponentTransfer);\n }\n }\n\n SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\n var feFunc = createNS(type);\n feFunc.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFunc);\n return feFunc;\n };\n\n SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\n var cnt = 0;\n var segments = 256;\n var perc;\n var min = Math.min(inputBlack, inputWhite);\n var max = Math.max(inputBlack, inputWhite);\n var table = Array.call(null, {\n length: segments\n });\n var colorValue;\n var pos = 0;\n var outputDelta = outputWhite - outputBlack;\n var inputDelta = inputWhite - inputBlack;\n\n while (cnt <= 256) {\n perc = cnt / 256;\n\n if (perc <= min) {\n colorValue = inputDelta < 0 ? outputWhite : outputBlack;\n } else if (perc >= max) {\n colorValue = inputDelta < 0 ? outputBlack : outputWhite;\n } else {\n colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);\n }\n\n table[pos] = colorValue;\n pos += 1;\n cnt += 256 / (segments - 1);\n }\n\n return table.join(' ');\n };\n\n SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var val;\n var effectElements = this.filterManager.effectElements;\n\n if (this.feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\n val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\n this.feFuncRComposed.setAttribute('tableValues', val);\n this.feFuncGComposed.setAttribute('tableValues', val);\n this.feFuncBComposed.setAttribute('tableValues', val);\n }\n\n if (this.feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\n val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\n this.feFuncR.setAttribute('tableValues', val);\n }\n\n if (this.feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\n val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\n this.feFuncG.setAttribute('tableValues', val);\n }\n\n if (this.feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\n val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\n this.feFuncB.setAttribute('tableValues', val);\n }\n\n if (this.feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\n val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\n this.feFuncA.setAttribute('tableValues', val);\n }\n }\n };\n\n function SVGDropShadowEffect(filter, filterManager, elem, id, source) {\n var globalFilterSize = filterManager.container.globalData.renderConfig.filterSize;\n var filterSize = filterManager.data.fs || globalFilterSize;\n filter.setAttribute('x', filterSize.x || globalFilterSize.x);\n filter.setAttribute('y', filterSize.y || globalFilterSize.y);\n filter.setAttribute('width', filterSize.width || globalFilterSize.width);\n filter.setAttribute('height', filterSize.height || globalFilterSize.height);\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('in', 'SourceAlpha');\n feGaussianBlur.setAttribute('result', id + '_drop_shadow_1');\n feGaussianBlur.setAttribute('stdDeviation', '0');\n this.feGaussianBlur = feGaussianBlur;\n filter.appendChild(feGaussianBlur);\n var feOffset = createNS('feOffset');\n feOffset.setAttribute('dx', '25');\n feOffset.setAttribute('dy', '0');\n feOffset.setAttribute('in', id + '_drop_shadow_1');\n feOffset.setAttribute('result', id + '_drop_shadow_2');\n this.feOffset = feOffset;\n filter.appendChild(feOffset);\n var feFlood = createNS('feFlood');\n feFlood.setAttribute('flood-color', '#00ff00');\n feFlood.setAttribute('flood-opacity', '1');\n feFlood.setAttribute('result', id + '_drop_shadow_3');\n this.feFlood = feFlood;\n filter.appendChild(feFlood);\n var feComposite = createNS('feComposite');\n feComposite.setAttribute('in', id + '_drop_shadow_3');\n feComposite.setAttribute('in2', id + '_drop_shadow_2');\n feComposite.setAttribute('operator', 'in');\n feComposite.setAttribute('result', id + '_drop_shadow_4');\n filter.appendChild(feComposite);\n var feMerge = this.createMergeNode(id, [id + '_drop_shadow_4', source]);\n filter.appendChild(feMerge); //\n }\n\n extendPrototype([SVGComposableEffect], SVGDropShadowEffect);\n\n SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.feGaussianBlur.setAttribute('stdDeviation', this.filterManager.effectElements[4].p.v / 4);\n }\n\n if (forceRender || this.filterManager.effectElements[0].p._mdf) {\n var col = this.filterManager.effectElements[0].p.v;\n this.feFlood.setAttribute('flood-color', rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\n }\n\n if (forceRender || this.filterManager.effectElements[1].p._mdf) {\n this.feFlood.setAttribute('flood-opacity', this.filterManager.effectElements[1].p.v / 255);\n }\n\n if (forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\n var distance = this.filterManager.effectElements[3].p.v;\n var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads;\n var x = distance * Math.cos(angle);\n var y = distance * Math.sin(angle);\n this.feOffset.setAttribute('dx', x);\n this.feOffset.setAttribute('dy', y);\n }\n }\n };\n\n var _svgMatteSymbols = [];\n\n function SVGMatte3Effect(filterElem, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.filterElem = filterElem;\n this.elem = elem;\n elem.matteElement = createNS('g');\n elem.matteElement.appendChild(elem.layerElement);\n elem.matteElement.appendChild(elem.transformedElement);\n elem.baseElement = elem.matteElement;\n }\n\n SVGMatte3Effect.prototype.findSymbol = function (mask) {\n var i = 0;\n var len = _svgMatteSymbols.length;\n\n while (i < len) {\n if (_svgMatteSymbols[i] === mask) {\n return _svgMatteSymbols[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\n var parentNode = mask.layerElement.parentNode;\n\n if (!parentNode) {\n return;\n }\n\n var children = parentNode.children;\n var i = 0;\n var len = children.length;\n\n while (i < len) {\n if (children[i] === mask.layerElement) {\n break;\n }\n\n i += 1;\n }\n\n var nextChild;\n\n if (i <= len - 2) {\n nextChild = children[i + 1];\n }\n\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n\n if (nextChild) {\n parentNode.insertBefore(useElem, nextChild);\n } else {\n parentNode.appendChild(useElem);\n }\n };\n\n SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\n if (!this.findSymbol(mask)) {\n var symbolId = createElementID();\n var masker = createNS('mask');\n masker.setAttribute('id', mask.layerId);\n masker.setAttribute('mask-type', 'alpha');\n\n _svgMatteSymbols.push(mask);\n\n var defs = elem.globalData.defs;\n defs.appendChild(masker);\n var symbol = createNS('symbol');\n symbol.setAttribute('id', symbolId);\n this.replaceInParent(mask, symbolId);\n symbol.appendChild(mask.layerElement);\n defs.appendChild(symbol);\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n masker.appendChild(useElem);\n mask.data.hd = false;\n mask.show();\n }\n\n elem.setMatte(mask.layerId);\n };\n\n SVGMatte3Effect.prototype.initialize = function () {\n var ind = this.filterManager.effectElements[0].p.v;\n var elements = this.elem.comp.elements;\n var i = 0;\n var len = elements.length;\n\n while (i < len) {\n if (elements[i] && elements[i].data.ind === ind) {\n this.setElementAsMask(this.elem, elements[i]);\n }\n\n i += 1;\n }\n\n this.initialized = true;\n };\n\n SVGMatte3Effect.prototype.renderFrame = function () {\n if (!this.initialized) {\n this.initialize();\n }\n };\n\n function SVGGaussianBlurEffect(filter, filterManager, elem, id) {\n // Outset the filter region by 100% on all sides to accommodate blur expansion.\n filter.setAttribute('x', '-100%');\n filter.setAttribute('y', '-100%');\n filter.setAttribute('width', '300%');\n filter.setAttribute('height', '300%');\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('result', id);\n filter.appendChild(feGaussianBlur);\n this.feGaussianBlur = feGaussianBlur;\n }\n\n SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n // Empirical value, matching AE's blur appearance.\n var kBlurrinessToSigma = 0.3;\n var sigma = this.filterManager.effectElements[0].p.v * kBlurrinessToSigma; // Dimensions mapping:\n //\n // 1 -> horizontal & vertical\n // 2 -> horizontal only\n // 3 -> vertical only\n //\n\n var dimensions = this.filterManager.effectElements[1].p.v;\n var sigmaX = dimensions == 3 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n var sigmaY = dimensions == 2 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n this.feGaussianBlur.setAttribute('stdDeviation', sigmaX + ' ' + sigmaY); // Repeat edges mapping:\n //\n // 0 -> off -> duplicate\n // 1 -> on -> wrap\n\n var edgeMode = this.filterManager.effectElements[2].p.v == 1 ? 'wrap' : 'duplicate'; // eslint-disable-line eqeqeq\n\n this.feGaussianBlur.setAttribute('edgeMode', edgeMode);\n }\n };\n\n function TransformEffect() {}\n\n TransformEffect.prototype.init = function (effectsManager) {\n this.effectsManager = effectsManager;\n this.type = effectTypes.TRANSFORM_EFFECT;\n this.matrix = new Matrix();\n this.opacity = -1;\n this._mdf = false;\n this._opMdf = false;\n };\n\n TransformEffect.prototype.renderFrame = function (forceFrame) {\n this._opMdf = false;\n this._mdf = false;\n\n if (forceFrame || this.effectsManager._mdf) {\n var effectElements = this.effectsManager.effectElements;\n var anchor = effectElements[0].p.v;\n var position = effectElements[1].p.v;\n var isUniformScale = effectElements[2].p.v === 1;\n var scaleHeight = effectElements[3].p.v;\n var scaleWidth = isUniformScale ? scaleHeight : effectElements[4].p.v;\n var skew = effectElements[5].p.v;\n var skewAxis = effectElements[6].p.v;\n var rotation = effectElements[7].p.v;\n this.matrix.reset();\n this.matrix.translate(-anchor[0], -anchor[1], anchor[2]);\n this.matrix.scale(scaleWidth * 0.01, scaleHeight * 0.01, 1);\n this.matrix.rotate(-rotation * degToRads);\n this.matrix.skewFromAxis(-skew * degToRads, (skewAxis + 90) * degToRads);\n this.matrix.translate(position[0], position[1], 0);\n this._mdf = true;\n\n if (this.opacity !== effectElements[8].p.v) {\n this.opacity = effectElements[8].p.v;\n this._opMdf = true;\n }\n }\n };\n\n function SVGTransformEffect(_, filterManager) {\n this.init(filterManager);\n }\n\n extendPrototype([TransformEffect], SVGTransformEffect);\n\n function CVTransformEffect(effectsManager) {\n this.init(effectsManager);\n }\n\n extendPrototype([TransformEffect], CVTransformEffect);\n\n registerRenderer('canvas', CanvasRenderer);\n registerRenderer('html', HybridRenderer);\n registerRenderer('svg', SVGRenderer); // Registering shape modifiers\n\n ShapeModifiers.registerModifier('tm', TrimModifier);\n ShapeModifiers.registerModifier('pb', PuckerAndBloatModifier);\n ShapeModifiers.registerModifier('rp', RepeaterModifier);\n ShapeModifiers.registerModifier('rd', RoundCornersModifier);\n ShapeModifiers.registerModifier('zz', ZigZagModifier);\n ShapeModifiers.registerModifier('op', OffsetPathModifier); // Registering expression plugin\n\n setExpressionsPlugin(Expressions);\n setExpressionInterfaces(getInterface);\n initialize$1();\n initialize(); // Registering svg effects\n\n registerEffect$1(20, SVGTintFilter, true);\n registerEffect$1(21, SVGFillFilter, true);\n registerEffect$1(22, SVGStrokeEffect, false);\n registerEffect$1(23, SVGTritoneFilter, true);\n registerEffect$1(24, SVGProLevelsFilter, true);\n registerEffect$1(25, SVGDropShadowEffect, true);\n registerEffect$1(28, SVGMatte3Effect, false);\n registerEffect$1(29, SVGGaussianBlurEffect, true);\n registerEffect$1(35, SVGTransformEffect, false);\n registerEffect(35, CVTransformEffect);\n\n return lottie;\n\n}));\n","!function(t,s){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=s():\"function\"==typeof define&&define.amd?define(s):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_duration=s()}(this,(function(){\"use strict\";var t,s,n=1e3,i=6e4,e=36e5,r=864e5,o=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,d=2628e6,a=/^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,h={years:u,months:d,days:r,hours:e,minutes:i,seconds:n,milliseconds:1,weeks:6048e5},c=function(t){return t instanceof g},f=function(t,s,n){return new g(t,n,s.$l)},m=function(t){return s.p(t)+\"s\"},l=function(t){return t<0},$=function(t){return l(t)?Math.ceil(t):Math.floor(t)},y=function(t){return Math.abs(t)},v=function(t,s){return t?l(t)?{negative:!0,format:\"\"+y(t)+s}:{negative:!1,format:\"\"+t+s}:{negative:!1,format:\"\"}},g=function(){function l(t,s,n){var i=this;if(this.$d={},this.$l=n,void 0===t&&(this.$ms=0,this.parseFromMilliseconds()),s)return f(t*h[m(s)],this);if(\"number\"==typeof t)return this.$ms=t,this.parseFromMilliseconds(),this;if(\"object\"==typeof t)return Object.keys(t).forEach((function(s){i.$d[m(s)]=t[s]})),this.calMilliseconds(),this;if(\"string\"==typeof t){var e=t.match(a);if(e){var r=e.slice(2).map((function(t){return null!=t?Number(t):0}));return this.$d.years=r[0],this.$d.months=r[1],this.$d.weeks=r[2],this.$d.days=r[3],this.$d.hours=r[4],this.$d.minutes=r[5],this.$d.seconds=r[6],this.calMilliseconds(),this}}return this}var y=l.prototype;return y.calMilliseconds=function(){var t=this;this.$ms=Object.keys(this.$d).reduce((function(s,n){return s+(t.$d[n]||0)*h[n]}),0)},y.parseFromMilliseconds=function(){var t=this.$ms;this.$d.years=$(t/u),t%=u,this.$d.months=$(t/d),t%=d,this.$d.days=$(t/r),t%=r,this.$d.hours=$(t/e),t%=e,this.$d.minutes=$(t/i),t%=i,this.$d.seconds=$(t/n),t%=n,this.$d.milliseconds=t},y.toISOString=function(){var t=v(this.$d.years,\"Y\"),s=v(this.$d.months,\"M\"),n=+this.$d.days||0;this.$d.weeks&&(n+=7*this.$d.weeks);var i=v(n,\"D\"),e=v(this.$d.hours,\"H\"),r=v(this.$d.minutes,\"M\"),o=this.$d.seconds||0;this.$d.milliseconds&&(o+=this.$d.milliseconds/1e3,o=Math.round(1e3*o)/1e3);var u=v(o,\"S\"),d=t.negative||s.negative||i.negative||e.negative||r.negative||u.negative,a=e.format||r.format||u.format?\"T\":\"\",h=(d?\"-\":\"\")+\"P\"+t.format+s.format+i.format+a+e.format+r.format+u.format;return\"P\"===h||\"-P\"===h?\"P0D\":h},y.toJSON=function(){return this.toISOString()},y.format=function(t){var n=t||\"YYYY-MM-DDTHH:mm:ss\",i={Y:this.$d.years,YY:s.s(this.$d.years,2,\"0\"),YYYY:s.s(this.$d.years,4,\"0\"),M:this.$d.months,MM:s.s(this.$d.months,2,\"0\"),D:this.$d.days,DD:s.s(this.$d.days,2,\"0\"),H:this.$d.hours,HH:s.s(this.$d.hours,2,\"0\"),m:this.$d.minutes,mm:s.s(this.$d.minutes,2,\"0\"),s:this.$d.seconds,ss:s.s(this.$d.seconds,2,\"0\"),SSS:s.s(this.$d.milliseconds,3,\"0\")};return n.replace(o,(function(t,s){return s||String(i[t])}))},y.as=function(t){return this.$ms/h[m(t)]},y.get=function(t){var s=this.$ms,n=m(t);return\"milliseconds\"===n?s%=1e3:s=\"weeks\"===n?$(s/h[n]):this.$d[n],s||0},y.add=function(t,s,n){var i;return i=s?t*h[m(s)]:c(t)?t.$ms:f(t,this).$ms,f(this.$ms+i*(n?-1:1),this)},y.subtract=function(t,s){return this.add(t,s,!0)},y.locale=function(t){var s=this.clone();return s.$l=t,s},y.clone=function(){return f(this.$ms,this)},y.humanize=function(s){return t().add(this.$ms,\"ms\").locale(this.$l).fromNow(!s)},y.valueOf=function(){return this.asMilliseconds()},y.milliseconds=function(){return this.get(\"milliseconds\")},y.asMilliseconds=function(){return this.as(\"milliseconds\")},y.seconds=function(){return this.get(\"seconds\")},y.asSeconds=function(){return this.as(\"seconds\")},y.minutes=function(){return this.get(\"minutes\")},y.asMinutes=function(){return this.as(\"minutes\")},y.hours=function(){return this.get(\"hours\")},y.asHours=function(){return this.as(\"hours\")},y.days=function(){return this.get(\"days\")},y.asDays=function(){return this.as(\"days\")},y.weeks=function(){return this.get(\"weeks\")},y.asWeeks=function(){return this.as(\"weeks\")},y.months=function(){return this.get(\"months\")},y.asMonths=function(){return this.as(\"months\")},y.years=function(){return this.get(\"years\")},y.asYears=function(){return this.as(\"years\")},l}(),p=function(t,s,n){return t.add(s.years()*n,\"y\").add(s.months()*n,\"M\").add(s.days()*n,\"d\").add(s.hours()*n,\"h\").add(s.minutes()*n,\"m\").add(s.seconds()*n,\"s\").add(s.milliseconds()*n,\"ms\")};return function(n,i,e){t=e,s=e().$utils(),e.duration=function(t,s){var n=e.locale();return f(t,{$l:n},s)},e.isDuration=c;var r=i.prototype.add,o=i.prototype.subtract;i.prototype.add=function(t,s){return c(t)?p(this,t,1):r.bind(this)(t,s)},i.prototype.subtract=function(t,s){return c(t)?p(this,t,-1):o.bind(this)(t,s)}}}));","\r\n\r\n\r\n\r\n\r\n","export default function(n){return{all:n=n||new Map,on:function(t,e){var i=n.get(t);i?i.push(e):n.set(t,[e])},off:function(t,e){var i=n.get(t);i&&(e?i.splice(i.indexOf(e)>>>0,1):n.set(t,[]))},emit:function(t,e){var i=n.get(t);i&&i.slice().map(function(n){n(e)}),(i=n.get(\"*\"))&&i.slice().map(function(n){n(t,e)})}}}\n//# sourceMappingURL=mitt.mjs.map\n","import mitt from 'mitt';\n\nfunction getData(entity) {\n if (entity === 'state') {\n return window.LiveChatWidget.get('state');\n }\n\n if (entity === 'chat') {\n return window.LiveChatWidget.get('chat_data');\n }\n\n if (entity === 'customer') {\n return window.LiveChatWidget.get('customer_data');\n }\n\n return null;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n/* eslint-disable prefer-rest-params, @typescript-eslint/no-explicit-any, @typescript-eslint/ban-ts-comment, @typescript-eslint/unbound-method */\nvar scriptRef = {\n current: null\n};\nfunction createJSApi() {\n var _scriptRef$current;\n\n var slice = Array.prototype.slice;\n /* istanbul ignore next */\n\n function handle(args) {\n // @ts-ignore\n return api._h ? api._h.apply(null, args) : api._q.push(args);\n }\n /* istanbul ignore next */\n\n\n var api = {\n _q: [],\n _h: null,\n _v: '2.0',\n on: function on() {\n handle(['on', slice.call(arguments)]);\n },\n once: function once() {\n handle(['once', slice.call(arguments)]);\n },\n off: function off() {\n handle(['off', slice.call(arguments)]);\n },\n get: function get() {\n if (!api._h) {\n throw new Error(\"[LiveChatWidget] You can't use getters before load.\");\n }\n\n return handle(['get', slice.call(arguments)]);\n },\n call: function call() {\n handle(['call', slice.call(arguments)]);\n },\n init: function init() {\n var script = document.createElement('script');\n script.async = true;\n script.type = 'text/javascript';\n script.src = 'https://cdn.livechatinc.com/tracking.js';\n document.head.appendChild(script);\n scriptRef.current = script;\n }\n };\n (_scriptRef$current = scriptRef.current) === null || _scriptRef$current === void 0 ? void 0 : _scriptRef$current.remove();\n window.LiveChatWidget = window.LiveChatWidget || api;\n return scriptRef;\n}\n\nfunction assignConfiguration(_ref) {\n var license = _ref.license,\n group = _ref.group,\n chatBetweenGroups = _ref.chatBetweenGroups,\n sessionVariables = _ref.sessionVariables,\n customIdentityProvider = _ref.customIdentityProvider;\n window.__lc = window.__lc || {};\n\n if (typeof license === 'string') {\n window.__lc.license = Number(license);\n } else {\n throw new Error('[LiveChatWidget] The license property is required for initialization');\n }\n\n if (typeof group !== 'undefined') {\n window.__lc.group = Number(group);\n }\n\n if (typeof chatBetweenGroups !== 'undefined') {\n window.__lc.chat_between_groups = Boolean(chatBetweenGroups);\n }\n\n if (sessionVariables instanceof Object) {\n window.__lc.params = Object.entries(sessionVariables).map(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n name = _ref3[0],\n value = _ref3[1];\n\n return {\n name: name,\n value: value\n };\n });\n }\n\n if (typeof customIdentityProvider === 'function') {\n window.__lc.custom_identity_provider = customIdentityProvider;\n }\n}\n\nfunction assignEventHandlers(method, eventHandlers) {\n if (method === 'off' && typeof window.LiveChatWidget === 'undefined') {\n return;\n }\n\n if (typeof eventHandlers.onReady === 'function') {\n window.LiveChatWidget[method]('ready', eventHandlers.onReady);\n }\n\n if (typeof eventHandlers.onAvailabilityChanged === 'function') {\n window.LiveChatWidget[method]('availability_changed', eventHandlers.onAvailabilityChanged);\n }\n\n if (typeof eventHandlers.onVisibilityChanged === 'function') {\n window.LiveChatWidget[method]('visibility_changed', eventHandlers.onVisibilityChanged);\n }\n\n if (typeof eventHandlers.onCustomerStatusChanged === 'function') {\n window.LiveChatWidget[method]('customer_status_changed', eventHandlers.onCustomerStatusChanged);\n }\n\n if (typeof eventHandlers.onNewEvent === 'function') {\n window.LiveChatWidget[method]('new_event', eventHandlers.onNewEvent);\n }\n\n if (typeof eventHandlers.onFormSubmitted === 'function') {\n window.LiveChatWidget[method]('form_submitted', eventHandlers.onFormSubmitted);\n }\n\n if (typeof eventHandlers.onRatingSubmitted === 'function') {\n window.LiveChatWidget[method]('rating_submitted', eventHandlers.onRatingSubmitted);\n }\n\n if (typeof eventHandlers.onGreetingDisplayed === 'function') {\n window.LiveChatWidget[method]('greeting_displayed', eventHandlers.onGreetingDisplayed);\n }\n\n if (typeof eventHandlers.onGreetingHidden === 'function') {\n window.LiveChatWidget[method]('greeting_hidden', eventHandlers.onGreetingHidden);\n }\n\n if (typeof eventHandlers.onRichMessageButtonClicked === 'function') {\n window.LiveChatWidget[method]('rich_message_button_clicked', eventHandlers.onRichMessageButtonClicked);\n }\n}\n\nfunction assignCustomerData(customerData) {\n if (typeof customerData.name === 'string') {\n window.LiveChatWidget.call('set_customer_name', customerData.name);\n }\n\n if (typeof customerData.email === 'string') {\n window.LiveChatWidget.call('set_customer_email', customerData.email);\n }\n}\n\nfunction assignVisibility(visibility) {\n if (visibility === 'hidden') {\n window.LiveChatWidget.call('hide');\n }\n\n if (visibility === 'maximized') {\n window.LiveChatWidget.call('maximize');\n }\n\n if (visibility === 'minimized') {\n window.LiveChatWidget.call('minimize');\n }\n}\n\nvar emitter = mitt();\nvar lifecycleEmit = emitter.emit.bind(null);\nfunction lcOnInit(callback) {\n emitter.on('init', callback);\n\n if ('LiveChatWidget' in window) {\n callback();\n }\n\n return function () {\n emitter.off('init', callback);\n };\n}\nfunction lcOnDestroy(callback) {\n emitter.on('destroy', callback);\n return function () {\n emitter.off('destroy', callback);\n };\n}\n\nfunction createWidget(config) {\n var state = {\n isLoading: false,\n desiredState: 'unknown',\n currentEventHandlers: {\n onReady: config.onReady,\n onNewEvent: config.onNewEvent,\n onFormSubmitted: config.onFormSubmitted,\n onGreetingHidden: config.onGreetingHidden,\n onRatingSubmitted: config.onRatingSubmitted,\n onGreetingDisplayed: config.onGreetingDisplayed,\n onVisibilityChanged: config.onVisibilityChanged,\n onAvailabilityChanged: config.onAvailabilityChanged,\n onCustomerStatusChanged: config.onCustomerStatusChanged,\n onRichMessageButtonClicked: config.onRichMessageButtonClicked\n }\n };\n var scriptRef = createJSApi();\n assignConfiguration(config);\n assignVisibility(config.visibility);\n assignEventHandlers('on', state.currentEventHandlers);\n assignCustomerData({\n name: config.customerName,\n email: config.customerEmail\n });\n window.__lc.integration_name = \"@livechat/widget-core\";\n return {\n init: function init() {\n var _this = this;\n\n state.desiredState = 'loaded';\n\n if (state.isLoading) {\n return;\n }\n\n window.LC_API = window.LC_API || {};\n\n window.LC_API.on_after_load = function () {\n state.isLoading = false;\n\n if (state.desiredState === 'destroyed') {\n _this.destroy();\n }\n\n state.desiredState = 'unknown';\n };\n\n lifecycleEmit('init');\n state.isLoading = true;\n window.LiveChatWidget.init();\n },\n destroy: function destroy() {\n var _scriptRef$current;\n\n state.desiredState = 'destroyed';\n\n if (state.isLoading) {\n return;\n }\n\n lifecycleEmit('destroy');\n (_scriptRef$current = scriptRef.current) === null || _scriptRef$current === void 0 ? void 0 : _scriptRef$current.remove();\n window.LiveChatWidget.call('destroy');\n },\n updateVisibility: function updateVisibility(visibility) {\n assignVisibility(visibility);\n },\n updateEventHandlers: function updateEventHandlers(eventHabndlers) {\n assignEventHandlers('off', state.currentEventHandlers);\n assignEventHandlers('on', eventHabndlers);\n state.currentEventHandlers = _objectSpread2({}, eventHabndlers);\n },\n updateSessionVariables: function updateSessionVariables(sessionVariables) {\n if (sessionVariables) {\n window.LiveChatWidget.call('update_session_variables', sessionVariables);\n }\n },\n hideGreeting: function hideGreeting() {\n window.LiveChatWidget.call('hide_greeting');\n },\n updateCustomerData: function updateCustomerData(customerData) {\n assignCustomerData(customerData);\n }\n };\n}\n\nexport { assignConfiguration, assignCustomerData, assignEventHandlers, assignVisibility, createWidget, getData, lcOnDestroy, lcOnInit };\n","import { ref, onMounted, onUnmounted, watch, defineComponent } from 'vue';\nimport { lcOnInit, assignEventHandlers, lcOnDestroy, getData, createWidget } from '@livechat/widget-core';\n\nfunction useWidgetIsReady() {\n var isReady = ref(false);\n var unsubscribeInit = null;\n var unsubscribeDestroy = null;\n\n var onReady = function onReady() {\n isReady.value = true;\n };\n\n onMounted(function () {\n unsubscribeInit = lcOnInit(function () {\n assignEventHandlers('once', {\n onReady: onReady\n });\n });\n unsubscribeDestroy = lcOnDestroy(function () {\n isReady.value = false;\n });\n });\n onUnmounted(function () {\n var _unsubscribeInit, _unsubscribeDestroy;\n\n assignEventHandlers('off', {\n onReady: onReady\n });\n (_unsubscribeInit = unsubscribeInit) === null || _unsubscribeInit === void 0 ? void 0 : _unsubscribeInit();\n (_unsubscribeDestroy = unsubscribeDestroy) === null || _unsubscribeDestroy === void 0 ? void 0 : _unsubscribeDestroy();\n });\n return isReady;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction useWidgetState() {\n var widgetState = ref(null);\n var unsubscribeInit = null;\n var unsubscribeDestroy = null;\n\n var onReady = function onReady(_ref) {\n var state = _ref.state;\n widgetState.value = state;\n };\n\n var onVisibilityChanged = function onVisibilityChanged(_ref2) {\n var visibility = _ref2.visibility;\n widgetState.value = widgetState.value ? _objectSpread2(_objectSpread2({}, widgetState.value), {}, {\n visibility: visibility\n }) : widgetState.value;\n };\n\n var onAvailabilityChanged = function onAvailabilityChanged(_ref3) {\n var availability = _ref3.availability;\n widgetState.value = widgetState.value ? _objectSpread2(_objectSpread2({}, widgetState.value), {}, {\n availability: availability\n }) : widgetState.value;\n };\n\n onMounted(function () {\n unsubscribeInit = lcOnInit(function () {\n assignEventHandlers('once', {\n onReady: onReady\n });\n assignEventHandlers('on', {\n onVisibilityChanged: onVisibilityChanged,\n onAvailabilityChanged: onAvailabilityChanged\n });\n });\n unsubscribeDestroy = lcOnDestroy(function () {\n widgetState.value = null;\n });\n });\n onUnmounted(function () {\n var _unsubscribeInit, _unsubscribeDestroy;\n\n assignEventHandlers('off', {\n onReady: onReady,\n onVisibilityChanged: onVisibilityChanged,\n onAvailabilityChanged: onAvailabilityChanged\n });\n (_unsubscribeInit = unsubscribeInit) === null || _unsubscribeInit === void 0 ? void 0 : _unsubscribeInit();\n (_unsubscribeDestroy = unsubscribeDestroy) === null || _unsubscribeDestroy === void 0 ? void 0 : _unsubscribeDestroy();\n });\n return widgetState;\n}\n\nfunction useWidgetCustomerData() {\n var customerData = ref(null);\n var unsubscribeInit = null;\n var unsubscribeDestroy = null;\n\n var onReady = function onReady(payload) {\n customerData.value = payload.customerData;\n };\n\n var onCustomerStatusChanged = function onCustomerStatusChanged() {\n customerData.value = getData('customer');\n };\n\n onMounted(function () {\n unsubscribeInit = lcOnInit(function () {\n assignEventHandlers('once', {\n onReady: onReady\n });\n assignEventHandlers('on', {\n onCustomerStatusChanged: onCustomerStatusChanged\n });\n });\n unsubscribeDestroy = lcOnDestroy(function () {\n customerData.value = null;\n });\n });\n onUnmounted(function () {\n var _unsubscribeInit, _unsubscribeDestroy;\n\n assignEventHandlers('off', {\n onReady: onReady,\n onCustomerStatusChanged: onCustomerStatusChanged\n });\n (_unsubscribeInit = unsubscribeInit) === null || _unsubscribeInit === void 0 ? void 0 : _unsubscribeInit();\n (_unsubscribeDestroy = unsubscribeDestroy) === null || _unsubscribeDestroy === void 0 ? void 0 : _unsubscribeDestroy();\n });\n return customerData;\n}\n\nfunction useWidgetChatData() {\n var chatData = ref(null);\n var customerData = useWidgetCustomerData();\n watch(function () {\n var _customerData$value;\n\n return (_customerData$value = customerData.value) === null || _customerData$value === void 0 ? void 0 : _customerData$value.status;\n }, function (status) {\n if (status === 'chatting') {\n chatData.value = getData('chat');\n } else {\n chatData.value = null;\n }\n });\n return chatData;\n}\n\nfunction useWidgetGreeting() {\n var greeting = ref(null);\n var unsubscribeInit = null;\n var unsubscribeDestroy = null;\n\n var onGreetingDisplayed = function onGreetingDisplayed(greetingData) {\n greeting.value = greetingData;\n };\n\n var onGreetingHidden = function onGreetingHidden() {\n greeting.value = null;\n };\n\n onMounted(function () {\n unsubscribeInit = lcOnInit(function () {\n assignEventHandlers('on', {\n onGreetingDisplayed: onGreetingDisplayed,\n onGreetingHidden: onGreetingHidden\n });\n });\n unsubscribeDestroy = lcOnDestroy(function () {\n greeting.value = null;\n });\n });\n onUnmounted(function () {\n var _unsubscribeInit, _unsubscribeDestroy;\n\n assignEventHandlers('off', {\n onGreetingDisplayed: onGreetingDisplayed,\n onGreetingHidden: onGreetingHidden\n });\n (_unsubscribeInit = unsubscribeInit) === null || _unsubscribeInit === void 0 ? void 0 : _unsubscribeInit();\n (_unsubscribeDestroy = unsubscribeDestroy) === null || _unsubscribeDestroy === void 0 ? void 0 : _unsubscribeDestroy();\n });\n return greeting;\n}\n\nvar LiveChatWidget = defineComponent({\n props: {\n license: {\n type: String,\n required: true\n },\n group: {\n type: String,\n required: false,\n \"default\": undefined\n },\n visibility: {\n type: String,\n required: false,\n \"default\": undefined\n },\n customerName: {\n type: String,\n required: false,\n \"default\": undefined\n },\n customerEmail: {\n type: String,\n required: false,\n \"default\": undefined\n },\n sessionVariables: {\n type: Object,\n required: false,\n \"default\": undefined\n },\n chatBetweenGroups: {\n type: Boolean,\n required: false,\n \"default\": undefined\n },\n customIdentityProvider: {\n type: Function,\n required: false,\n \"default\": undefined\n }\n },\n emits: ['ready', 'new-event', 'form-submitted', 'rating-submitted', 'greeting-hidden', 'greeting-displayed', 'visibility-changed', 'customer-status-changed', 'rich-message-button-clicked', 'availability-changed'],\n data: function data() {\n return {\n widget: null\n };\n },\n watch: {\n license: 'reinitialize',\n group: 'reinitialize',\n chatBetweenGroups: 'reinitialize',\n visibility: function visibility(_visibility) {\n var _this$widget;\n\n (_this$widget = this.widget) === null || _this$widget === void 0 ? void 0 : _this$widget.updateVisibility(_visibility);\n },\n customerName: function customerName(name) {\n var _this$widget2;\n\n (_this$widget2 = this.widget) === null || _this$widget2 === void 0 ? void 0 : _this$widget2.updateCustomerData({\n name: name\n });\n },\n customerEmail: function customerEmail(email) {\n var _this$widget3;\n\n (_this$widget3 = this.widget) === null || _this$widget3 === void 0 ? void 0 : _this$widget3.updateCustomerData({\n email: email\n });\n },\n sessionVariables: function sessionVariables(_sessionVariables) {\n var _this$widget4;\n\n (_this$widget4 = this.widget) === null || _this$widget4 === void 0 ? void 0 : _this$widget4.updateSessionVariables(_sessionVariables);\n }\n },\n mounted: function mounted() {\n this.setupWidget();\n },\n unmounted: function unmounted() {\n var _this$widget5;\n\n (_this$widget5 = this.widget) === null || _this$widget5 === void 0 ? void 0 : _this$widget5.destroy();\n },\n methods: {\n setupWidget: function setupWidget() {\n var _this = this;\n\n this.widget = createWidget({\n group: this.group,\n license: this.license,\n customerName: this.customerName,\n customerEmail: this.customerEmail,\n sessionVariables: this.sessionVariables,\n chatBetweenGroups: this.chatBetweenGroups,\n visibility: this.visibility,\n customIdentityProvider: this.customIdentityProvider,\n onReady: function onReady(data) {\n return _this.$emit('ready', data);\n },\n onNewEvent: function onNewEvent(event) {\n return _this.$emit('new-event', event);\n },\n onFormSubmitted: function onFormSubmitted(form) {\n return _this.$emit('form-submitted', form);\n },\n onRatingSubmitted: function onRatingSubmitted(rating) {\n return _this.$emit('rating-submitted', rating);\n },\n onGreetingHidden: function onGreetingHidden(greeting) {\n return _this.$emit('greeting-hidden', greeting);\n },\n onGreetingDisplayed: function onGreetingDisplayed(greeting) {\n return _this.$emit('greeting-displayed', greeting);\n },\n onVisibilityChanged: function onVisibilityChanged(visibility) {\n return _this.$emit('visibility-changed', visibility);\n },\n onCustomerStatusChanged: function onCustomerStatusChanged(status) {\n return _this.$emit('customer-status-changed', status);\n },\n onRichMessageButtonClicked: function onRichMessageButtonClicked(button) {\n return _this.$emit('rich-message-button-clicked', button);\n },\n onAvailabilityChanged: function onAvailabilityChanged(availability) {\n return _this.$emit('availability-changed', availability);\n }\n });\n window.__lc.integration_name = \"@livechat/widget-vue\";\n this.widget.init();\n },\n reinitialize: function reinitialize() {\n var _this$widget6;\n\n (_this$widget6 = this.widget) === null || _this$widget6 === void 0 ? void 0 : _this$widget6.destroy();\n this.setupWidget();\n }\n },\n render: function render() {\n return null;\n }\n});\n\nexport { LiveChatWidget, useWidgetChatData, useWidgetCustomerData, useWidgetGreeting, useWidgetIsReady, useWidgetState };\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","import { registerPlugin } from '@capacitor/core';\nconst App = registerPlugin('App', {\n web: () => import('./web').then(m => new m.AppWeb()),\n});\nexport * from './definitions';\nexport { App };\n//# sourceMappingURL=index.js.map","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","import { defineStore } from 'pinia'\r\nimport { post } from '@/common/request.js'\r\nimport { url } from '@/common/config.js'\r\n\r\nexport const useSystemStore = defineStore('system', {\r\n state: () => {\r\n return {}\r\n },\r\n getters: {},\r\n actions: {\r\n ping() {\r\n post(url.ping)\r\n .then((r) => {\r\n console.log(`ping: ${r.backTimestamp - r.frontTimestamp}ms`)\r\n })\r\n .catch((error) => {\r\n console.error('ping error:', error)\r\n })\r\n }\r\n }\r\n})\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","/*\r\n * @Author: guojia 66291979@qq.com\r\n * @Date: 2024-05-07 17:30:11\r\n * @LastEditors: pluto.guo 66291979@qq.com\r\n * @LastEditTime: 2025-03-04 11:05:35\r\n * @FilePath: /lobby/src/router/index.js\r\n * @Description:\r\n *\r\n * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.\r\n */\r\nimport { createRouter, createWebHistory } from 'vue-router'\r\nimport HomeView from '../views/HomeView.vue'\r\nimport EnvelopeHome from '@/views/envelope/EnvelopeHome.vue'\r\nimport DepositViewForKE from '@/views/DepositViewForKE.vue'\r\nimport DepositViewForCI from '@/views/DepositViewForCI.vue'\r\n\r\nconsole.log('meta.env.BASE_URL=', import.meta.env.BASE_URL)\r\nconsole.log('isActive=', import.meta.env.VITE_IS_ACTIVE)\r\nconst isActive = import.meta.env.VITE_IS_ACTIVE == 'true'\r\nconst router = createRouter({\r\n history: createWebHistory(import.meta.env.BASE_URL),\r\n routes: [\r\n {\r\n path: '/',\r\n name: 'home',\r\n component: isActive ? EnvelopeHome : HomeView,\r\n meta: {\r\n title: isActive ? 'Envelope' : 'Home'\r\n }\r\n },\r\n {\r\n path: '/events',\r\n name: 'events',\r\n component: () => import('../views/EventsView.vue'),\r\n meta: {\r\n title: 'Events'\r\n }\r\n },\r\n {\r\n path: '/depositke',\r\n name: 'depositke',\r\n component: DepositViewForKE, //() => import('../views/DepositViewForKE.vue'),\r\n meta: {\r\n title: 'Depositke'\r\n }\r\n },\r\n {\r\n path: '/depositci',\r\n name: 'depositci',\r\n component: DepositViewForCI, //() => import('../views/DepositViewForCI.vue'),\r\n meta: {\r\n title: 'Depositci'\r\n }\r\n },\r\n {\r\n path: '/deposittz',\r\n name: 'deposittz',\r\n component: () => import('../views/DepositViewForTZ.vue'),\r\n meta: {\r\n title: 'Deposittz'\r\n }\r\n },\r\n {\r\n path: '/depositgh',\r\n name: 'depositgh',\r\n component: () => import('../views/DepositViewForGH.vue'),\r\n meta: {\r\n title: 'Deposittz'\r\n }\r\n },\r\n {\r\n path: '/deposit',\r\n name: 'deposit',\r\n component: () => import('../views/DepositViewForET.vue'),\r\n meta: {\r\n title: 'Deposit'\r\n }\r\n },\r\n {\r\n path: '/withdraw',\r\n name: 'withdraw',\r\n component: () => import('../views/WithdrawView.vue'),\r\n meta: {\r\n title: 'Withdraw'\r\n }\r\n },\r\n {\r\n path: '/withdrawet',\r\n name: 'withdrawet',\r\n component: () => import('../views/WithdrawViewET.vue'),\r\n meta: {\r\n title: 'Withdraw'\r\n }\r\n },\r\n {\r\n path: '/withdrawtz',\r\n name: 'withdrawtz',\r\n component: () => import('../views/WithdrawViewTZ.vue'),\r\n meta: {\r\n title: 'Withdraw'\r\n }\r\n },\r\n {\r\n path: '/withdrawgh',\r\n name: 'withdrawgh',\r\n component: () => import('../views/WithdrawViewGH.vue'),\r\n meta: {\r\n title: 'Withdraw'\r\n }\r\n },\r\n {\r\n path: '/promotion',\r\n name: 'acting',\r\n component: () => import('../views/PromationView.vue'),\r\n meta: {\r\n title: 'promotion'\r\n }\r\n },\r\n {\r\n path: '/bonus',\r\n name: 'bonus',\r\n component: () => import('../views/Bonus.vue'),\r\n meta: {\r\n title: 'Bonus'\r\n }\r\n },\r\n {\r\n path: '/allgame/:categorie',\r\n name: 'allgame',\r\n component: () => import('../views/AllGame.vue'),\r\n meta: {\r\n title: 'AllGame'\r\n }\r\n },\r\n {\r\n path: '/gameView/:currentGameUrl',\r\n name: 'gameView',\r\n component: () => import('../views/GameView.vue'),\r\n meta: {\r\n title: 'GameView'\r\n }\r\n },\r\n {\r\n path: '/searchGame/:type',\r\n name: 'searchGame',\r\n component: () => import('../views/SearchGame.vue'),\r\n meta: {\r\n title: 'SearchGame'\r\n }\r\n },\r\n {\r\n path: '/tc',\r\n name: 'tc',\r\n component: () => import('../views/TC.vue'),\r\n meta: {\r\n title: 'TC'\r\n }\r\n },\r\n {\r\n path: '/bettinghistory',\r\n name: 'bettinghistory',\r\n component: () => import('../views/BettingHistory.vue'),\r\n meta: {\r\n title: 'BettingHistory'\r\n }\r\n },\r\n {\r\n path: '/transactions',\r\n name: 'transactions',\r\n component: () => import('../views/Transactions.vue'),\r\n meta: {\r\n title: 'Transactions'\r\n }\r\n },\r\n {\r\n path: '/bonusgames',\r\n name: 'bonusgames',\r\n component: () => import('../views/BonusGames.vue'),\r\n meta: {\r\n title: 'BonusGames'\r\n }\r\n },\r\n {\r\n path: '/rewardscenter',\r\n name: 'rewardscenter',\r\n component: () => import('../views/RewardCenter.vue'),\r\n meta: {\r\n title: 'RewardCenter'\r\n }\r\n },\r\n {\r\n path: '/firstRecharge',\r\n name: 'firstRecharge',\r\n component: () => import('../views/FirstRecharge.vue'),\r\n meta: {\r\n title: 'FirstRecharge'\r\n }\r\n },\r\n {\r\n path: '/cashback',\r\n name: 'cashback',\r\n component: () => import('../views/CashBack.vue'),\r\n meta: {\r\n title: 'CashBack'\r\n }\r\n },\r\n {\r\n path: '/howtodeposit',\r\n name: 'howtodeposit',\r\n component: () => import('../views/HowToDeposit.vue'),\r\n meta: {\r\n title: 'HowToDeposit'\r\n }\r\n },\r\n {\r\n path: '/howtowithdraw',\r\n name: 'howtowithdraw',\r\n component: () => import('../views/HowToWithdraw.vue'),\r\n meta: {\r\n title: 'HowToWithdraw'\r\n }\r\n },\r\n {\r\n path: '/ppgamepage',\r\n name: 'PPGamepage',\r\n component: () => import('../components/PPGamePage.vue'),\r\n meta: {\r\n title: 'PPGamepage'\r\n }\r\n },\r\n {\r\n path: '/luckycashback',\r\n name: 'luckyPig',\r\n component: () => import('../components/luckyPig.vue'),\r\n meta: {\r\n title: 'luckypig'\r\n }\r\n },\r\n {\r\n path: '/bonuswheel',\r\n name: 'BonusWheel',\r\n component: () => import('../components/BonusWheel.vue'),\r\n meta: {\r\n title: 'BonusWheel'\r\n }\r\n },\r\n {\r\n path: '/vpsexchange',\r\n name: 'VpsExchange',\r\n component: () => import('../components/VpsExchange.vue'),\r\n meta: {\r\n title: 'VpsExchange'\r\n }\r\n },\r\n {\r\n path: '/dailytask',\r\n name: 'DailyTask',\r\n component: () => import('../components/DailyTask.vue'),\r\n meta: {\r\n title: 'DailyTask'\r\n }\r\n },\r\n {\r\n path: '/million',\r\n name: 'Million',\r\n component: () => import('../components/Million.vue'),\r\n meta: {\r\n title: 'Million'\r\n }\r\n },\r\n {\r\n path: '/rushdeposit',\r\n name: 'RushDeposit',\r\n component: () => import('../views/RushDepositView.vue'),\r\n meta: {\r\n title: 'RushDeposit'\r\n }\r\n },\r\n {\r\n path: '/agent',\r\n name: 'Agent',\r\n component: () => import('../components/Agent/agent.vue'),\r\n meta: {\r\n title: 'Agent'\r\n },\r\n children: [\r\n {\r\n path: 'home',\r\n name: 'AgentHome',\r\n component: () => import('../components/Agent/home.vue'),\r\n meta: {\r\n title: 'AgentHome'\r\n }\r\n },\r\n {\r\n path: '',\r\n redirect: '/agent/home'\r\n }\r\n ]\r\n }\r\n ]\r\n})\r\n\r\nexport default router\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","/*\r\n * @Author: Pluto 66291979@qq.com\r\n * @Date: 2024-05-31 11:37:41\r\n * @LastEditors: pluto.guo 66291979@qq.com\r\n * @LastEditTime: 2025-01-03 15:34:12\r\n * @FilePath: /lobby/src/stores/eventdeposit.js\r\n * @Description:\r\n *\r\n * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.\r\n */\r\nimport { defineStore } from 'pinia'\r\nimport { useUserStore } from '@/stores/user.js'\r\nimport { post } from '@/common/request'\r\nimport { url } from '@/common/config'\r\n\r\nexport const useEventDepositStore = defineStore('eventdeposit', {\r\n state: () => {\r\n return {}\r\n },\r\n getters: {\r\n country() {\r\n return useUserStore().country\r\n }\r\n },\r\n actions: {\r\n /**\r\n * 发送请求以领取限时充值奖励。\r\n *\r\n * @returns \r\n ```json\r\n {\r\n \"code\": \"string\",\r\n \"data\": {\r\n \"bonusAmount\": 0,\r\n \"result\": true\r\n },\r\n \"message\": \"string\",\r\n \"success\": true\r\n }\r\n ```\r\n */\r\n claim() {\r\n // 使用 post 函数发送 POST 请求到指定的 URL,该 URL 是用于领取限时充值奖励的。\r\n return post(url.event.limited.time.recharge.claim)\r\n },\r\n /**\r\n * 获取限时充值活动的配置信息。\r\n ** @returns \r\n ```json\r\n {\r\n \"code\": \"string\",\r\n \"data\": {\r\n \"bonusAmount\": 0,\r\n \"coolDown\": 0,\r\n \"currentRecharge\": 0,\r\n \"eventStatus\": true,\r\n \"needRecharge\": 0,\r\n \"userStatus\": 0\r\n },\r\n \"message\": \"string\",\r\n \"success\": true\r\n }\r\n ```\r\n */\r\n getConfig() {\r\n return post(url.event.limited.time.recharge.get, {\r\n country: this.country\r\n })\r\n }\r\n }\r\n})\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","/*\r\n * @Author: Pluto 66291979@qq.com\r\n * @Date: 2024-05-27 11:30:29\r\n * @LastEditors: game.pluto.com 66291979@qq.com\r\n * @LastEditTime: 2024-07-04 16:02:43\r\n * @FilePath: \\lobby\\src\\main.js\r\n * @Description:\r\n *\r\n * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.\r\n */\r\nimport './assets/styles/main.scss'\r\nimport './common/flexible.js'\r\n\r\nimport { createPinia } from 'pinia'\r\nimport { createApp } from 'vue'\r\n\r\nimport { MGTag } from '@/common/mgtag.js'\r\nimport { VantResolve } from '@/common/vant.js'\r\nimport eventBus from '@/event/EventBus.js'\r\nimport App from './App.vue'\r\nimport { i18n } from './locales'\r\nimport router from './router'\r\n\r\n// if ('serviceWorker' in navigator) {\r\n// // 获取动态生成的文件名\r\n// fetch('/sw-manifest.json')\r\n// .then((response) => {\r\n// if (!response.ok) {\r\n// throw new Error('Failed to load sw-manifest.json')\r\n// }\r\n// return response.json()\r\n// })\r\n// .then((manifest) => {\r\n// const swFileName = manifest.swFileName\r\n// if (!swFileName) {\r\n// throw new Error('Service Worker file name not found in manifest.')\r\n// }\r\n\r\n// // 注册 Service Worker\r\n// navigator.serviceWorker\r\n// .register(`/${swFileName}`)\r\n// .then((registration) => {\r\n// console.log('Service Worker registered with scope:', registration.scope)\r\n// })\r\n// .catch((error) => {\r\n// console.error('Service Worker registration failed:', error)\r\n// })\r\n// })\r\n// .catch((error) => {\r\n// console.error('Failed to fetch Service Worker manifest:', error)\r\n// })\r\n// }\r\n\r\nif (__APP_ENV__ == 'app_staging') {\r\n import('vconsole').then(({ default: VConsole }) => {\r\n new VConsole({ theme: 'dark' })\r\n })\r\n} else if (__APP_ENV__ !== 'app') {\r\n window.addEventListener('beforeinstallprompt', (event) => {\r\n // 阻止默认的安装提示\r\n event.preventDefault()\r\n // 保存事件以便稍后触发\r\n window.deferredPrompt = event\r\n // 显示安装按钮\r\n // document.getElementById('installPWA')?.classList.remove('hidden')\r\n })\r\n window.addEventListener('appinstalled', () => {\r\n console.log('PWA 已安装')\r\n // alert('感谢您安装本应用!')\r\n })\r\n}\r\n\r\nlet lastTouchEnd = 0\r\n\r\ndocument.addEventListener(\r\n 'touchend',\r\n (event) => {\r\n const now = new Date().getTime()\r\n if (now - lastTouchEnd <= 300) {\r\n event.preventDefault()\r\n }\r\n lastTouchEnd = now\r\n },\r\n false\r\n)\r\n\r\nconst app = createApp(App)\r\napp.use(createPinia())\r\napp.use(i18n)\r\napp.use(router)\r\napp.use(VantResolve)\r\napp.use(MGTag, router)\r\n// app.use(updateSW)\r\neventBus(app)\r\n\r\napp.mount('#app')\r\n"],"file":"assets/index-BzsR6s_l.js"}