{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./app/javascript/packs/posts.js","webpack:///./node_modules/@lottiefiles/lottie-player/dist/lottie-player.esm.js","webpack:///(webpack)/buildin/global.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","runtime","Op","hasOwn","$Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","obj","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","state","method","arg","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","done","makeInvokeMethod","fn","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","this","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","resolve","reject","invoke","result","__await","then","unwrapped","error","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","constructor","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","toString","keys","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","REACT_ELEMENT_TYPE","_defineProperty2","_get2","target","receiver","Reflect","base","_superPropBase2","desc","getOwnPropertyDescriptor","_getPrototypeOf2","_slicedToArray2","arr","_arrayWithHoles2","_iterableToArrayLimit2","_unsupportedIterableToArray2","_nonIterableRest2","_arr","_n","_d","_e","_s","_i","Array","isArray","_toConsumableArray2","_arrayWithoutHoles2","_iterableToArray2","_nonIterableSpread2","from","_arrayLikeToArray2","_inherits2","subClass","superClass","_setPrototypeOf2","_createSuper2","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct2","Super","NewTarget","construct","arguments","apply","_possibleConstructorReturn2","_typeof2","_assertThisInitialized2","ReferenceError","_wrapNativeSuper2","Class","_cache","Map","_isNativeFunction2","has","set","Wrapper","_construct2","Parent","args","a","instance","sham","Proxy","Date","e","indexOf","_createForOfIteratorHelper2","allowArrayLike","it","F","_e2","f","normalCompletion","didErr","step","_e3","minLen","test","len","arr2","_classCallCheck2","Constructor","__defineProperties","props","descriptor","_createClass2","protoProps","staticProps","_asyncIterator","AsyncFromSyncIterator","_jsx","defaultProps","children","h","$$typeof","ref","_owner","ownKeys","getOwnPropertySymbols","filter","_objectSpread2","_defineProperty","getOwnPropertyDescriptors","defineProperties","_typeof","_wrapRegExp","RegExp","WeakMap","_setPrototypeOf","reduce","_inherits","exec","groups","replace","_AwaitValue","wrapped","_AsyncGenerator","_wrapAsyncGenerator","_awaitAsyncGenerator","_asyncGeneratorDelegate","asyncGeneratorStep","_asyncToGenerator","_classCallCheck","_defineProperties","_createClass","_defineEnumerableProperties","_defaults","getOwnPropertyNames","_extends","assign","_objectSpread","_inheritsLoose","_getPrototypeOf","_isNativeReflectConstruct","Boolean","valueOf","_construct","_isNativeFunction","_wrapNativeSuper","_instanceof","hasInstance","_interopRequireDefault","_getRequireWildcardCache","_interopRequireWildcard","_newArrowCheck","_objectDestructuringEmpty","_objectWithoutPropertiesLoose","_objectWithoutProperties","propertyIsEnumerable","_assertThisInitialized","_possibleConstructorReturn","_createSuper","_superPropBase","_get","_set","_taggedTemplateLiteral","freeze","raw","_taggedTemplateLiteralLoose","_readOnlyError","_writeOnlyError","_classNameTDZError","_temporalUndefined","_tdz","_temporalRef","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_slicedToArrayLoose","_iterableToArrayLimitLoose","_toArray","_iterableToArray","_toConsumableArray","_arrayWithoutHoles","_nonIterableSpread","_arrayLikeToArray","_maybeArrayLike","_step","_createForOfIteratorHelper","_createForOfIteratorHelperLoose","_skipFirstGeneratorNext","_toPrimitive","toPrimitive","String","Number","_toPropertyKey","_initializerWarningHelper","_initializerDefineProperty","initializer","_applyDecoratedDescriptor","id","_classPrivateFieldLooseKey","_classPrivateFieldLooseBase","_classPrivateFieldGet","_classApplyDescriptorGet","_classExtractFieldDescriptor","_classPrivateFieldSet","_classApplyDescriptorSet","_classPrivateFieldDestructureSet","_classApplyDescriptorDestructureSet","_classStaticPrivateFieldSpecGet","_classCheckPrivateStaticAccess","_classCheckPrivateStaticFieldDescriptor","_classStaticPrivateFieldSpecSet","_classStaticPrivateMethodGet","_classStaticPrivateMethodSet","__destrObj","_classStaticPrivateFieldDestructureSet","_decorate","_getDecoratorsApi","initializeInstanceElements","elements","decorateClass","_coalesceClassElements","map","_createElementDescriptor","initializeClassElements","runClassFinishers","finishers","elementsDefinitionOrder","kind","placement","defineClassElement","own","addElementPlacement","_hasDecorators","decorateElement","element","extras","decorateConstructor","decorators","splice","fromElementDescriptor","toElementFinisherExtras","finisher","fromClassDescriptor","toClassDescriptor","toElementDescriptors","toElementDescriptor","disallowProperty","_optionalCallableProperty","_coalesceGetterSetter","find","_isDataDescriptor","_classPrivateMethodGet","_checkPrivateRedeclaration","_classPrivateFieldInitSpec","_classPrivateMethodInitSpec","add","_classPrivateMethodSet","_extendStatics2","__extends","_assign2","__rest","__decorate","decorate","__param","__metadata","metadata","__awaiter","__generator","label","trys","ops","__createBinding","__exportStar","__values","__read","__spread","concat","__spreadArrays","__spreadArray","v","__asyncGenerator","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","__setModuleDefault","__importStar","__importDefault","__classPrivateFieldGet","__classPrivateFieldSet","t$3","window","ShadowRoot","ShadyCSS","nativeShadow","Document","CSSStyleSheet","e$8","n$5","s$3","_$cssResult$","cssText","replaceSync","o$5","r$3","i$3","adoptedStyleSheets","styleSheet","document","createElement","litNonce","setAttribute","textContent","appendChild","S$1","_step2","_iterator","cssRules","s$2","e$7","trustedTypes","r$2","emptyScript","h$2","reactiveElementPolyfillSupport","o$4","toAttribute","JSON","stringify","fromAttribute","parse","n$4","l$3","attribute","converter","reflect","hasChanged","t$2","a$1","_HTMLElement","_super","_this","_$Et","isUpdatePending","hasUpdated","_$Ei","_this2","_$Ep","enableUpdating","_$AL","_$Em","requestUpdate","_$Eg","renderRoot","isConnected","hostConnected","_this3","elementProperties","shadowRoot","attachShadow","shadowRootOptions","elementStyles","createRenderRoot","hostDisconnected","_$AK","_$Eh","removeAttribute","_$Eu","getPropertyOptions","_$E_","_$EC","_callee","_context","t0","scheduleUpdate","t1","performUpdate","_this4","shouldUpdate","willUpdate","hostUpdate","update","_$EU","_$AE","hostUpdated","firstUpdated","updated","_this5","_$ES","getUpdateComplete","finalize","noAccessor","getPropertyDescriptor","finalized","_step3","properties","_iterator2","createProperty","finalizeStyles","styles","_step4","_iterator3","Set","flat","unshift","toLowerCase","_this6","HTMLElement","ReactiveElement","globalThis","reactiveElementVersions","i$2","s$1","createPolicy","createHTML","e$6","Math","random","o$3","n$3","l$2","h$1","createComment","r$1","u","_","g","_$litType$","strings","$","y","b","w","T","x","renderBefore","_$litPart$","N","insertBefore","_$AI","A","createTreeWalker","C","lastIndex","startsWith","P","E","parts","_C2","el","currentNode","content","firstChild","remove","append","childNodes","nextNode","nodeType","hasAttributes","_step5","_iterator4","getAttributeNames","endsWith","getAttribute","split","index","M","H","I","S","_i2","_d2","tagName","data","innerHTML","_$Cl","_$Cu","_$litDirective$","_$AO","_$AT","_$AS","V","_$AN","_$AD","_$AM","_this$_$AD","creationScope","importNode","nextSibling","L","_step6","_iterator5","parentNode","_$AU","_$AH","_$AA","_$AB","options","_$Cg","_$AR","createTextNode","_$AC","_step7","_iterator6","_$AP","fill","k","_S","_super2","_this7","_k","_S2","_super3","_this8","_S3","_super4","_this9","capture","once","passive","removeEventListener","addEventListener","host","handleEvent","R","D","j","O","B","W","Z","z","litHtmlPolyfillSupport","l$1","o$2","litHtmlVersions","_a$","_super5","_this10","renderOptions","_$Dt","render","setConnected","_$litElement$","litElementHydrateSupport","LitElement","n$2","litElementPolyfillSupport","litElementVersions","n$1","customElements","i$1","originalKey","e$5","t$1","e$4","_t","o$1","e$3","querySelector","e$2","querySelectorAll","e$1","_callee2","_context2","updateComplete","HTMLSlotElement","assignedElements","assignedNodes","Node","ELEMENT_NODE","_ref","slot","selector","matches","flatten","commonjsGlobal","global","getDefaultExportFromCjs","getDefaultExportFromNamespaceIfPresent","getDefaultExportFromNamespaceIfNotNamed","getAugmentedNamespace","commonjsRequire","lottie$1","root","factory","navigator","svgNS","locationHref","initialDefaultFrame","_useWebWorker","subframeEnabled","idPrefix","expressionsPlugin","isSafari","userAgent","cachedColors","bmRnd","bmPow","pow","bmSqrt","sqrt","bmFloor","floor","bmMax","max","bmMin","min","BMMath","ProjectInterface","abs","createSizedArray","defaultCurveSegments","degToRads","PI","roundCorner","roundValues","round","styleDiv","style","position","top","left","display","transformOrigin","webkitTransformOrigin","backfaceVisibility","webkitBackfaceVisibility","transformStyle","webkitTransformStyle","mozTransformStyle","BMEnterFrameEvent","currentTime","totalTime","direction","BMCompleteEvent","BMCompleteLoopEvent","currentLoop","totalLoops","BMSegmentStartEvent","firstFrame","totalFrames","BMDestroyEvent","BMRenderFrameErrorEvent","nativeError","BMConfigErrorEvent","BMAnimationConfigErrorEvent","createElementID","_count","HSVtoRGB","RGBtoHSV","addSaturationToRGB","addBrightnessToRGB","addHueToRGB","rgbToHex","BaseEvent","triggerEvent","_cbs","createTypedArray","Uint8ClampedArray","Float32Array","Int16Array","createNS","createElementNS","createTag","DynamicPropertyContainer","addDynamicProperty","dynamicProperties","container","_isAnimated","iterateDynamicProperties","_mdf","getValue","initDynamicPropertyContainer","getBlendMode","blendModeEnums","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","lineCapEnum","lineJoinEnum","Matrix","cos","sin","tan","shear","_identityCalculated","_identity","getInverseMatrix","applyToPointArray","isIdentity","rotate","rotateX","rotateY","rotateZ","skew","skewFromAxis","scale","setTransform","translate","transform","applyToPoint","applyToX","applyToY","applyToZ","applyToTriplePoints","applyToPointStringified","toCSS","to2dCSS","clone","cloneFromProps","equals","inversePoints","inversePoint","charCodeAt","fromCharCode","seedrandom","entropy","Uint8Array","crypto","msCrypto","getRandomValues","plugins","screen","int32","quick","pass","BezierFactory","getBezierEasing","_p","_mSampleValues","_precomputed","_precompute","_getTForX","_calcSampleValues","extendPrototype","getDescriptor","createProxyFunction","bezFunction","_r","bezierLengthPool","newElement","percents","lengths","addedLength","segmentLength","points","partialLength","point","getSegmentsLength","segmentsLengthPool","_length","totalLength","getNewSegment","getPointInSegment","buildBezierData","pointOnLine2D","pointOnLine3D","requestAnimationFrame","cancelAnimationFrame","getTime","setTimeout","clearTimeout","bez","dataManager","onmessage","postMessage","_workerSelf","Worker","Blob","URL","createObjectURL","completed","tt","td","hasMask","masksProperties","pt","ty","layers","refId","shapes","__used","ks","assets","chars","__converted","closed","cl","singleShape","completeData","__complete","checkColors","checkChars","checkPathProperties","checkShapes","completeLayers","assetLoader","getResponseHeader","responseType","response","responseText","load","XMLHttpRequest","onreadystatechange","readyState","status","open","send","path","fullPath","payload","animation","onComplete","onError","loadAnimation","location","origin","pathname","loadData","completeAnimation","getFontProperties","fStyle","weight","fWeight","FontManager","size","fontFamily","innerText","fontSize","fontVariant","fontStyle","fontWeight","letterSpacing","body","offsetWidth","join","node","parent","fFamily","fClass","getContext","font","fonts","typekitLoaded","isLoaded","_warned","initTime","now","setIsLoadedBinded","setIsLoaded","checkLoadedFontsBinded","checkLoadedFonts","isModifier","isZeroWidthJoiner","isCombinedCharacter","addChars","ch","addFonts","list","loaded","monoCase","sansCase","fPath","fOrigin","href","rel","src","helper","cache","getCharData","console","warn","getFontByName","fName","measureText","getComputedTextLength","removeChild","PropertyFactory","offsetTime","propType","pv","keyframes","keyframesMetadata","to","bezierData","ti","__fnct","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","sh","acos","atan2","asin","keyframeMetadata","comp","renderedFrame","_caching","interpolateValue","mult","elem","globalData","frameId","effectsSequence","lock","setVValue","_isFirstFrame","kf","vel","addEffect","st","getProp","TransformPropertyFactory","pre","appliedTransformations","px","py","pz","rx","ry","rz","or","sk","sa","_isDirty","applyToMatrix","precalculateMatrix","autoOriented","frameRate","getValueAtTime","autoOrient","_addDynamicProperty","getTransformProperty","ShapePath","_maxLength","setPathData","setLength","pointPool","doubleArrayLength","setXYAt","setTripleAt","ShapePropertyFactory","interpolateShape","paths","localShapeCollection","shapePool","releaseShapes","addShape","shapeCollectionPool","newShapeCollection","convertEllToPath","sy","ir","is","convertToPath","convertStarToPath","convertPolygonToPath","os","convertRectToPath","getShapeProp","getConstructorFunction","getKeyframedConstructorFunction","ShapeModifiers","ob","modifiers","registerModifier","getModifier","ShapeModifier","TrimModifier","RoundCornersModifier","PuckerAndBloatModifier","RepeaterModifier","ShapeCollection","DashProperty","dataProps","renderer","dashStr","dashArray","dashoffset","GradientProperty","_cmdf","_omdf","_collapsable","checkCollapsable","_hasOpacity","prop","initModifierProperties","addShapeToModifier","shape","setAsAnimated","init","processKeys","sValue","eValue","pathsData","calculateShapeEdges","releasePathsData","release","processShapes","totalShapeLength","addShapes","addPaths","addSegment","addSegmentFromArray","rd","processPath","amount","tr","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","matrix","applyTransforms","pos","elemsData","_currentCopies","_elements","_groups","resetElements","_processed","cloneElements","changeGroupRender","_render","ceil","ix","nm","reloadShapes","op","mProps","comparePoints","buildShapeString","audioControllerFactory","audios","audioFactory","_volume","_isMuted","addAudio","pause","resume","setRate","createAudio","Howl","isPlaying","play","seek","playing","rate","setVolume","setAudioFactory","_updateVolume","mute","unmute","getVolume","volume","ImagePreloader","width","height","fillStyle","fillRect","loadedAssets","totalImages","loadedFootagesCount","totalFootages","imagesLoadedCb","setInterval","getBBox","_imageLoaded","clearInterval","assetData","assetsPath","img","_footageLoaded","testImageLoaded","createFootageData","images","loadAssets","_createImageData","setAssetsPath","setPath","loadedImages","loadedFootages","destroy","getAsset","createImgData","crossOrigin","createImageData","setAttributeNS","_elementHelper","imageLoaded","footageLoaded","setCacheType","featureSupport","maskType","filtersFactory","createFilter","createAlphaToLuminanceFilter","TextAnimatorProperty","_hasMaskedPath","_frameId","_textData","_renderType","_elem","_animatorsData","_pathData","_moreOptions","alignment","renderedLetters","lettersChangedFlag","TextAnimatorDataProperty","sw","sc","fc","fh","fs","fb","TextSelectorProp","getTextSelectorProp","LetterProps","TextProperty","keysIndex","canResize","minimumFontSize","currentData","ascent","boxWidth","defaultBoxWidth","justifyOffset","lh","lineWidths","ls","of","sz","ps","fillColorAnim","strokeColorAnim","strokeWidthAnim","yOffset","finalSize","finalText","finalLineHeight","copyData","searchProperty","completeTextData","searchProperties","maskManager","getMaskProperty","getMeasures","mHelper","tLength","segments","pi","G","q","U","Y","X","K","J","Q","et","defaultPropsArray","rt","at","nt","animatorJustifyOffset","getMult","anIndexes","totalChars","line","ind","extra","an","ot","ht","atan","setCurrentData","searchKeyframes","getKeyframeValue","buildFinalText","substr","fontManager","val","rn","updateDocumentData","recalculate","canResizeFont","setMinimumFontSize","_currentTextLength","finalS","finalE","xe","ne","sm","textProperty","poolFactory","pooling","markerParser","trim","time","tm","duration","dr","cm","BaseRenderer","SVGRenderer","animationItem","svgElement","title","description","layerElement","renderConfig","preserveAspectRatio","imagePreserveAspectRatio","contentVisibility","progressiveLoad","hideOnTransparent","viewBoxOnly","viewBoxSize","className","focusable","filterSize","frameNum","defs","pendingElements","destroyed","rendererType","CanvasRenderer","clearCanvas","dpr","wrapper","devicePixelRatio","currentGlobalAlpha","contextData","CVContextData","transformMat","HybridRenderer","threeDElements","camera","supports3d","MaskElement","storedData","maskElement","viewData","solidPath","inv","lastPath","expan","lastOperator","filterId","lastRadius","createLayerSolidPath","invRect","drawPath","maskedElement","addRenderableComponent","HierarchyElement","FrameElement","TransformElement","RenderableElement","RenderableDOMElement","ProcessedElement","SVGStyleData","lvl","hd","pElem","msElem","SVGShapeData","caches","transformers","lStr","SVGTransformData","SVGStrokeStyleData","SVGFillStyleData","SVGGradientFillStyleData","initGradientData","SVGGradientStrokeStyleData","ShapeGroupData","prevViewData","gr","checkLayers","ip","buildItem","checkPendingElements","createItem","createImage","createComp","createSolid","createNull","createShape","createText","createCamera","createFootage","AudioElement","FootageElement","buildAllItems","includeLayers","setProjectInterface","projectInterface","initItems","buildElementParenting","setAsParent","setHierarchy","addPendingElement","searchExtraCompositions","xt","initExpressions","registerComposition","setupGlobalData","getAssetData","getAssetsPath","imageLoader","imagePreloader","audioController","fr","compSize","NullElement","SVGShapeElement","SVGTextLottieElement","IImageElement","SVGCompElement","ISolidElement","configAnimation","updateContainerSize","appendElementInPos","setMatte","layerId","checkParenting","renderFrame","currentFrame","prepareFrame","getBaseElement","hide","show","CVShapeElement","CVTextElement","CVImageElement","CVCompElement","CVSolidElement","ctxTransform","cTr","canvasContext","ctxOpacity","globalAlpha","cO","restore","save","cArrPos","duplicate","saved","savedOp","blendMode","mozTransformOrigin","transformCanvas","sx","tx","isDashed","offsetHeight","canvas","beginPath","rect","closePath","clip","clearRect","ddd","addTo3dContainer","getThreeDContainerByPos","HShapeElement","HTextElement","HCameraElement","HImageElement","HCompElement","HSolidElement","startPos","endPos","perspectiveElem","createThreeDContainer","webkitTransform","build3dContainers","resizerElem","overflow","setup","webkitPerspective","perspective","finalTransform","mat","mProp","getMaskelement","initHierarchy","hierarchy","_isParent","initFrame","prepareProperties","initTransform","_matMdf","_opMdf","ao","renderTransform","globalToLocal","initRenderable","isInRange","hidden","isTransparent","renderableComponents","removeRenderableComponent","prepareRenderableFrame","checkLayerLimits","checkTransparency","renderRenderable","sourceRectAtTime","getLayerSize","textData","initElement","initBaseData","initRendererElement","createContainerElements","createRenderableComponents","createContent","baseElement","renderElement","renderInnerContent","innerElem","destroyBaseElement","stops","setGradientData","setGradientOpacity","gf","cst","lc","lj","ml","ms","ost","maskId","SVGElementsRenderer","createRenderFunction","ShapeTransformManager","sequences","sequenceList","transform_key_count","CVShapeData","styledShapes","transforms","addTransformSequence","trNodes","BaseElement","SVGBaseElement","IShapeElement","ITextElement","ICompElement","sourceRect","_isPlaying","_canPlay","audio","_currentTime","_placeholder","footageData","textSpans","renderType","shapesData","stylesList","shapeModifiers","itemsData","processedElements","animatedContents","SVGTintFilter","filterManager","matrixFilter","effectElements","SVGFillFilter","SVGGaussianBlurEffect","feGaussianBlur","SVGStrokeEffect","initialized","SVGTritoneFilter","feFuncR","feFuncG","feFuncB","SVGProLevelsFilter","createFeFunc","feFuncA","feFuncRComposed","feFuncGComposed","feFuncBComposed","SVGDropShadowEffect","feOffset","feFlood","feMergeNode","feMerge","originalNodeAdded","processSequence","processSequences","getNewKey","checkMasks","layerInterface","LayerExpressionInterface","registerMaskInterface","EffectsExpressionInterface","createEffectsInterface","registerEffectsInterface","compInterface","CompExpressionInterface","shapeInterface","ShapeExpressionInterface","textInterface","TextExpressionInterface","text","setBlendMode","bm","sr","effectsManager","EffectsManager","getType","matteElement","transformedElement","_sizeChanged","ln","renderableEffectsManager","SVGEffects","addShapeToModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","renderModifiers","searchProcessedElement","addProcessedElement","textAnimator","buildNewText","createPathShape","applyTextPropertiesToMatrix","buildColor","emptyProp","setElements","getElements","destroyElements","pr","FootageInterface","getFootageData","textContainer","buildTextContents","bbox","initSecondaryElement","identityMatrix","buildExpressionInterface","searchShapes","filterUniqueShapes","setShapesAsAnimated","createStyleElement","addToAnimatedContents","createGroupElement","createTransformElement","createShapeElement","setElementStyles","renderShape","initialize","masker","pathMasker","getTotalLength","getTableValue","_svgMatteSymbols","SVGMatte3Effect","filterElem","ef","filters","CVBaseElement","CVMaskElement","hasMasks","transformsManager","stroke","currentRender","sWidth","fValue","CVEffects","HBaseElement","shapesContainer","currentBBox","textPaths","isMasked","pe","_prevMat","HEffects","findSymbol","replaceInParent","setElementAsMask","createElements","globalCompositeOperation","hideElement","showElement","drawImage","moveTo","lineTo","bezierCurveTo","transformHelper","opacity","dashResetter","preTransforms","co","wi","da","addTransformToStyleList","removeTransformFromStyleList","closeStyles","_shouldRender","renderShapeTransform","drawLayer","coOp","strokeStyle","grd","lineWidth","lineCap","lineJoin","miterLimit","setLineDash","lineDashOffset","pts","renderPath","renderFill","renderStroke","renderGradientFill","renderStyledShape","createLinearGradient","createRadialGradient","addColorStop","tHelper","checkBlendMode","tg","addEffects","backgroundColor","_createBaseContainerElements","_renderShapeFrame","shapeCont","getTransformedPoint","calculateShapeBoundingBox","checkBounds","getBoundsOfCurve","shapeBoundingBox","xMax","right","yMax","bottom","tempBoundingBox","calculateF","calculateBoundingBox","currentBoxContains","compW","compH","color","strokeWidth","lineHeight","Image","imageElem","animationManager","isPaused","AnimationItem","setData","advanceTime","registerAnimation","setParams","setSpeed","setDirection","togglePause","searchAnimations","getElementsByClassName","getElementsByTagName","resize","goToAndStop","unfreeze","getRegisteredAnimations","currentRawFrame","frameMult","playSpeed","playDirection","playCount","animationData","autoplay","loop","animationID","timeCompleted","segmentPos","isSubframeEnabled","_idle","_completedLoop","markers","onSetupError","onSegmentComplete","animType","rendererSettings","parseInt","autoloadSegments","initialSegment","setupAnimation","lastIndexOf","fileName","trigger","attributes","getNamedItem","prerender","loadNextSegment","loadSegments","imagesLoaded","checkLoaded","preloadImages","updaFrameModifier","waitForFontsLoaded","triggerConfigError","gotoFrame","setSubframe","triggerRenderFrameError","setCurrentRawFrameValue","getMarkerData","frameModifier","goToAndPlay","playSegments","checkSegments","adjustSegment","setSegment","resetSegments","onEnterFrame","onLoopComplete","onSegmentStart","onDestroy","getPath","getDuration","Expressions","pushExpression","popExpression","registerExpressionProperty","ExpressionManager","fetch","frames","$bm_isInstanceOfArray","isNumerable","$bm_neg","easeInBez","easeOutBez","easeInOutBez","sum","sub","mul","div","mod","$bm_sum","$bm_sub","$bm_mul","$bm_div","$bm_mod","clamp","radiansToDegrees","radians_to_degrees","degreesToRadians","degrees_to_radians","helperLengthArray","normalize","rgbToHsl","hue2rgb","hslToRgb","linear","createPath","initiateExpression","needsVelocity","_needsRandom","elemType","$bm_transform","effect","thisProperty","valueAtTime","frameDuration","displayStartTime","inPoint","outPoint","loopIn","loop_in","loopOut","loop_out","smooth","toWorld","fromWorld","fromComp","toComp","fromCompToSurface","rotation","anchorPoint","thisLayer","thisComp","mask","velocityAtTime","scoped_bm_rt","expression_function","eval","numKeys","active","wiggle","loopInDuration","loopOutDuration","getVelocityAtTime","velocity","textIndex","textTotal","selectorValue","lookAt","easeOut","applyEase","easeIn","ease","nearestKey","framesToTime","timeToFrames","seedRandom","randSeed","substring","posterizeTime","hasParent","executeExpression","frameExpressionId","expressionHelpers","searchExpressions","getSpeedAtTime","_cachingAtTime","getStaticValueAtTime","setGroupProperty","propertyGroup","_transformCachingAtTime","propertyIndex","vertices","inTangents","outTangents","isClosed","pointOnPath","_segmentsLength","vectorOnPath","tangentOnPath","normalOnPath","shapeValue","lastTime","getExpressionValue","calculateExpression","ShapePathInterface","propertyGroupFactory","PropertyInterface","_name","mn","numProperties","cix","np","ExpressionPropertyInterface","startPoint","endPoint","dash","end","start","offset","skewAxis","outerRadius","outerRoundness","innerRoundness","innerRadius","roundness","radius","copies","sourceText","getMatrix","applyPoint","invertPoint","toWorldVec","fromWorldVec","sampleImage","TransformExpressionInterface","anchor_point","startTime","source","MaskManagerInterface","dataInterfaceFactory","outlineInterface","dataInterface","layer","pixelAspect","numLayers","xRotation","yRotation","xPosition","yPosition","zPosition","compositions","enabled","en","_mask","_data","speedAtTime","TextExpressionSelectorPropFactory","lastValue","propertyGetTextProp","SliderEffect","AngleEffect","ColorEffect","PointEffect","LayerIndexEffect","MaskIndexEffect","CheckboxEffect","NoValueEffect","GroupEffect","lottie","setLocationHref","standalone","setSubframeRendering","setIDPrefix","setQuality","inBrowser","installPlugin","getFactory","checkReady","readyStateCheckInterval","getQueryVariable","queryString","decodeURIComponent","useWebWorker","__getFactory","version","scripts","myScript","bodymovin","_templateObject$1","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","PlayerState","PlayMode","PlayerEvents","parseSrc","isLottie","every","fromURL","_fromURL","_callee3","_context3","json","Destroyed","Frozen","Loading","Paused","Playing","Stopped","Bounce","Normal","Complete","Frame","Freeze","Load","Loop","Pause","Play","Ready","Rendered","Stop","LottiePlayer","_s2","_super6","_this11","background","controls","currentState","hover","intermission","speed","_io","_counter","_callee4","_context4","_lottie","webworkers","_attachEventListeners","dispatchEvent","CustomEvent","seeker","XMLSerializer","serializeToString","encodeURIComponent","download","click","setLooping","_this12","disconnect","_onVisibilityChange","renderControls","_this13","IntersectionObserver","isIntersecting","observe","_this14","togglePlay","_handleSeekChange","_prevState","toggleLooping","_this15","detail","frame","count"],"mappings":"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","file":"js/posts-848a6129f32869cbebdf.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 203);\n","module.exports = require(\"regenerator-runtime\");\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","import \"@lottiefiles/lottie-player\";\n","import _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\nfunction _defineProperty2(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _get2(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get2 = Reflect.get; } else { _get2 = function _get(target, property, receiver) { var base = _superPropBase2(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get2(target, property, receiver || target); }\n\nfunction _superPropBase2(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf2(object); if (object === null) break; } return object; }\n\nfunction _slicedToArray2(arr, i) { return _arrayWithHoles2(arr) || _iterableToArrayLimit2(arr, i) || _unsupportedIterableToArray2(arr, i) || _nonIterableRest2(); }\n\nfunction _nonIterableRest2() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit2(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles2(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _toConsumableArray2(arr) { return _arrayWithoutHoles2(arr) || _iterableToArray2(arr) || _unsupportedIterableToArray2(arr) || _nonIterableSpread2(); }\n\nfunction _nonIterableSpread2() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray2(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles2(arr) { if (Array.isArray(arr)) return _arrayLikeToArray2(arr); }\n\nfunction _inherits2(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf2(subClass, superClass); }\n\nfunction _createSuper2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct2(); return function _createSuperInternal() { var Super = _getPrototypeOf2(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf2(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn2(this, result); }; }\n\nfunction _possibleConstructorReturn2(self, call) { if (call && (_typeof2(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized2(self); }\n\nfunction _assertThisInitialized2(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper2(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper2 = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction2(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct2(Class, arguments, _getPrototypeOf2(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf2(Wrapper, Class); }; return _wrapNativeSuper2(Class); }\n\nfunction _construct2(Parent, args, Class) { if (_isNativeReflectConstruct2()) { _construct2 = Reflect.construct; } else { _construct2 = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf2(instance, Class.prototype); return instance; }; } return _construct2.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction2(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf2(o, p) { _setPrototypeOf2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf2(o, p); }\n\nfunction _getPrototypeOf2(o) { _getPrototypeOf2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf2(o); }\n\nfunction _createForOfIteratorHelper2(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray2(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray2(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray2(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray2(o, minLen); }\n\nfunction _arrayLikeToArray2(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction __defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass2(Constructor, protoProps, staticProps) { if (protoProps) __defineProperties(Constructor.prototype, protoProps); if (staticProps) __defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _asyncIterator(t) {\n var e,\n r,\n i,\n a = 2;\n\n for (\"undefined\" != typeof Symbol && (r = Symbol.asyncIterator, i = Symbol.iterator); a--;) {\n if (r && null != (e = t[r])) return e.call(t);\n if (i && null != (e = t[i])) return new AsyncFromSyncIterator(e.call(t));\n r = \"@@asyncIterator\", i = \"@@iterator\";\n }\n\n throw new TypeError(\"Object is not async iterable\");\n}\n\nfunction AsyncFromSyncIterator(t) {\n function e(t) {\n if (Object(t) !== t) return Promise.reject(new TypeError(t + \" is not an object.\"));\n var e = t.done;\n return Promise.resolve(t.value).then(function (t) {\n return {\n value: t,\n done: e\n };\n });\n }\n\n return AsyncFromSyncIterator = function AsyncFromSyncIterator(t) {\n this.s = t, this.n = t.next;\n }, AsyncFromSyncIterator.prototype = {\n s: null,\n n: null,\n next: function next() {\n return e(this.n.apply(this.s, arguments));\n },\n \"return\": function _return(t) {\n var r = this.s[\"return\"];\n return void 0 === r ? Promise.resolve({\n value: t,\n done: !0\n }) : e(r.apply(this.s, arguments));\n },\n \"throw\": function _throw(t) {\n var r = this.s[\"return\"];\n return void 0 === r ? Promise.reject(t) : e(r.apply(this.s, arguments));\n }\n }, new AsyncFromSyncIterator(t);\n}\n\nvar REACT_ELEMENT_TYPE;\n\nfunction _jsx(t, e, r, i) {\n REACT_ELEMENT_TYPE || (REACT_ELEMENT_TYPE = \"function\" == typeof Symbol && Symbol[\"for\"] && Symbol[\"for\"](\"react.element\") || 60103);\n var a = t && t.defaultProps,\n s = arguments.length - 3;\n if (e || 0 === s || (e = {\n children: void 0\n }), 1 === s) e.children = i;else if (s > 1) {\n for (var n = new Array(s), o = 0; o < s; o++) {\n n[o] = arguments[o + 3];\n }\n\n e.children = n;\n }\n if (e && a) for (var h in a) {\n void 0 === e[h] && (e[h] = a[h]);\n } else e || (e = a || {});\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: t,\n key: void 0 === r ? null : \"\" + r,\n ref: null,\n props: e,\n _owner: null\n };\n}\n\nfunction ownKeys(t, e) {\n var r = Object.keys(t);\n\n if (Object.getOwnPropertySymbols) {\n var i = Object.getOwnPropertySymbols(t);\n e && (i = i.filter(function (e) {\n return Object.getOwnPropertyDescriptor(t, e).enumerable;\n })), r.push.apply(r, i);\n }\n\n return r;\n}\n\nfunction _objectSpread2(t) {\n for (var e = 1; e < arguments.length; e++) {\n var r = null != arguments[e] ? arguments[e] : {};\n e % 2 ? ownKeys(Object(r), !0).forEach(function (e) {\n _defineProperty(t, e, r[e]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(r)) : ownKeys(Object(r)).forEach(function (e) {\n Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(r, e));\n });\n }\n\n return t;\n}\n\nfunction _typeof(t) {\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == _typeof2(Symbol.iterator) ? function (t) {\n return _typeof2(t);\n } : function (t) {\n return t && \"function\" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? \"symbol\" : _typeof2(t);\n }, _typeof(t);\n}\n\nfunction _wrapRegExp() {\n _wrapRegExp = function _wrapRegExp(t, e) {\n return new r(t, void 0, e);\n };\n\n var t = RegExp.prototype,\n e = new WeakMap();\n\n function r(t, i, a) {\n var s = new RegExp(t, i);\n return e.set(s, a || e.get(t)), _setPrototypeOf(s, r.prototype);\n }\n\n function i(t, r) {\n var i = e.get(r);\n return Object.keys(i).reduce(function (e, r) {\n return e[r] = t[i[r]], e;\n }, Object.create(null));\n }\n\n return _inherits(r, RegExp), r.prototype.exec = function (e) {\n var r = t.exec.call(this, e);\n return r && (r.groups = i(r, this)), r;\n }, r.prototype[Symbol.replace] = function (r, a) {\n if (\"string\" == typeof a) {\n var s = e.get(this);\n return t[Symbol.replace].call(this, r, a.replace(/\\$<([^>]+)>/g, function (t, e) {\n return \"$\" + s[e];\n }));\n }\n\n if (\"function\" == typeof a) {\n var n = this;\n return t[Symbol.replace].call(this, r, function () {\n var t = arguments;\n return \"object\" != _typeof2(t[t.length - 1]) && (t = [].slice.call(t)).push(i(t, n)), a.apply(this, t);\n });\n }\n\n return t[Symbol.replace].call(this, r, a);\n }, _wrapRegExp.apply(this, arguments);\n}\n\nfunction _AwaitValue(t) {\n this.wrapped = t;\n}\n\nfunction _AsyncGenerator(t) {\n var e, r;\n\n function i(e, r) {\n try {\n var s = t[e](r),\n n = s.value,\n o = n instanceof _AwaitValue;\n Promise.resolve(o ? n.wrapped : n).then(function (t) {\n o ? i(\"return\" === e ? \"return\" : \"next\", t) : a(s.done ? \"return\" : \"normal\", t);\n }, function (t) {\n i(\"throw\", t);\n });\n } catch (t) {\n a(\"throw\", t);\n }\n }\n\n function a(t, a) {\n switch (t) {\n case \"return\":\n e.resolve({\n value: a,\n done: !0\n });\n break;\n\n case \"throw\":\n e.reject(a);\n break;\n\n default:\n e.resolve({\n value: a,\n done: !1\n });\n }\n\n (e = e.next) ? i(e.key, e.arg) : r = null;\n }\n\n this._invoke = function (t, a) {\n return new Promise(function (s, n) {\n var o = {\n key: t,\n arg: a,\n resolve: s,\n reject: n,\n next: null\n };\n r ? r = r.next = o : (e = r = o, i(t, a));\n });\n }, \"function\" != typeof t[\"return\"] && (this[\"return\"] = void 0);\n}\n\nfunction _wrapAsyncGenerator(t) {\n return function () {\n return new _AsyncGenerator(t.apply(this, arguments));\n };\n}\n\nfunction _awaitAsyncGenerator(t) {\n return new _AwaitValue(t);\n}\n\nfunction _asyncGeneratorDelegate(t, e) {\n var r = {},\n i = !1;\n\n function a(r, a) {\n return i = !0, a = new Promise(function (e) {\n e(t[r](a));\n }), {\n done: !1,\n value: e(a)\n };\n }\n\n return r[\"undefined\" != typeof Symbol && Symbol.iterator || \"@@iterator\"] = function () {\n return this;\n }, r.next = function (t) {\n return i ? (i = !1, t) : a(\"next\", t);\n }, \"function\" == typeof t[\"throw\"] && (r[\"throw\"] = function (t) {\n if (i) throw i = !1, t;\n return a(\"throw\", t);\n }), \"function\" == typeof t[\"return\"] && (r[\"return\"] = function (t) {\n return i ? (i = !1, t) : a(\"return\", t);\n }), r;\n}\n\nfunction asyncGeneratorStep(t, e, r, i, a, s, n) {\n try {\n var o = t[s](n),\n h = o.value;\n } catch (t) {\n return void r(t);\n }\n\n o.done ? e(h) : Promise.resolve(h).then(i, a);\n}\n\nfunction _asyncToGenerator(t) {\n return function () {\n var e = this,\n r = arguments;\n return new Promise(function (i, a) {\n var s = t.apply(e, r);\n\n function n(t) {\n asyncGeneratorStep(s, i, a, n, o, \"next\", t);\n }\n\n function o(t) {\n asyncGeneratorStep(s, i, a, n, o, \"throw\", t);\n }\n\n n(void 0);\n });\n };\n}\n\nfunction _classCallCheck(t, e) {\n if (!(t instanceof e)) throw new TypeError(\"Cannot call a class as a function\");\n}\n\nfunction _defineProperties(t, e) {\n for (var r = 0; r < e.length; r++) {\n var i = e[r];\n i.enumerable = i.enumerable || !1, i.configurable = !0, \"value\" in i && (i.writable = !0), Object.defineProperty(t, i.key, i);\n }\n}\n\nfunction _createClass(t, e, r) {\n return e && _defineProperties(t.prototype, e), r && _defineProperties(t, r), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), t;\n}\n\nfunction _defineEnumerableProperties(t, e) {\n for (var r in e) {\n (s = e[r]).configurable = s.enumerable = !0, \"value\" in s && (s.writable = !0), Object.defineProperty(t, r, s);\n }\n\n if (Object.getOwnPropertySymbols) for (var i = Object.getOwnPropertySymbols(e), a = 0; a < i.length; a++) {\n var s,\n n = i[a];\n (s = e[n]).configurable = s.enumerable = !0, \"value\" in s && (s.writable = !0), Object.defineProperty(t, n, s);\n }\n return t;\n}\n\nfunction _defaults(t, e) {\n for (var r = Object.getOwnPropertyNames(e), i = 0; i < r.length; i++) {\n var a = r[i],\n s = Object.getOwnPropertyDescriptor(e, a);\n s && s.configurable && void 0 === t[a] && Object.defineProperty(t, a, s);\n }\n\n return t;\n}\n\nfunction _defineProperty(t, e, r) {\n return e in t ? Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : t[e] = r, t;\n}\n\nfunction _extends() {\n return _extends = Object.assign || function (t) {\n for (var e = 1; e < arguments.length; e++) {\n var r = arguments[e];\n\n for (var i in r) {\n Object.prototype.hasOwnProperty.call(r, i) && (t[i] = r[i]);\n }\n }\n\n return t;\n }, _extends.apply(this, arguments);\n}\n\nfunction _objectSpread(t) {\n for (var e = 1; e < arguments.length; e++) {\n var r = null != arguments[e] ? Object(arguments[e]) : {},\n i = Object.keys(r);\n \"function\" == typeof Object.getOwnPropertySymbols && i.push.apply(i, Object.getOwnPropertySymbols(r).filter(function (t) {\n return Object.getOwnPropertyDescriptor(r, t).enumerable;\n })), i.forEach(function (e) {\n _defineProperty(t, e, r[e]);\n });\n }\n\n return t;\n}\n\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && _setPrototypeOf(t, e);\n}\n\nfunction _inheritsLoose(t, e) {\n t.prototype = Object.create(e.prototype), t.prototype.constructor = t, _setPrototypeOf(t, e);\n}\n\nfunction _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\n\nfunction _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf || function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\n\nfunction _isNativeReflectConstruct() {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n\n try {\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;\n } catch (t) {\n return !1;\n }\n}\n\nfunction _construct(t, e, r) {\n return _construct = _isNativeReflectConstruct() ? Reflect.construct : function (t, e, r) {\n var i = [null];\n i.push.apply(i, e);\n var a = new (Function.bind.apply(t, i))();\n return r && _setPrototypeOf(a, r.prototype), a;\n }, _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(t) {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n}\n\nfunction _wrapNativeSuper(t) {\n var e = \"function\" == typeof Map ? new Map() : void 0;\n return _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !_isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n\n if (void 0 !== e) {\n if (e.has(t)) return e.get(t);\n e.set(t, r);\n }\n\n function r() {\n return _construct(t, arguments, _getPrototypeOf(this).constructor);\n }\n\n return r.prototype = Object.create(t.prototype, {\n constructor: {\n value: r,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), _setPrototypeOf(r, t);\n }, _wrapNativeSuper(t);\n}\n\nfunction _instanceof(t, e) {\n return null != e && \"undefined\" != typeof Symbol && e[Symbol.hasInstance] ? !!e[Symbol.hasInstance](t) : t instanceof e;\n}\n\nfunction _interopRequireDefault(t) {\n return t && t.__esModule ? t : {\n \"default\": t\n };\n}\n\nfunction _getRequireWildcardCache(t) {\n if (\"function\" != typeof WeakMap) return null;\n var e = new WeakMap(),\n r = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(t) {\n return t ? r : e;\n })(t);\n}\n\nfunction _interopRequireWildcard(t, e) {\n if (!e && t && t.__esModule) return t;\n if (null === t || \"object\" != _typeof2(t) && \"function\" != typeof t) return {\n \"default\": t\n };\n\n var r = _getRequireWildcardCache(e);\n\n if (r && r.has(t)) return r.get(t);\n var i = {},\n a = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var s in t) {\n if (\"default\" !== s && Object.prototype.hasOwnProperty.call(t, s)) {\n var n = a ? Object.getOwnPropertyDescriptor(t, s) : null;\n n && (n.get || n.set) ? Object.defineProperty(i, s, n) : i[s] = t[s];\n }\n }\n\n return i[\"default\"] = t, r && r.set(t, i), i;\n}\n\nfunction _newArrowCheck(t, e) {\n if (t !== e) throw new TypeError(\"Cannot instantiate an arrow function\");\n}\n\nfunction _objectDestructuringEmpty(t) {\n if (null == t) throw new TypeError(\"Cannot destructure undefined\");\n}\n\nfunction _objectWithoutPropertiesLoose(t, e) {\n if (null == t) return {};\n var r,\n i,\n a = {},\n s = Object.keys(t);\n\n for (i = 0; i < s.length; i++) {\n r = s[i], e.indexOf(r) >= 0 || (a[r] = t[r]);\n }\n\n return a;\n}\n\nfunction _objectWithoutProperties(t, e) {\n if (null == t) return {};\n\n var r,\n i,\n a = _objectWithoutPropertiesLoose(t, e);\n\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(t);\n\n for (i = 0; i < s.length; i++) {\n r = s[i], e.indexOf(r) >= 0 || Object.prototype.propertyIsEnumerable.call(t, r) && (a[r] = t[r]);\n }\n }\n\n return a;\n}\n\nfunction _assertThisInitialized(t) {\n if (void 0 === t) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return t;\n}\n\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof2(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return _assertThisInitialized(t);\n}\n\nfunction _createSuper(t) {\n var e = _isNativeReflectConstruct();\n\n return function () {\n var r,\n i = _getPrototypeOf(t);\n\n if (e) {\n var a = _getPrototypeOf(this).constructor;\n\n r = Reflect.construct(i, arguments, a);\n } else r = i.apply(this, arguments);\n\n return _possibleConstructorReturn(this, r);\n };\n}\n\nfunction _superPropBase(t, e) {\n for (; !Object.prototype.hasOwnProperty.call(t, e) && null !== (t = _getPrototypeOf(t));) {\n ;\n }\n\n return t;\n}\n\nfunction _get() {\n return _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get : function (t, e, r) {\n var i = _superPropBase(t, e);\n\n if (i) {\n var a = Object.getOwnPropertyDescriptor(i, e);\n return a.get ? a.get.call(arguments.length < 3 ? t : r) : a.value;\n }\n }, _get.apply(this, arguments);\n}\n\nfunction set(t, e, r, i) {\n return set = \"undefined\" != typeof Reflect && Reflect.set ? Reflect.set : function (t, e, r, i) {\n var a,\n s = _superPropBase(t, e);\n\n if (s) {\n if ((a = Object.getOwnPropertyDescriptor(s, e)).set) return a.set.call(i, r), !0;\n if (!a.writable) return !1;\n }\n\n if (a = Object.getOwnPropertyDescriptor(i, e)) {\n if (!a.writable) return !1;\n a.value = r, Object.defineProperty(i, e, a);\n } else _defineProperty(i, e, r);\n\n return !0;\n }, set(t, e, r, i);\n}\n\nfunction _set(t, e, r, i, a) {\n if (!set(t, e, r, i || t) && a) throw new Error(\"failed to set property\");\n return r;\n}\n\nfunction _taggedTemplateLiteral(t, e) {\n return e || (e = t.slice(0)), Object.freeze(Object.defineProperties(t, {\n raw: {\n value: Object.freeze(e)\n }\n }));\n}\n\nfunction _taggedTemplateLiteralLoose(t, e) {\n return e || (e = t.slice(0)), t.raw = e, t;\n}\n\nfunction _readOnlyError(t) {\n throw new TypeError('\"' + t + '\" is read-only');\n}\n\nfunction _writeOnlyError(t) {\n throw new TypeError('\"' + t + '\" is write-only');\n}\n\nfunction _classNameTDZError(t) {\n throw new Error('Class \"' + t + '\" cannot be referenced in computed property keys.');\n}\n\nfunction _temporalUndefined() {}\n\nfunction _tdz(t) {\n throw new ReferenceError(t + \" is not defined - temporal dead zone\");\n}\n\nfunction _temporalRef(t, e) {\n return t === _temporalUndefined ? _tdz(e) : t;\n}\n\nfunction _slicedToArray(t, e) {\n return _arrayWithHoles(t) || _iterableToArrayLimit(t, e) || _unsupportedIterableToArray(t, e) || _nonIterableRest();\n}\n\nfunction _slicedToArrayLoose(t, e) {\n return _arrayWithHoles(t) || _iterableToArrayLimitLoose(t, e) || _unsupportedIterableToArray(t, e) || _nonIterableRest();\n}\n\nfunction _toArray(t) {\n return _arrayWithHoles(t) || _iterableToArray(t) || _unsupportedIterableToArray(t) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(t) {\n return _arrayWithoutHoles(t) || _iterableToArray(t) || _unsupportedIterableToArray(t) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(t) {\n if (Array.isArray(t)) return _arrayLikeToArray(t);\n}\n\nfunction _arrayWithHoles(t) {\n if (Array.isArray(t)) return t;\n}\n\nfunction _maybeArrayLike(t, e, r) {\n if (e && !Array.isArray(e) && \"number\" == typeof e.length) {\n var i = e.length;\n return _arrayLikeToArray(e, void 0 !== r && r < i ? r : i);\n }\n\n return t(e, r);\n}\n\nfunction _iterableToArray(t) {\n if (\"undefined\" != typeof Symbol && null != t[Symbol.iterator] || null != t[\"@@iterator\"]) return Array.from(t);\n}\n\nfunction _iterableToArrayLimit(t, e) {\n var r = null == t ? null : \"undefined\" != typeof Symbol && t[Symbol.iterator] || t[\"@@iterator\"];\n\n if (null != r) {\n var i,\n a,\n s = [],\n n = !0,\n o = !1;\n\n try {\n for (r = r.call(t); !(n = (i = r.next()).done) && (s.push(i.value), !e || s.length !== e); n = !0) {\n ;\n }\n } catch (t) {\n o = !0, a = t;\n } finally {\n try {\n n || null == r[\"return\"] || r[\"return\"]();\n } finally {\n if (o) throw a;\n }\n }\n\n return s;\n }\n}\n\nfunction _iterableToArrayLimitLoose(t, e) {\n var r = t && (\"undefined\" != typeof Symbol && t[Symbol.iterator] || t[\"@@iterator\"]);\n\n if (null != r) {\n var i = [];\n\n for (r = r.call(t), _step; !(_step = r.next()).done && (i.push(_step.value), !e || i.length !== e);) {\n ;\n }\n\n return i;\n }\n}\n\nfunction _unsupportedIterableToArray(t, e) {\n if (t) {\n if (\"string\" == typeof t) return _arrayLikeToArray(t, e);\n var r = Object.prototype.toString.call(t).slice(8, -1);\n return \"Object\" === r && t.constructor && (r = t.constructor.name), \"Map\" === r || \"Set\" === r ? Array.from(t) : \"Arguments\" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? _arrayLikeToArray(t, e) : void 0;\n }\n}\n\nfunction _arrayLikeToArray(t, e) {\n (null == e || e > t.length) && (e = t.length);\n\n for (var r = 0, i = new Array(e); r < e; r++) {\n i[r] = t[r];\n }\n\n return i;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\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\nfunction _createForOfIteratorHelper(t, e) {\n var r = \"undefined\" != typeof Symbol && t[Symbol.iterator] || t[\"@@iterator\"];\n\n if (!r) {\n if (Array.isArray(t) || (r = _unsupportedIterableToArray(t)) || e && t && \"number\" == typeof t.length) {\n r && (t = r);\n\n var i = 0,\n a = function a() {};\n\n return {\n s: a,\n n: function n() {\n return i >= t.length ? {\n done: !0\n } : {\n done: !1,\n value: t[i++]\n };\n },\n e: function e(t) {\n throw t;\n },\n f: a\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var s,\n _n = !0,\n o = !1;\n\n return {\n s: function s() {\n r = r.call(t);\n },\n n: function n() {\n var t = r.next();\n return _n = t.done, t;\n },\n e: function e(t) {\n o = !0, s = t;\n },\n f: function f() {\n try {\n _n || null == r[\"return\"] || r[\"return\"]();\n } finally {\n if (o) throw s;\n }\n }\n };\n}\n\nfunction _createForOfIteratorHelperLoose(t, e) {\n var r = \"undefined\" != typeof Symbol && t[Symbol.iterator] || t[\"@@iterator\"];\n if (r) return (r = r.call(t)).next.bind(r);\n\n if (Array.isArray(t) || (r = _unsupportedIterableToArray(t)) || e && t && \"number\" == typeof t.length) {\n r && (t = r);\n var i = 0;\n return function () {\n return i >= t.length ? {\n done: !0\n } : {\n done: !1,\n value: t[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _skipFirstGeneratorNext(t) {\n return function () {\n var e = t.apply(this, arguments);\n return e.next(), e;\n };\n}\n\nfunction _toPrimitive(t, e) {\n if (\"object\" != _typeof2(t) || null === t) return t;\n var r = t[Symbol.toPrimitive];\n\n if (void 0 !== r) {\n var i = r.call(t, e || \"default\");\n if (\"object\" != _typeof2(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n\n return (\"string\" === e ? String : Number)(t);\n}\n\nfunction _toPropertyKey(t) {\n var e = _toPrimitive(t, \"string\");\n\n return \"symbol\" == _typeof2(e) ? e : String(e);\n}\n\nfunction _initializerWarningHelper(t, e) {\n throw new Error(\"Decorating class property failed. Please ensure that proposal-class-properties is enabled and runs after the decorators transform.\");\n}\n\nfunction _initializerDefineProperty(t, e, r, i) {\n r && Object.defineProperty(t, e, {\n enumerable: r.enumerable,\n configurable: r.configurable,\n writable: r.writable,\n value: r.initializer ? r.initializer.call(i) : void 0\n });\n}\n\nfunction _applyDecoratedDescriptor(t, e, r, i, a) {\n var s = {};\n return Object.keys(i).forEach(function (t) {\n s[t] = i[t];\n }), s.enumerable = !!s.enumerable, s.configurable = !!s.configurable, (\"value\" in s || s.initializer) && (s.writable = !0), s = r.slice().reverse().reduce(function (r, i) {\n return i(t, e, r) || r;\n }, s), a && void 0 !== s.initializer && (s.value = s.initializer ? s.initializer.call(a) : void 0, s.initializer = void 0), void 0 === s.initializer && (Object.defineProperty(t, e, s), s = null), s;\n}\n\n_AsyncGenerator.prototype[\"function\" == typeof Symbol && Symbol.asyncIterator || \"@@asyncIterator\"] = function () {\n return this;\n}, _AsyncGenerator.prototype.next = function (t) {\n return this._invoke(\"next\", t);\n}, _AsyncGenerator.prototype[\"throw\"] = function (t) {\n return this._invoke(\"throw\", t);\n}, _AsyncGenerator.prototype[\"return\"] = function (t) {\n return this._invoke(\"return\", t);\n};\nvar id = 0;\n\nfunction _classPrivateFieldLooseKey(t) {\n return \"__private_\" + id++ + \"_\" + t;\n}\n\nfunction _classPrivateFieldLooseBase(t, e) {\n if (!Object.prototype.hasOwnProperty.call(t, e)) throw new TypeError(\"attempted to use private field on non-instance\");\n return t;\n}\n\nfunction _classPrivateFieldGet(t, e) {\n return _classApplyDescriptorGet(t, _classExtractFieldDescriptor(t, e, \"get\"));\n}\n\nfunction _classPrivateFieldSet(t, e, r) {\n return _classApplyDescriptorSet(t, _classExtractFieldDescriptor(t, e, \"set\"), r), r;\n}\n\nfunction _classPrivateFieldDestructureSet(t, e) {\n return _classApplyDescriptorDestructureSet(t, _classExtractFieldDescriptor(t, e, \"set\"));\n}\n\nfunction _classExtractFieldDescriptor(t, e, r) {\n if (!e.has(t)) throw new TypeError(\"attempted to \" + r + \" private field on non-instance\");\n return e.get(t);\n}\n\nfunction _classStaticPrivateFieldSpecGet(t, e, r) {\n return _classCheckPrivateStaticAccess(t, e), _classCheckPrivateStaticFieldDescriptor(r, \"get\"), _classApplyDescriptorGet(t, r);\n}\n\nfunction _classStaticPrivateFieldSpecSet(t, e, r, i) {\n return _classCheckPrivateStaticAccess(t, e), _classCheckPrivateStaticFieldDescriptor(r, \"set\"), _classApplyDescriptorSet(t, r, i), i;\n}\n\nfunction _classStaticPrivateMethodGet(t, e, r) {\n return _classCheckPrivateStaticAccess(t, e), r;\n}\n\nfunction _classStaticPrivateMethodSet() {\n throw new TypeError(\"attempted to set read only static private field\");\n}\n\nfunction _classApplyDescriptorGet(t, e) {\n return e.get ? e.get.call(t) : e.value;\n}\n\nfunction _classApplyDescriptorSet(t, e, r) {\n if (e.set) e.set.call(t, r);else {\n if (!e.writable) throw new TypeError(\"attempted to set read only private field\");\n e.value = r;\n }\n}\n\nfunction _classApplyDescriptorDestructureSet(t, e) {\n if (e.set) return \"__destrObj\" in e || (e.__destrObj = {\n set value(r) {\n e.set.call(t, r);\n }\n\n }), e.__destrObj;\n if (!e.writable) throw new TypeError(\"attempted to set read only private field\");\n return e;\n}\n\nfunction _classStaticPrivateFieldDestructureSet(t, e, r) {\n return _classCheckPrivateStaticAccess(t, e), _classCheckPrivateStaticFieldDescriptor(r, \"set\"), _classApplyDescriptorDestructureSet(t, r);\n}\n\nfunction _classCheckPrivateStaticAccess(t, e) {\n if (t !== e) throw new TypeError(\"Private static access of wrong provenance\");\n}\n\nfunction _classCheckPrivateStaticFieldDescriptor(t, e) {\n if (void 0 === t) throw new TypeError(\"attempted to \" + e + \" private static field before its declaration\");\n}\n\nfunction _decorate(t, e, r, i) {\n var a = _getDecoratorsApi();\n\n if (i) for (var s = 0; s < i.length; s++) {\n a = i[s](a);\n }\n var n = e(function (t) {\n a.initializeInstanceElements(t, o.elements);\n }, r),\n o = a.decorateClass(_coalesceClassElements(n.d.map(_createElementDescriptor)), t);\n return a.initializeClassElements(n.F, o.elements), a.runClassFinishers(n.F, o.finishers);\n}\n\nfunction _getDecoratorsApi() {\n _getDecoratorsApi = function _getDecoratorsApi() {\n return t;\n };\n\n var t = {\n elementsDefinitionOrder: [[\"method\"], [\"field\"]],\n initializeInstanceElements: function initializeInstanceElements(t, e) {\n [\"method\", \"field\"].forEach(function (r) {\n e.forEach(function (e) {\n e.kind === r && \"own\" === e.placement && this.defineClassElement(t, e);\n }, this);\n }, this);\n },\n initializeClassElements: function initializeClassElements(t, e) {\n var r = t.prototype;\n [\"method\", \"field\"].forEach(function (i) {\n e.forEach(function (e) {\n var a = e.placement;\n\n if (e.kind === i && (\"static\" === a || \"prototype\" === a)) {\n var s = \"static\" === a ? t : r;\n this.defineClassElement(s, e);\n }\n }, this);\n }, this);\n },\n defineClassElement: function defineClassElement(t, e) {\n var r = e.descriptor;\n\n if (\"field\" === e.kind) {\n var i = e.initializer;\n r = {\n enumerable: r.enumerable,\n writable: r.writable,\n configurable: r.configurable,\n value: void 0 === i ? void 0 : i.call(t)\n };\n }\n\n Object.defineProperty(t, e.key, r);\n },\n decorateClass: function decorateClass(t, e) {\n var r = [],\n i = [],\n a = {\n \"static\": [],\n prototype: [],\n own: []\n };\n if (t.forEach(function (t) {\n this.addElementPlacement(t, a);\n }, this), t.forEach(function (t) {\n if (!_hasDecorators(t)) return r.push(t);\n var e = this.decorateElement(t, a);\n r.push(e.element), r.push.apply(r, e.extras), i.push.apply(i, e.finishers);\n }, this), !e) return {\n elements: r,\n finishers: i\n };\n var s = this.decorateConstructor(r, e);\n return i.push.apply(i, s.finishers), s.finishers = i, s;\n },\n addElementPlacement: function addElementPlacement(t, e, r) {\n var i = e[t.placement];\n if (!r && -1 !== i.indexOf(t.key)) throw new TypeError(\"Duplicated element (\" + t.key + \")\");\n i.push(t.key);\n },\n decorateElement: function decorateElement(t, e) {\n for (var r = [], i = [], a = t.decorators, s = a.length - 1; s >= 0; s--) {\n var n = e[t.placement];\n n.splice(n.indexOf(t.key), 1);\n var o = this.fromElementDescriptor(t),\n h = this.toElementFinisherExtras((0, a[s])(o) || o);\n t = h.element, this.addElementPlacement(t, e), h.finisher && i.push(h.finisher);\n var l = h.extras;\n\n if (l) {\n for (var p = 0; p < l.length; p++) {\n this.addElementPlacement(l[p], e);\n }\n\n r.push.apply(r, l);\n }\n }\n\n return {\n element: t,\n finishers: i,\n extras: r\n };\n },\n decorateConstructor: function decorateConstructor(t, e) {\n for (var r = [], i = e.length - 1; i >= 0; i--) {\n var a = this.fromClassDescriptor(t),\n s = this.toClassDescriptor((0, e[i])(a) || a);\n\n if (void 0 !== s.finisher && r.push(s.finisher), void 0 !== s.elements) {\n t = s.elements;\n\n for (var n = 0; n < t.length - 1; n++) {\n for (var o = n + 1; o < t.length; o++) {\n if (t[n].key === t[o].key && t[n].placement === t[o].placement) throw new TypeError(\"Duplicated element (\" + t[n].key + \")\");\n }\n }\n }\n }\n\n return {\n elements: t,\n finishers: r\n };\n },\n fromElementDescriptor: function fromElementDescriptor(t) {\n var e = {\n kind: t.kind,\n key: t.key,\n placement: t.placement,\n descriptor: t.descriptor\n };\n return Object.defineProperty(e, Symbol.toStringTag, {\n value: \"Descriptor\",\n configurable: !0\n }), \"field\" === t.kind && (e.initializer = t.initializer), e;\n },\n toElementDescriptors: function toElementDescriptors(t) {\n if (void 0 !== t) return _toArray(t).map(function (t) {\n var e = this.toElementDescriptor(t);\n return this.disallowProperty(t, \"finisher\", \"An element descriptor\"), this.disallowProperty(t, \"extras\", \"An element descriptor\"), e;\n }, this);\n },\n toElementDescriptor: function toElementDescriptor(t) {\n var e = String(t.kind);\n if (\"method\" !== e && \"field\" !== e) throw new TypeError('An element descriptor\\'s .kind property must be either \"method\" or \"field\", but a decorator created an element descriptor with .kind \"' + e + '\"');\n\n var r = _toPropertyKey(t.key),\n i = String(t.placement);\n\n if (\"static\" !== i && \"prototype\" !== i && \"own\" !== i) throw new TypeError('An element descriptor\\'s .placement property must be one of \"static\", \"prototype\" or \"own\", but a decorator created an element descriptor with .placement \"' + i + '\"');\n var a = t.descriptor;\n this.disallowProperty(t, \"elements\", \"An element descriptor\");\n var s = {\n kind: e,\n key: r,\n placement: i,\n descriptor: Object.assign({}, a)\n };\n return \"field\" !== e ? this.disallowProperty(t, \"initializer\", \"A method descriptor\") : (this.disallowProperty(a, \"get\", \"The property descriptor of a field descriptor\"), this.disallowProperty(a, \"set\", \"The property descriptor of a field descriptor\"), this.disallowProperty(a, \"value\", \"The property descriptor of a field descriptor\"), s.initializer = t.initializer), s;\n },\n toElementFinisherExtras: function toElementFinisherExtras(t) {\n return {\n element: this.toElementDescriptor(t),\n finisher: _optionalCallableProperty(t, \"finisher\"),\n extras: this.toElementDescriptors(t.extras)\n };\n },\n fromClassDescriptor: function fromClassDescriptor(t) {\n var e = {\n kind: \"class\",\n elements: t.map(this.fromElementDescriptor, this)\n };\n return Object.defineProperty(e, Symbol.toStringTag, {\n value: \"Descriptor\",\n configurable: !0\n }), e;\n },\n toClassDescriptor: function toClassDescriptor(t) {\n var e = String(t.kind);\n if (\"class\" !== e) throw new TypeError('A class descriptor\\'s .kind property must be \"class\", but a decorator created a class descriptor with .kind \"' + e + '\"');\n this.disallowProperty(t, \"key\", \"A class descriptor\"), this.disallowProperty(t, \"placement\", \"A class descriptor\"), this.disallowProperty(t, \"descriptor\", \"A class descriptor\"), this.disallowProperty(t, \"initializer\", \"A class descriptor\"), this.disallowProperty(t, \"extras\", \"A class descriptor\");\n\n var r = _optionalCallableProperty(t, \"finisher\");\n\n return {\n elements: this.toElementDescriptors(t.elements),\n finisher: r\n };\n },\n runClassFinishers: function runClassFinishers(t, e) {\n for (var r = 0; r < e.length; r++) {\n var i = (0, e[r])(t);\n\n if (void 0 !== i) {\n if (\"function\" != typeof i) throw new TypeError(\"Finishers must return a constructor.\");\n t = i;\n }\n }\n\n return t;\n },\n disallowProperty: function disallowProperty(t, e, r) {\n if (void 0 !== t[e]) throw new TypeError(r + \" can't have a .\" + e + \" property.\");\n }\n };\n return t;\n}\n\nfunction _createElementDescriptor(t) {\n var e,\n r = _toPropertyKey(t.key);\n\n \"method\" === t.kind ? e = {\n value: t.value,\n writable: !0,\n configurable: !0,\n enumerable: !1\n } : \"get\" === t.kind ? e = {\n get: t.value,\n configurable: !0,\n enumerable: !1\n } : \"set\" === t.kind ? e = {\n set: t.value,\n configurable: !0,\n enumerable: !1\n } : \"field\" === t.kind && (e = {\n configurable: !0,\n writable: !0,\n enumerable: !0\n });\n var i = {\n kind: \"field\" === t.kind ? \"field\" : \"method\",\n key: r,\n placement: t[\"static\"] ? \"static\" : \"field\" === t.kind ? \"own\" : \"prototype\",\n descriptor: e\n };\n return t.decorators && (i.decorators = t.decorators), \"field\" === t.kind && (i.initializer = t.value), i;\n}\n\nfunction _coalesceGetterSetter(t, e) {\n void 0 !== t.descriptor.get ? e.descriptor.get = t.descriptor.get : e.descriptor.set = t.descriptor.set;\n}\n\nfunction _coalesceClassElements(t) {\n for (var e = [], r = function r(t) {\n return \"method\" === t.kind && t.key === s.key && t.placement === s.placement;\n }, i = 0; i < t.length; i++) {\n var a,\n s = t[i];\n if (\"method\" === s.kind && (a = e.find(r))) {\n if (_isDataDescriptor(s.descriptor) || _isDataDescriptor(a.descriptor)) {\n if (_hasDecorators(s) || _hasDecorators(a)) throw new ReferenceError(\"Duplicated methods (\" + s.key + \") can't be decorated.\");\n a.descriptor = s.descriptor;\n } else {\n if (_hasDecorators(s)) {\n if (_hasDecorators(a)) throw new ReferenceError(\"Decorators can't be placed on different accessors with for the same property (\" + s.key + \").\");\n a.decorators = s.decorators;\n }\n\n _coalesceGetterSetter(s, a);\n }\n } else e.push(s);\n }\n\n return e;\n}\n\nfunction _hasDecorators(t) {\n return t.decorators && t.decorators.length;\n}\n\nfunction _isDataDescriptor(t) {\n return void 0 !== t && !(void 0 === t.value && void 0 === t.writable);\n}\n\nfunction _optionalCallableProperty(t, e) {\n var r = t[e];\n if (void 0 !== r && \"function\" != typeof r) throw new TypeError(\"Expected '\" + e + \"' to be a function\");\n return r;\n}\n\nfunction _classPrivateMethodGet(t, e, r) {\n if (!e.has(t)) throw new TypeError(\"attempted to get private field on non-instance\");\n return r;\n}\n\nfunction _checkPrivateRedeclaration(t, e) {\n if (e.has(t)) throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n}\n\nfunction _classPrivateFieldInitSpec(t, e, r) {\n _checkPrivateRedeclaration(t, e), e.set(t, r);\n}\n\nfunction _classPrivateMethodInitSpec(t, e) {\n _checkPrivateRedeclaration(t, e), e.add(t);\n}\n\nfunction _classPrivateMethodSet() {\n throw new TypeError(\"attempted to reassign private method\");\n}\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n\n\nvar _extendStatics2 = function _extendStatics(t, e) {\n return _extendStatics2 = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (t, e) {\n t.__proto__ = e;\n } || function (t, e) {\n for (var r in e) {\n Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]);\n }\n }, _extendStatics2(t, e);\n};\n\nfunction __extends(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Class extends value \" + String(e) + \" is not a constructor or null\");\n\n function r() {\n this.constructor = t;\n }\n\n _extendStatics2(t, e), t.prototype = null === e ? Object.create(e) : (r.prototype = e.prototype, new r());\n}\n\nvar _assign2 = function _assign() {\n return _assign2 = Object.assign || function (t) {\n for (var e, r = 1, i = arguments.length; r < i; r++) {\n for (var a in e = arguments[r]) {\n Object.prototype.hasOwnProperty.call(e, a) && (t[a] = e[a]);\n }\n }\n\n return t;\n }, _assign2.apply(this, arguments);\n};\n\nfunction __rest(t, e) {\n var r = {};\n\n for (var i in t) {\n Object.prototype.hasOwnProperty.call(t, i) && e.indexOf(i) < 0 && (r[i] = t[i]);\n }\n\n if (null != t && \"function\" == typeof Object.getOwnPropertySymbols) {\n var a = 0;\n\n for (i = Object.getOwnPropertySymbols(t); a < i.length; a++) {\n e.indexOf(i[a]) < 0 && Object.prototype.propertyIsEnumerable.call(t, i[a]) && (r[i[a]] = t[i[a]]);\n }\n }\n\n return r;\n}\n\nfunction __decorate(t, e, r, i) {\n var a,\n s = arguments.length,\n n = s < 3 ? e : null === i ? i = Object.getOwnPropertyDescriptor(e, r) : i;\n if (\"object\" == (typeof Reflect === \"undefined\" ? \"undefined\" : _typeof2(Reflect)) && \"function\" == typeof Reflect.decorate) n = Reflect.decorate(t, e, r, i);else for (var o = t.length - 1; o >= 0; o--) {\n (a = t[o]) && (n = (s < 3 ? a(n) : s > 3 ? a(e, r, n) : a(e, r)) || n);\n }\n return s > 3 && n && Object.defineProperty(e, r, n), n;\n}\n\nfunction __param(t, e) {\n return function (r, i) {\n e(r, i, t);\n };\n}\n\nfunction __metadata(t, e) {\n if (\"object\" == (typeof Reflect === \"undefined\" ? \"undefined\" : _typeof2(Reflect)) && \"function\" == typeof Reflect.metadata) return Reflect.metadata(t, e);\n}\n\nfunction __awaiter(t, e, r, i) {\n return new (r || (r = Promise))(function (a, s) {\n function n(t) {\n try {\n h(i.next(t));\n } catch (t) {\n s(t);\n }\n }\n\n function o(t) {\n try {\n h(i[\"throw\"](t));\n } catch (t) {\n s(t);\n }\n }\n\n function h(t) {\n var e;\n t.done ? a(t.value) : (e = t.value, e instanceof r ? e : new r(function (t) {\n t(e);\n })).then(n, o);\n }\n\n h((i = i.apply(t, e || [])).next());\n });\n}\n\nfunction __generator(t, e) {\n var r,\n i,\n a,\n s,\n n = {\n label: 0,\n sent: function sent() {\n if (1 & a[0]) throw a[1];\n return a[1];\n },\n trys: [],\n ops: []\n };\n return s = {\n next: o(0),\n \"throw\": o(1),\n \"return\": o(2)\n }, \"function\" == typeof Symbol && (s[Symbol.iterator] = function () {\n return this;\n }), s;\n\n function o(s) {\n return function (o) {\n return function (s) {\n if (r) throw new TypeError(\"Generator is already executing.\");\n\n for (; n;) {\n try {\n if (r = 1, i && (a = 2 & s[0] ? i[\"return\"] : s[0] ? i[\"throw\"] || ((a = i[\"return\"]) && a.call(i), 0) : i.next) && !(a = a.call(i, s[1])).done) return a;\n\n switch (i = 0, a && (s = [2 & s[0], a.value]), s[0]) {\n case 0:\n case 1:\n a = s;\n break;\n\n case 4:\n return n.label++, {\n value: s[1],\n done: !1\n };\n\n case 5:\n n.label++, i = s[1], s = [0];\n continue;\n\n case 7:\n s = n.ops.pop(), n.trys.pop();\n continue;\n\n default:\n if (!(a = n.trys, (a = a.length > 0 && a[a.length - 1]) || 6 !== s[0] && 2 !== s[0])) {\n n = 0;\n continue;\n }\n\n if (3 === s[0] && (!a || s[1] > a[0] && s[1] < a[3])) {\n n.label = s[1];\n break;\n }\n\n if (6 === s[0] && n.label < a[1]) {\n n.label = a[1], a = s;\n break;\n }\n\n if (a && n.label < a[2]) {\n n.label = a[2], n.ops.push(s);\n break;\n }\n\n a[2] && n.ops.pop(), n.trys.pop();\n continue;\n }\n\n s = e.call(t, n);\n } catch (t) {\n s = [6, t], i = 0;\n } finally {\n r = a = 0;\n }\n }\n\n if (5 & s[0]) throw s[1];\n return {\n value: s[0] ? s[1] : void 0,\n done: !0\n };\n }([s, o]);\n };\n }\n}\n\nvar __createBinding = Object.create ? function (t, e, r, i) {\n void 0 === i && (i = r), Object.defineProperty(t, i, {\n enumerable: !0,\n get: function get() {\n return e[r];\n }\n });\n} : function (t, e, r, i) {\n void 0 === i && (i = r), t[i] = e[r];\n};\n\nfunction __exportStar(t, e) {\n for (var r in t) {\n \"default\" === r || Object.prototype.hasOwnProperty.call(e, r) || __createBinding(e, t, r);\n }\n}\n\nfunction __values(t) {\n var e = \"function\" == typeof Symbol && Symbol.iterator,\n r = e && t[e],\n i = 0;\n if (r) return r.call(t);\n if (t && \"number\" == typeof t.length) return {\n next: function next() {\n return t && i >= t.length && (t = void 0), {\n value: t && t[i++],\n done: !t\n };\n }\n };\n throw new TypeError(e ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nfunction __read(t, e) {\n var r = \"function\" == typeof Symbol && t[Symbol.iterator];\n if (!r) return t;\n var i,\n a,\n s = r.call(t),\n n = [];\n\n try {\n for (; (void 0 === e || e-- > 0) && !(i = s.next()).done;) {\n n.push(i.value);\n }\n } catch (t) {\n a = {\n error: t\n };\n } finally {\n try {\n i && !i.done && (r = s[\"return\"]) && r.call(s);\n } finally {\n if (a) throw a.error;\n }\n }\n\n return n;\n}\n\nfunction __spread() {\n for (var t = [], e = 0; e < arguments.length; e++) {\n t = t.concat(__read(arguments[e]));\n }\n\n return t;\n}\n\nfunction __spreadArrays() {\n for (var t = 0, e = 0, r = arguments.length; e < r; e++) {\n t += arguments[e].length;\n }\n\n var i = Array(t),\n a = 0;\n\n for (e = 0; e < r; e++) {\n for (var s = arguments[e], n = 0, o = s.length; n < o; n++, a++) {\n i[a] = s[n];\n }\n }\n\n return i;\n}\n\nfunction __spreadArray(t, e, r) {\n if (r || 2 === arguments.length) for (var i, a = 0, s = e.length; a < s; a++) {\n !i && a in e || (i || (i = Array.prototype.slice.call(e, 0, a)), i[a] = e[a]);\n }\n return t.concat(i || Array.prototype.slice.call(e));\n}\n\nfunction __await(t) {\n return this instanceof __await ? (this.v = t, this) : new __await(t);\n}\n\nfunction __asyncGenerator(t, e, r) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var i,\n a = r.apply(t, e || []),\n s = [];\n return i = {}, n(\"next\"), n(\"throw\"), n(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n\n function n(t) {\n a[t] && (i[t] = function (e) {\n return new Promise(function (r, i) {\n s.push([t, e, r, i]) > 1 || o(t, e);\n });\n });\n }\n\n function o(t, e) {\n try {\n !function (t) {\n t.value instanceof __await ? Promise.resolve(t.value.v).then(h, l) : p(s[0][2], t);\n }(a[t](e));\n } catch (t) {\n p(s[0][3], t);\n }\n }\n\n function h(t) {\n o(\"next\", t);\n }\n\n function l(t) {\n o(\"throw\", t);\n }\n\n function p(t, e) {\n t(e), s.shift(), s.length && o(s[0][0], s[0][1]);\n }\n}\n\nfunction __asyncDelegator(t) {\n var e, r;\n return e = {}, i(\"next\"), i(\"throw\", function (t) {\n throw t;\n }), i(\"return\"), e[Symbol.iterator] = function () {\n return this;\n }, e;\n\n function i(i, a) {\n e[i] = t[i] ? function (e) {\n return (r = !r) ? {\n value: __await(t[i](e)),\n done: \"return\" === i\n } : a ? a(e) : e;\n } : a;\n }\n}\n\nfunction __asyncValues(t) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var e,\n r = t[Symbol.asyncIterator];\n return r ? r.call(t) : (t = \"function\" == typeof __values ? __values(t) : t[Symbol.iterator](), e = {}, i(\"next\"), i(\"throw\"), i(\"return\"), e[Symbol.asyncIterator] = function () {\n return this;\n }, e);\n\n function i(r) {\n e[r] = t[r] && function (e) {\n return new Promise(function (i, a) {\n (function (t, e, r, i) {\n Promise.resolve(i).then(function (e) {\n t({\n value: e,\n done: r\n });\n }, e);\n })(i, a, (e = t[r](e)).done, e.value);\n });\n };\n }\n}\n\nfunction __makeTemplateObject(t, e) {\n return Object.defineProperty ? Object.defineProperty(t, \"raw\", {\n value: e\n }) : t.raw = e, t;\n}\n\nvar __setModuleDefault = Object.create ? function (t, e) {\n Object.defineProperty(t, \"default\", {\n enumerable: !0,\n value: e\n });\n} : function (t, e) {\n t[\"default\"] = e;\n};\n\nfunction __importStar(t) {\n if (t && t.__esModule) return t;\n var e = {};\n if (null != t) for (var r in t) {\n \"default\" !== r && Object.prototype.hasOwnProperty.call(t, r) && __createBinding(e, t, r);\n }\n return __setModuleDefault(e, t), e;\n}\n\nfunction __importDefault(t) {\n return t && t.__esModule ? t : {\n \"default\": t\n };\n}\n\nfunction __classPrivateFieldGet(t, e, r, i) {\n if (\"a\" === r && !i) throw new TypeError(\"Private accessor was defined without a getter\");\n if (\"function\" == typeof e ? t !== e || !i : !e.has(t)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return \"m\" === r ? i : \"a\" === r ? i.call(t) : i ? i.value : e.get(t);\n}\n\nfunction __classPrivateFieldSet(t, e, r, i, a) {\n if (\"m\" === i) throw new TypeError(\"Private method is not writable\");\n if (\"a\" === i && !a) throw new TypeError(\"Private accessor was defined without a setter\");\n if (\"function\" == typeof e ? t !== e || !a : !e.has(t)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return \"a\" === i ? a.call(t, r) : a ? a.value = r : e.set(t, r), r;\n /**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n}\n\nvar t$3 = window.ShadowRoot && (void 0 === window.ShadyCSS || window.ShadyCSS.nativeShadow) && \"adoptedStyleSheets\" in Document.prototype && \"replace\" in CSSStyleSheet.prototype,\n e$8 = Symbol(),\n n$5 = new Map();\n\nvar s$3 = /*#__PURE__*/function () {\n function s$3(t, e) {\n _classCallCheck2(this, s$3);\n\n if (this._$cssResult$ = !0, e !== e$8) throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");\n this.cssText = t;\n }\n\n _createClass2(s$3, [{\n key: \"toString\",\n value: function toString() {\n return this.cssText;\n }\n }, {\n key: \"styleSheet\",\n get: function get() {\n var t = n$5.get(this.cssText);\n return t$3 && void 0 === t && (n$5.set(this.cssText, t = new CSSStyleSheet()), t.replaceSync(this.cssText)), t;\n }\n }]);\n\n return s$3;\n}();\n\nvar o$5 = function o$5(t) {\n return new s$3(\"string\" == typeof t ? t : t + \"\", e$8);\n},\n r$3 = function r$3(t) {\n for (var e = arguments.length, r = new Array(e > 1 ? e - 1 : 0), i = 1; i < e; i++) {\n r[i - 1] = arguments[i];\n }\n\n var a = 1 === t.length ? t[0] : r.reduce(function (e, r, i) {\n return e + function (t) {\n if (!0 === t._$cssResult$) return t.cssText;\n if (\"number\" == typeof t) return t;\n throw Error(\"Value passed to 'css' function must be a 'css' function result: \" + t + \". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\");\n }(r) + t[i + 1];\n }, t[0]);\n return new s$3(a, e$8);\n},\n i$3 = function i$3(t, e) {\n t$3 ? t.adoptedStyleSheets = e.map(function (t) {\n return t instanceof CSSStyleSheet ? t : t.styleSheet;\n }) : e.forEach(function (e) {\n var r = document.createElement(\"style\"),\n i = window.litNonce;\n void 0 !== i && r.setAttribute(\"nonce\", i), r.textContent = e.cssText, t.appendChild(r);\n });\n},\n S$1 = t$3 ? function (t) {\n return t;\n} : function (t) {\n return t instanceof CSSStyleSheet ? function (t) {\n var e = \"\";\n\n var _iterator = _createForOfIteratorHelper2(t.cssRules),\n _step2;\n\n try {\n for (_iterator.s(); !(_step2 = _iterator.n()).done;) {\n var r = _step2.value;\n e += r.cssText;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return o$5(e);\n }(t) : t;\n}\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n,\n s$2,\n e$7 = window.trustedTypes,\n r$2 = e$7 ? e$7.emptyScript : \"\",\n h$2 = window.reactiveElementPolyfillSupport,\n o$4 = {\n toAttribute: function toAttribute(t, e) {\n switch (e) {\n case Boolean:\n t = t ? r$2 : null;\n break;\n\n case Object:\n case Array:\n t = null == t ? t : JSON.stringify(t);\n }\n\n return t;\n },\n fromAttribute: function fromAttribute(t, e) {\n var r = t;\n\n switch (e) {\n case Boolean:\n r = null !== t;\n break;\n\n case Number:\n r = null === t ? null : Number(t);\n break;\n\n case Object:\n case Array:\n try {\n r = JSON.parse(t);\n } catch (t) {\n r = null;\n }\n\n }\n\n return r;\n }\n},\n n$4 = function n$4(t, e) {\n return e !== t && (e == e || t == t);\n},\n l$3 = {\n attribute: !0,\n type: String,\n converter: o$4,\n reflect: !1,\n hasChanged: n$4\n},\n t$2;\n\nvar a$1 = /*#__PURE__*/function (_HTMLElement) {\n _inherits2(a$1, _HTMLElement);\n\n var _super = _createSuper2(a$1);\n\n function a$1() {\n var _this;\n\n _classCallCheck2(this, a$1);\n\n _this = _super.call(this), _this._$Et = new Map(), _this.isUpdatePending = !1, _this.hasUpdated = !1, _this._$Ei = null, _this.o();\n return _this;\n }\n\n _createClass2(a$1, [{\n key: \"o\",\n value: function o() {\n var _this2 = this;\n\n var t;\n this._$Ep = new Promise(function (t) {\n return _this2.enableUpdating = t;\n }), this._$AL = new Map(), this._$Em(), this.requestUpdate(), null === (t = this.constructor.l) || void 0 === t || t.forEach(function (t) {\n return t(_this2);\n });\n }\n }, {\n key: \"addController\",\n value: function addController(t) {\n var e, r;\n (null !== (e = this._$Eg) && void 0 !== e ? e : this._$Eg = []).push(t), void 0 !== this.renderRoot && this.isConnected && (null === (r = t.hostConnected) || void 0 === r || r.call(t));\n }\n }, {\n key: \"removeController\",\n value: function removeController(t) {\n var e;\n null === (e = this._$Eg) || void 0 === e || e.splice(this._$Eg.indexOf(t) >>> 0, 1);\n }\n }, {\n key: \"_$Em\",\n value: function _$Em() {\n var _this3 = this;\n\n this.constructor.elementProperties.forEach(function (t, e) {\n _this3.hasOwnProperty(e) && (_this3._$Et.set(e, _this3[e]), delete _this3[e]);\n });\n }\n }, {\n key: \"createRenderRoot\",\n value: function createRenderRoot() {\n var t,\n e = null !== (t = this.shadowRoot) && void 0 !== t ? t : this.attachShadow(this.constructor.shadowRootOptions);\n return i$3(e, this.constructor.elementStyles), e;\n }\n }, {\n key: \"connectedCallback\",\n value: function connectedCallback() {\n var t;\n void 0 === this.renderRoot && (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), null === (t = this._$Eg) || void 0 === t || t.forEach(function (t) {\n var e;\n return null === (e = t.hostConnected) || void 0 === e ? void 0 : e.call(t);\n });\n }\n }, {\n key: \"enableUpdating\",\n value: function enableUpdating(t) {}\n }, {\n key: \"disconnectedCallback\",\n value: function disconnectedCallback() {\n var t;\n null === (t = this._$Eg) || void 0 === t || t.forEach(function (t) {\n var e;\n return null === (e = t.hostDisconnected) || void 0 === e ? void 0 : e.call(t);\n });\n }\n }, {\n key: \"attributeChangedCallback\",\n value: function attributeChangedCallback(t, e, r) {\n this._$AK(t, r);\n }\n }, {\n key: \"_$ES\",\n value: function _$ES(t, e) {\n var r,\n i,\n a = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : l$3,\n s = this.constructor._$Eh(t, a);\n\n if (void 0 !== s && !0 === a.reflect) {\n var n = (null !== (i = null === (r = a.converter) || void 0 === r ? void 0 : r.toAttribute) && void 0 !== i ? i : o$4.toAttribute)(e, a.type);\n this._$Ei = t, null == n ? this.removeAttribute(s) : this.setAttribute(s, n), this._$Ei = null;\n }\n }\n }, {\n key: \"_$AK\",\n value: function _$AK(t, e) {\n var r,\n i,\n a,\n s = this.constructor,\n n = s._$Eu.get(t);\n\n if (void 0 !== n && this._$Ei !== n) {\n var o = s.getPropertyOptions(n),\n h = o.converter,\n l = null !== (a = null !== (i = null === (r = h) || void 0 === r ? void 0 : r.fromAttribute) && void 0 !== i ? i : \"function\" == typeof h ? h : null) && void 0 !== a ? a : o$4.fromAttribute;\n this._$Ei = n, this[n] = l(e, o.type), this._$Ei = null;\n }\n }\n }, {\n key: \"requestUpdate\",\n value: function requestUpdate(t, e, r) {\n var i = !0;\n void 0 !== t && (((r = r || this.constructor.getPropertyOptions(t)).hasChanged || n$4)(this[t], e) ? (this._$AL.has(t) || this._$AL.set(t, e), !0 === r.reflect && this._$Ei !== t && (void 0 === this._$E_ && (this._$E_ = new Map()), this._$E_.set(t, r))) : i = !1), !this.isUpdatePending && i && (this._$Ep = this._$EC());\n }\n }, {\n key: \"_$EC\",\n value: function _$EC() {\n var t = this;\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var e;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n t.isUpdatePending = !0;\n _context.prev = 1;\n _context.next = 4;\n return t._$Ep;\n\n case 4:\n _context.next = 9;\n break;\n\n case 6:\n _context.prev = 6;\n _context.t0 = _context[\"catch\"](1);\n Promise.reject(_context.t0);\n\n case 9:\n e = t.scheduleUpdate();\n _context.t1 = null != e;\n\n if (!_context.t1) {\n _context.next = 14;\n break;\n }\n\n _context.next = 14;\n return e;\n\n case 14:\n return _context.abrupt(\"return\", !t.isUpdatePending);\n\n case 15:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 6]]);\n }))();\n }\n }, {\n key: \"scheduleUpdate\",\n value: function scheduleUpdate() {\n return this.performUpdate();\n }\n }, {\n key: \"performUpdate\",\n value: function performUpdate() {\n var _this4 = this;\n\n var t;\n\n if (this.isUpdatePending) {\n this.hasUpdated, this._$Et && (this._$Et.forEach(function (t, e) {\n return _this4[e] = t;\n }), this._$Et = void 0);\n var e = !1,\n r = this._$AL;\n\n try {\n (e = this.shouldUpdate(r)) ? (this.willUpdate(r), null === (t = this._$Eg) || void 0 === t || t.forEach(function (t) {\n var e;\n return null === (e = t.hostUpdate) || void 0 === e ? void 0 : e.call(t);\n }), this.update(r)) : this._$EU();\n } catch (t) {\n throw e = !1, this._$EU(), t;\n }\n\n e && this._$AE(r);\n }\n }\n }, {\n key: \"willUpdate\",\n value: function willUpdate(t) {}\n }, {\n key: \"_$AE\",\n value: function _$AE(t) {\n var e;\n null === (e = this._$Eg) || void 0 === e || e.forEach(function (t) {\n var e;\n return null === (e = t.hostUpdated) || void 0 === e ? void 0 : e.call(t);\n }), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t);\n }\n }, {\n key: \"_$EU\",\n value: function _$EU() {\n this._$AL = new Map(), this.isUpdatePending = !1;\n }\n }, {\n key: \"getUpdateComplete\",\n value: function getUpdateComplete() {\n return this._$Ep;\n }\n }, {\n key: \"shouldUpdate\",\n value: function shouldUpdate(t) {\n return !0;\n }\n }, {\n key: \"update\",\n value: function update(t) {\n var _this5 = this;\n\n void 0 !== this._$E_ && (this._$E_.forEach(function (t, e) {\n return _this5._$ES(e, _this5[e], t);\n }), this._$E_ = void 0), this._$EU();\n }\n }, {\n key: \"updated\",\n value: function updated(t) {}\n }, {\n key: \"firstUpdated\",\n value: function firstUpdated(t) {}\n }, {\n key: \"updateComplete\",\n get: function get() {\n return this.getUpdateComplete();\n }\n }], [{\n key: \"addInitializer\",\n value: function addInitializer(t) {\n var e;\n null !== (e = this.l) && void 0 !== e || (this.l = []), this.l.push(t);\n }\n }, {\n key: \"createProperty\",\n value: function createProperty(t) {\n var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : l$3;\n\n if (e.state && (e.attribute = !1), this.finalize(), this.elementProperties.set(t, e), !e.noAccessor && !this.prototype.hasOwnProperty(t)) {\n var r = \"symbol\" == _typeof2(t) ? Symbol() : \"__\" + t,\n i = this.getPropertyDescriptor(t, r, e);\n void 0 !== i && Object.defineProperty(this.prototype, t, i);\n }\n }\n }, {\n key: \"getPropertyDescriptor\",\n value: function getPropertyDescriptor(t, e, r) {\n return {\n get: function get() {\n return this[e];\n },\n set: function set(i) {\n var a = this[t];\n this[e] = i, this.requestUpdate(t, a, r);\n },\n configurable: !0,\n enumerable: !0\n };\n }\n }, {\n key: \"getPropertyOptions\",\n value: function getPropertyOptions(t) {\n return this.elementProperties.get(t) || l$3;\n }\n }, {\n key: \"finalize\",\n value: function finalize() {\n if (this.hasOwnProperty(\"finalized\")) return !1;\n this.finalized = !0;\n var t = Object.getPrototypeOf(this);\n\n if (t.finalize(), this.elementProperties = new Map(t.elementProperties), this._$Eu = new Map(), this.hasOwnProperty(\"properties\")) {\n var e = this.properties,\n r = [].concat(_toConsumableArray2(Object.getOwnPropertyNames(e)), _toConsumableArray2(Object.getOwnPropertySymbols(e)));\n\n var _iterator2 = _createForOfIteratorHelper2(r),\n _step3;\n\n try {\n for (_iterator2.s(); !(_step3 = _iterator2.n()).done;) {\n var i = _step3.value;\n this.createProperty(i, e[i]);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n return this.elementStyles = this.finalizeStyles(this.styles), !0;\n }\n }, {\n key: \"finalizeStyles\",\n value: function finalizeStyles(t) {\n var e = [];\n\n if (Array.isArray(t)) {\n var r = new Set(t.flat(1 / 0).reverse());\n\n var _iterator3 = _createForOfIteratorHelper2(r),\n _step4;\n\n try {\n for (_iterator3.s(); !(_step4 = _iterator3.n()).done;) {\n var i = _step4.value;\n e.unshift(S$1(i));\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n } else void 0 !== t && e.push(S$1(t));\n\n return e;\n }\n }, {\n key: \"_$Eh\",\n value: function _$Eh(t, e) {\n var r = e.attribute;\n return !1 === r ? void 0 : \"string\" == typeof r ? r : \"string\" == typeof t ? t.toLowerCase() : void 0;\n }\n }, {\n key: \"observedAttributes\",\n get: function get() {\n var _this6 = this;\n\n this.finalize();\n var t = [];\n return this.elementProperties.forEach(function (e, r) {\n var i = _this6._$Eh(r, e);\n\n void 0 !== i && (_this6._$Eu.set(i, r), t.push(i));\n }), t;\n }\n }]);\n\n return a$1;\n}( /*#__PURE__*/_wrapNativeSuper2(HTMLElement));\n\na$1.finalized = !0, a$1.elementProperties = new Map(), a$1.elementStyles = [], a$1.shadowRootOptions = {\n mode: \"open\"\n}, null == h$2 || h$2({\n ReactiveElement: a$1\n}), (null !== (s$2 = globalThis.reactiveElementVersions) && void 0 !== s$2 ? s$2 : globalThis.reactiveElementVersions = []).push(\"1.2.1\");\n\nvar i$2 = globalThis.trustedTypes,\n s$1 = i$2 ? i$2.createPolicy(\"lit-html\", {\n createHTML: function createHTML(t) {\n return t;\n }\n}) : void 0,\n e$6 = \"lit$\".concat((Math.random() + \"\").slice(9), \"$\"),\n o$3 = \"?\" + e$6,\n n$3 = \"<\".concat(o$3, \">\"),\n l$2 = document,\n h$1 = function h$1() {\n var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : \"\";\n return l$2.createComment(t);\n},\n r$1 = function r$1(t) {\n return null === t || \"object\" != _typeof2(t) && \"function\" != typeof t;\n},\n d = Array.isArray,\n u = function u(t) {\n var e;\n return d(t) || \"function\" == typeof (null === (e = t) || void 0 === e ? void 0 : e[Symbol.iterator]);\n},\n c = /<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,\n v = /-->/g,\n a = />/g,\n f = />|[ \t\\n\f\\r](?:([^\\s\"'>=/]+)([ \t\\n\f\\r]*=[ \t\\n\f\\r]*(?:[^ \t\\n\f\\r\"'`<>=]|(\"|')|))|$)/g,\n _ = /'/g,\n m = /\"/g,\n g = /^(?:script|style|textarea)$/i,\n p = function p(t) {\n return function (e) {\n for (var r = arguments.length, i = new Array(r > 1 ? r - 1 : 0), a = 1; a < r; a++) {\n i[a - 1] = arguments[a];\n }\n\n return {\n _$litType$: t,\n strings: e,\n values: i\n };\n };\n},\n $ = p(1),\n y = p(2),\n b = Symbol[\"for\"](\"lit-noChange\"),\n w = Symbol[\"for\"](\"lit-nothing\"),\n T = new WeakMap(),\n x = function x(t, e, r) {\n var i,\n a,\n s = null !== (i = null == r ? void 0 : r.renderBefore) && void 0 !== i ? i : e,\n n = s._$litPart$;\n\n if (void 0 === n) {\n var o = null !== (a = null == r ? void 0 : r.renderBefore) && void 0 !== a ? a : null;\n s._$litPart$ = n = new N(e.insertBefore(h$1(), o), o, void 0, null != r ? r : {});\n }\n\n return n._$AI(t), n;\n},\n A = l$2.createTreeWalker(l$2, 129, null, !1),\n C = function C(t, e) {\n for (var r, i = t.length - 1, s = [], n = 2 === e ? \"\" : \"\");\n if (!Array.isArray(t) || !t.hasOwnProperty(\"raw\")) throw Error(\"invalid template strings array\");\n return [void 0 !== s$1 ? s$1.createHTML(P) : P, s];\n};\n\nvar E = /*#__PURE__*/function () {\n function E(t, e) {\n _classCallCheck2(this, E);\n\n var r,\n i = t.strings,\n a = t._$litType$;\n this.parts = [];\n\n var s = 0,\n n = 0,\n o = i.length - 1,\n h = this.parts,\n _C = C(i, a),\n _C2 = _slicedToArray2(_C, 2),\n l = _C2[0],\n p = _C2[1];\n\n if (this.el = E.createElement(l, e), A.currentNode = this.el.content, 2 === a) {\n var c = this.el.content,\n f = c.firstChild;\n f.remove(), c.append.apply(c, _toConsumableArray2(f.childNodes));\n }\n\n for (; null !== (r = A.nextNode()) && h.length < o;) {\n if (1 === r.nodeType) {\n if (r.hasAttributes()) {\n var d = [];\n\n var _iterator4 = _createForOfIteratorHelper2(r.getAttributeNames()),\n _step5;\n\n try {\n for (_iterator4.s(); !(_step5 = _iterator4.n()).done;) {\n var m = _step5.value;\n\n if (m.endsWith(\"$lit$\") || m.startsWith(e$6)) {\n var u = p[n++];\n\n if (d.push(m), void 0 !== u) {\n var y = r.getAttribute(u.toLowerCase() + \"$lit$\").split(e$6),\n v = /([.?@])?(.*)/.exec(u);\n h.push({\n type: 1,\n index: s,\n name: v[2],\n strings: y,\n ctor: \".\" === v[1] ? M : \"?\" === v[1] ? H : \"@\" === v[1] ? I : S\n });\n } else h.push({\n type: 6,\n index: s\n });\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n for (var _i2 = 0, _d2 = d; _i2 < _d2.length; _i2++) {\n var b = _d2[_i2];\n r.removeAttribute(b);\n }\n }\n\n if (g.test(r.tagName)) {\n var _ = r.textContent.split(e$6),\n P = _.length - 1;\n\n if (P > 0) {\n r.textContent = i$2 ? i$2.emptyScript : \"\";\n\n for (var x = 0; x < P; x++) {\n r.append(_[x], h$1()), A.nextNode(), h.push({\n type: 2,\n index: ++s\n });\n }\n\n r.append(_[P], h$1());\n }\n }\n } else if (8 === r.nodeType) if (r.data === o$3) h.push({\n type: 2,\n index: s\n });else for (var w = -1; -1 !== (w = r.data.indexOf(e$6, w + 1));) {\n h.push({\n type: 7,\n index: s\n }), w += e$6.length - 1;\n }\n\n s++;\n }\n }\n\n _createClass2(E, null, [{\n key: \"createElement\",\n value: function createElement(t, e) {\n var r = l$2.createElement(\"template\");\n return r.innerHTML = t, r;\n }\n }]);\n\n return E;\n}();\n\nfunction P(t, e) {\n var r,\n i,\n a,\n s,\n n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : t,\n o = arguments.length > 3 ? arguments[3] : void 0;\n if (e === b) return e;\n var h = void 0 !== o ? null === (r = n._$Cl) || void 0 === r ? void 0 : r[o] : n._$Cu,\n l = r$1(e) ? void 0 : e._$litDirective$;\n return (null == h ? void 0 : h.constructor) !== l && (null === (i = null == h ? void 0 : h._$AO) || void 0 === i || i.call(h, !1), void 0 === l ? h = void 0 : (h = new l(t))._$AT(t, n, o), void 0 !== o ? (null !== (a = (s = n)._$Cl) && void 0 !== a ? a : s._$Cl = [])[o] = h : n._$Cu = h), void 0 !== h && (e = P(t, h._$AS(t, e.values), h, o)), e;\n}\n\nvar V = /*#__PURE__*/function () {\n function V(t, e) {\n _classCallCheck2(this, V);\n\n this.v = [], this._$AN = void 0, this._$AD = t, this._$AM = e;\n }\n\n _createClass2(V, [{\n key: \"p\",\n value: function p(t) {\n var e,\n _this$_$AD = this._$AD,\n r = _this$_$AD.el.content,\n i = _this$_$AD.parts,\n a = (null !== (e = null == t ? void 0 : t.creationScope) && void 0 !== e ? e : l$2).importNode(r, !0);\n A.currentNode = a;\n\n for (var s = A.nextNode(), n = 0, o = 0, h = i[0]; void 0 !== h;) {\n if (n === h.index) {\n var l = void 0;\n 2 === h.type ? l = new N(s, s.nextSibling, this, t) : 1 === h.type ? l = new h.ctor(s, h.name, h.strings, this, t) : 6 === h.type && (l = new L(s, this, t)), this.v.push(l), h = i[++o];\n }\n\n n !== (null == h ? void 0 : h.index) && (s = A.nextNode(), n++);\n }\n\n return a;\n }\n }, {\n key: \"m\",\n value: function m(t) {\n var e = 0;\n\n var _iterator5 = _createForOfIteratorHelper2(this.v),\n _step6;\n\n try {\n for (_iterator5.s(); !(_step6 = _iterator5.n()).done;) {\n var r = _step6.value;\n void 0 !== r && (void 0 !== r.strings ? (r._$AI(t, r, e), e += r.strings.length - 2) : r._$AI(t[e])), e++;\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n }\n }, {\n key: \"parentNode\",\n get: function get() {\n return this._$AM.parentNode;\n }\n }, {\n key: \"_$AU\",\n get: function get() {\n return this._$AM._$AU;\n }\n }]);\n\n return V;\n}();\n\nvar N = /*#__PURE__*/function () {\n function N(t, e, r, i) {\n _classCallCheck2(this, N);\n\n var a;\n this.type = 2, this._$AH = w, this._$AN = void 0, this._$AA = t, this._$AB = e, this._$AM = r, this.options = i, this._$Cg = null === (a = null == i ? void 0 : i.isConnected) || void 0 === a || a;\n }\n\n _createClass2(N, [{\n key: \"_$AI\",\n value: function _$AI(t) {\n t = P(this, t, arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this), r$1(t) ? t === w || null == t || \"\" === t ? (this._$AH !== w && this._$AR(), this._$AH = w) : t !== this._$AH && t !== b && this.$(t) : void 0 !== t._$litType$ ? this.T(t) : void 0 !== t.nodeType ? this.S(t) : u(t) ? this.A(t) : this.$(t);\n }\n }, {\n key: \"M\",\n value: function M(t) {\n var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this._$AB;\n return this._$AA.parentNode.insertBefore(t, e);\n }\n }, {\n key: \"S\",\n value: function S(t) {\n this._$AH !== t && (this._$AR(), this._$AH = this.M(t));\n }\n }, {\n key: \"$\",\n value: function $(t) {\n this._$AH !== w && r$1(this._$AH) ? this._$AA.nextSibling.data = t : this.S(l$2.createTextNode(t)), this._$AH = t;\n }\n }, {\n key: \"T\",\n value: function T(t) {\n var e,\n r = t.values,\n i = t._$litType$,\n a = \"number\" == typeof i ? this._$AC(t) : (void 0 === i.el && (i.el = E.createElement(i.h, this.options)), i);\n if ((null === (e = this._$AH) || void 0 === e ? void 0 : e._$AD) === a) this._$AH.m(r);else {\n var s = new V(a, this),\n n = s.p(this.options);\n s.m(r), this.S(n), this._$AH = s;\n }\n }\n }, {\n key: \"_$AC\",\n value: function _$AC(t) {\n var e = T.get(t.strings);\n return void 0 === e && T.set(t.strings, e = new E(t)), e;\n }\n }, {\n key: \"A\",\n value: function A(t) {\n d(this._$AH) || (this._$AH = [], this._$AR());\n var e,\n r = this._$AH,\n i = 0;\n\n var _iterator6 = _createForOfIteratorHelper2(t),\n _step7;\n\n try {\n for (_iterator6.s(); !(_step7 = _iterator6.n()).done;) {\n var a = _step7.value;\n i === r.length ? r.push(e = new N(this.M(h$1()), this.M(h$1()), this, this.options)) : e = r[i], e._$AI(a), i++;\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n i < r.length && (this._$AR(e && e._$AB.nextSibling, i), r.length = i);\n }\n }, {\n key: \"_$AR\",\n value: function _$AR() {\n var t,\n e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._$AA.nextSibling,\n r = arguments.length > 1 ? arguments[1] : void 0;\n\n for (null === (t = this._$AP) || void 0 === t || t.call(this, !1, !0, r); e && e !== this._$AB;) {\n var i = e.nextSibling;\n e.remove(), e = i;\n }\n }\n }, {\n key: \"setConnected\",\n value: function setConnected(t) {\n var e;\n void 0 === this._$AM && (this._$Cg = t, null === (e = this._$AP) || void 0 === e || e.call(this, t));\n }\n }, {\n key: \"_$AU\",\n get: function get() {\n var t, e;\n return null !== (e = null === (t = this._$AM) || void 0 === t ? void 0 : t._$AU) && void 0 !== e ? e : this._$Cg;\n }\n }, {\n key: \"parentNode\",\n get: function get() {\n var t = this._$AA.parentNode,\n e = this._$AM;\n return void 0 !== e && 11 === t.nodeType && (t = e.parentNode), t;\n }\n }, {\n key: \"startNode\",\n get: function get() {\n return this._$AA;\n }\n }, {\n key: \"endNode\",\n get: function get() {\n return this._$AB;\n }\n }]);\n\n return N;\n}();\n\nvar S = /*#__PURE__*/function () {\n function S(t, e, r, i, a) {\n _classCallCheck2(this, S);\n\n this.type = 1, this._$AH = w, this._$AN = void 0, this.element = t, this.name = e, this._$AM = i, this.options = a, r.length > 2 || \"\" !== r[0] || \"\" !== r[1] ? (this._$AH = Array(r.length - 1).fill(new String()), this.strings = r) : this._$AH = w;\n }\n\n _createClass2(S, [{\n key: \"_$AI\",\n value: function _$AI(t) {\n var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this,\n r = arguments.length > 2 ? arguments[2] : void 0,\n i = arguments.length > 3 ? arguments[3] : void 0,\n a = this.strings,\n s = !1;\n if (void 0 === a) t = P(this, t, e, 0), (s = !r$1(t) || t !== this._$AH && t !== b) && (this._$AH = t);else {\n var n,\n o,\n h = t;\n\n for (t = a[0], n = 0; n < a.length - 1; n++) {\n (o = P(this, h[r + n], e, n)) === b && (o = this._$AH[n]), s || (s = !r$1(o) || o !== this._$AH[n]), o === w ? t = w : t !== w && (t += (null != o ? o : \"\") + a[n + 1]), this._$AH[n] = o;\n }\n }\n s && !i && this.k(t);\n }\n }, {\n key: \"k\",\n value: function k(t) {\n t === w ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, null != t ? t : \"\");\n }\n }, {\n key: \"tagName\",\n get: function get() {\n return this.element.tagName;\n }\n }, {\n key: \"_$AU\",\n get: function get() {\n return this._$AM._$AU;\n }\n }]);\n\n return S;\n}();\n\nvar M = /*#__PURE__*/function (_S) {\n _inherits2(M, _S);\n\n var _super2 = _createSuper2(M);\n\n function M() {\n var _this7;\n\n _classCallCheck2(this, M);\n\n _this7 = _super2.apply(this, arguments), _this7.type = 3;\n return _this7;\n }\n\n _createClass2(M, [{\n key: \"k\",\n value: function k(t) {\n this.element[this.name] = t === w ? void 0 : t;\n }\n }]);\n\n return M;\n}(S);\n\nvar _k = i$2 ? i$2.emptyScript : \"\";\n\nvar H = /*#__PURE__*/function (_S2) {\n _inherits2(H, _S2);\n\n var _super3 = _createSuper2(H);\n\n function H() {\n var _this8;\n\n _classCallCheck2(this, H);\n\n _this8 = _super3.apply(this, arguments), _this8.type = 4;\n return _this8;\n }\n\n _createClass2(H, [{\n key: \"k\",\n value: function k(t) {\n t && t !== w ? this.element.setAttribute(this.name, _k) : this.element.removeAttribute(this.name);\n }\n }]);\n\n return H;\n}(S);\n\nvar I = /*#__PURE__*/function (_S3) {\n _inherits2(I, _S3);\n\n var _super4 = _createSuper2(I);\n\n function I(t, e, r, i, a) {\n var _this9;\n\n _classCallCheck2(this, I);\n\n _this9 = _super4.call(this, t, e, r, i, a), _this9.type = 5;\n return _this9;\n }\n\n _createClass2(I, [{\n key: \"_$AI\",\n value: function _$AI(t) {\n var e;\n\n if ((t = null !== (e = P(this, t, arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this, 0)) && void 0 !== e ? e : w) !== b) {\n var r = this._$AH,\n i = t === w && r !== w || t.capture !== r.capture || t.once !== r.once || t.passive !== r.passive,\n a = t !== w && (r === w || i);\n i && this.element.removeEventListener(this.name, this, r), a && this.element.addEventListener(this.name, this, t), this._$AH = t;\n }\n }\n }, {\n key: \"handleEvent\",\n value: function handleEvent(t) {\n var e, r;\n \"function\" == typeof this._$AH ? this._$AH.call(null !== (r = null === (e = this.options) || void 0 === e ? void 0 : e.host) && void 0 !== r ? r : this.element, t) : this._$AH.handleEvent(t);\n }\n }]);\n\n return I;\n}(S);\n\nvar L = /*#__PURE__*/function () {\n function L(t, e, r) {\n _classCallCheck2(this, L);\n\n this.element = t, this.type = 6, this._$AN = void 0, this._$AM = e, this.options = r;\n }\n\n _createClass2(L, [{\n key: \"_$AI\",\n value: function _$AI(t) {\n P(this, t);\n }\n }, {\n key: \"_$AU\",\n get: function get() {\n return this._$AM._$AU;\n }\n }]);\n\n return L;\n}();\n\nvar R = {\n P: \"$lit$\",\n V: e$6,\n L: o$3,\n I: 1,\n N: C,\n R: V,\n D: u,\n j: P,\n H: N,\n O: S,\n F: H,\n B: I,\n W: M,\n Z: L\n},\n z = window.litHtmlPolyfillSupport,\n l$1,\n o$2;\nnull == z || z(E, N), (null !== (t$2 = globalThis.litHtmlVersions) && void 0 !== t$2 ? t$2 : globalThis.litHtmlVersions = []).push(\"2.1.2\");\nvar r = a$1;\n\nvar s = /*#__PURE__*/function (_a$) {\n _inherits2(s, _a$);\n\n var _super5 = _createSuper2(s);\n\n function s() {\n var _this10;\n\n _classCallCheck2(this, s);\n\n _this10 = _super5.apply(this, arguments), _this10.renderOptions = {\n host: _assertThisInitialized2(_this10)\n }, _this10._$Dt = void 0;\n return _this10;\n }\n\n _createClass2(s, [{\n key: \"createRenderRoot\",\n value: function createRenderRoot() {\n var t,\n e,\n r = _get2(_getPrototypeOf2(s.prototype), \"createRenderRoot\", this).call(this);\n\n return null !== (t = (e = this.renderOptions).renderBefore) && void 0 !== t || (e.renderBefore = r.firstChild), r;\n }\n }, {\n key: \"update\",\n value: function update(t) {\n var e = this.render();\n this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), _get2(_getPrototypeOf2(s.prototype), \"update\", this).call(this, t), this._$Dt = x(e, this.renderRoot, this.renderOptions);\n }\n }, {\n key: \"connectedCallback\",\n value: function connectedCallback() {\n var t;\n _get2(_getPrototypeOf2(s.prototype), \"connectedCallback\", this).call(this), null === (t = this._$Dt) || void 0 === t || t.setConnected(!0);\n }\n }, {\n key: \"disconnectedCallback\",\n value: function disconnectedCallback() {\n var t;\n _get2(_getPrototypeOf2(s.prototype), \"disconnectedCallback\", this).call(this), null === (t = this._$Dt) || void 0 === t || t.setConnected(!1);\n }\n }, {\n key: \"render\",\n value: function render() {\n return b;\n }\n }]);\n\n return s;\n}(a$1);\n\ns.finalized = !0, s._$litElement$ = !0, null === (l$1 = globalThis.litElementHydrateSupport) || void 0 === l$1 || l$1.call(globalThis, {\n LitElement: s\n});\nvar n$2 = globalThis.litElementPolyfillSupport;\nnull == n$2 || n$2({\n LitElement: s\n});\nvar h = {\n _$AK: function _$AK(t, e, r) {\n t._$AK(e, r);\n },\n _$AL: function _$AL(t) {\n return t._$AL;\n }\n};\n(null !== (o$2 = globalThis.litElementVersions) && void 0 !== o$2 ? o$2 : globalThis.litElementVersions = []).push(\"3.1.2\");\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nvar n$1 = function n$1(t) {\n return function (e) {\n return \"function\" == typeof e ? function (t, e) {\n return window.customElements.define(t, e), e;\n }(t, e) : function (t, e) {\n var r = e.kind,\n i = e.elements;\n return {\n kind: r,\n elements: i,\n finisher: function finisher(e) {\n window.customElements.define(t, e);\n }\n };\n }(t, e);\n };\n}\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n,\n i$1 = function i$1(t, e) {\n return \"method\" === e.kind && e.descriptor && !(\"value\" in e.descriptor) ? _objectSpread2(_objectSpread2({}, e), {}, {\n finisher: function finisher(r) {\n r.createProperty(e.key, t);\n }\n }) : {\n kind: \"field\",\n key: Symbol(),\n placement: \"own\",\n descriptor: {},\n originalKey: e.key,\n initializer: function initializer() {\n \"function\" == typeof e.initializer && (this[e.key] = e.initializer.call(this));\n },\n finisher: function finisher(r) {\n r.createProperty(e.key, t);\n }\n };\n};\n\nfunction e$5(t) {\n return function (e, r) {\n return void 0 !== r ? function (t, e, r) {\n e.constructor.createProperty(r, t);\n }(t, e, r) : i$1(t, e);\n };\n}\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n\nfunction t$1(t) {\n return e$5(_objectSpread2(_objectSpread2({}, t), {}, {\n state: !0\n }));\n}\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n\nvar e$4 = function e$4(t, e, r) {\n Object.defineProperty(e, r, t);\n},\n t = function t(_t, e) {\n return {\n kind: \"method\",\n placement: \"prototype\",\n key: e.key,\n descriptor: _t\n };\n},\n o$1 = function o$1(t) {\n var e = t.finisher,\n r = t.descriptor;\n return function (t, i) {\n var a;\n\n if (void 0 === i) {\n var s = null !== (a = t.originalKey) && void 0 !== a ? a : t.key,\n n = null != r ? {\n kind: \"method\",\n placement: \"prototype\",\n key: s,\n descriptor: r(t.key)\n } : _objectSpread2(_objectSpread2({}, t), {}, {\n key: s\n });\n return null != e && (n.finisher = function (t) {\n e(t, s);\n }), n;\n }\n\n var o = t.constructor;\n void 0 !== r && Object.defineProperty(t, i, r(i)), null == e || e(o, i);\n };\n},\n n;\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n\nfunction e$3(t) {\n return o$1({\n finisher: function finisher(e, r) {\n Object.assign(e.prototype[r], t);\n }\n });\n}\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n\nfunction i(t, e) {\n return o$1({\n descriptor: function descriptor(r) {\n var i = {\n get: function get() {\n var e, r;\n return null !== (r = null === (e = this.renderRoot) || void 0 === e ? void 0 : e.querySelector(t)) && void 0 !== r ? r : null;\n },\n enumerable: !0,\n configurable: !0\n };\n\n if (e) {\n var a = \"symbol\" == _typeof2(r) ? Symbol() : \"__\" + r;\n\n i.get = function () {\n var e, r;\n return void 0 === this[a] && (this[a] = null !== (r = null === (e = this.renderRoot) || void 0 === e ? void 0 : e.querySelector(t)) && void 0 !== r ? r : null), this[a];\n };\n }\n\n return i;\n }\n });\n}\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n\nfunction e$2(t) {\n return o$1({\n descriptor: function descriptor(e) {\n return {\n get: function get() {\n var e, r;\n return null !== (r = null === (e = this.renderRoot) || void 0 === e ? void 0 : e.querySelectorAll(t)) && void 0 !== r ? r : [];\n },\n enumerable: !0,\n configurable: !0\n };\n }\n });\n}\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n\nfunction e$1(t) {\n return o$1({\n descriptor: function descriptor(e) {\n return {\n get: function get() {\n var e = this;\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var r;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return e.updateComplete;\n\n case 2:\n return _context2.abrupt(\"return\", null === (r = e.renderRoot) || void 0 === r ? void 0 : r.querySelector(t));\n\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n enumerable: !0,\n configurable: !0\n };\n }\n });\n}\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n\nvar e = null != (null === (n = window.HTMLSlotElement) || void 0 === n ? void 0 : n.prototype.assignedElements) ? function (t, e) {\n return t.assignedElements(e);\n} : function (t, e) {\n return t.assignedNodes(e).filter(function (t) {\n return t.nodeType === Node.ELEMENT_NODE;\n });\n};\n\nfunction l(t) {\n var _ref = null != t ? t : {},\n r = _ref.slot,\n i = _ref.selector;\n\n return o$1({\n descriptor: function descriptor(a) {\n return {\n get: function get() {\n var a,\n s = \"slot\" + (r ? \"[name=\".concat(r, \"]\") : \":not([name])\"),\n n = null === (a = this.renderRoot) || void 0 === a ? void 0 : a.querySelector(s),\n o = null != n ? e(n, t) : [];\n return i ? o.filter(function (t) {\n return t.matches(i);\n }) : o;\n },\n enumerable: !0,\n configurable: !0\n };\n }\n });\n}\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n\nfunction o(t, e, r) {\n var i,\n a = t;\n return \"object\" == _typeof2(t) ? (a = t.slot, i = t) : i = {\n flatten: e\n }, r ? l({\n slot: a,\n flatten: e,\n selector: r\n }) : o$1({\n descriptor: function descriptor(t) {\n return {\n get: function get() {\n var t,\n e,\n r = \"slot\" + (a ? \"[name=\".concat(a, \"]\") : \":not([name])\"),\n s = null === (t = this.renderRoot) || void 0 === t ? void 0 : t.querySelector(r);\n return null !== (e = null == s ? void 0 : s.assignedNodes(i)) && void 0 !== e ? e : [];\n },\n enumerable: !0,\n configurable: !0\n };\n }\n });\n}\n\nvar commonjsGlobal = \"undefined\" != typeof globalThis ? globalThis : \"undefined\" != typeof window ? window : \"undefined\" != typeof global ? global : \"undefined\" != typeof self ? self : {};\n\nfunction getDefaultExportFromCjs(t) {\n return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, \"default\") ? t[\"default\"] : t;\n}\n\nfunction getDefaultExportFromNamespaceIfPresent(t) {\n return t && Object.prototype.hasOwnProperty.call(t, \"default\") ? t[\"default\"] : t;\n}\n\nfunction getDefaultExportFromNamespaceIfNotNamed(t) {\n return t && Object.prototype.hasOwnProperty.call(t, \"default\") && 1 === Object.keys(t).length ? t[\"default\"] : t;\n}\n\nfunction getAugmentedNamespace(t) {\n if (t.__esModule) return t;\n var e = Object.defineProperty({}, \"__esModule\", {\n value: !0\n });\n return Object.keys(t).forEach(function (r) {\n var i = Object.getOwnPropertyDescriptor(t, r);\n Object.defineProperty(e, r, i.get ? i : {\n enumerable: !0,\n get: function get() {\n return t[r];\n }\n });\n }), e;\n}\n\nfunction commonjsRequire(t) {\n throw new Error('Could not dynamically require \"' + t + '\". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');\n}\n\nvar lottie$1 = {\n exports: {}\n};\n\n(function (module) {\n var root, factory;\n \"undefined\" != typeof navigator && (root = window || {}, factory = function factory(window) {\n var svgNS = \"http://www.w3.org/2000/svg\",\n locationHref = \"\",\n initialDefaultFrame = -999999,\n _useWebWorker = !1,\n subframeEnabled = !0,\n idPrefix = \"\",\n expressionsPlugin,\n isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent),\n cachedColors = {},\n bmRnd,\n bmPow = Math.pow,\n bmSqrt = Math.sqrt,\n bmFloor = Math.floor,\n bmMax = Math.max,\n bmMin = Math.min,\n BMMath = {};\n\n function ProjectInterface() {\n return {};\n }\n\n !function () {\n var t,\n e = [\"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 r = e.length;\n\n for (t = 0; t < r; t += 1) {\n BMMath[e[t]] = Math[e[t]];\n }\n }(), BMMath.random = Math.random, BMMath.abs = function (t) {\n if (\"object\" == _typeof2(t) && t.length) {\n var e,\n r = createSizedArray(t.length),\n i = t.length;\n\n for (e = 0; e < i; e += 1) {\n r[e] = Math.abs(t[e]);\n }\n\n return r;\n }\n\n return Math.abs(t);\n };\n var defaultCurveSegments = 150,\n degToRads = Math.PI / 180,\n roundCorner = .5519;\n\n function roundValues(t) {\n bmRnd = t ? Math.round : function (t) {\n return t;\n };\n }\n\n function styleDiv(t) {\n t.style.position = \"absolute\", t.style.top = 0, t.style.left = 0, t.style.display = \"block\", t.style.transformOrigin = \"0 0\", t.style.webkitTransformOrigin = \"0 0\", t.style.backfaceVisibility = \"visible\", t.style.webkitBackfaceVisibility = \"visible\", t.style.transformStyle = \"preserve-3d\", t.style.webkitTransformStyle = \"preserve-3d\", t.style.mozTransformStyle = \"preserve-3d\";\n }\n\n function BMEnterFrameEvent(t, e, r, i) {\n this.type = t, this.currentTime = e, this.totalTime = r, this.direction = i < 0 ? -1 : 1;\n }\n\n function BMCompleteEvent(t, e) {\n this.type = t, this.direction = e < 0 ? -1 : 1;\n }\n\n function BMCompleteLoopEvent(t, e, r, i) {\n this.type = t, this.currentLoop = r, this.totalLoops = e, this.direction = i < 0 ? -1 : 1;\n }\n\n function BMSegmentStartEvent(t, e, r) {\n this.type = t, this.firstFrame = e, this.totalFrames = r;\n }\n\n function BMDestroyEvent(t, e) {\n this.type = t, this.target = e;\n }\n\n function BMRenderFrameErrorEvent(t, e) {\n this.type = \"renderFrameError\", this.nativeError = t, this.currentTime = e;\n }\n\n function BMConfigErrorEvent(t) {\n this.type = \"configError\", this.nativeError = t;\n }\n\n function BMAnimationConfigErrorEvent(t, e) {\n this.type = t, this.nativeError = e;\n }\n\n roundValues(!1);\n\n var createElementID = (_count = 0, function () {\n return idPrefix + \"__lottie_element_\" + (_count += 1);\n }),\n _count;\n\n function HSVtoRGB(t, e, r) {\n var i, a, s, n, o, h, l, p;\n\n switch (h = r * (1 - e), l = r * (1 - (o = 6 * t - (n = Math.floor(6 * t))) * e), p = r * (1 - (1 - o) * e), n % 6) {\n case 0:\n i = r, a = p, s = h;\n break;\n\n case 1:\n i = l, a = r, s = h;\n break;\n\n case 2:\n i = h, a = r, s = p;\n break;\n\n case 3:\n i = h, a = l, s = r;\n break;\n\n case 4:\n i = p, a = h, s = r;\n break;\n\n case 5:\n i = r, a = h, s = l;\n }\n\n return [i, a, s];\n }\n\n function RGBtoHSV(t, e, r) {\n var i,\n a = Math.max(t, e, r),\n s = Math.min(t, e, r),\n n = a - s,\n o = 0 === a ? 0 : n / a,\n h = a / 255;\n\n switch (a) {\n case s:\n i = 0;\n break;\n\n case t:\n i = e - r + n * (e < r ? 6 : 0), i /= 6 * n;\n break;\n\n case e:\n i = r - t + 2 * n, i /= 6 * n;\n break;\n\n case r:\n i = t - e + 4 * n, i /= 6 * n;\n }\n\n return [i, o, h];\n }\n\n function addSaturationToRGB(t, e) {\n var r = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);\n return r[1] += e, r[1] > 1 ? r[1] = 1 : r[1] <= 0 && (r[1] = 0), HSVtoRGB(r[0], r[1], r[2]);\n }\n\n function addBrightnessToRGB(t, e) {\n var r = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);\n return r[2] += e, r[2] > 1 ? r[2] = 1 : r[2] < 0 && (r[2] = 0), HSVtoRGB(r[0], r[1], r[2]);\n }\n\n function addHueToRGB(t, e) {\n var r = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);\n return r[0] += e / 360, r[0] > 1 ? r[0] -= 1 : r[0] < 0 && (r[0] += 1), HSVtoRGB(r[0], r[1], r[2]);\n }\n\n var rgbToHex = function () {\n var t,\n e,\n r = [];\n\n for (t = 0; t < 256; t += 1) {\n e = t.toString(16), r[t] = 1 === e.length ? \"0\" + e : e;\n }\n\n return function (t, e, i) {\n return t < 0 && (t = 0), e < 0 && (e = 0), i < 0 && (i = 0), \"#\" + r[t] + r[e] + r[i];\n };\n }();\n\n function BaseEvent() {}\n\n BaseEvent.prototype = {\n triggerEvent: function triggerEvent(t, e) {\n if (this._cbs[t]) for (var r = this._cbs[t], i = 0; i < r.length; i += 1) {\n r[i](e);\n }\n },\n addEventListener: function addEventListener(t, e) {\n return this._cbs[t] || (this._cbs[t] = []), this._cbs[t].push(e), function () {\n this.removeEventListener(t, e);\n }.bind(this);\n },\n removeEventListener: function removeEventListener(t, e) {\n if (e) {\n if (this._cbs[t]) {\n for (var r = 0, i = this._cbs[t].length; r < i;) {\n this._cbs[t][r] === e && (this._cbs[t].splice(r, 1), r -= 1, i -= 1), r += 1;\n }\n\n this._cbs[t].length || (this._cbs[t] = null);\n }\n } else this._cbs[t] = null;\n }\n };\n\n var createTypedArray = function () {\n function t(t, e) {\n var r,\n i = 0,\n a = [];\n\n switch (t) {\n case \"int16\":\n case \"uint8c\":\n r = 1;\n break;\n\n default:\n r = 1.1;\n }\n\n for (i = 0; i < e; i += 1) {\n a.push(r);\n }\n\n return a;\n }\n\n return \"function\" == typeof Uint8ClampedArray && \"function\" == typeof Float32Array ? function (e, r) {\n return \"float32\" === e ? new Float32Array(r) : \"int16\" === e ? new Int16Array(r) : \"uint8c\" === e ? new Uint8ClampedArray(r) : t(e, r);\n } : t;\n }();\n\n function createSizedArray(t) {\n return Array.apply(null, {\n length: t\n });\n }\n\n function createNS(t) {\n return document.createElementNS(svgNS, t);\n }\n\n function createTag(t) {\n return document.createElement(t);\n }\n\n function DynamicPropertyContainer() {}\n\n DynamicPropertyContainer.prototype = {\n addDynamicProperty: function addDynamicProperty(t) {\n -1 === this.dynamicProperties.indexOf(t) && (this.dynamicProperties.push(t), this.container.addDynamicProperty(this), this._isAnimated = !0);\n },\n iterateDynamicProperties: function iterateDynamicProperties() {\n var t;\n this._mdf = !1;\n var e = this.dynamicProperties.length;\n\n for (t = 0; t < e; t += 1) {\n this.dynamicProperties[t].getValue(), this.dynamicProperties[t]._mdf && (this._mdf = !0);\n }\n },\n initDynamicPropertyContainer: function initDynamicPropertyContainer(t) {\n this.container = t, this.dynamicProperties = [], this._mdf = !1, this._isAnimated = !1;\n }\n };\n\n var getBlendMode = (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 }, function (t) {\n return blendModeEnums[t] || \"\";\n }),\n blendModeEnums,\n lineCapEnum = {\n 1: \"butt\",\n 2: \"round\",\n 3: \"square\"\n },\n lineJoinEnum = {\n 1: \"miter\",\n 2: \"round\",\n 3: \"bevel\"\n },\n Matrix = function () {\n var t = Math.cos,\n e = Math.sin,\n r = Math.tan,\n i = Math.round;\n\n function a() {\n return 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, this;\n }\n\n function s(r) {\n if (0 === r) return this;\n var i = t(r),\n a = e(r);\n return this._t(i, -a, 0, 0, a, i, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function n(r) {\n if (0 === r) return this;\n var i = t(r),\n a = e(r);\n return this._t(1, 0, 0, 0, 0, i, -a, 0, 0, a, i, 0, 0, 0, 0, 1);\n }\n\n function o(r) {\n if (0 === r) return this;\n var i = t(r),\n a = e(r);\n return this._t(i, 0, a, 0, 0, 1, 0, 0, -a, 0, i, 0, 0, 0, 0, 1);\n }\n\n function h(r) {\n if (0 === r) return this;\n var i = t(r),\n a = e(r);\n return this._t(i, -a, 0, 0, a, i, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function l(t, e) {\n return this._t(1, e, t, 1, 0, 0);\n }\n\n function p(t, e) {\n return this.shear(r(t), r(e));\n }\n\n function c(i, a) {\n var s = t(a),\n n = e(a);\n return this._t(s, n, 0, 0, -n, s, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, r(i), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(s, -n, 0, 0, n, s, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function f(t, e, r) {\n return r || 0 === r || (r = 1), 1 === t && 1 === e && 1 === r ? this : this._t(t, 0, 0, 0, 0, e, 0, 0, 0, 0, r, 0, 0, 0, 0, 1);\n }\n\n function d(t, e, r, i, a, s, n, o, h, l, p, c, f, d, m, u) {\n return this.props[0] = t, this.props[1] = e, this.props[2] = r, this.props[3] = i, this.props[4] = a, this.props[5] = s, this.props[6] = n, this.props[7] = o, this.props[8] = h, this.props[9] = l, this.props[10] = p, this.props[11] = c, this.props[12] = f, this.props[13] = d, this.props[14] = m, this.props[15] = u, this;\n }\n\n function m(t, e, r) {\n return r = r || 0, 0 !== t || 0 !== e || 0 !== r ? this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, t, e, r, 1) : this;\n }\n\n function u(t, e, r, i, a, s, n, o, h, l, p, c, f, d, m, u) {\n var y = this.props;\n if (1 === t && 0 === e && 0 === r && 0 === i && 0 === a && 1 === s && 0 === n && 0 === o && 0 === h && 0 === l && 1 === p && 0 === c) return y[12] = y[12] * t + y[15] * f, y[13] = y[13] * s + y[15] * d, y[14] = y[14] * p + y[15] * m, y[15] *= u, this._identityCalculated = !1, this;\n var g = y[0],\n v = y[1],\n b = y[2],\n _ = y[3],\n P = y[4],\n E = y[5],\n S = y[6],\n x = y[7],\n A = y[8],\n w = y[9],\n C = y[10],\n k = y[11],\n T = y[12],\n D = y[13],\n M = y[14],\n F = y[15];\n return y[0] = g * t + v * a + b * h + _ * f, y[1] = g * e + v * s + b * l + _ * d, y[2] = g * r + v * n + b * p + _ * m, y[3] = g * i + v * o + b * c + _ * u, y[4] = P * t + E * a + S * h + x * f, y[5] = P * e + E * s + S * l + x * d, y[6] = P * r + E * n + S * p + x * m, y[7] = P * i + E * o + S * c + x * u, y[8] = A * t + w * a + C * h + k * f, y[9] = A * e + w * s + C * l + k * d, y[10] = A * r + w * n + C * p + k * m, y[11] = A * i + w * o + C * c + k * u, y[12] = T * t + D * a + M * h + F * f, y[13] = T * e + D * s + M * l + F * d, y[14] = T * r + D * n + M * p + F * m, y[15] = T * i + D * o + M * c + F * u, this._identityCalculated = !1, this;\n }\n\n function y() {\n return this._identityCalculated || (this._identity = !(1 !== this.props[0] || 0 !== this.props[1] || 0 !== this.props[2] || 0 !== this.props[3] || 0 !== this.props[4] || 1 !== this.props[5] || 0 !== this.props[6] || 0 !== this.props[7] || 0 !== this.props[8] || 0 !== this.props[9] || 1 !== this.props[10] || 0 !== this.props[11] || 0 !== this.props[12] || 0 !== this.props[13] || 0 !== this.props[14] || 1 !== this.props[15]), this._identityCalculated = !0), this._identity;\n }\n\n function g(t) {\n for (var e = 0; e < 16;) {\n if (t.props[e] !== this.props[e]) return !1;\n e += 1;\n }\n\n return !0;\n }\n\n function v(t) {\n var e;\n\n for (e = 0; e < 16; e += 1) {\n t.props[e] = this.props[e];\n }\n\n return t;\n }\n\n function b(t) {\n var e;\n\n for (e = 0; e < 16; e += 1) {\n this.props[e] = t[e];\n }\n }\n\n function _(t, e, r) {\n return {\n x: t * this.props[0] + e * this.props[4] + r * this.props[8] + this.props[12],\n y: t * this.props[1] + e * this.props[5] + r * this.props[9] + this.props[13],\n z: t * this.props[2] + e * this.props[6] + r * this.props[10] + this.props[14]\n };\n }\n\n function P(t, e, r) {\n return t * this.props[0] + e * this.props[4] + r * this.props[8] + this.props[12];\n }\n\n function E(t, e, r) {\n return t * this.props[1] + e * this.props[5] + r * this.props[9] + this.props[13];\n }\n\n function S(t, e, r) {\n return t * this.props[2] + e * this.props[6] + r * this.props[10] + this.props[14];\n }\n\n function x() {\n var t = this.props[0] * this.props[5] - this.props[1] * this.props[4],\n e = this.props[5] / t,\n r = -this.props[1] / t,\n i = -this.props[4] / t,\n a = this.props[0] / t,\n s = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / t,\n n = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / t,\n o = new Matrix();\n return o.props[0] = e, o.props[1] = r, o.props[4] = i, o.props[5] = a, o.props[12] = s, o.props[13] = n, o;\n }\n\n function A(t) {\n return this.getInverseMatrix().applyToPointArray(t[0], t[1], t[2] || 0);\n }\n\n function w(t) {\n var e,\n r = t.length,\n i = [];\n\n for (e = 0; e < r; e += 1) {\n i[e] = A(t[e]);\n }\n\n return i;\n }\n\n function C(t, e, r) {\n var i = createTypedArray(\"float32\", 6);\n if (this.isIdentity()) i[0] = t[0], i[1] = t[1], i[2] = e[0], i[3] = e[1], i[4] = r[0], i[5] = r[1];else {\n var a = this.props[0],\n s = this.props[1],\n n = this.props[4],\n o = this.props[5],\n h = this.props[12],\n l = this.props[13];\n i[0] = t[0] * a + t[1] * n + h, i[1] = t[0] * s + t[1] * o + l, i[2] = e[0] * a + e[1] * n + h, i[3] = e[0] * s + e[1] * o + l, i[4] = r[0] * a + r[1] * n + h, i[5] = r[0] * s + r[1] * o + l;\n }\n return i;\n }\n\n function k(t, e, r) {\n return this.isIdentity() ? [t, e, r] : [t * this.props[0] + e * this.props[4] + r * this.props[8] + this.props[12], t * this.props[1] + e * this.props[5] + r * this.props[9] + this.props[13], t * this.props[2] + e * this.props[6] + r * this.props[10] + this.props[14]];\n }\n\n function T(t, e) {\n if (this.isIdentity()) return t + \",\" + e;\n var r = this.props;\n return Math.round(100 * (t * r[0] + e * r[4] + r[12])) / 100 + \",\" + Math.round(100 * (t * r[1] + e * r[5] + r[13])) / 100;\n }\n\n function D() {\n for (var t = 0, e = this.props, r = \"matrix3d(\"; t < 16;) {\n r += i(1e4 * e[t]) / 1e4, r += 15 === t ? \")\" : \",\", t += 1;\n }\n\n return r;\n }\n\n function M(t) {\n return t < 1e-6 && t > 0 || t > -1e-6 && t < 0 ? i(1e4 * t) / 1e4 : t;\n }\n\n function F() {\n var t = this.props;\n return \"matrix(\" + M(t[0]) + \",\" + M(t[1]) + \",\" + M(t[4]) + \",\" + M(t[5]) + \",\" + M(t[12]) + \",\" + M(t[13]) + \")\";\n }\n\n return function () {\n this.reset = a, this.rotate = s, this.rotateX = n, this.rotateY = o, this.rotateZ = h, this.skew = p, this.skewFromAxis = c, this.shear = l, this.scale = f, this.setTransform = d, this.translate = m, this.transform = u, this.applyToPoint = _, this.applyToX = P, this.applyToY = E, this.applyToZ = S, this.applyToPointArray = k, this.applyToTriplePoints = C, this.applyToPointStringified = T, this.toCSS = D, this.to2dCSS = F, this.clone = v, this.cloneFromProps = b, this.equals = g, this.inversePoints = w, this.inversePoint = A, this.getInverseMatrix = x, this._t = this.transform, this.isIdentity = y, this._identity = !0, this._identityCalculated = !1, this.props = createTypedArray(\"float32\", 16), this.reset();\n };\n }();\n\n !function (t, e) {\n var r = this,\n i = 256,\n a = e.pow(i, 6),\n s = e.pow(2, 52),\n n = 2 * s,\n o = 255;\n\n function h(t) {\n var e,\n r = t.length,\n a = this,\n s = 0,\n n = a.i = a.j = 0,\n h = a.S = [];\n\n for (r || (t = [r++]); s < i;) {\n h[s] = s++;\n }\n\n for (s = 0; s < i; s++) {\n h[s] = h[n = o & n + t[s % r] + (e = h[s])], h[n] = e;\n }\n\n a.g = function (t) {\n for (var e, r = 0, s = a.i, n = a.j, h = a.S; t--;) {\n e = h[s = o & s + 1], r = r * i + h[o & (h[s] = h[n = o & n + e]) + (h[n] = e)];\n }\n\n return a.i = s, a.j = n, r;\n };\n }\n\n function l(t, e) {\n return e.i = t.i, e.j = t.j, e.S = t.S.slice(), e;\n }\n\n function p(t, e) {\n var r,\n i = [],\n a = _typeof2(t);\n\n if (e && \"object\" == a) for (r in t) {\n try {\n i.push(p(t[r], e - 1));\n } catch (t) {}\n }\n return i.length ? i : \"string\" == a ? t : t + \"\\0\";\n }\n\n function c(t, e) {\n for (var r, i = t + \"\", a = 0; a < i.length;) {\n e[o & a] = o & (r ^= 19 * e[o & a]) + i.charCodeAt(a++);\n }\n\n return f(e);\n }\n\n function f(t) {\n return String.fromCharCode.apply(0, t);\n }\n\n e.seedrandom = function (o, d, m) {\n var u = [],\n y = c(p((d = !0 === d ? {\n entropy: !0\n } : d || {}).entropy ? [o, f(t)] : null === o ? function () {\n try {\n var e = new Uint8Array(i);\n return (r.crypto || r.msCrypto).getRandomValues(e), f(e);\n } catch (e) {\n var a = r.navigator,\n s = a && a.plugins;\n return [+new Date(), r, s, r.screen, f(t)];\n }\n }() : o, 3), u),\n g = new h(u),\n v = function v() {\n for (var t = g.g(6), e = a, r = 0; t < s;) {\n t = (t + r) * i, e *= i, r = g.g(1);\n }\n\n for (; t >= n;) {\n t /= 2, e /= 2, r >>>= 1;\n }\n\n return (t + r) / e;\n };\n\n return v.int32 = function () {\n return 0 | g.g(4);\n }, v.quick = function () {\n return g.g(4) / 4294967296;\n }, v[\"double\"] = v, c(f(g.S), t), (d.pass || m || function (t, r, i, a) {\n return a && (a.S && l(a, g), t.state = function () {\n return l(g, {});\n }), i ? (e.random = t, r) : t;\n })(v, y, \"global\" in d ? d.global : this == e, d.state);\n }, c(e.random(), t);\n }([], BMMath);\n\n var BezierFactory = function () {\n var t = {\n getBezierEasing: function getBezierEasing(t, r, i, a, s) {\n var n = s || (\"bez_\" + t + \"_\" + r + \"_\" + i + \"_\" + a).replace(/\\./g, \"p\");\n if (e[n]) return e[n];\n var o = new l([t, r, i, a]);\n return e[n] = o, o;\n }\n },\n e = {},\n r = .1,\n i = \"function\" == typeof Float32Array;\n\n function a(t, e) {\n return 1 - 3 * e + 3 * t;\n }\n\n function s(t, e) {\n return 3 * e - 6 * t;\n }\n\n function n(t) {\n return 3 * t;\n }\n\n function o(t, e, r) {\n return ((a(e, r) * t + s(e, r)) * t + n(e)) * t;\n }\n\n function h(t, e, r) {\n return 3 * a(e, r) * t * t + 2 * s(e, r) * t + n(e);\n }\n\n function l(t) {\n this._p = t, this._mSampleValues = i ? new Float32Array(11) : new Array(11), this._precomputed = !1, this.get = this.get.bind(this);\n }\n\n return l.prototype = {\n get: function get(t) {\n var e = this._p[0],\n r = this._p[1],\n i = this._p[2],\n a = this._p[3];\n return this._precomputed || this._precompute(), e === r && i === a ? t : 0 === t ? 0 : 1 === t ? 1 : o(this._getTForX(t), r, a);\n },\n _precompute: function _precompute() {\n var t = this._p[0],\n e = this._p[1],\n r = this._p[2],\n i = this._p[3];\n this._precomputed = !0, t === e && r === i || this._calcSampleValues();\n },\n _calcSampleValues: function _calcSampleValues() {\n for (var t = this._p[0], e = this._p[2], i = 0; i < 11; ++i) {\n this._mSampleValues[i] = o(i * r, t, e);\n }\n },\n _getTForX: function _getTForX(t) {\n for (var e = this._p[0], i = this._p[2], a = this._mSampleValues, s = 0, n = 1; 10 !== n && a[n] <= t; ++n) {\n s += r;\n }\n\n var l = s + (t - a[--n]) / (a[n + 1] - a[n]) * r,\n p = h(l, e, i);\n return p >= .001 ? function (t, e, r, i) {\n for (var a = 0; a < 4; ++a) {\n var s = h(e, r, i);\n if (0 === s) return e;\n e -= (o(e, r, i) - t) / s;\n }\n\n return e;\n }(t, l, e, i) : 0 === p ? l : function (t, e, r, i, a) {\n var s,\n n,\n h = 0;\n\n do {\n (s = o(n = e + (r - e) / 2, i, a) - t) > 0 ? r = n : e = n;\n } while (Math.abs(s) > 1e-7 && ++h < 10);\n\n return n;\n }(t, s, s + r, e, i);\n }\n }, t;\n }();\n\n function extendPrototype(t, e) {\n var r,\n i,\n a = t.length;\n\n for (r = 0; r < a; r += 1) {\n for (var s in i = t[r].prototype) {\n Object.prototype.hasOwnProperty.call(i, s) && (e.prototype[s] = i[s]);\n }\n }\n }\n\n function getDescriptor(t, e) {\n return Object.getOwnPropertyDescriptor(t, e);\n }\n\n function createProxyFunction(t) {\n function e() {}\n\n return e.prototype = t, e;\n }\n\n function bezFunction() {\n var t = Math;\n\n function e(t, e, r, i, a, s) {\n var n = t * i + e * a + r * s - a * i - s * t - r * e;\n return n > -.001 && n < .001;\n }\n\n var r = function r(t, e, _r, i) {\n var a,\n s,\n n,\n o,\n h,\n l,\n p = defaultCurveSegments,\n c = 0,\n f = [],\n d = [],\n m = bezierLengthPool.newElement();\n\n for (n = _r.length, a = 0; a < p; a += 1) {\n for (h = a / (p - 1), l = 0, s = 0; s < n; s += 1) {\n o = bmPow(1 - h, 3) * t[s] + 3 * bmPow(1 - h, 2) * h * _r[s] + 3 * (1 - h) * bmPow(h, 2) * i[s] + bmPow(h, 3) * e[s], f[s] = o, null !== d[s] && (l += bmPow(f[s] - d[s], 2)), d[s] = f[s];\n }\n\n l && (c += l = bmSqrt(l)), m.percents[a] = h, m.lengths[a] = c;\n }\n\n return m.addedLength = c, m;\n };\n\n function i(t) {\n this.segmentLength = 0, this.points = new Array(t);\n }\n\n function a(t, e) {\n this.partialLength = t, this.point = e;\n }\n\n var s,\n n = (s = {}, function (t, r, n, o) {\n var h = (t[0] + \"_\" + t[1] + \"_\" + r[0] + \"_\" + r[1] + \"_\" + n[0] + \"_\" + n[1] + \"_\" + o[0] + \"_\" + o[1]).replace(/\\./g, \"p\");\n\n if (!s[h]) {\n var l,\n p,\n c,\n f,\n d,\n m,\n u,\n y = defaultCurveSegments,\n g = 0,\n v = null;\n 2 === t.length && (t[0] !== r[0] || t[1] !== r[1]) && e(t[0], t[1], r[0], r[1], t[0] + n[0], t[1] + n[1]) && e(t[0], t[1], r[0], r[1], r[0] + o[0], r[1] + o[1]) && (y = 2);\n var b = new i(y);\n\n for (c = n.length, l = 0; l < y; l += 1) {\n for (u = createSizedArray(c), d = l / (y - 1), m = 0, p = 0; p < c; p += 1) {\n f = bmPow(1 - d, 3) * t[p] + 3 * bmPow(1 - d, 2) * d * (t[p] + n[p]) + 3 * (1 - d) * bmPow(d, 2) * (r[p] + o[p]) + bmPow(d, 3) * r[p], u[p] = f, null !== v && (m += bmPow(u[p] - v[p], 2));\n }\n\n g += m = bmSqrt(m), b.points[l] = new a(m, u), v = u;\n }\n\n b.segmentLength = g, s[h] = b;\n }\n\n return s[h];\n });\n\n function o(t, e) {\n var r = e.percents,\n i = e.lengths,\n a = r.length,\n s = bmFloor((a - 1) * t),\n n = t * e.addedLength,\n o = 0;\n if (s === a - 1 || 0 === s || n === i[s]) return r[s];\n\n for (var h = i[s] > n ? -1 : 1, l = !0; l;) {\n if (i[s] <= n && i[s + 1] > n ? (o = (n - i[s]) / (i[s + 1] - i[s]), l = !1) : s += h, s < 0 || s >= a - 1) {\n if (s === a - 1) return r[s];\n l = !1;\n }\n }\n\n return r[s] + (r[s + 1] - r[s]) * o;\n }\n\n var h = createTypedArray(\"float32\", 8);\n return {\n getSegmentsLength: function getSegmentsLength(t) {\n var e,\n i = segmentsLengthPool.newElement(),\n a = t.c,\n s = t.v,\n n = t.o,\n o = t.i,\n h = t._length,\n l = i.lengths,\n p = 0;\n\n for (e = 0; e < h - 1; e += 1) {\n l[e] = r(s[e], s[e + 1], n[e], o[e + 1]), p += l[e].addedLength;\n }\n\n return a && h && (l[e] = r(s[e], s[0], n[e], o[0]), p += l[e].addedLength), i.totalLength = p, i;\n },\n getNewSegment: function getNewSegment(e, r, i, a, s, n, l) {\n s < 0 ? s = 0 : s > 1 && (s = 1);\n\n var p,\n c = o(s, l),\n f = o(n = n > 1 ? 1 : n, l),\n d = e.length,\n m = 1 - c,\n u = 1 - f,\n y = m * m * m,\n g = c * m * m * 3,\n v = c * c * m * 3,\n b = c * c * c,\n _ = m * m * u,\n P = c * m * u + m * c * u + m * m * f,\n E = c * c * u + m * c * f + c * m * f,\n S = c * c * f,\n x = m * u * u,\n A = c * u * u + m * f * u + m * u * f,\n w = c * f * u + m * f * f + c * u * f,\n C = c * f * f,\n k = u * u * u,\n T = f * u * u + u * f * u + u * u * f,\n D = f * f * u + u * f * f + f * u * f,\n M = f * f * f;\n\n for (p = 0; p < d; p += 1) {\n h[4 * p] = t.round(1e3 * (y * e[p] + g * i[p] + v * a[p] + b * r[p])) / 1e3, h[4 * p + 1] = t.round(1e3 * (_ * e[p] + P * i[p] + E * a[p] + S * r[p])) / 1e3, h[4 * p + 2] = t.round(1e3 * (x * e[p] + A * i[p] + w * a[p] + C * r[p])) / 1e3, h[4 * p + 3] = t.round(1e3 * (k * e[p] + T * i[p] + D * a[p] + M * r[p])) / 1e3;\n }\n\n return h;\n },\n getPointInSegment: function getPointInSegment(e, r, i, a, s, n) {\n var h = o(s, n),\n l = 1 - h;\n return [t.round(1e3 * (l * l * l * e[0] + (h * l * l + l * h * l + l * l * h) * i[0] + (h * h * l + l * h * h + h * l * h) * a[0] + h * h * h * r[0])) / 1e3, t.round(1e3 * (l * l * l * e[1] + (h * l * l + l * h * l + l * l * h) * i[1] + (h * h * l + l * h * h + h * l * h) * a[1] + h * h * h * r[1])) / 1e3];\n },\n buildBezierData: n,\n pointOnLine2D: e,\n pointOnLine3D: function pointOnLine3D(r, i, a, s, n, o, h, l, p) {\n if (0 === a && 0 === o && 0 === p) return e(r, i, s, n, h, l);\n var c,\n f = t.sqrt(t.pow(s - r, 2) + t.pow(n - i, 2) + t.pow(o - a, 2)),\n d = t.sqrt(t.pow(h - r, 2) + t.pow(l - i, 2) + t.pow(p - a, 2)),\n m = t.sqrt(t.pow(h - s, 2) + t.pow(l - n, 2) + t.pow(p - o, 2));\n return (c = f > d ? f > m ? f - d - m : m - d - f : m > d ? m - d - f : d - f - m) > -1e-4 && c < 1e-4;\n }\n };\n }\n\n !function () {\n for (var t = 0, e = [\"ms\", \"moz\", \"webkit\", \"o\"], r = 0; r < e.length && !window.requestAnimationFrame; ++r) {\n window.requestAnimationFrame = window[e[r] + \"RequestAnimationFrame\"], window.cancelAnimationFrame = window[e[r] + \"CancelAnimationFrame\"] || window[e[r] + \"CancelRequestAnimationFrame\"];\n }\n\n window.requestAnimationFrame || (window.requestAnimationFrame = function (e) {\n var r = new Date().getTime(),\n i = Math.max(0, 16 - (r - t)),\n a = setTimeout(function () {\n e(r + i);\n }, i);\n return t = r + i, a;\n }), window.cancelAnimationFrame || (window.cancelAnimationFrame = function (t) {\n clearTimeout(t);\n });\n }();\n\n var bez = bezFunction(),\n dataManager = function () {\n var t,\n e,\n r = 1,\n i = [],\n a = {\n onmessage: function onmessage() {},\n postMessage: function postMessage(e) {\n t({\n data: e\n });\n }\n },\n _workerSelf = {\n postMessage: function postMessage(t) {\n a.onmessage({\n data: t\n });\n }\n };\n\n function s() {\n e || (e = function (e) {\n if (window.Worker && window.Blob && _useWebWorker) {\n var r = new Blob([\"var _workerSelf = self; self.onmessage = \", e.toString()], {\n type: \"text/javascript\"\n }),\n i = URL.createObjectURL(r);\n return new Worker(i);\n }\n\n return t = e, a;\n }(function (t) {\n if (_workerSelf.dataManager || (_workerSelf.dataManager = function () {\n function t(a, s) {\n var n,\n o,\n h,\n l,\n p,\n f,\n d = a.length;\n\n for (o = 0; o < d; o += 1) {\n if (\"ks\" in (n = a[o]) && !n.completed) {\n if (n.completed = !0, n.tt && (a[o - 1].td = n.tt), n.hasMask) {\n var m = n.masksProperties;\n\n for (l = m.length, h = 0; h < l; h += 1) {\n if (m[h].pt.k.i) i(m[h].pt.k);else for (f = m[h].pt.k.length, p = 0; p < f; p += 1) {\n m[h].pt.k[p].s && i(m[h].pt.k[p].s[0]), m[h].pt.k[p].e && i(m[h].pt.k[p].e[0]);\n }\n }\n }\n\n 0 === n.ty ? (n.layers = e(n.refId, s), t(n.layers, s)) : 4 === n.ty ? r(n.shapes) : 5 === n.ty && c(n);\n }\n }\n }\n\n function e(t, e) {\n for (var r = 0, i = e.length; r < i;) {\n if (e[r].id === t) return e[r].layers.__used ? JSON.parse(JSON.stringify(e[r].layers)) : (e[r].layers.__used = !0, e[r].layers);\n r += 1;\n }\n\n return null;\n }\n\n function r(t) {\n var e, a, s;\n\n for (e = t.length - 1; e >= 0; e -= 1) {\n if (\"sh\" === t[e].ty) {\n if (t[e].ks.k.i) i(t[e].ks.k);else for (s = t[e].ks.k.length, a = 0; a < s; a += 1) {\n t[e].ks.k[a].s && i(t[e].ks.k[a].s[0]), t[e].ks.k[a].e && i(t[e].ks.k[a].e[0]);\n }\n } else \"gr\" === t[e].ty && r(t[e].it);\n }\n }\n\n function i(t) {\n var e,\n r = t.i.length;\n\n for (e = 0; e < r; e += 1) {\n t.i[e][0] += t.v[e][0], t.i[e][1] += t.v[e][1], t.o[e][0] += t.v[e][0], t.o[e][1] += t.v[e][1];\n }\n }\n\n function a(t, e) {\n var r = e ? e.split(\".\") : [100, 100, 100];\n return t[0] > r[0] || !(r[0] > t[0]) && (t[1] > r[1] || !(r[1] > t[1]) && (t[2] > r[2] || !(r[2] > t[2]) && null));\n }\n\n var s,\n n = function () {\n var t = [4, 4, 14];\n\n function e(t) {\n var e,\n r,\n i,\n a = t.length;\n\n for (e = 0; e < a; e += 1) {\n 5 === t[e].ty && (i = void 0, i = (r = t[e]).t.d, r.t.d = {\n k: [{\n s: i,\n t: 0\n }]\n });\n }\n }\n\n return function (r) {\n if (a(t, r.v) && (e(r.layers), r.assets)) {\n var i,\n s = r.assets.length;\n\n for (i = 0; i < s; i += 1) {\n r.assets[i].layers && e(r.assets[i].layers);\n }\n }\n };\n }(),\n o = (s = [4, 7, 99], function (t) {\n if (t.chars && !a(s, t.v)) {\n var e,\n r,\n n,\n o,\n h,\n l = t.chars.length;\n\n for (e = 0; e < l; e += 1) {\n if (t.chars[e].data && t.chars[e].data.shapes) for (n = (h = t.chars[e].data.shapes[0].it).length, r = 0; r < n; r += 1) {\n (o = h[r].ks.k).__converted || (i(h[r].ks.k), o.__converted = !0);\n }\n }\n }\n }),\n h = function () {\n var t = [5, 7, 15];\n\n function e(t) {\n var e,\n r,\n i = t.length;\n\n for (e = 0; e < i; e += 1) {\n 5 === t[e].ty && (r = void 0, \"number\" == typeof (r = t[e].t.p).a && (r.a = {\n a: 0,\n k: r.a\n }), \"number\" == typeof r.p && (r.p = {\n a: 0,\n k: r.p\n }), \"number\" == typeof r.r && (r.r = {\n a: 0,\n k: r.r\n }));\n }\n }\n\n return function (r) {\n if (a(t, r.v) && (e(r.layers), r.assets)) {\n var i,\n s = r.assets.length;\n\n for (i = 0; i < s; i += 1) {\n r.assets[i].layers && e(r.assets[i].layers);\n }\n }\n };\n }(),\n l = function () {\n var t = [4, 1, 9];\n\n function e(t) {\n var r,\n i,\n a,\n s = t.length;\n\n for (r = 0; r < s; r += 1) {\n if (\"gr\" === t[r].ty) e(t[r].it);else if (\"fl\" === t[r].ty || \"st\" === t[r].ty) if (t[r].c.k && t[r].c.k[0].i) for (a = t[r].c.k.length, i = 0; i < a; i += 1) {\n t[r].c.k[i].s && (t[r].c.k[i].s[0] /= 255, t[r].c.k[i].s[1] /= 255, t[r].c.k[i].s[2] /= 255, t[r].c.k[i].s[3] /= 255), t[r].c.k[i].e && (t[r].c.k[i].e[0] /= 255, t[r].c.k[i].e[1] /= 255, t[r].c.k[i].e[2] /= 255, t[r].c.k[i].e[3] /= 255);\n } else t[r].c.k[0] /= 255, t[r].c.k[1] /= 255, t[r].c.k[2] /= 255, t[r].c.k[3] /= 255;\n }\n }\n\n function r(t) {\n var r,\n i = t.length;\n\n for (r = 0; r < i; r += 1) {\n 4 === t[r].ty && e(t[r].shapes);\n }\n }\n\n return function (e) {\n if (a(t, e.v) && (r(e.layers), e.assets)) {\n var i,\n s = e.assets.length;\n\n for (i = 0; i < s; i += 1) {\n e.assets[i].layers && r(e.assets[i].layers);\n }\n }\n };\n }(),\n p = function () {\n var t = [4, 4, 18];\n\n function e(t) {\n var r, i, a;\n\n for (r = t.length - 1; r >= 0; r -= 1) {\n if (\"sh\" === t[r].ty) {\n if (t[r].ks.k.i) t[r].ks.k.c = t[r].closed;else for (a = t[r].ks.k.length, i = 0; i < a; i += 1) {\n t[r].ks.k[i].s && (t[r].ks.k[i].s[0].c = t[r].closed), t[r].ks.k[i].e && (t[r].ks.k[i].e[0].c = t[r].closed);\n }\n } else \"gr\" === t[r].ty && e(t[r].it);\n }\n }\n\n function r(t) {\n var r,\n i,\n a,\n s,\n n,\n o,\n h = t.length;\n\n for (i = 0; i < h; i += 1) {\n if ((r = t[i]).hasMask) {\n var l = r.masksProperties;\n\n for (s = l.length, a = 0; a < s; a += 1) {\n if (l[a].pt.k.i) l[a].pt.k.c = l[a].cl;else for (o = l[a].pt.k.length, n = 0; n < o; n += 1) {\n l[a].pt.k[n].s && (l[a].pt.k[n].s[0].c = l[a].cl), l[a].pt.k[n].e && (l[a].pt.k[n].e[0].c = l[a].cl);\n }\n }\n }\n\n 4 === r.ty && e(r.shapes);\n }\n }\n\n return function (e) {\n if (a(t, e.v) && (r(e.layers), e.assets)) {\n var i,\n s = e.assets.length;\n\n for (i = 0; i < s; i += 1) {\n e.assets[i].layers && r(e.assets[i].layers);\n }\n }\n };\n }();\n\n function c(t) {\n 0 !== t.t.a.length || \"m\" in t.t.p || (t.singleShape = !0);\n }\n\n var f = {\n completeData: function completeData(e) {\n e.__complete || (l(e), n(e), o(e), h(e), p(e), t(e.layers, e.assets), e.__complete = !0);\n }\n };\n return f.checkColors = l, f.checkChars = o, f.checkPathProperties = h, f.checkShapes = p, f.completeLayers = t, f;\n }()), _workerSelf.assetLoader || (_workerSelf.assetLoader = function () {\n function t(t) {\n var e = t.getResponseHeader(\"content-type\");\n return e && \"json\" === t.responseType && -1 !== e.indexOf(\"json\") || t.response && \"object\" == _typeof2(t.response) ? t.response : t.response && \"string\" == typeof t.response ? JSON.parse(t.response) : t.responseText ? JSON.parse(t.responseText) : null;\n }\n\n return {\n load: function load(e, r, i, a) {\n var s,\n n = new XMLHttpRequest();\n\n try {\n n.responseType = \"json\";\n } catch (t) {}\n\n n.onreadystatechange = function () {\n if (4 === n.readyState) if (200 === n.status) s = t(n), i(s);else try {\n s = t(n), i(s);\n } catch (t) {\n a && a(t);\n }\n };\n\n try {\n n.open(\"GET\", e, !0);\n } catch (t) {\n n.open(\"GET\", r + \"/\" + e, !0);\n }\n\n n.send();\n }\n };\n }()), \"loadAnimation\" === t.data.type) _workerSelf.assetLoader.load(t.data.path, t.data.fullPath, function (e) {\n _workerSelf.dataManager.completeData(e), _workerSelf.postMessage({\n id: t.data.id,\n payload: e,\n status: \"success\"\n });\n }, function () {\n _workerSelf.postMessage({\n id: t.data.id,\n status: \"error\"\n });\n });else if (\"complete\" === t.data.type) {\n var e = t.data.animation;\n _workerSelf.dataManager.completeData(e), _workerSelf.postMessage({\n id: t.data.id,\n payload: e,\n status: \"success\"\n });\n } else \"loadData\" === t.data.type && _workerSelf.assetLoader.load(t.data.path, t.data.fullPath, function (e) {\n _workerSelf.postMessage({\n id: t.data.id,\n payload: e,\n status: \"success\"\n });\n }, function () {\n _workerSelf.postMessage({\n id: t.data.id,\n status: \"error\"\n });\n });\n }), e.onmessage = function (t) {\n var e = t.data,\n r = e.id,\n a = i[r];\n i[r] = null, \"success\" === e.status ? a.onComplete(e.payload) : a.onError && a.onError();\n });\n }\n\n function n(t, e) {\n var a = \"processId_\" + (r += 1);\n return i[a] = {\n onComplete: t,\n onError: e\n }, a;\n }\n\n return {\n loadAnimation: function loadAnimation(t, r, i) {\n s();\n var a = n(r, i);\n e.postMessage({\n type: \"loadAnimation\",\n path: t,\n fullPath: window.location.origin + window.location.pathname,\n id: a\n });\n },\n loadData: function loadData(t, r, i) {\n s();\n var a = n(r, i);\n e.postMessage({\n type: \"loadData\",\n path: t,\n fullPath: window.location.origin + window.location.pathname,\n id: a\n });\n },\n completeAnimation: function completeAnimation(t, r, i) {\n s();\n var a = n(r, i);\n e.postMessage({\n type: \"complete\",\n animation: t,\n id: a\n });\n }\n };\n }();\n\n function getFontProperties(t) {\n for (var e = t.fStyle ? t.fStyle.split(\" \") : [], r = \"normal\", i = \"normal\", a = e.length, s = 0; s < a; s += 1) {\n switch (e[s].toLowerCase()) {\n case \"italic\":\n i = \"italic\";\n break;\n\n case \"bold\":\n r = \"700\";\n break;\n\n case \"black\":\n r = \"900\";\n break;\n\n case \"medium\":\n r = \"500\";\n break;\n\n case \"regular\":\n case \"normal\":\n r = \"400\";\n break;\n\n case \"light\":\n case \"thin\":\n r = \"200\";\n }\n }\n\n return {\n style: i,\n weight: t.fWeight || r\n };\n }\n\n var FontManager = function () {\n var t = {\n w: 0,\n size: 0,\n shapes: []\n },\n e = [];\n e = e.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 r = [\"d83cdffb\", \"d83cdffc\", \"d83cdffd\", \"d83cdffe\", \"d83cdfff\"],\n i = [65039, 8205];\n\n function a(t, e) {\n var r = createTag(\"span\");\n r.setAttribute(\"aria-hidden\", !0), r.style.fontFamily = e;\n var i = createTag(\"span\");\n i.innerText = \"giItT1WQy@!-/#\", r.style.position = \"absolute\", r.style.left = \"-10000px\", r.style.top = \"-10000px\", r.style.fontSize = \"300px\", r.style.fontVariant = \"normal\", r.style.fontStyle = \"normal\", r.style.fontWeight = \"normal\", r.style.letterSpacing = \"0\", r.appendChild(i), document.body.appendChild(r);\n var a = i.offsetWidth;\n return i.style.fontFamily = function (t) {\n var e,\n r = t.split(\",\"),\n i = r.length,\n a = [];\n\n for (e = 0; e < i; e += 1) {\n \"sans-serif\" !== r[e] && \"monospace\" !== r[e] && a.push(r[e]);\n }\n\n return a.join(\",\");\n }(t) + \", \" + e, {\n node: i,\n w: a,\n parent: r\n };\n }\n\n function s(t, e) {\n var r = createNS(\"text\");\n r.style.fontSize = \"100px\";\n var i = getFontProperties(e);\n return r.setAttribute(\"font-family\", e.fFamily), r.setAttribute(\"font-style\", i.style), r.setAttribute(\"font-weight\", i.weight), r.textContent = \"1\", e.fClass ? (r.style.fontFamily = \"inherit\", r.setAttribute(\"class\", e.fClass)) : r.style.fontFamily = e.fFamily, t.appendChild(r), createTag(\"canvas\").getContext(\"2d\").font = e.fWeight + \" \" + e.fStyle + \" 100px \" + e.fFamily, r;\n }\n\n var n = function n() {\n this.fonts = [], this.chars = null, this.typekitLoaded = 0, this.isLoaded = !1, this._warned = !1, this.initTime = Date.now(), this.setIsLoadedBinded = this.setIsLoaded.bind(this), this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\n };\n\n n.isModifier = function (t, e) {\n var i = t.toString(16) + e.toString(16);\n return -1 !== r.indexOf(i);\n }, n.isZeroWidthJoiner = function (t, e) {\n return e ? t === i[0] && e === i[1] : t === i[1];\n }, n.isCombinedCharacter = function (t) {\n return -1 !== e.indexOf(t);\n };\n var o = {\n addChars: function addChars(t) {\n if (t) {\n var e;\n this.chars || (this.chars = []);\n var r,\n i,\n a = t.length,\n s = this.chars.length;\n\n for (e = 0; e < a; e += 1) {\n for (r = 0, i = !1; r < s;) {\n this.chars[r].style === t[e].style && this.chars[r].fFamily === t[e].fFamily && this.chars[r].ch === t[e].ch && (i = !0), r += 1;\n }\n\n i || (this.chars.push(t[e]), s += 1);\n }\n }\n },\n addFonts: function addFonts(t, e) {\n if (t) {\n if (this.chars) return this.isLoaded = !0, void (this.fonts = t.list);\n var r,\n i = t.list,\n n = i.length,\n o = n;\n\n for (r = 0; r < n; r += 1) {\n var h,\n l,\n p = !0;\n\n if (i[r].loaded = !1, i[r].monoCase = a(i[r].fFamily, \"monospace\"), i[r].sansCase = a(i[r].fFamily, \"sans-serif\"), i[r].fPath) {\n if (\"p\" === i[r].fOrigin || 3 === i[r].origin) {\n if ((h = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + i[r].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + i[r].fFamily + '\"]')).length > 0 && (p = !1), p) {\n var c = createTag(\"style\");\n c.setAttribute(\"f-forigin\", i[r].fOrigin), c.setAttribute(\"f-origin\", i[r].origin), c.setAttribute(\"f-family\", i[r].fFamily), c.type = \"text/css\", c.innerText = \"@font-face {font-family: \" + i[r].fFamily + \"; font-style: normal; src: url('\" + i[r].fPath + \"');}\", e.appendChild(c);\n }\n } else if (\"g\" === i[r].fOrigin || 1 === i[r].origin) {\n for (h = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]'), l = 0; l < h.length; l += 1) {\n -1 !== h[l].href.indexOf(i[r].fPath) && (p = !1);\n }\n\n if (p) {\n var f = createTag(\"link\");\n f.setAttribute(\"f-forigin\", i[r].fOrigin), f.setAttribute(\"f-origin\", i[r].origin), f.type = \"text/css\", f.rel = \"stylesheet\", f.href = i[r].fPath, document.body.appendChild(f);\n }\n } else if (\"t\" === i[r].fOrigin || 2 === i[r].origin) {\n for (h = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]'), l = 0; l < h.length; l += 1) {\n i[r].fPath === h[l].src && (p = !1);\n }\n\n if (p) {\n var d = createTag(\"link\");\n d.setAttribute(\"f-forigin\", i[r].fOrigin), d.setAttribute(\"f-origin\", i[r].origin), d.setAttribute(\"rel\", \"stylesheet\"), d.setAttribute(\"href\", i[r].fPath), e.appendChild(d);\n }\n }\n } else i[r].loaded = !0, o -= 1;\n\n i[r].helper = s(e, i[r]), i[r].cache = {}, this.fonts.push(i[r]);\n }\n\n 0 === o ? this.isLoaded = !0 : setTimeout(this.checkLoadedFonts.bind(this), 100);\n } else this.isLoaded = !0;\n },\n getCharData: function getCharData(e, r, i) {\n for (var a = 0, s = this.chars.length; a < s;) {\n if (this.chars[a].ch === e && this.chars[a].style === r && this.chars[a].fFamily === i) return this.chars[a];\n a += 1;\n }\n\n return (\"string\" == typeof e && 13 !== e.charCodeAt(0) || !e) && console && console.warn && !this._warned && (this._warned = !0, console.warn(\"Missing character from exported characters list: \", e, r, i)), t;\n },\n getFontByName: function getFontByName(t) {\n for (var e = 0, r = this.fonts.length; e < r;) {\n if (this.fonts[e].fName === t) return this.fonts[e];\n e += 1;\n }\n\n return this.fonts[0];\n },\n measureText: function measureText(t, e, r) {\n var i = this.getFontByName(e),\n a = t.charCodeAt(0);\n\n if (!i.cache[a + 1]) {\n var s = i.helper;\n\n if (\" \" === t) {\n s.textContent = \"|\" + t + \"|\";\n var n = s.getComputedTextLength();\n s.textContent = \"||\";\n var o = s.getComputedTextLength();\n i.cache[a + 1] = (n - o) / 100;\n } else s.textContent = t, i.cache[a + 1] = s.getComputedTextLength() / 100;\n }\n\n return i.cache[a + 1] * r;\n },\n checkLoadedFonts: function checkLoadedFonts() {\n var t,\n e,\n r,\n i = this.fonts.length,\n a = i;\n\n for (t = 0; t < i; t += 1) {\n this.fonts[t].loaded ? a -= 1 : \"n\" === this.fonts[t].fOrigin || 0 === this.fonts[t].origin ? this.fonts[t].loaded = !0 : (e = this.fonts[t].monoCase.node, r = this.fonts[t].monoCase.w, e.offsetWidth !== r ? (a -= 1, this.fonts[t].loaded = !0) : (e = this.fonts[t].sansCase.node, r = this.fonts[t].sansCase.w, e.offsetWidth !== r && (a -= 1, this.fonts[t].loaded = !0)), this.fonts[t].loaded && (this.fonts[t].sansCase.parent.parentNode.removeChild(this.fonts[t].sansCase.parent), this.fonts[t].monoCase.parent.parentNode.removeChild(this.fonts[t].monoCase.parent)));\n }\n\n 0 !== a && Date.now() - this.initTime < 5e3 ? setTimeout(this.checkLoadedFontsBinded, 20) : setTimeout(this.setIsLoadedBinded, 10);\n },\n setIsLoaded: function setIsLoaded() {\n this.isLoaded = !0;\n }\n };\n return n.prototype = o, n;\n }(),\n PropertyFactory = function () {\n var t = initialDefaultFrame,\n e = Math.abs;\n\n function r(t, e) {\n var r,\n a = this.offsetTime;\n \"multidimensional\" === this.propType && (r = createTypedArray(\"float32\", this.pv.length));\n\n for (var s, n, o, h, l, p, c, f, d, m = e.lastIndex, u = m, y = this.keyframes.length - 1, g = !0; g;) {\n if (s = this.keyframes[u], n = this.keyframes[u + 1], u === y - 1 && t >= n.t - a) {\n s.h && (s = n), m = 0;\n break;\n }\n\n if (n.t - a > t) {\n m = u;\n break;\n }\n\n u < y - 1 ? u += 1 : (m = 0, g = !1);\n }\n\n o = this.keyframesMetadata[u] || {};\n\n var v,\n b,\n _,\n P,\n E,\n S,\n x,\n A,\n w,\n C,\n k = n.t - a,\n T = s.t - a;\n\n if (s.to) {\n o.bezierData || (o.bezierData = bez.buildBezierData(s.s, n.s || s.e, s.to, s.ti));\n var D = o.bezierData;\n\n if (t >= k || t < T) {\n var M = t >= k ? D.points.length - 1 : 0;\n\n for (l = D.points[M].point.length, h = 0; h < l; h += 1) {\n r[h] = D.points[M].point[h];\n }\n } else {\n o.__fnct ? d = o.__fnct : (d = BezierFactory.getBezierEasing(s.o.x, s.o.y, s.i.x, s.i.y, s.n).get, o.__fnct = d), p = d((t - T) / (k - T));\n var F,\n I = D.segmentLength * p,\n R = e.lastFrame < t && e._lastKeyframeIndex === u ? e._lastAddedLength : 0;\n\n for (f = e.lastFrame < t && e._lastKeyframeIndex === u ? e._lastPoint : 0, g = !0, c = D.points.length; g;) {\n if (R += D.points[f].partialLength, 0 === I || 0 === p || f === D.points.length - 1) {\n for (l = D.points[f].point.length, h = 0; h < l; h += 1) {\n r[h] = D.points[f].point[h];\n }\n\n break;\n }\n\n if (I >= R && I < R + D.points[f + 1].partialLength) {\n for (F = (I - R) / D.points[f + 1].partialLength, l = D.points[f].point.length, h = 0; h < l; h += 1) {\n r[h] = D.points[f].point[h] + (D.points[f + 1].point[h] - D.points[f].point[h]) * F;\n }\n\n break;\n }\n\n f < c - 1 ? f += 1 : g = !1;\n }\n\n e._lastPoint = f, e._lastAddedLength = R - D.points[f].partialLength, e._lastKeyframeIndex = u;\n }\n } else {\n var V, O, L, B, $;\n if (y = s.s.length, v = n.s || s.e, this.sh && 1 !== s.h) {\n if (t >= k) r[0] = v[0], r[1] = v[1], r[2] = v[2];else if (t <= T) r[0] = s.s[0], r[1] = s.s[1], r[2] = s.s[2];else {\n var z = i(s.s),\n G = i(v);\n b = r, _ = function (t, e, r) {\n var i,\n a,\n s,\n n,\n o,\n h = [],\n l = t[0],\n p = t[1],\n c = t[2],\n f = t[3],\n d = e[0],\n m = e[1],\n u = e[2],\n y = e[3];\n return (a = l * d + p * m + c * u + f * y) < 0 && (a = -a, d = -d, m = -m, u = -u, y = -y), 1 - a > 1e-6 ? (i = Math.acos(a), s = Math.sin(i), n = Math.sin((1 - r) * i) / s, o = Math.sin(r * i) / s) : (n = 1 - r, o = r), h[0] = n * l + o * d, h[1] = n * p + o * m, h[2] = n * c + o * u, h[3] = n * f + o * y, h;\n }(z, G, (t - T) / (k - T)), P = _[0], E = _[1], S = _[2], x = _[3], A = Math.atan2(2 * E * x - 2 * P * S, 1 - 2 * E * E - 2 * S * S), w = Math.asin(2 * P * E + 2 * S * x), C = Math.atan2(2 * P * x - 2 * E * S, 1 - 2 * P * P - 2 * S * S), b[0] = A / degToRads, b[1] = w / degToRads, b[2] = C / degToRads;\n }\n } else for (u = 0; u < y; u += 1) {\n 1 !== s.h && (t >= k ? p = 1 : t < T ? p = 0 : (s.o.x.constructor === Array ? (o.__fnct || (o.__fnct = []), o.__fnct[u] ? d = o.__fnct[u] : (V = void 0 === s.o.x[u] ? s.o.x[0] : s.o.x[u], O = void 0 === s.o.y[u] ? s.o.y[0] : s.o.y[u], L = void 0 === s.i.x[u] ? s.i.x[0] : s.i.x[u], B = void 0 === s.i.y[u] ? s.i.y[0] : s.i.y[u], d = BezierFactory.getBezierEasing(V, O, L, B).get, o.__fnct[u] = d)) : o.__fnct ? d = o.__fnct : (V = s.o.x, O = s.o.y, L = s.i.x, B = s.i.y, d = BezierFactory.getBezierEasing(V, O, L, B).get, s.keyframeMetadata = d), p = d((t - T) / (k - T)))), v = n.s || s.e, $ = 1 === s.h ? s.s[u] : s.s[u] + (v[u] - s.s[u]) * p, \"multidimensional\" === this.propType ? r[u] = $ : r = $;\n }\n }\n\n return e.lastIndex = m, r;\n }\n\n function i(t) {\n var e = t[0] * degToRads,\n r = t[1] * degToRads,\n i = t[2] * degToRads,\n a = Math.cos(e / 2),\n s = Math.cos(r / 2),\n n = Math.cos(i / 2),\n o = Math.sin(e / 2),\n h = Math.sin(r / 2),\n l = Math.sin(i / 2);\n return [o * h * n + a * s * l, o * s * n + a * h * l, a * h * n - o * s * l, a * s * n - o * h * l];\n }\n\n function a() {\n var e = this.comp.renderedFrame - this.offsetTime,\n r = this.keyframes[0].t - this.offsetTime,\n i = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n\n if (!(e === this._caching.lastFrame || this._caching.lastFrame !== t && (this._caching.lastFrame >= i && e >= i || this._caching.lastFrame < r && e < r))) {\n this._caching.lastFrame >= e && (this._caching._lastKeyframeIndex = -1, this._caching.lastIndex = 0);\n var a = this.interpolateValue(e, this._caching);\n this.pv = a;\n }\n\n return this._caching.lastFrame = e, this.pv;\n }\n\n function s(t) {\n var r;\n if (\"unidimensional\" === this.propType) r = t * this.mult, e(this.v - r) > 1e-5 && (this.v = r, this._mdf = !0);else for (var i = 0, a = this.v.length; i < a;) {\n r = t[i] * this.mult, e(this.v[i] - r) > 1e-5 && (this.v[i] = r, this._mdf = !0), i += 1;\n }\n }\n\n function n() {\n if (this.elem.globalData.frameId !== this.frameId && this.effectsSequence.length) if (this.lock) this.setVValue(this.pv);else {\n var t;\n this.lock = !0, this._mdf = this._isFirstFrame;\n var e = this.effectsSequence.length,\n r = this.kf ? this.pv : this.data.k;\n\n for (t = 0; t < e; t += 1) {\n r = this.effectsSequence[t](r);\n }\n\n this.setVValue(r), this._isFirstFrame = !1, this.lock = !1, this.frameId = this.elem.globalData.frameId;\n }\n }\n\n function o(t) {\n this.effectsSequence.push(t), this.container.addDynamicProperty(this);\n }\n\n function h(t, e, r, i) {\n this.propType = \"unidimensional\", this.mult = r || 1, this.data = e, this.v = r ? e.k * r : e.k, this.pv = e.k, this._mdf = !1, this.elem = t, this.container = i, this.comp = t.comp, this.k = !1, this.kf = !1, this.vel = 0, this.effectsSequence = [], this._isFirstFrame = !0, this.getValue = n, this.setVValue = s, this.addEffect = o;\n }\n\n function l(t, e, r, i) {\n var a;\n this.propType = \"multidimensional\", this.mult = r || 1, this.data = e, this._mdf = !1, this.elem = t, this.container = i, this.comp = t.comp, this.k = !1, this.kf = !1, this.frameId = -1;\n var h = e.k.length;\n\n for (this.v = createTypedArray(\"float32\", h), this.pv = createTypedArray(\"float32\", h), this.vel = createTypedArray(\"float32\", h), a = 0; a < h; a += 1) {\n this.v[a] = e.k[a] * this.mult, this.pv[a] = e.k[a];\n }\n\n this._isFirstFrame = !0, this.effectsSequence = [], this.getValue = n, this.setVValue = s, this.addEffect = o;\n }\n\n function p(e, i, h, l) {\n this.propType = \"unidimensional\", this.keyframes = i.k, this.keyframesMetadata = [], this.offsetTime = e.data.st, this.frameId = -1, this._caching = {\n lastFrame: t,\n lastIndex: 0,\n value: 0,\n _lastKeyframeIndex: -1\n }, this.k = !0, this.kf = !0, this.data = i, this.mult = h || 1, this.elem = e, this.container = l, this.comp = e.comp, this.v = t, this.pv = t, this._isFirstFrame = !0, this.getValue = n, this.setVValue = s, this.interpolateValue = r, this.effectsSequence = [a.bind(this)], this.addEffect = o;\n }\n\n function c(e, i, h, l) {\n var p;\n this.propType = \"multidimensional\";\n var c,\n f,\n d,\n m,\n u = i.k.length;\n\n for (p = 0; p < u - 1; p += 1) {\n i.k[p].to && i.k[p].s && i.k[p + 1] && i.k[p + 1].s && (c = i.k[p].s, f = i.k[p + 1].s, d = i.k[p].to, m = i.k[p].ti, (2 === c.length && (c[0] !== f[0] || c[1] !== f[1]) && bez.pointOnLine2D(c[0], c[1], f[0], f[1], c[0] + d[0], c[1] + d[1]) && bez.pointOnLine2D(c[0], c[1], f[0], f[1], f[0] + m[0], f[1] + m[1]) || 3 === c.length && (c[0] !== f[0] || c[1] !== f[1] || c[2] !== f[2]) && bez.pointOnLine3D(c[0], c[1], c[2], f[0], f[1], f[2], c[0] + d[0], c[1] + d[1], c[2] + d[2]) && bez.pointOnLine3D(c[0], c[1], c[2], f[0], f[1], f[2], f[0] + m[0], f[1] + m[1], f[2] + m[2])) && (i.k[p].to = null, i.k[p].ti = null), c[0] === f[0] && c[1] === f[1] && 0 === d[0] && 0 === d[1] && 0 === m[0] && 0 === m[1] && (2 === c.length || c[2] === f[2] && 0 === d[2] && 0 === m[2]) && (i.k[p].to = null, i.k[p].ti = null));\n }\n\n this.effectsSequence = [a.bind(this)], this.data = i, this.keyframes = i.k, this.keyframesMetadata = [], this.offsetTime = e.data.st, this.k = !0, this.kf = !0, this._isFirstFrame = !0, this.mult = h || 1, this.elem = e, this.container = l, this.comp = e.comp, this.getValue = n, this.setVValue = s, this.interpolateValue = r, this.frameId = -1;\n var y = i.k[0].s.length;\n\n for (this.v = createTypedArray(\"float32\", y), this.pv = createTypedArray(\"float32\", y), p = 0; p < y; p += 1) {\n this.v[p] = t, this.pv[p] = t;\n }\n\n this._caching = {\n lastFrame: t,\n lastIndex: 0,\n value: createTypedArray(\"float32\", y)\n }, this.addEffect = o;\n }\n\n var f = {\n getProp: function getProp(t, e, r, i, a) {\n var s;\n if (e.k.length) {\n if (\"number\" == typeof e.k[0]) s = new l(t, e, i, a);else switch (r) {\n case 0:\n s = new p(t, e, i, a);\n break;\n\n case 1:\n s = new c(t, e, i, a);\n }\n } else s = new h(t, e, i, a);\n return s.effectsSequence.length && a.addDynamicProperty(s), s;\n }\n };\n return f;\n }(),\n TransformPropertyFactory = function () {\n var t = [0, 0];\n\n function e(t, e, r) {\n if (this.elem = t, this.frameId = -1, this.propType = \"transform\", this.data = e, this.v = new Matrix(), this.pre = new Matrix(), this.appliedTransformations = 0, this.initDynamicPropertyContainer(r || t), e.p && e.p.s ? (this.px = PropertyFactory.getProp(t, e.p.x, 0, 0, this), this.py = PropertyFactory.getProp(t, e.p.y, 0, 0, this), e.p.z && (this.pz = PropertyFactory.getProp(t, e.p.z, 0, 0, this))) : this.p = PropertyFactory.getProp(t, e.p || {\n k: [0, 0, 0]\n }, 1, 0, this), e.rx) {\n if (this.rx = PropertyFactory.getProp(t, e.rx, 0, degToRads, this), this.ry = PropertyFactory.getProp(t, e.ry, 0, degToRads, this), this.rz = PropertyFactory.getProp(t, e.rz, 0, degToRads, this), e.or.k[0].ti) {\n var i,\n a = e.or.k.length;\n\n for (i = 0; i < a; i += 1) {\n e.or.k[i].to = null, e.or.k[i].ti = null;\n }\n }\n\n this.or = PropertyFactory.getProp(t, e.or, 1, degToRads, this), this.or.sh = !0;\n } else this.r = PropertyFactory.getProp(t, e.r || {\n k: 0\n }, 0, degToRads, this);\n\n e.sk && (this.sk = PropertyFactory.getProp(t, e.sk, 0, degToRads, this), this.sa = PropertyFactory.getProp(t, e.sa, 0, degToRads, this)), this.a = PropertyFactory.getProp(t, e.a || {\n k: [0, 0, 0]\n }, 1, 0, this), this.s = PropertyFactory.getProp(t, e.s || {\n k: [100, 100, 100]\n }, 1, .01, this), e.o ? this.o = PropertyFactory.getProp(t, e.o, 0, .01, t) : this.o = {\n _mdf: !1,\n v: 1\n }, this._isDirty = !0, this.dynamicProperties.length || this.getValue(!0);\n }\n\n return e.prototype = {\n applyToMatrix: function applyToMatrix(t) {\n var e = this._mdf;\n this.iterateDynamicProperties(), this._mdf = this._mdf || e, this.a && t.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.s && t.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.sk && t.skewFromAxis(-this.sk.v, this.sa.v), this.r ? t.rotate(-this.r.v) : t.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]), this.data.p.s ? this.data.p.z ? t.translate(this.px.v, this.py.v, -this.pz.v) : t.translate(this.px.v, this.py.v, 0) : t.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n },\n getValue: function getValue(e) {\n if (this.elem.globalData.frameId !== this.frameId) {\n if (this._isDirty && (this.precalculateMatrix(), this._isDirty = !1), this.iterateDynamicProperties(), this._mdf || e) {\n var r;\n\n if (this.v.cloneFromProps(this.pre.props), this.appliedTransformations < 1 && this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.appliedTransformations < 2 && this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.sk && this.appliedTransformations < 3 && this.v.skewFromAxis(-this.sk.v, this.sa.v), this.r && this.appliedTransformations < 4 ? this.v.rotate(-this.r.v) : !this.r && this.appliedTransformations < 4 && 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]), this.autoOriented) {\n var i, a;\n if (r = this.elem.globalData.frameRate, this.p && this.p.keyframes && this.p.getValueAtTime) this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t ? (i = this.p.getValueAtTime((this.p.keyframes[0].t + .01) / r, 0), a = this.p.getValueAtTime(this.p.keyframes[0].t / r, 0)) : this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t ? (i = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / r, 0), a = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - .05) / r, 0)) : (i = this.p.pv, a = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - .01) / r, this.p.offsetTime));else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\n i = [], a = [];\n var s = this.px,\n n = this.py;\n s._caching.lastFrame + s.offsetTime <= s.keyframes[0].t ? (i[0] = s.getValueAtTime((s.keyframes[0].t + .01) / r, 0), i[1] = n.getValueAtTime((n.keyframes[0].t + .01) / r, 0), a[0] = s.getValueAtTime(s.keyframes[0].t / r, 0), a[1] = n.getValueAtTime(n.keyframes[0].t / r, 0)) : s._caching.lastFrame + s.offsetTime >= s.keyframes[s.keyframes.length - 1].t ? (i[0] = s.getValueAtTime(s.keyframes[s.keyframes.length - 1].t / r, 0), i[1] = n.getValueAtTime(n.keyframes[n.keyframes.length - 1].t / r, 0), a[0] = s.getValueAtTime((s.keyframes[s.keyframes.length - 1].t - .01) / r, 0), a[1] = n.getValueAtTime((n.keyframes[n.keyframes.length - 1].t - .01) / r, 0)) : (i = [s.pv, n.pv], a[0] = s.getValueAtTime((s._caching.lastFrame + s.offsetTime - .01) / r, s.offsetTime), a[1] = n.getValueAtTime((n._caching.lastFrame + n.offsetTime - .01) / r, n.offsetTime));\n } else i = a = t;\n this.v.rotate(-Math.atan2(i[1] - a[1], i[0] - a[0]));\n }\n\n this.data.p && this.data.p.s ? this.data.p.z ? this.v.translate(this.px.v, this.py.v, -this.pz.v) : this.v.translate(this.px.v, this.py.v, 0) : this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n\n this.frameId = this.elem.globalData.frameId;\n }\n },\n precalculateMatrix: function precalculateMatrix() {\n if (!this.a.k && (this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.appliedTransformations = 1, !this.s.effectsSequence.length)) {\n if (this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.appliedTransformations = 2, this.sk) {\n if (this.sk.effectsSequence.length || this.sa.effectsSequence.length) return;\n this.pre.skewFromAxis(-this.sk.v, this.sa.v), this.appliedTransformations = 3;\n }\n\n this.r ? this.r.effectsSequence.length || (this.pre.rotate(-this.r.v), this.appliedTransformations = 4) : this.rz.effectsSequence.length || this.ry.effectsSequence.length || this.rx.effectsSequence.length || this.or.effectsSequence.length || (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]), this.appliedTransformations = 4);\n }\n },\n autoOrient: function autoOrient() {}\n }, extendPrototype([DynamicPropertyContainer], e), e.prototype.addDynamicProperty = function (t) {\n this._addDynamicProperty(t), this.elem.addDynamicProperty(t), this._isDirty = !0;\n }, e.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty, {\n getTransformProperty: function getTransformProperty(t, r, i) {\n return new e(t, r, i);\n }\n };\n }();\n\n function ShapePath() {\n this.c = !1, this._length = 0, this._maxLength = 8, this.v = createSizedArray(this._maxLength), this.o = createSizedArray(this._maxLength), this.i = createSizedArray(this._maxLength);\n }\n\n ShapePath.prototype.setPathData = function (t, e) {\n this.c = t, this.setLength(e);\n\n for (var r = 0; r < e;) {\n this.v[r] = pointPool.newElement(), this.o[r] = pointPool.newElement(), this.i[r] = pointPool.newElement(), r += 1;\n }\n }, ShapePath.prototype.setLength = function (t) {\n for (; this._maxLength < t;) {\n this.doubleArrayLength();\n }\n\n this._length = t;\n }, ShapePath.prototype.doubleArrayLength = function () {\n this.v = this.v.concat(createSizedArray(this._maxLength)), this.i = this.i.concat(createSizedArray(this._maxLength)), this.o = this.o.concat(createSizedArray(this._maxLength)), this._maxLength *= 2;\n }, ShapePath.prototype.setXYAt = function (t, e, r, i, a) {\n var s;\n\n switch (this._length = Math.max(this._length, i + 1), this._length >= this._maxLength && this.doubleArrayLength(), r) {\n case \"v\":\n s = this.v;\n break;\n\n case \"i\":\n s = this.i;\n break;\n\n case \"o\":\n s = this.o;\n break;\n\n default:\n s = [];\n }\n\n (!s[i] || s[i] && !a) && (s[i] = pointPool.newElement()), s[i][0] = t, s[i][1] = e;\n }, ShapePath.prototype.setTripleAt = function (t, e, r, i, a, s, n, o) {\n this.setXYAt(t, e, \"v\", n, o), this.setXYAt(r, i, \"o\", n, o), this.setXYAt(a, s, \"i\", n, o);\n }, ShapePath.prototype.reverse = function () {\n var t = new ShapePath();\n t.setPathData(this.c, this._length);\n var e = this.v,\n r = this.o,\n i = this.i,\n a = 0;\n this.c && (t.setTripleAt(e[0][0], e[0][1], i[0][0], i[0][1], r[0][0], r[0][1], 0, !1), a = 1);\n var s,\n n = this._length - 1,\n o = this._length;\n\n for (s = a; s < o; s += 1) {\n t.setTripleAt(e[n][0], e[n][1], i[n][0], i[n][1], r[n][0], r[n][1], s, !1), n -= 1;\n }\n\n return t;\n };\n\n var ShapePropertyFactory = function () {\n var t = -999999;\n\n function e(t, e, r) {\n var i,\n a,\n s,\n n,\n o,\n h,\n l,\n p,\n c,\n f = r.lastIndex,\n d = this.keyframes;\n if (t < d[0].t - this.offsetTime) i = d[0].s[0], s = !0, f = 0;else if (t >= d[d.length - 1].t - this.offsetTime) i = d[d.length - 1].s ? d[d.length - 1].s[0] : d[d.length - 2].e[0], s = !0;else {\n for (var m, u, y, g = f, v = d.length - 1, b = !0; b && (m = d[g], !((u = d[g + 1]).t - this.offsetTime > t));) {\n g < v - 1 ? g += 1 : b = !1;\n }\n\n if (y = this.keyframesMetadata[g] || {}, f = g, !(s = 1 === m.h)) {\n if (t >= u.t - this.offsetTime) p = 1;else if (t < m.t - this.offsetTime) p = 0;else {\n var _;\n\n y.__fnct ? _ = y.__fnct : (_ = BezierFactory.getBezierEasing(m.o.x, m.o.y, m.i.x, m.i.y).get, y.__fnct = _), p = _((t - (m.t - this.offsetTime)) / (u.t - this.offsetTime - (m.t - this.offsetTime)));\n }\n a = u.s ? u.s[0] : m.e[0];\n }\n\n i = m.s[0];\n }\n\n for (h = e._length, l = i.i[0].length, r.lastIndex = f, n = 0; n < h; n += 1) {\n for (o = 0; o < l; o += 1) {\n c = s ? i.i[n][o] : i.i[n][o] + (a.i[n][o] - i.i[n][o]) * p, e.i[n][o] = c, c = s ? i.o[n][o] : i.o[n][o] + (a.o[n][o] - i.o[n][o]) * p, e.o[n][o] = c, c = s ? i.v[n][o] : i.v[n][o] + (a.v[n][o] - i.v[n][o]) * p, e.v[n][o] = c;\n }\n }\n }\n\n function r() {\n var e = this.comp.renderedFrame - this.offsetTime,\n r = this.keyframes[0].t - this.offsetTime,\n i = this.keyframes[this.keyframes.length - 1].t - this.offsetTime,\n a = this._caching.lastFrame;\n return a !== t && (a < r && e < r || a > i && e > i) || (this._caching.lastIndex = a < e ? this._caching.lastIndex : 0, this.interpolateShape(e, this.pv, this._caching)), this._caching.lastFrame = e, this.pv;\n }\n\n function i() {\n this.paths = this.localShapeCollection;\n }\n\n function a(t) {\n (function (t, e) {\n if (t._length !== e._length || t.c !== e.c) return !1;\n var r,\n i = t._length;\n\n for (r = 0; r < i; r += 1) {\n if (t.v[r][0] !== e.v[r][0] || t.v[r][1] !== e.v[r][1] || t.o[r][0] !== e.o[r][0] || t.o[r][1] !== e.o[r][1] || t.i[r][0] !== e.i[r][0] || t.i[r][1] !== e.i[r][1]) return !1;\n }\n\n return !0;\n })(this.v, t) || (this.v = shapePool.clone(t), this.localShapeCollection.releaseShapes(), this.localShapeCollection.addShape(this.v), this._mdf = !0, this.paths = this.localShapeCollection);\n }\n\n function s() {\n if (this.elem.globalData.frameId !== this.frameId) if (this.effectsSequence.length) {\n if (this.lock) this.setVValue(this.pv);else {\n var t, e;\n this.lock = !0, this._mdf = !1, t = this.kf ? this.pv : this.data.ks ? this.data.ks.k : this.data.pt.k;\n var r = this.effectsSequence.length;\n\n for (e = 0; e < r; e += 1) {\n t = this.effectsSequence[e](t);\n }\n\n this.setVValue(t), this.lock = !1, this.frameId = this.elem.globalData.frameId;\n }\n } else this._mdf = !1;\n }\n\n function n(t, e, r) {\n this.propType = \"shape\", this.comp = t.comp, this.container = t, this.elem = t, this.data = e, this.k = !1, this.kf = !1, this._mdf = !1;\n var a = 3 === r ? e.pt.k : e.ks.k;\n this.v = shapePool.clone(a), this.pv = shapePool.clone(this.v), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.paths = this.localShapeCollection, this.paths.addShape(this.v), this.reset = i, this.effectsSequence = [];\n }\n\n function o(t) {\n this.effectsSequence.push(t), this.container.addDynamicProperty(this);\n }\n\n function h(e, a, s) {\n this.propType = \"shape\", this.comp = e.comp, this.elem = e, this.container = e, this.offsetTime = e.data.st, this.keyframes = 3 === s ? a.pt.k : a.ks.k, this.keyframesMetadata = [], this.k = !0, this.kf = !0;\n var n = this.keyframes[0].s[0].i.length;\n this.v = shapePool.newElement(), this.v.setPathData(this.keyframes[0].s[0].c, n), this.pv = shapePool.clone(this.v), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.paths = this.localShapeCollection, this.paths.addShape(this.v), this.lastFrame = t, this.reset = i, this._caching = {\n lastFrame: t,\n lastIndex: 0\n }, this.effectsSequence = [r.bind(this)];\n }\n\n n.prototype.interpolateShape = e, n.prototype.getValue = s, n.prototype.setVValue = a, n.prototype.addEffect = o, h.prototype.getValue = s, h.prototype.interpolateShape = e, h.prototype.setVValue = a, h.prototype.addEffect = o;\n\n var l = function () {\n var t = roundCorner;\n\n function e(t, e) {\n this.v = shapePool.newElement(), this.v.setPathData(!0, 4), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.paths = this.localShapeCollection, this.localShapeCollection.addShape(this.v), this.d = e.d, this.elem = t, this.comp = t.comp, this.frameId = -1, this.initDynamicPropertyContainer(t), this.p = PropertyFactory.getProp(t, e.p, 1, 0, this), this.s = PropertyFactory.getProp(t, e.s, 1, 0, this), this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertEllToPath());\n }\n\n return e.prototype = {\n reset: i,\n getValue: function getValue() {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertEllToPath());\n },\n convertEllToPath: function convertEllToPath() {\n var e = this.p.v[0],\n r = this.p.v[1],\n i = this.s.v[0] / 2,\n a = this.s.v[1] / 2,\n s = 3 !== this.d,\n n = this.v;\n n.v[0][0] = e, n.v[0][1] = r - a, n.v[1][0] = s ? e + i : e - i, n.v[1][1] = r, n.v[2][0] = e, n.v[2][1] = r + a, n.v[3][0] = s ? e - i : e + i, n.v[3][1] = r, n.i[0][0] = s ? e - i * t : e + i * t, n.i[0][1] = r - a, n.i[1][0] = s ? e + i : e - i, n.i[1][1] = r - a * t, n.i[2][0] = s ? e + i * t : e - i * t, n.i[2][1] = r + a, n.i[3][0] = s ? e - i : e + i, n.i[3][1] = r + a * t, n.o[0][0] = s ? e + i * t : e - i * t, n.o[0][1] = r - a, n.o[1][0] = s ? e + i : e - i, n.o[1][1] = r + a * t, n.o[2][0] = s ? e - i * t : e + i * t, n.o[2][1] = r + a, n.o[3][0] = s ? e - i : e + i, n.o[3][1] = r - a * t;\n }\n }, extendPrototype([DynamicPropertyContainer], e), e;\n }(),\n p = function () {\n function t(t, e) {\n this.v = shapePool.newElement(), this.v.setPathData(!0, 0), this.elem = t, this.comp = t.comp, this.data = e, this.frameId = -1, this.d = e.d, this.initDynamicPropertyContainer(t), 1 === e.sy ? (this.ir = PropertyFactory.getProp(t, e.ir, 0, 0, this), this.is = PropertyFactory.getProp(t, e.is, 0, .01, this), this.convertToPath = this.convertStarToPath) : this.convertToPath = this.convertPolygonToPath, this.pt = PropertyFactory.getProp(t, e.pt, 0, 0, this), this.p = PropertyFactory.getProp(t, e.p, 1, 0, this), this.r = PropertyFactory.getProp(t, e.r, 0, degToRads, this), this.or = PropertyFactory.getProp(t, e.or, 0, 0, this), this.os = PropertyFactory.getProp(t, e.os, 0, .01, this), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.localShapeCollection.addShape(this.v), this.paths = this.localShapeCollection, this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertToPath());\n }\n\n return t.prototype = {\n reset: i,\n getValue: function getValue() {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertToPath());\n },\n convertStarToPath: function convertStarToPath() {\n var t,\n e,\n r,\n i,\n a = 2 * Math.floor(this.pt.v),\n s = 2 * Math.PI / a,\n n = !0,\n o = this.or.v,\n h = this.ir.v,\n l = this.os.v,\n p = this.is.v,\n c = 2 * Math.PI * o / (2 * a),\n f = 2 * Math.PI * h / (2 * a),\n d = -Math.PI / 2;\n d += this.r.v;\n var m = 3 === this.data.d ? -1 : 1;\n\n for (this.v._length = 0, t = 0; t < a; t += 1) {\n r = n ? l : p, i = n ? c : f;\n var u = (e = n ? o : h) * Math.cos(d),\n y = e * Math.sin(d),\n g = 0 === u && 0 === y ? 0 : y / Math.sqrt(u * u + y * y),\n v = 0 === u && 0 === y ? 0 : -u / Math.sqrt(u * u + y * y);\n u += +this.p.v[0], y += +this.p.v[1], this.v.setTripleAt(u, y, u - g * i * r * m, y - v * i * r * m, u + g * i * r * m, y + v * i * r * m, t, !0), n = !n, d += s * m;\n }\n },\n convertPolygonToPath: function convertPolygonToPath() {\n var t,\n e = Math.floor(this.pt.v),\n r = 2 * Math.PI / e,\n i = this.or.v,\n a = this.os.v,\n s = 2 * Math.PI * i / (4 * e),\n n = .5 * -Math.PI,\n o = 3 === this.data.d ? -1 : 1;\n\n for (n += this.r.v, this.v._length = 0, t = 0; t < e; t += 1) {\n var h = i * Math.cos(n),\n l = i * Math.sin(n),\n p = 0 === h && 0 === l ? 0 : l / Math.sqrt(h * h + l * l),\n c = 0 === h && 0 === l ? 0 : -h / Math.sqrt(h * h + l * l);\n h += +this.p.v[0], l += +this.p.v[1], this.v.setTripleAt(h, l, h - p * s * a * o, l - c * s * a * o, h + p * s * a * o, l + c * s * a * o, t, !0), n += r * o;\n }\n\n this.paths.length = 0, this.paths[0] = this.v;\n }\n }, extendPrototype([DynamicPropertyContainer], t), t;\n }(),\n c = function () {\n function t(t, e) {\n this.v = shapePool.newElement(), this.v.c = !0, this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.localShapeCollection.addShape(this.v), this.paths = this.localShapeCollection, this.elem = t, this.comp = t.comp, this.frameId = -1, this.d = e.d, this.initDynamicPropertyContainer(t), this.p = PropertyFactory.getProp(t, e.p, 1, 0, this), this.s = PropertyFactory.getProp(t, e.s, 1, 0, this), this.r = PropertyFactory.getProp(t, e.r, 0, 0, this), this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertRectToPath());\n }\n\n return t.prototype = {\n convertRectToPath: function convertRectToPath() {\n var t = this.p.v[0],\n e = this.p.v[1],\n r = this.s.v[0] / 2,\n i = this.s.v[1] / 2,\n a = bmMin(r, i, this.r.v),\n s = a * (1 - roundCorner);\n this.v._length = 0, 2 === this.d || 1 === this.d ? (this.v.setTripleAt(t + r, e - i + a, t + r, e - i + a, t + r, e - i + s, 0, !0), this.v.setTripleAt(t + r, e + i - a, t + r, e + i - s, t + r, e + i - a, 1, !0), 0 !== a ? (this.v.setTripleAt(t + r - a, e + i, t + r - a, e + i, t + r - s, e + i, 2, !0), this.v.setTripleAt(t - r + a, e + i, t - r + s, e + i, t - r + a, e + i, 3, !0), this.v.setTripleAt(t - r, e + i - a, t - r, e + i - a, t - r, e + i - s, 4, !0), this.v.setTripleAt(t - r, e - i + a, t - r, e - i + s, t - r, e - i + a, 5, !0), this.v.setTripleAt(t - r + a, e - i, t - r + a, e - i, t - r + s, e - i, 6, !0), this.v.setTripleAt(t + r - a, e - i, t + r - s, e - i, t + r - a, e - i, 7, !0)) : (this.v.setTripleAt(t - r, e + i, t - r + s, e + i, t - r, e + i, 2), this.v.setTripleAt(t - r, e - i, t - r, e - i + s, t - r, e - i, 3))) : (this.v.setTripleAt(t + r, e - i + a, t + r, e - i + s, t + r, e - i + a, 0, !0), 0 !== a ? (this.v.setTripleAt(t + r - a, e - i, t + r - a, e - i, t + r - s, e - i, 1, !0), this.v.setTripleAt(t - r + a, e - i, t - r + s, e - i, t - r + a, e - i, 2, !0), this.v.setTripleAt(t - r, e - i + a, t - r, e - i + a, t - r, e - i + s, 3, !0), this.v.setTripleAt(t - r, e + i - a, t - r, e + i - s, t - r, e + i - a, 4, !0), this.v.setTripleAt(t - r + a, e + i, t - r + a, e + i, t - r + s, e + i, 5, !0), this.v.setTripleAt(t + r - a, e + i, t + r - s, e + i, t + r - a, e + i, 6, !0), this.v.setTripleAt(t + r, e + i - a, t + r, e + i - a, t + r, e + i - s, 7, !0)) : (this.v.setTripleAt(t - r, e - i, t - r + s, e - i, t - r, e - i, 1, !0), this.v.setTripleAt(t - r, e + i, t - r, e + i - s, t - r, e + i, 2, !0), this.v.setTripleAt(t + r, e + i, t + r - s, e + i, t + r, e + i, 3, !0)));\n },\n getValue: function getValue() {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertRectToPath());\n },\n reset: i\n }, extendPrototype([DynamicPropertyContainer], t), t;\n }(),\n f = {\n getShapeProp: function getShapeProp(t, e, r) {\n var i;\n return 3 === r || 4 === r ? i = (3 === r ? e.pt : e.ks).k.length ? new h(t, e, r) : new n(t, e, r) : 5 === r ? i = new c(t, e) : 6 === r ? i = new l(t, e) : 7 === r && (i = new p(t, e)), i.k && t.addDynamicProperty(i), i;\n },\n getConstructorFunction: function getConstructorFunction() {\n return n;\n },\n getKeyframedConstructorFunction: function getKeyframedConstructorFunction() {\n return h;\n }\n };\n\n return f;\n }(),\n ShapeModifiers = (ob = {}, modifiers = {}, ob.registerModifier = function (t, e) {\n modifiers[t] || (modifiers[t] = e);\n }, ob.getModifier = function (t, e, r) {\n return new modifiers[t](e, r);\n }, ob),\n ob,\n modifiers;\n\n function ShapeModifier() {}\n\n function TrimModifier() {}\n\n function RoundCornersModifier() {}\n\n function PuckerAndBloatModifier() {}\n\n function RepeaterModifier() {}\n\n function ShapeCollection() {\n this._length = 0, this._maxLength = 4, this.shapes = createSizedArray(this._maxLength);\n }\n\n function DashProperty(t, e, r, i) {\n var a;\n this.elem = t, this.frameId = -1, this.dataProps = createSizedArray(e.length), this.renderer = r, this.k = !1, this.dashStr = \"\", this.dashArray = createTypedArray(\"float32\", e.length ? e.length - 1 : 0), this.dashoffset = createTypedArray(\"float32\", 1), this.initDynamicPropertyContainer(i);\n var s,\n n = e.length || 0;\n\n for (a = 0; a < n; a += 1) {\n s = PropertyFactory.getProp(t, e[a].v, 0, 0, this), this.k = s.k || this.k, this.dataProps[a] = {\n n: e[a].n,\n p: s\n };\n }\n\n this.k || this.getValue(!0), this._isAnimated = this.k;\n }\n\n function GradientProperty(t, e, r) {\n this.data = e, this.c = createTypedArray(\"uint8c\", 4 * e.p);\n var i = e.k.k[0].s ? e.k.k[0].s.length - 4 * e.p : e.k.k.length - 4 * e.p;\n this.o = createTypedArray(\"float32\", i), this._cmdf = !1, this._omdf = !1, this._collapsable = this.checkCollapsable(), this._hasOpacity = i, this.initDynamicPropertyContainer(r), this.prop = PropertyFactory.getProp(t, e.k, 1, null, this), this.k = this.prop.k, this.getValue(!0);\n }\n\n ShapeModifier.prototype.initModifierProperties = function () {}, ShapeModifier.prototype.addShapeToModifier = function () {}, ShapeModifier.prototype.addShape = function (t) {\n if (!this.closed) {\n t.sh.container.addDynamicProperty(t.sh);\n var e = {\n shape: t.sh,\n data: t,\n localShapeCollection: shapeCollectionPool.newShapeCollection()\n };\n this.shapes.push(e), this.addShapeToModifier(e), this._isAnimated && t.setAsAnimated();\n }\n }, ShapeModifier.prototype.init = function (t, e) {\n this.shapes = [], this.elem = t, this.initDynamicPropertyContainer(t), this.initModifierProperties(t, e), this.frameId = initialDefaultFrame, this.closed = !1, this.k = !1, this.dynamicProperties.length ? this.k = !0 : this.getValue(!0);\n }, ShapeModifier.prototype.processKeys = function () {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties());\n }, extendPrototype([DynamicPropertyContainer], ShapeModifier), extendPrototype([ShapeModifier], TrimModifier), TrimModifier.prototype.initModifierProperties = function (t, e) {\n this.s = PropertyFactory.getProp(t, e.s, 0, .01, this), this.e = PropertyFactory.getProp(t, e.e, 0, .01, this), this.o = PropertyFactory.getProp(t, e.o, 0, 0, this), this.sValue = 0, this.eValue = 0, this.getValue = this.processKeys, this.m = e.m, this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;\n }, TrimModifier.prototype.addShapeToModifier = function (t) {\n t.pathsData = [];\n }, TrimModifier.prototype.calculateShapeEdges = function (t, e, r, i, a) {\n var s = [];\n e <= 1 ? s.push({\n s: t,\n e: e\n }) : t >= 1 ? s.push({\n s: t - 1,\n e: e - 1\n }) : (s.push({\n s: t,\n e: 1\n }), s.push({\n s: 0,\n e: e - 1\n }));\n var n,\n o,\n h = [],\n l = s.length;\n\n for (n = 0; n < l; n += 1) {\n var p, c;\n (o = s[n]).e * a < i || o.s * a > i + r || (p = o.s * a <= i ? 0 : (o.s * a - i) / r, c = o.e * a >= i + r ? 1 : (o.e * a - i) / r, h.push([p, c]));\n }\n\n return h.length || h.push([0, 0]), h;\n }, TrimModifier.prototype.releasePathsData = function (t) {\n var e,\n r = t.length;\n\n for (e = 0; e < r; e += 1) {\n segmentsLengthPool.release(t[e]);\n }\n\n return t.length = 0, t;\n }, TrimModifier.prototype.processShapes = function (t) {\n var e, r, i, a;\n\n if (this._mdf || t) {\n var s = this.o.v % 360 / 360;\n\n if (s < 0 && (s += 1), (e = this.s.v > 1 ? 1 + s : this.s.v < 0 ? 0 + s : this.s.v + s) > (r = this.e.v > 1 ? 1 + s : this.e.v < 0 ? 0 + s : this.e.v + s)) {\n var n = e;\n e = r, r = n;\n }\n\n e = 1e-4 * Math.round(1e4 * e), r = 1e-4 * Math.round(1e4 * r), this.sValue = e, this.eValue = r;\n } else e = this.sValue, r = this.eValue;\n\n var o,\n h,\n l,\n p,\n c,\n f = this.shapes.length,\n d = 0;\n if (r === e) for (a = 0; a < f; a += 1) {\n this.shapes[a].localShapeCollection.releaseShapes(), this.shapes[a].shape._mdf = !0, this.shapes[a].shape.paths = this.shapes[a].localShapeCollection, this._mdf && (this.shapes[a].pathsData.length = 0);\n } else if (1 === r && 0 === e || 0 === r && 1 === e) {\n if (this._mdf) for (a = 0; a < f; a += 1) {\n this.shapes[a].pathsData.length = 0, this.shapes[a].shape._mdf = !0;\n }\n } else {\n var m,\n u,\n y = [];\n\n for (a = 0; a < f; a += 1) {\n if ((m = this.shapes[a]).shape._mdf || this._mdf || t || 2 === this.m) {\n if (h = (i = m.shape.paths)._length, c = 0, !m.shape._mdf && m.pathsData.length) c = m.totalShapeLength;else {\n for (l = this.releasePathsData(m.pathsData), o = 0; o < h; o += 1) {\n p = bez.getSegmentsLength(i.shapes[o]), l.push(p), c += p.totalLength;\n }\n\n m.totalShapeLength = c, m.pathsData = l;\n }\n d += c, m.shape._mdf = !0;\n } else m.shape.paths = m.localShapeCollection;\n }\n\n var g,\n v = e,\n b = r,\n _ = 0;\n\n for (a = f - 1; a >= 0; a -= 1) {\n if ((m = this.shapes[a]).shape._mdf) {\n for ((u = m.localShapeCollection).releaseShapes(), 2 === this.m && f > 1 ? (g = this.calculateShapeEdges(e, r, m.totalShapeLength, _, d), _ += m.totalShapeLength) : g = [[v, b]], h = g.length, o = 0; o < h; o += 1) {\n v = g[o][0], b = g[o][1], y.length = 0, b <= 1 ? y.push({\n s: m.totalShapeLength * v,\n e: m.totalShapeLength * b\n }) : v >= 1 ? y.push({\n s: m.totalShapeLength * (v - 1),\n e: m.totalShapeLength * (b - 1)\n }) : (y.push({\n s: m.totalShapeLength * v,\n e: m.totalShapeLength\n }), y.push({\n s: 0,\n e: m.totalShapeLength * (b - 1)\n }));\n var P = this.addShapes(m, y[0]);\n\n if (y[0].s !== y[0].e) {\n if (y.length > 1) if (m.shape.paths.shapes[m.shape.paths._length - 1].c) {\n var E = P.pop();\n this.addPaths(P, u), P = this.addShapes(m, y[1], E);\n } else this.addPaths(P, u), P = this.addShapes(m, y[1]);\n this.addPaths(P, u);\n }\n }\n\n m.shape.paths = u;\n }\n }\n }\n }, TrimModifier.prototype.addPaths = function (t, e) {\n var r,\n i = t.length;\n\n for (r = 0; r < i; r += 1) {\n e.addShape(t[r]);\n }\n }, TrimModifier.prototype.addSegment = function (t, e, r, i, a, s, n) {\n a.setXYAt(e[0], e[1], \"o\", s), a.setXYAt(r[0], r[1], \"i\", s + 1), n && a.setXYAt(t[0], t[1], \"v\", s), a.setXYAt(i[0], i[1], \"v\", s + 1);\n }, TrimModifier.prototype.addSegmentFromArray = function (t, e, r, i) {\n e.setXYAt(t[1], t[5], \"o\", r), e.setXYAt(t[2], t[6], \"i\", r + 1), i && e.setXYAt(t[0], t[4], \"v\", r), e.setXYAt(t[3], t[7], \"v\", r + 1);\n }, TrimModifier.prototype.addShapes = function (t, e, r) {\n var i,\n a,\n s,\n n,\n o,\n h,\n l,\n p,\n c = t.pathsData,\n f = t.shape.paths.shapes,\n d = t.shape.paths._length,\n m = 0,\n u = [],\n y = !0;\n\n for (r ? (o = r._length, p = r._length) : (r = shapePool.newElement(), o = 0, p = 0), u.push(r), i = 0; i < d; i += 1) {\n for (h = c[i].lengths, r.c = f[i].c, s = f[i].c ? h.length : h.length + 1, a = 1; a < s; a += 1) {\n if (m + (n = h[a - 1]).addedLength < e.s) m += n.addedLength, r.c = !1;else {\n if (m > e.e) {\n r.c = !1;\n break;\n }\n\n e.s <= m && e.e >= m + n.addedLength ? (this.addSegment(f[i].v[a - 1], f[i].o[a - 1], f[i].i[a], f[i].v[a], r, o, y), y = !1) : (l = bez.getNewSegment(f[i].v[a - 1], f[i].v[a], f[i].o[a - 1], f[i].i[a], (e.s - m) / n.addedLength, (e.e - m) / n.addedLength, h[a - 1]), this.addSegmentFromArray(l, r, o, y), y = !1, r.c = !1), m += n.addedLength, o += 1;\n }\n }\n\n if (f[i].c && h.length) {\n if (n = h[a - 1], m <= e.e) {\n var g = h[a - 1].addedLength;\n e.s <= m && e.e >= m + g ? (this.addSegment(f[i].v[a - 1], f[i].o[a - 1], f[i].i[0], f[i].v[0], r, o, y), y = !1) : (l = bez.getNewSegment(f[i].v[a - 1], f[i].v[0], f[i].o[a - 1], f[i].i[0], (e.s - m) / g, (e.e - m) / g, h[a - 1]), this.addSegmentFromArray(l, r, o, y), y = !1, r.c = !1);\n } else r.c = !1;\n\n m += n.addedLength, o += 1;\n }\n\n if (r._length && (r.setXYAt(r.v[p][0], r.v[p][1], \"i\", p), r.setXYAt(r.v[r._length - 1][0], r.v[r._length - 1][1], \"o\", r._length - 1)), m > e.e) break;\n i < d - 1 && (r = shapePool.newElement(), y = !0, u.push(r), o = 0);\n }\n\n return u;\n }, ShapeModifiers.registerModifier(\"tm\", TrimModifier), extendPrototype([ShapeModifier], RoundCornersModifier), RoundCornersModifier.prototype.initModifierProperties = function (t, e) {\n this.getValue = this.processKeys, this.rd = PropertyFactory.getProp(t, e.r, 0, null, this), this._isAnimated = !!this.rd.effectsSequence.length;\n }, RoundCornersModifier.prototype.processPath = function (t, e) {\n var r,\n i = shapePool.newElement();\n i.c = t.c;\n var a,\n s,\n n,\n o,\n h,\n l,\n p,\n c,\n f,\n d,\n m,\n u,\n y = t._length,\n g = 0;\n\n for (r = 0; r < y; r += 1) {\n a = t.v[r], n = t.o[r], s = t.i[r], a[0] === n[0] && a[1] === n[1] && a[0] === s[0] && a[1] === s[1] ? 0 !== r && r !== y - 1 || t.c ? (o = 0 === r ? t.v[y - 1] : t.v[r - 1], l = (h = Math.sqrt(Math.pow(a[0] - o[0], 2) + Math.pow(a[1] - o[1], 2))) ? Math.min(h / 2, e) / h : 0, p = m = a[0] + (o[0] - a[0]) * l, c = u = a[1] - (a[1] - o[1]) * l, f = p - (p - a[0]) * roundCorner, d = c - (c - a[1]) * roundCorner, i.setTripleAt(p, c, f, d, m, u, g), g += 1, o = r === y - 1 ? t.v[0] : t.v[r + 1], l = (h = Math.sqrt(Math.pow(a[0] - o[0], 2) + Math.pow(a[1] - o[1], 2))) ? Math.min(h / 2, e) / h : 0, p = f = a[0] + (o[0] - a[0]) * l, c = d = a[1] + (o[1] - a[1]) * l, m = p - (p - a[0]) * roundCorner, u = c - (c - a[1]) * roundCorner, i.setTripleAt(p, c, f, d, m, u, g), g += 1) : (i.setTripleAt(a[0], a[1], n[0], n[1], s[0], s[1], g), g += 1) : (i.setTripleAt(t.v[r][0], t.v[r][1], t.o[r][0], t.o[r][1], t.i[r][0], t.i[r][1], g), g += 1);\n }\n\n return i;\n }, RoundCornersModifier.prototype.processShapes = function (t) {\n var e,\n r,\n i,\n a,\n s,\n n,\n o = this.shapes.length,\n h = this.rd.v;\n if (0 !== h) for (r = 0; r < o; r += 1) {\n if (n = (s = this.shapes[r]).localShapeCollection, s.shape._mdf || this._mdf || t) for (n.releaseShapes(), s.shape._mdf = !0, e = s.shape.paths.shapes, a = s.shape.paths._length, i = 0; i < a; i += 1) {\n n.addShape(this.processPath(e[i], h));\n }\n s.shape.paths = s.localShapeCollection;\n }\n this.dynamicProperties.length || (this._mdf = !1);\n }, ShapeModifiers.registerModifier(\"rd\", RoundCornersModifier), extendPrototype([ShapeModifier], PuckerAndBloatModifier), PuckerAndBloatModifier.prototype.initModifierProperties = function (t, e) {\n this.getValue = this.processKeys, this.amount = PropertyFactory.getProp(t, e.a, 0, null, this), this._isAnimated = !!this.amount.effectsSequence.length;\n }, PuckerAndBloatModifier.prototype.processPath = function (t, e) {\n var r = e / 100,\n i = [0, 0],\n a = t._length,\n s = 0;\n\n for (s = 0; s < a; s += 1) {\n i[0] += t.v[s][0], i[1] += t.v[s][1];\n }\n\n i[0] /= a, i[1] /= a;\n var n,\n o,\n h,\n l,\n p,\n c,\n f = shapePool.newElement();\n\n for (f.c = t.c, s = 0; s < a; s += 1) {\n n = t.v[s][0] + (i[0] - t.v[s][0]) * r, o = t.v[s][1] + (i[1] - t.v[s][1]) * r, h = t.o[s][0] + (i[0] - t.o[s][0]) * -r, l = t.o[s][1] + (i[1] - t.o[s][1]) * -r, p = t.i[s][0] + (i[0] - t.i[s][0]) * -r, c = t.i[s][1] + (i[1] - t.i[s][1]) * -r, f.setTripleAt(n, o, h, l, p, c, s);\n }\n\n return f;\n }, PuckerAndBloatModifier.prototype.processShapes = function (t) {\n var e,\n r,\n i,\n a,\n s,\n n,\n o = this.shapes.length,\n h = this.amount.v;\n if (0 !== h) for (r = 0; r < o; r += 1) {\n if (n = (s = this.shapes[r]).localShapeCollection, s.shape._mdf || this._mdf || t) for (n.releaseShapes(), s.shape._mdf = !0, e = s.shape.paths.shapes, a = s.shape.paths._length, i = 0; i < a; i += 1) {\n n.addShape(this.processPath(e[i], h));\n }\n s.shape.paths = s.localShapeCollection;\n }\n this.dynamicProperties.length || (this._mdf = !1);\n }, ShapeModifiers.registerModifier(\"pb\", PuckerAndBloatModifier), extendPrototype([ShapeModifier], RepeaterModifier), RepeaterModifier.prototype.initModifierProperties = function (t, e) {\n this.getValue = this.processKeys, this.c = PropertyFactory.getProp(t, e.c, 0, null, this), this.o = PropertyFactory.getProp(t, e.o, 0, null, this), this.tr = TransformPropertyFactory.getTransformProperty(t, e.tr, this), this.so = PropertyFactory.getProp(t, e.tr.so, 0, .01, this), this.eo = PropertyFactory.getProp(t, e.tr.eo, 0, .01, this), this.data = e, this.dynamicProperties.length || this.getValue(!0), this._isAnimated = !!this.dynamicProperties.length, this.pMatrix = new Matrix(), this.rMatrix = new Matrix(), this.sMatrix = new Matrix(), this.tMatrix = new Matrix(), this.matrix = new Matrix();\n }, RepeaterModifier.prototype.applyTransforms = function (t, e, r, i, a, s) {\n var n = s ? -1 : 1,\n o = i.s.v[0] + (1 - i.s.v[0]) * (1 - a),\n h = i.s.v[1] + (1 - i.s.v[1]) * (1 - a);\n t.translate(i.p.v[0] * n * a, i.p.v[1] * n * a, i.p.v[2]), e.translate(-i.a.v[0], -i.a.v[1], i.a.v[2]), e.rotate(-i.r.v * n * a), e.translate(i.a.v[0], i.a.v[1], i.a.v[2]), r.translate(-i.a.v[0], -i.a.v[1], i.a.v[2]), r.scale(s ? 1 / o : o, s ? 1 / h : h), r.translate(i.a.v[0], i.a.v[1], i.a.v[2]);\n }, RepeaterModifier.prototype.init = function (t, e, r, i) {\n for (this.elem = t, this.arr = e, this.pos = r, this.elemsData = i, this._currentCopies = 0, this._elements = [], this._groups = [], this.frameId = -1, this.initDynamicPropertyContainer(t), this.initModifierProperties(t, e[r]); r > 0;) {\n r -= 1, this._elements.unshift(e[r]);\n }\n\n this.dynamicProperties.length ? this.k = !0 : this.getValue(!0);\n }, RepeaterModifier.prototype.resetElements = function (t) {\n var e,\n r = t.length;\n\n for (e = 0; e < r; e += 1) {\n t[e]._processed = !1, \"gr\" === t[e].ty && this.resetElements(t[e].it);\n }\n }, RepeaterModifier.prototype.cloneElements = function (t) {\n var e = JSON.parse(JSON.stringify(t));\n return this.resetElements(e), e;\n }, RepeaterModifier.prototype.changeGroupRender = function (t, e) {\n var r,\n i = t.length;\n\n for (r = 0; r < i; r += 1) {\n t[r]._render = e, \"gr\" === t[r].ty && this.changeGroupRender(t[r].it, e);\n }\n }, RepeaterModifier.prototype.processShapes = function (t) {\n var e,\n r,\n i,\n a,\n s,\n n = !1;\n\n if (this._mdf || t) {\n var o,\n h = Math.ceil(this.c.v);\n\n if (this._groups.length < h) {\n for (; this._groups.length < h;) {\n var l = {\n it: this.cloneElements(this._elements),\n ty: \"gr\"\n };\n l.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 }), this.arr.splice(0, 0, l), this._groups.splice(0, 0, l), this._currentCopies += 1;\n }\n\n this.elem.reloadShapes(), n = !0;\n }\n\n for (s = 0, i = 0; i <= this._groups.length - 1; i += 1) {\n if (o = s < h, this._groups[i]._render = o, this.changeGroupRender(this._groups[i].it, o), !o) {\n var p = this.elemsData[i].it,\n c = p[p.length - 1];\n 0 !== c.transform.op.v ? (c.transform.op._mdf = !0, c.transform.op.v = 0) : c.transform.op._mdf = !1;\n }\n\n s += 1;\n }\n\n this._currentCopies = h;\n var f = this.o.v,\n d = f % 1,\n m = f > 0 ? Math.floor(f) : Math.ceil(f),\n u = this.pMatrix.props,\n y = this.rMatrix.props,\n g = this.sMatrix.props;\n this.pMatrix.reset(), this.rMatrix.reset(), this.sMatrix.reset(), this.tMatrix.reset(), this.matrix.reset();\n var v,\n b,\n _ = 0;\n\n if (f > 0) {\n for (; _ < m;) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), _ += 1;\n }\n\n d && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, d, !1), _ += d);\n } else if (f < 0) {\n for (; _ > m;) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !0), _ -= 1;\n }\n\n d && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -d, !0), _ -= d);\n }\n\n for (i = 1 === this.data.m ? 0 : this._currentCopies - 1, a = 1 === this.data.m ? 1 : -1, s = this._currentCopies; s;) {\n if (b = (r = (e = this.elemsData[i].it)[e.length - 1].transform.mProps.v.props).length, e[e.length - 1].transform.mProps._mdf = !0, e[e.length - 1].transform.op._mdf = !0, e[e.length - 1].transform.op.v = 1 === this._currentCopies ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1)), 0 !== _) {\n for ((0 !== i && 1 === a || i !== this._currentCopies - 1 && -1 === a) && this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), this.matrix.transform(y[0], y[1], y[2], y[3], y[4], y[5], y[6], y[7], y[8], y[9], y[10], y[11], y[12], y[13], y[14], y[15]), this.matrix.transform(g[0], g[1], g[2], g[3], g[4], g[5], g[6], g[7], g[8], g[9], g[10], g[11], g[12], g[13], g[14], g[15]), this.matrix.transform(u[0], u[1], u[2], u[3], u[4], u[5], u[6], u[7], u[8], u[9], u[10], u[11], u[12], u[13], u[14], u[15]), v = 0; v < b; v += 1) {\n r[v] = this.matrix.props[v];\n }\n\n this.matrix.reset();\n } else for (this.matrix.reset(), v = 0; v < b; v += 1) {\n r[v] = this.matrix.props[v];\n }\n\n _ += 1, s -= 1, i += a;\n }\n } else for (s = this._currentCopies, i = 0, a = 1; s;) {\n r = (e = this.elemsData[i].it)[e.length - 1].transform.mProps.v.props, e[e.length - 1].transform.mProps._mdf = !1, e[e.length - 1].transform.op._mdf = !1, s -= 1, i += a;\n }\n\n return n;\n }, RepeaterModifier.prototype.addShape = function () {}, ShapeModifiers.registerModifier(\"rp\", RepeaterModifier), ShapeCollection.prototype.addShape = function (t) {\n this._length === this._maxLength && (this.shapes = this.shapes.concat(createSizedArray(this._maxLength)), this._maxLength *= 2), this.shapes[this._length] = t, this._length += 1;\n }, ShapeCollection.prototype.releaseShapes = function () {\n var t;\n\n for (t = 0; t < this._length; t += 1) {\n shapePool.release(this.shapes[t]);\n }\n\n this._length = 0;\n }, DashProperty.prototype.getValue = function (t) {\n if ((this.elem.globalData.frameId !== this.frameId || t) && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf = this._mdf || t, this._mdf)) {\n var e = 0,\n r = this.dataProps.length;\n\n for (\"svg\" === this.renderer && (this.dashStr = \"\"), e = 0; e < r; e += 1) {\n \"o\" !== this.dataProps[e].n ? \"svg\" === this.renderer ? this.dashStr += \" \" + this.dataProps[e].p.v : this.dashArray[e] = this.dataProps[e].p.v : this.dashoffset[0] = this.dataProps[e].p.v;\n }\n }\n }, extendPrototype([DynamicPropertyContainer], DashProperty), GradientProperty.prototype.comparePoints = function (t, e) {\n for (var r = 0, i = this.o.length / 2; r < i;) {\n if (Math.abs(t[4 * r] - t[4 * e + 2 * r]) > .01) return !1;\n r += 1;\n }\n\n return !0;\n }, GradientProperty.prototype.checkCollapsable = function () {\n if (this.o.length / 2 != this.c.length / 4) return !1;\n if (this.data.k.k[0].s) for (var t = 0, e = this.data.k.k.length; t < e;) {\n if (!this.comparePoints(this.data.k.k[t].s, this.data.p)) return !1;\n t += 1;\n } else if (!this.comparePoints(this.data.k.k, this.data.p)) return !1;\n return !0;\n }, GradientProperty.prototype.getValue = function (t) {\n if (this.prop.getValue(), this._mdf = !1, this._cmdf = !1, this._omdf = !1, this.prop._mdf || t) {\n var e,\n r,\n i,\n a = 4 * this.data.p;\n\n for (e = 0; e < a; e += 1) {\n r = e % 4 == 0 ? 100 : 255, i = Math.round(this.prop.v[e] * r), this.c[e] !== i && (this.c[e] = i, this._cmdf = !t);\n }\n\n if (this.o.length) for (a = this.prop.v.length, e = 4 * this.data.p; e < a; e += 1) {\n r = e % 2 == 0 ? 100 : 1, i = e % 2 == 0 ? Math.round(100 * this.prop.v[e]) : this.prop.v[e], this.o[e - 4 * this.data.p] !== i && (this.o[e - 4 * this.data.p] = i, this._omdf = !t);\n }\n this._mdf = !t;\n }\n }, extendPrototype([DynamicPropertyContainer], GradientProperty);\n\n var buildShapeString = function buildShapeString(t, e, r, i) {\n if (0 === e) return \"\";\n var a,\n s = t.o,\n n = t.i,\n o = t.v,\n h = \" M\" + i.applyToPointStringified(o[0][0], o[0][1]);\n\n for (a = 1; a < e; a += 1) {\n h += \" C\" + i.applyToPointStringified(s[a - 1][0], s[a - 1][1]) + \" \" + i.applyToPointStringified(n[a][0], n[a][1]) + \" \" + i.applyToPointStringified(o[a][0], o[a][1]);\n }\n\n return r && e && (h += \" C\" + i.applyToPointStringified(s[a - 1][0], s[a - 1][1]) + \" \" + i.applyToPointStringified(n[0][0], n[0][1]) + \" \" + i.applyToPointStringified(o[0][0], o[0][1]), h += \"z\"), h;\n },\n audioControllerFactory = function () {\n function t(t) {\n this.audios = [], this.audioFactory = t, this._volume = 1, this._isMuted = !1;\n }\n\n return t.prototype = {\n addAudio: function addAudio(t) {\n this.audios.push(t);\n },\n pause: function pause() {\n var t,\n e = this.audios.length;\n\n for (t = 0; t < e; t += 1) {\n this.audios[t].pause();\n }\n },\n resume: function resume() {\n var t,\n e = this.audios.length;\n\n for (t = 0; t < e; t += 1) {\n this.audios[t].resume();\n }\n },\n setRate: function setRate(t) {\n var e,\n r = this.audios.length;\n\n for (e = 0; e < r; e += 1) {\n this.audios[e].setRate(t);\n }\n },\n createAudio: function createAudio(t) {\n return this.audioFactory ? this.audioFactory(t) : Howl ? new Howl({\n src: [t]\n }) : {\n isPlaying: !1,\n play: function play() {\n this.isPlaying = !0;\n },\n seek: function seek() {\n this.isPlaying = !1;\n },\n playing: function playing() {},\n rate: function rate() {},\n setVolume: function setVolume() {}\n };\n },\n setAudioFactory: function setAudioFactory(t) {\n this.audioFactory = t;\n },\n setVolume: function setVolume(t) {\n this._volume = t, this._updateVolume();\n },\n mute: function mute() {\n this._isMuted = !0, this._updateVolume();\n },\n unmute: function unmute() {\n this._isMuted = !1, this._updateVolume();\n },\n getVolume: function getVolume() {\n return this._volume;\n },\n _updateVolume: function _updateVolume() {\n var t,\n e = this.audios.length;\n\n for (t = 0; t < e; t += 1) {\n this.audios[t].volume(this._volume * (this._isMuted ? 0 : 1));\n }\n }\n }, function () {\n return new t();\n };\n }(),\n ImagePreloader = function () {\n var t = function () {\n var t = createTag(\"canvas\");\n t.width = 1, t.height = 1;\n var e = t.getContext(\"2d\");\n return e.fillStyle = \"rgba(0,0,0,0)\", e.fillRect(0, 0, 1, 1), t;\n }();\n\n function e() {\n this.loadedAssets += 1, this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null);\n }\n\n function r() {\n this.loadedFootagesCount += 1, this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null);\n }\n\n function i(t, e, r) {\n var i = \"\";\n if (t.e) i = t.p;else if (e) {\n var a = t.p;\n -1 !== a.indexOf(\"images/\") && (a = a.split(\"/\")[1]), i = e + a;\n } else i = r, i += t.u ? t.u : \"\", i += t.p;\n return i;\n }\n\n function a(t) {\n var e = 0,\n r = setInterval(function () {\n (t.getBBox().width || e > 500) && (this._imageLoaded(), clearInterval(r)), e += 1;\n }.bind(this), 50);\n }\n\n function s(t) {\n var e = {\n assetData: t\n },\n r = i(t, this.assetsPath, this.path);\n return dataManager.loadData(r, function (t) {\n e.img = t, this._footageLoaded();\n }.bind(this), function () {\n e.img = {}, this._footageLoaded();\n }.bind(this)), e;\n }\n\n function n() {\n this._imageLoaded = e.bind(this), this._footageLoaded = r.bind(this), this.testImageLoaded = a.bind(this), this.createFootageData = s.bind(this), this.assetsPath = \"\", this.path = \"\", this.totalImages = 0, this.totalFootages = 0, this.loadedAssets = 0, this.loadedFootagesCount = 0, this.imagesLoadedCb = null, this.images = [];\n }\n\n return n.prototype = {\n loadAssets: function loadAssets(t, e) {\n var r;\n this.imagesLoadedCb = e;\n var i = t.length;\n\n for (r = 0; r < i; r += 1) {\n t[r].layers || (t[r].t && \"seq\" !== t[r].t ? 3 === t[r].t && (this.totalFootages += 1, this.images.push(this.createFootageData(t[r]))) : (this.totalImages += 1, this.images.push(this._createImageData(t[r]))));\n }\n },\n setAssetsPath: function setAssetsPath(t) {\n this.assetsPath = t || \"\";\n },\n setPath: function setPath(t) {\n this.path = t || \"\";\n },\n loadedImages: function loadedImages() {\n return this.totalImages === this.loadedAssets;\n },\n loadedFootages: function loadedFootages() {\n return this.totalFootages === this.loadedFootagesCount;\n },\n destroy: function destroy() {\n this.imagesLoadedCb = null, this.images.length = 0;\n },\n getAsset: function getAsset(t) {\n for (var e = 0, r = this.images.length; e < r;) {\n if (this.images[e].assetData === t) return this.images[e].img;\n e += 1;\n }\n\n return null;\n },\n createImgData: function createImgData(e) {\n var r = i(e, this.assetsPath, this.path),\n a = createTag(\"img\");\n a.crossOrigin = \"anonymous\", a.addEventListener(\"load\", this._imageLoaded, !1), a.addEventListener(\"error\", function () {\n s.img = t, this._imageLoaded();\n }.bind(this), !1), a.src = r;\n var s = {\n img: a,\n assetData: e\n };\n return s;\n },\n createImageData: function createImageData(e) {\n var r = i(e, this.assetsPath, this.path),\n a = createNS(\"image\");\n isSafari ? this.testImageLoaded(a) : a.addEventListener(\"load\", this._imageLoaded, !1), a.addEventListener(\"error\", function () {\n s.img = t, this._imageLoaded();\n }.bind(this), !1), a.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", r), this._elementHelper.append ? this._elementHelper.append(a) : this._elementHelper.appendChild(a);\n var s = {\n img: a,\n assetData: e\n };\n return s;\n },\n imageLoaded: e,\n footageLoaded: r,\n setCacheType: function setCacheType(t, e) {\n \"svg\" === t ? (this._elementHelper = e, this._createImageData = this.createImageData.bind(this)) : this._createImageData = this.createImgData.bind(this);\n }\n }, n;\n }(),\n featureSupport = function () {\n var t = {\n maskType: !0\n };\n return (/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)) && (t.maskType = !1), t;\n }(),\n filtersFactory = function () {\n var t = {\n createFilter: function createFilter(t, e) {\n var r = createNS(\"filter\");\n return r.setAttribute(\"id\", t), !0 !== e && (r.setAttribute(\"filterUnits\", \"objectBoundingBox\"), r.setAttribute(\"x\", \"0%\"), r.setAttribute(\"y\", \"0%\"), r.setAttribute(\"width\", \"100%\"), r.setAttribute(\"height\", \"100%\")), r;\n },\n createAlphaToLuminanceFilter: function createAlphaToLuminanceFilter() {\n var t = createNS(\"feColorMatrix\");\n return t.setAttribute(\"type\", \"matrix\"), t.setAttribute(\"color-interpolation-filters\", \"sRGB\"), t.setAttribute(\"values\", \"0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1\"), t;\n }\n };\n return t;\n }();\n\n function TextAnimatorProperty(t, e, r) {\n this._isFirstFrame = !0, this._hasMaskedPath = !1, this._frameId = -1, this._textData = t, this._renderType = e, this._elem = r, this._animatorsData = createSizedArray(this._textData.a.length), this._pathData = {}, this._moreOptions = {\n alignment: {}\n }, this.renderedLetters = [], this.lettersChangedFlag = !1, this.initDynamicPropertyContainer(r);\n }\n\n function TextAnimatorDataProperty(t, e, r) {\n var i = {\n propType: !1\n },\n a = PropertyFactory.getProp,\n s = e.a;\n this.a = {\n r: s.r ? a(t, s.r, 0, degToRads, r) : i,\n rx: s.rx ? a(t, s.rx, 0, degToRads, r) : i,\n ry: s.ry ? a(t, s.ry, 0, degToRads, r) : i,\n sk: s.sk ? a(t, s.sk, 0, degToRads, r) : i,\n sa: s.sa ? a(t, s.sa, 0, degToRads, r) : i,\n s: s.s ? a(t, s.s, 1, .01, r) : i,\n a: s.a ? a(t, s.a, 1, 0, r) : i,\n o: s.o ? a(t, s.o, 0, .01, r) : i,\n p: s.p ? a(t, s.p, 1, 0, r) : i,\n sw: s.sw ? a(t, s.sw, 0, 0, r) : i,\n sc: s.sc ? a(t, s.sc, 1, 0, r) : i,\n fc: s.fc ? a(t, s.fc, 1, 0, r) : i,\n fh: s.fh ? a(t, s.fh, 0, 0, r) : i,\n fs: s.fs ? a(t, s.fs, 0, .01, r) : i,\n fb: s.fb ? a(t, s.fb, 0, .01, r) : i,\n t: s.t ? a(t, s.t, 0, 0, r) : i\n }, this.s = TextSelectorProp.getTextSelectorProp(t, e.s, r), this.s.t = e.s.t;\n }\n\n function LetterProps(t, e, r, i, a, s) {\n this.o = t, this.sw = e, this.sc = r, this.fc = i, this.m = a, this.p = s, this._mdf = {\n o: !0,\n sw: !!e,\n sc: !!r,\n fc: !!i,\n m: !0,\n p: !0\n };\n }\n\n function TextProperty(t, e) {\n this._frameId = initialDefaultFrame, this.pv = \"\", this.v = \"\", this.kf = !1, this._isFirstFrame = !0, this._mdf = !1, this.data = e, this.elem = t, this.comp = this.elem.comp, this.keysIndex = 0, this.canResize = !1, this.minimumFontSize = 1, this.effectsSequence = [], 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: !1,\n strokeColorAnim: !1,\n strokeWidthAnim: !1,\n yOffset: 0,\n finalSize: 0,\n finalText: [],\n finalLineHeight: 0,\n __complete: !1\n }, this.copyData(this.currentData, this.data.d.k[0].s), this.searchProperty() || this.completeTextData(this.currentData);\n }\n\n TextAnimatorProperty.prototype.searchProperties = function () {\n var t,\n e,\n r = this._textData.a.length,\n i = PropertyFactory.getProp;\n\n for (t = 0; t < r; t += 1) {\n e = this._textData.a[t], this._animatorsData[t] = new TextAnimatorDataProperty(this._elem, e, this);\n }\n\n this._textData.p && \"m\" in this._textData.p ? (this._pathData = {\n a: i(this._elem, this._textData.p.a, 0, 0, this),\n f: i(this._elem, this._textData.p.f, 0, 0, this),\n l: i(this._elem, this._textData.p.l, 0, 0, this),\n r: i(this._elem, this._textData.p.r, 0, 0, this),\n p: i(this._elem, this._textData.p.p, 0, 0, this),\n m: this._elem.maskManager.getMaskProperty(this._textData.p.m)\n }, this._hasMaskedPath = !0) : this._hasMaskedPath = !1, this._moreOptions.alignment = i(this._elem, this._textData.m.a, 1, 0, this);\n }, TextAnimatorProperty.prototype.getMeasures = function (t, e) {\n if (this.lettersChangedFlag = e, this._mdf || this._isFirstFrame || e || this._hasMaskedPath && this._pathData.m._mdf) {\n this._isFirstFrame = !1;\n\n var r,\n i,\n a,\n s,\n n,\n o,\n h,\n l,\n p,\n c,\n f,\n d,\n m,\n u,\n y,\n g,\n v,\n b,\n _,\n P = this._moreOptions.alignment.v,\n E = this._animatorsData,\n S = this._textData,\n x = this.mHelper,\n A = this._renderType,\n w = this.renderedLetters.length,\n C = t.l;\n\n if (this._hasMaskedPath) {\n if (_ = this._pathData.m, !this._pathData.n || this._pathData._mdf) {\n var k,\n T = _.v;\n\n for (this._pathData.r.v && (T = T.reverse()), n = {\n tLength: 0,\n segments: []\n }, s = T._length - 1, g = 0, a = 0; a < s; a += 1) {\n k = bez.buildBezierData(T.v[a], T.v[a + 1], [T.o[a][0] - T.v[a][0], T.o[a][1] - T.v[a][1]], [T.i[a + 1][0] - T.v[a + 1][0], T.i[a + 1][1] - T.v[a + 1][1]]), n.tLength += k.segmentLength, n.segments.push(k), g += k.segmentLength;\n }\n\n a = s, _.v.c && (k = bez.buildBezierData(T.v[a], T.v[0], [T.o[a][0] - T.v[a][0], T.o[a][1] - T.v[a][1]], [T.i[0][0] - T.v[0][0], T.i[0][1] - T.v[0][1]]), n.tLength += k.segmentLength, n.segments.push(k), g += k.segmentLength), this._pathData.pi = n;\n }\n\n if (n = this._pathData.pi, o = this._pathData.f.v, f = 0, c = 1, l = 0, p = !0, u = n.segments, o < 0 && _.v.c) for (n.tLength < Math.abs(o) && (o = -Math.abs(o) % n.tLength), c = (m = u[f = u.length - 1].points).length - 1; o < 0;) {\n o += m[c].partialLength, (c -= 1) < 0 && (c = (m = u[f -= 1].points).length - 1);\n }\n d = (m = u[f].points)[c - 1], y = (h = m[c]).partialLength;\n }\n\n s = C.length, r = 0, i = 0;\n var D,\n M,\n F,\n I,\n R,\n V = 1.2 * t.finalSize * .714,\n O = !0;\n F = E.length;\n var L,\n B,\n $,\n z,\n G,\n N,\n j,\n H,\n q,\n W,\n U,\n Y,\n X = -1,\n K = o,\n J = f,\n Z = c,\n Q = -1,\n tt = \"\",\n et = this.defaultPropsArray;\n\n if (2 === t.j || 1 === t.j) {\n var rt = 0,\n it = 0,\n at = 2 === t.j ? -.5 : -1,\n st = 0,\n nt = !0;\n\n for (a = 0; a < s; a += 1) {\n if (C[a].n) {\n for (rt && (rt += it); st < a;) {\n C[st].animatorJustifyOffset = rt, st += 1;\n }\n\n rt = 0, nt = !0;\n } else {\n for (M = 0; M < F; M += 1) {\n (D = E[M].a).t.propType && (nt && 2 === t.j && (it += D.t.v * at), (R = E[M].s.getMult(C[a].anIndexes[M], S.a[M].s.totalChars)).length ? rt += D.t.v * R[0] * at : rt += D.t.v * R * at);\n }\n\n nt = !1;\n }\n }\n\n for (rt && (rt += it); st < a;) {\n C[st].animatorJustifyOffset = rt, st += 1;\n }\n }\n\n for (a = 0; a < s; a += 1) {\n if (x.reset(), z = 1, C[a].n) r = 0, i += t.yOffset, i += O ? 1 : 0, o = K, O = !1, this._hasMaskedPath && (c = Z, d = (m = u[f = J].points)[c - 1], y = (h = m[c]).partialLength, l = 0), tt = \"\", U = \"\", q = \"\", Y = \"\", et = this.defaultPropsArray;else {\n if (this._hasMaskedPath) {\n if (Q !== C[a].line) {\n switch (t.j) {\n case 1:\n o += g - t.lineWidths[C[a].line];\n break;\n\n case 2:\n o += (g - t.lineWidths[C[a].line]) / 2;\n }\n\n Q = C[a].line;\n }\n\n X !== C[a].ind && (C[X] && (o += C[X].extra), o += C[a].an / 2, X = C[a].ind), o += P[0] * C[a].an * .005;\n var ot = 0;\n\n for (M = 0; M < F; M += 1) {\n (D = E[M].a).p.propType && ((R = E[M].s.getMult(C[a].anIndexes[M], S.a[M].s.totalChars)).length ? ot += D.p.v[0] * R[0] : ot += D.p.v[0] * R), D.a.propType && ((R = E[M].s.getMult(C[a].anIndexes[M], S.a[M].s.totalChars)).length ? ot += D.a.v[0] * R[0] : ot += D.a.v[0] * R);\n }\n\n for (p = !0, this._pathData.a.v && (o = .5 * C[0].an + (g - this._pathData.f.v - .5 * C[0].an - .5 * C[C.length - 1].an) * X / (s - 1), o += this._pathData.f.v); p;) {\n l + y >= o + ot || !m ? (v = (o + ot - l) / h.partialLength, B = d.point[0] + (h.point[0] - d.point[0]) * v, $ = d.point[1] + (h.point[1] - d.point[1]) * v, x.translate(-P[0] * C[a].an * .005, -P[1] * V * .01), p = !1) : m && (l += h.partialLength, (c += 1) >= m.length && (c = 0, u[f += 1] ? m = u[f].points : _.v.c ? (c = 0, m = u[f = 0].points) : (l -= h.partialLength, m = null)), m && (d = h, y = (h = m[c]).partialLength));\n }\n\n L = C[a].an / 2 - C[a].add, x.translate(-L, 0, 0);\n } else L = C[a].an / 2 - C[a].add, x.translate(-L, 0, 0), x.translate(-P[0] * C[a].an * .005, -P[1] * V * .01, 0);\n\n for (M = 0; M < F; M += 1) {\n (D = E[M].a).t.propType && (R = E[M].s.getMult(C[a].anIndexes[M], S.a[M].s.totalChars), 0 === r && 0 === t.j || (this._hasMaskedPath ? R.length ? o += D.t.v * R[0] : o += D.t.v * R : R.length ? r += D.t.v * R[0] : r += D.t.v * R));\n }\n\n for (t.strokeWidthAnim && (N = t.sw || 0), t.strokeColorAnim && (G = t.sc ? [t.sc[0], t.sc[1], t.sc[2]] : [0, 0, 0]), t.fillColorAnim && t.fc && (j = [t.fc[0], t.fc[1], t.fc[2]]), M = 0; M < F; M += 1) {\n (D = E[M].a).a.propType && ((R = E[M].s.getMult(C[a].anIndexes[M], S.a[M].s.totalChars)).length ? x.translate(-D.a.v[0] * R[0], -D.a.v[1] * R[1], D.a.v[2] * R[2]) : x.translate(-D.a.v[0] * R, -D.a.v[1] * R, D.a.v[2] * R));\n }\n\n for (M = 0; M < F; M += 1) {\n (D = E[M].a).s.propType && ((R = E[M].s.getMult(C[a].anIndexes[M], S.a[M].s.totalChars)).length ? x.scale(1 + (D.s.v[0] - 1) * R[0], 1 + (D.s.v[1] - 1) * R[1], 1) : x.scale(1 + (D.s.v[0] - 1) * R, 1 + (D.s.v[1] - 1) * R, 1));\n }\n\n for (M = 0; M < F; M += 1) {\n if (D = E[M].a, R = E[M].s.getMult(C[a].anIndexes[M], S.a[M].s.totalChars), D.sk.propType && (R.length ? x.skewFromAxis(-D.sk.v * R[0], D.sa.v * R[1]) : x.skewFromAxis(-D.sk.v * R, D.sa.v * R)), D.r.propType && (R.length ? x.rotateZ(-D.r.v * R[2]) : x.rotateZ(-D.r.v * R)), D.ry.propType && (R.length ? x.rotateY(D.ry.v * R[1]) : x.rotateY(D.ry.v * R)), D.rx.propType && (R.length ? x.rotateX(D.rx.v * R[0]) : x.rotateX(D.rx.v * R)), D.o.propType && (R.length ? z += (D.o.v * R[0] - z) * R[0] : z += (D.o.v * R - z) * R), t.strokeWidthAnim && D.sw.propType && (R.length ? N += D.sw.v * R[0] : N += D.sw.v * R), t.strokeColorAnim && D.sc.propType) for (H = 0; H < 3; H += 1) {\n R.length ? G[H] += (D.sc.v[H] - G[H]) * R[0] : G[H] += (D.sc.v[H] - G[H]) * R;\n }\n\n if (t.fillColorAnim && t.fc) {\n if (D.fc.propType) for (H = 0; H < 3; H += 1) {\n R.length ? j[H] += (D.fc.v[H] - j[H]) * R[0] : j[H] += (D.fc.v[H] - j[H]) * R;\n }\n D.fh.propType && (j = R.length ? addHueToRGB(j, D.fh.v * R[0]) : addHueToRGB(j, D.fh.v * R)), D.fs.propType && (j = R.length ? addSaturationToRGB(j, D.fs.v * R[0]) : addSaturationToRGB(j, D.fs.v * R)), D.fb.propType && (j = R.length ? addBrightnessToRGB(j, D.fb.v * R[0]) : addBrightnessToRGB(j, D.fb.v * R));\n }\n }\n\n for (M = 0; M < F; M += 1) {\n (D = E[M].a).p.propType && (R = E[M].s.getMult(C[a].anIndexes[M], S.a[M].s.totalChars), this._hasMaskedPath ? R.length ? x.translate(0, D.p.v[1] * R[0], -D.p.v[2] * R[1]) : x.translate(0, D.p.v[1] * R, -D.p.v[2] * R) : R.length ? x.translate(D.p.v[0] * R[0], D.p.v[1] * R[1], -D.p.v[2] * R[2]) : x.translate(D.p.v[0] * R, D.p.v[1] * R, -D.p.v[2] * R));\n }\n\n if (t.strokeWidthAnim && (q = N < 0 ? 0 : N), t.strokeColorAnim && (W = \"rgb(\" + Math.round(255 * G[0]) + \",\" + Math.round(255 * G[1]) + \",\" + Math.round(255 * G[2]) + \")\"), t.fillColorAnim && t.fc && (U = \"rgb(\" + Math.round(255 * j[0]) + \",\" + Math.round(255 * j[1]) + \",\" + Math.round(255 * j[2]) + \")\"), this._hasMaskedPath) {\n if (x.translate(0, -t.ls), x.translate(0, P[1] * V * .01 + i, 0), this._pathData.p.v) {\n b = (h.point[1] - d.point[1]) / (h.point[0] - d.point[0]);\n var ht = 180 * Math.atan(b) / Math.PI;\n h.point[0] < d.point[0] && (ht += 180), x.rotate(-ht * Math.PI / 180);\n }\n\n x.translate(B, $, 0), o -= P[0] * C[a].an * .005, C[a + 1] && X !== C[a + 1].ind && (o += C[a].an / 2, o += .001 * t.tr * t.finalSize);\n } else {\n switch (x.translate(r, i, 0), t.ps && x.translate(t.ps[0], t.ps[1] + t.ascent, 0), t.j) {\n case 1:\n x.translate(C[a].animatorJustifyOffset + t.justifyOffset + (t.boxWidth - t.lineWidths[C[a].line]), 0, 0);\n break;\n\n case 2:\n x.translate(C[a].animatorJustifyOffset + t.justifyOffset + (t.boxWidth - t.lineWidths[C[a].line]) / 2, 0, 0);\n }\n\n x.translate(0, -t.ls), x.translate(L, 0, 0), x.translate(P[0] * C[a].an * .005, P[1] * V * .01, 0), r += C[a].l + .001 * t.tr * t.finalSize;\n }\n\n \"html\" === A ? tt = x.toCSS() : \"svg\" === A ? tt = x.to2dCSS() : et = [x.props[0], x.props[1], x.props[2], x.props[3], x.props[4], x.props[5], x.props[6], x.props[7], x.props[8], x.props[9], x.props[10], x.props[11], x.props[12], x.props[13], x.props[14], x.props[15]], Y = z;\n }\n w <= a ? (I = new LetterProps(Y, q, W, U, tt, et), this.renderedLetters.push(I), w += 1, this.lettersChangedFlag = !0) : (I = this.renderedLetters[a], this.lettersChangedFlag = I.update(Y, q, W, U, tt, et) || this.lettersChangedFlag);\n }\n }\n }, TextAnimatorProperty.prototype.getValue = function () {\n this._elem.globalData.frameId !== this._frameId && (this._frameId = this._elem.globalData.frameId, this.iterateDynamicProperties());\n }, TextAnimatorProperty.prototype.mHelper = new Matrix(), TextAnimatorProperty.prototype.defaultPropsArray = [], extendPrototype([DynamicPropertyContainer], TextAnimatorProperty), LetterProps.prototype.update = function (t, e, r, i, a, s) {\n this._mdf.o = !1, this._mdf.sw = !1, this._mdf.sc = !1, this._mdf.fc = !1, this._mdf.m = !1, this._mdf.p = !1;\n var n = !1;\n return this.o !== t && (this.o = t, this._mdf.o = !0, n = !0), this.sw !== e && (this.sw = e, this._mdf.sw = !0, n = !0), this.sc !== r && (this.sc = r, this._mdf.sc = !0, n = !0), this.fc !== i && (this.fc = i, this._mdf.fc = !0, n = !0), this.m !== a && (this.m = a, this._mdf.m = !0, n = !0), !s.length || this.p[0] === s[0] && this.p[1] === s[1] && this.p[4] === s[4] && this.p[5] === s[5] && this.p[12] === s[12] && this.p[13] === s[13] || (this.p = s, this._mdf.p = !0, n = !0), n;\n }, TextProperty.prototype.defaultBoxWidth = [0, 0], TextProperty.prototype.copyData = function (t, e) {\n for (var r in e) {\n Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]);\n }\n\n return t;\n }, TextProperty.prototype.setCurrentData = function (t) {\n t.__complete || this.completeTextData(t), this.currentData = t, this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth, this._mdf = !0;\n }, TextProperty.prototype.searchProperty = function () {\n return this.searchKeyframes();\n }, TextProperty.prototype.searchKeyframes = function () {\n return this.kf = this.data.d.k.length > 1, this.kf && this.addEffect(this.getKeyframeValue.bind(this)), this.kf;\n }, TextProperty.prototype.addEffect = function (t) {\n this.effectsSequence.push(t), this.elem.addDynamicProperty(this);\n }, TextProperty.prototype.getValue = function (t) {\n if (this.elem.globalData.frameId !== this.frameId && this.effectsSequence.length || t) {\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\n var e = this.currentData,\n r = this.keysIndex;\n if (this.lock) this.setCurrentData(this.currentData);else {\n var i;\n this.lock = !0, this._mdf = !1;\n var a = this.effectsSequence.length,\n s = t || this.data.d.k[this.keysIndex].s;\n\n for (i = 0; i < a; i += 1) {\n s = r !== this.keysIndex ? this.effectsSequence[i](s, s.t) : this.effectsSequence[i](this.currentData, s.t);\n }\n\n e !== s && this.setCurrentData(s), this.v = this.currentData, this.pv = this.v, this.lock = !1, this.frameId = this.elem.globalData.frameId;\n }\n }\n }, TextProperty.prototype.getKeyframeValue = function () {\n for (var t = this.data.d.k, e = this.elem.comp.renderedFrame, r = 0, i = t.length; r <= i - 1 && !(r === i - 1 || t[r + 1].t > e);) {\n r += 1;\n }\n\n return this.keysIndex !== r && (this.keysIndex = r), this.data.d.k[this.keysIndex].s;\n }, TextProperty.prototype.buildFinalText = function (t) {\n for (var e, r, i = [], a = 0, s = t.length, n = !1; a < s;) {\n e = t.charCodeAt(a), FontManager.isCombinedCharacter(e) ? i[i.length - 1] += t.charAt(a) : e >= 55296 && e <= 56319 ? (r = t.charCodeAt(a + 1)) >= 56320 && r <= 57343 ? (n || FontManager.isModifier(e, r) ? (i[i.length - 1] += t.substr(a, 2), n = !1) : i.push(t.substr(a, 2)), a += 1) : i.push(t.charAt(a)) : e > 56319 ? (r = t.charCodeAt(a + 1), FontManager.isZeroWidthJoiner(e, r) ? (n = !0, i[i.length - 1] += t.substr(a, 2), a += 1) : i.push(t.charAt(a))) : FontManager.isZeroWidthJoiner(e) ? (i[i.length - 1] += t.charAt(a), n = !0) : i.push(t.charAt(a)), a += 1;\n }\n\n return i;\n }, TextProperty.prototype.completeTextData = function (t) {\n t.__complete = !0;\n var e,\n r,\n i,\n a,\n s,\n n,\n o,\n h = this.elem.globalData.fontManager,\n l = this.data,\n p = [],\n c = 0,\n f = l.m.g,\n d = 0,\n m = 0,\n u = 0,\n y = [],\n g = 0,\n v = 0,\n b = h.getFontByName(t.f),\n _ = 0,\n P = getFontProperties(b);\n t.fWeight = P.weight, t.fStyle = P.style, t.finalSize = t.s, t.finalText = this.buildFinalText(t.t), r = t.finalText.length, t.finalLineHeight = t.lh;\n var E,\n S = t.tr / 1e3 * t.finalSize;\n if (t.sz) for (var x, A, w = !0, C = t.sz[0], k = t.sz[1]; w;) {\n x = 0, g = 0, r = (A = this.buildFinalText(t.t)).length, S = t.tr / 1e3 * t.finalSize;\n var T = -1;\n\n for (e = 0; e < r; e += 1) {\n E = A[e].charCodeAt(0), i = !1, \" \" === A[e] ? T = e : 13 !== E && 3 !== E || (g = 0, i = !0, x += t.finalLineHeight || 1.2 * t.finalSize), h.chars ? (o = h.getCharData(A[e], b.fStyle, b.fFamily), _ = i ? 0 : o.w * t.finalSize / 100) : _ = h.measureText(A[e], t.f, t.finalSize), g + _ > C && \" \" !== A[e] ? (-1 === T ? r += 1 : e = T, x += t.finalLineHeight || 1.2 * t.finalSize, A.splice(e, T === e ? 1 : 0, \"\\r\"), T = -1, g = 0) : (g += _, g += S);\n }\n\n x += b.ascent * t.finalSize / 100, this.canResize && t.finalSize > this.minimumFontSize && k < x ? (t.finalSize -= 1, t.finalLineHeight = t.finalSize * t.lh / t.s) : (t.finalText = A, r = t.finalText.length, w = !1);\n }\n g = -S, _ = 0;\n var D,\n M = 0;\n\n for (e = 0; e < r; e += 1) {\n if (i = !1, 13 === (E = (D = t.finalText[e]).charCodeAt(0)) || 3 === E ? (M = 0, y.push(g), v = g > v ? g : v, g = -2 * S, a = \"\", i = !0, u += 1) : a = D, h.chars ? (o = h.getCharData(D, b.fStyle, h.getFontByName(t.f).fFamily), _ = i ? 0 : o.w * t.finalSize / 100) : _ = h.measureText(a, t.f, t.finalSize), \" \" === D ? M += _ + S : (g += _ + S + M, M = 0), p.push({\n l: _,\n an: _,\n add: d,\n n: i,\n anIndexes: [],\n val: a,\n line: u,\n animatorJustifyOffset: 0\n }), 2 == f) {\n if (d += _, \"\" === a || \" \" === a || e === r - 1) {\n for (\"\" !== a && \" \" !== a || (d -= _); m <= e;) {\n p[m].an = d, p[m].ind = c, p[m].extra = _, m += 1;\n }\n\n c += 1, d = 0;\n }\n } else if (3 == f) {\n if (d += _, \"\" === a || e === r - 1) {\n for (\"\" === a && (d -= _); m <= e;) {\n p[m].an = d, p[m].ind = c, p[m].extra = _, m += 1;\n }\n\n d = 0, c += 1;\n }\n } else p[c].ind = c, p[c].extra = 0, c += 1;\n }\n\n if (t.l = p, v = g > v ? g : v, y.push(g), t.sz) t.boxWidth = t.sz[0], t.justifyOffset = 0;else switch (t.boxWidth = v, t.j) {\n case 1:\n t.justifyOffset = -t.boxWidth;\n break;\n\n case 2:\n t.justifyOffset = -t.boxWidth / 2;\n break;\n\n default:\n t.justifyOffset = 0;\n }\n t.lineWidths = y;\n var F,\n I,\n R,\n V,\n O = l.a;\n n = O.length;\n var L = [];\n\n for (s = 0; s < n; s += 1) {\n for ((F = O[s]).a.sc && (t.strokeColorAnim = !0), F.a.sw && (t.strokeWidthAnim = !0), (F.a.fc || F.a.fh || F.a.fs || F.a.fb) && (t.fillColorAnim = !0), V = 0, R = F.s.b, e = 0; e < r; e += 1) {\n (I = p[e]).anIndexes[s] = V, (1 == R && \"\" !== I.val || 2 == R && \"\" !== I.val && \" \" !== I.val || 3 == R && (I.n || \" \" == I.val || e == r - 1) || 4 == R && (I.n || e == r - 1)) && (1 === F.s.rn && L.push(V), V += 1);\n }\n\n l.a[s].s.totalChars = V;\n var B,\n $ = -1;\n if (1 === F.s.rn) for (e = 0; e < r; e += 1) {\n $ != (I = p[e]).anIndexes[s] && ($ = I.anIndexes[s], B = L.splice(Math.floor(Math.random() * L.length), 1)[0]), I.anIndexes[s] = B;\n }\n }\n\n t.yOffset = t.finalLineHeight || 1.2 * t.finalSize, t.ls = t.ls || 0, t.ascent = b.ascent * t.finalSize / 100;\n }, TextProperty.prototype.updateDocumentData = function (t, e) {\n e = void 0 === e ? this.keysIndex : e;\n var r = this.copyData({}, this.data.d.k[e].s);\n r = this.copyData(r, t), this.data.d.k[e].s = r, this.recalculate(e), this.elem.addDynamicProperty(this);\n }, TextProperty.prototype.recalculate = function (t) {\n var e = this.data.d.k[t].s;\n e.__complete = !1, this.keysIndex = 0, this._isFirstFrame = !0, this.getValue(e);\n }, TextProperty.prototype.canResizeFont = function (t) {\n this.canResize = t, this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this);\n }, TextProperty.prototype.setMinimumFontSize = function (t) {\n this.minimumFontSize = Math.floor(t) || 1, this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this);\n };\n\n var TextSelectorProp = function () {\n var t = Math.max,\n e = Math.min,\n r = Math.floor;\n\n function i(t, e) {\n this._currentTextLength = -1, this.k = !1, this.data = e, this.elem = t, this.comp = t.comp, this.finalS = 0, this.finalE = 0, this.initDynamicPropertyContainer(t), this.s = PropertyFactory.getProp(t, e.s || {\n k: 0\n }, 0, 0, this), this.e = \"e\" in e ? PropertyFactory.getProp(t, e.e, 0, 0, this) : {\n v: 100\n }, this.o = PropertyFactory.getProp(t, e.o || {\n k: 0\n }, 0, 0, this), this.xe = PropertyFactory.getProp(t, e.xe || {\n k: 0\n }, 0, 0, this), this.ne = PropertyFactory.getProp(t, e.ne || {\n k: 0\n }, 0, 0, this), this.sm = PropertyFactory.getProp(t, e.sm || {\n k: 100\n }, 0, 0, this), this.a = PropertyFactory.getProp(t, e.a, 0, .01, this), this.dynamicProperties.length || this.getValue();\n }\n\n return i.prototype = {\n getMult: function getMult(i) {\n this._currentTextLength !== this.elem.textProperty.currentData.l.length && this.getValue();\n var a = 0,\n s = 0,\n n = 1,\n o = 1;\n this.ne.v > 0 ? a = this.ne.v / 100 : s = -this.ne.v / 100, this.xe.v > 0 ? n = 1 - this.xe.v / 100 : o = 1 + this.xe.v / 100;\n var h = BezierFactory.getBezierEasing(a, s, n, o).get,\n l = 0,\n p = this.finalS,\n c = this.finalE,\n f = this.data.sh;\n if (2 === f) l = h(l = c === p ? i >= c ? 1 : 0 : t(0, e(.5 / (c - p) + (i - p) / (c - p), 1)));else if (3 === f) l = h(l = c === p ? i >= c ? 0 : 1 : 1 - t(0, e(.5 / (c - p) + (i - p) / (c - p), 1)));else if (4 === f) c === p ? l = 0 : (l = t(0, e(.5 / (c - p) + (i - p) / (c - p), 1))) < .5 ? l *= 2 : l = 1 - 2 * (l - .5), l = h(l);else if (5 === f) {\n if (c === p) l = 0;else {\n var d = c - p,\n m = -d / 2 + (i = e(t(0, i + .5 - p), c - p)),\n u = d / 2;\n l = Math.sqrt(1 - m * m / (u * u));\n }\n l = h(l);\n } else 6 === f ? (c === p ? l = 0 : (i = e(t(0, i + .5 - p), c - p), l = (1 + Math.cos(Math.PI + 2 * Math.PI * i / (c - p))) / 2), l = h(l)) : (i >= r(p) && (l = t(0, e(i - p < 0 ? e(c, 1) - (p - i) : c - i, 1))), l = h(l));\n\n if (100 !== this.sm.v) {\n var y = .01 * this.sm.v;\n 0 === y && (y = 1e-8);\n var g = .5 - .5 * y;\n l < g ? l = 0 : (l = (l - g) / y) > 1 && (l = 1);\n }\n\n return l * this.a.v;\n },\n getValue: function getValue(t) {\n this.iterateDynamicProperties(), this._mdf = t || this._mdf, this._currentTextLength = this.elem.textProperty.currentData.l.length || 0, t && 2 === this.data.r && (this.e.v = this._currentTextLength);\n var e = 2 === this.data.r ? 1 : 100 / this.data.totalChars,\n r = this.o.v / e,\n i = this.s.v / e + r,\n a = this.e.v / e + r;\n\n if (i > a) {\n var s = i;\n i = a, a = s;\n }\n\n this.finalS = i, this.finalE = a;\n }\n }, extendPrototype([DynamicPropertyContainer], i), {\n getTextSelectorProp: function getTextSelectorProp(t, e, r) {\n return new i(t, e, r);\n }\n };\n }(),\n poolFactory = function poolFactory(t, e, r) {\n var i = 0,\n a = t,\n s = createSizedArray(a);\n return {\n newElement: function newElement() {\n return i ? s[i -= 1] : e();\n },\n release: function release(t) {\n i === a && (s = pooling[\"double\"](s), a *= 2), r && r(t), s[i] = t, i += 1;\n }\n };\n },\n pooling = {\n \"double\": function double(t) {\n return t.concat(createSizedArray(t.length));\n }\n },\n pointPool = poolFactory(8, function () {\n return createTypedArray(\"float32\", 2);\n }),\n shapePool = (factory = poolFactory(4, function () {\n return new ShapePath();\n }, function (t) {\n var e,\n r = t._length;\n\n for (e = 0; e < r; e += 1) {\n pointPool.release(t.v[e]), pointPool.release(t.i[e]), pointPool.release(t.o[e]), t.v[e] = null, t.i[e] = null, t.o[e] = null;\n }\n\n t._length = 0, t.c = !1;\n }), factory.clone = function (t) {\n var e,\n r = factory.newElement(),\n i = void 0 === t._length ? t.v.length : t._length;\n\n for (r.setLength(i), r.c = t.c, e = 0; e < i; e += 1) {\n r.setTripleAt(t.v[e][0], t.v[e][1], t.o[e][0], t.o[e][1], t.i[e][0], t.i[e][1], e);\n }\n\n return r;\n }, factory),\n factory,\n shapeCollectionPool = function () {\n var t = {\n newShapeCollection: function newShapeCollection() {\n return e ? i[e -= 1] : new ShapeCollection();\n },\n release: function release(t) {\n var a,\n s = t._length;\n\n for (a = 0; a < s; a += 1) {\n shapePool.release(t.shapes[a]);\n }\n\n t._length = 0, e === r && (i = pooling[\"double\"](i), r *= 2), i[e] = t, e += 1;\n }\n },\n e = 0,\n r = 4,\n i = createSizedArray(r);\n return t;\n }(),\n segmentsLengthPool = poolFactory(8, function () {\n return {\n lengths: [],\n totalLength: 0\n };\n }, function (t) {\n var e,\n r = t.lengths.length;\n\n for (e = 0; e < r; e += 1) {\n bezierLengthPool.release(t.lengths[e]);\n }\n\n t.lengths.length = 0;\n }),\n bezierLengthPool = poolFactory(8, function () {\n return {\n addedLength: 0,\n percents: createTypedArray(\"float32\", defaultCurveSegments),\n lengths: createTypedArray(\"float32\", defaultCurveSegments)\n };\n }),\n markerParser = function () {\n function t(t) {\n for (var e, r = t.split(\"\\r\\n\"), i = {}, a = 0, s = 0; s < r.length; s += 1) {\n 2 === (e = r[s].split(\":\")).length && (i[e[0]] = e[1].trim(), a += 1);\n }\n\n if (0 === a) throw new Error();\n return i;\n }\n\n return function (e) {\n for (var r = [], i = 0; i < e.length; i += 1) {\n var a = e[i],\n s = {\n time: a.tm,\n duration: a.dr\n };\n\n try {\n s.payload = JSON.parse(e[i].cm);\n } catch (r) {\n try {\n s.payload = t(e[i].cm);\n } catch (t) {\n s.payload = {\n name: e[i]\n };\n }\n }\n\n r.push(s);\n }\n\n return r;\n };\n }();\n\n function BaseRenderer() {}\n\n function SVGRenderer(t, e) {\n this.animationItem = t, this.layers = null, this.renderedFrame = -1, this.svgElement = createNS(\"svg\");\n var r = \"\";\n\n if (e && e.title) {\n var i = createNS(\"title\"),\n a = createElementID();\n i.setAttribute(\"id\", a), i.textContent = e.title, this.svgElement.appendChild(i), r += a;\n }\n\n if (e && e.description) {\n var s = createNS(\"desc\"),\n n = createElementID();\n s.setAttribute(\"id\", n), s.textContent = e.description, this.svgElement.appendChild(s), r += \" \" + n;\n }\n\n r && this.svgElement.setAttribute(\"aria-labelledby\", r);\n var o = createNS(\"defs\");\n this.svgElement.appendChild(o);\n var h = createNS(\"g\");\n this.svgElement.appendChild(h), this.layerElement = h, this.renderConfig = {\n preserveAspectRatio: e && e.preserveAspectRatio || \"xMidYMid meet\",\n imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || \"xMidYMid slice\",\n contentVisibility: e && e.contentVisibility || \"visible\",\n progressiveLoad: e && e.progressiveLoad || !1,\n hideOnTransparent: !(e && !1 === e.hideOnTransparent),\n viewBoxOnly: e && e.viewBoxOnly || !1,\n viewBoxSize: e && e.viewBoxSize || !1,\n className: e && e.className || \"\",\n id: e && e.id || \"\",\n focusable: e && e.focusable,\n filterSize: {\n width: e && e.filterSize && e.filterSize.width || \"100%\",\n height: e && e.filterSize && e.filterSize.height || \"100%\",\n x: e && e.filterSize && e.filterSize.x || \"0%\",\n y: e && e.filterSize && e.filterSize.y || \"0%\"\n }\n }, this.globalData = {\n _mdf: !1,\n frameNum: -1,\n defs: o,\n renderConfig: this.renderConfig\n }, this.elements = [], this.pendingElements = [], this.destroyed = !1, this.rendererType = \"svg\";\n }\n\n function CanvasRenderer(t, e) {\n this.animationItem = t, this.renderConfig = {\n clearCanvas: !e || void 0 === e.clearCanvas || e.clearCanvas,\n context: e && e.context || null,\n progressiveLoad: e && e.progressiveLoad || !1,\n preserveAspectRatio: e && e.preserveAspectRatio || \"xMidYMid meet\",\n imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || \"xMidYMid slice\",\n contentVisibility: e && e.contentVisibility || \"visible\",\n className: e && e.className || \"\",\n id: e && e.id || \"\"\n }, this.renderConfig.dpr = e && e.dpr || 1, this.animationItem.wrapper && (this.renderConfig.dpr = e && e.dpr || window.devicePixelRatio || 1), this.renderedFrame = -1, this.globalData = {\n frameNum: -1,\n _mdf: !1,\n renderConfig: this.renderConfig,\n currentGlobalAlpha: -1\n }, this.contextData = new CVContextData(), this.elements = [], this.pendingElements = [], this.transformMat = new Matrix(), this.completeLayers = !1, this.rendererType = \"canvas\";\n }\n\n function HybridRenderer(t, e) {\n this.animationItem = t, this.layers = null, this.renderedFrame = -1, this.renderConfig = {\n className: e && e.className || \"\",\n imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || \"xMidYMid slice\",\n hideOnTransparent: !(e && !1 === e.hideOnTransparent),\n filterSize: {\n width: e && e.filterSize && e.filterSize.width || \"400%\",\n height: e && e.filterSize && e.filterSize.height || \"400%\",\n x: e && e.filterSize && e.filterSize.x || \"-100%\",\n y: e && e.filterSize && e.filterSize.y || \"-100%\"\n }\n }, this.globalData = {\n _mdf: !1,\n frameNum: -1,\n renderConfig: this.renderConfig\n }, this.pendingElements = [], this.elements = [], this.threeDElements = [], this.destroyed = !1, this.camera = null, this.supports3d = !0, this.rendererType = \"html\";\n }\n\n function MaskElement(t, e, r) {\n this.data = t, this.element = e, this.globalData = r, this.storedData = [], this.masksProperties = this.data.masksProperties || [], this.maskElement = null;\n var i,\n a,\n s = this.globalData.defs,\n n = this.masksProperties ? this.masksProperties.length : 0;\n this.viewData = createSizedArray(n), this.solidPath = \"\";\n var o,\n h,\n l,\n p,\n c,\n f,\n d = this.masksProperties,\n m = 0,\n u = [],\n y = createElementID(),\n g = \"clipPath\",\n v = \"clip-path\";\n\n for (i = 0; i < n; i += 1) {\n if ((\"a\" !== d[i].mode && \"n\" !== d[i].mode || d[i].inv || 100 !== d[i].o.k || d[i].o.x) && (g = \"mask\", v = \"mask\"), \"s\" !== d[i].mode && \"i\" !== d[i].mode || 0 !== m ? l = null : ((l = createNS(\"rect\")).setAttribute(\"fill\", \"#ffffff\"), l.setAttribute(\"width\", this.element.comp.data.w || 0), l.setAttribute(\"height\", this.element.comp.data.h || 0), u.push(l)), a = createNS(\"path\"), \"n\" === d[i].mode) this.viewData[i] = {\n op: PropertyFactory.getProp(this.element, d[i].o, 0, .01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, d[i], 3),\n elem: a,\n lastPath: \"\"\n }, s.appendChild(a);else {\n var b;\n\n if (m += 1, a.setAttribute(\"fill\", \"s\" === d[i].mode ? \"#000000\" : \"#ffffff\"), a.setAttribute(\"clip-rule\", \"nonzero\"), 0 !== d[i].x.k ? (g = \"mask\", v = \"mask\", f = PropertyFactory.getProp(this.element, d[i].x, 0, null, this.element), b = createElementID(), (p = createNS(\"filter\")).setAttribute(\"id\", b), (c = createNS(\"feMorphology\")).setAttribute(\"operator\", \"erode\"), c.setAttribute(\"in\", \"SourceGraphic\"), c.setAttribute(\"radius\", \"0\"), p.appendChild(c), s.appendChild(p), a.setAttribute(\"stroke\", \"s\" === d[i].mode ? \"#000000\" : \"#ffffff\")) : (c = null, f = null), this.storedData[i] = {\n elem: a,\n x: f,\n expan: c,\n lastPath: \"\",\n lastOperator: \"\",\n filterId: b,\n lastRadius: 0\n }, \"i\" === d[i].mode) {\n h = u.length;\n\n var _ = createNS(\"g\");\n\n for (o = 0; o < h; o += 1) {\n _.appendChild(u[o]);\n }\n\n var P = createNS(\"mask\");\n P.setAttribute(\"mask-type\", \"alpha\"), P.setAttribute(\"id\", y + \"_\" + m), P.appendChild(a), s.appendChild(P), _.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + y + \"_\" + m + \")\"), u.length = 0, u.push(_);\n } else u.push(a);\n\n d[i].inv && !this.solidPath && (this.solidPath = this.createLayerSolidPath()), this.viewData[i] = {\n elem: a,\n lastPath: \"\",\n op: PropertyFactory.getProp(this.element, d[i].o, 0, .01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, d[i], 3),\n invRect: l\n }, this.viewData[i].prop.k || this.drawPath(d[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n }\n\n for (this.maskElement = createNS(g), n = u.length, i = 0; i < n; i += 1) {\n this.maskElement.appendChild(u[i]);\n }\n\n m > 0 && (this.maskElement.setAttribute(\"id\", y), this.element.maskedElement.setAttribute(v, \"url(\" + locationHref + \"#\" + y + \")\"), s.appendChild(this.maskElement)), this.viewData.length && this.element.addRenderableComponent(this);\n }\n\n function HierarchyElement() {}\n\n function FrameElement() {}\n\n function TransformElement() {}\n\n function RenderableElement() {}\n\n function RenderableDOMElement() {}\n\n function ProcessedElement(t, e) {\n this.elem = t, this.pos = e;\n }\n\n function SVGStyleData(t, e) {\n this.data = t, this.type = t.ty, this.d = \"\", this.lvl = e, this._mdf = !1, this.closed = !0 === t.hd, this.pElem = createNS(\"path\"), this.msElem = null;\n }\n\n function SVGShapeData(t, e, r) {\n this.caches = [], this.styles = [], this.transformers = t, this.lStr = \"\", this.sh = r, this.lvl = e, this._isAnimated = !!r.k;\n\n for (var i = 0, a = t.length; i < a;) {\n if (t[i].mProps.dynamicProperties.length) {\n this._isAnimated = !0;\n break;\n }\n\n i += 1;\n }\n }\n\n function SVGTransformData(t, e, r) {\n this.transform = {\n mProps: t,\n op: e,\n container: r\n }, this.elements = [], this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\n }\n\n function SVGStrokeStyleData(t, e, r) {\n this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.o = PropertyFactory.getProp(t, e.o, 0, .01, this), this.w = PropertyFactory.getProp(t, e.w, 0, null, this), this.d = new DashProperty(t, e.d || {}, \"svg\", this), this.c = PropertyFactory.getProp(t, e.c, 1, 255, this), this.style = r, this._isAnimated = !!this._isAnimated;\n }\n\n function SVGFillStyleData(t, e, r) {\n this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.o = PropertyFactory.getProp(t, e.o, 0, .01, this), this.c = PropertyFactory.getProp(t, e.c, 1, 255, this), this.style = r;\n }\n\n function SVGGradientFillStyleData(t, e, r) {\n this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.initGradientData(t, e, r);\n }\n\n function SVGGradientStrokeStyleData(t, e, r) {\n this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.w = PropertyFactory.getProp(t, e.w, 0, null, this), this.d = new DashProperty(t, e.d || {}, \"svg\", this), this.initGradientData(t, e, r), this._isAnimated = !!this._isAnimated;\n }\n\n function ShapeGroupData() {\n this.it = [], this.prevViewData = [], this.gr = createNS(\"g\");\n }\n\n BaseRenderer.prototype.checkLayers = function (t) {\n var e,\n r,\n i = this.layers.length;\n\n for (this.completeLayers = !0, e = i - 1; e >= 0; e -= 1) {\n this.elements[e] || (r = this.layers[e]).ip - r.st <= t - this.layers[e].st && r.op - r.st > t - this.layers[e].st && this.buildItem(e), this.completeLayers = !!this.elements[e] && this.completeLayers;\n }\n\n this.checkPendingElements();\n }, BaseRenderer.prototype.createItem = function (t) {\n switch (t.ty) {\n case 2:\n return this.createImage(t);\n\n case 0:\n return this.createComp(t);\n\n case 1:\n return this.createSolid(t);\n\n case 3:\n default:\n return this.createNull(t);\n\n case 4:\n return this.createShape(t);\n\n case 5:\n return this.createText(t);\n\n case 6:\n return this.createAudio(t);\n\n case 13:\n return this.createCamera(t);\n\n case 15:\n return this.createFootage(t);\n }\n }, BaseRenderer.prototype.createCamera = function () {\n throw new Error(\"You're using a 3d camera. Try the html renderer.\");\n }, BaseRenderer.prototype.createAudio = function (t) {\n return new AudioElement(t, this.globalData, this);\n }, BaseRenderer.prototype.createFootage = function (t) {\n return new FootageElement(t, this.globalData, this);\n }, BaseRenderer.prototype.buildAllItems = function () {\n var t,\n e = this.layers.length;\n\n for (t = 0; t < e; t += 1) {\n this.buildItem(t);\n }\n\n this.checkPendingElements();\n }, BaseRenderer.prototype.includeLayers = function (t) {\n var e;\n this.completeLayers = !1;\n var r,\n i = t.length,\n a = this.layers.length;\n\n for (e = 0; e < i; e += 1) {\n for (r = 0; r < a;) {\n if (this.layers[r].id === t[e].id) {\n this.layers[r] = t[e];\n break;\n }\n\n r += 1;\n }\n }\n }, BaseRenderer.prototype.setProjectInterface = function (t) {\n this.globalData.projectInterface = t;\n }, BaseRenderer.prototype.initItems = function () {\n this.globalData.progressiveLoad || this.buildAllItems();\n }, BaseRenderer.prototype.buildElementParenting = function (t, e, r) {\n for (var i = this.elements, a = this.layers, s = 0, n = a.length; s < n;) {\n a[s].ind == e && (i[s] && !0 !== i[s] ? (r.push(i[s]), i[s].setAsParent(), void 0 !== a[s].parent ? this.buildElementParenting(t, a[s].parent, r) : t.setHierarchy(r)) : (this.buildItem(s), this.addPendingElement(t))), s += 1;\n }\n }, BaseRenderer.prototype.addPendingElement = function (t) {\n this.pendingElements.push(t);\n }, BaseRenderer.prototype.searchExtraCompositions = function (t) {\n var e,\n r = t.length;\n\n for (e = 0; e < r; e += 1) {\n if (t[e].xt) {\n var i = this.createComp(t[e]);\n i.initExpressions(), this.globalData.projectInterface.registerComposition(i);\n }\n }\n }, BaseRenderer.prototype.setupGlobalData = function (t, e) {\n this.globalData.fontManager = new FontManager(), this.globalData.fontManager.addChars(t.chars), this.globalData.fontManager.addFonts(t.fonts, e), this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem), this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem), this.globalData.imageLoader = this.animationItem.imagePreloader, this.globalData.audioController = this.animationItem.audioController, this.globalData.frameId = 0, this.globalData.frameRate = t.fr, this.globalData.nm = t.nm, this.globalData.compSize = {\n w: t.w,\n h: t.h\n };\n }, extendPrototype([BaseRenderer], SVGRenderer), SVGRenderer.prototype.createNull = function (t) {\n return new NullElement(t, this.globalData, this);\n }, SVGRenderer.prototype.createShape = function (t) {\n return new SVGShapeElement(t, this.globalData, this);\n }, SVGRenderer.prototype.createText = function (t) {\n return new SVGTextLottieElement(t, this.globalData, this);\n }, SVGRenderer.prototype.createImage = function (t) {\n return new IImageElement(t, this.globalData, this);\n }, SVGRenderer.prototype.createComp = function (t) {\n return new SVGCompElement(t, this.globalData, this);\n }, SVGRenderer.prototype.createSolid = function (t) {\n return new ISolidElement(t, this.globalData, this);\n }, SVGRenderer.prototype.configAnimation = function (t) {\n this.svgElement.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\"), this.renderConfig.viewBoxSize ? this.svgElement.setAttribute(\"viewBox\", this.renderConfig.viewBoxSize) : this.svgElement.setAttribute(\"viewBox\", \"0 0 \" + t.w + \" \" + t.h), this.renderConfig.viewBoxOnly || (this.svgElement.setAttribute(\"width\", t.w), this.svgElement.setAttribute(\"height\", t.h), this.svgElement.style.width = \"100%\", this.svgElement.style.height = \"100%\", this.svgElement.style.transform = \"translate3d(0,0,0)\", this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility), this.renderConfig.className && this.svgElement.setAttribute(\"class\", this.renderConfig.className), this.renderConfig.id && this.svgElement.setAttribute(\"id\", this.renderConfig.id), void 0 !== this.renderConfig.focusable && this.svgElement.setAttribute(\"focusable\", this.renderConfig.focusable), this.svgElement.setAttribute(\"preserveAspectRatio\", this.renderConfig.preserveAspectRatio), this.animationItem.wrapper.appendChild(this.svgElement);\n var e = this.globalData.defs;\n this.setupGlobalData(t, e), this.globalData.progressiveLoad = this.renderConfig.progressiveLoad, this.data = t;\n var r = createNS(\"clipPath\"),\n i = createNS(\"rect\");\n i.setAttribute(\"width\", t.w), i.setAttribute(\"height\", t.h), i.setAttribute(\"x\", 0), i.setAttribute(\"y\", 0);\n var a = createElementID();\n r.setAttribute(\"id\", a), r.appendChild(i), this.layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + a + \")\"), e.appendChild(r), this.layers = t.layers, this.elements = createSizedArray(t.layers.length);\n }, SVGRenderer.prototype.destroy = function () {\n var t;\n this.animationItem.wrapper && (this.animationItem.wrapper.innerText = \"\"), this.layerElement = null, this.globalData.defs = null;\n var e = this.layers ? this.layers.length : 0;\n\n for (t = 0; t < e; t += 1) {\n this.elements[t] && this.elements[t].destroy();\n }\n\n this.elements.length = 0, this.destroyed = !0, this.animationItem = null;\n }, SVGRenderer.prototype.updateContainerSize = function () {}, SVGRenderer.prototype.buildItem = function (t) {\n var e = this.elements;\n\n if (!e[t] && 99 !== this.layers[t].ty) {\n e[t] = !0;\n var r = this.createItem(this.layers[t]);\n e[t] = r, expressionsPlugin && (0 === this.layers[t].ty && this.globalData.projectInterface.registerComposition(r), r.initExpressions()), this.appendElementInPos(r, t), this.layers[t].tt && (this.elements[t - 1] && !0 !== this.elements[t - 1] ? r.setMatte(e[t - 1].layerId) : (this.buildItem(t - 1), this.addPendingElement(r)));\n }\n }, SVGRenderer.prototype.checkPendingElements = function () {\n for (; this.pendingElements.length;) {\n var t = this.pendingElements.pop();\n if (t.checkParenting(), t.data.tt) for (var e = 0, r = this.elements.length; e < r;) {\n if (this.elements[e] === t) {\n t.setMatte(this.elements[e - 1].layerId);\n break;\n }\n\n e += 1;\n }\n }\n }, SVGRenderer.prototype.renderFrame = function (t) {\n if (this.renderedFrame !== t && !this.destroyed) {\n var e;\n null === t ? t = this.renderedFrame : this.renderedFrame = t, this.globalData.frameNum = t, this.globalData.frameId += 1, this.globalData.projectInterface.currentFrame = t, this.globalData._mdf = !1;\n var r = this.layers.length;\n\n for (this.completeLayers || this.checkLayers(t), e = r - 1; e >= 0; e -= 1) {\n (this.completeLayers || this.elements[e]) && this.elements[e].prepareFrame(t - this.layers[e].st);\n }\n\n if (this.globalData._mdf) for (e = 0; e < r; e += 1) {\n (this.completeLayers || this.elements[e]) && this.elements[e].renderFrame();\n }\n }\n }, SVGRenderer.prototype.appendElementInPos = function (t, e) {\n var r = t.getBaseElement();\n\n if (r) {\n for (var i, a = 0; a < e;) {\n this.elements[a] && !0 !== this.elements[a] && this.elements[a].getBaseElement() && (i = this.elements[a].getBaseElement()), a += 1;\n }\n\n i ? this.layerElement.insertBefore(r, i) : this.layerElement.appendChild(r);\n }\n }, SVGRenderer.prototype.hide = function () {\n this.layerElement.style.display = \"none\";\n }, SVGRenderer.prototype.show = function () {\n this.layerElement.style.display = \"block\";\n }, extendPrototype([BaseRenderer], CanvasRenderer), CanvasRenderer.prototype.createShape = function (t) {\n return new CVShapeElement(t, this.globalData, this);\n }, CanvasRenderer.prototype.createText = function (t) {\n return new CVTextElement(t, this.globalData, this);\n }, CanvasRenderer.prototype.createImage = function (t) {\n return new CVImageElement(t, this.globalData, this);\n }, CanvasRenderer.prototype.createComp = function (t) {\n return new CVCompElement(t, this.globalData, this);\n }, CanvasRenderer.prototype.createSolid = function (t) {\n return new CVSolidElement(t, this.globalData, this);\n }, CanvasRenderer.prototype.createNull = SVGRenderer.prototype.createNull, CanvasRenderer.prototype.ctxTransform = function (t) {\n if (1 !== t[0] || 0 !== t[1] || 0 !== t[4] || 1 !== t[5] || 0 !== t[12] || 0 !== t[13]) if (this.renderConfig.clearCanvas) {\n this.transformMat.cloneFromProps(t);\n var e = this.contextData.cTr.props;\n this.transformMat.transform(e[0], e[1], e[2], e[3], e[4], e[5], e[6], e[7], e[8], e[9], e[10], e[11], e[12], e[13], e[14], e[15]), this.contextData.cTr.cloneFromProps(this.transformMat.props);\n var r = this.contextData.cTr.props;\n this.canvasContext.setTransform(r[0], r[1], r[4], r[5], r[12], r[13]);\n } else this.canvasContext.transform(t[0], t[1], t[4], t[5], t[12], t[13]);\n }, CanvasRenderer.prototype.ctxOpacity = function (t) {\n if (!this.renderConfig.clearCanvas) return this.canvasContext.globalAlpha *= t < 0 ? 0 : t, void (this.globalData.currentGlobalAlpha = this.contextData.cO);\n this.contextData.cO *= t < 0 ? 0 : t, this.globalData.currentGlobalAlpha !== this.contextData.cO && (this.canvasContext.globalAlpha = this.contextData.cO, this.globalData.currentGlobalAlpha = this.contextData.cO);\n }, CanvasRenderer.prototype.reset = function () {\n this.renderConfig.clearCanvas ? this.contextData.reset() : this.canvasContext.restore();\n }, CanvasRenderer.prototype.save = function (t) {\n if (this.renderConfig.clearCanvas) {\n t && this.canvasContext.save();\n var e,\n r = this.contextData.cTr.props;\n this.contextData._length <= this.contextData.cArrPos && this.contextData.duplicate();\n var i = this.contextData.saved[this.contextData.cArrPos];\n\n for (e = 0; e < 16; e += 1) {\n i[e] = r[e];\n }\n\n this.contextData.savedOp[this.contextData.cArrPos] = this.contextData.cO, this.contextData.cArrPos += 1;\n } else this.canvasContext.save();\n }, CanvasRenderer.prototype.restore = function (t) {\n if (this.renderConfig.clearCanvas) {\n t && (this.canvasContext.restore(), this.globalData.blendMode = \"source-over\"), this.contextData.cArrPos -= 1;\n var e,\n r = this.contextData.saved[this.contextData.cArrPos],\n i = this.contextData.cTr.props;\n\n for (e = 0; e < 16; e += 1) {\n i[e] = r[e];\n }\n\n this.canvasContext.setTransform(r[0], r[1], r[4], r[5], r[12], r[13]), r = this.contextData.savedOp[this.contextData.cArrPos], this.contextData.cO = r, this.globalData.currentGlobalAlpha !== r && (this.canvasContext.globalAlpha = r, this.globalData.currentGlobalAlpha = r);\n } else this.canvasContext.restore();\n }, CanvasRenderer.prototype.configAnimation = function (t) {\n if (this.animationItem.wrapper) {\n this.animationItem.container = createTag(\"canvas\");\n var e = this.animationItem.container.style;\n e.width = \"100%\", e.height = \"100%\";\n var r = \"0px 0px 0px\";\n e.transformOrigin = r, e.mozTransformOrigin = r, e.webkitTransformOrigin = r, e[\"-webkit-transform\"] = r, e.contentVisibility = this.renderConfig.contentVisibility, this.animationItem.wrapper.appendChild(this.animationItem.container), this.canvasContext = this.animationItem.container.getContext(\"2d\"), this.renderConfig.className && this.animationItem.container.setAttribute(\"class\", this.renderConfig.className), this.renderConfig.id && this.animationItem.container.setAttribute(\"id\", this.renderConfig.id);\n } else this.canvasContext = this.renderConfig.context;\n\n this.data = t, this.layers = t.layers, this.transformCanvas = {\n w: t.w,\n h: t.h,\n sx: 0,\n sy: 0,\n tx: 0,\n ty: 0\n }, this.setupGlobalData(t, document.body), this.globalData.canvasContext = this.canvasContext, this.globalData.renderer = this, this.globalData.isDashed = !1, this.globalData.progressiveLoad = this.renderConfig.progressiveLoad, this.globalData.transformCanvas = this.transformCanvas, this.elements = createSizedArray(t.layers.length), this.updateContainerSize();\n }, CanvasRenderer.prototype.updateContainerSize = function () {\n var t, e, r, i;\n\n if (this.reset(), this.animationItem.wrapper && this.animationItem.container ? (t = this.animationItem.wrapper.offsetWidth, e = this.animationItem.wrapper.offsetHeight, this.animationItem.container.setAttribute(\"width\", t * this.renderConfig.dpr), this.animationItem.container.setAttribute(\"height\", e * this.renderConfig.dpr)) : (t = this.canvasContext.canvas.width * this.renderConfig.dpr, e = this.canvasContext.canvas.height * this.renderConfig.dpr), -1 !== this.renderConfig.preserveAspectRatio.indexOf(\"meet\") || -1 !== this.renderConfig.preserveAspectRatio.indexOf(\"slice\")) {\n var a = this.renderConfig.preserveAspectRatio.split(\" \"),\n s = a[1] || \"meet\",\n n = a[0] || \"xMidYMid\",\n o = n.substr(0, 4),\n h = n.substr(4);\n r = t / e, (i = this.transformCanvas.w / this.transformCanvas.h) > r && \"meet\" === s || i < r && \"slice\" === s ? (this.transformCanvas.sx = t / (this.transformCanvas.w / this.renderConfig.dpr), this.transformCanvas.sy = t / (this.transformCanvas.w / this.renderConfig.dpr)) : (this.transformCanvas.sx = e / (this.transformCanvas.h / this.renderConfig.dpr), this.transformCanvas.sy = e / (this.transformCanvas.h / this.renderConfig.dpr)), this.transformCanvas.tx = \"xMid\" === o && (i < r && \"meet\" === s || i > r && \"slice\" === s) ? (t - this.transformCanvas.w * (e / this.transformCanvas.h)) / 2 * this.renderConfig.dpr : \"xMax\" === o && (i < r && \"meet\" === s || i > r && \"slice\" === s) ? (t - this.transformCanvas.w * (e / this.transformCanvas.h)) * this.renderConfig.dpr : 0, this.transformCanvas.ty = \"YMid\" === h && (i > r && \"meet\" === s || i < r && \"slice\" === s) ? (e - this.transformCanvas.h * (t / this.transformCanvas.w)) / 2 * this.renderConfig.dpr : \"YMax\" === h && (i > r && \"meet\" === s || i < r && \"slice\" === s) ? (e - this.transformCanvas.h * (t / this.transformCanvas.w)) * this.renderConfig.dpr : 0;\n } else \"none\" === this.renderConfig.preserveAspectRatio ? (this.transformCanvas.sx = t / (this.transformCanvas.w / this.renderConfig.dpr), this.transformCanvas.sy = e / (this.transformCanvas.h / this.renderConfig.dpr), this.transformCanvas.tx = 0, this.transformCanvas.ty = 0) : (this.transformCanvas.sx = this.renderConfig.dpr, this.transformCanvas.sy = this.renderConfig.dpr, this.transformCanvas.tx = 0, this.transformCanvas.ty = 0);\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], this.ctxTransform(this.transformCanvas.props), this.canvasContext.beginPath(), this.canvasContext.rect(0, 0, this.transformCanvas.w, this.transformCanvas.h), this.canvasContext.closePath(), this.canvasContext.clip(), this.renderFrame(this.renderedFrame, !0);\n }, CanvasRenderer.prototype.destroy = function () {\n var t;\n\n for (this.renderConfig.clearCanvas && this.animationItem.wrapper && (this.animationItem.wrapper.innerText = \"\"), t = (this.layers ? this.layers.length : 0) - 1; t >= 0; t -= 1) {\n this.elements[t] && this.elements[t].destroy();\n }\n\n this.elements.length = 0, this.globalData.canvasContext = null, this.animationItem.container = null, this.destroyed = !0;\n }, CanvasRenderer.prototype.renderFrame = function (t, e) {\n if ((this.renderedFrame !== t || !0 !== this.renderConfig.clearCanvas || e) && !this.destroyed && -1 !== t) {\n var r;\n this.renderedFrame = t, this.globalData.frameNum = t - this.animationItem._isFirstFrame, this.globalData.frameId += 1, this.globalData._mdf = !this.renderConfig.clearCanvas || e, this.globalData.projectInterface.currentFrame = t;\n var i = this.layers.length;\n\n for (this.completeLayers || this.checkLayers(t), r = 0; r < i; r += 1) {\n (this.completeLayers || this.elements[r]) && this.elements[r].prepareFrame(t - this.layers[r].st);\n }\n\n if (this.globalData._mdf) {\n for (!0 === this.renderConfig.clearCanvas ? this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h) : this.save(), r = i - 1; r >= 0; r -= 1) {\n (this.completeLayers || this.elements[r]) && this.elements[r].renderFrame();\n }\n\n !0 !== this.renderConfig.clearCanvas && this.restore();\n }\n }\n }, CanvasRenderer.prototype.buildItem = function (t) {\n var e = this.elements;\n\n if (!e[t] && 99 !== this.layers[t].ty) {\n var r = this.createItem(this.layers[t], this, this.globalData);\n e[t] = r, r.initExpressions();\n }\n }, CanvasRenderer.prototype.checkPendingElements = function () {\n for (; this.pendingElements.length;) {\n this.pendingElements.pop().checkParenting();\n }\n }, CanvasRenderer.prototype.hide = function () {\n this.animationItem.container.style.display = \"none\";\n }, CanvasRenderer.prototype.show = function () {\n this.animationItem.container.style.display = \"block\";\n }, extendPrototype([BaseRenderer], HybridRenderer), HybridRenderer.prototype.buildItem = SVGRenderer.prototype.buildItem, HybridRenderer.prototype.checkPendingElements = function () {\n for (; this.pendingElements.length;) {\n this.pendingElements.pop().checkParenting();\n }\n }, HybridRenderer.prototype.appendElementInPos = function (t, e) {\n var r = t.getBaseElement();\n\n if (r) {\n var i = this.layers[e];\n if (i.ddd && this.supports3d) this.addTo3dContainer(r, e);else if (this.threeDElements) this.addTo3dContainer(r, e);else {\n for (var a, s, n = 0; n < e;) {\n this.elements[n] && !0 !== this.elements[n] && this.elements[n].getBaseElement && (s = this.elements[n], a = (this.layers[n].ddd ? this.getThreeDContainerByPos(n) : s.getBaseElement()) || a), n += 1;\n }\n\n a ? i.ddd && this.supports3d || this.layerElement.insertBefore(r, a) : i.ddd && this.supports3d || this.layerElement.appendChild(r);\n }\n }\n }, HybridRenderer.prototype.createShape = function (t) {\n return this.supports3d ? new HShapeElement(t, this.globalData, this) : new SVGShapeElement(t, this.globalData, this);\n }, HybridRenderer.prototype.createText = function (t) {\n return this.supports3d ? new HTextElement(t, this.globalData, this) : new SVGTextLottieElement(t, this.globalData, this);\n }, HybridRenderer.prototype.createCamera = function (t) {\n return this.camera = new HCameraElement(t, this.globalData, this), this.camera;\n }, HybridRenderer.prototype.createImage = function (t) {\n return this.supports3d ? new HImageElement(t, this.globalData, this) : new IImageElement(t, this.globalData, this);\n }, HybridRenderer.prototype.createComp = function (t) {\n return this.supports3d ? new HCompElement(t, this.globalData, this) : new SVGCompElement(t, this.globalData, this);\n }, HybridRenderer.prototype.createSolid = function (t) {\n return this.supports3d ? new HSolidElement(t, this.globalData, this) : new ISolidElement(t, this.globalData, this);\n }, HybridRenderer.prototype.createNull = SVGRenderer.prototype.createNull, HybridRenderer.prototype.getThreeDContainerByPos = function (t) {\n for (var e = 0, r = this.threeDElements.length; e < r;) {\n if (this.threeDElements[e].startPos <= t && this.threeDElements[e].endPos >= t) return this.threeDElements[e].perspectiveElem;\n e += 1;\n }\n\n return null;\n }, HybridRenderer.prototype.createThreeDContainer = function (t, e) {\n var r,\n i,\n a = createTag(\"div\");\n styleDiv(a);\n var s = createTag(\"div\");\n\n if (styleDiv(s), \"3d\" === e) {\n (r = a.style).width = this.globalData.compSize.w + \"px\", r.height = this.globalData.compSize.h + \"px\";\n var n = \"50% 50%\";\n r.webkitTransformOrigin = n, r.mozTransformOrigin = n, r.transformOrigin = n;\n var o = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n (i = s.style).transform = o, i.webkitTransform = o;\n }\n\n a.appendChild(s);\n var h = {\n container: s,\n perspectiveElem: a,\n startPos: t,\n endPos: t,\n type: e\n };\n return this.threeDElements.push(h), h;\n }, HybridRenderer.prototype.build3dContainers = function () {\n var t,\n e,\n r = this.layers.length,\n i = \"\";\n\n for (t = 0; t < r; t += 1) {\n this.layers[t].ddd && 3 !== this.layers[t].ty ? (\"3d\" !== i && (i = \"3d\", e = this.createThreeDContainer(t, \"3d\")), e.endPos = Math.max(e.endPos, t)) : (\"2d\" !== i && (i = \"2d\", e = this.createThreeDContainer(t, \"2d\")), e.endPos = Math.max(e.endPos, t));\n }\n\n for (t = (r = this.threeDElements.length) - 1; t >= 0; t -= 1) {\n this.resizerElem.appendChild(this.threeDElements[t].perspectiveElem);\n }\n }, HybridRenderer.prototype.addTo3dContainer = function (t, e) {\n for (var r = 0, i = this.threeDElements.length; r < i;) {\n if (e <= this.threeDElements[r].endPos) {\n for (var a, s = this.threeDElements[r].startPos; s < e;) {\n this.elements[s] && this.elements[s].getBaseElement && (a = this.elements[s].getBaseElement()), s += 1;\n }\n\n a ? this.threeDElements[r].container.insertBefore(t, a) : this.threeDElements[r].container.appendChild(t);\n break;\n }\n\n r += 1;\n }\n }, HybridRenderer.prototype.configAnimation = function (t) {\n var e = createTag(\"div\"),\n r = this.animationItem.wrapper,\n i = e.style;\n i.width = t.w + \"px\", i.height = t.h + \"px\", this.resizerElem = e, styleDiv(e), i.transformStyle = \"flat\", i.mozTransformStyle = \"flat\", i.webkitTransformStyle = \"flat\", this.renderConfig.className && e.setAttribute(\"class\", this.renderConfig.className), r.appendChild(e), i.overflow = \"hidden\";\n var a = createNS(\"svg\");\n a.setAttribute(\"width\", \"1\"), a.setAttribute(\"height\", \"1\"), styleDiv(a), this.resizerElem.appendChild(a);\n var s = createNS(\"defs\");\n a.appendChild(s), this.data = t, this.setupGlobalData(t, a), this.globalData.defs = s, this.layers = t.layers, this.layerElement = this.resizerElem, this.build3dContainers(), this.updateContainerSize();\n }, HybridRenderer.prototype.destroy = function () {\n var t;\n this.animationItem.wrapper && (this.animationItem.wrapper.innerText = \"\"), this.animationItem.container = null, this.globalData.defs = null;\n var e = this.layers ? this.layers.length : 0;\n\n for (t = 0; t < e; t += 1) {\n this.elements[t].destroy();\n }\n\n this.elements.length = 0, this.destroyed = !0, this.animationItem = null;\n }, HybridRenderer.prototype.updateContainerSize = function () {\n var t,\n e,\n r,\n i,\n a = this.animationItem.wrapper.offsetWidth,\n s = this.animationItem.wrapper.offsetHeight,\n n = a / s;\n this.globalData.compSize.w / this.globalData.compSize.h > n ? (t = a / this.globalData.compSize.w, e = a / this.globalData.compSize.w, r = 0, i = (s - this.globalData.compSize.h * (a / this.globalData.compSize.w)) / 2) : (t = s / this.globalData.compSize.h, e = s / this.globalData.compSize.h, r = (a - this.globalData.compSize.w * (s / this.globalData.compSize.h)) / 2, i = 0);\n var o = this.resizerElem.style;\n o.webkitTransform = \"matrix3d(\" + t + \",0,0,0,0,\" + e + \",0,0,0,0,1,0,\" + r + \",\" + i + \",0,1)\", o.transform = o.webkitTransform;\n }, HybridRenderer.prototype.renderFrame = SVGRenderer.prototype.renderFrame, HybridRenderer.prototype.hide = function () {\n this.resizerElem.style.display = \"none\";\n }, HybridRenderer.prototype.show = function () {\n this.resizerElem.style.display = \"block\";\n }, HybridRenderer.prototype.initItems = function () {\n if (this.buildAllItems(), this.camera) this.camera.setup();else {\n var t,\n e = this.globalData.compSize.w,\n r = this.globalData.compSize.h,\n i = this.threeDElements.length;\n\n for (t = 0; t < i; t += 1) {\n var a = this.threeDElements[t].perspectiveElem.style;\n a.webkitPerspective = Math.sqrt(Math.pow(e, 2) + Math.pow(r, 2)) + \"px\", a.perspective = a.webkitPerspective;\n }\n }\n }, HybridRenderer.prototype.searchExtraCompositions = function (t) {\n var e,\n r = t.length,\n i = createTag(\"div\");\n\n for (e = 0; e < r; e += 1) {\n if (t[e].xt) {\n var a = this.createComp(t[e], i, this.globalData.comp, null);\n a.initExpressions(), this.globalData.projectInterface.registerComposition(a);\n }\n }\n }, MaskElement.prototype.getMaskProperty = function (t) {\n return this.viewData[t].prop;\n }, MaskElement.prototype.renderFrame = function (t) {\n var e,\n r = this.element.finalTransform.mat,\n i = this.masksProperties.length;\n\n for (e = 0; e < i; e += 1) {\n if ((this.viewData[e].prop._mdf || t) && this.drawPath(this.masksProperties[e], this.viewData[e].prop.v, this.viewData[e]), (this.viewData[e].op._mdf || t) && this.viewData[e].elem.setAttribute(\"fill-opacity\", this.viewData[e].op.v), \"n\" !== this.masksProperties[e].mode && (this.viewData[e].invRect && (this.element.finalTransform.mProp._mdf || t) && this.viewData[e].invRect.setAttribute(\"transform\", r.getInverseMatrix().to2dCSS()), this.storedData[e].x && (this.storedData[e].x._mdf || t))) {\n var a = this.storedData[e].expan;\n this.storedData[e].x.v < 0 ? (\"erode\" !== this.storedData[e].lastOperator && (this.storedData[e].lastOperator = \"erode\", this.storedData[e].elem.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + this.storedData[e].filterId + \")\")), a.setAttribute(\"radius\", -this.storedData[e].x.v)) : (\"dilate\" !== this.storedData[e].lastOperator && (this.storedData[e].lastOperator = \"dilate\", this.storedData[e].elem.setAttribute(\"filter\", null)), this.storedData[e].elem.setAttribute(\"stroke-width\", 2 * this.storedData[e].x.v));\n }\n }\n }, MaskElement.prototype.getMaskelement = function () {\n return this.maskElement;\n }, MaskElement.prototype.createLayerSolidPath = function () {\n var t = \"M0,0 \";\n return t += \" h\" + this.globalData.compSize.w, t += \" v\" + this.globalData.compSize.h, t += \" h-\" + this.globalData.compSize.w, t += \" v-\" + this.globalData.compSize.h + \" \";\n }, MaskElement.prototype.drawPath = function (t, e, r) {\n var i,\n a,\n s = \" M\" + e.v[0][0] + \",\" + e.v[0][1];\n\n for (a = e._length, i = 1; i < a; i += 1) {\n s += \" C\" + e.o[i - 1][0] + \",\" + e.o[i - 1][1] + \" \" + e.i[i][0] + \",\" + e.i[i][1] + \" \" + e.v[i][0] + \",\" + e.v[i][1];\n }\n\n if (e.c && a > 1 && (s += \" C\" + e.o[i - 1][0] + \",\" + e.o[i - 1][1] + \" \" + e.i[0][0] + \",\" + e.i[0][1] + \" \" + e.v[0][0] + \",\" + e.v[0][1]), r.lastPath !== s) {\n var n = \"\";\n r.elem && (e.c && (n = t.inv ? this.solidPath + s : s), r.elem.setAttribute(\"d\", n)), r.lastPath = s;\n }\n }, MaskElement.prototype.destroy = function () {\n this.element = null, this.globalData = null, this.maskElement = null, this.data = null, this.masksProperties = null;\n }, HierarchyElement.prototype = {\n initHierarchy: function initHierarchy() {\n this.hierarchy = [], this._isParent = !1, this.checkParenting();\n },\n setHierarchy: function setHierarchy(t) {\n this.hierarchy = t;\n },\n setAsParent: function setAsParent() {\n this._isParent = !0;\n },\n checkParenting: function checkParenting() {\n void 0 !== this.data.parent && this.comp.buildElementParenting(this, this.data.parent, []);\n }\n }, FrameElement.prototype = {\n initFrame: function initFrame() {\n this._isFirstFrame = !1, this.dynamicProperties = [], this._mdf = !1;\n },\n prepareProperties: function prepareProperties(t, e) {\n var r,\n i = this.dynamicProperties.length;\n\n for (r = 0; r < i; r += 1) {\n (e || this._isParent && \"transform\" === this.dynamicProperties[r].propType) && (this.dynamicProperties[r].getValue(), this.dynamicProperties[r]._mdf && (this.globalData._mdf = !0, this._mdf = !0));\n }\n },\n addDynamicProperty: function addDynamicProperty(t) {\n -1 === this.dynamicProperties.indexOf(t) && this.dynamicProperties.push(t);\n }\n }, TransformElement.prototype = {\n initTransform: function initTransform() {\n this.finalTransform = {\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {\n o: 0\n },\n _matMdf: !1,\n _opMdf: !1,\n mat: new Matrix()\n }, this.data.ao && (this.finalTransform.mProp.autoOriented = !0), this.data.ty;\n },\n renderTransform: function renderTransform() {\n if (this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame, this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame, this.hierarchy) {\n var t,\n e = this.finalTransform.mat,\n r = 0,\n i = this.hierarchy.length;\n if (!this.finalTransform._matMdf) for (; r < i;) {\n if (this.hierarchy[r].finalTransform.mProp._mdf) {\n this.finalTransform._matMdf = !0;\n break;\n }\n\n r += 1;\n }\n if (this.finalTransform._matMdf) for (t = this.finalTransform.mProp.v.props, e.cloneFromProps(t), r = 0; r < i; r += 1) {\n t = this.hierarchy[r].finalTransform.mProp.v.props, e.transform(t[0], t[1], t[2], t[3], t[4], t[5], t[6], t[7], t[8], t[9], t[10], t[11], t[12], t[13], t[14], t[15]);\n }\n }\n },\n globalToLocal: function globalToLocal(t) {\n var e = [];\n e.push(this.finalTransform);\n\n for (var r, i = !0, a = this.comp; i;) {\n a.finalTransform ? (a.data.hasMask && e.splice(0, 0, a.finalTransform), a = a.comp) : i = !1;\n }\n\n var s,\n n = e.length;\n\n for (r = 0; r < n; r += 1) {\n s = e[r].mat.applyToPointArray(0, 0, 0), t = [t[0] - s[0], t[1] - s[1], 0];\n }\n\n return t;\n },\n mHelper: new Matrix()\n }, RenderableElement.prototype = {\n initRenderable: function initRenderable() {\n this.isInRange = !1, this.hidden = !1, this.isTransparent = !1, this.renderableComponents = [];\n },\n addRenderableComponent: function addRenderableComponent(t) {\n -1 === this.renderableComponents.indexOf(t) && this.renderableComponents.push(t);\n },\n removeRenderableComponent: function removeRenderableComponent(t) {\n -1 !== this.renderableComponents.indexOf(t) && this.renderableComponents.splice(this.renderableComponents.indexOf(t), 1);\n },\n prepareRenderableFrame: function prepareRenderableFrame(t) {\n this.checkLayerLimits(t);\n },\n checkTransparency: function checkTransparency() {\n this.finalTransform.mProp.o.v <= 0 ? !this.isTransparent && this.globalData.renderConfig.hideOnTransparent && (this.isTransparent = !0, this.hide()) : this.isTransparent && (this.isTransparent = !1, this.show());\n },\n checkLayerLimits: function checkLayerLimits(t) {\n this.data.ip - this.data.st <= t && this.data.op - this.data.st > t ? !0 !== this.isInRange && (this.globalData._mdf = !0, this._mdf = !0, this.isInRange = !0, this.show()) : !1 !== this.isInRange && (this.globalData._mdf = !0, this.isInRange = !1, this.hide());\n },\n renderRenderable: function renderRenderable() {\n var t,\n e = this.renderableComponents.length;\n\n for (t = 0; t < e; t += 1) {\n this.renderableComponents[t].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 return 5 === this.data.ty ? {\n w: this.data.textData.width,\n h: this.data.textData.height\n } : {\n w: this.data.width,\n h: this.data.height\n };\n }\n }, extendPrototype([RenderableElement, createProxyFunction({\n initElement: function initElement(t, e, r) {\n this.initFrame(), this.initBaseData(t, e, r), this.initTransform(t, e, r), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide();\n },\n hide: function hide() {\n this.hidden || this.isInRange && !this.isTransparent || ((this.baseElement || this.layerElement).style.display = \"none\", this.hidden = !0);\n },\n show: function show() {\n this.isInRange && !this.isTransparent && (this.data.hd || ((this.baseElement || this.layerElement).style.display = \"block\"), this.hidden = !1, this._isFirstFrame = !0);\n },\n renderFrame: function renderFrame() {\n this.data.hd || this.hidden || (this.renderTransform(), this.renderRenderable(), this.renderElement(), this.renderInnerContent(), this._isFirstFrame && (this._isFirstFrame = !1));\n },\n renderInnerContent: function renderInnerContent() {},\n prepareFrame: function prepareFrame(t) {\n this._mdf = !1, this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange), this.checkTransparency();\n },\n destroy: function destroy() {\n this.innerElem = null, this.destroyBaseElement();\n }\n })], RenderableDOMElement), SVGStyleData.prototype.reset = function () {\n this.d = \"\", this._mdf = !1;\n }, SVGShapeData.prototype.setAsAnimated = function () {\n this._isAnimated = !0;\n }, extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData), extendPrototype([DynamicPropertyContainer], SVGFillStyleData), SVGGradientFillStyleData.prototype.initGradientData = function (t, e, r) {\n this.o = PropertyFactory.getProp(t, e.o, 0, .01, this), this.s = PropertyFactory.getProp(t, e.s, 1, null, this), this.e = PropertyFactory.getProp(t, e.e, 1, null, this), this.h = PropertyFactory.getProp(t, e.h || {\n k: 0\n }, 0, .01, this), this.a = PropertyFactory.getProp(t, e.a || {\n k: 0\n }, 0, degToRads, this), this.g = new GradientProperty(t, e.g, this), this.style = r, this.stops = [], this.setGradientData(r.pElem, e), this.setGradientOpacity(e, r), this._isAnimated = !!this._isAnimated;\n }, SVGGradientFillStyleData.prototype.setGradientData = function (t, e) {\n var r = createElementID(),\n i = createNS(1 === e.t ? \"linearGradient\" : \"radialGradient\");\n i.setAttribute(\"id\", r), i.setAttribute(\"spreadMethod\", \"pad\"), i.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n var a,\n s,\n n,\n o = [];\n\n for (n = 4 * e.g.p, s = 0; s < n; s += 4) {\n a = createNS(\"stop\"), i.appendChild(a), o.push(a);\n }\n\n t.setAttribute(\"gf\" === e.ty ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + r + \")\"), this.gf = i, this.cst = o;\n }, SVGGradientFillStyleData.prototype.setGradientOpacity = function (t, e) {\n if (this.g._hasOpacity && !this.g._collapsable) {\n var r,\n i,\n a,\n s = createNS(\"mask\"),\n n = createNS(\"path\");\n s.appendChild(n);\n var o = createElementID(),\n h = createElementID();\n s.setAttribute(\"id\", h);\n var l = createNS(1 === t.t ? \"linearGradient\" : \"radialGradient\");\n l.setAttribute(\"id\", o), l.setAttribute(\"spreadMethod\", \"pad\"), l.setAttribute(\"gradientUnits\", \"userSpaceOnUse\"), a = t.g.k.k[0].s ? t.g.k.k[0].s.length : t.g.k.k.length;\n var p = this.stops;\n\n for (i = 4 * t.g.p; i < a; i += 2) {\n (r = createNS(\"stop\")).setAttribute(\"stop-color\", \"rgb(255,255,255)\"), l.appendChild(r), p.push(r);\n }\n\n n.setAttribute(\"gf\" === t.ty ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + o + \")\"), \"gs\" === t.ty && (n.setAttribute(\"stroke-linecap\", lineCapEnum[t.lc || 2]), n.setAttribute(\"stroke-linejoin\", lineJoinEnum[t.lj || 2]), 1 === t.lj && n.setAttribute(\"stroke-miterlimit\", t.ml)), this.of = l, this.ms = s, this.ost = p, this.maskId = h, e.msElem = n;\n }\n }, extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData), extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n\n var SVGElementsRenderer = function () {\n var t = new Matrix(),\n e = new Matrix();\n\n function r(t, e, r) {\n (r || e.transform.op._mdf) && e.transform.container.setAttribute(\"opacity\", e.transform.op.v), (r || e.transform.mProps._mdf) && e.transform.container.setAttribute(\"transform\", e.transform.mProps.v.to2dCSS());\n }\n\n function i(r, i, a) {\n var s,\n n,\n o,\n h,\n l,\n p,\n c,\n f,\n d,\n m,\n u,\n y = i.styles.length,\n g = i.lvl;\n\n for (p = 0; p < y; p += 1) {\n if (h = i.sh._mdf || a, i.styles[p].lvl < g) {\n for (f = e.reset(), m = g - i.styles[p].lvl, u = i.transformers.length - 1; !h && m > 0;) {\n h = i.transformers[u].mProps._mdf || h, m -= 1, u -= 1;\n }\n\n if (h) for (m = g - i.styles[p].lvl, u = i.transformers.length - 1; m > 0;) {\n d = i.transformers[u].mProps.v.props, f.transform(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7], d[8], d[9], d[10], d[11], d[12], d[13], d[14], d[15]), m -= 1, u -= 1;\n }\n } else f = t;\n\n if (n = (c = i.sh.paths)._length, h) {\n for (o = \"\", s = 0; s < n; s += 1) {\n (l = c.shapes[s]) && l._length && (o += buildShapeString(l, l._length, l.c, f));\n }\n\n i.caches[p] = o;\n } else o = i.caches[p];\n\n i.styles[p].d += !0 === r.hd ? \"\" : o, i.styles[p]._mdf = h || i.styles[p]._mdf;\n }\n }\n\n function a(t, e, r) {\n var i = e.style;\n (e.c._mdf || r) && i.pElem.setAttribute(\"fill\", \"rgb(\" + bmFloor(e.c.v[0]) + \",\" + bmFloor(e.c.v[1]) + \",\" + bmFloor(e.c.v[2]) + \")\"), (e.o._mdf || r) && i.pElem.setAttribute(\"fill-opacity\", e.o.v);\n }\n\n function s(t, e, r) {\n n(t, e, r), o(0, e, r);\n }\n\n function n(t, e, r) {\n var i,\n a,\n s,\n n,\n o,\n h = e.gf,\n l = e.g._hasOpacity,\n p = e.s.v,\n c = e.e.v;\n\n if (e.o._mdf || r) {\n var f = \"gf\" === t.ty ? \"fill-opacity\" : \"stroke-opacity\";\n e.style.pElem.setAttribute(f, e.o.v);\n }\n\n if (e.s._mdf || r) {\n var d = 1 === t.t ? \"x1\" : \"cx\",\n m = \"x1\" === d ? \"y1\" : \"cy\";\n h.setAttribute(d, p[0]), h.setAttribute(m, p[1]), l && !e.g._collapsable && (e.of.setAttribute(d, p[0]), e.of.setAttribute(m, p[1]));\n }\n\n if (e.g._cmdf || r) {\n i = e.cst;\n var u = e.g.c;\n\n for (s = i.length, a = 0; a < s; a += 1) {\n (n = i[a]).setAttribute(\"offset\", u[4 * a] + \"%\"), n.setAttribute(\"stop-color\", \"rgb(\" + u[4 * a + 1] + \",\" + u[4 * a + 2] + \",\" + u[4 * a + 3] + \")\");\n }\n }\n\n if (l && (e.g._omdf || r)) {\n var y = e.g.o;\n\n for (s = (i = e.g._collapsable ? e.cst : e.ost).length, a = 0; a < s; a += 1) {\n n = i[a], e.g._collapsable || n.setAttribute(\"offset\", y[2 * a] + \"%\"), n.setAttribute(\"stop-opacity\", y[2 * a + 1]);\n }\n }\n\n if (1 === t.t) (e.e._mdf || r) && (h.setAttribute(\"x2\", c[0]), h.setAttribute(\"y2\", c[1]), l && !e.g._collapsable && (e.of.setAttribute(\"x2\", c[0]), e.of.setAttribute(\"y2\", c[1])));else if ((e.s._mdf || e.e._mdf || r) && (o = Math.sqrt(Math.pow(p[0] - c[0], 2) + Math.pow(p[1] - c[1], 2)), h.setAttribute(\"r\", o), l && !e.g._collapsable && e.of.setAttribute(\"r\", o)), e.e._mdf || e.h._mdf || e.a._mdf || r) {\n o || (o = Math.sqrt(Math.pow(p[0] - c[0], 2) + Math.pow(p[1] - c[1], 2)));\n var g = Math.atan2(c[1] - p[1], c[0] - p[0]),\n v = e.h.v;\n v >= 1 ? v = .99 : v <= -1 && (v = -.99);\n\n var b = o * v,\n _ = Math.cos(g + e.a.v) * b + p[0],\n P = Math.sin(g + e.a.v) * b + p[1];\n\n h.setAttribute(\"fx\", _), h.setAttribute(\"fy\", P), l && !e.g._collapsable && (e.of.setAttribute(\"fx\", _), e.of.setAttribute(\"fy\", P));\n }\n }\n\n function o(t, e, r) {\n var i = e.style,\n a = e.d;\n a && (a._mdf || r) && a.dashStr && (i.pElem.setAttribute(\"stroke-dasharray\", a.dashStr), i.pElem.setAttribute(\"stroke-dashoffset\", a.dashoffset[0])), e.c && (e.c._mdf || r) && i.pElem.setAttribute(\"stroke\", \"rgb(\" + bmFloor(e.c.v[0]) + \",\" + bmFloor(e.c.v[1]) + \",\" + bmFloor(e.c.v[2]) + \")\"), (e.o._mdf || r) && i.pElem.setAttribute(\"stroke-opacity\", e.o.v), (e.w._mdf || r) && (i.pElem.setAttribute(\"stroke-width\", e.w.v), i.msElem && i.msElem.setAttribute(\"stroke-width\", e.w.v));\n }\n\n return {\n createRenderFunction: function createRenderFunction(t) {\n switch (t.ty) {\n case \"fl\":\n return a;\n\n case \"gf\":\n return n;\n\n case \"gs\":\n return s;\n\n case \"st\":\n return o;\n\n case \"sh\":\n case \"el\":\n case \"rc\":\n case \"sr\":\n return i;\n\n case \"tr\":\n return r;\n\n default:\n return null;\n }\n }\n };\n }();\n\n function ShapeTransformManager() {\n this.sequences = {}, this.sequenceList = [], this.transform_key_count = 0;\n }\n\n function CVShapeData(t, e, r, i) {\n this.styledShapes = [], this.tr = [0, 0, 0, 0, 0, 0];\n var a,\n s = 4;\n \"rc\" === e.ty ? s = 5 : \"el\" === e.ty ? s = 6 : \"sr\" === e.ty && (s = 7), this.sh = ShapePropertyFactory.getShapeProp(t, e, s, t);\n var n,\n o = r.length;\n\n for (a = 0; a < o; a += 1) {\n r[a].closed || (n = {\n transforms: i.addTransformSequence(r[a].transforms),\n trNodes: []\n }, this.styledShapes.push(n), r[a].elements.push(n));\n }\n }\n\n function BaseElement() {}\n\n function NullElement(t, e, r) {\n this.initFrame(), this.initBaseData(t, e, r), this.initFrame(), this.initTransform(t, e, r), this.initHierarchy();\n }\n\n function SVGBaseElement() {}\n\n function IShapeElement() {}\n\n function ITextElement() {}\n\n function ICompElement() {}\n\n function IImageElement(t, e, r) {\n this.assetData = e.getAssetData(t.refId), this.initElement(t, e, r), this.sourceRect = {\n top: 0,\n left: 0,\n width: this.assetData.w,\n height: this.assetData.h\n };\n }\n\n function ISolidElement(t, e, r) {\n this.initElement(t, e, r);\n }\n\n function AudioElement(t, e, r) {\n this.initFrame(), this.initRenderable(), this.assetData = e.getAssetData(t.refId), this.initBaseData(t, e, r), this._isPlaying = !1, this._canPlay = !1;\n var i = this.globalData.getAssetsPath(this.assetData);\n this.audio = this.globalData.audioController.createAudio(i), this._currentTime = 0, this.globalData.audioController.addAudio(this), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\n _placeholder: !0\n };\n }\n\n function FootageElement(t, e, r) {\n this.initFrame(), this.initRenderable(), this.assetData = e.getAssetData(t.refId), this.footageData = e.imageLoader.getAsset(this.assetData), this.initBaseData(t, e, r);\n }\n\n function SVGCompElement(t, e, r) {\n this.layers = t.layers, this.supports3d = !0, this.completeLayers = !1, this.pendingElements = [], this.elements = this.layers ? createSizedArray(this.layers.length) : [], this.initElement(t, e, r), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\n _placeholder: !0\n };\n }\n\n function SVGTextLottieElement(t, e, r) {\n this.textSpans = [], this.renderType = \"svg\", this.initElement(t, e, r);\n }\n\n function SVGShapeElement(t, e, r) {\n this.shapes = [], this.shapesData = t.shapes, this.stylesList = [], this.shapeModifiers = [], this.itemsData = [], this.processedElements = [], this.animatedContents = [], this.initElement(t, e, r), this.prevViewData = [];\n }\n\n function SVGTintFilter(t, e) {\n this.filterManager = e;\n var r = createNS(\"feColorMatrix\");\n\n if (r.setAttribute(\"type\", \"matrix\"), r.setAttribute(\"color-interpolation-filters\", \"linearRGB\"), r.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\"), r.setAttribute(\"result\", \"f1\"), t.appendChild(r), (r = createNS(\"feColorMatrix\")).setAttribute(\"type\", \"matrix\"), r.setAttribute(\"color-interpolation-filters\", \"sRGB\"), r.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"), r.setAttribute(\"result\", \"f2\"), t.appendChild(r), this.matrixFilter = r, 100 !== e.effectElements[2].p.v || e.effectElements[2].p.k) {\n var i,\n a = createNS(\"feMerge\");\n t.appendChild(a), (i = createNS(\"feMergeNode\")).setAttribute(\"in\", \"SourceGraphic\"), a.appendChild(i), (i = createNS(\"feMergeNode\")).setAttribute(\"in\", \"f2\"), a.appendChild(i);\n }\n }\n\n function SVGFillFilter(t, e) {\n this.filterManager = e;\n var r = createNS(\"feColorMatrix\");\n r.setAttribute(\"type\", \"matrix\"), r.setAttribute(\"color-interpolation-filters\", \"sRGB\"), r.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"), t.appendChild(r), this.matrixFilter = r;\n }\n\n function SVGGaussianBlurEffect(t, e) {\n t.setAttribute(\"x\", \"-100%\"), t.setAttribute(\"y\", \"-100%\"), t.setAttribute(\"width\", \"300%\"), t.setAttribute(\"height\", \"300%\"), this.filterManager = e;\n var r = createNS(\"feGaussianBlur\");\n t.appendChild(r), this.feGaussianBlur = r;\n }\n\n function SVGStrokeEffect(t, e) {\n this.initialized = !1, this.filterManager = e, this.elem = t, this.paths = [];\n }\n\n function SVGTritoneFilter(t, e) {\n this.filterManager = e;\n var r = createNS(\"feColorMatrix\");\n r.setAttribute(\"type\", \"matrix\"), r.setAttribute(\"color-interpolation-filters\", \"linearRGB\"), r.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\"), r.setAttribute(\"result\", \"f1\"), t.appendChild(r);\n var i = createNS(\"feComponentTransfer\");\n i.setAttribute(\"color-interpolation-filters\", \"sRGB\"), t.appendChild(i), this.matrixFilter = i;\n var a = createNS(\"feFuncR\");\n a.setAttribute(\"type\", \"table\"), i.appendChild(a), this.feFuncR = a;\n var s = createNS(\"feFuncG\");\n s.setAttribute(\"type\", \"table\"), i.appendChild(s), this.feFuncG = s;\n var n = createNS(\"feFuncB\");\n n.setAttribute(\"type\", \"table\"), i.appendChild(n), this.feFuncB = n;\n }\n\n function SVGProLevelsFilter(t, e) {\n this.filterManager = e;\n var r = this.filterManager.effectElements,\n i = createNS(\"feComponentTransfer\");\n (r[10].p.k || 0 !== r[10].p.v || r[11].p.k || 1 !== r[11].p.v || r[12].p.k || 1 !== r[12].p.v || r[13].p.k || 0 !== r[13].p.v || r[14].p.k || 1 !== r[14].p.v) && (this.feFuncR = this.createFeFunc(\"feFuncR\", i)), (r[17].p.k || 0 !== r[17].p.v || r[18].p.k || 1 !== r[18].p.v || r[19].p.k || 1 !== r[19].p.v || r[20].p.k || 0 !== r[20].p.v || r[21].p.k || 1 !== r[21].p.v) && (this.feFuncG = this.createFeFunc(\"feFuncG\", i)), (r[24].p.k || 0 !== r[24].p.v || r[25].p.k || 1 !== r[25].p.v || r[26].p.k || 1 !== r[26].p.v || r[27].p.k || 0 !== r[27].p.v || r[28].p.k || 1 !== r[28].p.v) && (this.feFuncB = this.createFeFunc(\"feFuncB\", i)), (r[31].p.k || 0 !== r[31].p.v || r[32].p.k || 1 !== r[32].p.v || r[33].p.k || 1 !== r[33].p.v || r[34].p.k || 0 !== r[34].p.v || r[35].p.k || 1 !== r[35].p.v) && (this.feFuncA = this.createFeFunc(\"feFuncA\", i)), (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) && (i.setAttribute(\"color-interpolation-filters\", \"sRGB\"), t.appendChild(i), i = createNS(\"feComponentTransfer\")), (r[3].p.k || 0 !== r[3].p.v || r[4].p.k || 1 !== r[4].p.v || r[5].p.k || 1 !== r[5].p.v || r[6].p.k || 0 !== r[6].p.v || r[7].p.k || 1 !== r[7].p.v) && (i.setAttribute(\"color-interpolation-filters\", \"sRGB\"), t.appendChild(i), this.feFuncRComposed = this.createFeFunc(\"feFuncR\", i), this.feFuncGComposed = this.createFeFunc(\"feFuncG\", i), this.feFuncBComposed = this.createFeFunc(\"feFuncB\", i));\n }\n\n function SVGDropShadowEffect(t, e) {\n var r = e.container.globalData.renderConfig.filterSize;\n t.setAttribute(\"x\", r.x), t.setAttribute(\"y\", r.y), t.setAttribute(\"width\", r.width), t.setAttribute(\"height\", r.height), this.filterManager = e;\n var i = createNS(\"feGaussianBlur\");\n i.setAttribute(\"in\", \"SourceAlpha\"), i.setAttribute(\"result\", \"drop_shadow_1\"), i.setAttribute(\"stdDeviation\", \"0\"), this.feGaussianBlur = i, t.appendChild(i);\n var a = createNS(\"feOffset\");\n a.setAttribute(\"dx\", \"25\"), a.setAttribute(\"dy\", \"0\"), a.setAttribute(\"in\", \"drop_shadow_1\"), a.setAttribute(\"result\", \"drop_shadow_2\"), this.feOffset = a, t.appendChild(a);\n var s = createNS(\"feFlood\");\n s.setAttribute(\"flood-color\", \"#00ff00\"), s.setAttribute(\"flood-opacity\", \"1\"), s.setAttribute(\"result\", \"drop_shadow_3\"), this.feFlood = s, t.appendChild(s);\n var n = createNS(\"feComposite\");\n n.setAttribute(\"in\", \"drop_shadow_3\"), n.setAttribute(\"in2\", \"drop_shadow_2\"), n.setAttribute(\"operator\", \"in\"), n.setAttribute(\"result\", \"drop_shadow_4\"), t.appendChild(n);\n var o,\n h = createNS(\"feMerge\");\n t.appendChild(h), o = createNS(\"feMergeNode\"), h.appendChild(o), (o = createNS(\"feMergeNode\")).setAttribute(\"in\", \"SourceGraphic\"), this.feMergeNode = o, this.feMerge = h, this.originalNodeAdded = !1, h.appendChild(o);\n }\n\n ShapeTransformManager.prototype = {\n addTransformSequence: function addTransformSequence(t) {\n var e,\n r = t.length,\n i = \"_\";\n\n for (e = 0; e < r; e += 1) {\n i += t[e].transform.key + \"_\";\n }\n\n var a = this.sequences[i];\n return a || (a = {\n transforms: [].concat(t),\n finalTransform: new Matrix(),\n _mdf: !1\n }, this.sequences[i] = a, this.sequenceList.push(a)), a;\n },\n processSequence: function processSequence(t, e) {\n for (var r, i = 0, a = t.transforms.length, s = e; i < a && !e;) {\n if (t.transforms[i].transform.mProps._mdf) {\n s = !0;\n break;\n }\n\n i += 1;\n }\n\n if (s) for (t.finalTransform.reset(), i = a - 1; i >= 0; i -= 1) {\n r = t.transforms[i].transform.mProps.v.props, t.finalTransform.transform(r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8], r[9], r[10], r[11], r[12], r[13], r[14], r[15]);\n }\n t._mdf = s;\n },\n processSequences: function processSequences(t) {\n var e,\n r = this.sequenceList.length;\n\n for (e = 0; e < r; e += 1) {\n this.processSequence(this.sequenceList[e], t);\n }\n },\n getNewKey: function getNewKey() {\n return this.transform_key_count += 1, \"_\" + this.transform_key_count;\n }\n }, CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated, BaseElement.prototype = {\n checkMasks: function checkMasks() {\n if (!this.data.hasMask) return !1;\n\n for (var t = 0, e = this.data.masksProperties.length; t < e;) {\n if (\"n\" !== this.data.masksProperties[t].mode && !1 !== this.data.masksProperties[t].cl) return !0;\n t += 1;\n }\n\n return !1;\n },\n initExpressions: function initExpressions() {\n this.layerInterface = LayerExpressionInterface(this), this.data.hasMask && this.maskManager && this.layerInterface.registerMaskInterface(this.maskManager);\n var t = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);\n this.layerInterface.registerEffectsInterface(t), 0 === this.data.ty || this.data.xt ? this.compInterface = CompExpressionInterface(this) : 4 === this.data.ty ? (this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface), this.layerInterface.content = this.layerInterface.shapeInterface) : 5 === this.data.ty && (this.layerInterface.textInterface = TextExpressionInterface(this), this.layerInterface.text = this.layerInterface.textInterface);\n },\n setBlendMode: function setBlendMode() {\n var t = getBlendMode(this.data.bm);\n (this.baseElement || this.layerElement).style[\"mix-blend-mode\"] = t;\n },\n initBaseData: function initBaseData(t, e, r) {\n this.globalData = e, this.comp = r, this.data = t, this.layerId = createElementID(), this.data.sr || (this.data.sr = 1), this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);\n },\n getType: function getType() {\n return this.type;\n },\n sourceRectAtTime: function sourceRectAtTime() {}\n }, NullElement.prototype.prepareFrame = function (t) {\n this.prepareProperties(t, !0);\n }, NullElement.prototype.renderFrame = function () {}, NullElement.prototype.getBaseElement = function () {\n return null;\n }, NullElement.prototype.destroy = function () {}, NullElement.prototype.sourceRectAtTime = function () {}, NullElement.prototype.hide = function () {}, extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement), SVGBaseElement.prototype = {\n initRendererElement: function initRendererElement() {\n this.layerElement = createNS(\"g\");\n },\n createContainerElements: function createContainerElements() {\n this.matteElement = createNS(\"g\"), this.transformedElement = this.layerElement, this.maskedElement = this.layerElement, this._sizeChanged = !1;\n var t,\n e,\n r,\n i = null;\n\n if (this.data.td) {\n if (3 == this.data.td || 1 == this.data.td) {\n var a = createNS(\"mask\");\n a.setAttribute(\"id\", this.layerId), a.setAttribute(\"mask-type\", 3 == this.data.td ? \"luminance\" : \"alpha\"), a.appendChild(this.layerElement), i = a, this.globalData.defs.appendChild(a), featureSupport.maskType || 1 != this.data.td || (a.setAttribute(\"mask-type\", \"luminance\"), t = createElementID(), e = filtersFactory.createFilter(t), this.globalData.defs.appendChild(e), e.appendChild(filtersFactory.createAlphaToLuminanceFilter()), (r = createNS(\"g\")).appendChild(this.layerElement), i = r, a.appendChild(r), r.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + t + \")\"));\n } else if (2 == this.data.td) {\n var s = createNS(\"mask\");\n s.setAttribute(\"id\", this.layerId), s.setAttribute(\"mask-type\", \"alpha\");\n var n = createNS(\"g\");\n s.appendChild(n), t = createElementID(), e = filtersFactory.createFilter(t);\n var o = createNS(\"feComponentTransfer\");\n o.setAttribute(\"in\", \"SourceGraphic\"), e.appendChild(o);\n var h = createNS(\"feFuncA\");\n h.setAttribute(\"type\", \"table\"), h.setAttribute(\"tableValues\", \"1.0 0.0\"), o.appendChild(h), this.globalData.defs.appendChild(e);\n var l = createNS(\"rect\");\n l.setAttribute(\"width\", this.comp.data.w), l.setAttribute(\"height\", this.comp.data.h), l.setAttribute(\"x\", \"0\"), l.setAttribute(\"y\", \"0\"), l.setAttribute(\"fill\", \"#ffffff\"), l.setAttribute(\"opacity\", \"0\"), n.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + t + \")\"), n.appendChild(l), n.appendChild(this.layerElement), i = n, featureSupport.maskType || (s.setAttribute(\"mask-type\", \"luminance\"), e.appendChild(filtersFactory.createAlphaToLuminanceFilter()), r = createNS(\"g\"), n.appendChild(l), r.appendChild(this.layerElement), i = r, n.appendChild(r)), this.globalData.defs.appendChild(s);\n }\n } else this.data.tt ? (this.matteElement.appendChild(this.layerElement), i = this.matteElement, this.baseElement = this.matteElement) : this.baseElement = this.layerElement;\n\n if (this.data.ln && this.layerElement.setAttribute(\"id\", this.data.ln), this.data.cl && this.layerElement.setAttribute(\"class\", this.data.cl), 0 === this.data.ty && !this.data.hd) {\n var p = createNS(\"clipPath\"),\n c = createNS(\"path\");\n c.setAttribute(\"d\", \"M0,0 L\" + this.data.w + \",0 L\" + this.data.w + \",\" + this.data.h + \" L0,\" + this.data.h + \"z\");\n var f = createElementID();\n\n if (p.setAttribute(\"id\", f), p.appendChild(c), this.globalData.defs.appendChild(p), this.checkMasks()) {\n var d = createNS(\"g\");\n d.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + f + \")\"), d.appendChild(this.layerElement), this.transformedElement = d, i ? i.appendChild(this.transformedElement) : this.baseElement = this.transformedElement;\n } else this.layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + f + \")\");\n }\n\n 0 !== this.data.bm && this.setBlendMode();\n },\n renderElement: function renderElement() {\n this.finalTransform._matMdf && this.transformedElement.setAttribute(\"transform\", this.finalTransform.mat.to2dCSS()), this.finalTransform._opMdf && this.transformedElement.setAttribute(\"opacity\", this.finalTransform.mProp.o.v);\n },\n destroyBaseElement: function destroyBaseElement() {\n this.layerElement = null, this.matteElement = null, this.maskManager.destroy();\n },\n getBaseElement: function getBaseElement() {\n return this.data.hd ? null : this.baseElement;\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData), this.renderableEffectsManager = new SVGEffects(this);\n },\n setMatte: function setMatte(t) {\n this.matteElement && this.matteElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + t + \")\");\n }\n }, IShapeElement.prototype = {\n addShapeToModifiers: function addShapeToModifiers(t) {\n var e,\n r = this.shapeModifiers.length;\n\n for (e = 0; e < r; e += 1) {\n this.shapeModifiers[e].addShape(t);\n }\n },\n isShapeInAnimatedModifiers: function isShapeInAnimatedModifiers(t) {\n for (var e = this.shapeModifiers.length; 0 < e;) {\n if (this.shapeModifiers[0].isAnimatedWithShape(t)) return !0;\n }\n\n return !1;\n },\n renderModifiers: function renderModifiers() {\n if (this.shapeModifiers.length) {\n var t,\n e = this.shapes.length;\n\n for (t = 0; t < e; t += 1) {\n this.shapes[t].sh.reset();\n }\n\n for (t = (e = this.shapeModifiers.length) - 1; t >= 0 && !this.shapeModifiers[t].processShapes(this._isFirstFrame); t -= 1) {\n ;\n }\n }\n },\n searchProcessedElement: function searchProcessedElement(t) {\n for (var e = this.processedElements, r = 0, i = e.length; r < i;) {\n if (e[r].elem === t) return e[r].pos;\n r += 1;\n }\n\n return 0;\n },\n addProcessedElement: function addProcessedElement(t, e) {\n for (var r = this.processedElements, i = r.length; i;) {\n if (r[i -= 1].elem === t) return void (r[i].pos = e);\n }\n\n r.push(new ProcessedElement(t, e));\n },\n prepareFrame: function prepareFrame(t) {\n this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange);\n }\n }, ITextElement.prototype.initElement = function (t, e, r) {\n this.lettersChangedFlag = !0, this.initFrame(), this.initBaseData(t, e, r), this.textProperty = new TextProperty(this, t.t, this.dynamicProperties), this.textAnimator = new TextAnimatorProperty(t.t, this.renderType, this), this.initTransform(t, e, r), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide(), this.textAnimator.searchProperties(this.dynamicProperties);\n }, ITextElement.prototype.prepareFrame = function (t) {\n this._mdf = !1, this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange), (this.textProperty._mdf || this.textProperty._isFirstFrame) && (this.buildNewText(), this.textProperty._isFirstFrame = !1, this.textProperty._mdf = !1);\n }, ITextElement.prototype.createPathShape = function (t, e) {\n var r,\n i,\n a = e.length,\n s = \"\";\n\n for (r = 0; r < a; r += 1) {\n i = e[r].ks.k, s += buildShapeString(i, i.i.length, !0, t);\n }\n\n return s;\n }, ITextElement.prototype.updateDocumentData = function (t, e) {\n this.textProperty.updateDocumentData(t, e);\n }, ITextElement.prototype.canResizeFont = function (t) {\n this.textProperty.canResizeFont(t);\n }, ITextElement.prototype.setMinimumFontSize = function (t) {\n this.textProperty.setMinimumFontSize(t);\n }, ITextElement.prototype.applyTextPropertiesToMatrix = function (t, e, r, i, a) {\n switch (t.ps && e.translate(t.ps[0], t.ps[1] + t.ascent, 0), e.translate(0, -t.ls, 0), t.j) {\n case 1:\n e.translate(t.justifyOffset + (t.boxWidth - t.lineWidths[r]), 0, 0);\n break;\n\n case 2:\n e.translate(t.justifyOffset + (t.boxWidth - t.lineWidths[r]) / 2, 0, 0);\n }\n\n e.translate(i, a, 0);\n }, ITextElement.prototype.buildColor = function (t) {\n return \"rgb(\" + Math.round(255 * t[0]) + \",\" + Math.round(255 * t[1]) + \",\" + Math.round(255 * t[2]) + \")\";\n }, ITextElement.prototype.emptyProp = new LetterProps(), ITextElement.prototype.destroy = function () {}, extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement), ICompElement.prototype.initElement = function (t, e, r) {\n this.initFrame(), this.initBaseData(t, e, r), this.initTransform(t, e, r), this.initRenderable(), this.initHierarchy(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), !this.data.xt && e.progressiveLoad || this.buildAllItems(), this.hide();\n }, ICompElement.prototype.prepareFrame = function (t) {\n if (this._mdf = !1, this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange), this.isInRange || this.data.xt) {\n if (this.tm._placeholder) this.renderedFrame = t / this.data.sr;else {\n var e = this.tm.v;\n e === this.data.op && (e = this.data.op - 1), this.renderedFrame = e;\n }\n var r,\n i = this.elements.length;\n\n for (this.completeLayers || this.checkLayers(this.renderedFrame), r = i - 1; r >= 0; r -= 1) {\n (this.completeLayers || this.elements[r]) && (this.elements[r].prepareFrame(this.renderedFrame - this.layers[r].st), this.elements[r]._mdf && (this._mdf = !0));\n }\n }\n }, ICompElement.prototype.renderInnerContent = function () {\n var t,\n e = this.layers.length;\n\n for (t = 0; t < e; t += 1) {\n (this.completeLayers || this.elements[t]) && this.elements[t].renderFrame();\n }\n }, ICompElement.prototype.setElements = function (t) {\n this.elements = t;\n }, ICompElement.prototype.getElements = function () {\n return this.elements;\n }, ICompElement.prototype.destroyElements = function () {\n var t,\n e = this.layers.length;\n\n for (t = 0; t < e; t += 1) {\n this.elements[t] && this.elements[t].destroy();\n }\n }, ICompElement.prototype.destroy = function () {\n this.destroyElements(), this.destroyBaseElement();\n }, extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement), IImageElement.prototype.createContent = function () {\n var t = this.globalData.getAssetsPath(this.assetData);\n this.innerElem = createNS(\"image\"), this.innerElem.setAttribute(\"width\", this.assetData.w + \"px\"), this.innerElem.setAttribute(\"height\", this.assetData.h + \"px\"), this.innerElem.setAttribute(\"preserveAspectRatio\", this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio), this.innerElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", t), this.layerElement.appendChild(this.innerElem);\n }, IImageElement.prototype.sourceRectAtTime = function () {\n return this.sourceRect;\n }, extendPrototype([IImageElement], ISolidElement), ISolidElement.prototype.createContent = function () {\n var t = createNS(\"rect\");\n t.setAttribute(\"width\", this.data.sw), t.setAttribute(\"height\", this.data.sh), t.setAttribute(\"fill\", this.data.sc), this.layerElement.appendChild(t);\n }, AudioElement.prototype.prepareFrame = function (t) {\n if (this.prepareRenderableFrame(t, !0), this.prepareProperties(t, !0), this.tm._placeholder) this._currentTime = t / this.data.sr;else {\n var e = this.tm.v;\n this._currentTime = e;\n }\n }, extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement), AudioElement.prototype.renderFrame = function () {\n this.isInRange && this._canPlay && (this._isPlaying ? (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > .1) && this.audio.seek(this._currentTime / this.globalData.frameRate) : (this.audio.play(), this.audio.seek(this._currentTime / this.globalData.frameRate), this._isPlaying = !0));\n }, AudioElement.prototype.show = function () {}, AudioElement.prototype.hide = function () {\n this.audio.pause(), this._isPlaying = !1;\n }, AudioElement.prototype.pause = function () {\n this.audio.pause(), this._isPlaying = !1, this._canPlay = !1;\n }, AudioElement.prototype.resume = function () {\n this._canPlay = !0;\n }, AudioElement.prototype.setRate = function (t) {\n this.audio.rate(t);\n }, AudioElement.prototype.volume = function (t) {\n this.audio.volume(t);\n }, AudioElement.prototype.getBaseElement = function () {\n return null;\n }, AudioElement.prototype.destroy = function () {}, AudioElement.prototype.sourceRectAtTime = function () {}, AudioElement.prototype.initExpressions = function () {}, FootageElement.prototype.prepareFrame = function () {}, extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement), FootageElement.prototype.getBaseElement = function () {\n return null;\n }, FootageElement.prototype.renderFrame = function () {}, FootageElement.prototype.destroy = function () {}, FootageElement.prototype.initExpressions = function () {\n this.layerInterface = FootageInterface(this);\n }, FootageElement.prototype.getFootageData = function () {\n return this.footageData;\n }, extendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement), extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement), SVGTextLottieElement.prototype.createContent = function () {\n this.data.singleShape && !this.globalData.fontManager.chars && (this.textContainer = createNS(\"text\"));\n }, SVGTextLottieElement.prototype.buildTextContents = function (t) {\n for (var e = 0, r = t.length, i = [], a = \"\"; e < r;) {\n t[e] === String.fromCharCode(13) || t[e] === String.fromCharCode(3) ? (i.push(a), a = \"\") : a += t[e], e += 1;\n }\n\n return i.push(a), i;\n }, SVGTextLottieElement.prototype.buildNewText = function () {\n var t,\n e,\n r = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(r ? r.l.length : 0), r.fc ? this.layerElement.setAttribute(\"fill\", this.buildColor(r.fc)) : this.layerElement.setAttribute(\"fill\", \"rgba(0,0,0,0)\"), r.sc && (this.layerElement.setAttribute(\"stroke\", this.buildColor(r.sc)), this.layerElement.setAttribute(\"stroke-width\", r.sw)), this.layerElement.setAttribute(\"font-size\", r.finalSize);\n var i = this.globalData.fontManager.getFontByName(r.f);\n if (i.fClass) this.layerElement.setAttribute(\"class\", i.fClass);else {\n this.layerElement.setAttribute(\"font-family\", i.fFamily);\n var a = r.fWeight,\n s = r.fStyle;\n this.layerElement.setAttribute(\"font-style\", s), this.layerElement.setAttribute(\"font-weight\", a);\n }\n this.layerElement.setAttribute(\"aria-label\", r.t);\n var n,\n o = r.l || [],\n h = !!this.globalData.fontManager.chars;\n e = o.length;\n var l,\n p = this.mHelper,\n c = \"\",\n f = this.data.singleShape,\n d = 0,\n m = 0,\n u = !0,\n y = .001 * r.tr * r.finalSize;\n\n if (!f || h || r.sz) {\n var g,\n v,\n b = this.textSpans.length;\n\n for (t = 0; t < e; t += 1) {\n h && f && 0 !== t || (n = b > t ? this.textSpans[t] : createNS(h ? \"path\" : \"text\"), b <= t && (n.setAttribute(\"stroke-linecap\", \"butt\"), n.setAttribute(\"stroke-linejoin\", \"round\"), n.setAttribute(\"stroke-miterlimit\", \"4\"), this.textSpans[t] = n, this.layerElement.appendChild(n)), n.style.display = \"inherit\"), p.reset(), p.scale(r.finalSize / 100, r.finalSize / 100), f && (o[t].n && (d = -y, m += r.yOffset, m += u ? 1 : 0, u = !1), this.applyTextPropertiesToMatrix(r, p, o[t].line, d, m), d += o[t].l || 0, d += y), h ? (l = (g = (v = this.globalData.fontManager.getCharData(r.finalText[t], i.fStyle, this.globalData.fontManager.getFontByName(r.f).fFamily)) && v.data || {}).shapes ? g.shapes[0].it : [], f ? c += this.createPathShape(p, l) : n.setAttribute(\"d\", this.createPathShape(p, l))) : (f && n.setAttribute(\"transform\", \"translate(\" + p.props[12] + \",\" + p.props[13] + \")\"), n.textContent = o[t].val, n.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\"));\n }\n\n f && n && n.setAttribute(\"d\", c);\n } else {\n var _ = this.textContainer,\n P = \"start\";\n\n switch (r.j) {\n case 1:\n P = \"end\";\n break;\n\n case 2:\n P = \"middle\";\n break;\n\n default:\n P = \"start\";\n }\n\n _.setAttribute(\"text-anchor\", P), _.setAttribute(\"letter-spacing\", y);\n var E = this.buildTextContents(r.finalText);\n\n for (e = E.length, m = r.ps ? r.ps[1] + r.ascent : 0, t = 0; t < e; t += 1) {\n (n = this.textSpans[t] || createNS(\"tspan\")).textContent = E[t], n.setAttribute(\"x\", 0), n.setAttribute(\"y\", m), n.style.display = \"inherit\", _.appendChild(n), this.textSpans[t] = n, m += r.finalLineHeight;\n }\n\n this.layerElement.appendChild(_);\n }\n\n for (; t < this.textSpans.length;) {\n this.textSpans[t].style.display = \"none\", t += 1;\n }\n\n this._sizeChanged = !0;\n }, SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n if (this.prepareFrame(this.comp.renderedFrame - this.data.st), this.renderInnerContent(), this._sizeChanged) {\n this._sizeChanged = !1;\n var t = this.layerElement.getBBox();\n this.bbox = {\n top: t.y,\n left: t.x,\n width: t.width,\n height: t.height\n };\n }\n\n return this.bbox;\n }, SVGTextLottieElement.prototype.renderInnerContent = function () {\n if (!this.data.singleShape && (this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag), this.lettersChangedFlag || this.textAnimator.lettersChangedFlag)) {\n var t, e;\n this._sizeChanged = !0;\n var r,\n i,\n a = this.textAnimator.renderedLetters,\n s = this.textProperty.currentData.l;\n\n for (e = s.length, t = 0; t < e; t += 1) {\n s[t].n || (r = a[t], i = this.textSpans[t], r._mdf.m && i.setAttribute(\"transform\", r.m), r._mdf.o && i.setAttribute(\"opacity\", r.o), r._mdf.sw && i.setAttribute(\"stroke-width\", r.sw), r._mdf.sc && i.setAttribute(\"stroke\", r.sc), r._mdf.fc && i.setAttribute(\"fill\", r.fc));\n }\n }\n }, extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement), SVGShapeElement.prototype.initSecondaryElement = function () {}, SVGShapeElement.prototype.identityMatrix = new Matrix(), SVGShapeElement.prototype.buildExpressionInterface = function () {}, SVGShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0), this.filterUniqueShapes();\n }, SVGShapeElement.prototype.filterUniqueShapes = function () {\n var t,\n e,\n r,\n i,\n a = this.shapes.length,\n s = this.stylesList.length,\n n = [],\n o = !1;\n\n for (r = 0; r < s; r += 1) {\n for (i = this.stylesList[r], o = !1, n.length = 0, t = 0; t < a; t += 1) {\n -1 !== (e = this.shapes[t]).styles.indexOf(i) && (n.push(e), o = e._isAnimated || o);\n }\n\n n.length > 1 && o && this.setShapesAsAnimated(n);\n }\n }, SVGShapeElement.prototype.setShapesAsAnimated = function (t) {\n var e,\n r = t.length;\n\n for (e = 0; e < r; e += 1) {\n t[e].setAsAnimated();\n }\n }, SVGShapeElement.prototype.createStyleElement = function (t, e) {\n var r,\n i = new SVGStyleData(t, e),\n a = i.pElem;\n return \"st\" === t.ty ? r = new SVGStrokeStyleData(this, t, i) : \"fl\" === t.ty ? r = new SVGFillStyleData(this, t, i) : \"gf\" !== t.ty && \"gs\" !== t.ty || (r = new (\"gf\" === t.ty ? SVGGradientFillStyleData : SVGGradientStrokeStyleData)(this, t, i), this.globalData.defs.appendChild(r.gf), r.maskId && (this.globalData.defs.appendChild(r.ms), this.globalData.defs.appendChild(r.of), a.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + r.maskId + \")\"))), \"st\" !== t.ty && \"gs\" !== t.ty || (a.setAttribute(\"stroke-linecap\", lineCapEnum[t.lc || 2]), a.setAttribute(\"stroke-linejoin\", lineJoinEnum[t.lj || 2]), a.setAttribute(\"fill-opacity\", \"0\"), 1 === t.lj && a.setAttribute(\"stroke-miterlimit\", t.ml)), 2 === t.r && a.setAttribute(\"fill-rule\", \"evenodd\"), t.ln && a.setAttribute(\"id\", t.ln), t.cl && a.setAttribute(\"class\", t.cl), t.bm && (a.style[\"mix-blend-mode\"] = getBlendMode(t.bm)), this.stylesList.push(i), this.addToAnimatedContents(t, r), r;\n }, SVGShapeElement.prototype.createGroupElement = function (t) {\n var e = new ShapeGroupData();\n return t.ln && e.gr.setAttribute(\"id\", t.ln), t.cl && e.gr.setAttribute(\"class\", t.cl), t.bm && (e.gr.style[\"mix-blend-mode\"] = getBlendMode(t.bm)), e;\n }, SVGShapeElement.prototype.createTransformElement = function (t, e) {\n var r = TransformPropertyFactory.getTransformProperty(this, t, this),\n i = new SVGTransformData(r, r.o, e);\n return this.addToAnimatedContents(t, i), i;\n }, SVGShapeElement.prototype.createShapeElement = function (t, e, r) {\n var i = 4;\n \"rc\" === t.ty ? i = 5 : \"el\" === t.ty ? i = 6 : \"sr\" === t.ty && (i = 7);\n var a = new SVGShapeData(e, r, ShapePropertyFactory.getShapeProp(this, t, i, this));\n return this.shapes.push(a), this.addShapeToModifiers(a), this.addToAnimatedContents(t, a), a;\n }, SVGShapeElement.prototype.addToAnimatedContents = function (t, e) {\n for (var r = 0, i = this.animatedContents.length; r < i;) {\n if (this.animatedContents[r].element === e) return;\n r += 1;\n }\n\n this.animatedContents.push({\n fn: SVGElementsRenderer.createRenderFunction(t),\n element: e,\n data: t\n });\n }, SVGShapeElement.prototype.setElementStyles = function (t) {\n var e,\n r = t.styles,\n i = this.stylesList.length;\n\n for (e = 0; e < i; e += 1) {\n this.stylesList[e].closed || r.push(this.stylesList[e]);\n }\n }, SVGShapeElement.prototype.reloadShapes = function () {\n var t;\n this._isFirstFrame = !0;\n var e = this.itemsData.length;\n\n for (t = 0; t < e; t += 1) {\n this.prevViewData[t] = this.itemsData[t];\n }\n\n for (this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0), this.filterUniqueShapes(), e = this.dynamicProperties.length, t = 0; t < e; t += 1) {\n this.dynamicProperties[t].getValue();\n }\n\n this.renderModifiers();\n }, SVGShapeElement.prototype.searchShapes = function (t, e, r, i, a, s, n) {\n var o,\n h,\n l,\n p,\n c,\n f,\n d = [].concat(s),\n m = t.length - 1,\n u = [],\n y = [];\n\n for (o = m; o >= 0; o -= 1) {\n if ((f = this.searchProcessedElement(t[o])) ? e[o] = r[f - 1] : t[o]._render = n, \"fl\" === t[o].ty || \"st\" === t[o].ty || \"gf\" === t[o].ty || \"gs\" === t[o].ty) f ? e[o].style.closed = !1 : e[o] = this.createStyleElement(t[o], a), t[o]._render && e[o].style.pElem.parentNode !== i && i.appendChild(e[o].style.pElem), u.push(e[o].style);else if (\"gr\" === t[o].ty) {\n if (f) for (l = e[o].it.length, h = 0; h < l; h += 1) {\n e[o].prevViewData[h] = e[o].it[h];\n } else e[o] = this.createGroupElement(t[o]);\n this.searchShapes(t[o].it, e[o].it, e[o].prevViewData, e[o].gr, a + 1, d, n), t[o]._render && e[o].gr.parentNode !== i && i.appendChild(e[o].gr);\n } else \"tr\" === t[o].ty ? (f || (e[o] = this.createTransformElement(t[o], i)), p = e[o].transform, d.push(p)) : \"sh\" === t[o].ty || \"rc\" === t[o].ty || \"el\" === t[o].ty || \"sr\" === t[o].ty ? (f || (e[o] = this.createShapeElement(t[o], d, a)), this.setElementStyles(e[o])) : \"tm\" === t[o].ty || \"rd\" === t[o].ty || \"ms\" === t[o].ty || \"pb\" === t[o].ty ? (f ? (c = e[o]).closed = !1 : ((c = ShapeModifiers.getModifier(t[o].ty)).init(this, t[o]), e[o] = c, this.shapeModifiers.push(c)), y.push(c)) : \"rp\" === t[o].ty && (f ? (c = e[o]).closed = !0 : (c = ShapeModifiers.getModifier(t[o].ty), e[o] = c, c.init(this, t, o, e), this.shapeModifiers.push(c), n = !1), y.push(c));\n this.addProcessedElement(t[o], o + 1);\n }\n\n for (m = u.length, o = 0; o < m; o += 1) {\n u[o].closed = !0;\n }\n\n for (m = y.length, o = 0; o < m; o += 1) {\n y[o].closed = !0;\n }\n }, SVGShapeElement.prototype.renderInnerContent = function () {\n var t;\n this.renderModifiers();\n var e = this.stylesList.length;\n\n for (t = 0; t < e; t += 1) {\n this.stylesList[t].reset();\n }\n\n for (this.renderShape(), t = 0; t < e; t += 1) {\n (this.stylesList[t]._mdf || this._isFirstFrame) && (this.stylesList[t].msElem && (this.stylesList[t].msElem.setAttribute(\"d\", this.stylesList[t].d), this.stylesList[t].d = \"M0 0\" + this.stylesList[t].d), this.stylesList[t].pElem.setAttribute(\"d\", this.stylesList[t].d || \"M0 0\"));\n }\n }, SVGShapeElement.prototype.renderShape = function () {\n var t,\n e,\n r = this.animatedContents.length;\n\n for (t = 0; t < r; t += 1) {\n e = this.animatedContents[t], (this._isFirstFrame || e.element._isAnimated) && !0 !== e.data && e.fn(e.data, e.element, this._isFirstFrame);\n }\n }, SVGShapeElement.prototype.destroy = function () {\n this.destroyBaseElement(), this.shapesData = null, this.itemsData = null;\n }, SVGTintFilter.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n var e = this.filterManager.effectElements[0].p.v,\n r = this.filterManager.effectElements[1].p.v,\n i = this.filterManager.effectElements[2].p.v / 100;\n this.matrixFilter.setAttribute(\"values\", r[0] - e[0] + \" 0 0 0 \" + e[0] + \" \" + (r[1] - e[1]) + \" 0 0 0 \" + e[1] + \" \" + (r[2] - e[2]) + \" 0 0 0 \" + e[2] + \" 0 0 0 \" + i + \" 0\");\n }\n }, SVGFillFilter.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n var e = this.filterManager.effectElements[2].p.v,\n r = this.filterManager.effectElements[6].p.v;\n this.matrixFilter.setAttribute(\"values\", \"0 0 0 0 \" + e[0] + \" 0 0 0 0 \" + e[1] + \" 0 0 0 0 \" + e[2] + \" 0 0 0 \" + r + \" 0\");\n }\n }, SVGGaussianBlurEffect.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n var e = .3 * this.filterManager.effectElements[0].p.v,\n r = this.filterManager.effectElements[1].p.v,\n i = 3 == r ? 0 : e,\n a = 2 == r ? 0 : e;\n this.feGaussianBlur.setAttribute(\"stdDeviation\", i + \" \" + a);\n var s = 1 == this.filterManager.effectElements[2].p.v ? \"wrap\" : \"duplicate\";\n this.feGaussianBlur.setAttribute(\"edgeMode\", s);\n }\n }, SVGStrokeEffect.prototype.initialize = function () {\n var t,\n e,\n r,\n i,\n a = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n\n for (1 === this.filterManager.effectElements[1].p.v ? (i = this.elem.maskManager.masksProperties.length, r = 0) : i = 1 + (r = this.filterManager.effectElements[0].p.v - 1), (e = createNS(\"g\")).setAttribute(\"fill\", \"none\"), e.setAttribute(\"stroke-linecap\", \"round\"), e.setAttribute(\"stroke-dashoffset\", 1); r < i; r += 1) {\n t = createNS(\"path\"), e.appendChild(t), this.paths.push({\n p: t,\n m: r\n });\n }\n\n if (3 === this.filterManager.effectElements[10].p.v) {\n var s = createNS(\"mask\"),\n n = createElementID();\n s.setAttribute(\"id\", n), s.setAttribute(\"mask-type\", \"alpha\"), s.appendChild(e), this.elem.globalData.defs.appendChild(s);\n var o = createNS(\"g\");\n\n for (o.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + n + \")\"); a[0];) {\n o.appendChild(a[0]);\n }\n\n this.elem.layerElement.appendChild(o), this.masker = s, e.setAttribute(\"stroke\", \"#fff\");\n } else if (1 === this.filterManager.effectElements[10].p.v || 2 === this.filterManager.effectElements[10].p.v) {\n if (2 === this.filterManager.effectElements[10].p.v) for (a = this.elem.layerElement.children || this.elem.layerElement.childNodes; a.length;) {\n this.elem.layerElement.removeChild(a[0]);\n }\n this.elem.layerElement.appendChild(e), this.elem.layerElement.removeAttribute(\"mask\"), e.setAttribute(\"stroke\", \"#fff\");\n }\n\n this.initialized = !0, this.pathMasker = e;\n }, SVGStrokeEffect.prototype.renderFrame = function (t) {\n var e;\n this.initialized || this.initialize();\n var r,\n i,\n a = this.paths.length;\n\n for (e = 0; e < a; e += 1) {\n if (-1 !== this.paths[e].m && (r = this.elem.maskManager.viewData[this.paths[e].m], i = this.paths[e].p, (t || this.filterManager._mdf || r.prop._mdf) && i.setAttribute(\"d\", r.lastPath), t || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || r.prop._mdf)) {\n var s;\n\n if (0 !== this.filterManager.effectElements[7].p.v || 100 !== this.filterManager.effectElements[8].p.v) {\n var n = .01 * Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v),\n o = .01 * Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v),\n h = i.getTotalLength();\n s = \"0 0 0 \" + h * n + \" \";\n var l,\n p = h * (o - n),\n c = 1 + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * .01,\n f = Math.floor(p / c);\n\n for (l = 0; l < f; l += 1) {\n s += \"1 \" + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * .01 + \" \";\n }\n\n s += \"0 \" + 10 * h + \" 0 0\";\n } else s = \"1 \" + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * .01;\n\n i.setAttribute(\"stroke-dasharray\", s);\n }\n }\n\n if ((t || this.filterManager.effectElements[4].p._mdf) && this.pathMasker.setAttribute(\"stroke-width\", 2 * this.filterManager.effectElements[4].p.v), (t || this.filterManager.effectElements[6].p._mdf) && this.pathMasker.setAttribute(\"opacity\", this.filterManager.effectElements[6].p.v), (1 === this.filterManager.effectElements[10].p.v || 2 === this.filterManager.effectElements[10].p.v) && (t || this.filterManager.effectElements[3].p._mdf)) {\n var d = this.filterManager.effectElements[3].p.v;\n this.pathMasker.setAttribute(\"stroke\", \"rgb(\" + bmFloor(255 * d[0]) + \",\" + bmFloor(255 * d[1]) + \",\" + bmFloor(255 * d[2]) + \")\");\n }\n }, SVGTritoneFilter.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n var e = this.filterManager.effectElements[0].p.v,\n r = this.filterManager.effectElements[1].p.v,\n i = this.filterManager.effectElements[2].p.v,\n a = i[0] + \" \" + r[0] + \" \" + e[0],\n s = i[1] + \" \" + r[1] + \" \" + e[1],\n n = i[2] + \" \" + r[2] + \" \" + e[2];\n this.feFuncR.setAttribute(\"tableValues\", a), this.feFuncG.setAttribute(\"tableValues\", s), this.feFuncB.setAttribute(\"tableValues\", n);\n }\n }, SVGProLevelsFilter.prototype.createFeFunc = function (t, e) {\n var r = createNS(t);\n return r.setAttribute(\"type\", \"table\"), e.appendChild(r), r;\n }, SVGProLevelsFilter.prototype.getTableValue = function (t, e, r, i, a) {\n for (var s, n, o = 0, h = Math.min(t, e), l = Math.max(t, e), p = Array.call(null, {\n length: 256\n }), c = 0, f = a - i, d = e - t; o <= 256;) {\n n = (s = o / 256) <= h ? d < 0 ? a : i : s >= l ? d < 0 ? i : a : i + f * Math.pow((s - t) / d, 1 / r), p[c] = n, c += 1, o += 256 / 255;\n }\n\n return p.join(\" \");\n }, SVGProLevelsFilter.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n var e,\n r = this.filterManager.effectElements;\n this.feFuncRComposed && (t || r[3].p._mdf || r[4].p._mdf || r[5].p._mdf || r[6].p._mdf || r[7].p._mdf) && (e = this.getTableValue(r[3].p.v, r[4].p.v, r[5].p.v, r[6].p.v, r[7].p.v), this.feFuncRComposed.setAttribute(\"tableValues\", e), this.feFuncGComposed.setAttribute(\"tableValues\", e), this.feFuncBComposed.setAttribute(\"tableValues\", e)), this.feFuncR && (t || r[10].p._mdf || r[11].p._mdf || r[12].p._mdf || r[13].p._mdf || r[14].p._mdf) && (e = this.getTableValue(r[10].p.v, r[11].p.v, r[12].p.v, r[13].p.v, r[14].p.v), this.feFuncR.setAttribute(\"tableValues\", e)), this.feFuncG && (t || r[17].p._mdf || r[18].p._mdf || r[19].p._mdf || r[20].p._mdf || r[21].p._mdf) && (e = this.getTableValue(r[17].p.v, r[18].p.v, r[19].p.v, r[20].p.v, r[21].p.v), this.feFuncG.setAttribute(\"tableValues\", e)), this.feFuncB && (t || r[24].p._mdf || r[25].p._mdf || r[26].p._mdf || r[27].p._mdf || r[28].p._mdf) && (e = this.getTableValue(r[24].p.v, r[25].p.v, r[26].p.v, r[27].p.v, r[28].p.v), this.feFuncB.setAttribute(\"tableValues\", e)), this.feFuncA && (t || r[31].p._mdf || r[32].p._mdf || r[33].p._mdf || r[34].p._mdf || r[35].p._mdf) && (e = this.getTableValue(r[31].p.v, r[32].p.v, r[33].p.v, r[34].p.v, r[35].p.v), this.feFuncA.setAttribute(\"tableValues\", e));\n }\n }, SVGDropShadowEffect.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n if ((t || this.filterManager.effectElements[4].p._mdf) && this.feGaussianBlur.setAttribute(\"stdDeviation\", this.filterManager.effectElements[4].p.v / 4), t || this.filterManager.effectElements[0].p._mdf) {\n var e = this.filterManager.effectElements[0].p.v;\n this.feFlood.setAttribute(\"flood-color\", rgbToHex(Math.round(255 * e[0]), Math.round(255 * e[1]), Math.round(255 * e[2])));\n }\n\n if ((t || this.filterManager.effectElements[1].p._mdf) && this.feFlood.setAttribute(\"flood-opacity\", this.filterManager.effectElements[1].p.v / 255), t || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\n var r = this.filterManager.effectElements[3].p.v,\n i = (this.filterManager.effectElements[2].p.v - 90) * degToRads,\n a = r * Math.cos(i),\n s = r * Math.sin(i);\n this.feOffset.setAttribute(\"dx\", a), this.feOffset.setAttribute(\"dy\", s);\n }\n }\n };\n var _svgMatteSymbols = [];\n\n function SVGMatte3Effect(t, e, r) {\n this.initialized = !1, this.filterManager = e, this.filterElem = t, this.elem = r, r.matteElement = createNS(\"g\"), r.matteElement.appendChild(r.layerElement), r.matteElement.appendChild(r.transformedElement), r.baseElement = r.matteElement;\n }\n\n function SVGEffects(t) {\n var e,\n r,\n i = t.data.ef ? t.data.ef.length : 0,\n a = createElementID(),\n s = filtersFactory.createFilter(a, !0),\n n = 0;\n\n for (this.filters = [], e = 0; e < i; e += 1) {\n r = null, 20 === t.data.ef[e].ty ? (n += 1, r = new SVGTintFilter(s, t.effectsManager.effectElements[e])) : 21 === t.data.ef[e].ty ? (n += 1, r = new SVGFillFilter(s, t.effectsManager.effectElements[e])) : 22 === t.data.ef[e].ty ? r = new SVGStrokeEffect(t, t.effectsManager.effectElements[e]) : 23 === t.data.ef[e].ty ? (n += 1, r = new SVGTritoneFilter(s, t.effectsManager.effectElements[e])) : 24 === t.data.ef[e].ty ? (n += 1, r = new SVGProLevelsFilter(s, t.effectsManager.effectElements[e])) : 25 === t.data.ef[e].ty ? (n += 1, r = new SVGDropShadowEffect(s, t.effectsManager.effectElements[e])) : 28 === t.data.ef[e].ty ? r = new SVGMatte3Effect(s, t.effectsManager.effectElements[e], t) : 29 === t.data.ef[e].ty && (n += 1, r = new SVGGaussianBlurEffect(s, t.effectsManager.effectElements[e])), r && this.filters.push(r);\n }\n\n n && (t.globalData.defs.appendChild(s), t.layerElement.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + a + \")\")), this.filters.length && t.addRenderableComponent(this);\n }\n\n function CVContextData() {\n var t;\n\n for (this.saved = [], this.cArrPos = 0, this.cTr = new Matrix(), this.cO = 1, this.savedOp = createTypedArray(\"float32\", 15), t = 0; t < 15; t += 1) {\n this.saved[t] = createTypedArray(\"float32\", 16);\n }\n\n this._length = 15;\n }\n\n function CVBaseElement() {}\n\n function CVImageElement(t, e, r) {\n this.assetData = e.getAssetData(t.refId), this.img = e.imageLoader.getAsset(this.assetData), this.initElement(t, e, r);\n }\n\n function CVCompElement(t, e, r) {\n this.completeLayers = !1, this.layers = t.layers, this.pendingElements = [], this.elements = createSizedArray(this.layers.length), this.initElement(t, e, r), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\n _placeholder: !0\n };\n }\n\n function CVMaskElement(t, e) {\n var r;\n this.data = t, this.element = e, this.masksProperties = this.data.masksProperties || [], this.viewData = createSizedArray(this.masksProperties.length);\n var i = this.masksProperties.length,\n a = !1;\n\n for (r = 0; r < i; r += 1) {\n \"n\" !== this.masksProperties[r].mode && (a = !0), this.viewData[r] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[r], 3);\n }\n\n this.hasMasks = a, a && this.element.addRenderableComponent(this);\n }\n\n function CVShapeElement(t, e, r) {\n this.shapes = [], this.shapesData = t.shapes, this.stylesList = [], this.itemsData = [], this.prevViewData = [], this.shapeModifiers = [], this.processedElements = [], this.transformsManager = new ShapeTransformManager(), this.initElement(t, e, r);\n }\n\n function CVSolidElement(t, e, r) {\n this.initElement(t, e, r);\n }\n\n function CVTextElement(t, e, r) {\n this.textSpans = [], this.yOffset = 0, this.fillColorAnim = !1, this.strokeColorAnim = !1, this.strokeWidthAnim = !1, this.stroke = !1, this.fill = !1, this.justifyOffset = 0, this.currentRender = null, this.renderType = \"canvas\", this.values = {\n fill: \"rgba(0,0,0,0)\",\n stroke: \"rgba(0,0,0,0)\",\n sWidth: 0,\n fValue: \"\"\n }, this.initElement(t, e, r);\n }\n\n function CVEffects() {}\n\n function HBaseElement() {}\n\n function HSolidElement(t, e, r) {\n this.initElement(t, e, r);\n }\n\n function HCompElement(t, e, r) {\n this.layers = t.layers, this.supports3d = !t.hasMask, this.completeLayers = !1, this.pendingElements = [], this.elements = this.layers ? createSizedArray(this.layers.length) : [], this.initElement(t, e, r), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\n _placeholder: !0\n };\n }\n\n function HShapeElement(t, e, r) {\n this.shapes = [], this.shapesData = t.shapes, this.stylesList = [], this.shapeModifiers = [], this.itemsData = [], this.processedElements = [], this.animatedContents = [], this.shapesContainer = createNS(\"g\"), this.initElement(t, e, r), this.prevViewData = [], this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n }\n\n function HTextElement(t, e, r) {\n this.textSpans = [], this.textPaths = [], this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n }, this.renderType = \"svg\", this.isMasked = !1, this.initElement(t, e, r);\n }\n\n function HImageElement(t, e, r) {\n this.assetData = e.getAssetData(t.refId), this.initElement(t, e, r);\n }\n\n function HCameraElement(t, e, r) {\n this.initFrame(), this.initBaseData(t, e, r), this.initHierarchy();\n var i = PropertyFactory.getProp;\n\n if (this.pe = i(this, t.pe, 0, 0, this), t.ks.p.s ? (this.px = i(this, t.ks.p.x, 1, 0, this), this.py = i(this, t.ks.p.y, 1, 0, this), this.pz = i(this, t.ks.p.z, 1, 0, this)) : this.p = i(this, t.ks.p, 1, 0, this), t.ks.a && (this.a = i(this, t.ks.a, 1, 0, this)), t.ks.or.k.length && t.ks.or.k[0].to) {\n var a,\n s = t.ks.or.k.length;\n\n for (a = 0; a < s; a += 1) {\n t.ks.or.k[a].to = null, t.ks.or.k[a].ti = null;\n }\n }\n\n this.or = i(this, t.ks.or, 1, degToRads, this), this.or.sh = !0, this.rx = i(this, t.ks.rx, 0, degToRads, this), this.ry = i(this, t.ks.ry, 0, degToRads, this), this.rz = i(this, t.ks.rz, 0, degToRads, this), this.mat = new Matrix(), this._prevMat = new Matrix(), this._isFirstFrame = !0, this.finalTransform = {\n mProp: this\n };\n }\n\n function HEffects() {}\n\n SVGMatte3Effect.prototype.findSymbol = function (t) {\n for (var e = 0, r = _svgMatteSymbols.length; e < r;) {\n if (_svgMatteSymbols[e] === t) return _svgMatteSymbols[e];\n e += 1;\n }\n\n return null;\n }, SVGMatte3Effect.prototype.replaceInParent = function (t, e) {\n var r = t.layerElement.parentNode;\n\n if (r) {\n for (var i, a = r.children, s = 0, n = a.length; s < n && a[s] !== t.layerElement;) {\n s += 1;\n }\n\n s <= n - 2 && (i = a[s + 1]);\n var o = createNS(\"use\");\n o.setAttribute(\"href\", \"#\" + e), i ? r.insertBefore(o, i) : r.appendChild(o);\n }\n }, SVGMatte3Effect.prototype.setElementAsMask = function (t, e) {\n if (!this.findSymbol(e)) {\n var r = createElementID(),\n i = createNS(\"mask\");\n i.setAttribute(\"id\", e.layerId), i.setAttribute(\"mask-type\", \"alpha\"), _svgMatteSymbols.push(e);\n var a = t.globalData.defs;\n a.appendChild(i);\n var s = createNS(\"symbol\");\n s.setAttribute(\"id\", r), this.replaceInParent(e, r), s.appendChild(e.layerElement), a.appendChild(s);\n var n = createNS(\"use\");\n n.setAttribute(\"href\", \"#\" + r), i.appendChild(n), e.data.hd = !1, e.show();\n }\n\n t.setMatte(e.layerId);\n }, SVGMatte3Effect.prototype.initialize = function () {\n for (var t = this.filterManager.effectElements[0].p.v, e = this.elem.comp.elements, r = 0, i = e.length; r < i;) {\n e[r] && e[r].data.ind === t && this.setElementAsMask(this.elem, e[r]), r += 1;\n }\n\n this.initialized = !0;\n }, SVGMatte3Effect.prototype.renderFrame = function () {\n this.initialized || this.initialize();\n }, SVGEffects.prototype.renderFrame = function (t) {\n var e,\n r = this.filters.length;\n\n for (e = 0; e < r; e += 1) {\n this.filters[e].renderFrame(t);\n }\n }, CVContextData.prototype.duplicate = function () {\n var t = 2 * this._length,\n e = this.savedOp;\n this.savedOp = createTypedArray(\"float32\", t), this.savedOp.set(e);\n var r = 0;\n\n for (r = this._length; r < t; r += 1) {\n this.saved[r] = createTypedArray(\"float32\", 16);\n }\n\n this._length = t;\n }, CVContextData.prototype.reset = function () {\n this.cArrPos = 0, this.cTr.reset(), this.cO = 1;\n }, CVBaseElement.prototype = {\n createElements: function createElements() {},\n initRendererElement: function initRendererElement() {},\n createContainerElements: function createContainerElements() {\n this.canvasContext = this.globalData.canvasContext, this.renderableEffectsManager = new CVEffects(this);\n },\n createContent: function createContent() {},\n setBlendMode: function setBlendMode() {\n var t = this.globalData;\n\n if (t.blendMode !== this.data.bm) {\n t.blendMode = this.data.bm;\n var e = getBlendMode(this.data.bm);\n t.canvasContext.globalCompositeOperation = e;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new CVMaskElement(this.data, this);\n },\n hideElement: function hideElement() {\n this.hidden || this.isInRange && !this.isTransparent || (this.hidden = !0);\n },\n showElement: function showElement() {\n this.isInRange && !this.isTransparent && (this.hidden = !1, this._isFirstFrame = !0, this.maskManager._isFirstFrame = !0);\n },\n renderFrame: function renderFrame() {\n if (!this.hidden && !this.data.hd) {\n this.renderTransform(), this.renderRenderable(), this.setBlendMode();\n var t = 0 === this.data.ty;\n this.globalData.renderer.save(t), this.globalData.renderer.ctxTransform(this.finalTransform.mat.props), this.globalData.renderer.ctxOpacity(this.finalTransform.mProp.o.v), this.renderInnerContent(), this.globalData.renderer.restore(t), this.maskManager.hasMasks && this.globalData.renderer.restore(!0), this._isFirstFrame && (this._isFirstFrame = !1);\n }\n },\n destroy: function destroy() {\n this.canvasContext = null, this.data = null, this.globalData = null, this.maskManager.destroy();\n },\n mHelper: new Matrix()\n }, CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement, CVBaseElement.prototype.show = CVBaseElement.prototype.showElement, extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement), CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement, CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame, CVImageElement.prototype.createContent = function () {\n if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {\n var t = createTag(\"canvas\");\n t.width = this.assetData.w, t.height = this.assetData.h;\n var e,\n r,\n i = t.getContext(\"2d\"),\n a = this.img.width,\n s = this.img.height,\n n = a / s,\n o = this.assetData.w / this.assetData.h,\n h = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;\n n > o && \"xMidYMid slice\" === h || n < o && \"xMidYMid slice\" !== h ? e = (r = s) * o : r = (e = a) / o, i.drawImage(this.img, (a - e) / 2, (s - r) / 2, e, r, 0, 0, this.assetData.w, this.assetData.h), this.img = t;\n }\n }, CVImageElement.prototype.renderInnerContent = function () {\n this.canvasContext.drawImage(this.img, 0, 0);\n }, CVImageElement.prototype.destroy = function () {\n this.img = null;\n }, extendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement), CVCompElement.prototype.renderInnerContent = function () {\n var t,\n e = this.canvasContext;\n\n for (e.beginPath(), e.moveTo(0, 0), e.lineTo(this.data.w, 0), e.lineTo(this.data.w, this.data.h), e.lineTo(0, this.data.h), e.lineTo(0, 0), e.clip(), t = this.layers.length - 1; t >= 0; t -= 1) {\n (this.completeLayers || this.elements[t]) && this.elements[t].renderFrame();\n }\n }, CVCompElement.prototype.destroy = function () {\n var t;\n\n for (t = this.layers.length - 1; t >= 0; t -= 1) {\n this.elements[t] && this.elements[t].destroy();\n }\n\n this.layers = null, this.elements = null;\n }, CVMaskElement.prototype.renderFrame = function () {\n if (this.hasMasks) {\n var t,\n e,\n r,\n i,\n a = this.element.finalTransform.mat,\n s = this.element.canvasContext,\n n = this.masksProperties.length;\n\n for (s.beginPath(), t = 0; t < n; t += 1) {\n if (\"n\" !== this.masksProperties[t].mode) {\n var o;\n this.masksProperties[t].inv && (s.moveTo(0, 0), s.lineTo(this.element.globalData.compSize.w, 0), s.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h), s.lineTo(0, this.element.globalData.compSize.h), s.lineTo(0, 0)), i = this.viewData[t].v, e = a.applyToPointArray(i.v[0][0], i.v[0][1], 0), s.moveTo(e[0], e[1]);\n var h = i._length;\n\n for (o = 1; o < h; o += 1) {\n r = a.applyToTriplePoints(i.o[o - 1], i.i[o], i.v[o]), s.bezierCurveTo(r[0], r[1], r[2], r[3], r[4], r[5]);\n }\n\n r = a.applyToTriplePoints(i.o[o - 1], i.i[0], i.v[0]), s.bezierCurveTo(r[0], r[1], r[2], r[3], r[4], r[5]);\n }\n }\n\n this.element.globalData.renderer.save(!0), s.clip();\n }\n }, CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty, CVMaskElement.prototype.destroy = function () {\n this.element = null;\n }, extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement), CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement, CVShapeElement.prototype.transformHelper = {\n opacity: 1,\n _opMdf: !1\n }, CVShapeElement.prototype.dashResetter = [], CVShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, !0, []);\n }, CVShapeElement.prototype.createStyleElement = function (t, e) {\n var r = {\n data: t,\n type: t.ty,\n preTransforms: this.transformsManager.addTransformSequence(e),\n transforms: [],\n elements: [],\n closed: !0 === t.hd\n },\n i = {};\n\n if (\"fl\" === t.ty || \"st\" === t.ty ? (i.c = PropertyFactory.getProp(this, t.c, 1, 255, this), i.c.k || (r.co = \"rgb(\" + bmFloor(i.c.v[0]) + \",\" + bmFloor(i.c.v[1]) + \",\" + bmFloor(i.c.v[2]) + \")\")) : \"gf\" !== t.ty && \"gs\" !== t.ty || (i.s = PropertyFactory.getProp(this, t.s, 1, null, this), i.e = PropertyFactory.getProp(this, t.e, 1, null, this), i.h = PropertyFactory.getProp(this, t.h || {\n k: 0\n }, 0, .01, this), i.a = PropertyFactory.getProp(this, t.a || {\n k: 0\n }, 0, degToRads, this), i.g = new GradientProperty(this, t.g, this)), i.o = PropertyFactory.getProp(this, t.o, 0, .01, this), \"st\" === t.ty || \"gs\" === t.ty) {\n if (r.lc = lineCapEnum[t.lc || 2], r.lj = lineJoinEnum[t.lj || 2], 1 == t.lj && (r.ml = t.ml), i.w = PropertyFactory.getProp(this, t.w, 0, null, this), i.w.k || (r.wi = i.w.v), t.d) {\n var a = new DashProperty(this, t.d, \"canvas\", this);\n i.d = a, i.d.k || (r.da = i.d.dashArray, r[\"do\"] = i.d.dashoffset[0]);\n }\n } else r.r = 2 === t.r ? \"evenodd\" : \"nonzero\";\n\n return this.stylesList.push(r), i.style = r, i;\n }, CVShapeElement.prototype.createGroupElement = function () {\n return {\n it: [],\n prevViewData: []\n };\n }, CVShapeElement.prototype.createTransformElement = function (t) {\n return {\n transform: {\n opacity: 1,\n _opMdf: !1,\n key: this.transformsManager.getNewKey(),\n op: PropertyFactory.getProp(this, t.o, 0, .01, this),\n mProps: TransformPropertyFactory.getTransformProperty(this, t, this)\n }\n };\n }, CVShapeElement.prototype.createShapeElement = function (t) {\n var e = new CVShapeData(this, t, this.stylesList, this.transformsManager);\n return this.shapes.push(e), this.addShapeToModifiers(e), e;\n }, CVShapeElement.prototype.reloadShapes = function () {\n var t;\n this._isFirstFrame = !0;\n var e = this.itemsData.length;\n\n for (t = 0; t < e; t += 1) {\n this.prevViewData[t] = this.itemsData[t];\n }\n\n for (this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, !0, []), e = this.dynamicProperties.length, t = 0; t < e; t += 1) {\n this.dynamicProperties[t].getValue();\n }\n\n this.renderModifiers(), this.transformsManager.processSequences(this._isFirstFrame);\n }, CVShapeElement.prototype.addTransformToStyleList = function (t) {\n var e,\n r = this.stylesList.length;\n\n for (e = 0; e < r; e += 1) {\n this.stylesList[e].closed || this.stylesList[e].transforms.push(t);\n }\n }, CVShapeElement.prototype.removeTransformFromStyleList = function () {\n var t,\n e = this.stylesList.length;\n\n for (t = 0; t < e; t += 1) {\n this.stylesList[t].closed || this.stylesList[t].transforms.pop();\n }\n }, CVShapeElement.prototype.closeStyles = function (t) {\n var e,\n r = t.length;\n\n for (e = 0; e < r; e += 1) {\n t[e].closed = !0;\n }\n }, CVShapeElement.prototype.searchShapes = function (t, e, r, i, a) {\n var s,\n n,\n o,\n h,\n l,\n p,\n c = t.length - 1,\n f = [],\n d = [],\n m = [].concat(a);\n\n for (s = c; s >= 0; s -= 1) {\n if ((h = this.searchProcessedElement(t[s])) ? e[s] = r[h - 1] : t[s]._shouldRender = i, \"fl\" === t[s].ty || \"st\" === t[s].ty || \"gf\" === t[s].ty || \"gs\" === t[s].ty) h ? e[s].style.closed = !1 : e[s] = this.createStyleElement(t[s], m), f.push(e[s].style);else if (\"gr\" === t[s].ty) {\n if (h) for (o = e[s].it.length, n = 0; n < o; n += 1) {\n e[s].prevViewData[n] = e[s].it[n];\n } else e[s] = this.createGroupElement(t[s]);\n this.searchShapes(t[s].it, e[s].it, e[s].prevViewData, i, m);\n } else \"tr\" === t[s].ty ? (h || (p = this.createTransformElement(t[s]), e[s] = p), m.push(e[s]), this.addTransformToStyleList(e[s])) : \"sh\" === t[s].ty || \"rc\" === t[s].ty || \"el\" === t[s].ty || \"sr\" === t[s].ty ? h || (e[s] = this.createShapeElement(t[s])) : \"tm\" === t[s].ty || \"rd\" === t[s].ty || \"pb\" === t[s].ty ? (h ? (l = e[s]).closed = !1 : ((l = ShapeModifiers.getModifier(t[s].ty)).init(this, t[s]), e[s] = l, this.shapeModifiers.push(l)), d.push(l)) : \"rp\" === t[s].ty && (h ? (l = e[s]).closed = !0 : (l = ShapeModifiers.getModifier(t[s].ty), e[s] = l, l.init(this, t, s, e), this.shapeModifiers.push(l), i = !1), d.push(l));\n this.addProcessedElement(t[s], s + 1);\n }\n\n for (this.removeTransformFromStyleList(), this.closeStyles(f), c = d.length, s = 0; s < c; s += 1) {\n d[s].closed = !0;\n }\n }, CVShapeElement.prototype.renderInnerContent = function () {\n this.transformHelper.opacity = 1, this.transformHelper._opMdf = !1, this.renderModifiers(), this.transformsManager.processSequences(this._isFirstFrame), this.renderShape(this.transformHelper, this.shapesData, this.itemsData, !0);\n }, CVShapeElement.prototype.renderShapeTransform = function (t, e) {\n (t._opMdf || e.op._mdf || this._isFirstFrame) && (e.opacity = t.opacity, e.opacity *= e.op.v, e._opMdf = !0);\n }, CVShapeElement.prototype.drawLayer = function () {\n var t,\n e,\n r,\n i,\n a,\n s,\n n,\n o,\n h,\n l = this.stylesList.length,\n p = this.globalData.renderer,\n c = this.globalData.canvasContext;\n\n for (t = 0; t < l; t += 1) {\n if ((\"st\" !== (o = (h = this.stylesList[t]).type) && \"gs\" !== o || 0 !== h.wi) && h.data._shouldRender && 0 !== h.coOp && 0 !== this.globalData.currentGlobalAlpha) {\n for (p.save(), s = h.elements, \"st\" === o || \"gs\" === o ? (c.strokeStyle = \"st\" === o ? h.co : h.grd, c.lineWidth = h.wi, c.lineCap = h.lc, c.lineJoin = h.lj, c.miterLimit = h.ml || 0) : c.fillStyle = \"fl\" === o ? h.co : h.grd, p.ctxOpacity(h.coOp), \"st\" !== o && \"gs\" !== o && c.beginPath(), p.ctxTransform(h.preTransforms.finalTransform.props), r = s.length, e = 0; e < r; e += 1) {\n for (\"st\" !== o && \"gs\" !== o || (c.beginPath(), h.da && (c.setLineDash(h.da), c.lineDashOffset = h[\"do\"])), a = (n = s[e].trNodes).length, i = 0; i < a; i += 1) {\n \"m\" === n[i].t ? c.moveTo(n[i].p[0], n[i].p[1]) : \"c\" === n[i].t ? c.bezierCurveTo(n[i].pts[0], n[i].pts[1], n[i].pts[2], n[i].pts[3], n[i].pts[4], n[i].pts[5]) : c.closePath();\n }\n\n \"st\" !== o && \"gs\" !== o || (c.stroke(), h.da && c.setLineDash(this.dashResetter));\n }\n\n \"st\" !== o && \"gs\" !== o && c.fill(h.r), p.restore();\n }\n }\n }, CVShapeElement.prototype.renderShape = function (t, e, r, i) {\n var a, s;\n\n for (s = t, a = e.length - 1; a >= 0; a -= 1) {\n \"tr\" === e[a].ty ? (s = r[a].transform, this.renderShapeTransform(t, s)) : \"sh\" === e[a].ty || \"el\" === e[a].ty || \"rc\" === e[a].ty || \"sr\" === e[a].ty ? this.renderPath(e[a], r[a]) : \"fl\" === e[a].ty ? this.renderFill(e[a], r[a], s) : \"st\" === e[a].ty ? this.renderStroke(e[a], r[a], s) : \"gf\" === e[a].ty || \"gs\" === e[a].ty ? this.renderGradientFill(e[a], r[a], s) : \"gr\" === e[a].ty ? this.renderShape(s, e[a].it, r[a].it) : e[a].ty;\n }\n\n i && this.drawLayer();\n }, CVShapeElement.prototype.renderStyledShape = function (t, e) {\n if (this._isFirstFrame || e._mdf || t.transforms._mdf) {\n var r,\n i,\n a,\n s = t.trNodes,\n n = e.paths,\n o = n._length;\n s.length = 0;\n var h = t.transforms.finalTransform;\n\n for (a = 0; a < o; a += 1) {\n var l = n.shapes[a];\n\n if (l && l.v) {\n for (i = l._length, r = 1; r < i; r += 1) {\n 1 === r && s.push({\n t: \"m\",\n p: h.applyToPointArray(l.v[0][0], l.v[0][1], 0)\n }), s.push({\n t: \"c\",\n pts: h.applyToTriplePoints(l.o[r - 1], l.i[r], l.v[r])\n });\n }\n\n 1 === i && s.push({\n t: \"m\",\n p: h.applyToPointArray(l.v[0][0], l.v[0][1], 0)\n }), l.c && i && (s.push({\n t: \"c\",\n pts: h.applyToTriplePoints(l.o[r - 1], l.i[0], l.v[0])\n }), s.push({\n t: \"z\"\n }));\n }\n }\n\n t.trNodes = s;\n }\n }, CVShapeElement.prototype.renderPath = function (t, e) {\n if (!0 !== t.hd && t._shouldRender) {\n var r,\n i = e.styledShapes.length;\n\n for (r = 0; r < i; r += 1) {\n this.renderStyledShape(e.styledShapes[r], e.sh);\n }\n }\n }, CVShapeElement.prototype.renderFill = function (t, e, r) {\n var i = e.style;\n (e.c._mdf || this._isFirstFrame) && (i.co = \"rgb(\" + bmFloor(e.c.v[0]) + \",\" + bmFloor(e.c.v[1]) + \",\" + bmFloor(e.c.v[2]) + \")\"), (e.o._mdf || r._opMdf || this._isFirstFrame) && (i.coOp = e.o.v * r.opacity);\n }, CVShapeElement.prototype.renderGradientFill = function (t, e, r) {\n var i,\n a = e.style;\n\n if (!a.grd || e.g._mdf || e.s._mdf || e.e._mdf || 1 !== t.t && (e.h._mdf || e.a._mdf)) {\n var s,\n n = this.globalData.canvasContext,\n o = e.s.v,\n h = e.e.v;\n if (1 === t.t) i = n.createLinearGradient(o[0], o[1], h[0], h[1]);else {\n var l = Math.sqrt(Math.pow(o[0] - h[0], 2) + Math.pow(o[1] - h[1], 2)),\n p = Math.atan2(h[1] - o[1], h[0] - o[0]),\n c = e.h.v;\n c >= 1 ? c = .99 : c <= -1 && (c = -.99);\n var f = l * c,\n d = Math.cos(p + e.a.v) * f + o[0],\n m = Math.sin(p + e.a.v) * f + o[1];\n i = n.createRadialGradient(d, m, 0, o[0], o[1], l);\n }\n var u = t.g.p,\n y = e.g.c,\n g = 1;\n\n for (s = 0; s < u; s += 1) {\n e.g._hasOpacity && e.g._collapsable && (g = e.g.o[2 * s + 1]), i.addColorStop(y[4 * s] / 100, \"rgba(\" + y[4 * s + 1] + \",\" + y[4 * s + 2] + \",\" + y[4 * s + 3] + \",\" + g + \")\");\n }\n\n a.grd = i;\n }\n\n a.coOp = e.o.v * r.opacity;\n }, CVShapeElement.prototype.renderStroke = function (t, e, r) {\n var i = e.style,\n a = e.d;\n a && (a._mdf || this._isFirstFrame) && (i.da = a.dashArray, i[\"do\"] = a.dashoffset[0]), (e.c._mdf || this._isFirstFrame) && (i.co = \"rgb(\" + bmFloor(e.c.v[0]) + \",\" + bmFloor(e.c.v[1]) + \",\" + bmFloor(e.c.v[2]) + \")\"), (e.o._mdf || r._opMdf || this._isFirstFrame) && (i.coOp = e.o.v * r.opacity), (e.w._mdf || this._isFirstFrame) && (i.wi = e.w.v);\n }, CVShapeElement.prototype.destroy = function () {\n this.shapesData = null, this.globalData = null, this.canvasContext = null, this.stylesList.length = 0, this.itemsData.length = 0;\n }, extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement), CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement, CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame, CVSolidElement.prototype.renderInnerContent = function () {\n var t = this.canvasContext;\n t.fillStyle = this.data.sc, t.fillRect(0, 0, this.data.sw, this.data.sh);\n }, extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement), CVTextElement.prototype.tHelper = createTag(\"canvas\").getContext(\"2d\"), CVTextElement.prototype.buildNewText = function () {\n var t = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(t.l ? t.l.length : 0);\n var e = !1;\n t.fc ? (e = !0, this.values.fill = this.buildColor(t.fc)) : this.values.fill = \"rgba(0,0,0,0)\", this.fill = e;\n var r = !1;\n t.sc && (r = !0, this.values.stroke = this.buildColor(t.sc), this.values.sWidth = t.sw);\n var i,\n a,\n s,\n n,\n o,\n h,\n l,\n p,\n c,\n f,\n d,\n m,\n u = this.globalData.fontManager.getFontByName(t.f),\n y = t.l,\n g = this.mHelper;\n this.stroke = r, this.values.fValue = t.finalSize + \"px \" + this.globalData.fontManager.getFontByName(t.f).fFamily, a = t.finalText.length;\n var v = this.data.singleShape,\n b = .001 * t.tr * t.finalSize,\n _ = 0,\n P = 0,\n E = !0,\n S = 0;\n\n for (i = 0; i < a; i += 1) {\n for (n = (s = this.globalData.fontManager.getCharData(t.finalText[i], u.fStyle, this.globalData.fontManager.getFontByName(t.f).fFamily)) && s.data || {}, g.reset(), v && y[i].n && (_ = -b, P += t.yOffset, P += E ? 1 : 0, E = !1), c = (l = n.shapes ? n.shapes[0].it : []).length, g.scale(t.finalSize / 100, t.finalSize / 100), v && this.applyTextPropertiesToMatrix(t, g, y[i].line, _, P), d = createSizedArray(c), p = 0; p < c; p += 1) {\n for (h = l[p].ks.k.i.length, f = l[p].ks.k, m = [], o = 1; o < h; o += 1) {\n 1 === o && m.push(g.applyToX(f.v[0][0], f.v[0][1], 0), g.applyToY(f.v[0][0], f.v[0][1], 0)), m.push(g.applyToX(f.o[o - 1][0], f.o[o - 1][1], 0), g.applyToY(f.o[o - 1][0], f.o[o - 1][1], 0), g.applyToX(f.i[o][0], f.i[o][1], 0), g.applyToY(f.i[o][0], f.i[o][1], 0), g.applyToX(f.v[o][0], f.v[o][1], 0), g.applyToY(f.v[o][0], f.v[o][1], 0));\n }\n\n m.push(g.applyToX(f.o[o - 1][0], f.o[o - 1][1], 0), g.applyToY(f.o[o - 1][0], f.o[o - 1][1], 0), g.applyToX(f.i[0][0], f.i[0][1], 0), g.applyToY(f.i[0][0], f.i[0][1], 0), g.applyToX(f.v[0][0], f.v[0][1], 0), g.applyToY(f.v[0][0], f.v[0][1], 0)), d[p] = m;\n }\n\n v && (_ += y[i].l, _ += b), this.textSpans[S] ? this.textSpans[S].elem = d : this.textSpans[S] = {\n elem: d\n }, S += 1;\n }\n }, CVTextElement.prototype.renderInnerContent = function () {\n var t,\n e,\n r,\n i,\n a,\n s,\n n = this.canvasContext;\n n.font = this.values.fValue, n.lineCap = \"butt\", n.lineJoin = \"miter\", n.miterLimit = 4, this.data.singleShape || this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n var o,\n h = this.textAnimator.renderedLetters,\n l = this.textProperty.currentData.l;\n e = l.length;\n var p,\n c,\n f = null,\n d = null,\n m = null;\n\n for (t = 0; t < e; t += 1) {\n if (!l[t].n) {\n if ((o = h[t]) && (this.globalData.renderer.save(), this.globalData.renderer.ctxTransform(o.p), this.globalData.renderer.ctxOpacity(o.o)), this.fill) {\n for (o && o.fc ? f !== o.fc && (f = o.fc, n.fillStyle = o.fc) : f !== this.values.fill && (f = this.values.fill, n.fillStyle = this.values.fill), i = (p = this.textSpans[t].elem).length, this.globalData.canvasContext.beginPath(), r = 0; r < i; r += 1) {\n for (s = (c = p[r]).length, this.globalData.canvasContext.moveTo(c[0], c[1]), a = 2; a < s; a += 6) {\n this.globalData.canvasContext.bezierCurveTo(c[a], c[a + 1], c[a + 2], c[a + 3], c[a + 4], c[a + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath(), this.globalData.canvasContext.fill();\n }\n\n if (this.stroke) {\n for (o && o.sw ? m !== o.sw && (m = o.sw, n.lineWidth = o.sw) : m !== this.values.sWidth && (m = this.values.sWidth, n.lineWidth = this.values.sWidth), o && o.sc ? d !== o.sc && (d = o.sc, n.strokeStyle = o.sc) : d !== this.values.stroke && (d = this.values.stroke, n.strokeStyle = this.values.stroke), i = (p = this.textSpans[t].elem).length, this.globalData.canvasContext.beginPath(), r = 0; r < i; r += 1) {\n for (s = (c = p[r]).length, this.globalData.canvasContext.moveTo(c[0], c[1]), a = 2; a < s; a += 6) {\n this.globalData.canvasContext.bezierCurveTo(c[a], c[a + 1], c[a + 2], c[a + 3], c[a + 4], c[a + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath(), this.globalData.canvasContext.stroke();\n }\n\n o && this.globalData.renderer.restore();\n }\n }\n }, CVEffects.prototype.renderFrame = function () {}, HBaseElement.prototype = {\n checkBlendMode: function checkBlendMode() {},\n initRendererElement: function initRendererElement() {\n this.baseElement = createTag(this.data.tg || \"div\"), this.data.hasMask ? (this.svgElement = createNS(\"svg\"), this.layerElement = createNS(\"g\"), this.maskedElement = this.layerElement, this.svgElement.appendChild(this.layerElement), this.baseElement.appendChild(this.svgElement)) : this.layerElement = this.baseElement, styleDiv(this.baseElement);\n },\n createContainerElements: function createContainerElements() {\n this.renderableEffectsManager = new CVEffects(this), this.transformedElement = this.baseElement, this.maskedElement = this.layerElement, this.data.ln && this.layerElement.setAttribute(\"id\", this.data.ln), this.data.cl && this.layerElement.setAttribute(\"class\", this.data.cl), 0 !== this.data.bm && this.setBlendMode();\n },\n renderElement: function renderElement() {\n var t = this.transformedElement ? this.transformedElement.style : {};\n\n if (this.finalTransform._matMdf) {\n var e = this.finalTransform.mat.toCSS();\n t.transform = e, t.webkitTransform = e;\n }\n\n this.finalTransform._opMdf && (t.opacity = this.finalTransform.mProp.o.v);\n },\n renderFrame: function renderFrame() {\n this.data.hd || this.hidden || (this.renderTransform(), this.renderRenderable(), this.renderElement(), this.renderInnerContent(), this._isFirstFrame && (this._isFirstFrame = !1));\n },\n destroy: function destroy() {\n this.layerElement = null, this.transformedElement = null, this.matteElement && (this.matteElement = null), this.maskManager && (this.maskManager.destroy(), this.maskManager = null);\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 }, HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement, HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy, HBaseElement.prototype.buildElementParenting = HybridRenderer.prototype.buildElementParenting, extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement), HSolidElement.prototype.createContent = function () {\n var t;\n this.data.hasMask ? ((t = createNS(\"rect\")).setAttribute(\"width\", this.data.sw), t.setAttribute(\"height\", this.data.sh), t.setAttribute(\"fill\", this.data.sc), this.svgElement.setAttribute(\"width\", this.data.sw), this.svgElement.setAttribute(\"height\", this.data.sh)) : ((t = createTag(\"div\")).style.width = this.data.sw + \"px\", t.style.height = this.data.sh + \"px\", t.style.backgroundColor = this.data.sc), this.layerElement.appendChild(t);\n }, extendPrototype([HybridRenderer, ICompElement, HBaseElement], HCompElement), HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements, HCompElement.prototype.createContainerElements = function () {\n this._createBaseContainerElements(), this.data.hasMask ? (this.svgElement.setAttribute(\"width\", this.data.w), this.svgElement.setAttribute(\"height\", this.data.h), this.transformedElement = this.baseElement) : this.transformedElement = this.layerElement;\n }, HCompElement.prototype.addTo3dContainer = function (t, e) {\n for (var r, i = 0; i < e;) {\n this.elements[i] && this.elements[i].getBaseElement && (r = this.elements[i].getBaseElement()), i += 1;\n }\n\n r ? this.layerElement.insertBefore(t, r) : this.layerElement.appendChild(t);\n }, extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement), HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent, HShapeElement.prototype.createContent = function () {\n var t;\n if (this.baseElement.style.fontSize = 0, this.data.hasMask) this.layerElement.appendChild(this.shapesContainer), t = this.svgElement;else {\n t = createNS(\"svg\");\n var e = this.comp.data ? this.comp.data : this.globalData.compSize;\n t.setAttribute(\"width\", e.w), t.setAttribute(\"height\", e.h), t.appendChild(this.shapesContainer), this.layerElement.appendChild(t);\n }\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], !0), this.filterUniqueShapes(), this.shapeCont = t;\n }, HShapeElement.prototype.getTransformedPoint = function (t, e) {\n var r,\n i = t.length;\n\n for (r = 0; r < i; r += 1) {\n e = t[r].mProps.v.applyToPointArray(e[0], e[1], 0);\n }\n\n return e;\n }, HShapeElement.prototype.calculateShapeBoundingBox = function (t, e) {\n var r,\n i,\n a,\n s,\n n,\n o = t.sh.v,\n h = t.transformers,\n l = o._length;\n\n if (!(l <= 1)) {\n for (r = 0; r < l - 1; r += 1) {\n i = this.getTransformedPoint(h, o.v[r]), a = this.getTransformedPoint(h, o.o[r]), s = this.getTransformedPoint(h, o.i[r + 1]), n = this.getTransformedPoint(h, o.v[r + 1]), this.checkBounds(i, a, s, n, e);\n }\n\n o.c && (i = this.getTransformedPoint(h, o.v[r]), a = this.getTransformedPoint(h, o.o[r]), s = this.getTransformedPoint(h, o.i[0]), n = this.getTransformedPoint(h, o.v[0]), this.checkBounds(i, a, s, n, e));\n }\n }, HShapeElement.prototype.checkBounds = function (t, e, r, i, a) {\n this.getBoundsOfCurve(t, e, r, i);\n var s = this.shapeBoundingBox;\n a.x = bmMin(s.left, a.x), a.xMax = bmMax(s.right, a.xMax), a.y = bmMin(s.top, a.y), a.yMax = bmMax(s.bottom, a.yMax);\n }, HShapeElement.prototype.shapeBoundingBox = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, HShapeElement.prototype.tempBoundingBox = {\n x: 0,\n xMax: 0,\n y: 0,\n yMax: 0,\n width: 0,\n height: 0\n }, HShapeElement.prototype.getBoundsOfCurve = function (t, e, r, i) {\n for (var a, s, n, o, h, l, p, c = [[t[0], i[0]], [t[1], i[1]]], f = 0; f < 2; ++f) {\n s = 6 * t[f] - 12 * e[f] + 6 * r[f], a = -3 * t[f] + 9 * e[f] - 9 * r[f] + 3 * i[f], n = 3 * e[f] - 3 * t[f], s |= 0, n |= 0, 0 == (a |= 0) && 0 === s || (0 === a ? (o = -n / s) > 0 && o < 1 && c[f].push(this.calculateF(o, t, e, r, i, f)) : (h = s * s - 4 * n * a) >= 0 && ((l = (-s + bmSqrt(h)) / (2 * a)) > 0 && l < 1 && c[f].push(this.calculateF(l, t, e, r, i, f)), (p = (-s - bmSqrt(h)) / (2 * a)) > 0 && p < 1 && c[f].push(this.calculateF(p, t, e, r, i, f))));\n }\n\n this.shapeBoundingBox.left = bmMin.apply(null, c[0]), this.shapeBoundingBox.top = bmMin.apply(null, c[1]), this.shapeBoundingBox.right = bmMax.apply(null, c[0]), this.shapeBoundingBox.bottom = bmMax.apply(null, c[1]);\n }, HShapeElement.prototype.calculateF = function (t, e, r, i, a, s) {\n return bmPow(1 - t, 3) * e[s] + 3 * bmPow(1 - t, 2) * t * r[s] + 3 * (1 - t) * bmPow(t, 2) * i[s] + bmPow(t, 3) * a[s];\n }, HShapeElement.prototype.calculateBoundingBox = function (t, e) {\n var r,\n i = t.length;\n\n for (r = 0; r < i; r += 1) {\n t[r] && t[r].sh ? this.calculateShapeBoundingBox(t[r], e) : t[r] && t[r].it && this.calculateBoundingBox(t[r].it, e);\n }\n }, HShapeElement.prototype.currentBoxContains = function (t) {\n return this.currentBBox.x <= t.x && this.currentBBox.y <= t.y && this.currentBBox.width + this.currentBBox.x >= t.x + t.width && this.currentBBox.height + this.currentBBox.y >= t.y + t.height;\n }, HShapeElement.prototype.renderInnerContent = function () {\n if (this._renderShapeFrame(), !this.hidden && (this._isFirstFrame || this._mdf)) {\n var t = this.tempBoundingBox,\n e = 999999;\n if (t.x = e, t.xMax = -e, t.y = e, t.yMax = -e, this.calculateBoundingBox(this.itemsData, t), t.width = t.xMax < t.x ? 0 : t.xMax - t.x, t.height = t.yMax < t.y ? 0 : t.yMax - t.y, this.currentBoxContains(t)) return;\n var r = !1;\n\n if (this.currentBBox.w !== t.width && (this.currentBBox.w = t.width, this.shapeCont.setAttribute(\"width\", t.width), r = !0), this.currentBBox.h !== t.height && (this.currentBBox.h = t.height, this.shapeCont.setAttribute(\"height\", t.height), r = !0), r || this.currentBBox.x !== t.x || this.currentBBox.y !== t.y) {\n this.currentBBox.w = t.width, this.currentBBox.h = t.height, this.currentBBox.x = t.x, this.currentBBox.y = t.y, this.shapeCont.setAttribute(\"viewBox\", this.currentBBox.x + \" \" + this.currentBBox.y + \" \" + this.currentBBox.w + \" \" + this.currentBBox.h);\n var i = this.shapeCont.style,\n a = \"translate(\" + this.currentBBox.x + \"px,\" + this.currentBBox.y + \"px)\";\n i.transform = a, i.webkitTransform = a;\n }\n }\n }, extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement), HTextElement.prototype.createContent = function () {\n if (this.isMasked = this.checkMasks(), this.isMasked) {\n this.renderType = \"svg\", this.compW = this.comp.data.w, this.compH = this.comp.data.h, this.svgElement.setAttribute(\"width\", this.compW), this.svgElement.setAttribute(\"height\", this.compH);\n var t = createNS(\"g\");\n this.maskedElement.appendChild(t), this.innerElem = t;\n } else this.renderType = \"html\", this.innerElem = this.layerElement;\n\n this.checkParenting();\n }, HTextElement.prototype.buildNewText = function () {\n var t = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(t.l ? t.l.length : 0);\n var e = this.innerElem.style,\n r = t.fc ? this.buildColor(t.fc) : \"rgba(0,0,0,0)\";\n e.fill = r, e.color = r, t.sc && (e.stroke = this.buildColor(t.sc), e.strokeWidth = t.sw + \"px\");\n var i,\n a,\n s = this.globalData.fontManager.getFontByName(t.f);\n if (!this.globalData.fontManager.chars) if (e.fontSize = t.finalSize + \"px\", e.lineHeight = t.finalSize + \"px\", s.fClass) this.innerElem.className = s.fClass;else {\n e.fontFamily = s.fFamily;\n var n = t.fWeight,\n o = t.fStyle;\n e.fontStyle = o, e.fontWeight = n;\n }\n var h,\n l,\n p,\n c = t.l;\n a = c.length;\n var f,\n d = this.mHelper,\n m = \"\",\n u = 0;\n\n for (i = 0; i < a; i += 1) {\n if (this.globalData.fontManager.chars ? (this.textPaths[u] ? h = this.textPaths[u] : ((h = createNS(\"path\")).setAttribute(\"stroke-linecap\", lineCapEnum[1]), h.setAttribute(\"stroke-linejoin\", lineJoinEnum[2]), h.setAttribute(\"stroke-miterlimit\", \"4\")), this.isMasked || (this.textSpans[u] ? p = (l = this.textSpans[u]).children[0] : ((l = createTag(\"div\")).style.lineHeight = 0, (p = createNS(\"svg\")).appendChild(h), styleDiv(l)))) : this.isMasked ? h = this.textPaths[u] ? this.textPaths[u] : createNS(\"text\") : this.textSpans[u] ? (l = this.textSpans[u], h = this.textPaths[u]) : (styleDiv(l = createTag(\"span\")), styleDiv(h = createTag(\"span\")), l.appendChild(h)), this.globalData.fontManager.chars) {\n var y,\n g = this.globalData.fontManager.getCharData(t.finalText[i], s.fStyle, this.globalData.fontManager.getFontByName(t.f).fFamily);\n if (y = g ? g.data : null, d.reset(), y && y.shapes && (f = y.shapes[0].it, d.scale(t.finalSize / 100, t.finalSize / 100), m = this.createPathShape(d, f), h.setAttribute(\"d\", m)), this.isMasked) this.innerElem.appendChild(h);else {\n if (this.innerElem.appendChild(l), y && y.shapes) {\n document.body.appendChild(p);\n var v = p.getBBox();\n p.setAttribute(\"width\", v.width + 2), p.setAttribute(\"height\", v.height + 2), p.setAttribute(\"viewBox\", v.x - 1 + \" \" + (v.y - 1) + \" \" + (v.width + 2) + \" \" + (v.height + 2));\n\n var b = p.style,\n _ = \"translate(\" + (v.x - 1) + \"px,\" + (v.y - 1) + \"px)\";\n\n b.transform = _, b.webkitTransform = _, c[i].yOffset = v.y - 1;\n } else p.setAttribute(\"width\", 1), p.setAttribute(\"height\", 1);\n\n l.appendChild(p);\n }\n } else if (h.textContent = c[i].val, h.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\"), this.isMasked) this.innerElem.appendChild(h);else {\n this.innerElem.appendChild(l);\n var P = h.style,\n E = \"translate3d(0,\" + -t.finalSize / 1.2 + \"px,0)\";\n P.transform = E, P.webkitTransform = E;\n }\n\n this.isMasked ? this.textSpans[u] = h : this.textSpans[u] = l, this.textSpans[u].style.display = \"block\", this.textPaths[u] = h, u += 1;\n }\n\n for (; u < this.textSpans.length;) {\n this.textSpans[u].style.display = \"none\", u += 1;\n }\n }, HTextElement.prototype.renderInnerContent = function () {\n var t;\n\n if (this.data.singleShape) {\n if (!this._isFirstFrame && !this.lettersChangedFlag) return;\n\n if (this.isMasked && this.finalTransform._matMdf) {\n this.svgElement.setAttribute(\"viewBox\", -this.finalTransform.mProp.p.v[0] + \" \" + -this.finalTransform.mProp.p.v[1] + \" \" + this.compW + \" \" + this.compH), t = this.svgElement.style;\n var e = \"translate(\" + -this.finalTransform.mProp.p.v[0] + \"px,\" + -this.finalTransform.mProp.p.v[1] + \"px)\";\n t.transform = e, t.webkitTransform = e;\n }\n }\n\n if (this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag), this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\n var r,\n i,\n a,\n s,\n n,\n o = 0,\n h = this.textAnimator.renderedLetters,\n l = this.textProperty.currentData.l;\n\n for (i = l.length, r = 0; r < i; r += 1) {\n l[r].n ? o += 1 : (s = this.textSpans[r], n = this.textPaths[r], a = h[o], o += 1, a._mdf.m && (this.isMasked ? s.setAttribute(\"transform\", a.m) : (s.style.webkitTransform = a.m, s.style.transform = a.m)), s.style.opacity = a.o, a.sw && a._mdf.sw && n.setAttribute(\"stroke-width\", a.sw), a.sc && a._mdf.sc && n.setAttribute(\"stroke\", a.sc), a.fc && a._mdf.fc && (n.setAttribute(\"fill\", a.fc), n.style.color = a.fc));\n }\n\n if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\n var p = this.innerElem.getBBox();\n\n if (this.currentBBox.w !== p.width && (this.currentBBox.w = p.width, this.svgElement.setAttribute(\"width\", p.width)), this.currentBBox.h !== p.height && (this.currentBBox.h = p.height, this.svgElement.setAttribute(\"height\", p.height)), this.currentBBox.w !== p.width + 2 || this.currentBBox.h !== p.height + 2 || this.currentBBox.x !== p.x - 1 || this.currentBBox.y !== p.y - 1) {\n this.currentBBox.w = p.width + 2, this.currentBBox.h = p.height + 2, this.currentBBox.x = p.x - 1, this.currentBBox.y = p.y - 1, this.svgElement.setAttribute(\"viewBox\", this.currentBBox.x + \" \" + this.currentBBox.y + \" \" + this.currentBBox.w + \" \" + this.currentBBox.h), t = this.svgElement.style;\n var c = \"translate(\" + this.currentBBox.x + \"px,\" + this.currentBBox.y + \"px)\";\n t.transform = c, t.webkitTransform = c;\n }\n }\n }\n }, extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement), HImageElement.prototype.createContent = function () {\n var t = this.globalData.getAssetsPath(this.assetData),\n e = new Image();\n this.data.hasMask ? (this.imageElem = createNS(\"image\"), this.imageElem.setAttribute(\"width\", this.assetData.w + \"px\"), this.imageElem.setAttribute(\"height\", this.assetData.h + \"px\"), this.imageElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", t), this.layerElement.appendChild(this.imageElem), this.baseElement.setAttribute(\"width\", this.assetData.w), this.baseElement.setAttribute(\"height\", this.assetData.h)) : this.layerElement.appendChild(e), e.crossOrigin = \"anonymous\", e.src = t, this.data.ln && this.baseElement.setAttribute(\"id\", this.data.ln);\n }, extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement), HCameraElement.prototype.setup = function () {\n var t,\n e,\n r,\n i,\n a = this.comp.threeDElements.length;\n\n for (t = 0; t < a; t += 1) {\n if (\"3d\" === (e = this.comp.threeDElements[t]).type) {\n r = e.perspectiveElem.style, i = e.container.style;\n var s = this.pe.v + \"px\",\n n = \"0px 0px 0px\",\n o = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n r.perspective = s, r.webkitPerspective = s, i.transformOrigin = n, i.mozTransformOrigin = n, i.webkitTransformOrigin = n, r.transform = o, r.webkitTransform = o;\n }\n }\n }, HCameraElement.prototype.createElements = function () {}, HCameraElement.prototype.hide = function () {}, HCameraElement.prototype.renderFrame = function () {\n var t,\n e,\n r = this._isFirstFrame;\n if (this.hierarchy) for (e = this.hierarchy.length, t = 0; t < e; t += 1) {\n r = this.hierarchy[t].finalTransform.mProp._mdf || r;\n }\n\n if (r || 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 if (this.mat.reset(), this.hierarchy) for (t = e = this.hierarchy.length - 1; t >= 0; t -= 1) {\n var i = this.hierarchy[t].finalTransform.mProp;\n this.mat.translate(-i.p.v[0], -i.p.v[1], i.p.v[2]), this.mat.rotateX(-i.or.v[0]).rotateY(-i.or.v[1]).rotateZ(i.or.v[2]), this.mat.rotateX(-i.rx.v).rotateY(-i.ry.v).rotateZ(i.rz.v), this.mat.scale(1 / i.s.v[0], 1 / i.s.v[1], 1 / i.s.v[2]), this.mat.translate(i.a.v[0], i.a.v[1], i.a.v[2]);\n }\n\n if (this.p ? this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]) : this.mat.translate(-this.px.v, -this.py.v, this.pz.v), this.a) {\n var a;\n a = this.p ? [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]] : [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];\n var s = Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2) + Math.pow(a[2], 2)),\n n = [a[0] / s, a[1] / s, a[2] / s],\n o = Math.sqrt(n[2] * n[2] + n[0] * n[0]),\n h = Math.atan2(n[1], o),\n l = Math.atan2(n[0], -n[2]);\n this.mat.rotateY(l).rotateX(-h);\n }\n\n this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v), this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]), this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0), this.mat.translate(0, 0, this.pe.v);\n var p = !this._prevMat.equals(this.mat);\n\n if ((p || this.pe._mdf) && this.comp.threeDElements) {\n var c, f, d;\n\n for (e = this.comp.threeDElements.length, t = 0; t < e; t += 1) {\n if (\"3d\" === (c = this.comp.threeDElements[t]).type) {\n if (p) {\n var m = this.mat.toCSS();\n (d = c.container.style).transform = m, d.webkitTransform = m;\n }\n\n this.pe._mdf && ((f = c.perspectiveElem.style).perspective = this.pe.v + \"px\", f.webkitPerspective = this.pe.v + \"px\");\n }\n }\n\n this.mat.clone(this._prevMat);\n }\n }\n\n this._isFirstFrame = !1;\n }, HCameraElement.prototype.prepareFrame = function (t) {\n this.prepareProperties(t, !0);\n }, HCameraElement.prototype.destroy = function () {}, HCameraElement.prototype.getBaseElement = function () {\n return null;\n }, HEffects.prototype.renderFrame = function () {};\n\n var animationManager = function () {\n var t = {},\n e = [],\n r = 0,\n i = 0,\n a = 0,\n s = !0,\n n = !1;\n\n function o(t) {\n for (var r = 0, a = t.target; r < i;) {\n e[r].animation === a && (e.splice(r, 1), r -= 1, i -= 1, a.isPaused || p()), r += 1;\n }\n }\n\n function h(t, r) {\n if (!t) return null;\n\n for (var a = 0; a < i;) {\n if (e[a].elem === t && null !== e[a].elem) return e[a].animation;\n a += 1;\n }\n\n var s = new AnimationItem();\n return c(s, t), s.setData(t, r), s;\n }\n\n function l() {\n a += 1, m();\n }\n\n function p() {\n a -= 1;\n }\n\n function c(t, r) {\n t.addEventListener(\"destroy\", o), t.addEventListener(\"_active\", l), t.addEventListener(\"_idle\", p), e.push({\n elem: r,\n animation: t\n }), i += 1;\n }\n\n function f(t) {\n var o,\n h = t - r;\n\n for (o = 0; o < i; o += 1) {\n e[o].animation.advanceTime(h);\n }\n\n r = t, a && !n ? window.requestAnimationFrame(f) : s = !0;\n }\n\n function d(t) {\n r = t, window.requestAnimationFrame(f);\n }\n\n function m() {\n !n && a && s && (window.requestAnimationFrame(d), s = !1);\n }\n\n return t.registerAnimation = h, t.loadAnimation = function (t) {\n var e = new AnimationItem();\n return c(e, null), e.setParams(t), e;\n }, t.setSpeed = function (t, r) {\n var a;\n\n for (a = 0; a < i; a += 1) {\n e[a].animation.setSpeed(t, r);\n }\n }, t.setDirection = function (t, r) {\n var a;\n\n for (a = 0; a < i; a += 1) {\n e[a].animation.setDirection(t, r);\n }\n }, t.play = function (t) {\n var r;\n\n for (r = 0; r < i; r += 1) {\n e[r].animation.play(t);\n }\n }, t.pause = function (t) {\n var r;\n\n for (r = 0; r < i; r += 1) {\n e[r].animation.pause(t);\n }\n }, t.stop = function (t) {\n var r;\n\n for (r = 0; r < i; r += 1) {\n e[r].animation.stop(t);\n }\n }, t.togglePause = function (t) {\n var r;\n\n for (r = 0; r < i; r += 1) {\n e[r].animation.togglePause(t);\n }\n }, t.searchAnimations = function (t, e, r) {\n var i,\n a = [].concat([].slice.call(document.getElementsByClassName(\"lottie\")), [].slice.call(document.getElementsByClassName(\"bodymovin\"))),\n s = a.length;\n\n for (i = 0; i < s; i += 1) {\n r && a[i].setAttribute(\"data-bm-type\", r), h(a[i], t);\n }\n\n if (e && 0 === s) {\n r || (r = \"svg\");\n var n = document.getElementsByTagName(\"body\")[0];\n n.innerText = \"\";\n var o = createTag(\"div\");\n o.style.width = \"100%\", o.style.height = \"100%\", o.setAttribute(\"data-bm-type\", r), n.appendChild(o), h(o, t);\n }\n }, t.resize = function () {\n var t;\n\n for (t = 0; t < i; t += 1) {\n e[t].animation.resize();\n }\n }, t.goToAndStop = function (t, r, a) {\n var s;\n\n for (s = 0; s < i; s += 1) {\n e[s].animation.goToAndStop(t, r, a);\n }\n }, t.destroy = function (t) {\n var r;\n\n for (r = i - 1; r >= 0; r -= 1) {\n e[r].animation.destroy(t);\n }\n }, t.freeze = function () {\n n = !0;\n }, t.unfreeze = function () {\n n = !1, m();\n }, t.setVolume = function (t, r) {\n var a;\n\n for (a = 0; a < i; a += 1) {\n e[a].animation.setVolume(t, r);\n }\n }, t.mute = function (t) {\n var r;\n\n for (r = 0; r < i; r += 1) {\n e[r].animation.mute(t);\n }\n }, t.unmute = function (t) {\n var r;\n\n for (r = 0; r < i; r += 1) {\n e[r].animation.unmute(t);\n }\n }, t.getRegisteredAnimations = function () {\n var t,\n r = e.length,\n i = [];\n\n for (t = 0; t < r; t += 1) {\n i.push(e[t].animation);\n }\n\n return i;\n }, t;\n }(),\n AnimationItem = function AnimationItem() {\n this._cbs = [], this.name = \"\", this.path = \"\", this.isLoaded = !1, this.currentFrame = 0, this.currentRawFrame = 0, this.firstFrame = 0, this.totalFrames = 0, this.frameRate = 0, this.frameMult = 0, this.playSpeed = 1, this.playDirection = 1, this.playCount = 0, this.animationData = {}, this.assets = [], this.isPaused = !0, this.autoplay = !1, this.loop = !0, this.renderer = null, this.animationID = createElementID(), this.assetsPath = \"\", this.timeCompleted = 0, this.segmentPos = 0, this.isSubframeEnabled = subframeEnabled, this.segments = [], this._idle = !0, this._completedLoop = !1, this.projectInterface = ProjectInterface(), this.imagePreloader = new ImagePreloader(), this.audioController = audioControllerFactory(), this.markers = [], this.configAnimation = this.configAnimation.bind(this), this.onSetupError = this.onSetupError.bind(this), this.onSegmentComplete = this.onSegmentComplete.bind(this);\n };\n\n extendPrototype([BaseEvent], AnimationItem), AnimationItem.prototype.setParams = function (t) {\n (t.wrapper || t.container) && (this.wrapper = t.wrapper || t.container);\n var e = \"svg\";\n\n switch (t.animType ? e = t.animType : t.renderer && (e = t.renderer), e) {\n case \"canvas\":\n this.renderer = new CanvasRenderer(this, t.rendererSettings);\n break;\n\n case \"svg\":\n this.renderer = new SVGRenderer(this, t.rendererSettings);\n break;\n\n default:\n this.renderer = new HybridRenderer(this, t.rendererSettings);\n }\n\n this.imagePreloader.setCacheType(e, this.renderer.globalData.defs), this.renderer.setProjectInterface(this.projectInterface), this.animType = e, \"\" === t.loop || null === t.loop || void 0 === t.loop || !0 === t.loop ? this.loop = !0 : !1 === t.loop ? this.loop = !1 : this.loop = parseInt(t.loop, 10), this.autoplay = !(\"autoplay\" in t) || t.autoplay, this.name = t.name ? t.name : \"\", this.autoloadSegments = !Object.prototype.hasOwnProperty.call(t, \"autoloadSegments\") || t.autoloadSegments, this.assetsPath = t.assetsPath, this.initialSegment = t.initialSegment, t.audioFactory && this.audioController.setAudioFactory(t.audioFactory), t.animationData ? this.setupAnimation(t.animationData) : t.path && (-1 !== t.path.lastIndexOf(\"\\\\\") ? this.path = t.path.substr(0, t.path.lastIndexOf(\"\\\\\") + 1) : this.path = t.path.substr(0, t.path.lastIndexOf(\"/\") + 1), this.fileName = t.path.substr(t.path.lastIndexOf(\"/\") + 1), this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf(\".json\")), dataManager.loadAnimation(t.path, this.configAnimation, this.onSetupError));\n }, AnimationItem.prototype.onSetupError = function () {\n this.trigger(\"data_failed\");\n }, AnimationItem.prototype.setupAnimation = function (t) {\n dataManager.completeAnimation(t, this.configAnimation);\n }, AnimationItem.prototype.setData = function (t, e) {\n e && \"object\" != _typeof2(e) && (e = JSON.parse(e));\n var r = {\n wrapper: t,\n animationData: e\n },\n i = t.attributes;\n r.path = i.getNamedItem(\"data-animation-path\") ? i.getNamedItem(\"data-animation-path\").value : i.getNamedItem(\"data-bm-path\") ? i.getNamedItem(\"data-bm-path\").value : i.getNamedItem(\"bm-path\") ? i.getNamedItem(\"bm-path\").value : \"\", r.animType = i.getNamedItem(\"data-anim-type\") ? i.getNamedItem(\"data-anim-type\").value : i.getNamedItem(\"data-bm-type\") ? i.getNamedItem(\"data-bm-type\").value : i.getNamedItem(\"bm-type\") ? i.getNamedItem(\"bm-type\").value : i.getNamedItem(\"data-bm-renderer\") ? i.getNamedItem(\"data-bm-renderer\").value : i.getNamedItem(\"bm-renderer\") ? i.getNamedItem(\"bm-renderer\").value : \"canvas\";\n var a = i.getNamedItem(\"data-anim-loop\") ? i.getNamedItem(\"data-anim-loop\").value : i.getNamedItem(\"data-bm-loop\") ? i.getNamedItem(\"data-bm-loop\").value : i.getNamedItem(\"bm-loop\") ? i.getNamedItem(\"bm-loop\").value : \"\";\n \"false\" === a ? r.loop = !1 : \"true\" === a ? r.loop = !0 : \"\" !== a && (r.loop = parseInt(a, 10));\n var s = i.getNamedItem(\"data-anim-autoplay\") ? i.getNamedItem(\"data-anim-autoplay\").value : i.getNamedItem(\"data-bm-autoplay\") ? i.getNamedItem(\"data-bm-autoplay\").value : !i.getNamedItem(\"bm-autoplay\") || i.getNamedItem(\"bm-autoplay\").value;\n r.autoplay = \"false\" !== s, r.name = i.getNamedItem(\"data-name\") ? i.getNamedItem(\"data-name\").value : i.getNamedItem(\"data-bm-name\") ? i.getNamedItem(\"data-bm-name\").value : i.getNamedItem(\"bm-name\") ? i.getNamedItem(\"bm-name\").value : \"\", \"false\" === (i.getNamedItem(\"data-anim-prerender\") ? i.getNamedItem(\"data-anim-prerender\").value : i.getNamedItem(\"data-bm-prerender\") ? i.getNamedItem(\"data-bm-prerender\").value : i.getNamedItem(\"bm-prerender\") ? i.getNamedItem(\"bm-prerender\").value : \"\") && (r.prerender = !1), this.setParams(r);\n }, AnimationItem.prototype.includeLayers = function (t) {\n t.op > this.animationData.op && (this.animationData.op = t.op, this.totalFrames = Math.floor(t.op - this.animationData.ip));\n var e,\n r,\n i = this.animationData.layers,\n a = i.length,\n s = t.layers,\n n = s.length;\n\n for (r = 0; r < n; r += 1) {\n for (e = 0; e < a;) {\n if (i[e].id === s[r].id) {\n i[e] = s[r];\n break;\n }\n\n e += 1;\n }\n }\n\n if ((t.chars || t.fonts) && (this.renderer.globalData.fontManager.addChars(t.chars), this.renderer.globalData.fontManager.addFonts(t.fonts, this.renderer.globalData.defs)), t.assets) for (a = t.assets.length, e = 0; e < a; e += 1) {\n this.animationData.assets.push(t.assets[e]);\n }\n this.animationData.__complete = !1, dataManager.completeAnimation(this.animationData, this.onSegmentComplete);\n }, AnimationItem.prototype.onSegmentComplete = function (t) {\n this.animationData = t, expressionsPlugin && expressionsPlugin.initExpressions(this), this.loadNextSegment();\n }, AnimationItem.prototype.loadNextSegment = function () {\n var t = this.animationData.segments;\n if (!t || 0 === t.length || !this.autoloadSegments) return this.trigger(\"data_ready\"), void (this.timeCompleted = this.totalFrames);\n var e = t.shift();\n this.timeCompleted = e.time * this.frameRate;\n var r = this.path + this.fileName + \"_\" + this.segmentPos + \".json\";\n this.segmentPos += 1, dataManager.loadData(r, this.includeLayers.bind(this), function () {\n this.trigger(\"data_failed\");\n }.bind(this));\n }, AnimationItem.prototype.loadSegments = function () {\n this.animationData.segments || (this.timeCompleted = this.totalFrames), this.loadNextSegment();\n }, AnimationItem.prototype.imagesLoaded = function () {\n this.trigger(\"loaded_images\"), this.checkLoaded();\n }, AnimationItem.prototype.preloadImages = function () {\n this.imagePreloader.setAssetsPath(this.assetsPath), this.imagePreloader.setPath(this.path), this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));\n }, AnimationItem.prototype.configAnimation = function (t) {\n if (this.renderer) try {\n this.animationData = t, this.initialSegment ? (this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]), this.firstFrame = Math.round(this.initialSegment[0])) : (this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip), this.firstFrame = Math.round(this.animationData.ip)), this.renderer.configAnimation(t), t.assets || (t.assets = []), this.assets = this.animationData.assets, this.frameRate = this.animationData.fr, this.frameMult = this.animationData.fr / 1e3, this.renderer.searchExtraCompositions(t.assets), this.markers = markerParser(t.markers || []), this.trigger(\"config_ready\"), this.preloadImages(), this.loadSegments(), this.updaFrameModifier(), this.waitForFontsLoaded(), this.isPaused && this.audioController.pause();\n } catch (t) {\n this.triggerConfigError(t);\n }\n }, AnimationItem.prototype.waitForFontsLoaded = function () {\n this.renderer && (this.renderer.globalData.fontManager.isLoaded ? this.checkLoaded() : setTimeout(this.waitForFontsLoaded.bind(this), 20));\n }, AnimationItem.prototype.checkLoaded = function () {\n !this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || \"canvas\" !== this.renderer.rendererType) && this.imagePreloader.loadedFootages() && (this.isLoaded = !0, expressionsPlugin && expressionsPlugin.initExpressions(this), this.renderer.initItems(), setTimeout(function () {\n this.trigger(\"DOMLoaded\");\n }.bind(this), 0), this.gotoFrame(), this.autoplay && this.play());\n }, AnimationItem.prototype.resize = function () {\n this.renderer.updateContainerSize();\n }, AnimationItem.prototype.setSubframe = function (t) {\n this.isSubframeEnabled = !!t;\n }, AnimationItem.prototype.gotoFrame = function () {\n this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame, this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted && (this.currentFrame = this.timeCompleted), this.trigger(\"enterFrame\"), this.renderFrame(), this.trigger(\"drawnFrame\");\n }, AnimationItem.prototype.renderFrame = function () {\n if (!1 !== this.isLoaded && this.renderer) try {\n this.renderer.renderFrame(this.currentFrame + this.firstFrame);\n } catch (t) {\n this.triggerRenderFrameError(t);\n }\n }, AnimationItem.prototype.play = function (t) {\n t && this.name !== t || !0 === this.isPaused && (this.isPaused = !1, this.audioController.resume(), this._idle && (this._idle = !1, this.trigger(\"_active\")));\n }, AnimationItem.prototype.pause = function (t) {\n t && this.name !== t || !1 === this.isPaused && (this.isPaused = !0, this._idle = !0, this.trigger(\"_idle\"), this.audioController.pause());\n }, AnimationItem.prototype.togglePause = function (t) {\n t && this.name !== t || (!0 === this.isPaused ? this.play() : this.pause());\n }, AnimationItem.prototype.stop = function (t) {\n t && this.name !== t || (this.pause(), this.playCount = 0, this._completedLoop = !1, this.setCurrentRawFrameValue(0));\n }, AnimationItem.prototype.getMarkerData = function (t) {\n for (var e, r = 0; r < this.markers.length; r += 1) {\n if ((e = this.markers[r]).payload && e.payload.name === t) return e;\n }\n\n return null;\n }, AnimationItem.prototype.goToAndStop = function (t, e, r) {\n if (!r || this.name === r) {\n var i = Number(t);\n\n if (isNaN(i)) {\n var a = this.getMarkerData(t);\n a && this.goToAndStop(a.time, !0);\n } else e ? this.setCurrentRawFrameValue(t) : this.setCurrentRawFrameValue(t * this.frameModifier);\n\n this.pause();\n }\n }, AnimationItem.prototype.goToAndPlay = function (t, e, r) {\n if (!r || this.name === r) {\n var i = Number(t);\n\n if (isNaN(i)) {\n var a = this.getMarkerData(t);\n a && (a.duration ? this.playSegments([a.time, a.time + a.duration], !0) : this.goToAndStop(a.time, !0));\n } else this.goToAndStop(i, e, r);\n\n this.play();\n }\n }, AnimationItem.prototype.advanceTime = function (t) {\n if (!0 !== this.isPaused && !1 !== this.isLoaded) {\n var e = this.currentRawFrame + t * this.frameModifier,\n r = !1;\n e >= this.totalFrames - 1 && this.frameModifier > 0 ? this.loop && this.playCount !== this.loop ? e >= this.totalFrames ? (this.playCount += 1, this.checkSegments(e % this.totalFrames) || (this.setCurrentRawFrameValue(e % this.totalFrames), this._completedLoop = !0, this.trigger(\"loopComplete\"))) : this.setCurrentRawFrameValue(e) : this.checkSegments(e > this.totalFrames ? e % this.totalFrames : 0) || (r = !0, e = this.totalFrames - 1) : e < 0 ? this.checkSegments(e % this.totalFrames) || (!this.loop || this.playCount-- <= 0 && !0 !== this.loop ? (r = !0, e = 0) : (this.setCurrentRawFrameValue(this.totalFrames + e % this.totalFrames), this._completedLoop ? this.trigger(\"loopComplete\") : this._completedLoop = !0)) : this.setCurrentRawFrameValue(e), r && (this.setCurrentRawFrameValue(e), this.pause(), this.trigger(\"complete\"));\n }\n }, AnimationItem.prototype.adjustSegment = function (t, e) {\n this.playCount = 0, t[1] < t[0] ? (this.frameModifier > 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(-1)), this.totalFrames = t[0] - t[1], this.timeCompleted = this.totalFrames, this.firstFrame = t[1], this.setCurrentRawFrameValue(this.totalFrames - .001 - e)) : t[1] > t[0] && (this.frameModifier < 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(1)), this.totalFrames = t[1] - t[0], this.timeCompleted = this.totalFrames, this.firstFrame = t[0], this.setCurrentRawFrameValue(.001 + e)), this.trigger(\"segmentStart\");\n }, AnimationItem.prototype.setSegment = function (t, e) {\n var r = -1;\n this.isPaused && (this.currentRawFrame + this.firstFrame < t ? r = t : this.currentRawFrame + this.firstFrame > e && (r = e - t)), this.firstFrame = t, this.totalFrames = e - t, this.timeCompleted = this.totalFrames, -1 !== r && this.goToAndStop(r, !0);\n }, AnimationItem.prototype.playSegments = function (t, e) {\n if (e && (this.segments.length = 0), \"object\" == _typeof2(t[0])) {\n var r,\n i = t.length;\n\n for (r = 0; r < i; r += 1) {\n this.segments.push(t[r]);\n }\n } else this.segments.push(t);\n\n this.segments.length && e && this.adjustSegment(this.segments.shift(), 0), this.isPaused && this.play();\n }, AnimationItem.prototype.resetSegments = function (t) {\n this.segments.length = 0, this.segments.push([this.animationData.ip, this.animationData.op]), t && this.checkSegments(0);\n }, AnimationItem.prototype.checkSegments = function (t) {\n return !!this.segments.length && (this.adjustSegment(this.segments.shift(), t), !0);\n }, AnimationItem.prototype.destroy = function (t) {\n t && this.name !== t || !this.renderer || (this.renderer.destroy(), this.imagePreloader.destroy(), this.trigger(\"destroy\"), this._cbs = null, this.onEnterFrame = null, this.onLoopComplete = null, this.onComplete = null, this.onSegmentStart = null, this.onDestroy = null, this.renderer = null, this.renderer = null, this.imagePreloader = null, this.projectInterface = null);\n }, AnimationItem.prototype.setCurrentRawFrameValue = function (t) {\n this.currentRawFrame = t, this.gotoFrame();\n }, AnimationItem.prototype.setSpeed = function (t) {\n this.playSpeed = t, this.updaFrameModifier();\n }, AnimationItem.prototype.setDirection = function (t) {\n this.playDirection = t < 0 ? -1 : 1, this.updaFrameModifier();\n }, AnimationItem.prototype.setVolume = function (t, e) {\n e && this.name !== e || this.audioController.setVolume(t);\n }, AnimationItem.prototype.getVolume = function () {\n return this.audioController.getVolume();\n }, AnimationItem.prototype.mute = function (t) {\n t && this.name !== t || this.audioController.mute();\n }, AnimationItem.prototype.unmute = function (t) {\n t && this.name !== t || this.audioController.unmute();\n }, AnimationItem.prototype.updaFrameModifier = function () {\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection, this.audioController.setRate(this.playSpeed * this.playDirection);\n }, AnimationItem.prototype.getPath = function () {\n return this.path;\n }, AnimationItem.prototype.getAssetsPath = function (t) {\n var e = \"\";\n if (t.e) e = t.p;else if (this.assetsPath) {\n var r = t.p;\n -1 !== r.indexOf(\"images/\") && (r = r.split(\"/\")[1]), e = this.assetsPath + r;\n } else e = this.path, e += t.u ? t.u : \"\", e += t.p;\n return e;\n }, AnimationItem.prototype.getAssetData = function (t) {\n for (var e = 0, r = this.assets.length; e < r;) {\n if (t === this.assets[e].id) return this.assets[e];\n e += 1;\n }\n\n return null;\n }, AnimationItem.prototype.hide = function () {\n this.renderer.hide();\n }, AnimationItem.prototype.show = function () {\n this.renderer.show();\n }, AnimationItem.prototype.getDuration = function (t) {\n return t ? this.totalFrames : this.totalFrames / this.frameRate;\n }, AnimationItem.prototype.trigger = function (t) {\n if (this._cbs && this._cbs[t]) switch (t) {\n case \"enterFrame\":\n case \"drawnFrame\":\n this.triggerEvent(t, new BMEnterFrameEvent(t, this.currentFrame, this.totalFrames, this.frameModifier));\n break;\n\n case \"loopComplete\":\n this.triggerEvent(t, new BMCompleteLoopEvent(t, this.loop, this.playCount, this.frameMult));\n break;\n\n case \"complete\":\n this.triggerEvent(t, new BMCompleteEvent(t, this.frameMult));\n break;\n\n case \"segmentStart\":\n this.triggerEvent(t, new BMSegmentStartEvent(t, this.firstFrame, this.totalFrames));\n break;\n\n case \"destroy\":\n this.triggerEvent(t, new BMDestroyEvent(t, this));\n break;\n\n default:\n this.triggerEvent(t);\n }\n \"enterFrame\" === t && this.onEnterFrame && this.onEnterFrame.call(this, new BMEnterFrameEvent(t, this.currentFrame, this.totalFrames, this.frameMult)), \"loopComplete\" === t && this.onLoopComplete && this.onLoopComplete.call(this, new BMCompleteLoopEvent(t, this.loop, this.playCount, this.frameMult)), \"complete\" === t && this.onComplete && this.onComplete.call(this, new BMCompleteEvent(t, this.frameMult)), \"segmentStart\" === t && this.onSegmentStart && this.onSegmentStart.call(this, new BMSegmentStartEvent(t, this.firstFrame, this.totalFrames)), \"destroy\" === t && this.onDestroy && this.onDestroy.call(this, new BMDestroyEvent(t, this));\n }, AnimationItem.prototype.triggerRenderFrameError = function (t) {\n var e = new BMRenderFrameErrorEvent(t, this.currentFrame);\n this.triggerEvent(\"error\", e), this.onError && this.onError.call(this, e);\n }, AnimationItem.prototype.triggerConfigError = function (t) {\n var e = new BMConfigErrorEvent(t, this.currentFrame);\n this.triggerEvent(\"error\", e), this.onError && this.onError.call(this, e);\n };\n\n var Expressions = function () {\n var t = {\n initExpressions: function initExpressions(t) {\n var e = 0,\n r = [];\n t.renderer.compInterface = CompExpressionInterface(t.renderer), t.renderer.globalData.projectInterface.registerComposition(t.renderer), t.renderer.globalData.pushExpression = function () {\n e += 1;\n }, t.renderer.globalData.popExpression = function () {\n 0 == (e -= 1) && function () {\n var t,\n e = r.length;\n\n for (t = 0; t < e; t += 1) {\n r[t].release();\n }\n\n r.length = 0;\n }();\n }, t.renderer.globalData.registerExpressionProperty = function (t) {\n -1 === r.indexOf(t) && r.push(t);\n };\n }\n };\n return t;\n }();\n\n expressionsPlugin = Expressions;\n\n var ExpressionManager = function () {\n var ob = {},\n Math = BMMath,\n window = null,\n document = null,\n XMLHttpRequest = null,\n fetch = null,\n frames = null;\n\n function $bm_isInstanceOfArray(t) {\n return t.constructor === Array || t.constructor === Float32Array;\n }\n\n function isNumerable(t, e) {\n return \"number\" === t || \"boolean\" === t || \"string\" === t || e instanceof Number;\n }\n\n function $bm_neg(t) {\n var e = _typeof2(t);\n\n if (\"number\" === e || \"boolean\" === e || t instanceof Number) return -t;\n\n if ($bm_isInstanceOfArray(t)) {\n var r,\n i = t.length,\n a = [];\n\n for (r = 0; r < i; r += 1) {\n a[r] = -t[r];\n }\n\n return a;\n }\n\n return t.propType ? t.v : -t;\n }\n\n var easeInBez = BezierFactory.getBezierEasing(.333, 0, .833, .833, \"easeIn\").get,\n easeOutBez = BezierFactory.getBezierEasing(.167, .167, .667, 1, \"easeOut\").get,\n easeInOutBez = BezierFactory.getBezierEasing(.33, 0, .667, 1, \"easeInOut\").get;\n\n function sum(t, e) {\n var r = _typeof2(t),\n i = _typeof2(e);\n\n if (\"string\" === r || \"string\" === i) return t + e;\n if (isNumerable(r, t) && isNumerable(i, e)) return t + e;\n if ($bm_isInstanceOfArray(t) && isNumerable(i, e)) return (t = t.slice(0))[0] += e, t;\n if (isNumerable(r, t) && $bm_isInstanceOfArray(e)) return (e = e.slice(0))[0] = t + e[0], e;\n\n if ($bm_isInstanceOfArray(t) && $bm_isInstanceOfArray(e)) {\n for (var a = 0, s = t.length, n = e.length, o = []; a < s || a < n;) {\n (\"number\" == typeof t[a] || t[a] instanceof Number) && (\"number\" == typeof e[a] || e[a] instanceof Number) ? o[a] = t[a] + e[a] : o[a] = void 0 === e[a] ? t[a] : t[a] || e[a], a += 1;\n }\n\n return o;\n }\n\n return 0;\n }\n\n var add = sum;\n\n function sub(t, e) {\n var r = _typeof2(t),\n i = _typeof2(e);\n\n if (isNumerable(r, t) && isNumerable(i, e)) return \"string\" === r && (t = parseInt(t, 10)), \"string\" === i && (e = parseInt(e, 10)), t - e;\n if ($bm_isInstanceOfArray(t) && isNumerable(i, e)) return (t = t.slice(0))[0] -= e, t;\n if (isNumerable(r, t) && $bm_isInstanceOfArray(e)) return (e = e.slice(0))[0] = t - e[0], e;\n\n if ($bm_isInstanceOfArray(t) && $bm_isInstanceOfArray(e)) {\n for (var a = 0, s = t.length, n = e.length, o = []; a < s || a < n;) {\n (\"number\" == typeof t[a] || t[a] instanceof Number) && (\"number\" == typeof e[a] || e[a] instanceof Number) ? o[a] = t[a] - e[a] : o[a] = void 0 === e[a] ? t[a] : t[a] || e[a], a += 1;\n }\n\n return o;\n }\n\n return 0;\n }\n\n function mul(t, e) {\n var r,\n i,\n a,\n s = _typeof2(t),\n n = _typeof2(e);\n\n if (isNumerable(s, t) && isNumerable(n, e)) return t * e;\n\n if ($bm_isInstanceOfArray(t) && isNumerable(n, e)) {\n for (a = t.length, r = createTypedArray(\"float32\", a), i = 0; i < a; i += 1) {\n r[i] = t[i] * e;\n }\n\n return r;\n }\n\n if (isNumerable(s, t) && $bm_isInstanceOfArray(e)) {\n for (a = e.length, r = createTypedArray(\"float32\", a), i = 0; i < a; i += 1) {\n r[i] = t * e[i];\n }\n\n return r;\n }\n\n return 0;\n }\n\n function div(t, e) {\n var r,\n i,\n a,\n s = _typeof2(t),\n n = _typeof2(e);\n\n if (isNumerable(s, t) && isNumerable(n, e)) return t / e;\n\n if ($bm_isInstanceOfArray(t) && isNumerable(n, e)) {\n for (a = t.length, r = createTypedArray(\"float32\", a), i = 0; i < a; i += 1) {\n r[i] = t[i] / e;\n }\n\n return r;\n }\n\n if (isNumerable(s, t) && $bm_isInstanceOfArray(e)) {\n for (a = e.length, r = createTypedArray(\"float32\", a), i = 0; i < a; i += 1) {\n r[i] = t / e[i];\n }\n\n return r;\n }\n\n return 0;\n }\n\n function mod(t, e) {\n return \"string\" == typeof t && (t = parseInt(t, 10)), \"string\" == typeof e && (e = parseInt(e, 10)), t % e;\n }\n\n var $bm_sum = sum,\n $bm_sub = sub,\n $bm_mul = mul,\n $bm_div = div,\n $bm_mod = mod;\n\n function clamp(t, e, r) {\n if (e > r) {\n var i = r;\n r = e, e = i;\n }\n\n return Math.min(Math.max(t, e), r);\n }\n\n function radiansToDegrees(t) {\n return t / degToRads;\n }\n\n var radians_to_degrees = radiansToDegrees;\n\n function degreesToRadians(t) {\n return t * degToRads;\n }\n\n var degrees_to_radians = radiansToDegrees,\n helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n function length(t, e) {\n if (\"number\" == typeof t || t instanceof Number) return e = e || 0, Math.abs(t - e);\n var r;\n e || (e = helperLengthArray);\n var i = Math.min(t.length, e.length),\n a = 0;\n\n for (r = 0; r < i; r += 1) {\n a += Math.pow(e[r] - t[r], 2);\n }\n\n return Math.sqrt(a);\n }\n\n function normalize(t) {\n return div(t, length(t));\n }\n\n function rgbToHsl(t) {\n var e,\n r,\n i = t[0],\n a = t[1],\n s = t[2],\n n = Math.max(i, a, s),\n o = Math.min(i, a, s),\n h = (n + o) / 2;\n if (n === o) e = 0, r = 0;else {\n var l = n - o;\n\n switch (r = h > .5 ? l / (2 - n - o) : l / (n + o), n) {\n case i:\n e = (a - s) / l + (a < s ? 6 : 0);\n break;\n\n case a:\n e = (s - i) / l + 2;\n break;\n\n case s:\n e = (i - a) / l + 4;\n }\n\n e /= 6;\n }\n return [e, r, h, t[3]];\n }\n\n function hue2rgb(t, e, r) {\n return r < 0 && (r += 1), r > 1 && (r -= 1), r < 1 / 6 ? t + 6 * (e - t) * r : r < .5 ? e : r < 2 / 3 ? t + (e - t) * (2 / 3 - r) * 6 : t;\n }\n\n function hslToRgb(t) {\n var e,\n r,\n i,\n a = t[0],\n s = t[1],\n n = t[2];\n if (0 === s) e = n, i = n, r = n;else {\n var o = n < .5 ? n * (1 + s) : n + s - n * s,\n h = 2 * n - o;\n e = hue2rgb(h, o, a + 1 / 3), r = hue2rgb(h, o, a), i = hue2rgb(h, o, a - 1 / 3);\n }\n return [e, r, i, t[3]];\n }\n\n function linear(t, e, r, i, a) {\n if (void 0 !== i && void 0 !== a || (i = e, a = r, e = 0, r = 1), r < e) {\n var s = r;\n r = e, e = s;\n }\n\n if (t <= e) return i;\n if (t >= r) return a;\n var n,\n o = r === e ? 0 : (t - e) / (r - e);\n if (!i.length) return i + (a - i) * o;\n var h = i.length,\n l = createTypedArray(\"float32\", h);\n\n for (n = 0; n < h; n += 1) {\n l[n] = i[n] + (a[n] - i[n]) * o;\n }\n\n return l;\n }\n\n function random(t, e) {\n if (void 0 === e && (void 0 === t ? (t = 0, e = 1) : (e = t, t = void 0)), e.length) {\n var r,\n i = e.length;\n t || (t = createTypedArray(\"float32\", i));\n var a = createTypedArray(\"float32\", i),\n s = BMMath.random();\n\n for (r = 0; r < i; r += 1) {\n a[r] = t[r] + s * (e[r] - t[r]);\n }\n\n return a;\n }\n\n return void 0 === t && (t = 0), t + BMMath.random() * (e - t);\n }\n\n function createPath(t, e, r, i) {\n var a,\n s = t.length,\n n = shapePool.newElement();\n n.setPathData(!!i, s);\n var o,\n h,\n l = [0, 0];\n\n for (a = 0; a < s; a += 1) {\n o = e && e[a] ? e[a] : l, h = r && r[a] ? r[a] : l, n.setTripleAt(t[a][0], t[a][1], h[0] + t[a][0], h[1] + t[a][1], o[0] + t[a][0], o[1] + t[a][1], a, !0);\n }\n\n return n;\n }\n\n function initiateExpression(elem, data, property) {\n var val = data.x,\n needsVelocity = /velocity(?![\\w\\d])/.test(val),\n _needsRandom = -1 !== val.indexOf(\"random\"),\n elemType = elem.data.ty,\n transform,\n $bm_transform,\n content,\n effect,\n thisProperty = property;\n\n thisProperty.valueAtTime = thisProperty.getValueAtTime, Object.defineProperty(thisProperty, \"value\", {\n get: function get() {\n return thisProperty.v;\n }\n }), elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate, elem.comp.displayStartTime = 0;\n\n var inPoint = elem.data.ip / elem.comp.globalData.frameRate,\n outPoint = elem.data.op / elem.comp.globalData.frameRate,\n width = elem.data.sw ? elem.data.sw : 0,\n height = elem.data.sh ? elem.data.sh : 0,\n name = elem.data.nm,\n loopIn,\n loop_in,\n loopOut,\n loop_out,\n smooth,\n toWorld,\n fromWorld,\n fromComp,\n toComp,\n fromCompToSurface,\n position,\n rotation,\n anchorPoint,\n scale,\n thisLayer,\n thisComp,\n mask,\n valueAtTime,\n velocityAtTime,\n scoped_bm_rt,\n expression_function = eval(\"[function _expression_function(){\" + val + \";scoped_bm_rt=$bm_rt}]\")[0],\n numKeys = property.kf ? data.k.length : 0,\n active = !this.data || !0 !== this.data.hd,\n wiggle = function (t, e) {\n var r,\n i,\n a = this.pv.length ? this.pv.length : 1,\n s = createTypedArray(\"float32\", a),\n n = Math.floor(5 * time);\n\n for (r = 0, i = 0; r < n;) {\n for (i = 0; i < a; i += 1) {\n s[i] += -e + 2 * e * BMMath.random();\n }\n\n r += 1;\n }\n\n var o = 5 * time,\n h = o - Math.floor(o),\n l = createTypedArray(\"float32\", a);\n\n if (a > 1) {\n for (i = 0; i < a; i += 1) {\n l[i] = this.pv[i] + s[i] + (-e + 2 * e * BMMath.random()) * h;\n }\n\n return l;\n }\n\n return this.pv + s[0] + (-e + 2 * e * BMMath.random()) * h;\n }.bind(this);\n\n function loopInDuration(t, e) {\n return loopIn(t, e, !0);\n }\n\n function loopOutDuration(t, e) {\n return loopOut(t, e, !0);\n }\n\n thisProperty.loopIn && (loopIn = thisProperty.loopIn.bind(thisProperty), loop_in = loopIn), thisProperty.loopOut && (loopOut = thisProperty.loopOut.bind(thisProperty), loop_out = loopOut), thisProperty.smooth && (smooth = thisProperty.smooth.bind(thisProperty)), this.getValueAtTime && (valueAtTime = this.getValueAtTime.bind(this)), this.getVelocityAtTime && (velocityAtTime = this.getVelocityAtTime.bind(this));\n var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface),\n time,\n velocity,\n value,\n text,\n textIndex,\n textTotal,\n selectorValue;\n\n function lookAt(t, e) {\n var r = [e[0] - t[0], e[1] - t[1], e[2] - t[2]],\n i = Math.atan2(r[0], Math.sqrt(r[1] * r[1] + r[2] * r[2])) / degToRads;\n return [-Math.atan2(r[1], r[2]) / degToRads, i, 0];\n }\n\n function easeOut(t, e, r, i, a) {\n return applyEase(easeOutBez, t, e, r, i, a);\n }\n\n function easeIn(t, e, r, i, a) {\n return applyEase(easeInBez, t, e, r, i, a);\n }\n\n function ease(t, e, r, i, a) {\n return applyEase(easeInOutBez, t, e, r, i, a);\n }\n\n function applyEase(t, e, r, i, a, s) {\n void 0 === a ? (a = r, s = i) : e = (e - r) / (i - r), e > 1 ? e = 1 : e < 0 && (e = 0);\n var n = t(e);\n\n if ($bm_isInstanceOfArray(a)) {\n var o,\n h = a.length,\n l = createTypedArray(\"float32\", h);\n\n for (o = 0; o < h; o += 1) {\n l[o] = (s[o] - a[o]) * n + a[o];\n }\n\n return l;\n }\n\n return (s - a) * n + a;\n }\n\n function nearestKey(t) {\n var e,\n r,\n i,\n a = data.k.length;\n if (data.k.length && \"number\" != typeof data.k[0]) {\n if (r = -1, (t *= elem.comp.globalData.frameRate) < data.k[0].t) r = 1, i = data.k[0].t;else {\n for (e = 0; e < a - 1; e += 1) {\n if (t === data.k[e].t) {\n r = e + 1, i = data.k[e].t;\n break;\n }\n\n if (t > data.k[e].t && t < data.k[e + 1].t) {\n t - data.k[e].t > data.k[e + 1].t - t ? (r = e + 2, i = data.k[e + 1].t) : (r = e + 1, i = data.k[e].t);\n break;\n }\n }\n\n -1 === r && (r = e + 1, i = data.k[e].t);\n }\n } else r = 0, i = 0;\n var s = {};\n return s.index = r, s.time = i / elem.comp.globalData.frameRate, s;\n }\n\n function key(t) {\n var e, r, i;\n if (!data.k.length || \"number\" == typeof data.k[0]) throw new Error(\"The property has no keyframe at index \" + t);\n t -= 1, e = {\n time: data.k[t].t / elem.comp.globalData.frameRate,\n value: []\n };\n var a = Object.prototype.hasOwnProperty.call(data.k[t], \"s\") ? data.k[t].s : data.k[t - 1].e;\n\n for (i = a.length, r = 0; r < i; r += 1) {\n e[r] = a[r], e.value[r] = a[r];\n }\n\n return e;\n }\n\n function framesToTime(t, e) {\n return e || (e = elem.comp.globalData.frameRate), t / e;\n }\n\n function timeToFrames(t, e) {\n return t || 0 === t || (t = time), e || (e = elem.comp.globalData.frameRate), t * e;\n }\n\n function seedRandom(t) {\n BMMath.seedrandom(randSeed + t);\n }\n\n function sourceRectAtTime() {\n return elem.sourceRectAtTime();\n }\n\n function substring(t, e) {\n return \"string\" == typeof value ? void 0 === e ? value.substring(t) : value.substring(t, e) : \"\";\n }\n\n function substr(t, e) {\n return \"string\" == typeof value ? void 0 === e ? value.substr(t) : value.substr(t, e) : \"\";\n }\n\n function posterizeTime(t) {\n time = 0 === t ? 0 : Math.floor(time * t) / t, value = valueAtTime(time);\n }\n\n var index = elem.data.ind,\n hasParent = !(!elem.hierarchy || !elem.hierarchy.length),\n parent,\n randSeed = Math.floor(1e6 * Math.random()),\n globalData = elem.globalData;\n\n function executeExpression(t) {\n return value = t, this.frameExpressionId === elem.globalData.frameId && \"textSelector\" !== this.propType ? value : (\"textSelector\" === this.propType && (textIndex = this.textIndex, textTotal = this.textTotal, selectorValue = this.selectorValue), thisLayer || (text = elem.layerInterface.text, thisLayer = elem.layerInterface, thisComp = elem.comp.compInterface, toWorld = thisLayer.toWorld.bind(thisLayer), fromWorld = thisLayer.fromWorld.bind(thisLayer), fromComp = thisLayer.fromComp.bind(thisLayer), toComp = thisLayer.toComp.bind(thisLayer), mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null, fromCompToSurface = fromComp), transform || (transform = elem.layerInterface(\"ADBE Transform Group\"), $bm_transform = transform, transform && (anchorPoint = transform.anchorPoint)), 4 !== elemType || content || (content = thisLayer(\"ADBE Root Vectors Group\")), effect || (effect = thisLayer(4)), (hasParent = !(!elem.hierarchy || !elem.hierarchy.length)) && !parent && (parent = elem.hierarchy[0].layerInterface), time = this.comp.renderedFrame / this.comp.globalData.frameRate, _needsRandom && seedRandom(randSeed + time), needsVelocity && (velocity = velocityAtTime(time)), expression_function(), this.frameExpressionId = elem.globalData.frameId, \"shape\" === scoped_bm_rt.propType && (scoped_bm_rt = scoped_bm_rt.v), scoped_bm_rt);\n }\n\n return executeExpression;\n }\n\n return ob.initiateExpression = initiateExpression, ob;\n }(),\n expressionHelpers = {\n searchExpressions: function searchExpressions(t, e, r) {\n e.x && (r.k = !0, r.x = !0, r.initiateExpression = ExpressionManager.initiateExpression, r.effectsSequence.push(r.initiateExpression(t, e, r).bind(r)));\n },\n getSpeedAtTime: function getSpeedAtTime(t) {\n var e = this.getValueAtTime(t),\n r = this.getValueAtTime(t + -.01),\n i = 0;\n\n if (e.length) {\n var a;\n\n for (a = 0; a < e.length; a += 1) {\n i += Math.pow(r[a] - e[a], 2);\n }\n\n i = 100 * Math.sqrt(i);\n } else i = 0;\n\n return i;\n },\n getVelocityAtTime: function getVelocityAtTime(t) {\n if (void 0 !== this.vel) return this.vel;\n var e,\n r,\n i = -.001,\n a = this.getValueAtTime(t),\n s = this.getValueAtTime(t + i);\n if (a.length) for (e = createTypedArray(\"float32\", a.length), r = 0; r < a.length; r += 1) {\n e[r] = (s[r] - a[r]) / i;\n } else e = (s - a) / i;\n return e;\n },\n getValueAtTime: function getValueAtTime(t) {\n return t *= this.elem.globalData.frameRate, (t -= this.offsetTime) !== this._cachingAtTime.lastFrame && (this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < t ? this._cachingAtTime.lastIndex : 0, this._cachingAtTime.value = this.interpolateValue(t, this._cachingAtTime), this._cachingAtTime.lastFrame = t), this._cachingAtTime.value;\n },\n getStaticValueAtTime: function getStaticValueAtTime() {\n return this.pv;\n },\n setGroupProperty: function setGroupProperty(t) {\n this.propertyGroup = t;\n }\n };\n\n !function () {\n function t(t, e, r) {\n if (!this.k || !this.keyframes) return this.pv;\n t = t ? t.toLowerCase() : \"\";\n var i,\n a,\n s,\n n,\n o,\n h = this.comp.renderedFrame,\n l = this.keyframes,\n p = l[l.length - 1].t;\n if (h <= p) return this.pv;\n\n if (r ? a = p - (i = e ? Math.abs(p - this.elem.comp.globalData.frameRate * e) : Math.max(0, p - this.elem.data.ip)) : ((!e || e > l.length - 1) && (e = l.length - 1), i = p - (a = l[l.length - 1 - e].t)), \"pingpong\" === t) {\n if (Math.floor((h - a) / i) % 2 != 0) return this.getValueAtTime((i - (h - a) % i + a) / this.comp.globalData.frameRate, 0);\n } else {\n if (\"offset\" === t) {\n var c = this.getValueAtTime(a / this.comp.globalData.frameRate, 0),\n f = this.getValueAtTime(p / this.comp.globalData.frameRate, 0),\n d = this.getValueAtTime(((h - a) % i + a) / this.comp.globalData.frameRate, 0),\n m = Math.floor((h - a) / i);\n\n if (this.pv.length) {\n for (n = (o = new Array(c.length)).length, s = 0; s < n; s += 1) {\n o[s] = (f[s] - c[s]) * m + d[s];\n }\n\n return o;\n }\n\n return (f - c) * m + d;\n }\n\n if (\"continue\" === t) {\n var u = this.getValueAtTime(p / this.comp.globalData.frameRate, 0),\n y = this.getValueAtTime((p - .001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n for (n = (o = new Array(u.length)).length, s = 0; s < n; s += 1) {\n o[s] = u[s] + (u[s] - y[s]) * ((h - p) / this.comp.globalData.frameRate) / 5e-4;\n }\n\n return o;\n }\n\n return u + (h - p) / .001 * (u - y);\n }\n }\n\n return this.getValueAtTime(((h - a) % i + a) / this.comp.globalData.frameRate, 0);\n }\n\n function e(t, e, r) {\n if (!this.k) return this.pv;\n t = t ? t.toLowerCase() : \"\";\n var i,\n a,\n s,\n n,\n o,\n h = this.comp.renderedFrame,\n l = this.keyframes,\n p = l[0].t;\n if (h >= p) return this.pv;\n\n if (r ? a = p + (i = e ? Math.abs(this.elem.comp.globalData.frameRate * e) : Math.max(0, this.elem.data.op - p)) : ((!e || e > l.length - 1) && (e = l.length - 1), i = (a = l[e].t) - p), \"pingpong\" === t) {\n if (Math.floor((p - h) / i) % 2 == 0) return this.getValueAtTime(((p - h) % i + p) / this.comp.globalData.frameRate, 0);\n } else {\n if (\"offset\" === t) {\n var c = this.getValueAtTime(p / this.comp.globalData.frameRate, 0),\n f = this.getValueAtTime(a / this.comp.globalData.frameRate, 0),\n d = this.getValueAtTime((i - (p - h) % i + p) / this.comp.globalData.frameRate, 0),\n m = Math.floor((p - h) / i) + 1;\n\n if (this.pv.length) {\n for (n = (o = new Array(c.length)).length, s = 0; s < n; s += 1) {\n o[s] = d[s] - (f[s] - c[s]) * m;\n }\n\n return o;\n }\n\n return d - (f - c) * m;\n }\n\n if (\"continue\" === t) {\n var u = this.getValueAtTime(p / this.comp.globalData.frameRate, 0),\n y = this.getValueAtTime((p + .001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n for (n = (o = new Array(u.length)).length, s = 0; s < n; s += 1) {\n o[s] = u[s] + (u[s] - y[s]) * (p - h) / .001;\n }\n\n return o;\n }\n\n return u + (u - y) * (p - h) / .001;\n }\n }\n\n return this.getValueAtTime((i - ((p - h) % i + p)) / this.comp.globalData.frameRate, 0);\n }\n\n function r(t, e) {\n if (!this.k) return this.pv;\n if (t = .5 * (t || .4), (e = Math.floor(e || 5)) <= 1) return this.pv;\n var r,\n i,\n a = this.comp.renderedFrame / this.comp.globalData.frameRate,\n s = a - t,\n n = e > 1 ? (a + t - s) / (e - 1) : 1,\n o = 0,\n h = 0;\n\n for (r = this.pv.length ? createTypedArray(\"float32\", this.pv.length) : 0; o < e;) {\n if (i = this.getValueAtTime(s + o * n), this.pv.length) for (h = 0; h < this.pv.length; h += 1) {\n r[h] += i[h];\n } else r += i;\n o += 1;\n }\n\n if (this.pv.length) for (h = 0; h < this.pv.length; h += 1) {\n r[h] /= e;\n } else r /= e;\n return r;\n }\n\n function i(t) {\n this._transformCachingAtTime || (this._transformCachingAtTime = {\n v: new Matrix()\n });\n var e = this._transformCachingAtTime.v;\n\n if (e.cloneFromProps(this.pre.props), this.appliedTransformations < 1) {\n var r = this.a.getValueAtTime(t);\n e.translate(-r[0] * this.a.mult, -r[1] * this.a.mult, r[2] * this.a.mult);\n }\n\n if (this.appliedTransformations < 2) {\n var i = this.s.getValueAtTime(t);\n e.scale(i[0] * this.s.mult, i[1] * this.s.mult, i[2] * this.s.mult);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n var a = this.sk.getValueAtTime(t),\n s = this.sa.getValueAtTime(t);\n e.skewFromAxis(-a * this.sk.mult, s * this.sa.mult);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n var n = this.r.getValueAtTime(t);\n e.rotate(-n * this.r.mult);\n } else if (!this.r && this.appliedTransformations < 4) {\n var o = this.rz.getValueAtTime(t),\n h = this.ry.getValueAtTime(t),\n l = this.rx.getValueAtTime(t),\n p = this.or.getValueAtTime(t);\n e.rotateZ(-o * this.rz.mult).rotateY(h * this.ry.mult).rotateX(l * this.rx.mult).rotateZ(-p[2] * this.or.mult).rotateY(p[1] * this.or.mult).rotateX(p[0] * this.or.mult);\n }\n\n if (this.data.p && this.data.p.s) {\n var c = this.px.getValueAtTime(t),\n f = this.py.getValueAtTime(t);\n\n if (this.data.p.z) {\n var d = this.pz.getValueAtTime(t);\n e.translate(c * this.px.mult, f * this.py.mult, -d * this.pz.mult);\n } else e.translate(c * this.px.mult, f * this.py.mult, 0);\n } else {\n var m = this.p.getValueAtTime(t);\n e.translate(m[0] * this.p.mult, m[1] * this.p.mult, -m[2] * this.p.mult);\n }\n\n return e;\n }\n\n function a() {\n return this.v.clone(new Matrix());\n }\n\n var s = TransformPropertyFactory.getTransformProperty;\n\n TransformPropertyFactory.getTransformProperty = function (t, e, r) {\n var n = s(t, e, r);\n return n.dynamicProperties.length ? n.getValueAtTime = i.bind(n) : n.getValueAtTime = a.bind(n), n.setGroupProperty = expressionHelpers.setGroupProperty, n;\n };\n\n var n = PropertyFactory.getProp;\n\n PropertyFactory.getProp = function (i, a, s, o, h) {\n var l = n(i, a, s, o, h);\n l.kf ? l.getValueAtTime = expressionHelpers.getValueAtTime.bind(l) : l.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(l), l.setGroupProperty = expressionHelpers.setGroupProperty, l.loopOut = t, l.loopIn = e, l.smooth = r, l.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(l), l.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(l), l.numKeys = 1 === a.a ? a.k.length : 0, l.propertyIndex = a.ix;\n var p = 0;\n return 0 !== s && (p = createTypedArray(\"float32\", 1 === a.a ? a.k[0].s.length : a.k.length)), l._cachingAtTime = {\n lastFrame: initialDefaultFrame,\n lastIndex: 0,\n value: p\n }, expressionHelpers.searchExpressions(i, a, l), l.k && h.addDynamicProperty(l), l;\n };\n\n var o = ShapePropertyFactory.getConstructorFunction(),\n h = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n function l() {}\n\n l.prototype = {\n vertices: function vertices(t, e) {\n this.k && this.getValue();\n var r,\n i = this.v;\n void 0 !== e && (i = this.getValueAtTime(e, 0));\n var a = i._length,\n s = i[t],\n n = i.v,\n o = createSizedArray(a);\n\n for (r = 0; r < a; r += 1) {\n o[r] = \"i\" === t || \"o\" === t ? [s[r][0] - n[r][0], s[r][1] - n[r][1]] : [s[r][0], s[r][1]];\n }\n\n return o;\n },\n points: function points(t) {\n return this.vertices(\"v\", t);\n },\n inTangents: function inTangents(t) {\n return this.vertices(\"i\", t);\n },\n outTangents: function outTangents(t) {\n return this.vertices(\"o\", t);\n },\n isClosed: function isClosed() {\n return this.v.c;\n },\n pointOnPath: function pointOnPath(t, e) {\n var r = this.v;\n void 0 !== e && (r = this.getValueAtTime(e, 0)), this._segmentsLength || (this._segmentsLength = bez.getSegmentsLength(r));\n\n for (var i, a = this._segmentsLength, s = a.lengths, n = a.totalLength * t, o = 0, h = s.length, l = 0; o < h;) {\n if (l + s[o].addedLength > n) {\n var p = o,\n c = r.c && o === h - 1 ? 0 : o + 1,\n f = (n - l) / s[o].addedLength;\n i = bez.getPointInSegment(r.v[p], r.v[c], r.o[p], r.i[c], f, s[o]);\n break;\n }\n\n l += s[o].addedLength, o += 1;\n }\n\n return i || (i = r.c ? [r.v[0][0], r.v[0][1]] : [r.v[r._length - 1][0], r.v[r._length - 1][1]]), i;\n },\n vectorOnPath: function vectorOnPath(t, e, r) {\n 1 == t ? t = this.v.c : 0 == t && (t = .999);\n var i = this.pointOnPath(t, e),\n a = this.pointOnPath(t + .001, e),\n s = a[0] - i[0],\n n = a[1] - i[1],\n o = Math.sqrt(Math.pow(s, 2) + Math.pow(n, 2));\n return 0 === o ? [0, 0] : \"tangent\" === r ? [s / o, n / o] : [-n / o, s / o];\n },\n tangentOnPath: function tangentOnPath(t, e) {\n return this.vectorOnPath(t, e, \"tangent\");\n },\n normalOnPath: function normalOnPath(t, e) {\n return this.vectorOnPath(t, e, \"normal\");\n },\n setGroupProperty: expressionHelpers.setGroupProperty,\n getValueAtTime: expressionHelpers.getStaticValueAtTime\n }, extendPrototype([l], o), extendPrototype([l], h), h.prototype.getValueAtTime = function (t) {\n return this._cachingAtTime || (this._cachingAtTime = {\n shapeValue: shapePool.clone(this.pv),\n lastIndex: 0,\n lastTime: initialDefaultFrame\n }), t *= this.elem.globalData.frameRate, (t -= this.offsetTime) !== this._cachingAtTime.lastTime && (this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < t ? this._caching.lastIndex : 0, this._cachingAtTime.lastTime = t, this.interpolateShape(t, this._cachingAtTime.shapeValue, this._cachingAtTime)), this._cachingAtTime.shapeValue;\n }, h.prototype.initiateExpression = ExpressionManager.initiateExpression;\n var p = ShapePropertyFactory.getShapeProp;\n\n ShapePropertyFactory.getShapeProp = function (t, e, r, i, a) {\n var s = p(t, e, r, i, a);\n return s.propertyIndex = e.ix, s.lock = !1, 3 === r ? expressionHelpers.searchExpressions(t, e.pt, s) : 4 === r && expressionHelpers.searchExpressions(t, e.ks, s), s.k && t.addDynamicProperty(s), s;\n };\n }(), TextProperty.prototype.getExpressionValue = function (t, e) {\n var r = this.calculateExpression(e);\n\n if (t.t !== r) {\n var i = {};\n return this.copyData(i, t), i.t = r.toString(), i.__complete = !1, i;\n }\n\n return t;\n }, TextProperty.prototype.searchProperty = function () {\n var t = this.searchKeyframes(),\n e = this.searchExpressions();\n return this.kf = t || e, this.kf;\n }, TextProperty.prototype.searchExpressions = function () {\n return this.data.d.x ? (this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this), this.addEffect(this.getExpressionValue.bind(this)), !0) : null;\n };\n\n var ShapePathInterface = function ShapePathInterface(t, e, r) {\n var i = e.sh;\n\n function a(t) {\n return \"Shape\" === t || \"shape\" === t || \"Path\" === t || \"path\" === t || \"ADBE Vector Shape\" === t || 2 === t ? a.path : null;\n }\n\n var s = propertyGroupFactory(a, r);\n return i.setGroupProperty(PropertyInterface(\"Path\", s)), Object.defineProperties(a, {\n path: {\n get: function get() {\n return i.k && i.getValue(), i;\n }\n },\n shape: {\n get: function get() {\n return i.k && i.getValue(), i;\n }\n },\n _name: {\n value: t.nm\n },\n ix: {\n value: t.ix\n },\n propertyIndex: {\n value: t.ix\n },\n mn: {\n value: t.mn\n },\n propertyGroup: {\n value: r\n }\n }), a;\n },\n propertyGroupFactory = function propertyGroupFactory(t, e) {\n return function (r) {\n return (r = void 0 === r ? 1 : r) <= 0 ? t : e(r - 1);\n };\n },\n PropertyInterface = function PropertyInterface(t, e) {\n var r = {\n _name: t\n };\n return function (t) {\n return (t = void 0 === t ? 1 : t) <= 0 ? r : e(t - 1);\n };\n },\n ShapeExpressionInterface = function () {\n function t(t, n, f) {\n var d,\n m = [],\n u = t ? t.length : 0;\n\n for (d = 0; d < u; d += 1) {\n \"gr\" === t[d].ty ? m.push(e(t[d], n[d], f)) : \"fl\" === t[d].ty ? m.push(r(t[d], n[d], f)) : \"st\" === t[d].ty ? m.push(a(t[d], n[d], f)) : \"tm\" === t[d].ty ? m.push(s(t[d], n[d], f)) : \"tr\" === t[d].ty || (\"el\" === t[d].ty ? m.push(o(t[d], n[d], f)) : \"sr\" === t[d].ty ? m.push(h(t[d], n[d], f)) : \"sh\" === t[d].ty ? m.push(ShapePathInterface(t[d], n[d], f)) : \"rc\" === t[d].ty ? m.push(l(t[d], n[d], f)) : \"rd\" === t[d].ty ? m.push(p(t[d], n[d], f)) : \"rp\" === t[d].ty ? m.push(c(t[d], n[d], f)) : \"gf\" === t[d].ty ? m.push(i(t[d], n[d], f)) : m.push((t[d], n[d], function () {\n return null;\n })));\n }\n\n return m;\n }\n\n function e(e, r, i) {\n var a = function a(t) {\n switch (t) {\n case \"ADBE Vectors Group\":\n case \"Contents\":\n case 2:\n return a.content;\n\n default:\n return a.transform;\n }\n };\n\n a.propertyGroup = propertyGroupFactory(a, i);\n\n var s = function (e, r, i) {\n var a,\n s = function s(t) {\n for (var e = 0, r = a.length; e < r;) {\n if (a[e]._name === t || a[e].mn === t || a[e].propertyIndex === t || a[e].ix === t || a[e].ind === t) return a[e];\n e += 1;\n }\n\n return \"number\" == typeof t ? a[t - 1] : null;\n };\n\n s.propertyGroup = propertyGroupFactory(s, i), a = t(e.it, r.it, s.propertyGroup), s.numProperties = a.length;\n var o = n(e.it[e.it.length - 1], r.it[r.it.length - 1], s.propertyGroup);\n return s.transform = o, s.propertyIndex = e.cix, s._name = e.nm, s;\n }(e, r, a.propertyGroup),\n o = n(e.it[e.it.length - 1], r.it[r.it.length - 1], a.propertyGroup);\n\n return a.content = s, a.transform = o, Object.defineProperty(a, \"_name\", {\n get: function get() {\n return e.nm;\n }\n }), a.numProperties = e.np, a.propertyIndex = e.ix, a.nm = e.nm, a.mn = e.mn, a;\n }\n\n function r(t, e, r) {\n function i(t) {\n return \"Color\" === t || \"color\" === t ? i.color : \"Opacity\" === t || \"opacity\" === t ? i.opacity : null;\n }\n\n return Object.defineProperties(i, {\n color: {\n get: ExpressionPropertyInterface(e.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(e.o)\n },\n _name: {\n value: t.nm\n },\n mn: {\n value: t.mn\n }\n }), e.c.setGroupProperty(PropertyInterface(\"Color\", r)), e.o.setGroupProperty(PropertyInterface(\"Opacity\", r)), i;\n }\n\n function i(t, e, r) {\n function i(t) {\n return \"Start Point\" === t || \"start point\" === t ? i.startPoint : \"End Point\" === t || \"end point\" === t ? i.endPoint : \"Opacity\" === t || \"opacity\" === t ? i.opacity : null;\n }\n\n return Object.defineProperties(i, {\n startPoint: {\n get: ExpressionPropertyInterface(e.s)\n },\n endPoint: {\n get: ExpressionPropertyInterface(e.e)\n },\n opacity: {\n get: ExpressionPropertyInterface(e.o)\n },\n type: {\n get: function get() {\n return \"a\";\n }\n },\n _name: {\n value: t.nm\n },\n mn: {\n value: t.mn\n }\n }), e.s.setGroupProperty(PropertyInterface(\"Start Point\", r)), e.e.setGroupProperty(PropertyInterface(\"End Point\", r)), e.o.setGroupProperty(PropertyInterface(\"Opacity\", r)), i;\n }\n\n function a(t, e, r) {\n var i,\n a = propertyGroupFactory(l, r),\n s = propertyGroupFactory(h, a);\n\n function n(r) {\n Object.defineProperty(h, t.d[r].nm, {\n get: ExpressionPropertyInterface(e.d.dataProps[r].p)\n });\n }\n\n var o = t.d ? t.d.length : 0,\n h = {};\n\n for (i = 0; i < o; i += 1) {\n n(i), e.d.dataProps[i].p.setGroupProperty(s);\n }\n\n function l(t) {\n return \"Color\" === t || \"color\" === t ? l.color : \"Opacity\" === t || \"opacity\" === t ? l.opacity : \"Stroke Width\" === t || \"stroke width\" === t ? l.strokeWidth : null;\n }\n\n return Object.defineProperties(l, {\n color: {\n get: ExpressionPropertyInterface(e.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(e.o)\n },\n strokeWidth: {\n get: ExpressionPropertyInterface(e.w)\n },\n dash: {\n get: function get() {\n return h;\n }\n },\n _name: {\n value: t.nm\n },\n mn: {\n value: t.mn\n }\n }), e.c.setGroupProperty(PropertyInterface(\"Color\", a)), e.o.setGroupProperty(PropertyInterface(\"Opacity\", a)), e.w.setGroupProperty(PropertyInterface(\"Stroke Width\", a)), l;\n }\n\n function s(t, e, r) {\n function i(e) {\n return e === t.e.ix || \"End\" === e || \"end\" === e ? i.end : e === t.s.ix ? i.start : e === t.o.ix ? i.offset : null;\n }\n\n var a = propertyGroupFactory(i, r);\n return i.propertyIndex = t.ix, e.s.setGroupProperty(PropertyInterface(\"Start\", a)), e.e.setGroupProperty(PropertyInterface(\"End\", a)), e.o.setGroupProperty(PropertyInterface(\"Offset\", a)), i.propertyIndex = t.ix, i.propertyGroup = r, Object.defineProperties(i, {\n start: {\n get: ExpressionPropertyInterface(e.s)\n },\n end: {\n get: ExpressionPropertyInterface(e.e)\n },\n offset: {\n get: ExpressionPropertyInterface(e.o)\n },\n _name: {\n value: t.nm\n }\n }), i.mn = t.mn, i;\n }\n\n function n(t, e, r) {\n function i(e) {\n return t.a.ix === e || \"Anchor Point\" === e ? i.anchorPoint : t.o.ix === e || \"Opacity\" === e ? i.opacity : t.p.ix === e || \"Position\" === e ? i.position : t.r.ix === e || \"Rotation\" === e || \"ADBE Vector Rotation\" === e ? i.rotation : t.s.ix === e || \"Scale\" === e ? i.scale : t.sk && t.sk.ix === e || \"Skew\" === e ? i.skew : t.sa && t.sa.ix === e || \"Skew Axis\" === e ? i.skewAxis : null;\n }\n\n var a = propertyGroupFactory(i, r);\n return e.transform.mProps.o.setGroupProperty(PropertyInterface(\"Opacity\", a)), e.transform.mProps.p.setGroupProperty(PropertyInterface(\"Position\", a)), e.transform.mProps.a.setGroupProperty(PropertyInterface(\"Anchor Point\", a)), e.transform.mProps.s.setGroupProperty(PropertyInterface(\"Scale\", a)), e.transform.mProps.r.setGroupProperty(PropertyInterface(\"Rotation\", a)), e.transform.mProps.sk && (e.transform.mProps.sk.setGroupProperty(PropertyInterface(\"Skew\", a)), e.transform.mProps.sa.setGroupProperty(PropertyInterface(\"Skew Angle\", a))), e.transform.op.setGroupProperty(PropertyInterface(\"Opacity\", a)), Object.defineProperties(i, {\n opacity: {\n get: ExpressionPropertyInterface(e.transform.mProps.o)\n },\n position: {\n get: ExpressionPropertyInterface(e.transform.mProps.p)\n },\n anchorPoint: {\n get: ExpressionPropertyInterface(e.transform.mProps.a)\n },\n scale: {\n get: ExpressionPropertyInterface(e.transform.mProps.s)\n },\n rotation: {\n get: ExpressionPropertyInterface(e.transform.mProps.r)\n },\n skew: {\n get: ExpressionPropertyInterface(e.transform.mProps.sk)\n },\n skewAxis: {\n get: ExpressionPropertyInterface(e.transform.mProps.sa)\n },\n _name: {\n value: t.nm\n }\n }), i.ty = \"tr\", i.mn = t.mn, i.propertyGroup = r, i;\n }\n\n function o(t, e, r) {\n function i(e) {\n return t.p.ix === e ? i.position : t.s.ix === e ? i.size : null;\n }\n\n var a = propertyGroupFactory(i, r);\n i.propertyIndex = t.ix;\n var s = \"tm\" === e.sh.ty ? e.sh.prop : e.sh;\n return s.s.setGroupProperty(PropertyInterface(\"Size\", a)), s.p.setGroupProperty(PropertyInterface(\"Position\", a)), Object.defineProperties(i, {\n size: {\n get: ExpressionPropertyInterface(s.s)\n },\n position: {\n get: ExpressionPropertyInterface(s.p)\n },\n _name: {\n value: t.nm\n }\n }), i.mn = t.mn, i;\n }\n\n function h(t, e, r) {\n function i(e) {\n return t.p.ix === e ? i.position : t.r.ix === e ? i.rotation : t.pt.ix === e ? i.points : t.or.ix === e || \"ADBE Vector Star Outer Radius\" === e ? i.outerRadius : t.os.ix === e ? i.outerRoundness : !t.ir || t.ir.ix !== e && \"ADBE Vector Star Inner Radius\" !== e ? t.is && t.is.ix === e ? i.innerRoundness : null : i.innerRadius;\n }\n\n var a = propertyGroupFactory(i, r),\n s = \"tm\" === e.sh.ty ? e.sh.prop : e.sh;\n return i.propertyIndex = t.ix, s.or.setGroupProperty(PropertyInterface(\"Outer Radius\", a)), s.os.setGroupProperty(PropertyInterface(\"Outer Roundness\", a)), s.pt.setGroupProperty(PropertyInterface(\"Points\", a)), s.p.setGroupProperty(PropertyInterface(\"Position\", a)), s.r.setGroupProperty(PropertyInterface(\"Rotation\", a)), t.ir && (s.ir.setGroupProperty(PropertyInterface(\"Inner Radius\", a)), s.is.setGroupProperty(PropertyInterface(\"Inner Roundness\", a))), Object.defineProperties(i, {\n position: {\n get: ExpressionPropertyInterface(s.p)\n },\n rotation: {\n get: ExpressionPropertyInterface(s.r)\n },\n points: {\n get: ExpressionPropertyInterface(s.pt)\n },\n outerRadius: {\n get: ExpressionPropertyInterface(s.or)\n },\n outerRoundness: {\n get: ExpressionPropertyInterface(s.os)\n },\n innerRadius: {\n get: ExpressionPropertyInterface(s.ir)\n },\n innerRoundness: {\n get: ExpressionPropertyInterface(s.is)\n },\n _name: {\n value: t.nm\n }\n }), i.mn = t.mn, i;\n }\n\n function l(t, e, r) {\n function i(e) {\n return t.p.ix === e ? i.position : t.r.ix === e ? i.roundness : t.s.ix === e || \"Size\" === e || \"ADBE Vector Rect Size\" === e ? i.size : null;\n }\n\n var a = propertyGroupFactory(i, r),\n s = \"tm\" === e.sh.ty ? e.sh.prop : e.sh;\n return i.propertyIndex = t.ix, s.p.setGroupProperty(PropertyInterface(\"Position\", a)), s.s.setGroupProperty(PropertyInterface(\"Size\", a)), s.r.setGroupProperty(PropertyInterface(\"Rotation\", a)), Object.defineProperties(i, {\n position: {\n get: ExpressionPropertyInterface(s.p)\n },\n roundness: {\n get: ExpressionPropertyInterface(s.r)\n },\n size: {\n get: ExpressionPropertyInterface(s.s)\n },\n _name: {\n value: t.nm\n }\n }), i.mn = t.mn, i;\n }\n\n function p(t, e, r) {\n function i(e) {\n return t.r.ix === e || \"Round Corners 1\" === e ? i.radius : null;\n }\n\n var a = propertyGroupFactory(i, r),\n s = e;\n return i.propertyIndex = t.ix, s.rd.setGroupProperty(PropertyInterface(\"Radius\", a)), Object.defineProperties(i, {\n radius: {\n get: ExpressionPropertyInterface(s.rd)\n },\n _name: {\n value: t.nm\n }\n }), i.mn = t.mn, i;\n }\n\n function c(t, e, r) {\n function i(e) {\n return t.c.ix === e || \"Copies\" === e ? i.copies : t.o.ix === e || \"Offset\" === e ? i.offset : null;\n }\n\n var a = propertyGroupFactory(i, r),\n s = e;\n return i.propertyIndex = t.ix, s.c.setGroupProperty(PropertyInterface(\"Copies\", a)), s.o.setGroupProperty(PropertyInterface(\"Offset\", a)), Object.defineProperties(i, {\n copies: {\n get: ExpressionPropertyInterface(s.c)\n },\n offset: {\n get: ExpressionPropertyInterface(s.o)\n },\n _name: {\n value: t.nm\n }\n }), i.mn = t.mn, i;\n }\n\n return function (e, r, i) {\n var a;\n\n function s(t) {\n if (\"number\" == typeof t) return 0 === (t = void 0 === t ? 1 : t) ? i : a[t - 1];\n\n for (var e = 0, r = a.length; e < r;) {\n if (a[e]._name === t) return a[e];\n e += 1;\n }\n\n return null;\n }\n\n return s.propertyGroup = propertyGroupFactory(s, function () {\n return i;\n }), a = t(e, r, s.propertyGroup), s.numProperties = a.length, s._name = \"Contents\", s;\n };\n }(),\n TextExpressionInterface = function TextExpressionInterface(t) {\n var e, r;\n\n function i(t) {\n return \"ADBE Text Document\" === t ? i.sourceText : null;\n }\n\n return Object.defineProperty(i, \"sourceText\", {\n get: function get() {\n t.textProperty.getValue();\n var i = t.textProperty.currentData.t;\n return i !== e && (t.textProperty.currentData.t = e, (r = new String(i)).value = i || new String(i)), r;\n }\n }), i;\n },\n LayerExpressionInterface = function () {\n function t(t) {\n var e = new Matrix();\n return void 0 !== t ? this._elem.finalTransform.mProp.getValueAtTime(t).clone(e) : this._elem.finalTransform.mProp.applyToMatrix(e), e;\n }\n\n function e(t, e) {\n var r = this.getMatrix(e);\n return r.props[12] = 0, r.props[13] = 0, r.props[14] = 0, this.applyPoint(r, t);\n }\n\n function r(t, e) {\n var r = this.getMatrix(e);\n return this.applyPoint(r, t);\n }\n\n function i(t, e) {\n var r = this.getMatrix(e);\n return r.props[12] = 0, r.props[13] = 0, r.props[14] = 0, this.invertPoint(r, t);\n }\n\n function a(t, e) {\n var r = this.getMatrix(e);\n return this.invertPoint(r, t);\n }\n\n function s(t, e) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var r,\n i = this._elem.hierarchy.length;\n\n for (r = 0; r < i; r += 1) {\n this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(t);\n }\n }\n\n return t.applyToPointArray(e[0], e[1], e[2] || 0);\n }\n\n function n(t, e) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var r,\n i = this._elem.hierarchy.length;\n\n for (r = 0; r < i; r += 1) {\n this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(t);\n }\n }\n\n return t.inversePoint(e);\n }\n\n function o(t) {\n var e = new Matrix();\n\n if (e.reset(), this._elem.finalTransform.mProp.applyToMatrix(e), this._elem.hierarchy && this._elem.hierarchy.length) {\n var r,\n i = this._elem.hierarchy.length;\n\n for (r = 0; r < i; r += 1) {\n this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(e);\n }\n\n return e.inversePoint(t);\n }\n\n return e.inversePoint(t);\n }\n\n function h() {\n return [1, 1, 1, 1];\n }\n\n return function (l) {\n var p;\n\n function c(t) {\n switch (t) {\n case \"ADBE Root Vectors Group\":\n case \"Contents\":\n case 2:\n return c.shapeInterface;\n\n case 1:\n case 6:\n case \"Transform\":\n case \"transform\":\n case \"ADBE Transform Group\":\n return p;\n\n case 4:\n case \"ADBE Effect Parade\":\n case \"effects\":\n case \"Effects\":\n return c.effect;\n\n case \"ADBE Text Properties\":\n return c.textInterface;\n\n default:\n return null;\n }\n }\n\n c.getMatrix = t, c.invertPoint = n, c.applyPoint = s, c.toWorld = r, c.toWorldVec = e, c.fromWorld = a, c.fromWorldVec = i, c.toComp = r, c.fromComp = o, c.sampleImage = h, c.sourceRectAtTime = l.sourceRectAtTime.bind(l), c._elem = l;\n var f = getDescriptor(p = TransformExpressionInterface(l.finalTransform.mProp), \"anchorPoint\");\n return Object.defineProperties(c, {\n hasParent: {\n get: function get() {\n return l.hierarchy.length;\n }\n },\n parent: {\n get: function get() {\n return l.hierarchy[0].layerInterface;\n }\n },\n rotation: getDescriptor(p, \"rotation\"),\n scale: getDescriptor(p, \"scale\"),\n position: getDescriptor(p, \"position\"),\n opacity: getDescriptor(p, \"opacity\"),\n anchorPoint: f,\n anchor_point: f,\n transform: {\n get: function get() {\n return p;\n }\n },\n active: {\n get: function get() {\n return l.isInRange;\n }\n }\n }), c.startTime = l.data.st, c.index = l.data.ind, c.source = l.data.refId, c.height = 0 === l.data.ty ? l.data.h : 100, c.width = 0 === l.data.ty ? l.data.w : 100, c.inPoint = l.data.ip / l.comp.globalData.frameRate, c.outPoint = l.data.op / l.comp.globalData.frameRate, c._name = l.data.nm, c.registerMaskInterface = function (t) {\n c.mask = new MaskManagerInterface(t, l);\n }, c.registerEffectsInterface = function (t) {\n c.effect = t;\n }, c;\n };\n }(),\n FootageInterface = (dataInterfaceFactory = function dataInterfaceFactory(t) {\n function e(t) {\n return \"Outline\" === t ? e.outlineInterface() : null;\n }\n\n return e._name = \"Outline\", e.outlineInterface = function (t) {\n var e = \"\",\n r = t.getFootageData();\n\n function i(t) {\n if (r[t]) return e = t, \"object\" == _typeof2(r = r[t]) ? i : r;\n var a = t.indexOf(e);\n\n if (-1 !== a) {\n var s = parseInt(t.substr(a + e.length), 10);\n return \"object\" == _typeof2(r = r[s]) ? i : r;\n }\n\n return \"\";\n }\n\n return function () {\n return e = \"\", r = t.getFootageData(), i;\n };\n }(t), e;\n }, function (t) {\n function e(t) {\n return \"Data\" === t ? e.dataInterface : null;\n }\n\n return e._name = \"Data\", e.dataInterface = dataInterfaceFactory(t), e;\n }),\n dataInterfaceFactory,\n CompExpressionInterface = function CompExpressionInterface(t) {\n function e(e) {\n for (var r = 0, i = t.layers.length; r < i;) {\n if (t.layers[r].nm === e || t.layers[r].ind === e) return t.elements[r].layerInterface;\n r += 1;\n }\n\n return null;\n }\n\n return Object.defineProperty(e, \"_name\", {\n value: t.data.nm\n }), e.layer = e, e.pixelAspect = 1, e.height = t.data.h || t.globalData.compSize.h, e.width = t.data.w || t.globalData.compSize.w, e.pixelAspect = 1, e.frameDuration = 1 / t.globalData.frameRate, e.displayStartTime = 0, e.numLayers = t.layers.length, e;\n },\n TransformExpressionInterface = function TransformExpressionInterface(t) {\n function e(t) {\n switch (t) {\n case \"scale\":\n case \"Scale\":\n case \"ADBE Scale\":\n case 6:\n return e.scale;\n\n case \"rotation\":\n case \"Rotation\":\n case \"ADBE Rotation\":\n case \"ADBE Rotate Z\":\n case 10:\n return e.rotation;\n\n case \"ADBE Rotate X\":\n return e.xRotation;\n\n case \"ADBE Rotate Y\":\n return e.yRotation;\n\n case \"position\":\n case \"Position\":\n case \"ADBE Position\":\n case 2:\n return e.position;\n\n case \"ADBE Position_0\":\n return e.xPosition;\n\n case \"ADBE Position_1\":\n return e.yPosition;\n\n case \"ADBE Position_2\":\n return e.zPosition;\n\n case \"anchorPoint\":\n case \"AnchorPoint\":\n case \"Anchor Point\":\n case \"ADBE AnchorPoint\":\n case 1:\n return e.anchorPoint;\n\n case \"opacity\":\n case \"Opacity\":\n case 11:\n return e.opacity;\n\n default:\n return null;\n }\n }\n\n var r, i, a, s;\n return Object.defineProperty(e, \"rotation\", {\n get: ExpressionPropertyInterface(t.r || t.rz)\n }), Object.defineProperty(e, \"zRotation\", {\n get: ExpressionPropertyInterface(t.rz || t.r)\n }), Object.defineProperty(e, \"xRotation\", {\n get: ExpressionPropertyInterface(t.rx)\n }), Object.defineProperty(e, \"yRotation\", {\n get: ExpressionPropertyInterface(t.ry)\n }), Object.defineProperty(e, \"scale\", {\n get: ExpressionPropertyInterface(t.s)\n }), t.p ? s = ExpressionPropertyInterface(t.p) : (r = ExpressionPropertyInterface(t.px), i = ExpressionPropertyInterface(t.py), t.pz && (a = ExpressionPropertyInterface(t.pz))), Object.defineProperty(e, \"position\", {\n get: function get() {\n return t.p ? s() : [r(), i(), a ? a() : 0];\n }\n }), Object.defineProperty(e, \"xPosition\", {\n get: ExpressionPropertyInterface(t.px)\n }), Object.defineProperty(e, \"yPosition\", {\n get: ExpressionPropertyInterface(t.py)\n }), Object.defineProperty(e, \"zPosition\", {\n get: ExpressionPropertyInterface(t.pz)\n }), Object.defineProperty(e, \"anchorPoint\", {\n get: ExpressionPropertyInterface(t.a)\n }), Object.defineProperty(e, \"opacity\", {\n get: ExpressionPropertyInterface(t.o)\n }), Object.defineProperty(e, \"skew\", {\n get: ExpressionPropertyInterface(t.sk)\n }), Object.defineProperty(e, \"skewAxis\", {\n get: ExpressionPropertyInterface(t.sa)\n }), Object.defineProperty(e, \"orientation\", {\n get: ExpressionPropertyInterface(t.or)\n }), e;\n },\n ProjectInterface = function () {\n function t(t) {\n this.compositions.push(t);\n }\n\n return function () {\n function e(t) {\n for (var e = 0, r = this.compositions.length; e < r;) {\n if (this.compositions[e].data && this.compositions[e].data.nm === t) return this.compositions[e].prepareFrame && this.compositions[e].data.xt && this.compositions[e].prepareFrame(this.currentFrame), this.compositions[e].compInterface;\n e += 1;\n }\n\n return null;\n }\n\n return e.compositions = [], e.currentFrame = 0, e.registerComposition = t, e;\n };\n }(),\n EffectsExpressionInterface = function () {\n var t = {\n createEffectsInterface: function createEffectsInterface(t, r) {\n if (t.effectsManager) {\n var i,\n a = [],\n s = t.data.ef,\n n = t.effectsManager.effectElements.length;\n\n for (i = 0; i < n; i += 1) {\n a.push(e(s[i], t.effectsManager.effectElements[i], r, t));\n }\n\n var o = t.data.ef || [],\n h = function h(t) {\n for (i = 0, n = o.length; i < n;) {\n if (t === o[i].nm || t === o[i].mn || t === o[i].ix) return a[i];\n i += 1;\n }\n\n return null;\n };\n\n return Object.defineProperty(h, \"numProperties\", {\n get: function get() {\n return o.length;\n }\n }), h;\n }\n\n return null;\n }\n };\n\n function e(t, i, a, s) {\n function n(e) {\n for (var r = t.ef, i = 0, a = r.length; i < a;) {\n if (e === r[i].nm || e === r[i].mn || e === r[i].ix) return 5 === r[i].ty ? l[i] : l[i]();\n i += 1;\n }\n\n throw new Error();\n }\n\n var o,\n h = propertyGroupFactory(n, a),\n l = [],\n p = t.ef.length;\n\n for (o = 0; o < p; o += 1) {\n 5 === t.ef[o].ty ? l.push(e(t.ef[o], i.effectElements[o], i.effectElements[o].propertyGroup, s)) : l.push(r(i.effectElements[o], t.ef[o].ty, s, h));\n }\n\n return \"ADBE Color Control\" === t.mn && Object.defineProperty(n, \"color\", {\n get: function get() {\n return l[0]();\n }\n }), Object.defineProperties(n, {\n numProperties: {\n get: function get() {\n return t.np;\n }\n },\n _name: {\n value: t.nm\n },\n propertyGroup: {\n value: h\n }\n }), n.enabled = 0 !== t.en, n.active = n.enabled, n;\n }\n\n function r(t, e, r, i) {\n var a = ExpressionPropertyInterface(t.p);\n return t.p.setGroupProperty && t.p.setGroupProperty(PropertyInterface(\"\", i)), function () {\n return 10 === e ? r.comp.compInterface(t.p.v) : a();\n };\n }\n\n return t;\n }(),\n MaskManagerInterface = function () {\n function t(t, e) {\n this._mask = t, this._data = e;\n }\n\n return Object.defineProperty(t.prototype, \"maskPath\", {\n get: function get() {\n return this._mask.prop.k && this._mask.prop.getValue(), this._mask.prop;\n }\n }), Object.defineProperty(t.prototype, \"maskOpacity\", {\n get: function get() {\n return this._mask.op.k && this._mask.op.getValue(), 100 * this._mask.op.v;\n }\n }), function (e) {\n var r,\n i = createSizedArray(e.viewData.length),\n a = e.viewData.length;\n\n for (r = 0; r < a; r += 1) {\n i[r] = new t(e.viewData[r], e.masksProperties[r]);\n }\n\n return function (t) {\n for (r = 0; r < a;) {\n if (e.masksProperties[r].nm === t) return i[r];\n r += 1;\n }\n\n return null;\n };\n };\n }(),\n ExpressionPropertyInterface = function () {\n var t = {\n pv: 0,\n v: 0,\n mult: 1\n },\n e = {\n pv: [0, 0, 0],\n v: [0, 0, 0],\n mult: 1\n };\n\n function r(t, e, r) {\n Object.defineProperty(t, \"velocity\", {\n get: function get() {\n return e.getVelocityAtTime(e.comp.currentFrame);\n }\n }), t.numKeys = e.keyframes ? e.keyframes.length : 0, t.key = function (i) {\n if (!t.numKeys) return 0;\n var a = \"\";\n a = \"s\" in e.keyframes[i - 1] ? e.keyframes[i - 1].s : \"e\" in e.keyframes[i - 2] ? e.keyframes[i - 2].e : e.keyframes[i - 2].s;\n var s = \"unidimensional\" === r ? new Number(a) : Object.assign({}, a);\n return s.time = e.keyframes[i - 1].t / e.elem.comp.globalData.frameRate, s.value = \"unidimensional\" === r ? a[0] : a, s;\n }, t.valueAtTime = e.getValueAtTime, t.speedAtTime = e.getSpeedAtTime, t.velocityAtTime = e.getVelocityAtTime, t.propertyGroup = e.propertyGroup;\n }\n\n function i() {\n return t;\n }\n\n return function (a) {\n return a ? \"unidimensional\" === a.propType ? function (e) {\n e && \"pv\" in e || (e = t);\n var i = 1 / e.mult,\n a = e.pv * i,\n s = new Number(a);\n return s.value = a, r(s, e, \"unidimensional\"), function () {\n return e.k && e.getValue(), a = e.v * i, s.value !== a && ((s = new Number(a)).value = a, r(s, e, \"unidimensional\")), s;\n };\n }(a) : function (t) {\n t && \"pv\" in t || (t = e);\n var i = 1 / t.mult,\n a = t.data && t.data.l || t.pv.length,\n s = createTypedArray(\"float32\", a),\n n = createTypedArray(\"float32\", a);\n return s.value = n, r(s, t, \"multidimensional\"), function () {\n t.k && t.getValue();\n\n for (var e = 0; e < a; e += 1) {\n n[e] = t.v[e] * i, s[e] = n[e];\n }\n\n return s;\n };\n }(a) : i;\n };\n }(),\n TextExpressionSelectorPropFactory = function () {\n function t(t, e) {\n return this.textIndex = t + 1, this.textTotal = e, this.v = this.getValue() * this.mult, this.v;\n }\n\n return function (e, r) {\n this.pv = 1, this.comp = e.comp, this.elem = e, this.mult = .01, this.propType = \"textSelector\", this.textTotal = r.totalChars, this.selectorValue = 100, this.lastValue = [1, 1, 1], this.k = !0, this.x = !0, this.getValue = ExpressionManager.initiateExpression.bind(this)(e, r, this), this.getMult = t, this.getVelocityAtTime = expressionHelpers.getVelocityAtTime, this.kf ? this.getValueAtTime = expressionHelpers.getValueAtTime.bind(this) : this.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(this), this.setGroupProperty = expressionHelpers.setGroupProperty;\n };\n }(),\n propertyGetTextProp = TextSelectorProp.getTextSelectorProp;\n\n function SliderEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n\n function AngleEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n\n function ColorEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 1, 0, r);\n }\n\n function PointEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 1, 0, r);\n }\n\n function LayerIndexEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n\n function MaskIndexEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n\n function CheckboxEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n\n function NoValueEffect() {\n this.p = {};\n }\n\n function EffectsManager(t, e) {\n var r,\n i = t.ef || [];\n this.effectElements = [];\n var a,\n s = i.length;\n\n for (r = 0; r < s; r += 1) {\n a = new GroupEffect(i[r], e), this.effectElements.push(a);\n }\n }\n\n function GroupEffect(t, e) {\n this.init(t, e);\n }\n\n TextSelectorProp.getTextSelectorProp = function (t, e, r) {\n return 1 === e.t ? new TextExpressionSelectorPropFactory(t, e, r) : propertyGetTextProp(t, e, r);\n }, extendPrototype([DynamicPropertyContainer], GroupEffect), GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties, GroupEffect.prototype.init = function (t, e) {\n var r;\n this.data = t, this.effectElements = [], this.initDynamicPropertyContainer(e);\n var i,\n a = this.data.ef.length,\n s = this.data.ef;\n\n for (r = 0; r < a; r += 1) {\n switch (i = null, s[r].ty) {\n case 0:\n i = new SliderEffect(s[r], e, this);\n break;\n\n case 1:\n i = new AngleEffect(s[r], e, this);\n break;\n\n case 2:\n i = new ColorEffect(s[r], e, this);\n break;\n\n case 3:\n i = new PointEffect(s[r], e, this);\n break;\n\n case 4:\n case 7:\n i = new CheckboxEffect(s[r], e, this);\n break;\n\n case 10:\n i = new LayerIndexEffect(s[r], e, this);\n break;\n\n case 11:\n i = new MaskIndexEffect(s[r], e, this);\n break;\n\n case 5:\n i = new EffectsManager(s[r], e, this);\n break;\n\n default:\n i = new NoValueEffect(s[r], e, this);\n }\n\n i && this.effectElements.push(i);\n }\n };\n var lottie = {};\n\n function setLocationHref(t) {\n locationHref = t;\n }\n\n function searchAnimations() {\n !0 === standalone ? animationManager.searchAnimations(animationData, standalone, renderer) : animationManager.searchAnimations();\n }\n\n function setSubframeRendering(t) {\n subframeEnabled = t;\n }\n\n function setIDPrefix(t) {\n idPrefix = t;\n }\n\n function loadAnimation(t) {\n return !0 === standalone && (t.animationData = JSON.parse(animationData)), animationManager.loadAnimation(t);\n }\n\n function setQuality(t) {\n if (\"string\" == typeof t) switch (t) {\n case \"high\":\n defaultCurveSegments = 200;\n break;\n\n default:\n case \"medium\":\n defaultCurveSegments = 50;\n break;\n\n case \"low\":\n defaultCurveSegments = 10;\n } else !isNaN(t) && t > 1 && (defaultCurveSegments = t);\n roundValues(!(defaultCurveSegments >= 50));\n }\n\n function inBrowser() {\n return \"undefined\" != typeof navigator;\n }\n\n function installPlugin(t, e) {\n \"expressions\" === t && (expressionsPlugin = e);\n }\n\n function getFactory(t) {\n switch (t) {\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 function checkReady() {\n \"complete\" === document.readyState && (clearInterval(readyStateCheckInterval), searchAnimations());\n }\n\n function getQueryVariable(t) {\n for (var e = queryString.split(\"&\"), r = 0; r < e.length; r += 1) {\n var i = e[r].split(\"=\");\n if (decodeURIComponent(i[0]) == t) return decodeURIComponent(i[1]);\n }\n\n return null;\n }\n\n lottie.play = animationManager.play, lottie.pause = animationManager.pause, lottie.setLocationHref = setLocationHref, lottie.togglePause = animationManager.togglePause, lottie.setSpeed = animationManager.setSpeed, lottie.setDirection = animationManager.setDirection, lottie.stop = animationManager.stop, lottie.searchAnimations = searchAnimations, lottie.registerAnimation = animationManager.registerAnimation, lottie.loadAnimation = loadAnimation, lottie.setSubframeRendering = setSubframeRendering, lottie.resize = animationManager.resize, lottie.goToAndStop = animationManager.goToAndStop, lottie.destroy = animationManager.destroy, lottie.setQuality = setQuality, lottie.inBrowser = inBrowser, lottie.installPlugin = installPlugin, lottie.freeze = animationManager.freeze, lottie.unfreeze = animationManager.unfreeze, lottie.setVolume = animationManager.setVolume, lottie.mute = animationManager.mute, lottie.unmute = animationManager.unmute, lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations, lottie.useWebWorker = function (t) {\n _useWebWorker = t;\n }, lottie.setIDPrefix = setIDPrefix, lottie.__getFactory = getFactory, lottie.version = \"5.8.1\";\n var standalone = \"__[STANDALONE]__\",\n animationData = \"__[ANIMATIONDATA]__\",\n renderer = \"\",\n queryString;\n\n if (standalone) {\n var scripts = document.getElementsByTagName(\"script\"),\n index = scripts.length - 1,\n myScript = scripts[index] || {\n src: \"\"\n };\n queryString = myScript.src.replace(/^[^\\?]+\\??/, \"\"), renderer = getQueryVariable(\"renderer\");\n }\n\n var readyStateCheckInterval = setInterval(checkReady, 100);\n return lottie;\n }, module.exports ? module.exports = factory(root) : (root.lottie = factory(root), root.bodymovin = root.lottie));\n})(lottie$1);\n\nvar lottie = lottie$1.exports,\n _templateObject$1,\n styles = r$3(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral([\"\\n * {\\n box-sizing: border-box;\\n }\\n\\n :host {\\n --lottie-player-toolbar-height: 35px;\\n --lottie-player-toolbar-background-color: transparent;\\n --lottie-player-toolbar-icon-color: #999;\\n --lottie-player-toolbar-icon-hover-color: #222;\\n --lottie-player-toolbar-icon-active-color: #555;\\n --lottie-player-seeker-track-color: #ccc;\\n --lottie-player-seeker-thumb-color: rgba(0, 107, 120, 0.8);\\n --lottie-player-seeker-display: block;\\n\\n display: block;\\n width: 100%;\\n height: 100%;\\n }\\n\\n .main {\\n display: flex;\\n flex-direction: column;\\n height: 100%;\\n width: 100%;\\n }\\n\\n .animation {\\n width: 100%;\\n height: 100%;\\n display: flex;\\n }\\n .animation.controls {\\n height: calc(100% - 35px);\\n }\\n\\n .toolbar {\\n display: flex;\\n align-items: center;\\n justify-items: center;\\n background-color: var(--lottie-player-toolbar-background-color);\\n margin: 0 5px;\\n height: 35px;\\n }\\n\\n .toolbar button {\\n cursor: pointer;\\n fill: var(--lottie-player-toolbar-icon-color);\\n display: flex;\\n background: none;\\n border: 0;\\n padding: 0;\\n outline: none;\\n height: 100%;\\n }\\n\\n .toolbar button:hover {\\n fill: var(--lottie-player-toolbar-icon-hover-color);\\n }\\n\\n .toolbar button.active {\\n fill: var(--lottie-player-toolbar-icon-active-color);\\n }\\n\\n .toolbar button.active:hover {\\n fill: var(--lottie-player-toolbar-icon-hover-color);\\n }\\n\\n .toolbar button:focus {\\n outline: 1px dotted var(--lottie-player-toolbar-icon-active-color);\\n }\\n\\n .toolbar button svg {\\n }\\n\\n .toolbar button.disabled svg {\\n display: none;\\n }\\n\\n .seeker {\\n -webkit-appearance: none;\\n width: 95%;\\n outline: none;\\n background-color: var(--lottie-player-toolbar-background-color);\\n display: var(--lottie-player-seeker-display);\\n }\\n\\n .seeker::-webkit-slider-runnable-track {\\n width: 100%;\\n height: 5px;\\n cursor: pointer;\\n background: var(--lottie-player-seeker-track-color);\\n border-radius: 3px;\\n }\\n .seeker::-webkit-slider-thumb {\\n height: 15px;\\n width: 15px;\\n border-radius: 50%;\\n background: var(--lottie-player-seeker-thumb-color);\\n cursor: pointer;\\n -webkit-appearance: none;\\n margin-top: -5px;\\n }\\n .seeker:focus::-webkit-slider-runnable-track {\\n background: #999;\\n }\\n .seeker::-moz-range-track {\\n width: 100%;\\n height: 5px;\\n cursor: pointer;\\n background: var(--lottie-player-seeker-track-color);\\n border-radius: 3px;\\n }\\n .seeker::-moz-range-thumb {\\n height: 15px;\\n width: 15px;\\n border-radius: 50%;\\n background: var(--lottie-player-seeker-thumb-color);\\n cursor: pointer;\\n }\\n .seeker::-ms-track {\\n width: 100%;\\n height: 5px;\\n cursor: pointer;\\n background: transparent;\\n border-color: transparent;\\n color: transparent;\\n }\\n .seeker::-ms-fill-lower {\\n background: var(--lottie-player-seeker-track-color);\\n border-radius: 3px;\\n }\\n .seeker::-ms-fill-upper {\\n background: var(--lottie-player-seeker-track-color);\\n border-radius: 3px;\\n }\\n .seeker::-ms-thumb {\\n border: 0;\\n height: 15px;\\n width: 15px;\\n border-radius: 50%;\\n background: var(--lottie-player-seeker-thumb-color);\\n cursor: pointer;\\n }\\n .seeker:focus::-ms-fill-lower {\\n background: var(--lottie-player-seeker-track-color);\\n }\\n .seeker:focus::-ms-fill-upper {\\n background: var(--lottie-player-seeker-track-color);\\n }\\n\\n .error {\\n display: flex;\\n justify-content: center;\\n height: 100%;\\n align-items: center;\\n }\\n\"]))),\n _templateObject,\n _templateObject2,\n _templateObject3,\n _templateObject4,\n _templateObject5,\n PlayerState,\n PlayMode,\n PlayerEvents;\n\nfunction parseSrc(t) {\n if (\"object\" == _typeof2(t)) return t;\n\n try {\n return JSON.parse(t);\n } catch (e) {\n return new URL(t, window.location.href).toString();\n }\n}\n\nfunction isLottie(t) {\n return [\"v\", \"ip\", \"op\", \"layers\", \"fr\", \"w\", \"h\"].every(function (e) {\n return Object.prototype.hasOwnProperty.call(t, e);\n });\n}\n\nfunction fromURL(t) {\n return _fromURL.apply(this, arguments);\n}\n\nfunction _fromURL() {\n return (_fromURL = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(t) {\n var e, r, i;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (!(\"string\" != typeof t)) {\n _context3.next = 2;\n break;\n }\n\n throw new Error(\"The url value must be a string\");\n\n case 2:\n _context3.prev = 2;\n r = new URL(t);\n _context3.next = 6;\n return fetch(r.toString());\n\n case 6:\n i = _context3.sent;\n _context3.next = 9;\n return i.json();\n\n case 9:\n e = _context3.sent;\n _context3.next = 15;\n break;\n\n case 12:\n _context3.prev = 12;\n _context3.t0 = _context3[\"catch\"](2);\n throw new Error(\"An error occurred while trying to load the Lottie file from URL\");\n\n case 15:\n return _context3.abrupt(\"return\", e);\n\n case 16:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, null, [[2, 12]]);\n }))).apply(this, arguments);\n}\n\n!function (t) {\n t.Destroyed = \"destroyed\", t.Error = \"error\", t.Frozen = \"frozen\", t.Loading = \"loading\", t.Paused = \"paused\", t.Playing = \"playing\", t.Stopped = \"stopped\";\n}(PlayerState || (PlayerState = {})), function (t) {\n t.Bounce = \"bounce\", t.Normal = \"normal\";\n}(PlayMode || (PlayMode = {})), function (t) {\n t.Complete = \"complete\", t.Destroyed = \"destroyed\", t.Error = \"error\", t.Frame = \"frame\", t.Freeze = \"freeze\", t.Load = \"load\", t.Loop = \"loop\", t.Pause = \"pause\", t.Play = \"play\", t.Ready = \"ready\", t.Rendered = \"rendered\", t.Stop = \"stop\";\n}(PlayerEvents || (PlayerEvents = {}));\n\nvar LottiePlayer = /*#__PURE__*/function (_s2) {\n _inherits2(LottiePlayer, _s2);\n\n var _super6 = _createSuper2(LottiePlayer);\n\n function LottiePlayer() {\n var _this11;\n\n _classCallCheck2(this, LottiePlayer);\n\n _this11 = _super6.apply(this, arguments), _this11.autoplay = !1, _this11.background = \"transparent\", _this11.controls = !1, _this11.currentState = PlayerState.Loading, _this11.description = \"Lottie animation\", _this11.direction = 1, _this11.hover = !1, _this11.intermission = 1, _this11.loop = !1, _this11.mode = PlayMode.Normal, _this11.preserveAspectRatio = \"xMidYMid meet\", _this11.renderer = \"svg\", _this11.speed = 1, _this11._io = void 0, _this11._counter = 1;\n return _this11;\n }\n\n _createClass2(LottiePlayer, [{\n key: \"load\",\n value: function load(t) {\n var e = this;\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n var r, i, a, s;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n if (!e.shadowRoot) {\n _context4.next = 22;\n break;\n }\n\n r = {\n container: e.container,\n loop: !1,\n autoplay: !1,\n renderer: e.renderer,\n rendererSettings: {\n preserveAspectRatio: e.preserveAspectRatio,\n clearCanvas: !1,\n progressiveLoad: !0,\n hideOnTransparent: !0\n }\n };\n _context4.prev = 2;\n i = parseSrc(t), a = {}, s = \"string\" == typeof i ? \"path\" : \"animationData\";\n e._lottie && e._lottie.destroy();\n e.webworkers && lottie$1.exports.useWebWorker(!0);\n e._lottie = lottie$1.exports.loadAnimation(Object.assign(Object.assign({}, r), _defineProperty2({}, s, i)));\n\n e._attachEventListeners();\n\n if (!(\"path\" === s)) {\n _context4.next = 15;\n break;\n }\n\n _context4.next = 11;\n return fromURL(i);\n\n case 11:\n a = _context4.sent;\n s = \"animationData\";\n _context4.next = 16;\n break;\n\n case 15:\n a = i;\n\n case 16:\n isLottie(a) || (e.currentState = PlayerState.Error, e.dispatchEvent(new CustomEvent(PlayerEvents.Error)));\n _context4.next = 22;\n break;\n\n case 19:\n _context4.prev = 19;\n _context4.t0 = _context4[\"catch\"](2);\n e.currentState = PlayerState.Error, e.dispatchEvent(new CustomEvent(PlayerEvents.Error));\n\n case 22:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, null, [[2, 19]]);\n }))();\n }\n }, {\n key: \"getLottie\",\n value: function getLottie() {\n return this._lottie;\n }\n }, {\n key: \"play\",\n value: function play() {\n this._lottie && (this._lottie.play(), this.currentState = PlayerState.Playing, this.dispatchEvent(new CustomEvent(PlayerEvents.Play)));\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this._lottie && (this._lottie.pause(), this.currentState = PlayerState.Paused, this.dispatchEvent(new CustomEvent(PlayerEvents.Pause)));\n }\n }, {\n key: \"stop\",\n value: function stop() {\n this._lottie && (this._counter = 1, this._lottie.stop(), this.currentState = PlayerState.Stopped, this.dispatchEvent(new CustomEvent(PlayerEvents.Stop)));\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._lottie && (this._lottie.destroy(), this._lottie = null, this.currentState = PlayerState.Destroyed, this.dispatchEvent(new CustomEvent(PlayerEvents.Destroyed)), this.remove());\n }\n }, {\n key: \"seek\",\n value: function seek(t) {\n if (this._lottie) {\n var e = /^(\\d+)(%?)$/.exec(t.toString());\n\n if (e) {\n var r = \"%\" === e[2] ? this._lottie.totalFrames * Number(e[1]) / 100 : Number(e[1]);\n this.seeker = r, this.currentState === PlayerState.Playing ? this._lottie.goToAndPlay(r, !0) : (this._lottie.goToAndStop(r, !0), this._lottie.pause());\n }\n }\n }\n }, {\n key: \"snapshot\",\n value: function snapshot() {\n var t = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0];\n\n if (this.shadowRoot) {\n var e = this.shadowRoot.querySelector(\".animation svg\"),\n r = new XMLSerializer().serializeToString(e);\n\n if (t) {\n var i = document.createElement(\"a\");\n i.href = \"data:image/svg+xml;charset=utf-8,\".concat(encodeURIComponent(r)), i.download = \"download_\".concat(this.seeker, \".svg\"), document.body.appendChild(i), i.click(), document.body.removeChild(i);\n }\n\n return r;\n }\n }\n }, {\n key: \"setSpeed\",\n value: function setSpeed() {\n var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 1;\n this._lottie && this._lottie.setSpeed(t);\n }\n }, {\n key: \"setDirection\",\n value: function setDirection(t) {\n this._lottie && this._lottie.setDirection(t);\n }\n }, {\n key: \"setLooping\",\n value: function setLooping(t) {\n this._lottie && (this.loop = t, this._lottie.loop = t);\n }\n }, {\n key: \"togglePlay\",\n value: function togglePlay() {\n return this.currentState === PlayerState.Playing ? this.pause() : this.play();\n }\n }, {\n key: \"toggleLooping\",\n value: function toggleLooping() {\n this.setLooping(!this.loop);\n }\n }, {\n key: \"resize\",\n value: function resize() {\n this._lottie && this._lottie.resize();\n }\n }, {\n key: \"disconnectedCallback\",\n value: function disconnectedCallback() {\n var _this12 = this;\n\n this.isConnected || (this._io && (this._io.disconnect(), this._io = void 0), document.removeEventListener(\"visibilitychange\", function () {\n return _this12._onVisibilityChange();\n }), this.destroy());\n }\n }, {\n key: \"render\",\n value: function render() {\n var t = this.controls ? \"main controls\" : \"main\",\n e = this.controls ? \"animation controls\" : \"animation\";\n return $(_templateObject || (_templateObject = _taggedTemplateLiteral(['